{"version":3,"sources":["webpack:///./src/js/modules/breakToLines.js","webpack:///./src/js/modules/insightsSliderV2.js","webpack:///./node_modules/splitting/dist/splitting.js"],"names":["Module","this","dom","overlay","el","querySelector","text","link","svg","image","lineSplit","target","by","handleResize","addEventListener","handleHover","bind","handleMouseOut","window","isMobile","matchMedia","matches","visible","timeOverlay","offsetWidth","showTime","style","visibility","showSequence","lines","reduce","sequence","line","index","lineSequence","opacity","transform","at","duration","delay","push","lineSplitEnd","length","svgSequence","animate","timeline","dissappearTime","hideSequence","finished","then","Component","slider","items","querySelectorAll","scrollbar","swiperWrapper","originalWindowWidth","innerWidth","isPeopleSlider","dataset","isHomeSlider","isScrollbar","progressbar","swiper","experienceEditor","classList","add","initSwiperBreakToLines","remove","getAutoPlay","initSliderInResize","isDesktop","getSlidesByScreenAndType","initSlider","update","destroy","autoplay","document","forEach","element","breakToLines","settingsPortraitSlider","slidesOffsetBefore","slidesOffsetAfter","slidesPerView","breakpoints","677","spaceBetween","1300","1600","getOffset","1920","settingsHomePortraitSlider","1280","swiperSettings","init","freeMode","speed","draggable","Swiper","module","exports","root","createText","createTextNode","setProperty","varName","value","appendChild","child","createElement","parent","key","whitespace","className","setAttribute","textContent","getData","getAttribute","$","e","nodeName","slice","call","Array2D","len","a","each","fn","some","selectFrom","obj","plugins","createPlugin","depends","split","resolve","resolvePlugins","deps","indexOf","unshift","p","indexOfParent","splice","map","opts","splitText","splitOn","includePrevious","preserveWhitespace","normalize","elements","F","createDocumentFragment","previousSibling","allElements","childNodes","next","tagName","hasChildNodes","apply","wholeText","contents","trim","i","splitEl","innerHTML","wordPlugin","charPlugin","options","ctx","results","word","Splitting","force","opts2","dest","src","k","copy","plugin","pluginBy","key2","prefix","cssVar","Array","isArray","item","detectGrid","side","matching","children","c","w","val","Math","round","Object","keys","Number","sort","byNumber","b","html","content","outerHTML","linePlugin","itemPlugin","rowPlugin","columnPlugin","gridPlugin","layoutPlugin","rows","columns","currentSrc","img","totalCells","container","cell","cellRowPlugin","rowCount","result","floor","cellColumnPlugin","columnCount","cellPlugin","opt","factory"],"mappings":"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","file":"27.8652985e196d4c6c818c.js","sourcesContent":["import { animate, timeline } from 'motion';\n\nimport { Component } from '@verndale/core';\nimport Splitting from 'splitting';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n overlay: this.el.querySelector('.card__overlay'),\n text: this.el.querySelector('.card__text'),\n link: this.el.querySelector('a'),\n svg: this.el.querySelector('svg'),\n image: this.el.querySelector('img')\n };\n\n this.dom.text.lineSplit = Splitting({\n target: this.dom.text,\n by: 'lines'\n });\n this.handleResize();\n }\n\n addListeners() {\n this.dom.link.addEventListener('mouseover', this.handleHover.bind(this));\n this.dom.link.addEventListener('mouseout', this.handleMouseOut.bind(this));\n window.addEventListener('resize', this.handleResize.bind(this));\n }\n\n handleResize() {\n this.isMobile = window.matchMedia('(max-width: 1025px)').matches;\n if (this.visible && this.isMobile) {\n this.handleMouseOut();\n }\n }\n\n handleHover() {\n if (!this.isMobile) {\n this.timeOverlay = 0.35 + this.el.offsetWidth * 0.0003;\n\n this.showTime = this.timeOverlay * 0.12;\n this.dom.text.style.visibility = 'visible';\n\n const showSequence = this.dom.text.lineSplit[0].lines.reduce(\n (sequence, line, index) => {\n const lineSequence = [\n line,\n {\n opacity: [0, 1],\n transform: ['translate(-50px, 0)', 'translate(0, 0)']\n },\n { at: this.showTime * index },\n { duration: this.showTime, delay: this.timeOverlay * 0.6 }\n ];\n sequence.push(lineSequence);\n return sequence;\n },\n []\n );\n\n const lineSplitEnd = this.dom.text.lineSplit[0].lines.length;\n\n const svgSequence = [\n this.dom.svg,\n {\n opacity: [0, 1],\n transform: ['translate(-50px, 0)', 'translate(0, 0)']\n },\n { at: this.showTime * lineSplitEnd },\n { duration: this.showTime, delay: this.timeOverlay * 0.6 }\n ];\n showSequence.push(svgSequence);\n\n animate(\n this.dom.overlay,\n { transform: 'skew(-30deg) scale(2.1, 1)' },\n { duration: this.timeOverlay }\n );\n\n timeline(showSequence);\n\n if (this.dom.image)\n animate(this.dom.image, { transform: 'scale(1.25)' }, { duration: 1 });\n }\n this.visible = true;\n }\n\n handleMouseOut() {\n this.visible = false;\n this.dissappearTime = this.showTime * 0.85;\n const hideSequence = this.dom.text.lineSplit[0].lines.reduce(\n (sequence, line, index) => {\n const lineSequence = [\n line,\n {\n opacity: 0,\n transform: ['translate(0, 0)', 'translate(-50px, 0)']\n },\n { at: this.dissappearTime * index },\n { duration: this.dissappearTime }\n ];\n sequence.push(lineSequence);\n return sequence;\n },\n []\n );\n\n const lineSplitEnd = this.dom.text.lineSplit[0].lines.length;\n\n const lineSequence = [\n this.dom.svg,\n {\n opacity: 0,\n transform: ['translate(0, 0)', 'translate(-50px, 0)']\n },\n { at: this.dissappearTime * lineSplitEnd },\n { duration: this.dissappearTime }\n ];\n\n hideSequence.push(lineSequence);\n\n timeline(hideSequence).finished.then(() => {\n if (!this.visible) {\n this.dom.text.style.visibility = 'hidden';\n }\n });\n\n animate(\n this.dom.overlay,\n { transform: 'skew(-30deg) scale(0, 1)' },\n { duration: this.timeOverlay, delay: lineSplitEnd * this.dissappearTime }\n );\n\n if (this.dom.image)\n animate(\n this.dom.image,\n { transform: 'scale(1)' },\n { duration: this.timeOverlay * 2.6, delay: this.timeOverlay * 0.3 }\n );\n }\n}\n\nexport default Module;\n","import { Component } from '@verndale/core';\nimport Swiper from 'swiper/js/swiper';\nimport breakToLines from './breakToLines';\n\nclass Module extends Component {\n setupDefaults() {\n this.dom = {\n el: this.el,\n slider: this.el.querySelector('.swiper-container'),\n items: [...this.el.querySelectorAll('.swiper-slide')],\n scrollbar: this.el.querySelector('.swiper-scrollbar'),\n swiperWrapper: this.el.querySelector('.swiper-wrapper')\n };\n\n this.originalWindowWidth = window.innerWidth;\n\n this.isPeopleSlider = this.el.dataset.isPeopleSlider === 'true';\n this.isHomeSlider = this.el.dataset.isHomeSlider === 'true';\n this.isScrollbar = this.el.dataset.progressbar === 'true';\n this.swiper;\n\n if (this.el.dataset.experienceEditor === 'true') {\n this.el.classList.add('experience-editor-slider');\n return this.initSwiperBreakToLines();\n }\n\n this.el.classList.remove('experience-editor-slider');\n\n if (this.el.dataset.progressbar === 'false' || this.getAutoPlay()) {\n this.dom.scrollbar.classList.add('no-scrollbar');\n }\n\n this.initSliderInResize();\n this.initSwiperBreakToLines();\n }\n\n addListeners() {\n window.addEventListener('resize', this.handleResize.bind(this));\n }\n\n initSliderInResize() {\n this.isDesktop = window.matchMedia('(max-width: 1025px)').matches;\n this.isMobile = window.matchMedia('(max-width: 677px)').matches;\n this.dom.slider.classList.remove('no-swiper--people-slider');\n this.dom.slider.classList.remove('no-swiper--insights');\n\n if (this.dom.items.length > this.getSlidesByScreenAndType()) {\n this.initSlider();\n this.el.style.visibility = 'visible';\n } else {\n if (this.isPeopleSlider) {\n this.dom.slider.classList.add('no-swiper--people-slider');\n } else {\n this.dom.slider.classList.add('no-swiper--insights');\n }\n\n this.el.style.visibility = 'visible';\n }\n\n if (this.swiper) {\n this.swiper.update();\n }\n }\n\n handleResize() {\n if (this.swiper) {\n if (this.originalWindowWidth === window.innerWidth) {\n return;\n }\n\n this.originalWindowWidth = window.innerWidth;\n this.swiper.destroy();\n }\n\n this.initSliderInResize();\n }\n\n getSlidesByScreenAndType() {\n if (this.isPeopleSlider) {\n if (this.isMobile) {\n return 1;\n }\n if (this.isDesktop) {\n return 3;\n }\n return 3;\n }\n\n if (!this.isPeopleSlider) {\n if (this.isMobile) {\n return 2;\n }\n if (this.isDesktop) {\n return 4;\n }\n return 4;\n }\n }\n\n getIfProgressbarExists() {\n return this.el.dataset.progressbar === 'true';\n }\n\n getAutoPlay() {\n return this.el.dataset.autoplay === 'true';\n }\n\n initSwiperBreakToLines() {\n [\n ...document.querySelectorAll('[data-module=\"swiperBreakToLines\"]')\n ].forEach(element => new breakToLines(element));\n }\n\ninitSlider() {\n const settingsPeopleSlider = {\n slidesPerView: 1.2,\n breakpoints: {\n 677: {\n slidesPerView: 3.2,\n spaceBetween: 40\n },\n 1920: {\n slidesPerView: 3.6,\n spaceBetween: 40\n }\n }\n }\n\n const settingsPortraitSlider = {\n slidesOffsetBefore: this.isScrollbar ? 20 : 0,\n slidesOffsetAfter: this.isScrollbar ? 20 : 0,\n slidesPerView: 2.22,\n breakpoints: {\n 677: {\n slidesPerView: 3.2,\n spaceBetween: 40,\n slidesOffsetBefore: this.isScrollbar ? 40 : 0,\n slidesOffsetAfter: this.isScrollbar ? 40 : 0\n },\n 1300: {\n slidesPerView: 4.2,\n spaceBetween: 40,\n slidesOffsetBefore: this.isScrollbar ? 40 : 0,\n slidesOffsetAfter: this.isScrollbar ? 40 : 0\n },\n 1600: {\n slidesPerView: 4.7,\n slidesOffsetBefore: this.isScrollbar ? this.getOffset() : 0,\n slidesOffsetAfter: this.isScrollbar ? this.getOffset() : 0\n },\n 1920: {\n slidesPerView: 4.7,\n spaceBetween: 40,\n slidesOffsetBefore: this.isScrollbar ? 200 : 0,\n slidesOffsetAfter: this.isScrollbar ? 200 : 0\n }\n }\n }\n\n const settingsHomePortraitSlider = {\n slidesOffsetBefore: this.isScrollbar ? 20 : 0,\n slidesOffsetAfter: this.isScrollbar ? 20 : 0,\n slidesPerView: 2,\n breakpoints: {\n 677: {\n slidesPerView: 3,\n spaceBetween: 40,\n slidesOffsetBefore: this.isScrollbar ? 40 : 0,\n slidesOffsetAfter: this.isScrollbar ? 40 : 0\n },\n 1280: {\n slidesPerView: 4,\n spaceBetween: 40,\n slidesOffsetBefore: this.isScrollbar ? 40 : 0,\n slidesOffsetAfter: this.isScrollbar ? 40 : 0\n },\n 1600: {\n slidesPerView: 5,\n slidesOffsetBefore: this.isScrollbar ? this.getOffset() : 0,\n slidesOffsetAfter: this.isScrollbar ? this.getOffset() : 0\n },\n 1920: {\n slidesPerView: 6,\n spaceBetween: 40,\n slidesOffsetBefore: this.isScrollbar ? 200 : 0,\n slidesOffsetAfter: this.isScrollbar ? 200 : 0\n }\n }\n }\n\n let swiperSettings = {\n spaceBetween: 20,\n init: true,\n freeMode: true,\n autoplay: false,\n speed: 100,\n scrollbar: {\n el: this.dom.scrollbar,\n draggable: true\n }\n }\n\n if (this.isPeopleSlider) {\n swiperSettings = { ...swiperSettings, ...settingsPeopleSlider }\n } else if (this.isHomeSlider) {\n swiperSettings = { ...swiperSettings, ...settingsHomePortraitSlider }\n } else {\n swiperSettings = { ...swiperSettings, ...settingsPortraitSlider }\n }\n\n this.swiper = new Swiper(this.dom.slider, swiperSettings);\n }\n\n getOffset() {\n return (window.innerWidth - 1600) * 0.5 + 40;\n }\n}\n\nexport default Module;\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.Splitting = factory());\n}(this, (function () { 'use strict';\n\nvar root = document;\nvar createText = root.createTextNode.bind(root);\n\n/**\n * # setProperty\n * Apply a CSS var\n * @param el{HTMLElement} \n * @param varName {string} \n * @param value {string|number} \n */\nfunction setProperty(el, varName, value) {\n el.style.setProperty(varName, value);\n} \n\n/**\n * \n * @param {Node} el \n * @param {Node} child \n */\nfunction appendChild(el, child) {\n return el.appendChild(child);\n}\n\nfunction createElement(parent, key, text, whitespace) {\n var el = root.createElement('span');\n key && (el.className = key); \n if (text) { \n !whitespace && el.setAttribute(\"data-\" + key, text);\n el.textContent = text; \n }\n return (parent && appendChild(parent, el)) || el;\n}\n\nfunction getData(el, key) {\n return el.getAttribute(\"data-\" + key)\n}\n\n/**\n * \n * @param e {import('../types').Target} \n * @param parent {HTMLElement}\n * @returns {HTMLElement[]}\n */\nfunction $(e, parent) {\n return !e || e.length == 0\n ? // null or empty string returns empty array\n []\n : e.nodeName\n ? // a single element is wrapped in an array\n [e]\n : // selector and NodeList are converted to Element[]\n [].slice.call(e[0].nodeName ? e : (parent || root).querySelectorAll(e));\n}\n\n/**\n * Creates and fills an array with the value provided\n * @template {T}\n * @param {number} len\n * @param {() => T} valueProvider\n * @return {T}\n */\nfunction Array2D(len) {\n var a = [];\n for (; len--; ) {\n a[len] = [];\n }\n return a;\n}\n\nfunction each(items, fn) {\n items && items.some(fn);\n}\n\nfunction selectFrom(obj) {\n return function (key) {\n return obj[key];\n }\n}\n\n/**\n * # Splitting.index\n * Index split elements and add them to a Splitting instance.\n *\n * @param element {HTMLElement}\n * @param key {string}\n * @param items {HTMLElement[] | HTMLElement[][]}\n */\nfunction index(element, key, items) {\n var prefix = '--' + key;\n var cssVar = prefix + \"-index\";\n\n each(items, function (items, i) {\n if (Array.isArray(items)) {\n each(items, function(item) {\n setProperty(item, cssVar, i);\n });\n } else {\n setProperty(items, cssVar, i);\n }\n });\n\n setProperty(element, prefix + \"-total\", items.length);\n}\n\n/**\n * @type {Record}\n */\nvar plugins = {};\n\n/**\n * @param by {string}\n * @param parent {string}\n * @param deps {string[]}\n * @return {string[]}\n */\nfunction resolvePlugins(by, parent, deps) {\n // skip if already visited this dependency\n var index = deps.indexOf(by);\n if (index == -1) {\n // if new to dependency array, add to the beginning\n deps.unshift(by);\n\n // recursively call this function for all dependencies\n each(plugins[by].depends, function(p) {\n resolvePlugins(p, by, deps);\n });\n } else {\n // if this dependency was added already move to the left of\n // the parent dependency so it gets loaded in order\n var indexOfParent = deps.indexOf(parent);\n deps.splice(index, 1);\n deps.splice(indexOfParent, 0, by);\n }\n return deps;\n}\n\n/**\n * Internal utility for creating plugins... essentially to reduce\n * the size of the library\n * @param {string} by \n * @param {string} key \n * @param {string[]} depends \n * @param {Function} split \n * @returns {import('./types').ISplittingPlugin}\n */\nfunction createPlugin(by, depends, key, split) {\n return {\n by: by,\n depends: depends,\n key: key,\n split: split\n }\n}\n\n/**\n *\n * @param by {string}\n * @returns {import('./types').ISplittingPlugin[]}\n */\nfunction resolve(by) {\n return resolvePlugins(by, 0, []).map(selectFrom(plugins));\n}\n\n/**\n * Adds a new plugin to splitting\n * @param opts {import('./types').ISplittingPlugin}\n */\nfunction add(opts) {\n plugins[opts.by] = opts;\n}\n\n/**\n * # Splitting.split\n * Split an element's textContent into individual elements\n * @param el {Node} Element to split\n * @param key {string}\n * @param splitOn {string}\n * @param includeSpace {boolean}\n * @returns {HTMLElement[]}\n */\nfunction splitText(el, key, splitOn, includePrevious, preserveWhitespace) {\n // Combine any strange text nodes or empty whitespace.\n el.normalize();\n\n // Use fragment to prevent unnecessary DOM thrashing.\n var elements = [];\n var F = document.createDocumentFragment();\n\n if (includePrevious) {\n elements.push(el.previousSibling);\n }\n\n var allElements = [];\n $(el.childNodes).some(function(next) {\n if (next.tagName && !next.hasChildNodes()) {\n // keep elements without child nodes (no text and no children)\n allElements.push(next);\n return;\n }\n // Recursively run through child nodes\n if (next.childNodes && next.childNodes.length) {\n allElements.push(next);\n elements.push.apply(elements, splitText(next, key, splitOn, includePrevious, preserveWhitespace));\n return;\n }\n\n // Get the text to split, trimming out the whitespace\n /** @type {string} */\n var wholeText = next.wholeText || '';\n var contents = wholeText.trim();\n\n // If there's no text left after trimming whitespace, continue the loop\n if (contents.length) {\n // insert leading space if there was one\n if (wholeText[0] === ' ') {\n allElements.push(createText(' '));\n }\n // Concatenate the split text children back into the full array\n each(contents.split(splitOn), function(splitText, i) {\n if (i && preserveWhitespace) {\n allElements.push(createElement(F, \"whitespace\", \" \", preserveWhitespace));\n }\n var splitEl = createElement(F, key, splitText);\n elements.push(splitEl);\n allElements.push(splitEl);\n }); \n // insert trailing space if there was one\n if (wholeText[wholeText.length - 1] === ' ') {\n allElements.push(createText(' '));\n }\n }\n });\n\n each(allElements, function(el) {\n appendChild(F, el);\n });\n\n // Clear out the existing element\n el.innerHTML = \"\";\n appendChild(el, F);\n return elements;\n}\n\n/** an empty value */\nvar _ = 0;\n\nfunction copy(dest, src) {\n for (var k in src) {\n dest[k] = src[k];\n }\n return dest;\n}\n\nvar WORDS = 'words';\n\nvar wordPlugin = createPlugin(\n /*by: */ WORDS,\n /*depends: */ _,\n /*key: */ 'word', \n /*split: */ function(el) {\n return splitText(el, 'word', /\\s+/, 0, 1)\n }\n);\n\nvar CHARS = \"chars\";\n\nvar charPlugin = createPlugin(\n /*by: */ CHARS,\n /*depends: */ [WORDS],\n /*key: */ \"char\", \n /*split: */ function(el, options, ctx) {\n var results = [];\n\n each(ctx[WORDS], function(word, i) {\n results.push.apply(results, splitText(word, \"char\", \"\", options.whitespace && i));\n });\n\n return results;\n }\n);\n\n/**\n * # Splitting\n * \n * @param opts {import('./types').ISplittingOptions} \n */\nfunction Splitting (opts) {\n opts = opts || {};\n var key = opts.key;\n\n return $(opts.target || '[data-splitting]').map(function(el) {\n var ctx = el['🍌']; \n if (!opts.force && ctx) {\n return ctx;\n }\n\n ctx = el['🍌'] = { el: el };\n var items = resolve(opts.by || getData(el, 'splitting') || CHARS);\n var opts2 = copy({}, opts);\n each(items, function(plugin) {\n if (plugin.split) {\n var pluginBy = plugin.by;\n var key2 = (key ? '-' + key : '') + plugin.key;\n var results = plugin.split(el, opts2, ctx);\n key2 && index(el, key2, results);\n ctx[pluginBy] = results;\n el.classList.add(pluginBy);\n } \n });\n\n el.classList.add('splitting');\n return ctx;\n })\n}\n\n/**\n * # Splitting.html\n * \n * @param opts {import('./types').ISplittingOptions}\n */\nfunction html(opts) {\n opts = opts || {};\n var parent = opts.target = createElement();\n parent.innerHTML = opts.content;\n Splitting(opts);\n return parent.outerHTML\n}\n\nSplitting.html = html;\nSplitting.add = add;\n\nfunction detectGrid(el, options, side) {\n var items = $(options.matching || el.children, el);\n var c = {};\n\n each(items, function(w) {\n var val = Math.round(w[side]);\n (c[val] || (c[val] = [])).push(w);\n });\n\n return Object.keys(c).map(Number).sort(byNumber).map(selectFrom(c));\n}\n\nfunction byNumber(a, b) {\n return a - b;\n}\n\nvar linePlugin = createPlugin(\n /*by: */ 'lines',\n /*depends: */ [WORDS],\n /*key: */ 'line',\n /*split: */ function(el, options, ctx) {\n return detectGrid(el, { matching: ctx[WORDS] }, 'offsetTop')\n }\n);\n\nvar itemPlugin = createPlugin(\n /*by: */ 'items',\n /*depends: */ _,\n /*key: */ 'item', \n /*split: */ function(el, options) {\n return $(options.matching || el.children, el)\n }\n);\n\nvar rowPlugin = createPlugin(\n /*by: */ 'rows',\n /*depends: */ _,\n /*key: */ 'row', \n /*split: */ function(el, options) {\n return detectGrid(el, options, \"offsetTop\");\n }\n);\n\nvar columnPlugin = createPlugin(\n /*by: */ 'cols',\n /*depends: */ _,\n /*key: */ \"col\", \n /*split: */ function(el, options) {\n return detectGrid(el, options, \"offsetLeft\");\n }\n);\n\nvar gridPlugin = createPlugin(\n /*by: */ 'grid',\n /*depends: */ ['rows', 'cols']\n);\n\nvar LAYOUT = \"layout\";\n\nvar layoutPlugin = createPlugin(\n /*by: */ LAYOUT,\n /*depends: */ _,\n /*key: */ _,\n /*split: */ function(el, opts) {\n // detect and set options\n var rows = opts.rows = +(opts.rows || getData(el, 'rows') || 1);\n var columns = opts.columns = +(opts.columns || getData(el, 'columns') || 1);\n\n // Seek out the first if the value is true \n opts.image = opts.image || getData(el, 'image') || el.currentSrc || el.src;\n if (opts.image) {\n var img = $(\"img\", el)[0];\n opts.image = img && (img.currentSrc || img.src);\n }\n\n // add optional image to background\n if (opts.image) {\n setProperty(el, \"background-image\", \"url(\" + opts.image + \")\");\n }\n\n var totalCells = rows * columns;\n var elements = [];\n\n var container = createElement(_, \"cell-grid\");\n while (totalCells--) {\n // Create a span\n var cell = createElement(container, \"cell\");\n createElement(cell, \"cell-inner\");\n elements.push(cell);\n }\n\n // Append elements back into the parent\n appendChild(el, container);\n\n return elements;\n }\n);\n\nvar cellRowPlugin = createPlugin(\n /*by: */ \"cellRows\",\n /*depends: */ [LAYOUT],\n /*key: */ \"row\",\n /*split: */ function(el, opts, ctx) {\n var rowCount = opts.rows;\n var result = Array2D(rowCount);\n\n each(ctx[LAYOUT], function(cell, i, src) {\n result[Math.floor(i / (src.length / rowCount))].push(cell);\n });\n\n return result;\n }\n);\n\nvar cellColumnPlugin = createPlugin(\n /*by: */ \"cellColumns\",\n /*depends: */ [LAYOUT],\n /*key: */ \"col\",\n /*split: */ function(el, opts, ctx) {\n var columnCount = opts.columns;\n var result = Array2D(columnCount);\n\n each(ctx[LAYOUT], function(cell, i) {\n result[i % columnCount].push(cell);\n });\n\n return result;\n }\n);\n\nvar cellPlugin = createPlugin(\n /*by: */ \"cells\",\n /*depends: */ ['cellRows', 'cellColumns'],\n /*key: */ \"cell\", \n /*split: */ function(el, opt, ctx) { \n // re-index the layout as the cells\n return ctx[LAYOUT];\n }\n);\n\n// install plugins\n// word/char plugins\nadd(wordPlugin);\nadd(charPlugin);\nadd(linePlugin);\n// grid plugins\nadd(itemPlugin);\nadd(rowPlugin);\nadd(columnPlugin);\nadd(gridPlugin);\n// cell-layout plugins\nadd(layoutPlugin);\nadd(cellRowPlugin);\nadd(cellColumnPlugin);\nadd(cellPlugin);\n\nreturn Splitting;\n\n})));\n"],"sourceRoot":""}