luda 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"luda.js","sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/matches/helpers/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/matches/matches.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","guid = 0\n\n\n\nexport default -> guid += 1","export default (arr, prop, deep) ->\n plucked = []\n arr.forEach (item) ->\n val = item[prop]\n until val is null\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isDecimalism'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from '../matches/helpers/matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n return luda unique(pluck @els, 'parentNode') unless comparator\n parents = []\n @els.forEach (el) ->\n while parent = el.parentNode\n matched = collect([parent], comparator)[0]\n return parents.push matched if matched\n el = parent\n luda unique(parents)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from '../matches/helpers/matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) ->\n els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n [event.target].concat(pluck [event.target], 'parentNode', true)","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunDomCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.dom.forEach (dom) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll dom.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and dom.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n name and watches.attr.forEach (attr) ->\n return unless name is attr.name\n return unless matches target, attr.selector\n return if not nestable and not unnested(ins, [target]).length\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runDomCallbacks 'added', mutation, C.watches, nestable\n runDomCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n return false unless nodesOne.length is nodesTwo.length\n return true if nodesOne.length is 0 and nodesTwo.length is 0\n itemsOne = Array.from nodesOne\n itemsTwo = Array.from nodesTwo\n not itemsOne.some (node, index) -> node isnt itemsTwo[index]\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n dom: (conf.dom or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.dom ||= []\n watches.dom.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {dom: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n luda.extend name, createProxy Component if name\n luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n [].forEach.call el.options, (option) ->\n selected = val.includes readValue(option.value)\n luda(option).attr 'selected', if selected then '' else null\n option.selected = selected\n else\n val = if value is null then '' else parseValue value\n luda(el).attr 'value', val\n el.value = val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.slice().reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import luda from '../base/luda.coffee'\nimport matches from './helpers/matches.coffee'\n\n\n\nluda.include\n\n matches: (selector) ->\n return false unless @els.length\n return false unless selector\n @els.some (el) -> matches el, selector","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator, _all) ->\n luda collect(unique(pluck(@els, 'nextElementSibling', _all)), comparator)","import luda from '../base/luda.coffee'\nimport './next.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) -> @next comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator, _al) ->\n luda collect(unique(pluck(@els, 'previousElementSibling', _al)), comparator)","import luda from '../base/luda.coffee'\nimport './prev.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) -> @prev comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableCreate: ->\n rootEl = @root.els[0]\n tabIndex = rootEl.tabIndex\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n rootEl.tabIndex = -1\n rootEl[@attr?.disable or 'disabled'] = true\n\n disableDestroy: ->\n rootEl = @root.els[0]\n rootEl.tabIndex = @root.data @data.disable.tabIndex\n rootEl[@attr?.disable or 'disabled'] = false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n data:\n enable: 'enter'\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n trigger: (e) ->\n return if @html.data(@data.enable) is false\n return unless luda(e.target).matches @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n data:\n enable: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n disabled: -> @html.data(@data.enable) is false\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).matches @selector.always.join(',')\n target = node\n else if luda(node).matches @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).matches(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n data:\n tabulate: 'tabulate'\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @html.data(@data.tabulate) is false\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n splitor: ' '\n\n.protect\n\n insertSimulator: ->\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @file\n\n updatePlaceholder: ->\n return unless placeholder = @file.attr 'placeholder'\n @simulator.attr 'placeholder', placeholder\n\n updateValue: ->\n values = Array.from(@file.els[0].files).map (f) -> f.name\n value = values.join(@splitor) or @file.attr('value') or ''\n @simulator.attr 'value', value\n\n tryReset: (target, oldVal) ->\n return unless @file.attr('value') is ''\n @file.els[0].value = ''\n @file.attr 'value', oldVal\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updatePlaceholder()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n.protect\n\n tryEmpty: ->\n select = @select.els[0]\n selected = Array.from(select.options).some (o) ->\n luda(o).hasAttr 'selected'\n not selected and select.selectedIndex = -1\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n Array.from(@select.els[0].options).forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n initSimulator: ->\n return @simulator.remove() if @select.els[0].multiple\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @select\n @updatePlaceholder()\n @updateValue()\n\n updatePlaceholder: ->\n return if @select.els[0].multiple\n @simulator.attr 'placeholder', @select.attr('placeholder')\n\n updateValue: ->\n select = @select.els[0]\n return if select.multiple\n selected = select.options[select.selectedIndex]\n val = if selected then luda(selected).text() else ''\n @simulator.attr 'value', val\n\n reset: ->\n @select.els[0].selectedIndex = -1\n Array.from(@select.els[0].options).forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @initSimulator()\n\n watch: ->\n dom: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @updateValue]\n ['multiple', @selector.select, @initSimulator]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n dom: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n touchendPlay: -> setTimeout => @play()\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pause]\n ['mouseout', @play]\n ['touchend', @touchendPlay]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n splitor: ' '\n\n.protect\n\n disableSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = luda @labels.els[index]\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.attr 'value', values.join(@splitor)\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @disableSimulator()\n @updateValue()\n\n watch: ->\n dom: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"],"names":["luda","type","pattern","replacer","guid","print","removeEvent","addEvent","config","factory","Base","parseValue","parse","V","EV","Variables","clean","Mixin"],"mappings":"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"}
1
+ {"version":3,"file":"luda.js","sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/array-equal.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/base/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","export default (a, b, compareOrder) ->\n return false unless a and b\n return true if a is b\n return false unless a.length is b.length\n return true if a.length is 0\n if compareOrder\n a.every (it, index) -> it is b[index]\n else\n not a.some (it) -> not b.includes(it)","guid = 0\n\n\n\nexport default -> guid += 1","import Type from './type.coffee'\n\n\n\nexport default (arr, prop, deep, filter) ->\n plucked = []\n arr = [arr] unless Type.isArray arr\n arr.forEach (item) ->\n val = item[prop]\n while val?\n if filter\n if filter val\n plucked.push val\n break unless deep\n else\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport arrayEqual from './array-equal.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n arrayEqual: arrayEqual\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from './matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n if comparator\n plucked = pluck @els, 'parentElement', false, (p) ->\n collect([p], comparator).length\n else\n plucked = pluck @els, 'parentNode'\n luda unique(plucked)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from './matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) -> els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return unless Type.isElement el\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n path = [event.target]\n path = path.concat(pluck path, 'parentNode', true)\n path.push window if document.contains event.target\n path","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import arrayEqual from '../../base/array-equal.coffee'\nimport expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunNodeCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.node.forEach (node) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll node.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and node.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n return unless name and Type.isElement target\n return if not nestable and not unnested(ins, [target]).length\n watches.attr.forEach (attr) ->\n return unless attr.name.includes name\n return unless matches target, attr.selector\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runNodeCallbacks 'added', mutation, C.watches, nestable\n runNodeCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n arrayEqual Array.from(nodesOne), Array.from(nodesTwo), true\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n node: (conf.node or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: splitValues a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.node ||= []\n watches.node.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {node: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n occupied = name and name of luda\n luda.extend name, createProxy Component if name\n not occupied and luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n hasSelected = false\n options = Array.from el.options\n options.forEach (o) ->\n selected = val.includes readValue(o.value)\n o.selected = selected\n hasSelected ||= selected\n el.selectedIndex = -1 unless hasSelected\n options.forEach (o) ->\n luda(o).attr 'selected', if o.selected then '' else null\n else\n val = if value is null then '' else parseValue value\n el.value = val\n luda(el).attr 'value', val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) ->\n plucked = pluck(@els, 'nextElementSibling', true)\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator) ->\n if comparator\n filter = (n) -> collect([n], comparator).length\n luda unique(pluck @els, 'nextElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) ->\n plucked = pluck @els, 'previousElementSibling', true\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator) ->\n if comparator\n filter = (p) -> collect([p], comparator).length\n luda unique(pluck @els, 'previousElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableTargetProp: -> @attr?.disable or 'disabled'\n\n disableCreate: ->\n tabIndex = @root.prop 'tabIndex'\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n @root.prop('tabIndex', -1).prop @disableTargetProp(), true\n\n disableDestroy: ->\n tabIndex = @root.data @data.disable.tabIndex\n @root.prop('tabIndex', tabIndex).prop @disableTargetProp(), false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n.protect\n\n disabled: -> @html.data('enter') is false\n\n.protect\n\n trigger: (e) ->\n return if @disabled()\n return unless luda(e.target).is @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n.protect\n\n disabled: -> @html.data('focus') is false\n\n.protect\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).is @selector.always.join(',')\n target = node\n else if luda(node).is @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).is(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n.protect\n\n disabled: -> @html.data('tabulate') is false\n\n.protect\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @disabled()\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n evt:\n changed: 'luda:fmFile:changed'\n\n splitor: ' '\n\n.protect\n\n placeholder: -> @file.attr 'placeholder'\n\n value: -> @file.attr 'value'\n\n multiple: -> @file.prop 'multiple'\n\n.protect\n\n files: -> Array.from @file.prop('files')\n\n insertSimulator: ->\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@file)\n\n updateSimulatorValue: ->\n values = @files().map (f) -> f.name\n value = values.join(@splitor) or @value() or ''\n @simulator.val value\n\n updateValue: ->\n @updateSimulatorValue()\n oldFile = @selectedFile\n @selectedFile = @files()\n return if not oldFile or luda.arrayEqual(@selectedFile, oldFile)\n val = if @multiple() then @selectedFile else @selectedFile[0]\n @file.trigger @evt.changed, val\n\n tryReset: (target, oldVal) ->\n return unless @value() is ''\n return if oldVal is ''\n @file.prop('value', '').attr('value', oldVal or '')\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n evt:\n changed: 'luda:fmSelect:changed'\n\n.protect\n\n placeholder: -> @select.attr 'placeholder'\n\n multiple: -> @select.prop 'multiple'\n\n options: -> Array.from @select.prop('options')\n\n.protect\n\n tryEmpty: ->\n selected = @options().some (o) -> luda(o).hasAttr 'selected'\n not selected and @select.prop('selectedIndex', -1)\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n @options().forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n toggleSimulator: ->\n return @simulator.remove() if @multiple()\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@select)\n\n updateSimulatorValue: ->\n return if @multiple()\n selected = @options()[@select.prop('selectedIndex')]\n val = if selected then luda(selected).text() else ''\n @simulator.val val\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n val = @select.val()\n @selectedVal = if luda.isArray(val) then val else [val]\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n if @multiple()\n selected = @options().filter (o) -> o.selected\n else\n selected = @options()[@select.prop('selectedIndex')]\n @select.trigger @evt.changed, {value: val, selected: selected}\n\n reset: ->\n @select.prop 'selectedIndex', -1\n @options().forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @toggleSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @tryEmpty, @updateValue]\n ['multiple', @selector.select, @toggleSimulator, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n node: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n togglePath: (path, action) ->\n targets = path.filter (el) => @con.contains el\n @con.create(targets).forEach (ins) -> ins[action]()\n\n pauseOnEvt: (e) -> @togglePath e.eventPath(), 'pause'\n\n playOnEvt: (e) -> @togglePath e.eventPath(), 'play'\n\n playOnTouchend: (e) ->\n path = e.eventPath()\n setTimeout => @togglePath path, 'play'\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pauseOnEvt]\n ['mouseout', @playOnEvt]\n ['touchend', @playOnTouchend]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n create: -> @toggleableCreate()\n\n destroy: -> @toggleableDestroy()\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n evt:\n changed: 'luda:fmDropdown:changed'\n\n splitor: ' '\n\n.protect\n\n initSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateSimulatorValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = @labels.eq index\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.val values.join(@splitor)\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n checked = @options.els.filter (input) -> input.checked\n @selectedVal = checked.map (input) -> luda(input).val()\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n @root.trigger @evt.changed, {value: @selectedVal, selected: checked}\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @initSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ['type', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"],"names":["luda","type","pattern","replacer","guid","print","removeEvent","addEvent","config","factory","Base","parseValue","parse","V","EV","Variables","clean","Mixin"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Luda 0.3.0 | https://oatw.github.io/luda
2
+ * Luda 0.3.1 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
6
- (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var Type={isArray:Array.isArray,isString:function(x){return typeof x==="string"},isFunction:function(x){return typeof x==="function"},isObject:function(x){return typeof x==="object"},isBool:function(x){return typeof x==="boolean"},isNumeric:function(x){return!isNaN(parseFloat(x))&&isFinite(x)},isDecimalism:function(x){return/^\d*\.?\d+$/.test(x&&!/^0+\d+\.?/.test(x))},isId:function(x){return/^#[\w-]*$/.test(x)},isClass:function(x){return/^\.[\w-]*$/.test(x)},isTag:function(x){return/^\w+$/.test(x)},isSingleTag:function(x){return/^\s*<(\w+)\s*\/?>(?:<\/\1>)?\s*$/.test(x)},isHtml:function(x){return/<.+>/.test(x)},isScript:function(x){return x.tagName==="SCRIPT"&&/^$|^module$|\/(?:java|ecma)script/i.test(x.type)},isFragment:function(x){return/^\s*<(\w+)[^>]*>/.test(x)},isWindow:function(x){return x&&x===window},isDocument:function(x){return x&&x.nodeType===9},isElement:function(x){return x&&x.nodeType===1}};function createMounter(target,messagePrefix,handler){var mount;return mount=function(name,val){var msg,n,v;if(Type.isString(name)){if(name in target){msg=`Namespace '${name}' is occupied, `;msg+=`skip ${messagePrefix||"mounting"}.`;console.warn(msg)}else{target[name]=handler?handler(name,val):val}}else{for(n in name){v=name[n];mount(n,v)}}return this}}var getEnv;getEnv=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported environment!")};var environment=getEnv();function find(selector,ctx=document){if(!(Type.isDocument(ctx)||Type.isElement(ctx))){return[]}return Array.from(function(){switch(false){case!Type.isClass(selector):return ctx.getElementsByClassName(selector.slice(1));case!Type.isTag(selector):return ctx.getElementsByTagName(selector);default:return ctx.querySelectorAll(selector)}}())}var containers,containersMap;containersMap=null;containers=function(type){var div,table,tr;if(containersMap){return containersMap[type]||containersMap["*"]}div=document.createElement("div");table=document.createElement("table");tr=document.createElement("tr");containersMap={"*":div,thead:table,tbody:table,tfoot:table,tr:document.createElement("tbody"),th:tr,td:tr};return containers(type)};function parseHTML(html){var container;if(!Type.isString(html)){return[]}if(Type.isSingleTag(html)){return[document.createElement(RegExp.$1)]}container=containers(Type.isFragment(html&&RegExp.$1));container.innerHTML=html;return Array.from(container.childNodes).map(function(node){if(node.parentNode){return node.parentNode.removeChild(node)}})}var Luda,luda$1;Luda=class Luda{constructor(selector,ctx=document){this.els=[];this.length=0;if(!selector){return}if(selector instanceof Luda){return selector}this.els=function(){switch(false){case!Type.isString(selector):if(Type.isHtml(selector)){return parseHTML(selector)}else{if(ctx instanceof Luda){ctx=ctx.els[0]}return find(selector,ctx)}break;case!(selector.nodeType||Type.isWindow(selector)):return[selector];case!Type.isArray(selector):return selector;default:return Array.from(selector)}}();this.length=this.els.length}};if(!(luda$1=environment.luda)){environment.luda=luda$1=function(selector,ctx){return new Luda(selector,ctx)};luda$1.include=createMounter(Luda.prototype,"including");luda$1.extend=createMounter(luda$1,"extending")}var ValuesMap={false:false,true:true,Infinity:Infinity,NaN:0/0,null:void 0,undefined:void 0};function readValue(value){if(value===null||value==="null"){return}if(!Type.isString(value)){return value}try{return JSON.parse(value)}catch(error){if(Type.isDecimalism(value)){return Number(value)}else if(value in ValuesMap){return ValuesMap[value]}else{return value}}}function parseValue(value){if(!Type.isObject(value)){return value}try{return JSON.stringify(value)}catch(error){return value}}function splitValues(str){if(Type.isString(str)){return str.match(/\S+/g)||[]}else{return[]}}luda$1.include({each:function(callback){this.els.some(function(el,index){return callback.call(el,el,index)===false});return this}});luda$1.include({removeAttr:function(attr){var attrs;attrs=splitValues(attr);if(!attrs.length){return this}this.els.forEach(function(el){return attrs.forEach(function(att){return el.removeAttribute(att)})});return this}});luda$1.include({attr:function(attr,value){var key,val;if(!attr){return}if(Type.isString(attr)){if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeAttr(attr)}this.els.forEach(function(el){return el.setAttribute(attr,parseValue(value))});return this}if(!this.els[0]){return}return readValue(this.els[0].getAttribute(attr))}for(key in attr){val=attr[key];this.attr(key,val)}return this}});luda$1.include({hasAttr:function(attr){if(!attr){return false}return this.els.some(function(el){return el.hasAttribute(attr)})}});var pattern,replacer;pattern=/-([a-z])/g;replacer=function(match,letter){return letter.toUpperCase()};function camelCase(str){return str.replace(pattern,replacer)}var pattern$1,replacer$1;pattern$1=/([A-Z])/g;replacer$1=function(match,letter){return`-${letter.toLowerCase()}`};function dashCase(str){return`${str[0].toLowerCase()}${str.slice(1).replace(pattern$1,replacer$1)}`}var guid;guid=0;function guid$1(){return guid+=1}function pluck(arr,prop,deep){var plucked;plucked=[];arr.forEach(function(item){var results,val;val=item[prop];results=[];while(val!==null){plucked.push(val);if(!deep){break}results.push(val=val[prop])}return results});return plucked}function unique(arr){if(!(arr.length>1)){return arr}return arr.filter(function(item,index){return arr.indexOf(item)===index})}["isString","isFunction","isArray","isObject","isBool","isNumeric","isDecimalism","isElement"].forEach(function(key){return luda$1.extend(key,Type[key])});luda$1.extend({camelCase:camelCase,dashCase:dashCase,guid:guid$1,pluck:pluck,unique:unique});var _cache,cache,cacheFactory,privateCache,publicCache;publicCache={};privateCache={};cacheFactory=function(cache){return function(guid,key,value){if(!guid){return cache}if(key===null){return delete cache[guid]}else if(value===null){if(!(guid in cache)){return}delete cache[guid][key];if(!Object.keys(cache[guid]).length){return delete cache[guid]}}else if(value===void 0){if(key===void 0){return cache[guid]}if(Type.isObject(key)){return cache[guid]=key}if(!(guid in cache)){return}return cache[guid][key]}else{if(key===void 0){return}cache[guid]||(cache[guid]={});return cache[guid][key]=value}}};cache=cacheFactory(publicCache);_cache=cacheFactory(privateCache);var expando="__luda_guid";var _access,access,accessFactory,clean;accessFactory=function(c){return function(owner,key,value){var uid;if(!arguments.length){return c()}uid=owner[expando]||(owner[expando]=guid$1());return c(uid,key,value)}};access=accessFactory(cache);_access=accessFactory(_cache);clean=function(owner){if(owner[expando]){_access(owner,null);return access(owner,null)}};luda$1.include({removeCache:function(key){var keys;if(arguments.length){keys=splitValues(key).map(function(k){return camelCase(k)});if(!keys.length){return this}this.els.forEach(function(el){return keys.forEach(function(k){return access(el,k,null)})})}else{this.els.forEach(function(el){return access(el,null)})}return this}});luda$1.extend({cache:function(isPrivate){if(isPrivate){return _access()}else{return access()}}});luda$1.include({cache:function(key,value){var k,v;if(!key){if(!this.els[0]){return}return access(this.els[0])||access(this.els[0],{})}if(Type.isString(key)){key=camelCase(key);if(arguments.length<2){if(!this.els[0]){return}if(!access(this.els[0])){access(this.els[0],{})}return access(this.els[0],key)}if(value===void 0){return this}if(value===null){return this.removeCache(key)}this.els.forEach(function(el){if(!access(el)){access(el,{})}return access(el,key,value)});return this}for(k in key){v=key[k];this.cache(k,v)}return this}});var parse,pattern$2;pattern$2=/^\./;parse=function(cls){if(Type.isString(cls)){return cls.replace(pattern$2,"")}else{return cls}};var parseClass=parse;luda$1.include({toggleClass:function(cls,force){var classes,isForce;classes=splitValues(cls);isForce=force!==void 0;if(!classes.length){return this}classes=classes.map(function(c){return parseClass(c)});this.els.forEach(function(el){return classes.forEach(function(c){if(isForce){if(force){return el.classList.add(c)}else{return el.classList.remove(c)}}else{return el.classList.toggle(c)}})});return this}});luda$1.include({addClass:function(cls){return this.toggleClass(cls,true)}});luda$1.include({hasClass:function(cls){if(!cls){return false}cls=parseClass(cls);return this.els.some(function(el){return el.classList.contains(cls)})}});luda$1.include({removeClass:function(cls){if(arguments.length){return this.toggleClass(cls,false)}else{return this.attr("class","")}}});luda$1.include({add:function(selector,context){return luda$1(unique(this.els.concat(luda$1(selector,context).els)))}});luda$1.include({get:function(index){if(index===void 0){return this.els}return this.els[index<0?index+this.els.length:index]}});luda$1.include({eq:function(index){return luda$1(this.get(index))}});function matches(el,selector){return el&&el.matches&&el.matches(selector)}function collect(els,comparator,oppsite){if(!comparator||!(els!=null?els.length:void 0)){return els}return els.filter(function(el,index){var match;match=function(){switch(false){case!Type.isString(comparator):return matches(el,comparator);case!Type.isFunction(comparator):return comparator.call(el,el,index);case!(comparator instanceof Luda):return comparator.els.includes(el);default:return el===comparator}}();if(oppsite){return!match}else{return match}})}luda$1.include({filter:function(comparator){if(!comparator){return luda$1()}return luda$1(collect(this.els,comparator))}});luda$1.include({first:function(){return this.eq(0)}});luda$1.include({has:function(selector){var comparator;if(Type.isString(selector)){comparator=function(el){return find(selector,el).length>0}}else{comparator=function(el){return el.contains(selector)}}return this.filter(comparator)}});luda$1.include({children:function(comparator){var all;all=[];this.els.forEach(function(el){return[].push.apply(all,el.children)});return luda$1(collect(unique(all),comparator))}});luda$1.include({parent:function(comparator){var parents;if(!comparator){return luda$1(unique(pluck(this.els,"parentNode")))}parents=[];this.els.forEach(function(el){var matched,parent;while(parent=el.parentNode){matched=collect([parent],comparator)[0];if(matched){return parents.push(matched)}el=parent}});return luda$1(unique(parents))}});luda$1.include({index:function(selector){var child,collection;child=selector?luda$1(selector).els[0]:this.els[0];collection=selector?this.els:luda$1(child).parent().children().els;return collection.indexOf(child)}});luda$1.include({is:function(comparator){if(!comparator||!this.els.length){return false}return collect(this.els,comparator).length>0}});luda$1.include({last:function(){return this.eq(-1)}});luda$1.include({map:function(callback){var collection;collection=this.els.map(function(el,index){return callback.call(el,el,index)});return luda$1(collection)}});luda$1.include({not:function(comparator){if(!comparator||!this.els.length){return this}return luda$1(collect(this.els,comparator,true))}});luda$1.include({slice:function(){return luda$1([].slice.apply(this.els,arguments))}});luda$1.extend({ready:function(callback){var handler;if(document.readyState==="loading"){handler=function(){callback(luda$1);return document.removeEventListener("DOMContentLoaded",handler)};document.addEventListener("DOMContentLoaded",handler)}else{handler=function(){return callback(luda$1)};setTimeout(handler)}return this}});function findAll(selector,ctx){var all;all=find(selector,ctx);if(matches(ctx,selector)){all.push(ctx)}return all}var Components,autoCreateAndDestroy,autoable,config,disAutoSelector,observer;disAutoSelector="[data-auto=false]";Components=[];observer=null;config={childList:true,subtree:true,attributes:true};autoCreateAndDestroy=function(Component){if(Components.includes(Component)){return}Components.push(Component);if(observer){return}observer=new MutationObserver(function(mus){var attrNodes,nodes;nodes=[];attrNodes=[];mus.forEach(function(mu){nodes=nodes.concat(Array.from(mu.addedNodes)).concat(Array.from(mu.removedNodes));if(mu.type==="attributes"){return attrNodes.push(mu.target)}});nodes=unique(nodes);attrNodes=unique(attrNodes);return Components.forEach(function(C){var els;els=[];nodes.forEach(function(node){return els=els.concat(findAll(C.root,node))});unique(els).forEach(function(el){if(matches(el,disAutoSelector)){return}if(document.contains(el)){return C.create(el)}else{return C.destroy(el)}});return attrNodes.forEach(function(el){if(matches(el,disAutoSelector)){return}if(matches(el,C.root)){return C.create(el)}else if(C.instances[el[expando]]){return C.destroy(el)}})})});observer.observe(document,config);return _access(document,"ComponentsAutomation",{Components:Components,watcher:observer})};autoable=function(selector){return`${selector}:not(${disAutoSelector})`};var print;print=function(msg,style){if(Type.isString(msg)){return console.log(`%c${msg}`,style)}return console.log(msg)};var print$1=print;var active,factory,infoStyle,prvLabelStyle,pubLabelStyle;active=false;pubLabelStyle="color:#0085ff;font-weight:bold";prvLabelStyle="color:#f8427f;font-weight:bold";infoStyle="color:#383838;font-weight:bold";factory=function(style,label){var log;return log=function(){var msg,time;if(!arguments.length){return active}if(arguments.length===1&&Type.isBool(arguments[0])){active=arguments[0];msg=`Luda log ${active?"opened":"closed"}.`;return log(msg)}if(!active){return}time=Date.now();print$1(`\n\n\n${label}LOG ${guid$1()} ${time}`,style.label);return Array.from(arguments).forEach(function(arg){return print$1(arg,style.info)})}};luda$1.extend("log",factory({info:infoStyle,label:pubLabelStyle},""));var log=factory({info:infoStyle,label:prvLabelStyle},"LUDA ");function eventPath(event){if(event.composedPath){return event.composedPath()}else if(event.path){return event.path}else{return[event.target].concat(pluck([event.target],"parentNode",true))}}var LudaEvent;LudaEvent=class LudaEvent{constructor(event){this.originalEvent=event}isDefaultPrevented(){return this.originalEvent.defaultPrevented}isPropagationStopped(){return!this.originalEvent.bubbles||this._propagationStopped}isImmediatePropagationStopped(){return this._immediatePropagationStopped}preventDefault(){return this.originalEvent.preventDefault()}stopPropagation(){this.originalEvent.stopPropagation();return this._propagationStopped=true}stopImmediatePropagation(){this.originalEvent.stopImmediatePropagation();return this._immediatePropagationStopped=true}eventPath(){return eventPath(this.originalEvent)}};function ludaEvent(event){var ludaEvent;ludaEvent=new LudaEvent(event);return new Proxy(ludaEvent,{get:function(target,key){if(key in target){return target[key]}else{return target.originalEvent[key]}}})}function nMatches(definedNamespace,namespace){return namespace.every(function(n){return definedNamespace.includes(n)})}var Variables={expando:"event",focusEvents:{focus:"focusin",blur:"focusout"},hoverEvents:{mouseenter:"mouseover",mouseleave:"mouseout"},swipeEvents:{left:"swipeleft",right:"swiperight",up:"swipeup",down:"swipedown"},swipeDistance:10,keyCodes:{enter:13,tab:9,ctrl:17,alt:18,shift:16,esc:27,back:8,space:32,cap:20,up:38,down:40,left:37,right:39,del:46,end:35,home:36,ins:45,pgUp:33,pgDown:34}};function parseEventName(name){var keysRe,preventRe,stopRe;stopRe=/(&stop)+/gi;preventRe=/(&prevent)+/gi;keysRe=new RegExp(`@(${Object.keys(Variables.keyCodes).join("|")})`,"g");return splitValues(name).map(function(n){var evtName,keyCodes,matchedKeys,preventDefault,splited,stopPropagation,type;stopPropagation=stopRe.test(n);preventDefault=preventRe.test(n);splited=n.replace(stopRe,"").replace(preventRe,"").replace(keysRe,"").split(".");evtName=splited[0];type=Variables.focusEvents[evtName]||Variables.hoverEvents[evtName]||evtName;keyCodes=[];matchedKeys=n.match(keysRe);matchedKeys&&matchedKeys.forEach(function(key){var k,keyCode;k=key.replace(/@/g,"");if(keyCode=Variables.keyCodes[k]){return keyCodes.push(keyCode)}});return{type:type,stop:stopPropagation,prevent:preventDefault,namespace:splited.slice(1),key:keyCodes}})}luda$1.include({trigger:function(name,detail,afterTrigger){var handledEvts;if(afterTrigger&&!Type.isFunction(afterTrigger)){handledEvts=[]}this.els.forEach(function(el){var events;if(Type.isString(name)){events=parseEventName(name).map(function(evt){var event;event=new CustomEvent(evt.type,{bubbles:true,cancelable:true,composed:true,detail:detail});event.namespace=evt.namespace;return event})}else{events=Type.isArray(name)?name:[name]}return events.forEach(function(e){var isFocusEvent;e.ludaEvent=ludaEvent(e);isFocusEvent=Object.values(Variables.focusEvents).includes(e.type);if(isFocusEvent&&Type.isFunction(el[e.type])){el[e.type]()}else{el.dispatchEvent(e)}if(Type.isFunction(afterTrigger)){return afterTrigger(e.ludaEvent,e.ludaEvent.detail,el)}else if(afterTrigger){return handledEvts.push(e.ludaEvent)}})});return handledEvts||this}});var createEvent,startX,startY,touchMoveHandler,touchStartHandler,triggered;startX=startY=0/0;triggered=false;touchStartHandler=function(e){if(e.defaultPrevented){return}if(e.touches.length!==1){return}startX=e.touches[0].screenX;startY=e.touches[0].screenY;return triggered=false};touchMoveHandler=function(e){var direction,endX,endY,xMoved,yMoved;if(e.defaultPrevented){return}if(e.touches.length!==1){return}if(triggered){return}endX=e.touches[0].screenX;xMoved=endX-startX;if(Math.abs(xMoved)>=Variables.swipeDistance){triggered=true;direction=xMoved>0?"right":"left";return luda$1(e.target).trigger(createEvent(direction,startX,endX,xMoved))}endY=e.touches[0].screenY;yMoved=endY-startY;if(Math.abs(yMoved)>=Variables.swipeDistance){triggered=true;direction=yMoved>0?"down":"up";return luda$1(e.target).trigger(createEvent(direction,startY,endY,yMoved))}};createEvent=function(direction,start,end,moved){var event;event=new CustomEvent(Variables.swipeEvents[direction],{bubbles:true,cancelable:true,composed:true});event.start=start;event.end=end;event.distance=Math.abs(moved);return event};var swipeEvent={add:function(el){el.addEventListener("touchstart",touchStartHandler);return el.addEventListener("touchmove",touchMoveHandler)},remove:function(el){el.removeEventListener("touchstart",touchStartHandler);return el.removeEventListener("touchmove",touchMoveHandler)}};var removeEvent;var removeEvent$1=removeEvent=function(el,type,selector,callback,namespace){var evtCache,length,swipeTypes,typeCache;evtCache=_access(el,Variables.expando);if(!evtCache){return}if(!type){for(type in evtCache){typeCache=evtCache[type];removeEvent(el,type,selector,callback,namespace)}}else if(type!=="handler"&&(typeCache=evtCache[type])){typeCache.quene||(typeCache.quene=[]);typeCache.quene=typeCache.quene.filter(function(item){if(callback&&callback!==item.callback){return true}if(selector&&selector!==item.selector){return true}if(namespace&&!nMatches(item.namespace,namespace)){return true}});if(!typeCache.quene.length&&typeCache.binded&&evtCache.handler){el.removeEventListener(type,evtCache.handler);delete evtCache[type]}swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)&&swipeTypes.every(function(t){return!evtCache[t]})){swipeEvent.remove(el)}}length=Object.keys(evtCache).length;if(!length||length===1&&"handler"in evtCache){return _access(el,Variables.expando,null)}};var addEvent;addEvent=function(el,type,selector,callback,namespace,kc,stop,prevent,_one){var evtCache,expando,handler,quene,swipeBinded,swipeTypes,typeCache;if(type==="handler"){throw new Error("handler cannot be used as event type")}expando=Variables.expando;evtCache=_access(el,expando)||_access(el,expando,{});typeCache=evtCache[type]||(evtCache[type]={});quene=typeCache.quene||(typeCache.quene=[]);quene.push({selector:selector,callback:callback,namespace:namespace,key:kc,stop:stop,prevent:prevent,one:_one});handler=evtCache.handler||(evtCache.handler=function(event){var cached,collection,eType,self;self=this;cached=_access(self,Variables.expando);eType=event.type;if(!(cached&&cached[eType])){return}collection=eventPath(event);collection=collection.slice(0,collection.indexOf(self)+1);event=event.ludaEvent||ludaEvent(event);return collection.every(function(node){cached[eType].quene.every(function(it){var returnValue;if((selector=it.selector)&&matches(node,selector)||!it.selector&&node===self){if(event.namespace&&!nMatches(it.namespace,event.namespace)){return true}if(event.keyCode&&it.key.length&&!it.key.includes(event.keyCode)){return true}event.currentTarget=node;returnValue=it.callback.call(node,event,event.detail);if(it.one){removeEvent$1(self,eType,it.selector,it.callback,it.namespace)}if(it.stop||returnValue===false){event.stopPropagation()}if(it.prevent||returnValue===false){event.preventDefault()}}return!event.isImmediatePropagationStopped()});return!event.isPropagationStopped()})});swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)){swipeBinded=swipeTypes.some(function(type){var ref;return(ref=evtCache[type])!=null?ref.binded:void 0});if(!swipeBinded){swipeEvent.add(el)}}if(!typeCache.binded){typeCache.binded=true;return el.addEventListener(type,handler)}};var addEvent$1=addEvent;luda$1.include({on:function(name,selector,callback,_one){var key,keyCallback,self;self=this;if(!Type.isString(name)){for(key in name){keyCallback=name[key];this.on(key,selector,keyCallback)}return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return addEvent$1(el,option.type,selector,callback,option.namespace,option.key,option.stop,option.prevent,_one)})});return this}});luda$1.include({off:function(name,selector,callback){var self;self=this;if(name===void 0){this.els.forEach(function(el){return removeEvent$1(el)});return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return removeEvent$1(el,option.type,selector,callback,option.namespace)})});return this}});var addEvents,findRoot,isntPropagation,namespace,removeEvents;namespace=function(C){return`.${C.id}`};findRoot=function(C,event){var rootEl;if(Type.isDocument(C.root)){return C.root}rootEl=null;event.eventPath().some(function(el){if(!matches(el,C.root)){return}return rootEl=el});return rootEl};isntPropagation=function(C,event,rootEl){if(Type.isDocument(C.root)){return true}if(event.currentTarget===rootEl){return true}return luda$1(event.currentTarget).parent(C.root).els[0]===rootEl};addEvents=function(C){var events;events=C.helpers.listen.call(C.prototype);return events.forEach(function(evt){var callbacks,evtSelector,name,selector;if(!evt[0]){return}name=`${evt[0]}${namespace(C)}`;selector=Type.isFunction(evt[1])?"":evt[1];callbacks=Type.isFunction(evt[1])?evt.slice(1):evt.slice(2);evtSelector=selector;return callbacks.forEach(function(callback){var handler;if(!Type.isFunction(callback)){return}if(Object.values(C.prototype).includes(callback)){if(Type.isString(C.root)&&selector.replace(C.root,"")===selector){evtSelector=selector?`${C.root} ${selector}`:C.root}handler=function(event,data){var rootEl;if(!(rootEl=findRoot(C,event))){return}if(!isntPropagation(C,event,rootEl)){return}return callback.call(C.create(rootEl)[0],event,data)}}else{handler=function(event,data){return callback.call(this,event,data)}}return luda$1(document).on(name,evtSelector,handler)})})};removeEvents=function(C){return luda$1(document).off(namespace(C))};luda$1.include({parents:function(comparator){return luda$1(collect(unique(pluck(this.els,"parentElement",true)),comparator))}});function unnested(instance,els){var rootEl,rootSelector;rootEl=instance.root.els[0];rootSelector=instance.constructor.root;return els.filter(function(el){var rootParent;if(el===rootEl){return true}if(matches(el,rootSelector)){return false}rootParent=luda$1(el).parent(rootSelector).els[0];if(document.contains(el)){return rootParent===rootEl}else{return!rootParent}})}var addTraversal,cleanTraversal,createGetter;createGetter=function(C,name,selector,nestable,cacheable){return Object.defineProperty(C.prototype,name,{get:function(){var cache,collection,matched,rootEl;if(!selector){return luda$1()}if(selector instanceof Luda){return selector}if(Type.isFunction(selector)){return selector.call(this)}if(!Type.isString(selector)){return luda$1(selector)}if(!(rootEl=this.root.els[0])){return luda$1()}cacheable&&(cache=C.instances[this.id].traversal);if(cache&&name in cache){return cache[name]}matched=luda$1(selector,rootEl).els;!nestable&&(matched=unnested(this,matched));collection=luda$1(unique(matched));if(!cache){return collection}if(collection.length){return cache[name]=collection}else{return collection}}})};addTraversal=function(C){var cacheable,msg,name,nestable,selector,traversals;traversals=C.helpers.find.call(C.prototype);nestable=Type.isDocument(C.root);cacheable=Type.isString(C.root);for(name in traversals){selector=traversals[name];if(name in C.prototype){msg=`'${name}' was defined on prototype`;msg=`${msg}, skip adding traversal getter.`;console.warn(msg)}else{createGetter(C,name,selector,nestable,cacheable)}}return cacheable&&(C.prototype.cleanTraversal=function(name){var cached,traversal;if(!(cached=this.constructor.instances[this.id])){return}if(!(traversal=cached.traversal)){return}return cleanTraversal(traversal,name)})};cleanTraversal=function(cache,name){var names;if(!cache){return}if(!Type.isString(name)){name=""}names=name?splitValues(name):Object.keys(cache);return names.forEach(function(n){return delete cache[n]})};var config$1,createObserver,cur,executeMutations,findSameMutation,nodesEqual,runAttrCallbacks,runDomCallbacks,stopWatch,watch;config$1={childList:true,subtree:true,attributes:true,attributeOldValue:true};cur=function(ins,callback,target){var isInProto,proto;proto=ins.constructor.prototype;isInProto=Object.values(proto).includes(callback);if(isInProto){return ins}else{return target}};runDomCallbacks=function(type,mutation,watches,nestable){var C,ins,mu,nodes;ins=mutation.ins;C=ins.constructor;mu=mutation.mu;nodes=Array.from(mu[`${type}Nodes`]);return watches.dom.forEach(function(dom){var els;els=[];nodes.forEach(function(n){return els=els.concat(findAll(dom.selector,n))});if(!els.length){return}!nestable&&(els=unnested(ins,unique(els)));return els.length&&dom.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,els);if(callback!==C.prototype.cleanTraversal){log(`${C.id} ID: ${ins.id} executes nodes ${type} callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],`Nodes ${type}`,els,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[els,type])}return callback.call(ctx,els,type)})})};runAttrCallbacks=function(mutation,watches,nestable){var C,ins,mu,name,oldVal,target;ins=mutation.ins;mu=mutation.mu;C=ins.constructor;name=mu.attributeName;target=mu.target;oldVal=mu.oldValue;return name&&watches.attr.forEach(function(attr){if(name!==attr.name){return}if(!matches(target,attr.selector)){return}if(!nestable&&!unnested(ins,[target]).length){return}return attr.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,target);log(`${C.id} ID: ${ins.id} executes ${name} changed callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],"Changed target",target,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[target,oldVal]);return callback.call(ctx,target,oldVal)})})};executeMutations=function(C,mutations,nestable){return mutations.forEach(function(mutation){runDomCallbacks("added",mutation,C.watches,nestable);runDomCallbacks("removed",mutation,C.watches,nestable);return runAttrCallbacks(mutation,C.watches,nestable)})};nodesEqual=function(nodesOne,nodesTwo){var itemsOne,itemsTwo;if(nodesOne.length!==nodesTwo.length){return false}if(nodesOne.length===0&&nodesTwo.length===0){return true}itemsOne=Array.from(nodesOne);itemsTwo=Array.from(nodesTwo);return!itemsOne.some(function(node,index){return node!==itemsTwo[index]})};findSameMutation=function(mutations,mu){var theSameMutation;theSameMutation=null;mutations.some(function(mutation){if(mu===mutation.mu){return theSameMutation=mutation}if(mu.type!==mutation.mu.type){return}if(mu.target!==mutation.mu.target){return}if(mu.attributeName!==mutation.mu.attributeName){return}if(mu.oldValue!==mutation.mu.oldValue){return}if(!nodesEqual(mu.addedNodes,mutation.mu.addedNodes)){return}if(!nodesEqual(mu.removedNodes,mutation.mu.removedNodes)){return}return theSameMutation=mutation});return theSameMutation};createObserver=function(C,instance){var inses,nestable,observer,rootEl;inses=C.instances;rootEl=instance.root.els[0];nestable=Type.isDocument(C.root);observer=new MutationObserver(function(mus){var mutations;mutations=mus.map(function(mu){return{ins:instance,mu:mu}});!nestable&&find(C.root,rootEl).forEach(function(el){var cached,ins,watcher;if(!(cached=inses[el[expando]])){return}if(!(ins=cached.instance)){return}if(!(watcher=cached.watcher)){return}return watcher.takeRecords().forEach(function(mu){var nestedMutation;nestedMutation=findSameMutation(mutations,mu);if(nestedMutation){return nestedMutation.ins=ins}})});return executeMutations(C,mutations,nestable)});observer.observe(rootEl,config$1);return observer};watch=function(C,ins){var conf;if(!C.watches){conf=C.helpers.watch.call(C.prototype);C.watches={dom:(conf.dom||[]).map(function(d){return{selector:Type.isFunction(d[0])?"*":d[0],callbacks:Type.isFunction(d[0])?d:d.slice(1)}}),attr:(conf.attr||[]).map(function(a){return{name:a[0],selector:Type.isFunction(a[1])?"*":a[1],callbacks:Type.isFunction(a[1])?a.slice(1):a.slice(2)}})}}return createObserver(C,ins)};stopWatch=function(ins,watcher){return watcher.disconnect()};var Base;Base=function(){class Base{constructor(root){var C,create,definedWatch,find,inses,listen,proto,rootEl,traversal,watcher;C=this.constructor;proto=C.prototype;inses=C.instances;if(!(Type.isString(C.root)||Type.isDocument(C.root))){throw new Error("Component root can only be selectors or document")}if(root instanceof C){return root}if(Type.isDocument(C.root)){root=C.root}this.root=luda$1(root);if(!(rootEl=this.root.els[0])){return}if(this.root.length>1){this.root=luda$1(rootEl)}this.id=rootEl[expando]||(rootEl[expando]=guid$1());if(this.id in inses){return inses[this.id].instance}if((listen=C.helpers.listen)&&!C.eventsBinded){addEvents(C);C.eventsBinded=true}if((find=C.helpers.find)&&!C.traversalAdded){addTraversal(C);C.traversalAdded=true}if(proto.cleanTraversal){traversal={}}if(traversal&&!C.watches){if(definedWatch=C.helpers.watch){C.helpers.watch=function(){var watches;watches=definedWatch.call(this);watches.dom||(watches.dom=[]);watches.dom.unshift([proto.cleanTraversal]);return watches}}else{C.helpers.watch=function(){return{dom:[[proto.cleanTraversal]]}}}}if(C.helpers.watch){watcher=watch(C,this)}inses[this.id]={instance:this,traversal:traversal,watcher:watcher};_access(rootEl,C.id,inses[this.id]);if(create=C.helpers.create){create.call(this)}log(`${C.id} ID: ${this.id} created.`,"Root element",rootEl,"Cache",inses[this.id])}static create(selector,ctx){var C;C=this;if(Type.isDocument(this.root)||!selector){selector=this.root}return luda$1(selector,ctx).els.map(function(el){return new C(el)})}static destroy(selector,ctx){var C,hasInstances,inses;C=this;inses=this.instances;if(Type.isDocument(this.root)||!selector){selector=this.root}luda$1(selector,ctx).els.forEach(function(rootEl){var destroy,id,instance,watcher;if(!(id=rootEl[expando])){return}if(!(id in inses)){return}instance=inses[id].instance;watcher=inses[id].watcher;if(destroy=C.helpers.destroy){destroy.call(instance)}if(watcher){stopWatch(instance,watcher)}delete inses[id];_access(rootEl,C.id,null);return log(`${C.id} ID: ${id} destroied.`,"Root element",rootEl,"Cache",inses[id])});hasInstances=Object.keys(inses).length;if(!hasInstances&&C.eventsBinded){removeEvents(C);C.eventsBinded=false}return this}static help(key,val){this.help=createMounter(this.helpers,"helping");return this.help(key,val)}static include(key,val){var C,fn;C=this;fn=function(name,value){C.included.push(name);return value};this.include=createMounter(this.prototype,"including",fn);return this.include(key,val)}static protect(key,val){this.protect=createMounter(this.prototype,"protecting");return this.protect(key,val)}static contains(selector,ctx){var inses;inses=this.instances;return luda$1(selector,ctx).els.some(function(el){var id;return(id=el[expando])&&inses[id]})}static each(callback){Object.values(this.instances).some(function(cache,index){var instance,rootEl;instance=cache.instance;rootEl=instance.root.els[0];return callback(instance,rootEl,index,cache)===false});return this}}Base.prototype.win=luda$1(window);Base.prototype.doc=luda$1(document);Object.defineProperty(Base.prototype,"html",{get:function(){return luda$1(document.documentElement)}});Object.defineProperty(Base.prototype,"body",{get:function(){return luda$1(document.body)}});Object.defineProperty(Base.prototype,"con",{get:function(){return this.constructor}});return Base}.call(this);var Base$1=Base;var constructorAccessWarn,createComponentProxy,createInstancesCallProxy,createInstancesProxy,instanceAccessWarn;constructorAccessWarn=function(action,C,key){var msg;if(!(key in C&&!C.extended.includes(key))){return}msg=`${action} private property '${key}' of ${C.id}`;return console.warn(msg)};createComponentProxy=function(C){var proxy;return proxy=new Proxy(C,{get:function(target,key){constructorAccessWarn("Getting",C,key);return C[key]},set:function(target,key,val){constructorAccessWarn("Setting",C,key);return C[key]=val},apply:function(target,ctx,args){var inses;inses=C.create.apply(C,args);return createInstancesProxy(inses)}})};instanceAccessWarn=function(action,ins,key){var msg;if(!(key in ins&&!ins.con.included.includes(key))){return}msg=`${action} private property '${key}' of ${ins.con.id} ${ins.id}`;return console.warn(msg)};createInstancesProxy=function(inses){var proxy;return proxy=new Proxy(inses,{set:function(target,key,val){return inses.map(function(ins){instanceAccessWarn("Setting",ins,key);return ins[key]=val})},get:function(target,key){var vals;vals=inses.map(function(ins){instanceAccessWarn("Getting",ins,key);return ins[key]});return createInstancesCallProxy(inses,vals,key,proxy)}})};createInstancesCallProxy=function(inses,vals,key,instancesProxy){var proxy;return proxy=new Proxy(new Function,{get:function(target,k){if(!Type.isFunction(vals[k])){return vals[k]}return vals[k].bind(vals)},apply:function(target,ctx,args){var option,returns;returns=inses.map(function(ins){return ins[key].apply(ins,args)});option=args[args.length-1];if(Type.isObject(option)&&option.chain===false){return returns}else{return instancesProxy}}})};function createProxy(Component){return createComponentProxy(Component)}var factory$1;luda$1.extend("component",factory$1=function(name,root){var Component;Component=function(){class Component extends Base$1{}Component.id=camelCase(`Component${name?"-"+name:"_"+guid$1()}`);Component.root=root?root:name?`.${dashCase(name)}`:document;Component.instances={};Component.helpers={};Component.included=["toString"];Component.extended=["toString"];Component.eventsBinded=false;Component.autoEnabled=false;Component.traversalAdded=false;Component.watches=null;return Component}.call(this);if(name){luda$1.extend(name,createProxy(Component))}luda$1.ready(function(){if(Type.isDocument(Component.root)){Component.create(Component.root)}if(!Type.isString(Component.root)){return}Component.create(autoable(Component.root));autoCreateAndDestroy(Component);return Component.autoEnabled=true});return Component});function computeStyle(el,prop,isVar){var style;if(!Type.isElement(el)||!prop){return}style=window.getComputedStyle(el,null);if(prop){if(isVar){return style.getPropertyValue(prop)||void 0}else{return style[prop]}}else{return style}}function isVariable(prop){return/^--/.test(prop)}function readProp(prop,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar){return prop}else{return camelCase(prop)}}var numericProps;numericProps=["animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex"];function parseValue$1(prop,value,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar||numericProps.includes(prop)){return value}if(Type.isNumeric(value)){return`${value}px`}else{return value}}luda$1.include({css:function(prop,value){var isVar,key,val;if(Type.isString(prop)){isVar=isVariable(prop);prop=readProp(prop,isVar);if(arguments.length<2){return this.els[0]&&computeStyle(this.els[0],prop,isVar)}if(!prop){return this}value=parseValue$1(prop,value,isVar);this.els.forEach(function(el){if(!Type.isElement(el)){return}if(isVar){return el.style.setProperty(prop,value)}else{return el.style[prop]=value}});return this}for(key in prop){val=prop[key];this.css(key,val)}return this}});luda$1.include({removeCss:function(prop){return this.css(prop,"")}});var parse$1,pattern$3;pattern$3=/^data-/i;parse$1=function(name){return camelCase(name.replace(pattern$3,""))};var parseName=parse$1;luda$1.include({removeData:function(name){var names;if(arguments.length){names=splitValues(name);if(!names.length){return this}names=names.map(function(n){return parseName(n)});this.els.forEach(function(el){return names.forEach(function(n){return delete el.dataset[n]})})}else{this.els.forEach(function(el){var n,ref,results,val;ref=el.dataset;results=[];for(n in ref){val=ref[n];results.push(delete el.dataset[n])}return results})}return this}});luda$1.include({data:function(name,value){var datas,key,ref,val;if(!name){if(!this.els[0]){return}datas={};ref=this.els[0].dataset;for(key in ref){val=ref[key];datas[key]=readValue(val)}return datas}if(Type.isString(name)){name=parseName(name);if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeData(name)}val=parseValue(value);this.els.forEach(function(el){return el.dataset[name]=val});return this}if(!this.els[0]){return}return readValue(this.els[0].dataset[name])}for(key in name){val=name[key];this.data(key,val)}return this}});luda$1.include({hasData:function(key){if(!key){return false}key=parseName(key);return this.els.some(function(el){return el.dataset&&key in el.dataset})}});var factory$3;factory$3=function(prop){return function(){var el;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`inner${prop}`]}return el[`client${prop}`]}};luda$1.include({innerWidth:factory$3("Width"),innerHeight:factory$3("Height")});function computeStyleInt(el,prop){return parseInt(computeStyle(el,prop),10)||0}function getExtraSpace(el,xAxis){return computeStyleInt(el,`border${xAxis?"Left":"Top"}Width`)+computeStyleInt(el,`padding${xAxis?"Left":"Top"}`)+computeStyleInt(el,`padding${xAxis?"Right":"Bottom"}`)+computeStyleInt(el,`border${xAxis?"Right":"Bottom"}Width`)}var factory$4;factory$4=function(prop){return function(value){var e,valNumber;if(!(e=this.els[0])){if(value===void 0){return void 0}else{return this}}if(!arguments.length){if(Type.isWindow(e)){return e[camelCase(`outer-${prop}`)]}return e.getBoundingClientRect()[prop]-getExtraSpace(e,prop==="width")}valNumber=parseInt(value,10);this.els.forEach(function(el){var boxSizing,extra;if(!Type.isElement(el)){return}boxSizing=computeStyle(el,"boxSizing");extra=0;if(boxSizing==="border-box"){extra=getExtraSpace(el,prop==="width")}return el.style[prop]=parseValue$1(prop,valNumber+extra)});return this}};luda$1.include({width:factory$4("width"),height:factory$4("height")});var factory$5;factory$5=function(prop){return function(includeMargins){var el,marginOne,marginTwo,offsetSize;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`outer${prop}`]}offsetSize=el[`offset${prop}`];if(!includeMargins){return offsetSize}marginOne=computeStyleInt(el,`margin${prop==="Width"?"Left":"Top"}`);marginTwo=computeStyleInt(el,`margin${prop==="Width"?"Right":"Bottom"}`);return offsetSize+marginOne+marginTwo}};luda$1.include({outerWidth:factory$5("Width"),outerHeight:factory$5("Height")});luda$1.include({one:function(name,selector,callback){return this.on(name,selector,callback,true)}});function getValue(el){var val;if(el.multiple&&el.options){val=[];[].forEach.call(el.options,function(option){var optionValue;if(option.selected&&!option.disabled&&!option.parentNode.disabled){optionValue=readValue(option.value);if(optionValue===void 0||optionValue===null){optionValue=""}return val.push(optionValue)}});return val}val=readValue(el.value);if(val===void 0||val===null){return""}else{return val}}luda$1.include({val:function(value){if(value===void 0){return this.els[0]&&getValue(this.els[0])}this.els.forEach(function(el){var val;if(el.tagName==="SELECT"){if(Type.isArray(value)){val=value}else if(value===null){val=[]}else{val=[value]}return[].forEach.call(el.options,function(option){var selected;selected=val.includes(readValue(option.value));luda$1(option).attr("selected",selected?"":null);return option.selected=selected})}else{val=value===null?"":parseValue(value);luda$1(el).attr("value",val);return el.value=val}});return this}});var Variables$1={scriptExpando:"script"};function clone(el,cacheAndEvts,deep){var cloned,clonedScripts,clones,nodes,scripts;cloned=el.cloneNode(true);scripts=findAll("script",el);clonedScripts=findAll("script",cloned);scripts.forEach(function(script,i){var cache;if(!Type.isScript(script)){return}if(script.src){return}cache=_access(script,Variables$1.scriptExpando);cache||(cache={executed:false});_access(script,Variables$1.scriptExpando,cache);return _access(clonedScripts[i],Variables$1.scriptExpando,cache)});if(!cacheAndEvts){return cloned}if(deep){nodes=findAll("*",el);clones=findAll("*",cloned)}else{nodes=[el];clones=[cloned]}nodes.forEach(function(node,i){var _evt,cache,config,type;if(_evt=_access(node,Variables.expando)){for(type in _evt){config=_evt[type];config.quene&&config.quene.forEach(function(it){return addEvent$1(clones[i],type,it.selector,it.callback,it.namespace,it.key,it.stop,it.prevent,it._one)})}}if(cache=access(node)){return access(clones[i],Object.assign({},cache))}});return cloned}luda$1.include({find:function(selector){var all;all=[];this.els.forEach(function(el){var found;found=find(selector,el);if(found.length){return[].push.apply(all,found)}});return luda$1(unique(all))}});var CDATARe,geval;CDATARe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;geval=eval;function evalScripts(node){var collection,scripts;collection=luda$1(node);scripts=collection.filter("script").add(collection.find("script")).els;return scripts.forEach(function(el){var scriptCache;if(!(!el.src&&Type.isScript(el))){return}if(!el.ownerDocument.documentElement.contains(el)){return}scriptCache=_access(el,Variables$1.scriptExpando);if(scriptCache&&scriptCache.executed){return}geval(el.textContent.replace(CDATARe,""));if(scriptCache){return scriptCache.executed=true}else{return _access(el,Variables$1.scriptExpando,{executed:true})}})}function insertElement(anchor,child,prepend,prependTarget){if(prepend){anchor.insertBefore(child,prependTarget)}else{anchor.appendChild(child)}return evalScripts(child)}luda$1.include({insertAfter:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target.nextSibling)})});return this}});luda$1.include({after:function(){var argReverse,handler,self;self=this;argReverse=[].reverse.apply(arguments);handler=function(selector){var els;els=luda$1(selector).els.slice().reverse();return luda$1(els).insertAfter(self)};[].forEach.call(argReverse,handler);return this}});function insertContent(parent,child,prepend){return parent.forEach(function(p,parentIndex){return child.forEach(function(c){var childToBeInserted;childToBeInserted=parentIndex?clone(c,true,true):c;return insertElement(p,childToBeInserted,prepend,prepend&&p.firstChild)})})}luda$1.include({appendTo:function(selector){insertContent(luda$1(selector).els,this.els);return this}});luda$1.include({append:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els)};[].forEach.call(arguments,handler);return this}});luda$1.include({insertBefore:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target)})});return this}});luda$1.include({before:function(){var handler,self;self=this;handler=function(selector){return luda$1(selector).insertBefore(self)};[].forEach.call(arguments,handler);return this}});luda$1.include({clone:function(cacheAndEvents,deep){var collection;if(deep===void 0){deep=cacheAndEvents}collection=this.els.map(function(el){return clone(el,cacheAndEvents,deep)});return luda$1(collection)}});luda$1.include({detach:function(){this.els.forEach(function(el){var parent;if(parent=el.parentNode){return parent.removeChild(el)}});return this}});function clean$1(ctx){return findAll("*",ctx).forEach(function(el){removeEvent$1(el);return clean(el)})}luda$1.include({empty:function(){this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=""});return this}});luda$1.include({html:function(html){if(html===void 0&&this.els.length){return this.els[0].innerHTML}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.innerHTML=html});return this}});luda$1.include({prependTo:function(selector){insertContent(luda$1(selector).els,this.els.reverse(),true);return this}});luda$1.include({prepend:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els,true)};[].forEach.call(arguments,handler);return this}});luda$1.include({remove:function(){this.els.forEach(function(el){var parent;clean$1(el);if(parent=el.parentNode){return parent.removeChild(el)}});return this}});luda$1.include({replaceWith:function(selector){return this.before(selector).remove()}});luda$1.include({replaceAll:function(selector){luda$1(selector).replaceWith(this);return this}});luda$1.include({text:function(text){if(text===void 0){if(this.els[0]){return this.els[0].textContent}else{return""}}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=text});return this}});luda$1.include({unwrap:function(){this.parent().els.forEach(function(el){var collection;collection=luda$1(el);return collection.replaceWith(collection.children())});return this}});luda$1.include({wrapAll:function(selector){var structure,wrapper;if(!this.els.length){return this}structure=luda$1(selector);this.first().before(structure);wrapper=structure.els[0];while(wrapper.children.length){wrapper=wrapper.firstElementChild}return this.appendTo(wrapper)}});luda$1.include({contents:function(){var all;all=[];this.els.forEach(function(el){var content;if(el.tagName==="IFRAME"){content=[el.contentDocument]}else{content=el.childNodes}return[].push.apply(all,content)});return luda$1(unique(all))}});luda$1.include({wrapInner:function(selector){this.els.forEach(function(el){var contents,target;target=luda$1(el);contents=target.contents();if(contents.els.length){return contents.wrapAll(selector)}else{return target.append(selector)}});return this}});luda$1.include({wrap:function(selector){this.els.forEach(function(el,index){var wrapper;wrapper=luda$1(selector).els[0];return luda$1(el).wrapAll(index?clone(wrapper,true,true):wrapper)});return this}});luda$1.include({matches:function(selector){if(!this.els.length){return false}if(!selector){return false}return this.els.some(function(el){return matches(el,selector)})}});var Mixin;var Mixin$1=Mixin=class Mixin{constructor(conf){this.conf=conf}get(key){return this.conf[key]}all(){return Object.assign({},this.conf)}only(keys){var picked;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}keys.forEach(k=>{if(k in this.conf){return picked[k]=this.conf[k]}});return picked}except(keys){var k,picked,ref,v;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}ref=this.conf;for(k in ref){v=ref[k];if(!keys.includes(k)){picked[k]=v}}return picked}alias(newName,name){var k,picked,v;picked={};if(arguments.length===1&&Type.isObject(newName)){for(k in newName){v=newName[k];if(v in this.conf){picked[k]=this.conf[v]}}}else{if(name in this.conf){picked[newName]=this.conf[name]}}return picked}};var get,mount,named,unmount;named={};mount=createMounter(named,"mixing");unmount=function(name){return delete named[name]};get=function(name){return named[name]||{}};luda$1.extend({mixin:function(name,conf){var mixin;if(arguments.length===1){if(Type.isString(name)){return get(name)}else{return new Mixin$1(conf)}}else{if(conf===null){unmount(name);return this}else{mixin=new Mixin$1(conf);mount(name,mixin);return this}}}});luda$1.mixin.named=named;luda$1.include({offsetParent:function(){return luda$1(this.els[0]&&this.els[0].offsetParent)}});luda$1.include({offset:function(){var docEl,el,rect;el=this.els[0];if(!el){return}docEl=document.documentElement;rect=el.getBoundingClientRect();return{top:rect.top+window.pageYOffset-docEl.clientTop,left:rect.left+window.pageXOffset-docEl.clientLeft}}});luda$1.include({position:function(){var el;el=this.els[0];if(!el){return}return{left:el.offsetLeft,top:el.offsetTop}}});luda$1.include({prop:function(prop,value){var key,val;if(!prop){return}if(Type.isString(prop)){if(arguments.length<2){return this.els[0]&&this.els[0][prop]}this.els.forEach(function(el){return el[prop]=value});return this}for(key in prop){val=prop[key];this.prop(key,val)}return this}});luda$1.include({removeProp:function(prop){var props;props=splitValues(prop);if(!props.length){return this}this.els.forEach(function(el){return props.forEach(function(p){return delete el[p]})});return this}});luda$1.include({reflow:function(){this.els.forEach(function(el){return el.offsetHeight});return this}});function getDurations(style,propertyLength){var durationArray;durationArray=style.split(",");while(durationArray.length<propertyLength){durationArray=durationArray.concat(durationArray)}if(durationArray.length>propertyLength){durationArray=durationArray.slice(0,propertyLength)}return durationArray.map(function(durationStr){var duration;duration=parseFloat(durationStr);if(!duration){return 0}if(durationStr.match("ms")){return duration}else{return duration*1e3}})}luda$1.include({transitionDuration:function(){var delays,durations,el,finalDurations,length,styles;if(!(el=this.els[0])){return}styles=window.getComputedStyle(el);length=styles.transitionProperty.split(",").length;if(!length){return 0}delays=getDurations(styles.transitionDelay,length);durations=getDurations(styles.transitionDuration,length);finalDurations=durations.map(function(duration,index){return duration+delays[index]});return Math.max.apply(null,finalDurations)}});luda$1.include({closest:function(comparator){var filtered;if(!comparator||!this.els.length){return luda$1()}filtered=this.filter(comparator);if(filtered.els.length){return filtered}return this.parent().closest(comparator)}});luda$1.include({next:function(comparator,_all){return luda$1(collect(unique(pluck(this.els,"nextElementSibling",_all)),comparator))}});luda$1.include({nextAll:function(comparator){return this.next(comparator,true)}});luda$1.include({prev:function(comparator,_al){return luda$1(collect(unique(pluck(this.els,"previousElementSibling",_al)),comparator))}});luda$1.include({prevAll:function(comparator){return this.prev(comparator,true)}});luda$1.include({siblings:function(comparator){var all;all=[];this.els.forEach(function(el){var sibs;sibs=luda$1(el).parent().children(function(child){return child!==el}).els;return[].push.apply(all,sibs)});return luda$1(collect(unique(all),comparator))}});luda.mixin("disable",{disableCreate:function(){var dataAttr,ref,rootEl,tabIndex;rootEl=this.root.els[0];tabIndex=rootEl.tabIndex;dataAttr=this.data.disable.tabIndex;if(!this.root.hasData(dataAttr)){this.root.data(dataAttr,tabIndex)}rootEl.tabIndex=-1;return rootEl[((ref=this.attr)!=null?ref.disable:void 0)||"disabled"]=true},disableDestroy:function(){var ref,rootEl;rootEl=this.root.els[0];rootEl.tabIndex=this.root.data(this.data.disable.tabIndex);return rootEl[((ref=this.attr)!=null?ref.disable:void 0)||"disabled"]=false}});luda.component("disabled","[disabled]").protect({data:{disable:{tabIndex:"data-disabled_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("enter",document).protect({data:{enable:"enter"},selectors:["input[type=checkbox]","input[type=radio]","[tabindex]"],trigger:function(e){if(this.html.data(this.data.enable)===false){return}if(!luda(e.target).matches(this.selectors.join(","))){return}e.preventDefault();return setTimeout(function(){return e.target.click()})}}).help({listen:function(){return[["keydown@enter",this.trigger]]}});var Focus;Focus=luda.component("focus",document).protect({cls:{focus:"focus"},data:{enable:"focus"},selector:{focused:".focus",always:["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])","[contenteditable]","[contenteditable=true]"],nested:["select","[contenteditable]","[contenteditable=true]"],touch:"input[type=range]"},disabled:function(){return this.html.data(this.data.enable)===false},addClass:function(node){if(this.disabled()){return}return this.focused.els.concat(node).forEach(el=>{var addable;addable=el===node&&el!==this.html.els[0]&&el!==this.body.els[0];return luda(el).toggleClass(this.cls.focus,addable)})},cacheEvt:function(e){if(this.disabled()||e.target.disabled){return}return this.evtTriggeredFocus=e.type},focus:function(e){var evt,node,parent,target;if(this.disabled()||(node=e.target).disabled){return}(evt=this.evtTriggeredFocus)&&delete this.evtTriggeredFocus;if(evt&&/key/.test(evt)){target=node}else if(luda(node).matches(this.selector.always.join(","))){target=node}else if(luda(node).matches(this.selector.nested.join(" *,"))){parent=this.selector.nested.join(",");e.eventPath().some(function(el){return luda(el).matches(parent)&&(target=el)})}return this.addClass(target)},blur:function(e){if(this.disabled()){return}return luda(e.target).toggleClass(this.cls.focus,false)}}).help({find:function(){return{focused:this.selector.focused}},listen:function(){return[["keydown keyup touchstart mousedown",this.cacheEvt],["mousedown focusin",this.focus],["touchstart",this.selector.touch,this.focus],["focusout",this.blur]]}});luda.include({focus:function(addClass,preventScroll){var el,ins;if(!(el=this.els[0])){return}ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}if(!luda.isBool(addClass)){addClass=true}if(!luda.isBool(preventScroll)){preventScroll=false}addClass&&ins.addClass(el);el.focus({preventScroll:preventScroll});return this},blur:function(){var ins;ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}this.els.forEach(function(el){return el.blur()});return this}});luda.component("readonly","[readonly]").protect({attr:{disable:"readonly"},data:{disable:{tabIndex:"data-readonly_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("tabulate",document).protect({selector:"input[type=radio]:not([disabled])",data:{tabulate:"tabulate"},findSiblings:function(radio){var index,name,radios,selector;selector=this.selector;if(name=radio.name){selector=`${selector}[name=${name}]`}radios=luda(selector).els.filter(function(el){return el.tabIndex>=0});index=radios.indexOf(radio);return{prev:radios[index-1],next:radios[index+1]}},trigger:function(e){var next,prev;if(this.html.data(this.data.tabulate)===false){return}if(e.shiftKey){if(prev=this.findSiblings(e.target).prev){e.preventDefault();return prev.focus()}}else{if(next=this.findSiblings(e.target).next){e.preventDefault();return next.focus()}}}}).help({listen:function(){return[["keydown@tab",this.selector,this.trigger]]}});luda.mixin("toggleable",{toggleableActivate:function(){var evt;if(this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.activate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableDeactivating);delete this.toggleableDeactivating;this.root.addClass(this.cls.toggleable.active);this.toggleableActivating=setTimeout(()=>{delete this.toggleableActivating;return this.toggleableTarget.trigger(this.evt.toggleable.activated)},this.toggleableTarget.transitionDuration());return true},toggleableDeactivate:function(){var evt;if(!this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.deactivate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableActivating);delete this.toggleableActivating;this.root.removeClass(this.cls.toggleable.active);this.toggleableDeactivating=setTimeout(()=>{delete this.toggleableDeactivating;return this.toggleableTarget.trigger(this.evt.toggleable.deactivated)},this.toggleableTarget.transitionDuration());return true},toggleableToggle:function(force){if(force===true){return this.toggleableActivate()}if(force===false){return this.toggleableDeactivate()}if(this.toggleableActive()){return this.toggleableDeactivate()}else{return this.toggleableActivate()}},toggleableActive:function(){return this.root.hasClass(this.cls.toggleable.active)},toggleableTransitioning:function(){return"toggleableActivating"in this||"toggleableDeactivating"in this},toggleableTriggerable:function(e){var evtPath,index,ref,ref1,toggleAttr,trigger;if(this.toggleableTransitioning()){return}if(/key/.test(e.type)){return true}if(!this.root.els[0].contains(e.target)){return true}trigger=(ref=this.default)!=null?(ref1=ref.toggleable)!=null?ref1.trigger:void 0:void 0;toggleAttr=this.data.toggleable.trigger;if(!toggleAttr){return trigger}evtPath=e.eventPath();index=evtPath.indexOf(this.root.els[0])+1;evtPath.slice(0,index).some(function(el){var ins;ins=luda(el);if(!ins.hasData(toggleAttr)){return}trigger=ins.data(toggleAttr)!==false;return true});return trigger},toggleableFocusOpener:function(e){var ins;if(this.toggleableActive()){return this.toggleableFocused=document.activeElement}if(!this.toggleableFocused){return}if("focus"in(ins=luda(this.toggleableFocused))){return ins.focus(!e.detail,e.detail)}else{return this.toggleableFocused.focus({preventScroll:e.detail})}},toggleableActivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableActivate())){return}this.toggleableFocusOpener(e);return true},toggleableDeactivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableDeactivate())){return}this.toggleableFocusOpener(e);return true},toggleableToggleOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableToggle())){return}this.toggleableFocusOpener(e);return true},toggleableCreate:function(){var dataAttr,evt,interruption;dataAttr=this.data.toggleable.interruption;if(!(interruption=this.root.data(dataAttr))){return}evt=this.evt.toggleable[interruption];this.root.removeData(dataAttr);return this.toggleableTarget.trigger(evt)},toggleableDestroy:function(){var interruption;if("toggleableActivating"in this){interruption="activated";clearTimeout(this.toggleableActivating)}else if("toggleableDeactivating"in this){interruption="deactivated";clearTimeout(this.toggleableDeactivating)}return interruption&&this.root.data(this.data.toggleable.interruption,interruption)},toggleableFind:function(){var ref,ref1,target;target=(ref=this.selector)!=null?(ref1=ref.toggleable)!=null?ref1.target:void 0:void 0;return{toggleableTarget:target||function(){return this.root}}}});luda.component("toggle","[data-toggle-target]").protect({cls:{toggleable:{active:"toggle-active"}},data:{target:"data-toggle-target",for:"data-toggle-for",auto:"data-toggle-auto-deactivate",toggleable:{interruption:"data-toggle_interruption",trigger:"data-toggleable"}},default:{autoDuration:3e3},evt:{toggleable:{activate:"luda:toggle:activate",activated:"luda:toggle:activated",deactivate:"luda:toggle:deactivate",deactivated:"luda:toggle:deactivated"}}}).include({activate:function(){if(!this.toggleableActivate()){return}return this.toggleAutoState()},deactivate:function(){if(!this.toggleableDeactivate()){return}return this.toggleAutoState()},toggle:function(force){if(!this.toggleableToggle(force)){return}return this.toggleAutoState()}}).protect(luda.mixin("toggleable").all()).protect({toggleAutoState:function(){if(!this.root.hasData(this.data.auto)){return}if(this.toggleableActive()){return this.auto=setTimeout(()=>{delete this.auto;return this.deactivate()},this.root.data(this.data.auto)||this.default.autoDuration)}else{clearTimeout(this.auto);return delete this.auto}},toggleOnEvent:function(e){if(!this.toggleableToggleOnEvent(e)){return}return this.toggleAutoState()}}).help({find:function(){return this.toggleableFind()},create:function(){this.toggleableCreate();return this.toggleAutoState()},destroy:function(){this.toggleableDestroy();return"auto"in this&&clearTimeout(this.auto)},listen:function(){var self;self=this;return[["click",this.toggleOnEvent],["click",`[${this.data.for}]`,function(e){var name;name=luda(this).data(self.data.for);return self.con.each(function(ins){if(ins.root.data(self.data.target)!==name){return}ins.toggleOnEvent(e);return true})}]]}});var listened,quene;listened=false;quene=[];luda.mixin("resetable",{listen:function(fn){var pushed;pushed=quene.some(it=>{return it.Component===this.con});if(!pushed){quene.push({Component:this.con,reset:fn})}if(listened){return}listened=true;return luda(document).on("reset.MixinResetable",function(e){if(e.isDefaultPrevented()){return}return setTimeout(function(){return quene.forEach(function(it){return it.Component.each(function(ins,rootEl){e.target.contains(rootEl)&&it.reset.call(ins);return true})})})})}});luda.component("fmFile").protect({selector:{root:".fm-file",file:"input[type=file]",simulator:"input:not([type=file])"},splitor:" "}).protect({insertSimulator:function(){var simulator;if(this.simulator.length){return}simulator=luda("<input>");simulator.els[0].tabIndex=-1;return simulator.insertAfter(this.file)},updatePlaceholder:function(){var placeholder;if(!(placeholder=this.file.attr("placeholder"))){return}return this.simulator.attr("placeholder",placeholder)},updateValue:function(){var value,values;values=Array.from(this.file.els[0].files).map(function(f){return f.name});value=values.join(this.splitor)||this.file.attr("value")||"";return this.simulator.attr("value",value)},tryReset:function(target,oldVal){if(this.file.attr("value")!==""){return}this.file.els[0].value="";return this.file.attr("value",oldVal)}}).help({find:function(){return{file:this.selector.file,simulator:this.selector.simulator}},watch:function(){return{attr:[["value",this.selector.file,this.tryReset,this.updateValue]]}},create:function(){this.insertSimulator();this.updatePlaceholder();return this.updateValue()},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.file,this.updateValue]]}});luda.component("fmSelect").protect({selector:{select:"select",options:"option",simulator:"input"},data:{default:"data-fm-select_default-selected",defaultMarked:"data-fm-select_default-marked"}}).protect({tryEmpty:function(){var select,selected;select=this.select.els[0];selected=Array.from(select.options).some(function(o){return luda(o).hasAttr("selected")});return!selected&&(select.selectedIndex=-1)},markSelected:function(markDefault){markDefault=markDefault===true;if(markDefault&&this.root.hasData(this.data.defaultMarked)){return}if(markDefault){this.root.data(this.data.defaultMarked,"")}return Array.from(this.select.els[0].options).forEach(o=>{var option,val;option=luda(o);if(markDefault){val=option.hasAttr("selected")?"":null;return option.data(this.data.default,val)}else{val=o.selected?"":null;return option.attr("selected",val)}})},initSimulator:function(){var simulator;if(this.select.els[0].multiple){return this.simulator.remove()}if(this.simulator.length){return}simulator=luda("<input>");simulator.els[0].tabIndex=-1;simulator.insertAfter(this.select);this.updatePlaceholder();return this.updateValue()},updatePlaceholder:function(){if(this.select.els[0].multiple){return}return this.simulator.attr("placeholder",this.select.attr("placeholder"))},updateValue:function(){var select,selected,val;select=this.select.els[0];if(select.multiple){return}selected=select.options[select.selectedIndex];val=selected?luda(selected).text():"";return this.simulator.attr("value",val)},reset:function(){this.select.els[0].selectedIndex=-1;Array.from(this.select.els[0].options).forEach(o=>{return o.selected=luda(o).hasData(this.data.default)});return this.markSelected()}}).help({find:function(){return{select:this.selector.select,simulator:this.selector.simulator}},create:function(){this.tryEmpty();this.markSelected(true);return this.initSimulator()},watch:function(){return{dom:[[this.selector.options,this.tryEmpty,this.updateValue]],attr:[["selected",this.selector.options,this.updateValue],["multiple",this.selector.select,this.initSimulator]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.reset);return[["change",this.selector.select,this.markSelected]]}});luda.mixin("tabable",{tabableActivate:function(index){var direction;if(!luda.isNumeric(index)){return}direction=index<this.tabableActiveIndex()?"prev":"next";return this.tabableSlide(index,direction)},tabableNext:function(){var index;index=this.tabableActiveIndex()+1;if(index>=this.tabableTargets.length){if(!this.tabableWrapable()){return}index=0}return this.tabableSlide(index,"next")},tabablePrev:function(){var index;index=this.tabableActiveIndex()-1;if(index<0){if(!this.tabableWrapable()){return}index=this.tabableTargets.length-1}return this.tabableSlide(index,"prev")},tabableLayout:function(){this.tabableTargets.els.forEach((it,index)=>{var activeCls,isActive,item,nextCls,prevCls;item=luda(it);if((activeCls=this.cls.tabable.active)&&item.hasClass(activeCls)){return}if((nextCls=this.cls.tabable.next)&&item.hasClass(nextCls)){return}if((prevCls=this.cls.tabable.prev)&&item.hasClass(prevCls)){return}isActive=index===this.tabableActiveIndex();item.css("transition","none").toggleClass(activeCls,isActive).toggleClass(prevCls,index<this.tabableActiveIndex()).toggleClass(nextCls,index>this.tabableActiveIndex()).reflow().css("transition","");return isActive&&item.trigger(this.evt.tabable.activated)});this.tabableSetIndicatorsState();return this.tabableSetDirectionCtrlsState()},tabableSlide:function(index,direction){var activateEvt,activated,activatedIndex,activeCls,deactivateEvt,directionCls,item,oppsite,oppsiteCls;if(!luda.isNumeric(index)){return}if(index===(activatedIndex=this.tabableActiveIndex())){return}if(index<0||index>=this.tabableTargets.length){return}item=this.tabableTargets.eq(index);activated=this.tabableTargets.eq(activatedIndex);activateEvt=item.trigger(this.evt.tabable.activate,null,true)[0];if(activateEvt.isDefaultPrevented()){return}deactivateEvt=activated.trigger(this.evt.tabable.deactivate,null,true)[0];if(deactivateEvt.isDefaultPrevented()){return}oppsite=direction==="next"?"prev":"next";directionCls=this.cls.tabable[direction];oppsiteCls=this.cls.tabable[oppsite];activeCls=this.cls.tabable.active;item.css("transition","none").addClass(directionCls).removeClass(oppsiteCls).reflow().css("transition","").addClass(activeCls).removeClass(directionCls);activated.addClass(oppsiteCls).removeClass(activeCls);this.tabableActivating=setTimeout(()=>{delete this.tabableActivating;return item.trigger(this.evt.tabable.activated)},item.transitionDuration());this.tabableDeactivateIndex=activatedIndex;this.tabableDeactivating=setTimeout(()=>{delete this.tabableDeactivating;delete this.tabableDeactivateIndex;return activated.trigger(this.evt.tabable.deactivated)},activated.transitionDuration());this.tabableSetIndicatorsState();this.tabableSetDirectionCtrlsState();return true},tabableActiveIndex:function(){var index,ref,ref1;index=((ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0)||0;this.tabableTargets.els.some((it,i)=>{if(!luda(it).hasClass(this.cls.tabable.active)){return false}index=i;return true});return index},tabableWrapable:function(){var ref,ref1,wrapAttr,wrapable;wrapAttr=this.data.tabable.wrap;if(!wrapAttr){return false}wrapable=this.root.data(wrapAttr);if(wrapable===false){return false}return(ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.wrap:void 0:void 0},tabableTransitioning:function(){return"tabableActivating"in this||"tabableDeactivating"in this},tabableSetIndicatorsState:function(){return this.tabableIndicators.els.forEach((it,index)=>{var activeCls,val;activeCls=this.cls.tabable.indicatorActive;val=index===this.tabableActiveIndex();return luda(it).toggleClass(activeCls,val)})},tabableSetDirectionCtrlsState:function(){var index,maxIndex,minIndex,nextCtrl,nextDis,prevCtrl,prevDis;prevCtrl=this.tabablePrevCtrl;nextCtrl=this.tabableNextCtrl;if(!(prevCtrl||nextCtrl)){return}if(this.tabableTargets.length<=1){prevDis=nextDis=""}else if(this.tabableWrapable()){prevDis=nextDis=null}else{index=this.tabableActiveIndex();minIndex=0;maxIndex=this.tabableTargets.length-1;prevDis=index===minIndex?"":null;nextDis=index===maxIndex?"":null}prevCtrl&&prevCtrl.attr("disabled",prevDis);return nextCtrl&&nextCtrl.attr("disabled",nextDis)},tabableActivateOnEvent:function(e){var index,ref,ref1;if(this.tabableTransitioning()){return}index=(ref=e.detail)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0;if(index==null){index=this.tabableIndicators.els.indexOf(e.currentTarget)}return this.tabableActivate(index)},tabablePrevOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabablePrev()}},tabableNextOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabableNext()}},tabableDestroy:function(){var interruption;if("tabableActivating"in this){clearTimeout(this.tabableActivating);interruption={activate:this.tabableActiveIndex()}}if("tabableDeactivating"in this){clearTimeout(this.tabableDeactivating);interruption||(interruption={});interruption.deactivateIndex=this.tabableDeactivateIndex}return this.root.data(this.data.tabable.interruption,interruption)},tabableCreate:function(){var activate,dataAttr,deactive,interruption;this.tabableLayout();dataAttr=this.data.tabable.interruption;if(!(interruption=this.root.data(dataAttr))){return}if((activate=interruption.activated)!=null){this.tabableTargets.eq(activated).trigger(this.evt.tabable.activated)}if((deactive=interruption.deactivated)!=null){this.tabableTargets.eq(deactivated).trigger(this.evt.tabable.deactivated)}return this.root.removeData(dataAttr)},tabableFind:function(){var conf,nextCtrl,prevCtrl;conf={tabableTargets:this.selector.tabable.targets,tabableIndicators:this.selector.tabable.indicators};if(prevCtrl=this.selector.tabable.prevCtrl){conf.tabablePrevCtrl=prevCtrl}if(nextCtrl=this.selector.tabable.nextCtrl){conf.tabableNextCtrl=nextCtrl}return conf},tabableWatch:function(){var attr,wrapAttr;attr=[];wrapAttr=this.data.tabable.wrap;wrapAttr&&attr.push([wrapAttr,this.tabableSetDirectionControlState]);return{attr:attr,dom:[[this.selector.tabable.targets,this.tabableLayout],[this.selector.tabable.indicators,this.tabableSetIndicatorsState]]}},tabableListen:function(){var listeners,nextCtrl,prevCtrl;listeners=[["click",this.selector.tabable.indicators,this.tabableActivateOnEvent]];if(prevCtrl=this.selector.tabable.prevCtrl){listeners.push(["click",prevCtrl,this.tabablePrevOnEvent])}if(nextCtrl=this.selector.tabable.nextCtrl){listeners.push(["click",nextCtrl,this.tabableNextOnEvent])}return listeners}});luda.component("carousel").protect({cls:{tabable:{active:"carousel-item-active",indicatorActive:"btn-active",prev:"carousel-item-prev",next:"carousel-item-next"}},data:{interval:"carousel-interval",tabable:{interruption:"data-carousel_interruption",wrap:"data-carousel-wrap"}},default:{interval:5e3,tabable:{activeIndex:0,wrap:true}},evt:{tabable:{activate:"luda:carousel:activate",activated:"luda:carousel:activated",deactivate:"luda:carousel:deactivate",deactivated:"luda:carousel:deactivated"}},selector:{tabable:{targets:".carousel-item",indicators:".carousel-indicators .btn",prevCtrl:".carousel-prev",nextCtrl:".carousel-next"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate",next:"tabableNext",prev:"tabablePrev"})).include({pause:function(){if(!("intervaling"in this)){return}clearTimeout(this.intervaling);delete this.intervaling;this.nextInterval-=Date.now()-this.playAt;if(this.nextInterval<=10){this.nextInterval=void 0}return this.pauseIndex=this.tabableActiveIndex()},play:function(){var handler;if("intervaling"in this){return}if(!this.interval()){return}this.playAt=Date.now();if(this.pauseIndex!==this.tabableActiveIndex()){this.nextInterval=this.interval()}handler=(()=>{this.tabableNext();this.playAt=Date.now();this.nextInterval=this.interval();return this.intervaling=setTimeout(handler,this.interval())});return this.intervaling=setTimeout(handler,this.nextInterval)}}).protect(luda.mixin("tabable").all()).protect({interval:function(){var duration;duration=this.root.data(this.data.interval);if(duration===false){return false}return Math.abs(parseInt(duration,10))||this.default.interval},touchendPlay:function(){return setTimeout(()=>{return this.play()})}}).help({find:function(){return this.tabableFind()},create:function(){this.tabableCreate();return this.play()},destroy:function(){this.pause();return this.tabableDestroy()},watch:function(){var watches;watches=this.tabableWatch();watches.attr.push([this.data.interval,this.pause,this.play]);return watches},listen:function(){return this.tabableListen().concat([["swipeleft",this.tabableNextOnEvent],["swiperight",this.tabablePrevOnEvent],["touchstart mouseover",this.pause],["mouseout",this.play],["touchend",this.touchendPlay]])}});luda.component("dropdown",".dropdown-absolute, .dropdown-static, .dropdown-fixed, .dropdown-static-m").protect({cls:{toggleable:{active:"dropdown-active"}},data:{standalone:"data-dropdown-standalone",toggleable:{interruption:"data-dropdown_interruption",trigger:"data-dropdownable"}},default:{toggleable:{trigger:true}},evt:{toggleable:{activate:"luda:dropdown:activate",activated:"luda:dropdown:activated",deactivate:"luda:dropdown:deactivate",deactivated:"luda:dropdown:deactivated"}},selector:{items:"a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled]), area[href]:not([disabled]),iframe:not([disabled])",toggleable:{target:".dropdown-menu"}}}).include(luda.mixin("toggleable").alias({activate:"toggleableActivate",deactivate:"toggleableDeactivate",toggle:"toggleableToggle"})).protect(luda.mixin("toggleable").all()).protect({parent:function(){var rootEl;rootEl=this.parentRoot.els[0];if(rootEl){return this.con.create(rootEl)[0]}else{return null}},escDeactivate:function(e){var parent;if(this.toggleableActive()){return this.toggleableDeactivateOnEvent(e)}else if(parent=this.parent()){return parent.escDeactivate(e)}},prevItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)-1;if(index<0){index=0}return items[index].focus()}else if(parent=this.parent()){return parent.prevItem(e)}},nextItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)+1;if(index>=items.length){index=items.length-1}return items[index].focus()}else if(parent=this.parent()){return parent.nextItem(e)}}}).help({find:function(){return Object.assign(this.toggleableFind(),{parentRoot:function(){return this.root.parent(this.con.root)},items:function(){var menu,self;self=this;menu=this.toggleableTarget;return menu.find(this.selector.items).filter(function(el){var parentMenu;parentMenu=luda(el).parent(self.selector.toggleable.target);return parentMenu.els[0]===menu.els[0]})}})},listen:function(){var self;self=this;return[["click",this.toggleableToggleOnEvent],["keyup@tab",this.toggleableActivateOnEvent],["keydown@esc&prevent",this.escDeactivate],["keydown@left@up&prevent",this.prevItem],["keydown@right@down&prevent",this.nextItem],["click keyup@tab",function(e){var exceptions;exceptions=[];e.eventPath().forEach(function(el){return self.con.contains(el)&&exceptions.push(el)});return self.con.each(function(ins,rootEl){var isExcepted,isStandalone;isExcepted=exceptions.includes(rootEl);isStandalone=ins.root.hasData(self.data.standalone);!isExcepted&&!isStandalone&&ins.deactivate();return true})}]]}});luda.component("fmDropdown").protect({selector:{options:".dropdown-items .btn-radio input, .dropdown-items .btn-check input",labels:".dropdown-items .btn-radio label, .dropdown-items .btn-check label",simulator:".fm input"},data:{label:"fm-dropdown-label"},splitor:" "}).protect({disableSimulator:function(){return this.simulator.data("auto",false).attr("readonly","")},updateValue:function(){var values;values=[];this.options.els.forEach((input,index)=>{var label,value;if(!input.checked){return}label=luda(this.labels.els[index]);value=label.data(this.data.label)||label.text();if(value&&!values.includes(value)){return values.push(value)}});return this.simulator.attr("value",values.join(this.splitor))},triggerClick:function(){return this.simulator.trigger("click")}}).help({find:function(){return{options:this.selector.options,labels:this.selector.labels,simulator:this.selector.simulator}},create:function(){this.disableSimulator();return this.updateValue()},watch:function(){return{dom:[[this.selector.options,this.updateValue]],attr:[["checked",this.selector.options,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.options,this.updateValue],["keydown@enter",this.selector.simulator,this.triggerClick]]}});luda.component("tab").protect({cls:{tabable:{active:"tab-pane-active",indicatorActive:"btn-active"}},data:{tabable:{interruption:"data-tab_interruption"}},evt:{tabable:{activate:"luda:tab:activate",activated:"luda:tab:activated",deactivate:"luda:tab:deactivate",deactivated:"luda:tab:deactivated"}},selector:{tabable:{targets:".tab-pane",indicators:".tab-indicators .btn"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate"})).protect(luda.mixin("tabable").all()).help({find:function(){return this.tabableFind()},create:function(){return this.tabableCreate()},destroy:function(){return this.tabableDestroy()},watch:function(){return this.tabableWatch()},listen:function(){return this.tabableListen()}})});
6
+ (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var Type={isArray:Array.isArray,isString:function(x){return typeof x==="string"},isFunction:function(x){return typeof x==="function"},isObject:function(x){return typeof x==="object"},isBool:function(x){return typeof x==="boolean"},isNumeric:function(x){return!isNaN(parseFloat(x))&&isFinite(x)},isDecimalism:function(x){return/^\d*\.?\d+$/.test(x&&!/^0+\d+\.?/.test(x))},isId:function(x){return/^#[\w-]*$/.test(x)},isClass:function(x){return/^\.[\w-]*$/.test(x)},isTag:function(x){return/^\w+$/.test(x)},isSingleTag:function(x){return/^\s*<(\w+)\s*\/?>(?:<\/\1>)?\s*$/.test(x)},isHtml:function(x){return/<.+>/.test(x)},isScript:function(x){return x.tagName==="SCRIPT"&&/^$|^module$|\/(?:java|ecma)script/i.test(x.type)},isFragment:function(x){return/^\s*<(\w+)[^>]*>/.test(x)},isWindow:function(x){return x&&x===window},isDocument:function(x){return x&&x.nodeType===9},isElement:function(x){return x&&x.nodeType===1}};function createMounter(target,messagePrefix,handler){var mount;return mount=function(name,val){var msg,n,v;if(Type.isString(name)){if(name in target){msg=`Namespace '${name}' is occupied, `;msg+=`skip ${messagePrefix||"mounting"}.`;console.warn(msg)}else{target[name]=handler?handler(name,val):val}}else{for(n in name){v=name[n];mount(n,v)}}return this}}var getEnv;getEnv=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported environment!")};var environment=getEnv();function find(selector,ctx=document){if(!(Type.isDocument(ctx)||Type.isElement(ctx))){return[]}return Array.from(function(){switch(false){case!Type.isClass(selector):return ctx.getElementsByClassName(selector.slice(1));case!Type.isTag(selector):return ctx.getElementsByTagName(selector);default:return ctx.querySelectorAll(selector)}}())}var containers,containersMap;containersMap=null;containers=function(type){var div,table,tr;if(containersMap){return containersMap[type]||containersMap["*"]}div=document.createElement("div");table=document.createElement("table");tr=document.createElement("tr");containersMap={"*":div,thead:table,tbody:table,tfoot:table,tr:document.createElement("tbody"),th:tr,td:tr};return containers(type)};function parseHTML(html){var container;if(!Type.isString(html)){return[]}if(Type.isSingleTag(html)){return[document.createElement(RegExp.$1)]}container=containers(Type.isFragment(html&&RegExp.$1));container.innerHTML=html;return Array.from(container.childNodes).map(function(node){if(node.parentNode){return node.parentNode.removeChild(node)}})}var Luda,luda$1;Luda=class Luda{constructor(selector,ctx=document){this.els=[];this.length=0;if(!selector){return}if(selector instanceof Luda){return selector}this.els=function(){switch(false){case!Type.isString(selector):if(Type.isHtml(selector)){return parseHTML(selector)}else{if(ctx instanceof Luda){ctx=ctx.els[0]}return find(selector,ctx)}break;case!(selector.nodeType||Type.isWindow(selector)):return[selector];case!Type.isArray(selector):return selector;default:return Array.from(selector)}}();this.length=this.els.length}};if(!(luda$1=environment.luda)){environment.luda=luda$1=function(selector,ctx){return new Luda(selector,ctx)};luda$1.include=createMounter(Luda.prototype,"including");luda$1.extend=createMounter(luda$1,"extending")}var ValuesMap={false:false,true:true,Infinity:Infinity,NaN:0/0,null:void 0,undefined:void 0};function readValue(value){if(value===null||value==="null"){return}if(!Type.isString(value)){return value}try{return JSON.parse(value)}catch(error){if(Type.isDecimalism(value)){return Number(value)}else if(value in ValuesMap){return ValuesMap[value]}else{return value}}}function parseValue(value){if(!Type.isObject(value)){return value}try{return JSON.stringify(value)}catch(error){return value}}function splitValues(str){if(Type.isString(str)){return str.match(/\S+/g)||[]}else{return[]}}luda$1.include({each:function(callback){this.els.some(function(el,index){return callback.call(el,el,index)===false});return this}});luda$1.include({removeAttr:function(attr){var attrs;attrs=splitValues(attr);if(!attrs.length){return this}this.els.forEach(function(el){return attrs.forEach(function(att){return el.removeAttribute(att)})});return this}});luda$1.include({attr:function(attr,value){var key,val;if(!attr){return}if(Type.isString(attr)){if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeAttr(attr)}this.els.forEach(function(el){return el.setAttribute(attr,parseValue(value))});return this}if(!this.els[0]){return}return readValue(this.els[0].getAttribute(attr))}for(key in attr){val=attr[key];this.attr(key,val)}return this}});luda$1.include({hasAttr:function(attr){if(!attr){return false}return this.els.some(function(el){return el.hasAttribute(attr)})}});var pattern,replacer;pattern=/-([a-z])/g;replacer=function(match,letter){return letter.toUpperCase()};function camelCase(str){return str.replace(pattern,replacer)}var pattern$1,replacer$1;pattern$1=/([A-Z])/g;replacer$1=function(match,letter){return`-${letter.toLowerCase()}`};function dashCase(str){return`${str[0].toLowerCase()}${str.slice(1).replace(pattern$1,replacer$1)}`}function arrayEqual(a,b,compareOrder){if(!(a&&b)){return false}if(a===b){return true}if(a.length!==b.length){return false}if(a.length===0){return true}if(compareOrder){return a.every(function(it,index){return it===b[index]})}else{return!a.some(function(it){return!b.includes(it)})}}var guid;guid=0;function guid$1(){return guid+=1}function pluck(arr,prop,deep,filter){var plucked;plucked=[];if(!Type.isArray(arr)){arr=[arr]}arr.forEach(function(item){var results,val;val=item[prop];results=[];while(val!=null){if(filter){if(filter(val)){plucked.push(val);if(!deep){break}}}else{plucked.push(val);if(!deep){break}}results.push(val=val[prop])}return results});return plucked}function unique(arr){if(!(arr.length>1)){return arr}return arr.filter(function(item,index){return arr.indexOf(item)===index})}["isString","isFunction","isArray","isObject","isBool","isNumeric","isElement"].forEach(function(key){return luda$1.extend(key,Type[key])});luda$1.extend({arrayEqual:arrayEqual,camelCase:camelCase,dashCase:dashCase,guid:guid$1,pluck:pluck,unique:unique});var _cache,cache,cacheFactory,privateCache,publicCache;publicCache={};privateCache={};cacheFactory=function(cache){return function(guid,key,value){if(!guid){return cache}if(key===null){return delete cache[guid]}else if(value===null){if(!(guid in cache)){return}delete cache[guid][key];if(!Object.keys(cache[guid]).length){return delete cache[guid]}}else if(value===void 0){if(key===void 0){return cache[guid]}if(Type.isObject(key)){return cache[guid]=key}if(!(guid in cache)){return}return cache[guid][key]}else{if(key===void 0){return}cache[guid]||(cache[guid]={});return cache[guid][key]=value}}};cache=cacheFactory(publicCache);_cache=cacheFactory(privateCache);var expando="__luda_guid";var _access,access,accessFactory,clean;accessFactory=function(c){return function(owner,key,value){var uid;if(!arguments.length){return c()}uid=owner[expando]||(owner[expando]=guid$1());return c(uid,key,value)}};access=accessFactory(cache);_access=accessFactory(_cache);clean=function(owner){if(owner[expando]){_access(owner,null);return access(owner,null)}};luda$1.include({removeCache:function(key){var keys;if(arguments.length){keys=splitValues(key).map(function(k){return camelCase(k)});if(!keys.length){return this}this.els.forEach(function(el){return keys.forEach(function(k){return access(el,k,null)})})}else{this.els.forEach(function(el){return access(el,null)})}return this}});luda$1.extend({cache:function(isPrivate){if(isPrivate){return _access()}else{return access()}}});luda$1.include({cache:function(key,value){var k,v;if(!key){if(!this.els[0]){return}return access(this.els[0])||access(this.els[0],{})}if(Type.isString(key)){key=camelCase(key);if(arguments.length<2){if(!this.els[0]){return}if(!access(this.els[0])){access(this.els[0],{})}return access(this.els[0],key)}if(value===void 0){return this}if(value===null){return this.removeCache(key)}this.els.forEach(function(el){if(!access(el)){access(el,{})}return access(el,key,value)});return this}for(k in key){v=key[k];this.cache(k,v)}return this}});var parse,pattern$2;pattern$2=/^\./;parse=function(cls){if(Type.isString(cls)){return cls.replace(pattern$2,"")}else{return cls}};var parseClass=parse;luda$1.include({toggleClass:function(cls,force){var classes,isForce;classes=splitValues(cls);isForce=force!==void 0;if(!classes.length){return this}classes=classes.map(function(c){return parseClass(c)});this.els.forEach(function(el){return classes.forEach(function(c){if(isForce){if(force){return el.classList.add(c)}else{return el.classList.remove(c)}}else{return el.classList.toggle(c)}})});return this}});luda$1.include({addClass:function(cls){return this.toggleClass(cls,true)}});luda$1.include({hasClass:function(cls){if(!cls){return false}cls=parseClass(cls);return this.els.some(function(el){return el.classList.contains(cls)})}});luda$1.include({removeClass:function(cls){if(arguments.length){return this.toggleClass(cls,false)}else{return this.attr("class","")}}});luda$1.include({add:function(selector,context){return luda$1(unique(this.els.concat(luda$1(selector,context).els)))}});luda$1.include({get:function(index){if(index===void 0){return this.els}return this.els[index<0?index+this.els.length:index]}});luda$1.include({eq:function(index){return luda$1(this.get(index))}});function matches(el,selector){return el&&el.matches&&el.matches(selector)}function collect(els,comparator,oppsite){if(!comparator||!(els!=null?els.length:void 0)){return els}return els.filter(function(el,index){var match;match=function(){switch(false){case!Type.isString(comparator):return matches(el,comparator);case!Type.isFunction(comparator):return comparator.call(el,el,index);case!(comparator instanceof Luda):return comparator.els.includes(el);default:return el===comparator}}();if(oppsite){return!match}else{return match}})}luda$1.include({filter:function(comparator){if(!comparator){return luda$1()}return luda$1(collect(this.els,comparator))}});luda$1.include({first:function(){return this.eq(0)}});luda$1.include({has:function(selector){var comparator;if(Type.isString(selector)){comparator=function(el){return find(selector,el).length>0}}else{comparator=function(el){return el.contains(selector)}}return this.filter(comparator)}});luda$1.include({children:function(comparator){var all;all=[];this.els.forEach(function(el){return[].push.apply(all,el.children)});return luda$1(collect(unique(all),comparator))}});luda$1.include({parent:function(comparator){var plucked;if(comparator){plucked=pluck(this.els,"parentElement",false,function(p){return collect([p],comparator).length})}else{plucked=pluck(this.els,"parentNode")}return luda$1(unique(plucked))}});luda$1.include({index:function(selector){var child,collection;child=selector?luda$1(selector).els[0]:this.els[0];collection=selector?this.els:luda$1(child).parent().children().els;return collection.indexOf(child)}});luda$1.include({is:function(comparator){if(!comparator||!this.els.length){return false}return collect(this.els,comparator).length>0}});luda$1.include({last:function(){return this.eq(-1)}});luda$1.include({map:function(callback){var collection;collection=this.els.map(function(el,index){return callback.call(el,el,index)});return luda$1(collection)}});luda$1.include({not:function(comparator){if(!comparator||!this.els.length){return this}return luda$1(collect(this.els,comparator,true))}});luda$1.include({slice:function(){return luda$1([].slice.apply(this.els,arguments))}});luda$1.extend({ready:function(callback){var handler;if(document.readyState==="loading"){handler=function(){callback(luda$1);return document.removeEventListener("DOMContentLoaded",handler)};document.addEventListener("DOMContentLoaded",handler)}else{handler=function(){return callback(luda$1)};setTimeout(handler)}return this}});function findAll(selector,ctx){var all;all=find(selector,ctx);if(matches(ctx,selector)){all.push(ctx)}return all}var Components,autoCreateAndDestroy,autoable,config,disAutoSelector,observer;disAutoSelector="[data-auto=false]";Components=[];observer=null;config={childList:true,subtree:true,attributes:true};autoCreateAndDestroy=function(Component){if(Components.includes(Component)){return}Components.push(Component);if(observer){return}observer=new MutationObserver(function(mus){var attrNodes,nodes;nodes=[];attrNodes=[];mus.forEach(function(mu){nodes=nodes.concat(Array.from(mu.addedNodes)).concat(Array.from(mu.removedNodes));if(mu.type==="attributes"){return attrNodes.push(mu.target)}});nodes=unique(nodes);attrNodes=unique(attrNodes);return Components.forEach(function(C){var els;els=[];nodes.forEach(function(node){return els=els.concat(findAll(C.root,node))});unique(els).forEach(function(el){if(matches(el,disAutoSelector)){return}if(document.contains(el)){return C.create(el)}else{return C.destroy(el)}});return attrNodes.forEach(function(el){if(!Type.isElement(el)){return}if(matches(el,disAutoSelector)){return}if(matches(el,C.root)){return C.create(el)}else if(C.instances[el[expando]]){return C.destroy(el)}})})});observer.observe(document,config);return _access(document,"ComponentsAutomation",{Components:Components,watcher:observer})};autoable=function(selector){return`${selector}:not(${disAutoSelector})`};var print;print=function(msg,style){if(Type.isString(msg)){return console.log(`%c${msg}`,style)}return console.log(msg)};var print$1=print;var active,factory,infoStyle,prvLabelStyle,pubLabelStyle;active=false;pubLabelStyle="color:#0085ff;font-weight:bold";prvLabelStyle="color:#f8427f;font-weight:bold";infoStyle="color:#383838;font-weight:bold";factory=function(style,label){var log;return log=function(){var msg,time;if(!arguments.length){return active}if(arguments.length===1&&Type.isBool(arguments[0])){active=arguments[0];msg=`Luda log ${active?"opened":"closed"}.`;return log(msg)}if(!active){return}time=Date.now();print$1(`\n\n\n${label}LOG ${guid$1()} ${time}`,style.label);return Array.from(arguments).forEach(function(arg){return print$1(arg,style.info)})}};luda$1.extend("log",factory({info:infoStyle,label:pubLabelStyle},""));var log=factory({info:infoStyle,label:prvLabelStyle},"LUDA ");function eventPath(event){var path;if(event.composedPath){return event.composedPath()}else if(event.path){return event.path}else{path=[event.target];path=path.concat(pluck(path,"parentNode",true));if(document.contains(event.target)){path.push(window)}return path}}var LudaEvent;LudaEvent=class LudaEvent{constructor(event){this.originalEvent=event}isDefaultPrevented(){return this.originalEvent.defaultPrevented}isPropagationStopped(){return!this.originalEvent.bubbles||this._propagationStopped}isImmediatePropagationStopped(){return this._immediatePropagationStopped}preventDefault(){return this.originalEvent.preventDefault()}stopPropagation(){this.originalEvent.stopPropagation();return this._propagationStopped=true}stopImmediatePropagation(){this.originalEvent.stopImmediatePropagation();return this._immediatePropagationStopped=true}eventPath(){return eventPath(this.originalEvent)}};function ludaEvent(event){var ludaEvent;ludaEvent=new LudaEvent(event);return new Proxy(ludaEvent,{get:function(target,key){if(key in target){return target[key]}else{return target.originalEvent[key]}}})}function nMatches(definedNamespace,namespace){return namespace.every(function(n){return definedNamespace.includes(n)})}var Variables={expando:"event",focusEvents:{focus:"focusin",blur:"focusout"},hoverEvents:{mouseenter:"mouseover",mouseleave:"mouseout"},swipeEvents:{left:"swipeleft",right:"swiperight",up:"swipeup",down:"swipedown"},swipeDistance:10,keyCodes:{enter:13,tab:9,ctrl:17,alt:18,shift:16,esc:27,back:8,space:32,cap:20,up:38,down:40,left:37,right:39,del:46,end:35,home:36,ins:45,pgUp:33,pgDown:34}};function parseEventName(name){var keysRe,preventRe,stopRe;stopRe=/(&stop)+/gi;preventRe=/(&prevent)+/gi;keysRe=new RegExp(`@(${Object.keys(Variables.keyCodes).join("|")})`,"g");return splitValues(name).map(function(n){var evtName,keyCodes,matchedKeys,preventDefault,splited,stopPropagation,type;stopPropagation=stopRe.test(n);preventDefault=preventRe.test(n);splited=n.replace(stopRe,"").replace(preventRe,"").replace(keysRe,"").split(".");evtName=splited[0];type=Variables.focusEvents[evtName]||Variables.hoverEvents[evtName]||evtName;keyCodes=[];matchedKeys=n.match(keysRe);matchedKeys&&matchedKeys.forEach(function(key){var k,keyCode;k=key.replace(/@/g,"");if(keyCode=Variables.keyCodes[k]){return keyCodes.push(keyCode)}});return{type:type,stop:stopPropagation,prevent:preventDefault,namespace:splited.slice(1),key:keyCodes}})}luda$1.include({trigger:function(name,detail,afterTrigger){var handledEvts;if(afterTrigger&&!Type.isFunction(afterTrigger)){handledEvts=[]}this.els.forEach(function(el){var events;if(Type.isString(name)){events=parseEventName(name).map(function(evt){var event;event=new CustomEvent(evt.type,{bubbles:true,cancelable:true,composed:true,detail:detail});event.namespace=evt.namespace;return event})}else{events=Type.isArray(name)?name:[name]}return events.forEach(function(e){var isFocusEvent;e.ludaEvent=ludaEvent(e);isFocusEvent=Object.values(Variables.focusEvents).includes(e.type);if(isFocusEvent&&Type.isFunction(el[e.type])){el[e.type]()}else{el.dispatchEvent(e)}if(Type.isFunction(afterTrigger)){return afterTrigger(e.ludaEvent,e.ludaEvent.detail,el)}else if(afterTrigger){return handledEvts.push(e.ludaEvent)}})});return handledEvts||this}});var createEvent,startX,startY,touchMoveHandler,touchStartHandler,triggered;startX=startY=0/0;triggered=false;touchStartHandler=function(e){if(e.defaultPrevented){return}if(e.touches.length!==1){return}startX=e.touches[0].screenX;startY=e.touches[0].screenY;return triggered=false};touchMoveHandler=function(e){var direction,endX,endY,xMoved,yMoved;if(e.defaultPrevented){return}if(e.touches.length!==1){return}if(triggered){return}endX=e.touches[0].screenX;xMoved=endX-startX;if(Math.abs(xMoved)>=Variables.swipeDistance){triggered=true;direction=xMoved>0?"right":"left";return luda$1(e.target).trigger(createEvent(direction,startX,endX,xMoved))}endY=e.touches[0].screenY;yMoved=endY-startY;if(Math.abs(yMoved)>=Variables.swipeDistance){triggered=true;direction=yMoved>0?"down":"up";return luda$1(e.target).trigger(createEvent(direction,startY,endY,yMoved))}};createEvent=function(direction,start,end,moved){var event;event=new CustomEvent(Variables.swipeEvents[direction],{bubbles:true,cancelable:true,composed:true});event.start=start;event.end=end;event.distance=Math.abs(moved);return event};var swipeEvent={add:function(el){el.addEventListener("touchstart",touchStartHandler);return el.addEventListener("touchmove",touchMoveHandler)},remove:function(el){el.removeEventListener("touchstart",touchStartHandler);return el.removeEventListener("touchmove",touchMoveHandler)}};var removeEvent;var removeEvent$1=removeEvent=function(el,type,selector,callback,namespace){var evtCache,length,swipeTypes,typeCache;evtCache=_access(el,Variables.expando);if(!evtCache){return}if(!type){for(type in evtCache){typeCache=evtCache[type];removeEvent(el,type,selector,callback,namespace)}}else if(type!=="handler"&&(typeCache=evtCache[type])){typeCache.quene||(typeCache.quene=[]);typeCache.quene=typeCache.quene.filter(function(item){if(callback&&callback!==item.callback){return true}if(selector&&selector!==item.selector){return true}if(namespace&&!nMatches(item.namespace,namespace)){return true}});if(!typeCache.quene.length&&typeCache.binded&&evtCache.handler){el.removeEventListener(type,evtCache.handler);delete evtCache[type]}swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)&&swipeTypes.every(function(t){return!evtCache[t]})){swipeEvent.remove(el)}}length=Object.keys(evtCache).length;if(!length||length===1&&"handler"in evtCache){return _access(el,Variables.expando,null)}};var addEvent;addEvent=function(el,type,selector,callback,namespace,kc,stop,prevent,_one){var evtCache,expando,handler,quene,swipeBinded,swipeTypes,typeCache;if(type==="handler"){throw new Error("handler cannot be used as event type")}expando=Variables.expando;evtCache=_access(el,expando)||_access(el,expando,{});typeCache=evtCache[type]||(evtCache[type]={});quene=typeCache.quene||(typeCache.quene=[]);quene.push({selector:selector,callback:callback,namespace:namespace,key:kc,stop:stop,prevent:prevent,one:_one});handler=evtCache.handler||(evtCache.handler=function(event){var cached,collection,eType,self;self=this;cached=_access(self,Variables.expando);eType=event.type;if(!(cached&&cached[eType])){return}collection=eventPath(event);collection=collection.slice(0,collection.indexOf(self)+1);event=event.ludaEvent||ludaEvent(event);return collection.every(function(node){cached[eType].quene.every(function(it){var returnValue;if((selector=it.selector)&&matches(node,selector)||!it.selector&&node===self){if(event.namespace&&!nMatches(it.namespace,event.namespace)){return true}if(event.keyCode&&it.key.length&&!it.key.includes(event.keyCode)){return true}event.currentTarget=node;returnValue=it.callback.call(node,event,event.detail);if(it.one){removeEvent$1(self,eType,it.selector,it.callback,it.namespace)}if(it.stop||returnValue===false){event.stopPropagation()}if(it.prevent||returnValue===false){event.preventDefault()}}return!event.isImmediatePropagationStopped()});return!event.isPropagationStopped()})});swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)){swipeBinded=swipeTypes.some(function(type){var ref;return(ref=evtCache[type])!=null?ref.binded:void 0});if(!swipeBinded){swipeEvent.add(el)}}if(!typeCache.binded){typeCache.binded=true;return el.addEventListener(type,handler)}};var addEvent$1=addEvent;luda$1.include({on:function(name,selector,callback,_one){var key,keyCallback,self;self=this;if(!Type.isString(name)){for(key in name){keyCallback=name[key];this.on(key,selector,keyCallback)}return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return addEvent$1(el,option.type,selector,callback,option.namespace,option.key,option.stop,option.prevent,_one)})});return this}});luda$1.include({off:function(name,selector,callback){var self;self=this;if(name===void 0){this.els.forEach(function(el){return removeEvent$1(el)});return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return removeEvent$1(el,option.type,selector,callback,option.namespace)})});return this}});var addEvents,findRoot,isntPropagation,namespace,removeEvents;namespace=function(C){return`.${C.id}`};findRoot=function(C,event){var rootEl;if(Type.isDocument(C.root)){return C.root}rootEl=null;event.eventPath().some(function(el){if(!matches(el,C.root)){return}return rootEl=el});return rootEl};isntPropagation=function(C,event,rootEl){if(Type.isDocument(C.root)){return true}if(event.currentTarget===rootEl){return true}return luda$1(event.currentTarget).parent(C.root).els[0]===rootEl};addEvents=function(C){var events;events=C.helpers.listen.call(C.prototype);return events.forEach(function(evt){var callbacks,evtSelector,name,selector;if(!evt[0]){return}name=`${evt[0]}${namespace(C)}`;selector=Type.isFunction(evt[1])?"":evt[1];callbacks=Type.isFunction(evt[1])?evt.slice(1):evt.slice(2);evtSelector=selector;return callbacks.forEach(function(callback){var handler;if(!Type.isFunction(callback)){return}if(Object.values(C.prototype).includes(callback)){if(Type.isString(C.root)&&selector.replace(C.root,"")===selector){evtSelector=selector?`${C.root} ${selector}`:C.root}handler=function(event,data){var rootEl;if(!(rootEl=findRoot(C,event))){return}if(!isntPropagation(C,event,rootEl)){return}return callback.call(C.create(rootEl)[0],event,data)}}else{handler=function(event,data){return callback.call(this,event,data)}}return luda$1(document).on(name,evtSelector,handler)})})};removeEvents=function(C){return luda$1(document).off(namespace(C))};luda$1.include({parents:function(comparator){return luda$1(collect(unique(pluck(this.els,"parentElement",true)),comparator))}});function unnested(instance,els){var rootEl,rootSelector;rootEl=instance.root.els[0];rootSelector=instance.constructor.root;return els.filter(function(el){var rootParent;if(el===rootEl){return true}if(matches(el,rootSelector)){return false}rootParent=luda$1(el).parent(rootSelector).els[0];if(document.contains(el)){return rootParent===rootEl}else{return!rootParent}})}var addTraversal,cleanTraversal,createGetter;createGetter=function(C,name,selector,nestable,cacheable){return Object.defineProperty(C.prototype,name,{get:function(){var cache,collection,matched,rootEl;if(!selector){return luda$1()}if(selector instanceof Luda){return selector}if(Type.isFunction(selector)){return selector.call(this)}if(!Type.isString(selector)){return luda$1(selector)}if(!(rootEl=this.root.els[0])){return luda$1()}cacheable&&(cache=C.instances[this.id].traversal);if(cache&&name in cache){return cache[name]}matched=luda$1(selector,rootEl).els;!nestable&&(matched=unnested(this,matched));collection=luda$1(unique(matched));if(!cache){return collection}if(collection.length){return cache[name]=collection}else{return collection}}})};addTraversal=function(C){var cacheable,msg,name,nestable,selector,traversals;traversals=C.helpers.find.call(C.prototype);nestable=Type.isDocument(C.root);cacheable=Type.isString(C.root);for(name in traversals){selector=traversals[name];if(name in C.prototype){msg=`'${name}' was defined on prototype`;msg=`${msg}, skip adding traversal getter.`;console.warn(msg)}else{createGetter(C,name,selector,nestable,cacheable)}}return cacheable&&(C.prototype.cleanTraversal=function(name){var cached,traversal;if(!(cached=this.constructor.instances[this.id])){return}if(!(traversal=cached.traversal)){return}return cleanTraversal(traversal,name)})};cleanTraversal=function(cache,name){var names;if(!cache){return}if(!Type.isString(name)){name=""}names=name?splitValues(name):Object.keys(cache);return names.forEach(function(n){return delete cache[n]})};var config$1,createObserver,cur,executeMutations,findSameMutation,nodesEqual,runAttrCallbacks,runNodeCallbacks,stopWatch,watch;config$1={childList:true,subtree:true,attributes:true,attributeOldValue:true};cur=function(ins,callback,target){var isInProto,proto;proto=ins.constructor.prototype;isInProto=Object.values(proto).includes(callback);if(isInProto){return ins}else{return target}};runNodeCallbacks=function(type,mutation,watches,nestable){var C,ins,mu,nodes;ins=mutation.ins;C=ins.constructor;mu=mutation.mu;nodes=Array.from(mu[`${type}Nodes`]);return watches.node.forEach(function(node){var els;els=[];nodes.forEach(function(n){return els=els.concat(findAll(node.selector,n))});if(!els.length){return}!nestable&&(els=unnested(ins,unique(els)));return els.length&&node.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,els);if(callback!==C.prototype.cleanTraversal){log(`${C.id} ID: ${ins.id} executes nodes ${type} callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],`Nodes ${type}`,els,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[els,type])}return callback.call(ctx,els,type)})})};runAttrCallbacks=function(mutation,watches,nestable){var C,ins,mu,name,oldVal,target;ins=mutation.ins;mu=mutation.mu;C=ins.constructor;name=mu.attributeName;target=mu.target;oldVal=mu.oldValue;if(!(name&&Type.isElement(target))){return}if(!nestable&&!unnested(ins,[target]).length){return}return watches.attr.forEach(function(attr){if(!attr.name.includes(name)){return}if(!matches(target,attr.selector)){return}return attr.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,target);log(`${C.id} ID: ${ins.id} executes ${name} changed callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],"Changed target",target,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[target,oldVal]);return callback.call(ctx,target,oldVal)})})};executeMutations=function(C,mutations,nestable){return mutations.forEach(function(mutation){runNodeCallbacks("added",mutation,C.watches,nestable);runNodeCallbacks("removed",mutation,C.watches,nestable);return runAttrCallbacks(mutation,C.watches,nestable)})};nodesEqual=function(nodesOne,nodesTwo){return arrayEqual(Array.from(nodesOne),Array.from(nodesTwo),true)};findSameMutation=function(mutations,mu){var theSameMutation;theSameMutation=null;mutations.some(function(mutation){if(mu===mutation.mu){return theSameMutation=mutation}if(mu.type!==mutation.mu.type){return}if(mu.target!==mutation.mu.target){return}if(mu.attributeName!==mutation.mu.attributeName){return}if(mu.oldValue!==mutation.mu.oldValue){return}if(!nodesEqual(mu.addedNodes,mutation.mu.addedNodes)){return}if(!nodesEqual(mu.removedNodes,mutation.mu.removedNodes)){return}return theSameMutation=mutation});return theSameMutation};createObserver=function(C,instance){var inses,nestable,observer,rootEl;inses=C.instances;rootEl=instance.root.els[0];nestable=Type.isDocument(C.root);observer=new MutationObserver(function(mus){var mutations;mutations=mus.map(function(mu){return{ins:instance,mu:mu}});!nestable&&find(C.root,rootEl).forEach(function(el){var cached,ins,watcher;if(!(cached=inses[el[expando]])){return}if(!(ins=cached.instance)){return}if(!(watcher=cached.watcher)){return}return watcher.takeRecords().forEach(function(mu){var nestedMutation;nestedMutation=findSameMutation(mutations,mu);if(nestedMutation){return nestedMutation.ins=ins}})});return executeMutations(C,mutations,nestable)});observer.observe(rootEl,config$1);return observer};watch=function(C,ins){var conf;if(!C.watches){conf=C.helpers.watch.call(C.prototype);C.watches={node:(conf.node||[]).map(function(d){return{selector:Type.isFunction(d[0])?"*":d[0],callbacks:Type.isFunction(d[0])?d:d.slice(1)}}),attr:(conf.attr||[]).map(function(a){return{name:splitValues(a[0]),selector:Type.isFunction(a[1])?"*":a[1],callbacks:Type.isFunction(a[1])?a.slice(1):a.slice(2)}})}}return createObserver(C,ins)};stopWatch=function(ins,watcher){return watcher.disconnect()};var Base;Base=function(){class Base{constructor(root){var C,create,definedWatch,find,inses,listen,proto,rootEl,traversal,watcher;C=this.constructor;proto=C.prototype;inses=C.instances;if(!(Type.isString(C.root)||Type.isDocument(C.root))){throw new Error("Component root can only be selectors or document")}if(root instanceof C){return root}if(Type.isDocument(C.root)){root=C.root}this.root=luda$1(root);if(!(rootEl=this.root.els[0])){return}if(this.root.length>1){this.root=luda$1(rootEl)}this.id=rootEl[expando]||(rootEl[expando]=guid$1());if(this.id in inses){return inses[this.id].instance}if((listen=C.helpers.listen)&&!C.eventsBinded){addEvents(C);C.eventsBinded=true}if((find=C.helpers.find)&&!C.traversalAdded){addTraversal(C);C.traversalAdded=true}if(proto.cleanTraversal){traversal={}}if(traversal&&!C.watches){if(definedWatch=C.helpers.watch){C.helpers.watch=function(){var watches;watches=definedWatch.call(this);watches.node||(watches.node=[]);watches.node.unshift([proto.cleanTraversal]);return watches}}else{C.helpers.watch=function(){return{node:[[proto.cleanTraversal]]}}}}if(C.helpers.watch){watcher=watch(C,this)}inses[this.id]={instance:this,traversal:traversal,watcher:watcher};_access(rootEl,C.id,inses[this.id]);if(create=C.helpers.create){create.call(this)}log(`${C.id} ID: ${this.id} created.`,"Root element",rootEl,"Cache",inses[this.id])}static create(selector,ctx){var C;C=this;if(Type.isDocument(this.root)||!selector){selector=this.root}return luda$1(selector,ctx).els.map(function(el){return new C(el)})}static destroy(selector,ctx){var C,hasInstances,inses;C=this;inses=this.instances;if(Type.isDocument(this.root)||!selector){selector=this.root}luda$1(selector,ctx).els.forEach(function(rootEl){var destroy,id,instance,watcher;if(!(id=rootEl[expando])){return}if(!(id in inses)){return}instance=inses[id].instance;watcher=inses[id].watcher;if(destroy=C.helpers.destroy){destroy.call(instance)}if(watcher){stopWatch(instance,watcher)}delete inses[id];_access(rootEl,C.id,null);return log(`${C.id} ID: ${id} destroied.`,"Root element",rootEl,"Cache",inses[id])});hasInstances=Object.keys(inses).length;if(!hasInstances&&C.eventsBinded){removeEvents(C);C.eventsBinded=false}return this}static help(key,val){this.help=createMounter(this.helpers,"helping");return this.help(key,val)}static include(key,val){var C,fn;C=this;fn=function(name,value){C.included.push(name);return value};this.include=createMounter(this.prototype,"including",fn);return this.include(key,val)}static protect(key,val){this.protect=createMounter(this.prototype,"protecting");return this.protect(key,val)}static contains(selector,ctx){var inses;inses=this.instances;return luda$1(selector,ctx).els.some(function(el){var id;return(id=el[expando])&&inses[id]})}static each(callback){Object.values(this.instances).some(function(cache,index){var instance,rootEl;instance=cache.instance;rootEl=instance.root.els[0];return callback(instance,rootEl,index,cache)===false});return this}}Base.prototype.win=luda$1(window);Base.prototype.doc=luda$1(document);Object.defineProperty(Base.prototype,"html",{get:function(){return luda$1(document.documentElement)}});Object.defineProperty(Base.prototype,"body",{get:function(){return luda$1(document.body)}});Object.defineProperty(Base.prototype,"con",{get:function(){return this.constructor}});return Base}.call(this);var Base$1=Base;var constructorAccessWarn,createComponentProxy,createInstancesCallProxy,createInstancesProxy,instanceAccessWarn;constructorAccessWarn=function(action,C,key){var msg;if(!(key in C&&!C.extended.includes(key))){return}msg=`${action} private property '${key}' of ${C.id}`;return console.warn(msg)};createComponentProxy=function(C){var proxy;return proxy=new Proxy(C,{get:function(target,key){constructorAccessWarn("Getting",C,key);return C[key]},set:function(target,key,val){constructorAccessWarn("Setting",C,key);return C[key]=val},apply:function(target,ctx,args){var inses;inses=C.create.apply(C,args);return createInstancesProxy(inses)}})};instanceAccessWarn=function(action,ins,key){var msg;if(!(key in ins&&!ins.con.included.includes(key))){return}msg=`${action} private property '${key}' of ${ins.con.id} ${ins.id}`;return console.warn(msg)};createInstancesProxy=function(inses){var proxy;return proxy=new Proxy(inses,{set:function(target,key,val){return inses.map(function(ins){instanceAccessWarn("Setting",ins,key);return ins[key]=val})},get:function(target,key){var vals;vals=inses.map(function(ins){instanceAccessWarn("Getting",ins,key);return ins[key]});return createInstancesCallProxy(inses,vals,key,proxy)}})};createInstancesCallProxy=function(inses,vals,key,instancesProxy){var proxy;return proxy=new Proxy(new Function,{get:function(target,k){if(!Type.isFunction(vals[k])){return vals[k]}return vals[k].bind(vals)},apply:function(target,ctx,args){var option,returns;returns=inses.map(function(ins){return ins[key].apply(ins,args)});option=args[args.length-1];if(Type.isObject(option)&&option.chain===false){return returns}else{return instancesProxy}}})};function createProxy(Component){return createComponentProxy(Component)}var factory$1;luda$1.extend("component",factory$1=function(name,root){var Component,occupied;Component=function(){class Component extends Base$1{}Component.id=camelCase(`Component${name?"-"+name:"_"+guid$1()}`);Component.root=root?root:name?`.${dashCase(name)}`:document;Component.instances={};Component.helpers={};Component.included=["toString"];Component.extended=["toString"];Component.eventsBinded=false;Component.autoEnabled=false;Component.traversalAdded=false;Component.watches=null;return Component}.call(this);occupied=name&&name in luda$1;if(name){luda$1.extend(name,createProxy(Component))}!occupied&&luda$1.ready(function(){if(Type.isDocument(Component.root)){Component.create(Component.root)}if(!Type.isString(Component.root)){return}Component.create(autoable(Component.root));autoCreateAndDestroy(Component);return Component.autoEnabled=true});return Component});function computeStyle(el,prop,isVar){var style;if(!Type.isElement(el)||!prop){return}style=window.getComputedStyle(el,null);if(prop){if(isVar){return style.getPropertyValue(prop)||void 0}else{return style[prop]}}else{return style}}function isVariable(prop){return/^--/.test(prop)}function readProp(prop,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar){return prop}else{return camelCase(prop)}}var numericProps;numericProps=["animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex"];function parseValue$1(prop,value,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar||numericProps.includes(prop)){return value}if(Type.isNumeric(value)){return`${value}px`}else{return value}}luda$1.include({css:function(prop,value){var isVar,key,val;if(Type.isString(prop)){isVar=isVariable(prop);prop=readProp(prop,isVar);if(arguments.length<2){return this.els[0]&&computeStyle(this.els[0],prop,isVar)}if(!prop){return this}value=parseValue$1(prop,value,isVar);this.els.forEach(function(el){if(!Type.isElement(el)){return}if(isVar){return el.style.setProperty(prop,value)}else{return el.style[prop]=value}});return this}for(key in prop){val=prop[key];this.css(key,val)}return this}});luda$1.include({removeCss:function(prop){return this.css(prop,"")}});var parse$1,pattern$3;pattern$3=/^data-/i;parse$1=function(name){return camelCase(name.replace(pattern$3,""))};var parseName=parse$1;luda$1.include({removeData:function(name){var names;if(arguments.length){names=splitValues(name);if(!names.length){return this}names=names.map(function(n){return parseName(n)});this.els.forEach(function(el){return names.forEach(function(n){return delete el.dataset[n]})})}else{this.els.forEach(function(el){var n,ref,results,val;ref=el.dataset;results=[];for(n in ref){val=ref[n];results.push(delete el.dataset[n])}return results})}return this}});luda$1.include({data:function(name,value){var datas,key,ref,val;if(!name){if(!this.els[0]){return}datas={};ref=this.els[0].dataset;for(key in ref){val=ref[key];datas[key]=readValue(val)}return datas}if(Type.isString(name)){name=parseName(name);if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeData(name)}val=parseValue(value);this.els.forEach(function(el){return el.dataset[name]=val});return this}if(!this.els[0]){return}return readValue(this.els[0].dataset[name])}for(key in name){val=name[key];this.data(key,val)}return this}});luda$1.include({hasData:function(key){if(!key){return false}key=parseName(key);return this.els.some(function(el){return el.dataset&&key in el.dataset})}});var factory$3;factory$3=function(prop){return function(){var el;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`inner${prop}`]}return el[`client${prop}`]}};luda$1.include({innerWidth:factory$3("Width"),innerHeight:factory$3("Height")});function computeStyleInt(el,prop){return parseInt(computeStyle(el,prop),10)||0}function getExtraSpace(el,xAxis){return computeStyleInt(el,`border${xAxis?"Left":"Top"}Width`)+computeStyleInt(el,`padding${xAxis?"Left":"Top"}`)+computeStyleInt(el,`padding${xAxis?"Right":"Bottom"}`)+computeStyleInt(el,`border${xAxis?"Right":"Bottom"}Width`)}var factory$4;factory$4=function(prop){return function(value){var e,valNumber;if(!(e=this.els[0])){if(value===void 0){return void 0}else{return this}}if(!arguments.length){if(Type.isWindow(e)){return e[camelCase(`outer-${prop}`)]}return e.getBoundingClientRect()[prop]-getExtraSpace(e,prop==="width")}valNumber=parseInt(value,10);this.els.forEach(function(el){var boxSizing,extra;if(!Type.isElement(el)){return}boxSizing=computeStyle(el,"boxSizing");extra=0;if(boxSizing==="border-box"){extra=getExtraSpace(el,prop==="width")}return el.style[prop]=parseValue$1(prop,valNumber+extra)});return this}};luda$1.include({width:factory$4("width"),height:factory$4("height")});var factory$5;factory$5=function(prop){return function(includeMargins){var el,marginOne,marginTwo,offsetSize;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`outer${prop}`]}offsetSize=el[`offset${prop}`];if(!includeMargins){return offsetSize}marginOne=computeStyleInt(el,`margin${prop==="Width"?"Left":"Top"}`);marginTwo=computeStyleInt(el,`margin${prop==="Width"?"Right":"Bottom"}`);return offsetSize+marginOne+marginTwo}};luda$1.include({outerWidth:factory$5("Width"),outerHeight:factory$5("Height")});luda$1.include({one:function(name,selector,callback){return this.on(name,selector,callback,true)}});function getValue(el){var val;if(el.multiple&&el.options){val=[];[].forEach.call(el.options,function(option){var optionValue;if(option.selected&&!option.disabled&&!option.parentNode.disabled){optionValue=readValue(option.value);if(optionValue===void 0||optionValue===null){optionValue=""}return val.push(optionValue)}});return val}val=readValue(el.value);if(val===void 0||val===null){return""}else{return val}}luda$1.include({val:function(value){if(value===void 0){return this.els[0]&&getValue(this.els[0])}this.els.forEach(function(el){var hasSelected,options,val;if(el.tagName==="SELECT"){if(Type.isArray(value)){val=value}else if(value===null){val=[]}else{val=[value]}hasSelected=false;options=Array.from(el.options);options.forEach(function(o){var selected;selected=val.includes(readValue(o.value));o.selected=selected;return hasSelected||(hasSelected=selected)});if(!hasSelected){el.selectedIndex=-1}return options.forEach(function(o){return luda$1(o).attr("selected",o.selected?"":null)})}else{val=value===null?"":parseValue(value);el.value=val;return luda$1(el).attr("value",val)}});return this}});var Variables$1={scriptExpando:"script"};function clone(el,cacheAndEvts,deep){var cloned,clonedScripts,clones,nodes,scripts;cloned=el.cloneNode(true);scripts=findAll("script",el);clonedScripts=findAll("script",cloned);scripts.forEach(function(script,i){var cache;if(!Type.isScript(script)){return}if(script.src){return}cache=_access(script,Variables$1.scriptExpando);cache||(cache={executed:false});_access(script,Variables$1.scriptExpando,cache);return _access(clonedScripts[i],Variables$1.scriptExpando,cache)});if(!cacheAndEvts){return cloned}if(deep){nodes=findAll("*",el);clones=findAll("*",cloned)}else{nodes=[el];clones=[cloned]}nodes.forEach(function(node,i){var _evt,cache,config,type;if(_evt=_access(node,Variables.expando)){for(type in _evt){config=_evt[type];config.quene&&config.quene.forEach(function(it){return addEvent$1(clones[i],type,it.selector,it.callback,it.namespace,it.key,it.stop,it.prevent,it._one)})}}if(cache=access(node)){return access(clones[i],Object.assign({},cache))}});return cloned}luda$1.include({find:function(selector){var all;all=[];this.els.forEach(function(el){var found;found=find(selector,el);if(found.length){return[].push.apply(all,found)}});return luda$1(unique(all))}});var CDATARe,geval;CDATARe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;geval=eval;function evalScripts(node){var collection,scripts;collection=luda$1(node);scripts=collection.filter("script").add(collection.find("script")).els;return scripts.forEach(function(el){var scriptCache;if(!(!el.src&&Type.isScript(el))){return}if(!el.ownerDocument.documentElement.contains(el)){return}scriptCache=_access(el,Variables$1.scriptExpando);if(scriptCache&&scriptCache.executed){return}geval(el.textContent.replace(CDATARe,""));if(scriptCache){return scriptCache.executed=true}else{return _access(el,Variables$1.scriptExpando,{executed:true})}})}function insertElement(anchor,child,prepend,prependTarget){if(prepend){anchor.insertBefore(child,prependTarget)}else{anchor.appendChild(child)}return evalScripts(child)}luda$1.include({insertAfter:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target.nextSibling)})});return this}});luda$1.include({after:function(){var argReverse,handler,self;self=this;argReverse=[].reverse.apply(arguments);handler=function(selector){var els;els=luda$1(selector).els.reverse();return luda$1(els).insertAfter(self)};[].forEach.call(argReverse,handler);return this}});function insertContent(parent,child,prepend){return parent.forEach(function(p,parentIndex){return child.forEach(function(c){var childToBeInserted;childToBeInserted=parentIndex?clone(c,true,true):c;return insertElement(p,childToBeInserted,prepend,prepend&&p.firstChild)})})}luda$1.include({appendTo:function(selector){insertContent(luda$1(selector).els,this.els);return this}});luda$1.include({append:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els)};[].forEach.call(arguments,handler);return this}});luda$1.include({insertBefore:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target)})});return this}});luda$1.include({before:function(){var handler,self;self=this;handler=function(selector){return luda$1(selector).insertBefore(self)};[].forEach.call(arguments,handler);return this}});luda$1.include({clone:function(cacheAndEvents,deep){var collection;if(deep===void 0){deep=cacheAndEvents}collection=this.els.map(function(el){return clone(el,cacheAndEvents,deep)});return luda$1(collection)}});luda$1.include({detach:function(){this.els.forEach(function(el){var parent;if(parent=el.parentNode){return parent.removeChild(el)}});return this}});function clean$1(ctx){return findAll("*",ctx).forEach(function(el){removeEvent$1(el);return clean(el)})}luda$1.include({empty:function(){this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=""});return this}});luda$1.include({html:function(html){if(html===void 0&&this.els.length){return this.els[0].innerHTML}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.innerHTML=html});return this}});luda$1.include({prependTo:function(selector){insertContent(luda$1(selector).els,this.els.reverse(),true);return this}});luda$1.include({prepend:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els,true)};[].forEach.call(arguments,handler);return this}});luda$1.include({remove:function(){this.els.forEach(function(el){var parent;clean$1(el);if(parent=el.parentNode){return parent.removeChild(el)}});return this}});luda$1.include({replaceWith:function(selector){return this.before(selector).remove()}});luda$1.include({replaceAll:function(selector){luda$1(selector).replaceWith(this);return this}});luda$1.include({text:function(text){if(text===void 0){if(this.els[0]){return this.els[0].textContent}else{return""}}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=text});return this}});luda$1.include({unwrap:function(){this.parent().els.forEach(function(el){var collection;collection=luda$1(el);return collection.replaceWith(collection.children())});return this}});luda$1.include({wrapAll:function(selector){var structure,wrapper;if(!this.els.length){return this}structure=luda$1(selector);this.first().before(structure);wrapper=structure.els[0];while(wrapper.children.length){wrapper=wrapper.firstElementChild}return this.appendTo(wrapper)}});luda$1.include({contents:function(){var all;all=[];this.els.forEach(function(el){var content;if(el.tagName==="IFRAME"){content=[el.contentDocument]}else{content=el.childNodes}return[].push.apply(all,content)});return luda$1(unique(all))}});luda$1.include({wrapInner:function(selector){this.els.forEach(function(el){var contents,target;target=luda$1(el);contents=target.contents();if(contents.els.length){return contents.wrapAll(selector)}else{return target.append(selector)}});return this}});luda$1.include({wrap:function(selector){this.els.forEach(function(el,index){var wrapper;wrapper=luda$1(selector).els[0];return luda$1(el).wrapAll(index?clone(wrapper,true,true):wrapper)});return this}});var Mixin;var Mixin$1=Mixin=class Mixin{constructor(conf){this.conf=conf}get(key){return this.conf[key]}all(){return Object.assign({},this.conf)}only(keys){var picked;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}keys.forEach(k=>{if(k in this.conf){return picked[k]=this.conf[k]}});return picked}except(keys){var k,picked,ref,v;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}ref=this.conf;for(k in ref){v=ref[k];if(!keys.includes(k)){picked[k]=v}}return picked}alias(newName,name){var k,picked,v;picked={};if(arguments.length===1&&Type.isObject(newName)){for(k in newName){v=newName[k];if(v in this.conf){picked[k]=this.conf[v]}}}else{if(name in this.conf){picked[newName]=this.conf[name]}}return picked}};var get,mount,named,unmount;named={};mount=createMounter(named,"mixing");unmount=function(name){return delete named[name]};get=function(name){return named[name]||{}};luda$1.extend({mixin:function(name,conf){var mixin;if(arguments.length===1){if(Type.isString(name)){return get(name)}else{return new Mixin$1(conf)}}else{if(conf===null){unmount(name);return this}else{mixin=new Mixin$1(conf);mount(name,mixin);return this}}}});luda$1.mixin.named=named;luda$1.include({offsetParent:function(){return luda$1(this.els[0]&&this.els[0].offsetParent)}});luda$1.include({offset:function(){var docEl,el,rect;el=this.els[0];if(!el){return}docEl=document.documentElement;rect=el.getBoundingClientRect();return{top:rect.top+window.pageYOffset-docEl.clientTop,left:rect.left+window.pageXOffset-docEl.clientLeft}}});luda$1.include({position:function(){var el;el=this.els[0];if(!el){return}return{left:el.offsetLeft,top:el.offsetTop}}});luda$1.include({prop:function(prop,value){var key,val;if(!prop){return}if(Type.isString(prop)){if(arguments.length<2){return this.els[0]&&this.els[0][prop]}this.els.forEach(function(el){return el[prop]=value});return this}for(key in prop){val=prop[key];this.prop(key,val)}return this}});luda$1.include({removeProp:function(prop){var props;props=splitValues(prop);if(!props.length){return this}this.els.forEach(function(el){return props.forEach(function(p){return delete el[p]})});return this}});luda$1.include({reflow:function(){this.els.forEach(function(el){return el.offsetHeight});return this}});function getDurations(style,propertyLength){var durationArray;durationArray=style.split(",");while(durationArray.length<propertyLength){durationArray=durationArray.concat(durationArray)}if(durationArray.length>propertyLength){durationArray=durationArray.slice(0,propertyLength)}return durationArray.map(function(durationStr){var duration;duration=parseFloat(durationStr);if(!duration){return 0}if(durationStr.match("ms")){return duration}else{return duration*1e3}})}luda$1.include({transitionDuration:function(){var delays,durations,el,finalDurations,length,styles;if(!(el=this.els[0])){return}styles=window.getComputedStyle(el);length=styles.transitionProperty.split(",").length;if(!length){return 0}delays=getDurations(styles.transitionDelay,length);durations=getDurations(styles.transitionDuration,length);finalDurations=durations.map(function(duration,index){return duration+delays[index]});return Math.max.apply(null,finalDurations)}});luda$1.include({closest:function(comparator){var filtered;if(!comparator||!this.els.length){return luda$1()}filtered=this.filter(comparator);if(filtered.els.length){return filtered}return this.parent().closest(comparator)}});luda$1.include({nextAll:function(comparator){var plucked;plucked=pluck(this.els,"nextElementSibling",true);return luda$1(collect(unique(plucked),comparator))}});luda$1.include({next:function(comparator){var filter;if(comparator){filter=function(n){return collect([n],comparator).length}}return luda$1(unique(pluck(this.els,"nextElementSibling",false,filter)))}});luda$1.include({prevAll:function(comparator){var plucked;plucked=pluck(this.els,"previousElementSibling",true);return luda$1(collect(unique(plucked),comparator))}});luda$1.include({prev:function(comparator){var filter;if(comparator){filter=function(p){return collect([p],comparator).length}}return luda$1(unique(pluck(this.els,"previousElementSibling",false,filter)))}});luda$1.include({siblings:function(comparator){var all;all=[];this.els.forEach(function(el){var sibs;sibs=luda$1(el).parent().children(function(child){return child!==el}).els;return[].push.apply(all,sibs)});return luda$1(collect(unique(all),comparator))}});luda.mixin("disable",{disableTargetProp:function(){var ref;return((ref=this.attr)!=null?ref.disable:void 0)||"disabled"},disableCreate:function(){var dataAttr,tabIndex;tabIndex=this.root.prop("tabIndex");dataAttr=this.data.disable.tabIndex;if(!this.root.hasData(dataAttr)){this.root.data(dataAttr,tabIndex)}return this.root.prop("tabIndex",-1).prop(this.disableTargetProp(),true)},disableDestroy:function(){var tabIndex;tabIndex=this.root.data(this.data.disable.tabIndex);return this.root.prop("tabIndex",tabIndex).prop(this.disableTargetProp(),false)}});luda.component("disabled","[disabled]").protect({data:{disable:{tabIndex:"data-disabled_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("enter",document).protect({selectors:["input[type=checkbox]","input[type=radio]","[tabindex]"]}).protect({disabled:function(){return this.html.data("enter")===false}}).protect({trigger:function(e){if(this.disabled()){return}if(!luda(e.target).is(this.selectors.join(","))){return}e.preventDefault();return setTimeout(function(){return e.target.click()})}}).help({listen:function(){return[["keydown@enter",this.trigger]]}});var Focus;Focus=luda.component("focus",document).protect({cls:{focus:"focus"},selector:{focused:".focus",always:["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])","[contenteditable]","[contenteditable=true]"],nested:["select","[contenteditable]","[contenteditable=true]"],touch:"input[type=range]"}}).protect({disabled:function(){return this.html.data("focus")===false}}).protect({addClass:function(node){if(this.disabled()){return}return this.focused.els.concat(node).forEach(el=>{var addable;addable=el===node&&el!==this.html.els[0]&&el!==this.body.els[0];return luda(el).toggleClass(this.cls.focus,addable)})},cacheEvt:function(e){if(this.disabled()||e.target.disabled){return}return this.evtTriggeredFocus=e.type},focus:function(e){var evt,node,parent,target;if(this.disabled()||(node=e.target).disabled){return}(evt=this.evtTriggeredFocus)&&delete this.evtTriggeredFocus;if(evt&&/key/.test(evt)){target=node}else if(luda(node).is(this.selector.always.join(","))){target=node}else if(luda(node).is(this.selector.nested.join(" *,"))){parent=this.selector.nested.join(",");e.eventPath().some(function(el){return luda(el).is(parent)&&(target=el)})}return this.addClass(target)},blur:function(e){if(this.disabled()){return}return luda(e.target).toggleClass(this.cls.focus,false)}}).help({find:function(){return{focused:this.selector.focused}},listen:function(){return[["keydown keyup touchstart mousedown",this.cacheEvt],["mousedown focusin",this.focus],["touchstart",this.selector.touch,this.focus],["focusout",this.blur]]}});luda.include({focus:function(addClass,preventScroll){var el,ins;if(!(el=this.els[0])){return}ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}if(!luda.isBool(addClass)){addClass=true}if(!luda.isBool(preventScroll)){preventScroll=false}addClass&&ins.addClass(el);el.focus({preventScroll:preventScroll});return this},blur:function(){var ins;ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}this.els.forEach(function(el){return el.blur()});return this}});luda.component("readonly","[readonly]").protect({attr:{disable:"readonly"},data:{disable:{tabIndex:"data-readonly_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("tabulate",document).protect({selector:"input[type=radio]:not([disabled])"}).protect({disabled:function(){return this.html.data("tabulate")===false}}).protect({findSiblings:function(radio){var index,name,radios,selector;selector=this.selector;if(name=radio.name){selector=`${selector}[name=${name}]`}radios=luda(selector).els.filter(function(el){return el.tabIndex>=0});index=radios.indexOf(radio);return{prev:radios[index-1],next:radios[index+1]}},trigger:function(e){var next,prev;if(this.disabled()){return}if(e.shiftKey){if(prev=this.findSiblings(e.target).prev){e.preventDefault();return prev.focus()}}else{if(next=this.findSiblings(e.target).next){e.preventDefault();return next.focus()}}}}).help({listen:function(){return[["keydown@tab",this.selector,this.trigger]]}});luda.mixin("toggleable",{toggleableActive:function(){return this.root.hasClass(this.cls.toggleable.active)},toggleableTriggerable:function(e){var evtPath,index,ref,ref1,toggleAttr,trigger;if(this.toggleableTransitioning()){return}if(/key/.test(e.type)){return true}if(!this.root.els[0].contains(e.target)){return true}trigger=(ref=this.default)!=null?(ref1=ref.toggleable)!=null?ref1.trigger:void 0:void 0;toggleAttr=this.data.toggleable.trigger;if(!toggleAttr){return trigger}evtPath=e.eventPath();index=evtPath.indexOf(this.root.els[0])+1;evtPath.slice(0,index).some(function(el){var ins;ins=luda(el);if(!ins.hasData(toggleAttr)){return}trigger=ins.data(toggleAttr)!==false;return true});return trigger},toggleableActivate:function(){var evt;if(this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.activate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableDeactivating);delete this.toggleableDeactivating;this.root.addClass(this.cls.toggleable.active);this.toggleableActivating=setTimeout(()=>{delete this.toggleableActivating;return this.toggleableTarget.trigger(this.evt.toggleable.activated)},this.toggleableTarget.transitionDuration());return true},toggleableDeactivate:function(){var evt;if(!this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.deactivate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableActivating);delete this.toggleableActivating;this.root.removeClass(this.cls.toggleable.active);this.toggleableDeactivating=setTimeout(()=>{delete this.toggleableDeactivating;return this.toggleableTarget.trigger(this.evt.toggleable.deactivated)},this.toggleableTarget.transitionDuration());return true},toggleableToggle:function(force){if(force===true){return this.toggleableActivate()}if(force===false){return this.toggleableDeactivate()}if(this.toggleableActive()){return this.toggleableDeactivate()}else{return this.toggleableActivate()}},toggleableTransitioning:function(){return"toggleableActivating"in this||"toggleableDeactivating"in this},toggleableFocusOpener:function(e){var ins;if(this.toggleableActive()){return this.toggleableFocused=document.activeElement}if(!this.toggleableFocused){return}if("focus"in(ins=luda(this.toggleableFocused))){return ins.focus(!e.detail,e.detail)}else{return this.toggleableFocused.focus({preventScroll:e.detail})}},toggleableActivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableActivate())){return}this.toggleableFocusOpener(e);return true},toggleableDeactivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableDeactivate())){return}this.toggleableFocusOpener(e);return true},toggleableToggleOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableToggle())){return}this.toggleableFocusOpener(e);return true},toggleableCreate:function(){var dataAttr,evt,interruption;dataAttr=this.data.toggleable.interruption;if(!(interruption=this.root.data(dataAttr))){return}evt=this.evt.toggleable[interruption];this.root.removeData(dataAttr);return this.toggleableTarget.trigger(evt)},toggleableDestroy:function(){var interruption;if("toggleableActivating"in this){interruption="activated";clearTimeout(this.toggleableActivating)}else if("toggleableDeactivating"in this){interruption="deactivated";clearTimeout(this.toggleableDeactivating)}return interruption&&this.root.data(this.data.toggleable.interruption,interruption)},toggleableFind:function(){var ref,ref1,target;target=(ref=this.selector)!=null?(ref1=ref.toggleable)!=null?ref1.target:void 0:void 0;return{toggleableTarget:target||function(){return this.root}}}});luda.component("toggle","[data-toggle-target]").protect({cls:{toggleable:{active:"toggle-active"}},data:{target:"data-toggle-target",for:"data-toggle-for",auto:"data-toggle-auto-deactivate",toggleable:{interruption:"data-toggle_interruption",trigger:"data-toggleable"}},default:{autoDuration:3e3},evt:{toggleable:{activate:"luda:toggle:activate",activated:"luda:toggle:activated",deactivate:"luda:toggle:deactivate",deactivated:"luda:toggle:deactivated"}}}).include({activate:function(){if(!this.toggleableActivate()){return}return this.toggleAutoState()},deactivate:function(){if(!this.toggleableDeactivate()){return}return this.toggleAutoState()},toggle:function(force){if(!this.toggleableToggle(force)){return}return this.toggleAutoState()}}).protect(luda.mixin("toggleable").all()).protect({toggleAutoState:function(){if(!this.root.hasData(this.data.auto)){return}if(this.toggleableActive()){return this.auto=setTimeout(()=>{delete this.auto;return this.deactivate()},this.root.data(this.data.auto)||this.default.autoDuration)}else{clearTimeout(this.auto);return delete this.auto}},toggleOnEvent:function(e){if(!this.toggleableToggleOnEvent(e)){return}return this.toggleAutoState()}}).help({find:function(){return this.toggleableFind()},create:function(){this.toggleableCreate();return this.toggleAutoState()},destroy:function(){this.toggleableDestroy();return"auto"in this&&clearTimeout(this.auto)},listen:function(){var self;self=this;return[["click",this.toggleOnEvent],["click",`[${this.data.for}]`,function(e){var name;name=luda(this).data(self.data.for);return self.con.each(function(ins){if(ins.root.data(self.data.target)!==name){return}ins.toggleOnEvent(e);return true})}]]}});var listened,quene;listened=false;quene=[];luda.mixin("resetable",{listen:function(fn){var pushed;pushed=quene.some(it=>{return it.Component===this.con});if(!pushed){quene.push({Component:this.con,reset:fn})}if(listened){return}listened=true;return luda(document).on("reset.MixinResetable",function(e){if(e.isDefaultPrevented()){return}return setTimeout(function(){return quene.forEach(function(it){return it.Component.each(function(ins,rootEl){e.target.contains(rootEl)&&it.reset.call(ins);return true})})})})}});luda.component("fmFile").protect({selector:{root:".fm-file",file:"input[type=file]",simulator:"input:not([type=file])"},evt:{changed:"luda:fmFile:changed"},splitor:" "}).protect({placeholder:function(){return this.file.attr("placeholder")},value:function(){return this.file.attr("value")},multiple:function(){return this.file.prop("multiple")}}).protect({files:function(){return Array.from(this.file.prop("files"))},insertSimulator:function(){if(this.simulator.length){return}return luda("<input>").prop("tabIndex",-1).attr("placeholder",this.placeholder()).insertAfter(this.file)},updateSimulatorValue:function(){var value,values;values=this.files().map(function(f){return f.name});value=values.join(this.splitor)||this.value()||"";return this.simulator.val(value)},updateValue:function(){var oldFile,val;this.updateSimulatorValue();oldFile=this.selectedFile;this.selectedFile=this.files();if(!oldFile||luda.arrayEqual(this.selectedFile,oldFile)){return}val=this.multiple()?this.selectedFile:this.selectedFile[0];return this.file.trigger(this.evt.changed,val)},tryReset:function(target,oldVal){if(this.value()!==""){return}if(oldVal===""){return}return this.file.prop("value","").attr("value",oldVal||"")}}).help({find:function(){return{file:this.selector.file,simulator:this.selector.simulator}},watch:function(){return{attr:[["value",this.selector.file,this.tryReset,this.updateValue]]}},create:function(){this.insertSimulator();return this.updateValue()},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.file,this.updateValue]]}});luda.component("fmSelect").protect({selector:{select:"select",options:"option",simulator:"input"},data:{default:"data-fm-select_default-selected",defaultMarked:"data-fm-select_default-marked"},evt:{changed:"luda:fmSelect:changed"}}).protect({placeholder:function(){return this.select.attr("placeholder")},multiple:function(){return this.select.prop("multiple")},options:function(){return Array.from(this.select.prop("options"))}}).protect({tryEmpty:function(){var selected;selected=this.options().some(function(o){return luda(o).hasAttr("selected")});return!selected&&this.select.prop("selectedIndex",-1)},markSelected:function(markDefault){markDefault=markDefault===true;if(markDefault&&this.root.hasData(this.data.defaultMarked)){return}if(markDefault){this.root.data(this.data.defaultMarked,"")}return this.options().forEach(o=>{var option,val;option=luda(o);if(markDefault){val=option.hasAttr("selected")?"":null;return option.data(this.data.default,val)}else{val=o.selected?"":null;return option.attr("selected",val)}})},toggleSimulator:function(){if(this.multiple()){return this.simulator.remove()}if(this.simulator.length){return}return luda("<input>").prop("tabIndex",-1).attr("placeholder",this.placeholder()).insertAfter(this.select)},updateSimulatorValue:function(){var selected,val;if(this.multiple()){return}selected=this.options()[this.select.prop("selectedIndex")];val=selected?luda(selected).text():"";return this.simulator.val(val)},updateValue:function(){var oldVal,selected,val;this.updateSimulatorValue();oldVal=this.selectedVal;val=this.select.val();this.selectedVal=luda.isArray(val)?val:[val];if(!oldVal||luda.arrayEqual(this.selectedVal,oldVal)){return}if(this.multiple()){selected=this.options().filter(function(o){return o.selected})}else{selected=this.options()[this.select.prop("selectedIndex")]}return this.select.trigger(this.evt.changed,{value:val,selected:selected})},reset:function(){this.select.prop("selectedIndex",-1);this.options().forEach(o=>{return o.selected=luda(o).hasData(this.data.default)});return this.markSelected()}}).help({find:function(){return{select:this.selector.select,simulator:this.selector.simulator}},create:function(){this.tryEmpty();this.markSelected(true);this.toggleSimulator();return this.updateValue()},watch:function(){return{node:[[this.selector.options,this.tryEmpty,this.updateValue]],attr:[["selected",this.selector.options,this.tryEmpty,this.updateValue],["multiple",this.selector.select,this.toggleSimulator,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.reset);return[["change",this.selector.select,this.markSelected]]}});luda.mixin("tabable",{tabableActiveIndex:function(){var index,ref,ref1;index=((ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0)||0;this.tabableTargets.els.some((it,i)=>{if(!luda(it).hasClass(this.cls.tabable.active)){return false}index=i;return true});return index},tabableWrapable:function(){var ref,ref1,wrapAttr,wrapable;wrapAttr=this.data.tabable.wrap;if(!wrapAttr){return false}wrapable=this.root.data(wrapAttr);if(wrapable===false){return false}return(ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.wrap:void 0:void 0},tabableActivate:function(index){var direction;if(!luda.isNumeric(index)){return}direction=index<this.tabableActiveIndex()?"prev":"next";return this.tabableSlide(index,direction)},tabableNext:function(){var index;index=this.tabableActiveIndex()+1;if(index>=this.tabableTargets.length){if(!this.tabableWrapable()){return}index=0}return this.tabableSlide(index,"next")},tabablePrev:function(){var index;index=this.tabableActiveIndex()-1;if(index<0){if(!this.tabableWrapable()){return}index=this.tabableTargets.length-1}return this.tabableSlide(index,"prev")},tabableLayout:function(){this.tabableTargets.els.forEach((it,index)=>{var activeCls,isActive,item,nextCls,prevCls;item=luda(it);if((activeCls=this.cls.tabable.active)&&item.hasClass(activeCls)){return}if((nextCls=this.cls.tabable.next)&&item.hasClass(nextCls)){return}if((prevCls=this.cls.tabable.prev)&&item.hasClass(prevCls)){return}isActive=index===this.tabableActiveIndex();item.css("transition","none").toggleClass(activeCls,isActive).toggleClass(prevCls,index<this.tabableActiveIndex()).toggleClass(nextCls,index>this.tabableActiveIndex()).reflow().css("transition","");return isActive&&item.trigger(this.evt.tabable.activated)});this.tabableSetIndicatorsState();return this.tabableSetDirectionCtrlsState()},tabableSlide:function(index,direction){var activateEvt,activated,activatedIndex,activeCls,deactivateEvt,directionCls,item,oppsite,oppsiteCls;if(!luda.isNumeric(index)){return}if(index===(activatedIndex=this.tabableActiveIndex())){return}if(index<0||index>=this.tabableTargets.length){return}item=this.tabableTargets.eq(index);activated=this.tabableTargets.eq(activatedIndex);activateEvt=item.trigger(this.evt.tabable.activate,null,true)[0];if(activateEvt.isDefaultPrevented()){return}deactivateEvt=activated.trigger(this.evt.tabable.deactivate,null,true)[0];if(deactivateEvt.isDefaultPrevented()){return}oppsite=direction==="next"?"prev":"next";directionCls=this.cls.tabable[direction];oppsiteCls=this.cls.tabable[oppsite];activeCls=this.cls.tabable.active;item.css("transition","none").addClass(directionCls).removeClass(oppsiteCls).reflow().css("transition","").addClass(activeCls).removeClass(directionCls);activated.addClass(oppsiteCls).removeClass(activeCls);this.tabableActivating=setTimeout(()=>{delete this.tabableActivating;return item.trigger(this.evt.tabable.activated)},item.transitionDuration());this.tabableDeactivateIndex=activatedIndex;this.tabableDeactivating=setTimeout(()=>{delete this.tabableDeactivating;delete this.tabableDeactivateIndex;return activated.trigger(this.evt.tabable.deactivated)},activated.transitionDuration());this.tabableSetIndicatorsState();this.tabableSetDirectionCtrlsState();return true},tabableTransitioning:function(){return"tabableActivating"in this||"tabableDeactivating"in this},tabableSetIndicatorsState:function(){return this.tabableIndicators.els.forEach((it,index)=>{var activeCls,val;activeCls=this.cls.tabable.indicatorActive;val=index===this.tabableActiveIndex();return luda(it).toggleClass(activeCls,val)})},tabableSetDirectionCtrlsState:function(){var index,maxIndex,minIndex,nextCtrl,nextDis,prevCtrl,prevDis;prevCtrl=this.tabablePrevCtrl;nextCtrl=this.tabableNextCtrl;if(!(prevCtrl||nextCtrl)){return}if(this.tabableTargets.length<=1){prevDis=nextDis=""}else if(this.tabableWrapable()){prevDis=nextDis=null}else{index=this.tabableActiveIndex();minIndex=0;maxIndex=this.tabableTargets.length-1;prevDis=index===minIndex?"":null;nextDis=index===maxIndex?"":null}prevCtrl&&prevCtrl.attr("disabled",prevDis);return nextCtrl&&nextCtrl.attr("disabled",nextDis)},tabableActivateOnEvent:function(e){var index,ref,ref1;if(this.tabableTransitioning()){return}index=(ref=e.detail)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0;if(index==null){index=this.tabableIndicators.els.indexOf(e.currentTarget)}return this.tabableActivate(index)},tabablePrevOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabablePrev()}},tabableNextOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabableNext()}},tabableDestroy:function(){var interruption;if("tabableActivating"in this){clearTimeout(this.tabableActivating);interruption={activate:this.tabableActiveIndex()}}if("tabableDeactivating"in this){clearTimeout(this.tabableDeactivating);interruption||(interruption={});interruption.deactivateIndex=this.tabableDeactivateIndex}return this.root.data(this.data.tabable.interruption,interruption)},tabableCreate:function(){var activate,dataAttr,deactive,interruption;this.tabableLayout();dataAttr=this.data.tabable.interruption;if(!(interruption=this.root.data(dataAttr))){return}if((activate=interruption.activated)!=null){this.tabableTargets.eq(activated).trigger(this.evt.tabable.activated)}if((deactive=interruption.deactivated)!=null){this.tabableTargets.eq(deactivated).trigger(this.evt.tabable.deactivated)}return this.root.removeData(dataAttr)},tabableFind:function(){var conf,nextCtrl,prevCtrl;conf={tabableTargets:this.selector.tabable.targets,tabableIndicators:this.selector.tabable.indicators};if(prevCtrl=this.selector.tabable.prevCtrl){conf.tabablePrevCtrl=prevCtrl}if(nextCtrl=this.selector.tabable.nextCtrl){conf.tabableNextCtrl=nextCtrl}return conf},tabableWatch:function(){var attr,wrapAttr;attr=[];wrapAttr=this.data.tabable.wrap;wrapAttr&&attr.push([wrapAttr,this.tabableSetDirectionControlState]);return{attr:attr,node:[[this.selector.tabable.targets,this.tabableLayout],[this.selector.tabable.indicators,this.tabableSetIndicatorsState]]}},tabableListen:function(){var listeners,nextCtrl,prevCtrl;listeners=[["click",this.selector.tabable.indicators,this.tabableActivateOnEvent]];if(prevCtrl=this.selector.tabable.prevCtrl){listeners.push(["click",prevCtrl,this.tabablePrevOnEvent])}if(nextCtrl=this.selector.tabable.nextCtrl){listeners.push(["click",nextCtrl,this.tabableNextOnEvent])}return listeners}});luda.component("carousel").protect({cls:{tabable:{active:"carousel-item-active",indicatorActive:"btn-active",prev:"carousel-item-prev",next:"carousel-item-next"}},data:{interval:"carousel-interval",tabable:{interruption:"data-carousel_interruption",wrap:"data-carousel-wrap"}},default:{interval:5e3,tabable:{activeIndex:0,wrap:true}},evt:{tabable:{activate:"luda:carousel:activate",activated:"luda:carousel:activated",deactivate:"luda:carousel:deactivate",deactivated:"luda:carousel:deactivated"}},selector:{tabable:{targets:".carousel-item",indicators:".carousel-indicators .btn",prevCtrl:".carousel-prev",nextCtrl:".carousel-next"}}}).protect({interval:function(){var duration;duration=this.root.data(this.data.interval);if(duration===false){return false}return Math.abs(parseInt(duration,10))||this.default.interval}}).include(luda.mixin("tabable").alias({activate:"tabableActivate",next:"tabableNext",prev:"tabablePrev"})).include({pause:function(){if(!("intervaling"in this)){return}clearTimeout(this.intervaling);delete this.intervaling;this.nextInterval-=Date.now()-this.playAt;if(this.nextInterval<=10){this.nextInterval=void 0}return this.pauseIndex=this.tabableActiveIndex()},play:function(){var handler;if("intervaling"in this){return}if(!this.interval()){return}this.playAt=Date.now();if(this.pauseIndex!==this.tabableActiveIndex()){this.nextInterval=this.interval()}handler=(()=>{this.tabableNext();this.playAt=Date.now();this.nextInterval=this.interval();return this.intervaling=setTimeout(handler,this.interval())});return this.intervaling=setTimeout(handler,this.nextInterval)}}).protect(luda.mixin("tabable").all()).protect({togglePath:function(path,action){var targets;targets=path.filter(el=>{return this.con.contains(el)});return this.con.create(targets).forEach(function(ins){return ins[action]()})},pauseOnEvt:function(e){return this.togglePath(e.eventPath(),"pause")},playOnEvt:function(e){return this.togglePath(e.eventPath(),"play")},playOnTouchend:function(e){var path;path=e.eventPath();return setTimeout(()=>{return this.togglePath(path,"play")})}}).help({find:function(){return this.tabableFind()},create:function(){this.tabableCreate();return this.play()},destroy:function(){this.pause();return this.tabableDestroy()},watch:function(){var watches;watches=this.tabableWatch();watches.attr.push([this.data.interval,this.pause,this.play]);return watches},listen:function(){return this.tabableListen().concat([["swipeleft",this.tabableNextOnEvent],["swiperight",this.tabablePrevOnEvent],["touchstart mouseover",this.pauseOnEvt],["mouseout",this.playOnEvt],["touchend",this.playOnTouchend]])}});luda.component("dropdown",".dropdown-absolute, .dropdown-static, .dropdown-fixed, .dropdown-static-m").protect({cls:{toggleable:{active:"dropdown-active"}},data:{standalone:"data-dropdown-standalone",toggleable:{interruption:"data-dropdown_interruption",trigger:"data-dropdownable"}},default:{toggleable:{trigger:true}},evt:{toggleable:{activate:"luda:dropdown:activate",activated:"luda:dropdown:activated",deactivate:"luda:dropdown:deactivate",deactivated:"luda:dropdown:deactivated"}},selector:{items:"a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled]), area[href]:not([disabled]),iframe:not([disabled])",toggleable:{target:".dropdown-menu"}}}).include(luda.mixin("toggleable").alias({activate:"toggleableActivate",deactivate:"toggleableDeactivate",toggle:"toggleableToggle"})).protect(luda.mixin("toggleable").all()).protect({parent:function(){var rootEl;rootEl=this.parentRoot.els[0];if(rootEl){return this.con.create(rootEl)[0]}else{return null}},escDeactivate:function(e){var parent;if(this.toggleableActive()){return this.toggleableDeactivateOnEvent(e)}else if(parent=this.parent()){return parent.escDeactivate(e)}},prevItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)-1;if(index<0){index=0}return items[index].focus()}else if(parent=this.parent()){return parent.prevItem(e)}},nextItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)+1;if(index>=items.length){index=items.length-1}return items[index].focus()}else if(parent=this.parent()){return parent.nextItem(e)}}}).help({find:function(){return Object.assign(this.toggleableFind(),{parentRoot:function(){return this.root.parent(this.con.root)},items:function(){var menu,self;self=this;menu=this.toggleableTarget;return menu.find(this.selector.items).filter(function(el){var parentMenu;parentMenu=luda(el).parent(self.selector.toggleable.target);return parentMenu.els[0]===menu.els[0]})}})},create:function(){return this.toggleableCreate()},destroy:function(){return this.toggleableDestroy()},listen:function(){var self;self=this;return[["click",this.toggleableToggleOnEvent],["keyup@tab",this.toggleableActivateOnEvent],["keydown@esc&prevent",this.escDeactivate],["keydown@left@up&prevent",this.prevItem],["keydown@right@down&prevent",this.nextItem],["click keyup@tab",function(e){var exceptions;exceptions=[];e.eventPath().forEach(function(el){return self.con.contains(el)&&exceptions.push(el)});return self.con.each(function(ins,rootEl){var isExcepted,isStandalone;isExcepted=exceptions.includes(rootEl);isStandalone=ins.root.hasData(self.data.standalone);!isExcepted&&!isStandalone&&ins.deactivate();return true})}]]}});luda.component("fmDropdown").protect({selector:{options:".dropdown-items .btn-radio input, .dropdown-items .btn-check input",labels:".dropdown-items .btn-radio label, .dropdown-items .btn-check label",simulator:".fm input"},data:{label:"fm-dropdown-label"},evt:{changed:"luda:fmDropdown:changed"},splitor:" "}).protect({initSimulator:function(){return this.simulator.data("auto",false).attr("readonly","")},updateSimulatorValue:function(){var values;values=[];this.options.els.forEach((input,index)=>{var label,value;if(!input.checked){return}label=this.labels.eq(index);value=label.data(this.data.label)||label.text();if(value&&!values.includes(value)){return values.push(value)}});return this.simulator.val(values.join(this.splitor))},updateValue:function(){var checked,oldVal;this.updateSimulatorValue();oldVal=this.selectedVal;checked=this.options.els.filter(function(input){return input.checked});this.selectedVal=checked.map(function(input){return luda(input).val()});if(!oldVal||luda.arrayEqual(this.selectedVal,oldVal)){return}return this.root.trigger(this.evt.changed,{value:this.selectedVal,selected:checked})},triggerClick:function(){return this.simulator.trigger("click")}}).help({find:function(){return{options:this.selector.options,labels:this.selector.labels,simulator:this.selector.simulator}},create:function(){this.initSimulator();return this.updateValue()},watch:function(){return{node:[[this.selector.options,this.updateValue]],attr:[["checked",this.selector.options,this.updateValue],["type",this.selector.options,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.options,this.updateValue],["keydown@enter",this.selector.simulator,this.triggerClick]]}});luda.component("tab").protect({cls:{tabable:{active:"tab-pane-active",indicatorActive:"btn-active"}},data:{tabable:{interruption:"data-tab_interruption"}},evt:{tabable:{activate:"luda:tab:activate",activated:"luda:tab:activated",deactivate:"luda:tab:deactivate",deactivated:"luda:tab:deactivated"}},selector:{tabable:{targets:".tab-pane",indicators:".tab-indicators .btn"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate"})).protect(luda.mixin("tabable").all()).help({find:function(){return this.tabableFind()},create:function(){return this.tabableCreate()},destroy:function(){return this.tabableDestroy()},watch:function(){return this.tabableWatch()},listen:function(){return this.tabableListen()}})});
7
7
  //# sourceMappingURL=luda.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/matches/helpers/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/matches/matches.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"names":["Type","isArray","Array","isString","x","isFunction","isObject","isBool","isNumeric","isNaN","parseFloat","isFinite","isDecimalism","test","isId","isClass","isTag","isSingleTag","isHtml","isScript","tagName","type","isFragment","isWindow","window","isDocument","nodeType","isElement","createMounter","target","messagePrefix","handler","mount","name","val","msg","n","v","console","warn","this","getEnv","document","global","Error","environment","find","selector","ctx","from","getElementsByClassName","slice","getElementsByTagName","querySelectorAll","containers","containersMap","div","table","tr","createElement","*","thead","tbody","tfoot","th","td","parseHTML","html","container","RegExp","$1","innerHTML","childNodes","map","node","parentNode","removeChild","Luda","luda","[object Object]","els","length","include","prototype","extend","ValuesMap","false","true","Infinity","NaN","null","undefined","readValue","value","JSON","parse","error","Number","parseValue","stringify","splitValues","str","match","each","callback","some","el","index","call","removeAttr","attr","attrs","forEach","att","removeAttribute","key","arguments","setAttribute","getAttribute","hasAttr","hasAttribute","pattern","replacer","letter","toUpperCase","camelCase","replace","toLowerCase","dashCase","guid","guid$1","pluck","arr","prop","deep","plucked","item","results","push","unique","filter","indexOf","_cache","cache","cacheFactory","privateCache","publicCache","Object","keys","expando","_access","access","accessFactory","clean","c","owner","uid","removeCache","k","isPrivate","cls","parseClass","toggleClass","force","classes","isForce","classList","add","remove","toggle","addClass","hasClass","contains","removeClass","context","concat","get","eq","matches","collect","comparator","oppsite","includes","first","has","children","all","apply","parent","parents","matched","child","collection","is","last","not","ready","readyState","removeEventListener","addEventListener","setTimeout","findAll","Components","autoCreateAndDestroy","autoable","config","disAutoSelector","observer","childList","subtree","attributes","Component","MutationObserver","mus","attrNodes","nodes","mu","addedNodes","removedNodes","C","root","create","destroy","instances","observe","watcher","print","style","log","print$1","active","factory","infoStyle","prvLabelStyle","pubLabelStyle","label","time","Date","now","arg","info","eventPath","event","composedPath","path","LudaEvent","originalEvent","defaultPrevented","bubbles","_propagationStopped","_immediatePropagationStopped","preventDefault","stopPropagation","stopImmediatePropagation","ludaEvent","Proxy","nMatches","definedNamespace","namespace","every","Variables","focusEvents","focus","blur","hoverEvents","mouseenter","mouseleave","swipeEvents","left","right","up","down","swipeDistance","keyCodes","enter","tab","ctrl","alt","shift","esc","back","space","cap","del","end","home","ins","pgUp","pgDown","parseEventName","keysRe","preventRe","stopRe","join","evtName","matchedKeys","splited","split","keyCode","stop","prevent","trigger","detail","afterTrigger","handledEvts","events","evt","CustomEvent","cancelable","composed","e","isFocusEvent","values","dispatchEvent","createEvent","startX","startY","touchMoveHandler","touchStartHandler","triggered","touches","screenX","screenY","direction","endX","endY","xMoved","yMoved","Math","abs","start","moved","distance","swipeEvent","removeEvent","removeEvent$1","evtCache","swipeTypes","typeCache","quene","binded","t","addEvent","kc","_one","swipeBinded","one","cached","eType","self","it","returnValue","currentTarget","isImmediatePropagationStopped","isPropagationStopped","ref","addEvent$1","on","keyCallback","option","off","addEvents","findRoot","isntPropagation","removeEvents","id","rootEl","helpers","listen","callbacks","evtSelector","data","unnested","instance","rootSelector","constructor","rootParent","addTraversal","cleanTraversal","createGetter","nestable","cacheable","defineProperty","traversal","traversals","names","createObserver","cur","executeMutations","findSameMutation","nodesEqual","runAttrCallbacks","runDomCallbacks","stopWatch","watch","attributeOldValue","isInProto","proto","mutation","watches","dom","oldVal","attributeName","oldValue","mutations","nodesOne","nodesTwo","itemsOne","itemsTwo","theSameMutation","inses","takeRecords","nestedMutation","conf","d","a","disconnect","Base","definedWatch","eventsBinded","traversalAdded","unshift","hasInstances","help","fn","included","protect","win","doc","documentElement","body","Base$1","constructorAccessWarn","createComponentProxy","createInstancesCallProxy","createInstancesProxy","instanceAccessWarn","action","extended","proxy","set","args","con","vals","instancesProxy","Function","bind","returns","chain","createProxy","autoEnabled","computeStyle","isVar","getComputedStyle","getPropertyValue","isVariable","readProp","numericProps","parseValue$1","css","setProperty","removeCss","parseName","removeData","dataset","datas","hasData","innerWidth","innerHeight","computeStyleInt","parseInt","getExtraSpace","xAxis","valNumber","getBoundingClientRect","boxSizing","extra","width","height","includeMargins","marginOne","marginTwo","offsetSize","outerWidth","outerHeight","getValue","multiple","options","optionValue","selected","disabled","Variables$1","scriptExpando","clone","cacheAndEvts","cloned","clonedScripts","clones","scripts","cloneNode","script","i","src","V","executed","_evt","EV","assign","found","CDATARe","geval","eval","evalScripts","scriptCache","ownerDocument","textContent","insertElement","anchor","prepend","prependTarget","insertBefore","appendChild","insertAfter","childToBeInserted","nextSibling","after","argReverse","reverse","insertContent","p","parentIndex","firstChild","appendTo","append","before","cacheAndEvents","detach","clean$1","empty","len","prependTo","replaceWith","replaceAll","text","unwrap","wrapAll","structure","wrapper","firstElementChild","contents","content","contentDocument","wrapInner","wrap","Mixin","Mixin$1","picked","newName","named","unmount","mixin","offsetParent","offset","docEl","rect","top","pageYOffset","clientTop","pageXOffset","clientLeft","position","offsetLeft","offsetTop","removeProp","props","reflow","offsetHeight","getDurations","propertyLength","durationArray","durationStr","duration","transitionDuration","delays","durations","finalDurations","styles","transitionProperty","transitionDelay","max","closest","filtered","next","_all","nextAll","prev","_al","prevAll","siblings","sibs","disableCreate","dataAttr","tabIndex","disable","disableDestroy","component","enable","selectors","click","Focus","focused","always","nested","touch","addable","cacheEvt","evtTriggeredFocus","preventScroll","tabulate","findSiblings","radio","radios","shiftKey","toggleableActivate","toggleableActive","toggleableTarget","toggleable","activate","isDefaultPrevented","clearTimeout","toggleableDeactivating","toggleableActivating","activated","toggleableDeactivate","deactivate","deactivated","toggleableToggle","toggleableTransitioning","toggleableTriggerable","evtPath","ref1","toggleAttr","default","toggleableFocusOpener","toggleableFocused","activeElement","toggleableActivateOnEvent","toggleableDeactivateOnEvent","toggleableToggleOnEvent","toggleableCreate","interruption","toggleableDestroy","toggleableFind","for","auto","autoDuration","toggleAutoState","toggleOnEvent","listened","pushed","reset","file","simulator","splitor","insertSimulator","updatePlaceholder","placeholder","updateValue","files","f","tryReset","select","defaultMarked","tryEmpty","o","selectedIndex","markSelected","markDefault","initSimulator","tabableActivate","tabableActiveIndex","tabableSlide","tabableNext","tabableTargets","tabableWrapable","tabablePrev","tabableLayout","activeCls","isActive","nextCls","prevCls","tabable","tabableSetIndicatorsState","tabableSetDirectionCtrlsState","activateEvt","activatedIndex","deactivateEvt","directionCls","oppsiteCls","tabableActivating","tabableDeactivateIndex","tabableDeactivating","activeIndex","wrapAttr","wrapable","tabableTransitioning","tabableIndicators","indicatorActive","maxIndex","minIndex","nextCtrl","nextDis","prevCtrl","prevDis","tabablePrevCtrl","tabableNextCtrl","tabableActivateOnEvent","tabablePrevOnEvent","tabableNextOnEvent","tabableDestroy","deactivateIndex","tabableCreate","deactive","tabableFind","targets","indicators","tabableWatch","tabableSetDirectionControlState","tabableListen","listeners","interval","alias","pause","intervaling","nextInterval","playAt","pauseIndex","play","touchendPlay","standalone","items","parentRoot","escDeactivate","prevItem","nextItem","menu","parentMenu","exceptions","isExcepted","isStandalone","labels","disableSimulator","input","checked","triggerClick"],"mappings":"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","sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","guid = 0\n\n\n\nexport default -> guid += 1","export default (arr, prop, deep) ->\n plucked = []\n arr.forEach (item) ->\n val = item[prop]\n until val is null\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isDecimalism'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from '../matches/helpers/matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n return luda unique(pluck @els, 'parentNode') unless comparator\n parents = []\n @els.forEach (el) ->\n while parent = el.parentNode\n matched = collect([parent], comparator)[0]\n return parents.push matched if matched\n el = parent\n luda unique(parents)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from '../matches/helpers/matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) ->\n els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n [event.target].concat(pluck [event.target], 'parentNode', true)","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunDomCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.dom.forEach (dom) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll dom.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and dom.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n name and watches.attr.forEach (attr) ->\n return unless name is attr.name\n return unless matches target, attr.selector\n return if not nestable and not unnested(ins, [target]).length\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runDomCallbacks 'added', mutation, C.watches, nestable\n runDomCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n return false unless nodesOne.length is nodesTwo.length\n return true if nodesOne.length is 0 and nodesTwo.length is 0\n itemsOne = Array.from nodesOne\n itemsTwo = Array.from nodesTwo\n not itemsOne.some (node, index) -> node isnt itemsTwo[index]\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n dom: (conf.dom or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.dom ||= []\n watches.dom.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {dom: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n luda.extend name, createProxy Component if name\n luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n [].forEach.call el.options, (option) ->\n selected = val.includes readValue(option.value)\n luda(option).attr 'selected', if selected then '' else null\n option.selected = selected\n else\n val = if value is null then '' else parseValue value\n luda(el).attr 'value', val\n el.value = val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.slice().reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import luda from '../base/luda.coffee'\nimport matches from './helpers/matches.coffee'\n\n\n\nluda.include\n\n matches: (selector) ->\n return false unless @els.length\n return false unless selector\n @els.some (el) -> matches el, selector","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator, _all) ->\n luda collect(unique(pluck(@els, 'nextElementSibling', _all)), comparator)","import luda from '../base/luda.coffee'\nimport './next.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) -> @next comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator, _al) ->\n luda collect(unique(pluck(@els, 'previousElementSibling', _al)), comparator)","import luda from '../base/luda.coffee'\nimport './prev.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) -> @prev comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableCreate: ->\n rootEl = @root.els[0]\n tabIndex = rootEl.tabIndex\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n rootEl.tabIndex = -1\n rootEl[@attr?.disable or 'disabled'] = true\n\n disableDestroy: ->\n rootEl = @root.els[0]\n rootEl.tabIndex = @root.data @data.disable.tabIndex\n rootEl[@attr?.disable or 'disabled'] = false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n data:\n enable: 'enter'\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n trigger: (e) ->\n return if @html.data(@data.enable) is false\n return unless luda(e.target).matches @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n data:\n enable: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n disabled: -> @html.data(@data.enable) is false\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).matches @selector.always.join(',')\n target = node\n else if luda(node).matches @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).matches(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n data:\n tabulate: 'tabulate'\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @html.data(@data.tabulate) is false\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n splitor: ' '\n\n.protect\n\n insertSimulator: ->\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @file\n\n updatePlaceholder: ->\n return unless placeholder = @file.attr 'placeholder'\n @simulator.attr 'placeholder', placeholder\n\n updateValue: ->\n values = Array.from(@file.els[0].files).map (f) -> f.name\n value = values.join(@splitor) or @file.attr('value') or ''\n @simulator.attr 'value', value\n\n tryReset: (target, oldVal) ->\n return unless @file.attr('value') is ''\n @file.els[0].value = ''\n @file.attr 'value', oldVal\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updatePlaceholder()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n.protect\n\n tryEmpty: ->\n select = @select.els[0]\n selected = Array.from(select.options).some (o) ->\n luda(o).hasAttr 'selected'\n not selected and select.selectedIndex = -1\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n Array.from(@select.els[0].options).forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n initSimulator: ->\n return @simulator.remove() if @select.els[0].multiple\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @select\n @updatePlaceholder()\n @updateValue()\n\n updatePlaceholder: ->\n return if @select.els[0].multiple\n @simulator.attr 'placeholder', @select.attr('placeholder')\n\n updateValue: ->\n select = @select.els[0]\n return if select.multiple\n selected = select.options[select.selectedIndex]\n val = if selected then luda(selected).text() else ''\n @simulator.attr 'value', val\n\n reset: ->\n @select.els[0].selectedIndex = -1\n Array.from(@select.els[0].options).forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @initSimulator()\n\n watch: ->\n dom: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @updateValue]\n ['multiple', @selector.select, @initSimulator]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n dom: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n touchendPlay: -> setTimeout => @play()\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pause]\n ['mouseout', @play]\n ['touchend', @touchendPlay]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n splitor: ' '\n\n.protect\n\n disableSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = luda @labels.els[index]\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.attr 'value', values.join(@splitor)\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @disableSimulator()\n @updateValue()\n\n watch: ->\n dom: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"]}
1
+ {"version":3,"sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/array-equal.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/base/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"names":["Type","isArray","Array","isString","x","isFunction","isObject","isBool","isNumeric","isNaN","parseFloat","isFinite","isDecimalism","test","isId","isClass","isTag","isSingleTag","isHtml","isScript","tagName","type","isFragment","isWindow","window","isDocument","nodeType","isElement","createMounter","target","messagePrefix","handler","mount","name","val","msg","n","v","console","warn","this","getEnv","document","global","Error","environment","find","selector","ctx","from","getElementsByClassName","slice","getElementsByTagName","querySelectorAll","containers","containersMap","div","table","tr","createElement","*","thead","tbody","tfoot","th","td","parseHTML","html","container","RegExp","$1","innerHTML","childNodes","map","node","parentNode","removeChild","Luda","luda","[object Object]","els","length","include","prototype","extend","ValuesMap","false","true","Infinity","NaN","null","undefined","readValue","value","JSON","parse","error","Number","parseValue","stringify","splitValues","str","match","each","callback","some","el","index","call","removeAttr","attr","attrs","forEach","att","removeAttribute","key","arguments","setAttribute","getAttribute","hasAttr","hasAttribute","pattern","replacer","letter","toUpperCase","camelCase","replace","toLowerCase","dashCase","arrayEqual","a","b","compareOrder","every","it","includes","guid","guid$1","pluck","arr","prop","deep","filter","plucked","item","results","push","unique","indexOf","_cache","cache","cacheFactory","privateCache","publicCache","Object","keys","expando","_access","access","accessFactory","clean","c","owner","uid","removeCache","k","isPrivate","cls","parseClass","toggleClass","force","classes","isForce","classList","add","remove","toggle","addClass","hasClass","contains","removeClass","context","concat","get","eq","matches","collect","comparator","oppsite","first","has","children","all","apply","parent","p","child","collection","is","last","not","ready","readyState","removeEventListener","addEventListener","setTimeout","findAll","Components","autoCreateAndDestroy","autoable","config","disAutoSelector","observer","childList","subtree","attributes","Component","MutationObserver","mus","attrNodes","nodes","mu","addedNodes","removedNodes","C","root","create","destroy","instances","observe","watcher","print","style","log","print$1","active","factory","infoStyle","prvLabelStyle","pubLabelStyle","label","time","Date","now","arg","info","eventPath","event","path","composedPath","LudaEvent","originalEvent","defaultPrevented","bubbles","_propagationStopped","_immediatePropagationStopped","preventDefault","stopPropagation","stopImmediatePropagation","ludaEvent","Proxy","nMatches","definedNamespace","namespace","Variables","focusEvents","focus","blur","hoverEvents","mouseenter","mouseleave","swipeEvents","left","right","up","down","swipeDistance","keyCodes","enter","tab","ctrl","alt","shift","esc","back","space","cap","del","end","home","ins","pgUp","pgDown","parseEventName","keysRe","preventRe","stopRe","join","evtName","matchedKeys","splited","split","keyCode","stop","prevent","trigger","detail","afterTrigger","handledEvts","events","evt","CustomEvent","cancelable","composed","e","isFocusEvent","values","dispatchEvent","createEvent","startX","startY","touchMoveHandler","touchStartHandler","triggered","touches","screenX","screenY","direction","endX","endY","xMoved","yMoved","Math","abs","start","moved","distance","swipeEvent","removeEvent","removeEvent$1","evtCache","swipeTypes","typeCache","quene","binded","t","addEvent","kc","_one","swipeBinded","one","cached","eType","self","returnValue","currentTarget","isImmediatePropagationStopped","isPropagationStopped","ref","addEvent$1","on","keyCallback","option","off","addEvents","findRoot","isntPropagation","removeEvents","id","rootEl","helpers","listen","callbacks","evtSelector","data","parents","unnested","instance","rootSelector","constructor","rootParent","addTraversal","cleanTraversal","createGetter","nestable","cacheable","defineProperty","matched","traversal","traversals","names","createObserver","cur","executeMutations","findSameMutation","nodesEqual","runAttrCallbacks","runNodeCallbacks","stopWatch","watch","attributeOldValue","isInProto","proto","mutation","watches","oldVal","attributeName","oldValue","mutations","nodesOne","nodesTwo","theSameMutation","inses","takeRecords","nestedMutation","conf","d","disconnect","Base","definedWatch","eventsBinded","traversalAdded","unshift","hasInstances","help","fn","included","protect","win","doc","documentElement","body","Base$1","constructorAccessWarn","createComponentProxy","createInstancesCallProxy","createInstancesProxy","instanceAccessWarn","action","extended","proxy","set","args","con","vals","instancesProxy","Function","bind","returns","chain","createProxy","occupied","autoEnabled","computeStyle","isVar","getComputedStyle","getPropertyValue","isVariable","readProp","numericProps","parseValue$1","css","setProperty","removeCss","parseName","removeData","dataset","datas","hasData","innerWidth","innerHeight","computeStyleInt","parseInt","getExtraSpace","xAxis","valNumber","getBoundingClientRect","boxSizing","extra","width","height","includeMargins","marginOne","marginTwo","offsetSize","outerWidth","outerHeight","getValue","multiple","options","optionValue","selected","disabled","hasSelected","o","selectedIndex","Variables$1","scriptExpando","clone","cacheAndEvts","cloned","clonedScripts","clones","scripts","cloneNode","script","i","src","V","executed","_evt","EV","assign","found","CDATARe","geval","eval","evalScripts","scriptCache","ownerDocument","textContent","insertElement","anchor","prepend","prependTarget","insertBefore","appendChild","insertAfter","childToBeInserted","nextSibling","after","argReverse","reverse","insertContent","parentIndex","firstChild","appendTo","append","before","cacheAndEvents","detach","clean$1","empty","len","prependTo","replaceWith","replaceAll","text","unwrap","wrapAll","structure","wrapper","firstElementChild","contents","content","contentDocument","wrapInner","wrap","Mixin","Mixin$1","picked","newName","named","unmount","mixin","offsetParent","offset","docEl","rect","top","pageYOffset","clientTop","pageXOffset","clientLeft","position","offsetLeft","offsetTop","removeProp","props","reflow","offsetHeight","getDurations","propertyLength","durationArray","durationStr","duration","transitionDuration","delays","durations","finalDurations","styles","transitionProperty","transitionDelay","max","closest","filtered","nextAll","next","prevAll","prev","siblings","sibs","disableTargetProp","disable","disableCreate","dataAttr","tabIndex","disableDestroy","component","selectors","click","Focus","focused","always","nested","touch","addable","cacheEvt","evtTriggeredFocus","preventScroll","findSiblings","radio","radios","shiftKey","toggleableActive","toggleable","toggleableTriggerable","evtPath","ref1","toggleAttr","toggleableTransitioning","default","toggleableActivate","toggleableTarget","activate","isDefaultPrevented","clearTimeout","toggleableDeactivating","toggleableActivating","activated","toggleableDeactivate","deactivate","deactivated","toggleableToggle","toggleableFocusOpener","toggleableFocused","activeElement","toggleableActivateOnEvent","toggleableDeactivateOnEvent","toggleableToggleOnEvent","toggleableCreate","interruption","toggleableDestroy","toggleableFind","for","auto","autoDuration","toggleAutoState","toggleOnEvent","listened","pushed","reset","file","simulator","changed","splitor","placeholder","files","insertSimulator","updateSimulatorValue","f","updateValue","oldFile","selectedFile","tryReset","select","defaultMarked","tryEmpty","markSelected","markDefault","toggleSimulator","selectedVal","tabableActiveIndex","tabable","activeIndex","tabableTargets","tabableWrapable","wrapAttr","wrapable","tabableActivate","tabableSlide","tabableNext","tabablePrev","tabableLayout","activeCls","isActive","nextCls","prevCls","tabableSetIndicatorsState","tabableSetDirectionCtrlsState","activateEvt","activatedIndex","deactivateEvt","directionCls","oppsiteCls","tabableActivating","tabableDeactivateIndex","tabableDeactivating","tabableTransitioning","tabableIndicators","indicatorActive","maxIndex","minIndex","nextCtrl","nextDis","prevCtrl","prevDis","tabablePrevCtrl","tabableNextCtrl","tabableActivateOnEvent","tabablePrevOnEvent","tabableNextOnEvent","tabableDestroy","deactivateIndex","tabableCreate","deactive","tabableFind","targets","indicators","tabableWatch","tabableSetDirectionControlState","tabableListen","listeners","interval","alias","pause","intervaling","nextInterval","playAt","pauseIndex","play","togglePath","pauseOnEvt","playOnEvt","playOnTouchend","standalone","items","parentRoot","escDeactivate","prevItem","nextItem","menu","parentMenu","exceptions","isExcepted","isStandalone","labels","initSimulator","input","checked","triggerClick"],"mappings":"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","sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","export default (a, b, compareOrder) ->\n return false unless a and b\n return true if a is b\n return false unless a.length is b.length\n return true if a.length is 0\n if compareOrder\n a.every (it, index) -> it is b[index]\n else\n not a.some (it) -> not b.includes(it)","guid = 0\n\n\n\nexport default -> guid += 1","import Type from './type.coffee'\n\n\n\nexport default (arr, prop, deep, filter) ->\n plucked = []\n arr = [arr] unless Type.isArray arr\n arr.forEach (item) ->\n val = item[prop]\n while val?\n if filter\n if filter val\n plucked.push val\n break unless deep\n else\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport arrayEqual from './array-equal.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n arrayEqual: arrayEqual\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from './matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n if comparator\n plucked = pluck @els, 'parentElement', false, (p) ->\n collect([p], comparator).length\n else\n plucked = pluck @els, 'parentNode'\n luda unique(plucked)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from './matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) -> els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return unless Type.isElement el\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n path = [event.target]\n path = path.concat(pluck path, 'parentNode', true)\n path.push window if document.contains event.target\n path","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../base/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import arrayEqual from '../../base/array-equal.coffee'\nimport expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport matches from '../../base/matches.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunNodeCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.node.forEach (node) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll node.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and node.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n return unless name and Type.isElement target\n return if not nestable and not unnested(ins, [target]).length\n watches.attr.forEach (attr) ->\n return unless attr.name.includes name\n return unless matches target, attr.selector\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runNodeCallbacks 'added', mutation, C.watches, nestable\n runNodeCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n arrayEqual Array.from(nodesOne), Array.from(nodesTwo), true\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n node: (conf.node or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: splitValues a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.node ||= []\n watches.node.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {node: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n occupied = name and name of luda\n luda.extend name, createProxy Component if name\n not occupied and luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n hasSelected = false\n options = Array.from el.options\n options.forEach (o) ->\n selected = val.includes readValue(o.value)\n o.selected = selected\n hasSelected ||= selected\n el.selectedIndex = -1 unless hasSelected\n options.forEach (o) ->\n luda(o).attr 'selected', if o.selected then '' else null\n else\n val = if value is null then '' else parseValue value\n el.value = val\n luda(el).attr 'value', val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) ->\n plucked = pluck(@els, 'nextElementSibling', true)\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator) ->\n if comparator\n filter = (n) -> collect([n], comparator).length\n luda unique(pluck @els, 'nextElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) ->\n plucked = pluck @els, 'previousElementSibling', true\n luda collect(unique(plucked), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator) ->\n if comparator\n filter = (p) -> collect([p], comparator).length\n luda unique(pluck @els, 'previousElementSibling', false, filter)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableTargetProp: -> @attr?.disable or 'disabled'\n\n disableCreate: ->\n tabIndex = @root.prop 'tabIndex'\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n @root.prop('tabIndex', -1).prop @disableTargetProp(), true\n\n disableDestroy: ->\n tabIndex = @root.data @data.disable.tabIndex\n @root.prop('tabIndex', tabIndex).prop @disableTargetProp(), false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n.protect\n\n disabled: -> @html.data('enter') is false\n\n.protect\n\n trigger: (e) ->\n return if @disabled()\n return unless luda(e.target).is @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n.protect\n\n disabled: -> @html.data('focus') is false\n\n.protect\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).is @selector.always.join(',')\n target = node\n else if luda(node).is @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).is(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n.protect\n\n disabled: -> @html.data('tabulate') is false\n\n.protect\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @disabled()\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n evt:\n changed: 'luda:fmFile:changed'\n\n splitor: ' '\n\n.protect\n\n placeholder: -> @file.attr 'placeholder'\n\n value: -> @file.attr 'value'\n\n multiple: -> @file.prop 'multiple'\n\n.protect\n\n files: -> Array.from @file.prop('files')\n\n insertSimulator: ->\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@file)\n\n updateSimulatorValue: ->\n values = @files().map (f) -> f.name\n value = values.join(@splitor) or @value() or ''\n @simulator.val value\n\n updateValue: ->\n @updateSimulatorValue()\n oldFile = @selectedFile\n @selectedFile = @files()\n return if not oldFile or luda.arrayEqual(@selectedFile, oldFile)\n val = if @multiple() then @selectedFile else @selectedFile[0]\n @file.trigger @evt.changed, val\n\n tryReset: (target, oldVal) ->\n return unless @value() is ''\n return if oldVal is ''\n @file.prop('value', '').attr('value', oldVal or '')\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n evt:\n changed: 'luda:fmSelect:changed'\n\n.protect\n\n placeholder: -> @select.attr 'placeholder'\n\n multiple: -> @select.prop 'multiple'\n\n options: -> Array.from @select.prop('options')\n\n.protect\n\n tryEmpty: ->\n selected = @options().some (o) -> luda(o).hasAttr 'selected'\n not selected and @select.prop('selectedIndex', -1)\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n @options().forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n toggleSimulator: ->\n return @simulator.remove() if @multiple()\n return if @simulator.length\n luda('<input>').prop('tabIndex', -1)\n .attr('placeholder', @placeholder())\n .insertAfter(@select)\n\n updateSimulatorValue: ->\n return if @multiple()\n selected = @options()[@select.prop('selectedIndex')]\n val = if selected then luda(selected).text() else ''\n @simulator.val val\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n val = @select.val()\n @selectedVal = if luda.isArray(val) then val else [val]\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n if @multiple()\n selected = @options().filter (o) -> o.selected\n else\n selected = @options()[@select.prop('selectedIndex')]\n @select.trigger @evt.changed, {value: val, selected: selected}\n\n reset: ->\n @select.prop 'selectedIndex', -1\n @options().forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @toggleSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @tryEmpty, @updateValue]\n ['multiple', @selector.select, @toggleSimulator, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n node: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n togglePath: (path, action) ->\n targets = path.filter (el) => @con.contains el\n @con.create(targets).forEach (ins) -> ins[action]()\n\n pauseOnEvt: (e) -> @togglePath e.eventPath(), 'pause'\n\n playOnEvt: (e) -> @togglePath e.eventPath(), 'play'\n\n playOnTouchend: (e) ->\n path = e.eventPath()\n setTimeout => @togglePath path, 'play'\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pauseOnEvt]\n ['mouseout', @playOnEvt]\n ['touchend', @playOnTouchend]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n create: -> @toggleableCreate()\n\n destroy: -> @toggleableDestroy()\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n evt:\n changed: 'luda:fmDropdown:changed'\n\n splitor: ' '\n\n.protect\n\n initSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateSimulatorValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = @labels.eq index\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.val values.join(@splitor)\n\n updateValue: ->\n @updateSimulatorValue()\n oldVal = @selectedVal\n checked = @options.els.filter (input) -> input.checked\n @selectedVal = checked.map (input) -> luda(input).val()\n return if not oldVal or luda.arrayEqual(@selectedVal, oldVal)\n @root.trigger @evt.changed, {value: @selectedVal, selected: checked}\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @initSimulator()\n @updateValue()\n\n watch: ->\n node: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ['type', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"]}
@@ -6,15 +6,17 @@
6
6
  }(this, (function () { 'use strict';
7
7
 
8
8
  luda.component('enter', document).protect({
9
- data: {
10
- enable: 'enter'
11
- },
12
- selectors: ['input[type=checkbox]', 'input[type=radio]', '[tabindex]'],
9
+ selectors: ['input[type=checkbox]', 'input[type=radio]', '[tabindex]']
10
+ }).protect({
11
+ disabled: function() {
12
+ return this.html.data('enter') === false;
13
+ }
14
+ }).protect({
13
15
  trigger: function(e) {
14
- if (this.html.data(this.data.enable) === false) {
16
+ if (this.disabled()) {
15
17
  return;
16
18
  }
17
- if (!luda(e.target).matches(this.selectors.join(','))) {
19
+ if (!luda(e.target).is(this.selectors.join(','))) {
18
20
  return;
19
21
  }
20
22
  e.preventDefault();
@@ -11,18 +11,17 @@
11
11
  cls: {
12
12
  focus: 'focus'
13
13
  },
14
- data: {
15
- enable: 'focus'
16
- },
17
14
  selector: {
18
15
  focused: '.focus',
19
16
  always: ['select', 'textarea', ':not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])', '[contenteditable]', '[contenteditable=true]'],
20
17
  nested: ['select', '[contenteditable]', '[contenteditable=true]'],
21
18
  touch: 'input[type=range]'
22
- },
19
+ }
20
+ }).protect({
23
21
  disabled: function() {
24
- return this.html.data(this.data.enable) === false;
25
- },
22
+ return this.html.data('focus') === false;
23
+ }
24
+ }).protect({
26
25
  addClass: function(node) {
27
26
  if (this.disabled()) {
28
27
  return;
@@ -47,12 +46,12 @@
47
46
  (evt = this.evtTriggeredFocus) && delete this.evtTriggeredFocus;
48
47
  if (evt && /key/.test(evt)) {
49
48
  target = node;
50
- } else if (luda(node).matches(this.selector.always.join(','))) {
49
+ } else if (luda(node).is(this.selector.always.join(','))) {
51
50
  target = node;
52
- } else if (luda(node).matches(this.selector.nested.join(' *,'))) {
51
+ } else if (luda(node).is(this.selector.nested.join(' *,'))) {
53
52
  parent = this.selector.nested.join(',');
54
53
  e.eventPath().some(function(el) {
55
- return luda(el).matches(parent) && (target = el);
54
+ return luda(el).is(parent) && (target = el);
56
55
  });
57
56
  }
58
57
  return this.addClass(target);
@@ -6,10 +6,12 @@
6
6
  }(this, (function () { 'use strict';
7
7
 
8
8
  luda.component('tabulate', document).protect({
9
- selector: 'input[type=radio]:not([disabled])',
10
- data: {
11
- tabulate: 'tabulate'
12
- },
9
+ selector: 'input[type=radio]:not([disabled])'
10
+ }).protect({
11
+ disabled: function() {
12
+ return this.html.data('tabulate') === false;
13
+ }
14
+ }).protect({
13
15
  findSiblings: function(radio) {
14
16
  var index, name, radios, selector;
15
17
  selector = this.selector;
@@ -27,7 +29,7 @@
27
29
  },
28
30
  trigger: function(e) {
29
31
  var next, prev;
30
- if (this.html.data(this.data.tabulate) === false) {
32
+ if (this.disabled()) {
31
33
  return;
32
34
  }
33
35
  if (e.shiftKey) {
@@ -12,38 +12,57 @@
12
12
  file: 'input[type=file]',
13
13
  simulator: 'input:not([type=file])'
14
14
  },
15
+ evt: {
16
+ changed: 'luda:fmFile:changed'
17
+ },
15
18
  splitor: ' '
16
19
  }).protect({
20
+ placeholder: function() {
21
+ return this.file.attr('placeholder');
22
+ },
23
+ value: function() {
24
+ return this.file.attr('value');
25
+ },
26
+ multiple: function() {
27
+ return this.file.prop('multiple');
28
+ }
29
+ }).protect({
30
+ files: function() {
31
+ return Array.from(this.file.prop('files'));
32
+ },
17
33
  insertSimulator: function() {
18
- var simulator;
19
34
  if (this.simulator.length) {
20
35
  return;
21
36
  }
22
- simulator = luda('<input>');
23
- simulator.els[0].tabIndex = -1;
24
- return simulator.insertAfter(this.file);
25
- },
26
- updatePlaceholder: function() {
27
- var placeholder;
28
- if (!(placeholder = this.file.attr('placeholder'))) {
29
- return;
30
- }
31
- return this.simulator.attr('placeholder', placeholder);
37
+ return luda('<input>').prop('tabIndex', -1).attr('placeholder', this.placeholder()).insertAfter(this.file);
32
38
  },
33
- updateValue: function() {
39
+ updateSimulatorValue: function() {
34
40
  var value, values;
35
- values = Array.from(this.file.els[0].files).map(function(f) {
41
+ values = this.files().map(function(f) {
36
42
  return f.name;
37
43
  });
38
- value = values.join(this.splitor) || this.file.attr('value') || '';
39
- return this.simulator.attr('value', value);
44
+ value = values.join(this.splitor) || this.value() || '';
45
+ return this.simulator.val(value);
46
+ },
47
+ updateValue: function() {
48
+ var oldFile, val;
49
+ this.updateSimulatorValue();
50
+ oldFile = this.selectedFile;
51
+ this.selectedFile = this.files();
52
+ if (!oldFile || luda.arrayEqual(this.selectedFile, oldFile)) {
53
+ return;
54
+ }
55
+ val = this.multiple() ? this.selectedFile : this.selectedFile[0];
56
+ return this.file.trigger(this.evt.changed, val);
40
57
  },
41
58
  tryReset: function(target, oldVal) {
42
- if (this.file.attr('value') !== '') {
59
+ if (this.value() !== '') {
60
+ return;
61
+ }
62
+ if (oldVal === '') {
43
63
  return;
44
64
  }
45
- this.file.els[0].value = '';
46
- return this.file.attr('value', oldVal);
65
+ return this.file.prop('value', '').attr('value', oldVal || '');
47
66
  }
48
67
  }).help({
49
68
  find: function() {
@@ -59,7 +78,6 @@
59
78
  },
60
79
  create: function() {
61
80
  this.insertSimulator();
62
- this.updatePlaceholder();
63
81
  return this.updateValue();
64
82
  },
65
83
  listen: function() {
@@ -15,15 +15,27 @@
15
15
  data: {
16
16
  default: 'data-fm-select_default-selected',
17
17
  defaultMarked: 'data-fm-select_default-marked'
18
+ },
19
+ evt: {
20
+ changed: 'luda:fmSelect:changed'
21
+ }
22
+ }).protect({
23
+ placeholder: function() {
24
+ return this.select.attr('placeholder');
25
+ },
26
+ multiple: function() {
27
+ return this.select.prop('multiple');
28
+ },
29
+ options: function() {
30
+ return Array.from(this.select.prop('options'));
18
31
  }
19
32
  }).protect({
20
33
  tryEmpty: function() {
21
- var select, selected;
22
- select = this.select.els[0];
23
- selected = Array.from(select.options).some(function(o) {
34
+ var selected;
35
+ selected = this.options().some(function(o) {
24
36
  return luda(o).hasAttr('selected');
25
37
  });
26
- return !selected && (select.selectedIndex = -1);
38
+ return !selected && this.select.prop('selectedIndex', -1);
27
39
  },
28
40
  markSelected: function(markDefault) {
29
41
  markDefault = markDefault === true;
@@ -33,7 +45,7 @@
33
45
  if (markDefault) {
34
46
  this.root.data(this.data.defaultMarked, '');
35
47
  }
36
- return Array.from(this.select.els[0].options).forEach((o) => {
48
+ return this.options().forEach((o) => {
37
49
  var option, val;
38
50
  option = luda(o);
39
51
  if (markDefault) {
@@ -45,39 +57,48 @@
45
57
  }
46
58
  });
47
59
  },
48
- initSimulator: function() {
49
- var simulator;
50
- if (this.select.els[0].multiple) {
60
+ toggleSimulator: function() {
61
+ if (this.multiple()) {
51
62
  return this.simulator.remove();
52
63
  }
53
64
  if (this.simulator.length) {
54
65
  return;
55
66
  }
56
- simulator = luda('<input>');
57
- simulator.els[0].tabIndex = -1;
58
- simulator.insertAfter(this.select);
59
- this.updatePlaceholder();
60
- return this.updateValue();
67
+ return luda('<input>').prop('tabIndex', -1).attr('placeholder', this.placeholder()).insertAfter(this.select);
61
68
  },
62
- updatePlaceholder: function() {
63
- if (this.select.els[0].multiple) {
69
+ updateSimulatorValue: function() {
70
+ var selected, val;
71
+ if (this.multiple()) {
64
72
  return;
65
73
  }
66
- return this.simulator.attr('placeholder', this.select.attr('placeholder'));
74
+ selected = this.options()[this.select.prop('selectedIndex')];
75
+ val = selected ? luda(selected).text() : '';
76
+ return this.simulator.val(val);
67
77
  },
68
78
  updateValue: function() {
69
- var select, selected, val;
70
- select = this.select.els[0];
71
- if (select.multiple) {
79
+ var oldVal, selected, val;
80
+ this.updateSimulatorValue();
81
+ oldVal = this.selectedVal;
82
+ val = this.select.val();
83
+ this.selectedVal = luda.isArray(val) ? val : [val];
84
+ if (!oldVal || luda.arrayEqual(this.selectedVal, oldVal)) {
72
85
  return;
73
86
  }
74
- selected = select.options[select.selectedIndex];
75
- val = selected ? luda(selected).text() : '';
76
- return this.simulator.attr('value', val);
87
+ if (this.multiple()) {
88
+ selected = this.options().filter(function(o) {
89
+ return o.selected;
90
+ });
91
+ } else {
92
+ selected = this.options()[this.select.prop('selectedIndex')];
93
+ }
94
+ return this.select.trigger(this.evt.changed, {
95
+ value: val,
96
+ selected: selected
97
+ });
77
98
  },
78
99
  reset: function() {
79
- this.select.els[0].selectedIndex = -1;
80
- Array.from(this.select.els[0].options).forEach((o) => {
100
+ this.select.prop('selectedIndex', -1);
101
+ this.options().forEach((o) => {
81
102
  return o.selected = luda(o).hasData(this.data.default);
82
103
  });
83
104
  return this.markSelected();
@@ -92,12 +113,13 @@
92
113
  create: function() {
93
114
  this.tryEmpty();
94
115
  this.markSelected(true);
95
- return this.initSimulator();
116
+ this.toggleSimulator();
117
+ return this.updateValue();
96
118
  },
97
119
  watch: function() {
98
120
  return {
99
- dom: [[this.selector.options, this.tryEmpty, this.updateValue]],
100
- attr: [['selected', this.selector.options, this.updateValue], ['multiple', this.selector.select, this.initSimulator]]
121
+ node: [[this.selector.options, this.tryEmpty, this.updateValue]],
122
+ attr: [['selected', this.selector.options, this.tryEmpty, this.updateValue], ['multiple', this.selector.select, this.toggleSimulator, this.updateValue]]
101
123
  };
102
124
  },
103
125
  listen: function() {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.3.0 | https://oatw.github.io/luda
2
+ * Luda 0.3.1 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -343,6 +343,30 @@
343
343
  return `${str[0].toLowerCase()}${str.slice(1).replace(pattern$1, replacer$1)}`;
344
344
  }
345
345
 
346
+ function arrayEqual(a, b, compareOrder) {
347
+ if (!(a && b)) {
348
+ return false;
349
+ }
350
+ if (a === b) {
351
+ return true;
352
+ }
353
+ if (a.length !== b.length) {
354
+ return false;
355
+ }
356
+ if (a.length === 0) {
357
+ return true;
358
+ }
359
+ if (compareOrder) {
360
+ return a.every(function(it, index) {
361
+ return it === b[index];
362
+ });
363
+ } else {
364
+ return !a.some(function(it) {
365
+ return !b.includes(it);
366
+ });
367
+ }
368
+ }
369
+
346
370
  var guid;
347
371
 
348
372
  guid = 0;
@@ -351,17 +375,29 @@
351
375
  return guid += 1;
352
376
  }
353
377
 
354
- function pluck(arr, prop, deep) {
378
+ function pluck(arr, prop, deep, filter) {
355
379
  var plucked;
356
380
  plucked = [];
381
+ if (!Type.isArray(arr)) {
382
+ arr = [arr];
383
+ }
357
384
  arr.forEach(function(item) {
358
385
  var results, val;
359
386
  val = item[prop];
360
387
  results = [];
361
- while (val !== null) {
362
- plucked.push(val);
363
- if (!deep) {
364
- break;
388
+ while (val != null) {
389
+ if (filter) {
390
+ if (filter(val)) {
391
+ plucked.push(val);
392
+ if (!deep) {
393
+ break;
394
+ }
395
+ }
396
+ } else {
397
+ plucked.push(val);
398
+ if (!deep) {
399
+ break;
400
+ }
365
401
  }
366
402
  results.push(val = val[prop]);
367
403
  }
@@ -379,11 +415,12 @@
379
415
  });
380
416
  }
381
417
 
382
- ['isString', 'isFunction', 'isArray', 'isObject', 'isBool', 'isNumeric', 'isDecimalism', 'isElement'].forEach(function(key) {
418
+ ['isString', 'isFunction', 'isArray', 'isObject', 'isBool', 'isNumeric', 'isElement'].forEach(function(key) {
383
419
  return luda.extend(key, Type[key]);
384
420
  });
385
421
 
386
422
  luda.extend({
423
+ arrayEqual: arrayEqual,
387
424
  camelCase: camelCase,
388
425
  dashCase: dashCase,
389
426
  guid: guid$1,
@@ -704,22 +741,15 @@
704
741
 
705
742
  luda.include({
706
743
  parent: function(comparator) {
707
- var parents;
708
- if (!comparator) {
709
- return luda(unique(pluck(this.els, 'parentNode')));
744
+ var plucked;
745
+ if (comparator) {
746
+ plucked = pluck(this.els, 'parentElement', false, function(p) {
747
+ return collect([p], comparator).length;
748
+ });
749
+ } else {
750
+ plucked = pluck(this.els, 'parentNode');
710
751
  }
711
- parents = [];
712
- this.els.forEach(function(el) {
713
- var matched, parent;
714
- while (parent = el.parentNode) {
715
- matched = collect([parent], comparator)[0];
716
- if (matched) {
717
- return parents.push(matched);
718
- }
719
- el = parent;
720
- }
721
- });
722
- return luda(unique(parents));
752
+ return luda(unique(plucked));
723
753
  }
724
754
  });
725
755
 
@@ -851,6 +881,9 @@
851
881
  }
852
882
  });
853
883
  return attrNodes.forEach(function(el) {
884
+ if (!Type.isElement(el)) {
885
+ return;
886
+ }
854
887
  if (matches(el, disAutoSelector)) {
855
888
  return;
856
889
  }
@@ -928,12 +961,18 @@
928
961
  }, 'LUDA ');
929
962
 
930
963
  function eventPath(event) {
964
+ var path;
931
965
  if (event.composedPath) {
932
966
  return event.composedPath();
933
967
  } else if (event.path) {
934
968
  return event.path;
935
969
  } else {
936
- return [event.target].concat(pluck([event.target], 'parentNode', true));
970
+ path = [event.target];
971
+ path = path.concat(pluck(path, 'parentNode', true));
972
+ if (document.contains(event.target)) {
973
+ path.push(window);
974
+ }
975
+ return path;
937
976
  }
938
977
  }
939
978
 
@@ -1535,7 +1574,7 @@
1535
1574
  });
1536
1575
  };
1537
1576
 
1538
- var config$1, createObserver, cur, executeMutations, findSameMutation, nodesEqual, runAttrCallbacks, runDomCallbacks, stopWatch, watch;
1577
+ var config$1, createObserver, cur, executeMutations, findSameMutation, nodesEqual, runAttrCallbacks, runNodeCallbacks, stopWatch, watch;
1539
1578
 
1540
1579
  config$1 = {
1541
1580
  childList: true,
@@ -1555,23 +1594,23 @@
1555
1594
  }
1556
1595
  };
1557
1596
 
1558
- runDomCallbacks = function(type, mutation, watches, nestable) {
1597
+ runNodeCallbacks = function(type, mutation, watches, nestable) {
1559
1598
  var C, ins, mu, nodes;
1560
1599
  ins = mutation.ins;
1561
1600
  C = ins.constructor;
1562
1601
  mu = mutation.mu;
1563
1602
  nodes = Array.from(mu[`${type}Nodes`]);
1564
- return watches.dom.forEach(function(dom) {
1603
+ return watches.node.forEach(function(node) {
1565
1604
  var els;
1566
1605
  els = [];
1567
1606
  nodes.forEach(function(n) {
1568
- return els = els.concat(findAll(dom.selector, n));
1607
+ return els = els.concat(findAll(node.selector, n));
1569
1608
  });
1570
1609
  if (!els.length) {
1571
1610
  return;
1572
1611
  }
1573
1612
  !nestable && (els = unnested(ins, unique(els)));
1574
- return els.length && dom.callbacks.forEach(function(callback) {
1613
+ return els.length && node.callbacks.forEach(function(callback) {
1575
1614
  var ctx;
1576
1615
  ctx = cur(ins, callback, els);
1577
1616
  if (callback !== C.prototype.cleanTraversal) {
@@ -1590,16 +1629,19 @@
1590
1629
  name = mu.attributeName;
1591
1630
  target = mu.target;
1592
1631
  oldVal = mu.oldValue;
1593
- return name && watches.attr.forEach(function(attr) {
1594
- if (name !== attr.name) {
1632
+ if (!(name && Type.isElement(target))) {
1633
+ return;
1634
+ }
1635
+ if (!nestable && !unnested(ins, [target]).length) {
1636
+ return;
1637
+ }
1638
+ return watches.attr.forEach(function(attr) {
1639
+ if (!attr.name.includes(name)) {
1595
1640
  return;
1596
1641
  }
1597
1642
  if (!matches(target, attr.selector)) {
1598
1643
  return;
1599
1644
  }
1600
- if (!nestable && !unnested(ins, [target]).length) {
1601
- return;
1602
- }
1603
1645
  return attr.callbacks.forEach(function(callback) {
1604
1646
  var ctx;
1605
1647
  ctx = cur(ins, callback, target);
@@ -1611,25 +1653,14 @@
1611
1653
 
1612
1654
  executeMutations = function(C, mutations, nestable) {
1613
1655
  return mutations.forEach(function(mutation) {
1614
- runDomCallbacks('added', mutation, C.watches, nestable);
1615
- runDomCallbacks('removed', mutation, C.watches, nestable);
1656
+ runNodeCallbacks('added', mutation, C.watches, nestable);
1657
+ runNodeCallbacks('removed', mutation, C.watches, nestable);
1616
1658
  return runAttrCallbacks(mutation, C.watches, nestable);
1617
1659
  });
1618
1660
  };
1619
1661
 
1620
1662
  nodesEqual = function(nodesOne, nodesTwo) {
1621
- var itemsOne, itemsTwo;
1622
- if (nodesOne.length !== nodesTwo.length) {
1623
- return false;
1624
- }
1625
- if (nodesOne.length === 0 && nodesTwo.length === 0) {
1626
- return true;
1627
- }
1628
- itemsOne = Array.from(nodesOne);
1629
- itemsTwo = Array.from(nodesTwo);
1630
- return !itemsOne.some(function(node, index) {
1631
- return node !== itemsTwo[index];
1632
- });
1663
+ return arrayEqual(Array.from(nodesOne), Array.from(nodesTwo), true);
1633
1664
  };
1634
1665
 
1635
1666
  findSameMutation = function(mutations, mu) {
@@ -1705,7 +1736,7 @@
1705
1736
  if (!C.watches) {
1706
1737
  conf = C.helpers.watch.call(C.prototype);
1707
1738
  C.watches = {
1708
- dom: (conf.dom || []).map(function(d) {
1739
+ node: (conf.node || []).map(function(d) {
1709
1740
  return {
1710
1741
  selector: Type.isFunction(d[0]) ? '*' : d[0],
1711
1742
  callbacks: Type.isFunction(d[0]) ? d : d.slice(1)
@@ -1713,7 +1744,7 @@
1713
1744
  }),
1714
1745
  attr: (conf.attr || []).map(function(a) {
1715
1746
  return {
1716
- name: a[0],
1747
+ name: splitValues(a[0]),
1717
1748
  selector: Type.isFunction(a[1]) ? '*' : a[1],
1718
1749
  callbacks: Type.isFunction(a[1]) ? a.slice(1) : a.slice(2)
1719
1750
  };
@@ -1772,14 +1803,14 @@
1772
1803
  C.helpers.watch = function() {
1773
1804
  var watches;
1774
1805
  watches = definedWatch.call(this);
1775
- watches.dom || (watches.dom = []);
1776
- watches.dom.unshift([proto.cleanTraversal]);
1806
+ watches.node || (watches.node = []);
1807
+ watches.node.unshift([proto.cleanTraversal]);
1777
1808
  return watches;
1778
1809
  };
1779
1810
  } else {
1780
1811
  C.helpers.watch = function() {
1781
1812
  return {
1782
- dom: [[proto.cleanTraversal]]
1813
+ node: [[proto.cleanTraversal]]
1783
1814
  };
1784
1815
  };
1785
1816
  }
@@ -2004,7 +2035,7 @@
2004
2035
  var factory$1;
2005
2036
 
2006
2037
  luda.extend('component', factory$1 = function(name, root) {
2007
- var Component;
2038
+ var Component, occupied;
2008
2039
  Component = (function() {
2009
2040
  class Component extends Base$1 {}
2010
2041
  Component.id = camelCase(`Component${(name ? '-' + name : '_' + guid$1())}`);
@@ -2030,10 +2061,11 @@
2030
2061
  return Component;
2031
2062
 
2032
2063
  }).call(this);
2064
+ occupied = name && name in luda;
2033
2065
  if (name) {
2034
2066
  luda.extend(name, createProxy(Component));
2035
2067
  }
2036
- luda.ready(function() {
2068
+ !occupied && luda.ready(function() {
2037
2069
  if (Type.isDocument(Component.root)) {
2038
2070
  Component.create(Component.root);
2039
2071
  }
@@ -2363,7 +2395,7 @@
2363
2395
  return this.els[0] && getValue(this.els[0]);
2364
2396
  }
2365
2397
  this.els.forEach(function(el) {
2366
- var val;
2398
+ var hasSelected, options, val;
2367
2399
  if (el.tagName === 'SELECT') {
2368
2400
  if (Type.isArray(value)) {
2369
2401
  val = value;
@@ -2372,16 +2404,24 @@
2372
2404
  } else {
2373
2405
  val = [value];
2374
2406
  }
2375
- return [].forEach.call(el.options, function(option) {
2407
+ hasSelected = false;
2408
+ options = Array.from(el.options);
2409
+ options.forEach(function(o) {
2376
2410
  var selected;
2377
- selected = val.includes(readValue(option.value));
2378
- luda(option).attr('selected', selected ? '' : null);
2379
- return option.selected = selected;
2411
+ selected = val.includes(readValue(o.value));
2412
+ o.selected = selected;
2413
+ return hasSelected || (hasSelected = selected);
2414
+ });
2415
+ if (!hasSelected) {
2416
+ el.selectedIndex = -1;
2417
+ }
2418
+ return options.forEach(function(o) {
2419
+ return luda(o).attr('selected', o.selected ? '' : null);
2380
2420
  });
2381
2421
  } else {
2382
2422
  val = value === null ? '' : parseValue(value);
2383
- luda(el).attr('value', val);
2384
- return el.value = val;
2423
+ el.value = val;
2424
+ return luda(el).attr('value', val);
2385
2425
  }
2386
2426
  });
2387
2427
  return this;
@@ -2526,7 +2566,7 @@
2526
2566
  argReverse = [].reverse.apply(arguments);
2527
2567
  handler = function(selector) {
2528
2568
  var els;
2529
- els = luda(selector).els.slice().reverse();
2569
+ els = luda(selector).els.reverse();
2530
2570
  return luda(els).insertAfter(self);
2531
2571
  };
2532
2572
  [].forEach.call(argReverse, handler);
@@ -2795,20 +2835,6 @@
2795
2835
  }
2796
2836
  });
2797
2837
 
2798
- luda.include({
2799
- matches: function(selector) {
2800
- if (!this.els.length) {
2801
- return false;
2802
- }
2803
- if (!selector) {
2804
- return false;
2805
- }
2806
- return this.els.some(function(el) {
2807
- return matches(el, selector);
2808
- });
2809
- }
2810
- });
2811
-
2812
2838
  var Mixin;
2813
2839
 
2814
2840
  var Mixin$1 = Mixin = class Mixin {
@@ -3054,26 +3080,42 @@
3054
3080
  });
3055
3081
 
3056
3082
  luda.include({
3057
- next: function(comparator, _all) {
3058
- return luda(collect(unique(pluck(this.els, 'nextElementSibling', _all)), comparator));
3083
+ nextAll: function(comparator) {
3084
+ var plucked;
3085
+ plucked = pluck(this.els, 'nextElementSibling', true);
3086
+ return luda(collect(unique(plucked), comparator));
3059
3087
  }
3060
3088
  });
3061
3089
 
3062
3090
  luda.include({
3063
- nextAll: function(comparator) {
3064
- return this.next(comparator, true);
3091
+ next: function(comparator) {
3092
+ var filter;
3093
+ if (comparator) {
3094
+ filter = function(n) {
3095
+ return collect([n], comparator).length;
3096
+ };
3097
+ }
3098
+ return luda(unique(pluck(this.els, 'nextElementSibling', false, filter)));
3065
3099
  }
3066
3100
  });
3067
3101
 
3068
3102
  luda.include({
3069
- prev: function(comparator, _al) {
3070
- return luda(collect(unique(pluck(this.els, 'previousElementSibling', _al)), comparator));
3103
+ prevAll: function(comparator) {
3104
+ var plucked;
3105
+ plucked = pluck(this.els, 'previousElementSibling', true);
3106
+ return luda(collect(unique(plucked), comparator));
3071
3107
  }
3072
3108
  });
3073
3109
 
3074
3110
  luda.include({
3075
- prevAll: function(comparator) {
3076
- return this.prev(comparator, true);
3111
+ prev: function(comparator) {
3112
+ var filter;
3113
+ if (comparator) {
3114
+ filter = function(p) {
3115
+ return collect([p], comparator).length;
3116
+ };
3117
+ }
3118
+ return luda(unique(pluck(this.els, 'previousElementSibling', false, filter)));
3077
3119
  }
3078
3120
  });
3079
3121