luda 0.1.10 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8a82817527b2c6e55db552af81c37d54b6497289bbc9dd6bae75436eb97b870e
4
- data.tar.gz: 281b94789fa715876cfee48e20842dce6c611e01b22cb15b437925a6e98178fa
3
+ metadata.gz: 91a048c5663af9e7ef41077fb3beae38a9d29d4c32c4be13c9792069174e2f05
4
+ data.tar.gz: 956745faf94d11f80c54f74b690e77298447687407a8e41ab7443055abcfa40d
5
5
  SHA512:
6
- metadata.gz: 2c59c0a9169e8ccd8c611f53e18339e7990b38d382569434683d2716ad754f926dabd6b702b6d8e7d3c73f3fbb929888f968e5a5c0f91badb939d71e141b3ce1
7
- data.tar.gz: 07a94542e0e2c782064bb709e0981dd2674492f3f581984182980e7b2619936145cb1e20b5e90111573c379e9623cc72720fbfb5f6fecdc625ef35c76759e48d
6
+ metadata.gz: 7167e80427ee22d190828c4cacf9774bc76063d3f26eb9560523765e4f27cffd709c8ee10641a1abb02c3f803888e4abe295c1d0d68b619cca0cfc3dd5cbdecd
7
+ data.tar.gz: 92d0ee54504708539c74827d2ad6a0edd2b259d07cbe295a9f4b95e6602fecbd4793b9b142a06a7892bd3e0d7301a78ffc1fe78151c18ddd1a2cd1b784993c10
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda degradation script 0.1.10 | https://luda.dev
2
+ * Luda degradation script 0.1.11 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda degradation script 0.1.10 | https://luda.dev
2
+ * Luda degradation script 0.1.11 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.1.10 | https://luda.dev
2
+ * Luda 0.1.11 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1843,8 +1843,8 @@
1843
1843
  this._$values.forEach(($value, index) => {
1844
1844
  var value;
1845
1845
  if ($value.checked) {
1846
- if ($value.hasAttribute(this.constructor._VALUE_ATTRIBUTE)) {
1847
- value = $value.getAttribute(this.constructor._VALUE_ATTRIBUTE);
1846
+ if ($value.hasAttribute(this.constructor._LABEL_ATTRIBUTE)) {
1847
+ value = $value.getAttribute(this.constructor._LABEL_ATTRIBUTE);
1848
1848
  } else {
1849
1849
  value = this._$defaultValues[index].innerText;
1850
1850
  }
@@ -1893,7 +1893,7 @@
1893
1893
 
1894
1894
  _Class._VALUE_SPLITOR = ' ';
1895
1895
 
1896
- _Class._VALUE_ATTRIBUTE = 'data-fm-dropdown-value';
1896
+ _Class._LABEL_ATTRIBUTE = 'data-fm-dropdown-label';
1897
1897
 
1898
1898
  _Class._VALUE_SELECTOR = '.dropdown-items .btn-radio input, .dropdown-items .btn-check input';
1899
1899
 
@@ -1907,7 +1907,7 @@
1907
1907
  childList: true,
1908
1908
  attributes: true,
1909
1909
  subtree: true,
1910
- attributeFilter: ['checked', _Class._VALUE_ATTRIBUTE]
1910
+ attributeFilter: ['checked', _Class._LABEL_ATTRIBUTE]
1911
1911
  };
1912
1912
 
1913
1913
  return _Class;
@@ -1 +1 @@
1
- {"version":3,"file":"luda.js","sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviors/enter-click.coffee","../../src/coffee/behaviors/focus.coffee","../../src/coffee/behaviors/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviors/readonly.coffee","../../src/coffee/behaviors/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/patterns/carousel.coffee","../../src/coffee/patterns/dropdown.coffee","../../src/coffee/patterns/form-dropdown.coffee","../../src/coffee/patterns/tab.coffee"],"sourcesContent":["ENV = (->\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 runtime environment.'\n)()\n\n\n\nunless typeof ENV.luda is 'function'\n ENV.luda = (installer) ->\n throw new Error 'Installer cannot be detected.' unless installer\n unless ['object', 'function'].includes typeof installer\n throw new Error 'Installer must be object, array or function.'\n if installer.hasOwnProperty '_SCOPE'\n unless typeof installer._SCOPE is 'string'\n throw new Error '_SCOPE must be string'\n return ENV.luda._install installer._SCOPE, installer\n if installer instanceof Array or typeof installer is 'function'\n throw new Error 'Unscoped installer must be object.'\n installed = {}\n for name, property of installer\n installed[name] = ENV.luda._install name, property\n installed\n\n ENV.luda._install = (namespace, installer) ->\n if ENV.luda[namespace]\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\n return ENV.luda[namespace]\n for installedName, installedInstaller of ENV.luda\n if installer is installedInstaller\n console.warn \"Installer is installed with name #{installedName},\n skip installation.\"\n return ENV.luda[installedName]\n if installer._install\n if typeof installer._install is 'function'\n return ENV.luda[namespace] = installer._install()\n return ENV.luda[namespace] = installer._install\n ENV.luda[namespace] = installer","import './install.coffee'\n\n\n\nluda\n\n KEY_LEFT: 37\n KEY_UP: 38\n KEY_RIGHT: 39\n KEY_DOWN: 40\n KEY_TAB: 9\n KEY_ESC: 27\n KEY_ENTER: 13","import './install.coffee'\n\n\n\nluda\n \n $child: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $ancestor.querySelector selector\n\n $children: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $descendant = @$child selector, $ancestor\n if $descendant\n descendants = Array.from($ancestor.querySelectorAll selector)\n else\n descendants = []\n\n $unnested: (selector, $ancestor, ancestorSelector) ->\n descendants = @$children selector, $ancestor\n descendants.filter ($descendant) =>\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\n\n $parent: (selector, $descendant) ->\n $ancestor = $descendant.parentNode\n if $ancestor\n if $ancestor.matches and $ancestor.matches selector\n $ancestor\n else\n @$parent selector, $ancestor\n\n $parents: (selector, $descendant, _ancestors) ->\n $ancestor = @$parent selector, $descendant\n _ancestors = [] unless _ancestors\n if $ancestor\n _ancestors.push($ancestor)\n @$parents selector, $ancestor, _ancestors\n else\n _ancestors\n\n $after: ($node, $target) ->\n $parent = $target.parentNode\n if $parent.lastChild is $target\n $parent.appendChild $node\n else\n $parent.insertBefore $node, $target.nextSibling\n\n $prepend: ($node, $target) ->\n if $target.firstChild\n $target.insertBefore $node, $target.firstChild\n else\n $target.appendChild $node\n\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\nimport './dom.coffee'\n\n\n\nluda\n \n _SWIPE_DISTANCE: 10\n _EVENT_TYPE_PREFIX: 'luda'\n _SWIPE_LEFT: 'swipeleft'\n _SWIPE_RIGHT: 'swiperight'\n _SWIPE_UP: 'swipeup'\n _SWIPE_DOWN: 'swipedown'\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\n _DOC_READY: 'docready'\n _FORM_RESET: 'reset'\n\n eventPath: (event) ->\n if event.composedPath\n path = event.composedPath()\n else if event.path\n path = event.path\n else\n path = [event.target].concat(luda.$parents '*', event.target)\n\n on: (event, selector..., handler) ->\n switch event\n when @_DOC_READY then @_onDocReady handler\n when @_FORM_RESET then @_onReset selector[0], handler\n when @_SWIPE_LEFT, \\\n @_SWIPE_RIGHT, \\\n @_SWIPE_UP, \\\n @_SWIPE_DOWN, \\\n @_SWIPE_LEFT_OR_UP, \\\n @_SWIPE_RIGHT_OR_DOWN\n then @_onSwipe event, selector[0], handler\n else @_on event, selector[0], handler\n\n onOpposite: (event, selector, handler) ->\n _self = this\n document.addEventListener event, (e) ->\n trigger = _self.eventPath(e).every ($element) ->\n not $element.matches or not $element.matches selector\n handler e if trigger\n\n dispatch: ($target, type, detail, options = {}) ->\n options.bubbles = true unless typeof options.bubbles is 'boolean'\n options.cancelable = true unless typeof options.cancelable is 'boolean'\n options.composed = true unless typeof options.composed is 'boolean'\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\n evt.detail = detail\n $target.dispatchEvent evt\n evt\n \n _onDocReady: (handler) ->\n if document.readyState is 'loading'\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler()\n\n _onReset: (selector, handler) ->\n document.addEventListener 'reset', (e) ->\n if selector?\n luda.$children(selector, e.target).forEach ($element) ->\n handler.bind($element)(e)\n else\n handler e\n \n _onSwipe: (event, selector, handler) ->\n _self = this\n watch = false\n $touchStartElement = document\n touchStartE = null\n touchStartX = 0\n touchStartY = 0\n document.addEventListener 'touchstart', (e) ->\n if e.touches.length is 1\n touchStartX = e.touches[0].screenX\n touchStartY = e.touches[0].screenY\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n $touchStartElement = $element\n touchStartE = e\n watch = true\n return true\n else\n watch = true\n\n document.addEventListener 'touchmove', (e) ->\n if watch and e.touches.length is 1\n touchDistanceX = e.touches[0].screenX - touchStartX\n touchDistanceY = e.touches[0].screenY - touchStartY\n eventX = undefined\n eventY = undefined\n eventXOrY = undefined\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\n if touchDistanceX > 0\n eventX = _self._SWIPE_RIGHT\n else\n eventX = _self._SWIPE_LEFT\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\n if touchDistanceY > 0\n eventY = _self._SWIPE_DOWN\n else\n eventY = _self._SWIPE_UP\n if eventX is _self._SWIPE_LEFT \\\n or eventY is _self._SWIPE_UP\n eventXOrY = _self._SWIPE_LEFT_OR_UP\n if eventX is _self._SWIPE_RIGHT \\\n or eventY is _self._SWIPE_DOWN\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\n if (eventX? and eventX is event) \\\n or (eventY? and eventY is event) \\\n or eventXOrY is event\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element is $touchStartElement\n watch = false\n handler.bind($element)(touchStartE, e)\n return true\n else\n watch = false\n handler touchStartE, e\n\n _on: (event, selector, handler) ->\n if selector is window\n window.addEventListener event, (e) -> handler e\n else\n _self = this\n document.addEventListener event, (e) ->\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n handler.bind($element)(e)\n return true\n else\n handler e","import './install.coffee'\n\n\n\nluda\n \n except: (element, arr) ->\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\nimport './utilities.coffee'\n\n\n \nluda class Singleton\n\n @_SCOPE: 'Singleton'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_selector: ''\n @_actived: true\n\n @active: ->\n @_actived = true\n\n @deactive: ->\n @_actived = false\n\n @_add: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\n @_mergeSelectors()\n\n @_remove: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n luda.except selector, @_SELECTORS\n @_mergeSelectors()\n\n @_mergeSelectors: ->\n @_selector = @_SELECTORS.join ','\n\n @_install: ->\n return this if this is Singleton\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'enterClick'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_ENTER \\\n and e.target.matches self._selector\n e.preventDefault()\n setTimeout(-> e.target.click())","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'focus'\n\n @_CSS_CLASS: 'focus'\n # mouse focusable selectors\n @_SELECTORS: ['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 ]\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_removeFocusClassExcept: ($exception) ->\n Array.from(@_$focus).forEach ($focus) =>\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\n\n @_addFocusClassExceptHtmlAndBody: ($target) ->\n if $target isnt document.body and $target isnt document.documentElement\n $target.classList.add @_CSS_CLASS\n\n @_changeFocusStateOnKeyEvent: (e) ->\n if @_actived\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_actived\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\n else\n target = e.target\n if target.matches @_selector\n @_removeFocusClassExcept target\n @_addFocusClassExceptHtmlAndBody target\n else\n @_removeFocusClassExcept()\n\n @_setElementPrototype: ->\n focus = HTMLElement.prototype.focus\n blur = HTMLElement.prototype.blur\n self = this\n HTMLElement.prototype.focus = ->\n focus.apply this, arguments\n if self._actived and document.activeElement is this\n self._removeFocusClassExcept this\n self._addFocusClassExceptHtmlAndBody this\n HTMLElement.prototype.blur = ->\n blur.apply this, arguments\n this.classList.remove self._CSS_CLASS if self._actived\n\n @_init: ->\n self = this\n @_setElementPrototype()\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\n @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'radioTab'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_querySameName$radios: ($radio) ->\n if $radio.name\n selector = \"#{@_selector}[name=#{$radio.name}]\"\n else\n selector = @_selector\n $inputs = luda.$children selector\n $inputs.filter ($input) -> $input.tabIndex >= 0\n\n @_query$prev$next: ($radio) ->\n $sameNameRadios = @_querySameName$radios $radio\n radioIndex = $sameNameRadios.indexOf $radio\n $prev = $sameNameRadios[radioIndex - 1]\n $next = $sameNameRadios[radioIndex + 1]\n {$prev, $next}\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_TAB \\\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\n and e.target.type is 'radio'\n if e.shiftKey\n if $prev = self._query$prev$next(e.target).$prev\n e.preventDefault()\n $prev.focus()\n else\n if $next = self._query$prev$next(e.target).$next\n e.preventDefault()\n $next.focus()","import './install.coffee'\nimport './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Component\n\n @_SCOPE: 'Component'\n \n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\n @_SELECTOR: ''\n @_instances: []\n\n @_Observed: []\n @_observer: null\n @_observerConfig:\n childList: true\n subtree: true\n\n _hasDescendant: (descendant) ->\n if @_children.length and descendant\n return true if @_children.includes descendant\n return @_children.some (child) -> child._hasDescendant descendant\n else\n return false\n\n _observe: ->\n @_observer = new MutationObserver @_onMutations.bind this\n @_observer.observe @_$component, @constructor._observerConfig\n\n _disconnect: ->\n @_observer.disconnect()\n @_observer = null\n\n @create: ($component) ->\n componentIsElementInstance = $component instanceof Element\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\n $family = @_query$family $component\n instance = @query $component\n if $family._$parent\n if parent = @query $family._$parent\n @_instances.push instance = @_createInstance $component unless instance\n if instance._parent isnt parent\n parent._children.push(instance) and (instance._parent = parent)\n $family._$children.forEach ($child) => @create $child\n return instance\n else\n @create $family._$parent\n return @query $component\n else\n @_instances.push instance = @_createInstance $component unless instance\n $family._$children.forEach ($child) => @create $child\n return instance\n\n @destroy: (instance$component) ->\n instance = @query instance$component\n if instance\n instance._disconnect() if instance._observer\n instance._destroy() if instance._destroy\n @destroy instance._children[0] while instance._children.length\n if instance._parent\n luda.except instance, instance._parent._children\n luda.except instance, @_instances\n for attribute, value of instance\n instance[attribute] = null\n \n @query: (instance$component) ->\n instance = null\n if instance$component instanceof this \\\n and @_instances.includes instance$component\n instance = instance$component\n else if instance$component instanceof Element\n @_instances.some (inited) ->\n if inited._$component is instance$component\n instance = inited\n return true\n return instance\n\n @_query$family: ($component) ->\n _$parent = null\n _$children = []\n if @_SELECTOR\n _$parent = luda.$parent @_SELECTOR, $component\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\n {_$parent, _$children}\n\n @_createInstance: ($component) ->\n instance = new this()\n instance._$component = $component\n instance._parent = null\n instance._children = []\n instance._observer = null\n instance._constructor() if instance._constructor\n unless instance._observer and instance._onMutations and @_observerConfig\n instance._observe()\n instance\n\n @_observe: (classObj) ->\n unless Component._observer\n Component._observer = new MutationObserver (mutations) ->\n mutations.forEach (mutation) ->\n $removedNodes = Array.from mutation.removedNodes\n $addedNodes = Array.from mutation.addedNodes\n $removedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.destroy $node\n else\n $destroies = luda.$children Observed._SELECTOR, $node\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\n $addedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.create $node\n else\n $creates = luda.$children Observed._SELECTOR, $node\n $creates.forEach ($create) -> Observed.create $create\n Component._observer.observe document.documentElement, \\\n Component._observerConfig\n unless Component._Observed.includes classObj\n Component._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Component\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\n @_instances = [] unless @hasOwnProperty '_instances'\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, ->\n luda.$children(self._SELECTOR).forEach ($component) ->\n self.create $component\n Component._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_READONLY_FALSE_VALUE: 'false'\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\n\n @_observerConfig:\n attributes: true\n attributeFilter: [@_READONLY_ATTRIBUTE]\n\n _getConfig: ->\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\n _originalTabIndex = @_$component.tabIndex\n {_isReadonly, _originalTabIndex}\n \n _constructor: ->\n {\n @_isReadonly,\n @_originalTabIndex\n } = @_getConfig()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-toggle-disabled'\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\n ]\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @active: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.add @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\n\n @deactive: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.remove @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactive($target)\n else\n @active($target)\n\n @_query$targets: (name$target) ->\n if name$target instanceof Element\n [name$target]\n else\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\n\n @_init: ->\n self = this\n luda.on 'click', @_selector, (e) ->\n toggleChecked = false\n luda.eventPath(e).some ($path) ->\n if $path instanceof Element\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\n self.toggle toggleName\n toggleChecked = true\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\n $toggle = $path\n else\n $toggle = luda.$parent \\\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\n if $toggle\n self.toggle $toggle\n toggleChecked = true\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmFile'\n\n @_VALUE_SPLITOR: ' '\n @_SELECTOR: '.fm-file'\n @_FILE_SELECTOR: 'input[type=file]'\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_VALUE_ATTRIBUTE: 'value'\n\n @_observerConfig:\n childList: true\n subtree: true\n\n _getConfig: ->\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\n _$simulator = luda.$child \\\n @constructor._SIMULATOR_SELECTOR, @_$component\n {_$file, _$simulator}\n\n _constructor: ->\n {\n @_$file,\n @_$simulator\n } = @_getConfig()\n @_init()\n\n _onMutations: ->\n @_constructor()\n\n _insertSimulator: ->\n @_$simulator = document.createElement 'input'\n @_$simulator.tabIndex = -1\n luda.$after @_$simulator, @_$file\n\n _setPlaceholderValue: ->\n @_$simulator.placeholder = \\\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSimulatorValue: ->\n values = []\n Array.from(@_$file.files).map (file) -> values.push file.name\n if values.length\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\n\n _init: ->\n if @_$file\n @_insertSimulator() unless @_$simulator\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmSelect'\n\n @_SELECTOR: '.fm-select'\n @_SELECT_SELECTOR: 'select'\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: ['selected']\n\n select: (indexOrIndexArray) ->\n if @_$select.multiple\n if @_$multipleSelectPlaceholder\n selectedIndexes = indexOrIndexArray\n else\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\n Array.from(@_$select.options).forEach ($option, index) ->\n $option.selected = selectedIndexes.includes index\n @_markSelectedOption()\n else\n @_$select.selectedIndex = selectedIndex\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _getConfig: ->\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\n _$singleSelectSimulator = luda.$child \\\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\n _$multipleSelectPlaceholder = luda.$child \\\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\n _$defaultSelectedOptions = luda.$children \\\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\n @constructor._INITED_ATTRIBUTE\n {\n _$select,\n _$singleSelectSimulator,\n _$multipleSelectPlaceholder,\n _$defaultSelectedOptions,\n _defaultSelectedOptionMarked\n }\n\n _constructor: ->\n {\n @_$select,\n @_$singleSelectSimulator,\n @_$multipleSelectPlaceholder,\n @_$defaultSelectedOptions,\n @_defaultSelectedOptionMarked\n } = @_getConfig()\n if @_$select\n if @_$select.multiple\n @_initMultipleSelect()\n else\n @_initSingleSelect()\n \n _onMutations: ->\n @_constructor()\n\n _markSelectedOption: ->\n @_disconnect() if @_observer\n Array.from(@_$select.options).forEach ($option) ->\n if $option.selected\n $option.setAttribute 'selected', 'selected'\n else\n $option.removeAttribute 'selected'\n @_observe() unless @_observer\n\n _markDefaultSelectedOption: ->\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\n Array.from(@_$select.options).forEach ($option) =>\n if $option.selected\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\n\n _setSingleSelectedDefaultSelectedOption: ->\n hasSelected = Array.from(@_$select.options).some ($option) ->\n $option.getAttribute('selected') is 'selected'\n @_$select.selectedIndex = -1 unless hasSelected\n\n _insertSingleSelectSimulator: ->\n @_$singleSelectSimulator = document.createElement 'input'\n @_$singleSelectSimulator.tabIndex = -1\n luda.$after @_$singleSelectSimulator, @_$select\n\n _setSingleSelectPlaceholderValue: ->\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSingleSelectSimulatorValue: ->\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\n @_$singleSelectSimulator.value = $selectedOption.innerText\n else\n @_$singleSelectSimulator.value = ''\n\n _initSingleSelect: ->\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setSingleSelectedDefaultSelectedOption()\n @_setSingleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _insertMultipleSelectBlankOption: ->\n @_$multipleSelectPlaceholder = document.createElement 'option'\n @_$multipleSelectPlaceholder.className = \\\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\n @_$multipleSelectPlaceholder.disabled = true\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\n\n _setMultipleSelectPlaceholderValue: ->\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _initMultipleSelect: ->\n unless @_$multipleSelectPlaceholder\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_insertMultipleSelectBlankOption()\n @_setMultipleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n\n _reset: ->\n if @_$select\n Array.from(@_$select.options).forEach ($option) =>\n $option.selected = @_$defaultSelectedOptions.includes $option\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\n @_markSelectedOption()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._setSingleSelectSimulatorValue() unless this.multiple\n instance._markSelectedOption()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._reset()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'carousel'\n\n @_SELECTOR: '.carousel'\n @_ITEMS_SELECTOR: '.carousel-item'\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\n @_ACTIVE_INDEX: 0\n @_INTERVAL: 5000\n @_WRAP: true\n @_FALSE: 'false'\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n active: (index) ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\n @[action] @_$items[activedIndex], activedIndex\n\n next: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n @_transiting = true\n @_activeIndex = index\n @_slideNext @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n @_slidePrev @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n pause: ->\n if @_intervaling?\n clearInterval @_intervaling\n @_intervaling = null\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\n\n play: ->\n if @_interval and @_$items.length > 1\n @_playTimeStamp = Date.now()\n @pause()\n execute = =>\n @next()\n @_intervaling = setInterval @next.bind(this), @_interval\n @_intervaling = setTimeout execute, @_pausedRemainTime\n\n\n # private\n _getConfig: ->\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\n _$prevControl = luda.$child \\\n @constructor._PREV_CONTROL_SELECTOR, @_$component\n _$nextControl = luda.$child \\\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\n _activeIndex = _$items.indexOf \\\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\n if _interval is @constructor._FALSE\n _interval = false\n else\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\n {\n _$items,\n _$indicators,\n _$prevControl,\n _$nextControl,\n _activeIndex,\n _interval,\n _wrap\n }\n\n _constructor: ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_transiting = false\n @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @play()\n\n _onMutations: (mutations) ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_setIndicatorsState()\n @_setDirectionControlState()\n @play()\n\n _destroy: ->\n @pause()\n\n _layout: ->\n @_$items.forEach ($item, index) =>\n $item.style.transition = 'none'\n if index > @_activeIndex\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else if index < @_activeIndex\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow($item)\n $item.style.transition = ''\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slideNext: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n $indicator.disabled = index is @_activeIndex\n\n _setDirectionControlState: ->\n if @_$items.length <= 1\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\n else\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\n @_$nextControl?.disabled = \\\n @_activeIndex is @_$items.length - 1 and not @_wrap\n \n # static private\n @_init: ->\n self = this\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._transiting = false\n index = instance._$items.indexOf this\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\n else\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this\n luda.on 'touchstart', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'touchend', @_SELECTOR, (e) ->\n setTimeout => self.query(this).play()\n luda.on 'mouseover', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'mouseout', @_SELECTOR, (e) ->\n self.query(this).play()\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\n self.query(this).next()\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\n self.query(this).prev()\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).prev()\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'dropdown'\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\n .dropdown-static,.dropdown-absolute-m'\n @_MENU_SELECTOR: '.dropdown-menu'\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled])'\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle-disabled'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_NONE_TOGGLE_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n active: ->\n unless @_actived()\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.active()\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\n\n deactive: (focus) ->\n if @_actived()\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactive()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\n\n toggle: (focus) ->\n if @_actived() then @deactive(focus) else @active()\n\n prev: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) - 1\n focusIndex = 0 if focusIndex < 0\n @_$items[focusIndex].focus()\n\n next: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) + 1\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\n @_$items[focusIndex].focus()\n\n _getConfig: ->\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\n _$switches = luda.$unnested( \\\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\n .concat(luda.$unnested \\\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$noneSwitches = luda.$unnested( \\\n @constructor._NONE_SWITCHES_SELECTOR, \\\n @_$component, @constructor._SELECTOR) \\\n .concat(luda.$unnested \\\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\n {_$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n {\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _actived: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactiveChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n child.deactive() if child._actived() and not exceptions.includes child\n else\n @_children.forEach (child) ->\n child.deactive() if child._actived()\n\n @deactiveExcept: (instances$dropdowns) ->\n exceptions = []\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\n instances$dropdowns = [instances$dropdowns]\n if instances$dropdowns\n instances$dropdowns.forEach (instance$dropdown) =>\n exceptions.push exception if exception = @query instance$dropdown\n if exceptions.length\n @_instances.forEach (instance) ->\n instanceIsntInExceptions = not exceptions.includes instance\n instanceHasntExceptionChild = exceptions.every (exception) ->\n not instance._hasDescendant exception\n if instance._actived() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactive()\n else\n @_instances.forEach (instance) ->\n instance.deactive() if instance._actived()\n\n @_standaloneInstances: ->\n @_instances.filter (instance) -> instance if instance._isStandalone\n\n @_init: ->\n self = this\n luda.onOpposite 'click', @_SELECTOR, (e) ->\n self.deactiveExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactiveExcept(self._standaloneInstances().concat instance)\n instance._deactiveChildrenExcept()\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\n if instance._$switches.length or instance._$noneSwitches.length\n luda.eventPath(e).some ($path) ->\n if instance._$switches.includes $path\n instance.toggle focus\n toggleChecked = true\n else if instance._$noneSwitches.includes $path\n toggleChecked = true\n instance.toggle focus unless toggleChecked\n\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactiveExcept(instance)\n instance.active()\n luda.on 'keydown', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_ESC and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.deactive true\n else\n instance._parent?.deactive true\n luda.on 'keydown', @_SELECTOR, (e) ->\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.prev()\n else\n instance._parent?.prev()\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.next()\n else\n instance._parent?.next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\nimport '../behaviors/focus.coffee'\nimport '../behaviors/enter-click.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmDropdown'\n\n @_SELECTOR: '.fm-dropdown'\n @_VALUE_SPLITOR: ' '\n @_VALUE_ATTRIBUTE: 'data-fm-dropdown-value'\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n @_VALUE_HOLDER_SELECTOR: '.fm input'\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n 'checked'\n @_VALUE_ATTRIBUTE\n ]\n\n _getConfig: ->\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\n _$defaultValues = luda.$children \\\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\n _$valueHolder = luda.$child \\\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\n {_$values, _$valueHolder, _$defaultValues}\n\n _constructor: ->\n {\n @_$values,\n @_$valueHolder,\n @_$defaultValues\n } = @_getConfig()\n @_setValueHolderAttribute()\n @_setValueHolderValue()\n\n _onMutations: ->\n @_constructor()\n\n _setValueHolderValue: ->\n values = []\n @_$values.forEach ($value, index) =>\n if $value.checked\n if $value.hasAttribute @constructor._VALUE_ATTRIBUTE\n value = $value.getAttribute @constructor._VALUE_ATTRIBUTE\n else\n value = @_$defaultValues[index].innerText\n values.push value if value and not values.includes value\n if @_$valueHolder\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\n\n _setValueHolderAttribute: ->\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\n\n @_init: ->\n self = this\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setValueHolderValue()\n # prevent ios device pop out wired navigation pannel\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'tab'\n\n @_SELECTOR: '.tab'\n @_PANE_SELECTOR: '.tab-pane'\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\n @_ACTIVE_INDEX: 0\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n active: (index) ->\n if @_$panes.length\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n @_activeIndex = index\n @_active(activedIndex)\n\n # private\n _getConfig: ->\n _$panes = luda.$unnested \\\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\n _activeIndex = @constructor._ACTIVE_INDEX\n _$indicators.some ($indicator, index) ->\n if $indicator.checked\n _activeIndex = index\n true\n {_$panes, _$indicators, _activeIndex}\n\n _constructor: ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_active()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _active: (activedIndex) ->\n @_$panes.forEach ($pane, index) =>\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n if index is activedIndex\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\n @_setIndicatorsState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n else\n $indicator.removeAttribute 'checked'\n\n # static private\n @_init: ->\n self = this\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\n if this.checked\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"luda.js","sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviors/enter-click.coffee","../../src/coffee/behaviors/focus.coffee","../../src/coffee/behaviors/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviors/readonly.coffee","../../src/coffee/behaviors/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/patterns/carousel.coffee","../../src/coffee/patterns/dropdown.coffee","../../src/coffee/patterns/form-dropdown.coffee","../../src/coffee/patterns/tab.coffee"],"sourcesContent":["ENV = (->\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 runtime environment.'\n)()\n\n\n\nunless typeof ENV.luda is 'function'\n ENV.luda = (installer) ->\n throw new Error 'Installer cannot be detected.' unless installer\n unless ['object', 'function'].includes typeof installer\n throw new Error 'Installer must be object, array or function.'\n if installer.hasOwnProperty '_SCOPE'\n unless typeof installer._SCOPE is 'string'\n throw new Error '_SCOPE must be string'\n return ENV.luda._install installer._SCOPE, installer\n if installer instanceof Array or typeof installer is 'function'\n throw new Error 'Unscoped installer must be object.'\n installed = {}\n for name, property of installer\n installed[name] = ENV.luda._install name, property\n installed\n\n ENV.luda._install = (namespace, installer) ->\n if ENV.luda[namespace]\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\n return ENV.luda[namespace]\n for installedName, installedInstaller of ENV.luda\n if installer is installedInstaller\n console.warn \"Installer is installed with name #{installedName},\n skip installation.\"\n return ENV.luda[installedName]\n if installer._install\n if typeof installer._install is 'function'\n return ENV.luda[namespace] = installer._install()\n return ENV.luda[namespace] = installer._install\n ENV.luda[namespace] = installer","import './install.coffee'\n\n\n\nluda\n\n KEY_LEFT: 37\n KEY_UP: 38\n KEY_RIGHT: 39\n KEY_DOWN: 40\n KEY_TAB: 9\n KEY_ESC: 27\n KEY_ENTER: 13","import './install.coffee'\n\n\n\nluda\n \n $child: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $ancestor.querySelector selector\n\n $children: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $descendant = @$child selector, $ancestor\n if $descendant\n descendants = Array.from($ancestor.querySelectorAll selector)\n else\n descendants = []\n\n $unnested: (selector, $ancestor, ancestorSelector) ->\n descendants = @$children selector, $ancestor\n descendants.filter ($descendant) =>\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\n\n $parent: (selector, $descendant) ->\n $ancestor = $descendant.parentNode\n if $ancestor\n if $ancestor.matches and $ancestor.matches selector\n $ancestor\n else\n @$parent selector, $ancestor\n\n $parents: (selector, $descendant, _ancestors) ->\n $ancestor = @$parent selector, $descendant\n _ancestors = [] unless _ancestors\n if $ancestor\n _ancestors.push($ancestor)\n @$parents selector, $ancestor, _ancestors\n else\n _ancestors\n\n $after: ($node, $target) ->\n $parent = $target.parentNode\n if $parent.lastChild is $target\n $parent.appendChild $node\n else\n $parent.insertBefore $node, $target.nextSibling\n\n $prepend: ($node, $target) ->\n if $target.firstChild\n $target.insertBefore $node, $target.firstChild\n else\n $target.appendChild $node\n\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\nimport './dom.coffee'\n\n\n\nluda\n \n _SWIPE_DISTANCE: 10\n _EVENT_TYPE_PREFIX: 'luda'\n _SWIPE_LEFT: 'swipeleft'\n _SWIPE_RIGHT: 'swiperight'\n _SWIPE_UP: 'swipeup'\n _SWIPE_DOWN: 'swipedown'\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\n _DOC_READY: 'docready'\n _FORM_RESET: 'reset'\n\n eventPath: (event) ->\n if event.composedPath\n path = event.composedPath()\n else if event.path\n path = event.path\n else\n path = [event.target].concat(luda.$parents '*', event.target)\n\n on: (event, selector..., handler) ->\n switch event\n when @_DOC_READY then @_onDocReady handler\n when @_FORM_RESET then @_onReset selector[0], handler\n when @_SWIPE_LEFT, \\\n @_SWIPE_RIGHT, \\\n @_SWIPE_UP, \\\n @_SWIPE_DOWN, \\\n @_SWIPE_LEFT_OR_UP, \\\n @_SWIPE_RIGHT_OR_DOWN\n then @_onSwipe event, selector[0], handler\n else @_on event, selector[0], handler\n\n onOpposite: (event, selector, handler) ->\n _self = this\n document.addEventListener event, (e) ->\n trigger = _self.eventPath(e).every ($element) ->\n not $element.matches or not $element.matches selector\n handler e if trigger\n\n dispatch: ($target, type, detail, options = {}) ->\n options.bubbles = true unless typeof options.bubbles is 'boolean'\n options.cancelable = true unless typeof options.cancelable is 'boolean'\n options.composed = true unless typeof options.composed is 'boolean'\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\n evt.detail = detail\n $target.dispatchEvent evt\n evt\n \n _onDocReady: (handler) ->\n if document.readyState is 'loading'\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler()\n\n _onReset: (selector, handler) ->\n document.addEventListener 'reset', (e) ->\n if selector?\n luda.$children(selector, e.target).forEach ($element) ->\n handler.bind($element)(e)\n else\n handler e\n \n _onSwipe: (event, selector, handler) ->\n _self = this\n watch = false\n $touchStartElement = document\n touchStartE = null\n touchStartX = 0\n touchStartY = 0\n document.addEventListener 'touchstart', (e) ->\n if e.touches.length is 1\n touchStartX = e.touches[0].screenX\n touchStartY = e.touches[0].screenY\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n $touchStartElement = $element\n touchStartE = e\n watch = true\n return true\n else\n watch = true\n\n document.addEventListener 'touchmove', (e) ->\n if watch and e.touches.length is 1\n touchDistanceX = e.touches[0].screenX - touchStartX\n touchDistanceY = e.touches[0].screenY - touchStartY\n eventX = undefined\n eventY = undefined\n eventXOrY = undefined\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\n if touchDistanceX > 0\n eventX = _self._SWIPE_RIGHT\n else\n eventX = _self._SWIPE_LEFT\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\n if touchDistanceY > 0\n eventY = _self._SWIPE_DOWN\n else\n eventY = _self._SWIPE_UP\n if eventX is _self._SWIPE_LEFT \\\n or eventY is _self._SWIPE_UP\n eventXOrY = _self._SWIPE_LEFT_OR_UP\n if eventX is _self._SWIPE_RIGHT \\\n or eventY is _self._SWIPE_DOWN\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\n if (eventX? and eventX is event) \\\n or (eventY? and eventY is event) \\\n or eventXOrY is event\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element is $touchStartElement\n watch = false\n handler.bind($element)(touchStartE, e)\n return true\n else\n watch = false\n handler touchStartE, e\n\n _on: (event, selector, handler) ->\n if selector is window\n window.addEventListener event, (e) -> handler e\n else\n _self = this\n document.addEventListener event, (e) ->\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n handler.bind($element)(e)\n return true\n else\n handler e","import './install.coffee'\n\n\n\nluda\n \n except: (element, arr) ->\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\nimport './utilities.coffee'\n\n\n \nluda class Singleton\n\n @_SCOPE: 'Singleton'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_selector: ''\n @_actived: true\n\n @active: ->\n @_actived = true\n\n @deactive: ->\n @_actived = false\n\n @_add: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\n @_mergeSelectors()\n\n @_remove: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n luda.except selector, @_SELECTORS\n @_mergeSelectors()\n\n @_mergeSelectors: ->\n @_selector = @_SELECTORS.join ','\n\n @_install: ->\n return this if this is Singleton\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'enterClick'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_ENTER \\\n and e.target.matches self._selector\n e.preventDefault()\n setTimeout(-> e.target.click())","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'focus'\n\n @_CSS_CLASS: 'focus'\n # mouse focusable selectors\n @_SELECTORS: ['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 ]\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_removeFocusClassExcept: ($exception) ->\n Array.from(@_$focus).forEach ($focus) =>\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\n\n @_addFocusClassExceptHtmlAndBody: ($target) ->\n if $target isnt document.body and $target isnt document.documentElement\n $target.classList.add @_CSS_CLASS\n\n @_changeFocusStateOnKeyEvent: (e) ->\n if @_actived\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_actived\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\n else\n target = e.target\n if target.matches @_selector\n @_removeFocusClassExcept target\n @_addFocusClassExceptHtmlAndBody target\n else\n @_removeFocusClassExcept()\n\n @_setElementPrototype: ->\n focus = HTMLElement.prototype.focus\n blur = HTMLElement.prototype.blur\n self = this\n HTMLElement.prototype.focus = ->\n focus.apply this, arguments\n if self._actived and document.activeElement is this\n self._removeFocusClassExcept this\n self._addFocusClassExceptHtmlAndBody this\n HTMLElement.prototype.blur = ->\n blur.apply this, arguments\n this.classList.remove self._CSS_CLASS if self._actived\n\n @_init: ->\n self = this\n @_setElementPrototype()\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\n @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'radioTab'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_querySameName$radios: ($radio) ->\n if $radio.name\n selector = \"#{@_selector}[name=#{$radio.name}]\"\n else\n selector = @_selector\n $inputs = luda.$children selector\n $inputs.filter ($input) -> $input.tabIndex >= 0\n\n @_query$prev$next: ($radio) ->\n $sameNameRadios = @_querySameName$radios $radio\n radioIndex = $sameNameRadios.indexOf $radio\n $prev = $sameNameRadios[radioIndex - 1]\n $next = $sameNameRadios[radioIndex + 1]\n {$prev, $next}\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_TAB \\\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\n and e.target.type is 'radio'\n if e.shiftKey\n if $prev = self._query$prev$next(e.target).$prev\n e.preventDefault()\n $prev.focus()\n else\n if $next = self._query$prev$next(e.target).$next\n e.preventDefault()\n $next.focus()","import './install.coffee'\nimport './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Component\n\n @_SCOPE: 'Component'\n \n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\n @_SELECTOR: ''\n @_instances: []\n\n @_Observed: []\n @_observer: null\n @_observerConfig:\n childList: true\n subtree: true\n\n _hasDescendant: (descendant) ->\n if @_children.length and descendant\n return true if @_children.includes descendant\n return @_children.some (child) -> child._hasDescendant descendant\n else\n return false\n\n _observe: ->\n @_observer = new MutationObserver @_onMutations.bind this\n @_observer.observe @_$component, @constructor._observerConfig\n\n _disconnect: ->\n @_observer.disconnect()\n @_observer = null\n\n @create: ($component) ->\n componentIsElementInstance = $component instanceof Element\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\n $family = @_query$family $component\n instance = @query $component\n if $family._$parent\n if parent = @query $family._$parent\n @_instances.push instance = @_createInstance $component unless instance\n if instance._parent isnt parent\n parent._children.push(instance) and (instance._parent = parent)\n $family._$children.forEach ($child) => @create $child\n return instance\n else\n @create $family._$parent\n return @query $component\n else\n @_instances.push instance = @_createInstance $component unless instance\n $family._$children.forEach ($child) => @create $child\n return instance\n\n @destroy: (instance$component) ->\n instance = @query instance$component\n if instance\n instance._disconnect() if instance._observer\n instance._destroy() if instance._destroy\n @destroy instance._children[0] while instance._children.length\n if instance._parent\n luda.except instance, instance._parent._children\n luda.except instance, @_instances\n for attribute, value of instance\n instance[attribute] = null\n \n @query: (instance$component) ->\n instance = null\n if instance$component instanceof this \\\n and @_instances.includes instance$component\n instance = instance$component\n else if instance$component instanceof Element\n @_instances.some (inited) ->\n if inited._$component is instance$component\n instance = inited\n return true\n return instance\n\n @_query$family: ($component) ->\n _$parent = null\n _$children = []\n if @_SELECTOR\n _$parent = luda.$parent @_SELECTOR, $component\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\n {_$parent, _$children}\n\n @_createInstance: ($component) ->\n instance = new this()\n instance._$component = $component\n instance._parent = null\n instance._children = []\n instance._observer = null\n instance._constructor() if instance._constructor\n unless instance._observer and instance._onMutations and @_observerConfig\n instance._observe()\n instance\n\n @_observe: (classObj) ->\n unless Component._observer\n Component._observer = new MutationObserver (mutations) ->\n mutations.forEach (mutation) ->\n $removedNodes = Array.from mutation.removedNodes\n $addedNodes = Array.from mutation.addedNodes\n $removedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.destroy $node\n else\n $destroies = luda.$children Observed._SELECTOR, $node\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\n $addedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.create $node\n else\n $creates = luda.$children Observed._SELECTOR, $node\n $creates.forEach ($create) -> Observed.create $create\n Component._observer.observe document.documentElement, \\\n Component._observerConfig\n unless Component._Observed.includes classObj\n Component._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Component\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\n @_instances = [] unless @hasOwnProperty '_instances'\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, ->\n luda.$children(self._SELECTOR).forEach ($component) ->\n self.create $component\n Component._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_READONLY_FALSE_VALUE: 'false'\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\n\n @_observerConfig:\n attributes: true\n attributeFilter: [@_READONLY_ATTRIBUTE]\n\n _getConfig: ->\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\n _originalTabIndex = @_$component.tabIndex\n {_isReadonly, _originalTabIndex}\n \n _constructor: ->\n {\n @_isReadonly,\n @_originalTabIndex\n } = @_getConfig()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-toggle-disabled'\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\n ]\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @active: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.add @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\n\n @deactive: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.remove @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactive($target)\n else\n @active($target)\n\n @_query$targets: (name$target) ->\n if name$target instanceof Element\n [name$target]\n else\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\n\n @_init: ->\n self = this\n luda.on 'click', @_selector, (e) ->\n toggleChecked = false\n luda.eventPath(e).some ($path) ->\n if $path instanceof Element\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\n self.toggle toggleName\n toggleChecked = true\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\n $toggle = $path\n else\n $toggle = luda.$parent \\\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\n if $toggle\n self.toggle $toggle\n toggleChecked = true\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmFile'\n\n @_VALUE_SPLITOR: ' '\n @_SELECTOR: '.fm-file'\n @_FILE_SELECTOR: 'input[type=file]'\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_VALUE_ATTRIBUTE: 'value'\n\n @_observerConfig:\n childList: true\n subtree: true\n\n _getConfig: ->\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\n _$simulator = luda.$child \\\n @constructor._SIMULATOR_SELECTOR, @_$component\n {_$file, _$simulator}\n\n _constructor: ->\n {\n @_$file,\n @_$simulator\n } = @_getConfig()\n @_init()\n\n _onMutations: ->\n @_constructor()\n\n _insertSimulator: ->\n @_$simulator = document.createElement 'input'\n @_$simulator.tabIndex = -1\n luda.$after @_$simulator, @_$file\n\n _setPlaceholderValue: ->\n @_$simulator.placeholder = \\\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSimulatorValue: ->\n values = []\n Array.from(@_$file.files).map (file) -> values.push file.name\n if values.length\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\n\n _init: ->\n if @_$file\n @_insertSimulator() unless @_$simulator\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmSelect'\n\n @_SELECTOR: '.fm-select'\n @_SELECT_SELECTOR: 'select'\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: ['selected']\n\n select: (indexOrIndexArray) ->\n if @_$select.multiple\n if @_$multipleSelectPlaceholder\n selectedIndexes = indexOrIndexArray\n else\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\n Array.from(@_$select.options).forEach ($option, index) ->\n $option.selected = selectedIndexes.includes index\n @_markSelectedOption()\n else\n @_$select.selectedIndex = selectedIndex\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _getConfig: ->\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\n _$singleSelectSimulator = luda.$child \\\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\n _$multipleSelectPlaceholder = luda.$child \\\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\n _$defaultSelectedOptions = luda.$children \\\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\n @constructor._INITED_ATTRIBUTE\n {\n _$select,\n _$singleSelectSimulator,\n _$multipleSelectPlaceholder,\n _$defaultSelectedOptions,\n _defaultSelectedOptionMarked\n }\n\n _constructor: ->\n {\n @_$select,\n @_$singleSelectSimulator,\n @_$multipleSelectPlaceholder,\n @_$defaultSelectedOptions,\n @_defaultSelectedOptionMarked\n } = @_getConfig()\n if @_$select\n if @_$select.multiple\n @_initMultipleSelect()\n else\n @_initSingleSelect()\n \n _onMutations: ->\n @_constructor()\n\n _markSelectedOption: ->\n @_disconnect() if @_observer\n Array.from(@_$select.options).forEach ($option) ->\n if $option.selected\n $option.setAttribute 'selected', 'selected'\n else\n $option.removeAttribute 'selected'\n @_observe() unless @_observer\n\n _markDefaultSelectedOption: ->\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\n Array.from(@_$select.options).forEach ($option) =>\n if $option.selected\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\n\n _setSingleSelectedDefaultSelectedOption: ->\n hasSelected = Array.from(@_$select.options).some ($option) ->\n $option.getAttribute('selected') is 'selected'\n @_$select.selectedIndex = -1 unless hasSelected\n\n _insertSingleSelectSimulator: ->\n @_$singleSelectSimulator = document.createElement 'input'\n @_$singleSelectSimulator.tabIndex = -1\n luda.$after @_$singleSelectSimulator, @_$select\n\n _setSingleSelectPlaceholderValue: ->\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSingleSelectSimulatorValue: ->\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\n @_$singleSelectSimulator.value = $selectedOption.innerText\n else\n @_$singleSelectSimulator.value = ''\n\n _initSingleSelect: ->\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setSingleSelectedDefaultSelectedOption()\n @_setSingleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _insertMultipleSelectBlankOption: ->\n @_$multipleSelectPlaceholder = document.createElement 'option'\n @_$multipleSelectPlaceholder.className = \\\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\n @_$multipleSelectPlaceholder.disabled = true\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\n\n _setMultipleSelectPlaceholderValue: ->\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _initMultipleSelect: ->\n unless @_$multipleSelectPlaceholder\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_insertMultipleSelectBlankOption()\n @_setMultipleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n\n _reset: ->\n if @_$select\n Array.from(@_$select.options).forEach ($option) =>\n $option.selected = @_$defaultSelectedOptions.includes $option\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\n @_markSelectedOption()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._setSingleSelectSimulatorValue() unless this.multiple\n instance._markSelectedOption()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._reset()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'carousel'\n\n @_SELECTOR: '.carousel'\n @_ITEMS_SELECTOR: '.carousel-item'\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\n @_ACTIVE_INDEX: 0\n @_INTERVAL: 5000\n @_WRAP: true\n @_FALSE: 'false'\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n active: (index) ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\n @[action] @_$items[activedIndex], activedIndex\n\n next: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n @_transiting = true\n @_activeIndex = index\n @_slideNext @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n @_slidePrev @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n pause: ->\n if @_intervaling?\n clearInterval @_intervaling\n @_intervaling = null\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\n\n play: ->\n if @_interval and @_$items.length > 1\n @_playTimeStamp = Date.now()\n @pause()\n execute = =>\n @next()\n @_intervaling = setInterval @next.bind(this), @_interval\n @_intervaling = setTimeout execute, @_pausedRemainTime\n\n\n # private\n _getConfig: ->\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\n _$prevControl = luda.$child \\\n @constructor._PREV_CONTROL_SELECTOR, @_$component\n _$nextControl = luda.$child \\\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\n _activeIndex = _$items.indexOf \\\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\n if _interval is @constructor._FALSE\n _interval = false\n else\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\n {\n _$items,\n _$indicators,\n _$prevControl,\n _$nextControl,\n _activeIndex,\n _interval,\n _wrap\n }\n\n _constructor: ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_transiting = false\n @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @play()\n\n _onMutations: (mutations) ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_setIndicatorsState()\n @_setDirectionControlState()\n @play()\n\n _destroy: ->\n @pause()\n\n _layout: ->\n @_$items.forEach ($item, index) =>\n $item.style.transition = 'none'\n if index > @_activeIndex\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else if index < @_activeIndex\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow($item)\n $item.style.transition = ''\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slideNext: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n $indicator.disabled = index is @_activeIndex\n\n _setDirectionControlState: ->\n if @_$items.length <= 1\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\n else\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\n @_$nextControl?.disabled = \\\n @_activeIndex is @_$items.length - 1 and not @_wrap\n \n # static private\n @_init: ->\n self = this\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._transiting = false\n index = instance._$items.indexOf this\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\n else\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this\n luda.on 'touchstart', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'touchend', @_SELECTOR, (e) ->\n setTimeout => self.query(this).play()\n luda.on 'mouseover', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'mouseout', @_SELECTOR, (e) ->\n self.query(this).play()\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\n self.query(this).next()\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\n self.query(this).prev()\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).prev()\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'dropdown'\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\n .dropdown-static,.dropdown-absolute-m'\n @_MENU_SELECTOR: '.dropdown-menu'\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled])'\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle-disabled'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_NONE_TOGGLE_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n active: ->\n unless @_actived()\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.active()\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\n\n deactive: (focus) ->\n if @_actived()\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactive()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\n\n toggle: (focus) ->\n if @_actived() then @deactive(focus) else @active()\n\n prev: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) - 1\n focusIndex = 0 if focusIndex < 0\n @_$items[focusIndex].focus()\n\n next: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) + 1\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\n @_$items[focusIndex].focus()\n\n _getConfig: ->\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\n _$switches = luda.$unnested( \\\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\n .concat(luda.$unnested \\\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$noneSwitches = luda.$unnested( \\\n @constructor._NONE_SWITCHES_SELECTOR, \\\n @_$component, @constructor._SELECTOR) \\\n .concat(luda.$unnested \\\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\n {_$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n {\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _actived: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactiveChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n child.deactive() if child._actived() and not exceptions.includes child\n else\n @_children.forEach (child) ->\n child.deactive() if child._actived()\n\n @deactiveExcept: (instances$dropdowns) ->\n exceptions = []\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\n instances$dropdowns = [instances$dropdowns]\n if instances$dropdowns\n instances$dropdowns.forEach (instance$dropdown) =>\n exceptions.push exception if exception = @query instance$dropdown\n if exceptions.length\n @_instances.forEach (instance) ->\n instanceIsntInExceptions = not exceptions.includes instance\n instanceHasntExceptionChild = exceptions.every (exception) ->\n not instance._hasDescendant exception\n if instance._actived() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactive()\n else\n @_instances.forEach (instance) ->\n instance.deactive() if instance._actived()\n\n @_standaloneInstances: ->\n @_instances.filter (instance) -> instance if instance._isStandalone\n\n @_init: ->\n self = this\n luda.onOpposite 'click', @_SELECTOR, (e) ->\n self.deactiveExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactiveExcept(self._standaloneInstances().concat instance)\n instance._deactiveChildrenExcept()\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\n if instance._$switches.length or instance._$noneSwitches.length\n luda.eventPath(e).some ($path) ->\n if instance._$switches.includes $path\n instance.toggle focus\n toggleChecked = true\n else if instance._$noneSwitches.includes $path\n toggleChecked = true\n instance.toggle focus unless toggleChecked\n\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactiveExcept(instance)\n instance.active()\n luda.on 'keydown', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_ESC and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.deactive true\n else\n instance._parent?.deactive true\n luda.on 'keydown', @_SELECTOR, (e) ->\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.prev()\n else\n instance._parent?.prev()\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.next()\n else\n instance._parent?.next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\nimport '../behaviors/focus.coffee'\nimport '../behaviors/enter-click.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmDropdown'\n\n @_SELECTOR: '.fm-dropdown'\n @_VALUE_SPLITOR: ' '\n @_LABEL_ATTRIBUTE: 'data-fm-dropdown-label'\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n @_VALUE_HOLDER_SELECTOR: '.fm input'\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n 'checked'\n @_LABEL_ATTRIBUTE\n ]\n\n _getConfig: ->\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\n _$defaultValues = luda.$children \\\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\n _$valueHolder = luda.$child \\\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\n {_$values, _$valueHolder, _$defaultValues}\n\n _constructor: ->\n {\n @_$values,\n @_$valueHolder,\n @_$defaultValues\n } = @_getConfig()\n @_setValueHolderAttribute()\n @_setValueHolderValue()\n\n _onMutations: ->\n @_constructor()\n\n _setValueHolderValue: ->\n values = []\n @_$values.forEach ($value, index) =>\n if $value.checked\n if $value.hasAttribute @constructor._LABEL_ATTRIBUTE\n value = $value.getAttribute @constructor._LABEL_ATTRIBUTE\n else\n value = @_$defaultValues[index].innerText\n values.push value if value and not values.includes value\n if @_$valueHolder\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\n\n _setValueHolderAttribute: ->\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\n\n @_init: ->\n self = this\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setValueHolderValue()\n # prevent ios device pop out wired navigation pannel\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'tab'\n\n @_SELECTOR: '.tab'\n @_PANE_SELECTOR: '.tab-pane'\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\n @_ACTIVE_INDEX: 0\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n active: (index) ->\n if @_$panes.length\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n @_activeIndex = index\n @_active(activedIndex)\n\n # private\n _getConfig: ->\n _$panes = luda.$unnested \\\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\n _activeIndex = @constructor._ACTIVE_INDEX\n _$indicators.some ($indicator, index) ->\n if $indicator.checked\n _activeIndex = index\n true\n {_$panes, _$indicators, _activeIndex}\n\n _constructor: ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_active()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _active: (activedIndex) ->\n @_$panes.forEach ($pane, index) =>\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n if index is activedIndex\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\n @_setIndicatorsState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n else\n $indicator.removeAttribute 'checked'\n\n # static private\n @_init: ->\n self = this\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\n if this.checked\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Luda 0.1.10 | https://luda.dev
2
+ * Luda 0.1.11 | https://luda.dev
3
3
  * Copyright 2018 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 ENV;ENV=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported runtime environment.")}();if(typeof ENV.luda!=="function"){ENV.luda=function(installer){var installed,name,property;if(!installer){throw new Error("Installer cannot be detected.")}if(!["object","function"].includes(typeof installer)){throw new Error("Installer must be object, array or function.")}if(installer.hasOwnProperty("_SCOPE")){if(typeof installer._SCOPE!=="string"){throw new Error("_SCOPE must be string")}return ENV.luda._install(installer._SCOPE,installer)}if(installer instanceof Array||typeof installer==="function"){throw new Error("Unscoped installer must be object.")}installed={};for(name in installer){property=installer[name];installed[name]=ENV.luda._install(name,property)}return installed};ENV.luda._install=function(namespace,installer){var installedInstaller,installedName,ref;if(ENV.luda[namespace]){console.warn(`Namespace ${namespace} is ocupied, sikp installation.`);return ENV.luda[namespace]}ref=ENV.luda;for(installedName in ref){installedInstaller=ref[installedName];if(installer===installedInstaller){console.warn(`Installer is installed with name ${installedName}, skip installation.`);return ENV.luda[installedName]}}if(installer._install){if(typeof installer._install==="function"){return ENV.luda[namespace]=installer._install()}return ENV.luda[namespace]=installer._install}return ENV.luda[namespace]=installer}}luda({KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_TAB:9,KEY_ESC:27,KEY_ENTER:13});luda({$child:function(selector,$ancestor){if(!$ancestor){$ancestor=document}return $ancestor.querySelector(selector)},$children:function(selector,$ancestor){var $descendant,descendants;if(!$ancestor){$ancestor=document}$descendant=this.$child(selector,$ancestor);if($descendant){return descendants=Array.from($ancestor.querySelectorAll(selector))}else{return descendants=[]}},$unnested:function(selector,$ancestor,ancestorSelector){var descendants;descendants=this.$children(selector,$ancestor);return descendants.filter($descendant=>{if(this.$parent(ancestorSelector,$descendant)===$ancestor){return $descendant}})},$parent:function(selector,$descendant){var $ancestor;$ancestor=$descendant.parentNode;if($ancestor){if($ancestor.matches&&$ancestor.matches(selector)){return $ancestor}else{return this.$parent(selector,$ancestor)}}},$parents:function(selector,$descendant,_ancestors){var $ancestor;$ancestor=this.$parent(selector,$descendant);if(!_ancestors){_ancestors=[]}if($ancestor){_ancestors.push($ancestor);return this.$parents(selector,$ancestor,_ancestors)}else{return _ancestors}},$after:function($node,$target){var $parent;$parent=$target.parentNode;if($parent.lastChild===$target){return $parent.appendChild($node)}else{return $parent.insertBefore($node,$target.nextSibling)}},$prepend:function($node,$target){if($target.firstChild){return $target.insertBefore($node,$target.firstChild)}else{return $target.appendChild($node)}},reflow:function($element){return $element.offsetHeight}});var splice=[].splice;luda({_SWIPE_DISTANCE:10,_EVENT_TYPE_PREFIX:"luda",_SWIPE_LEFT:"swipeleft",_SWIPE_RIGHT:"swiperight",_SWIPE_UP:"swipeup",_SWIPE_DOWN:"swipedown",_SWIPE_LEFT_OR_UP:"swipeleft or swipeup",_SWIPE_RIGHT_OR_DOWN:"swiperight or swipedown",_DOC_READY:"docready",_FORM_RESET:"reset",eventPath:function(event){var path;if(event.composedPath){return path=event.composedPath()}else if(event.path){return path=event.path}else{return path=[event.target].concat(luda.$parents("*",event.target))}},on:function(event,...selector){var handler,ref;ref=selector,[...selector]=ref,[handler]=splice.call(selector,-1);switch(event){case this._DOC_READY:return this._onDocReady(handler);case this._FORM_RESET:return this._onReset(selector[0],handler);case this._SWIPE_LEFT:case this._SWIPE_RIGHT:case this._SWIPE_UP:case this._SWIPE_DOWN:case this._SWIPE_LEFT_OR_UP:case this._SWIPE_RIGHT_OR_DOWN:return this._onSwipe(event,selector[0],handler);default:return this._on(event,selector[0],handler)}},onOpposite:function(event,selector,handler){var _self;_self=this;return document.addEventListener(event,function(e){var trigger;trigger=_self.eventPath(e).every(function($element){return!$element.matches||!$element.matches(selector)});if(trigger){return handler(e)}})},dispatch:function($target,type,detail,options={}){var evt;if(typeof options.bubbles!=="boolean"){options.bubbles=true}if(typeof options.cancelable!=="boolean"){options.cancelable=true}if(typeof options.composed!=="boolean"){options.composed=true}evt=new Event(`${this._EVENT_TYPE_PREFIX}:${type}`,options);evt.detail=detail;$target.dispatchEvent(evt);return evt},_onDocReady:function(handler){if(document.readyState==="loading"){return document.addEventListener("DOMContentLoaded",handler)}else{return handler()}},_onReset:function(selector,handler){return document.addEventListener("reset",function(e){if(selector!=null){return luda.$children(selector,e.target).forEach(function($element){return handler.bind($element)(e)})}else{return handler(e)}})},_onSwipe:function(event,selector,handler){var $touchStartElement,_self,touchStartE,touchStartX,touchStartY,watch;_self=this;watch=false;$touchStartElement=document;touchStartE=null;touchStartX=0;touchStartY=0;document.addEventListener("touchstart",function(e){if(e.touches.length===1){touchStartX=e.touches[0].screenX;touchStartY=e.touches[0].screenY;if(selector!=null){return _self.eventPath(e).some(function($element){if($element.matches&&$element.matches(selector)){$touchStartElement=$element;touchStartE=e;watch=true;return true}})}else{return watch=true}}});return document.addEventListener("touchmove",function(e){var eventX,eventXOrY,eventY,touchDistanceX,touchDistanceY;if(watch&&e.touches.length===1){touchDistanceX=e.touches[0].screenX-touchStartX;touchDistanceY=e.touches[0].screenY-touchStartY;eventX=void 0;eventY=void 0;eventXOrY=void 0;if(Math.abs(touchDistanceX)>=_self._SWIPE_DISTANCE){if(touchDistanceX>0){eventX=_self._SWIPE_RIGHT}else{eventX=_self._SWIPE_LEFT}}if(Math.abs(touchDistanceY)>=_self._SWIPE_DISTANCE){if(touchDistanceY>0){eventY=_self._SWIPE_DOWN}else{eventY=_self._SWIPE_UP}}if(eventX===_self._SWIPE_LEFT||eventY===_self._SWIPE_UP){eventXOrY=_self._SWIPE_LEFT_OR_UP}if(eventX===_self._SWIPE_RIGHT||eventY===_self._SWIPE_DOWN){eventXOrY=_self._SWIPE_RIGHT_OR_DOWN}if(eventX!=null&&eventX===event||eventY!=null&&eventY===event||eventXOrY===event){if(selector!=null){return _self.eventPath(e).some(function($element){if($element===$touchStartElement){watch=false;handler.bind($element)(touchStartE,e);return true}})}else{watch=false;return handler(touchStartE,e)}}}})},_on:function(event,selector,handler){var _self;if(selector===window){return window.addEventListener(event,function(e){return handler(e)})}else{_self=this;return document.addEventListener(event,function(e){if(selector!=null){return _self.eventPath(e).some(function($element){if($element.matches&&$element.matches(selector)){handler.bind($element)(e);return true}})}else{return handler(e)}})}}});luda({except:function(element,arr){if(arr.includes(element)){return arr.splice(arr.indexOf(element),1)}}});var Singleton;luda(Singleton=function(){class Singleton{static active(){return this._actived=true}static deactive(){return this._actived=false}static _add(selector){if(typeof selector!=="string"){throw new Error(this._SELECTOR_INVALID_ERROR)}if(!this._SELECTORS.includes(selector)){this._SELECTORS.push(selector)}return this._mergeSelectors()}static _remove(selector){if(typeof selector!=="string"){throw new Error(this._SELECTOR_INVALID_ERROR)}luda.except(selector,this._SELECTORS);return this._mergeSelectors()}static _mergeSelectors(){return this._selector=this._SELECTORS.join(",")}static _install(){var exposed;if(this===Singleton){return this}if(!this.hasOwnProperty("_SELECTORS")){this._SELECTORS=[]}this._mergeSelectors();if(typeof this._init==="function"){exposed=this._init()}if(exposed){return exposed}else{return this}}}Singleton._SCOPE="Singleton";Singleton._SELECTOR_INVALID_ERROR="@param selector must be a css selector string";Singleton._SELECTORS=[];Singleton._selector="";Singleton._actived=true;return Singleton}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static _init(){var self;self=this;return luda.on("keydown",function(e){if(self._actived&&e.keyCode===luda.KEY_ENTER&&e.target.matches(self._selector)){e.preventDefault();return setTimeout(function(){return e.target.click()})}})}};_Class._SCOPE="enterClick";_Class._SELECTORS=["input[type=checkbox]","input[type=radio]","[tabindex]"];return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static _removeFocusClassExcept($exception){return Array.from(this._$focus).forEach($focus=>{if($focus!==$exception){return $focus.classList.remove(this._CSS_CLASS)}})}static _addFocusClassExceptHtmlAndBody($target){if($target!==document.body&&$target!==document.documentElement){return $target.classList.add(this._CSS_CLASS)}}static _changeFocusStateOnKeyEvent(e){if(this._actived){this._removeFocusClassExcept(e.target);return this._addFocusClassExceptHtmlAndBody(e.target)}}static _changeFocusStateOnMouseDownEvent(e){var target;if(this._actived){if(e.target.matches(this._PARENT_FOCUS_CHILDREN_SELECTOR)){target=luda.$parent(this._PARENT_FOCUS_SELECTOR,e.target)}else{target=e.target}if(target.matches(this._selector)){this._removeFocusClassExcept(target);return this._addFocusClassExceptHtmlAndBody(target)}else{return this._removeFocusClassExcept()}}}static _setElementPrototype(){var blur,focus,self;focus=HTMLElement.prototype.focus;blur=HTMLElement.prototype.blur;self=this;HTMLElement.prototype.focus=function(){focus.apply(this,arguments);if(self._actived&&document.activeElement===this){self._removeFocusClassExcept(this);return self._addFocusClassExceptHtmlAndBody(this)}};return HTMLElement.prototype.blur=function(){blur.apply(this,arguments);if(self._actived){return this.classList.remove(self._CSS_CLASS)}}}static _init(){this._setElementPrototype();luda.on("keydown",this._changeFocusStateOnKeyEvent.bind(this));luda.on("keyup",this._changeFocusStateOnKeyEvent.bind(this));luda.on("mousedown",this._changeFocusStateOnMouseDownEvent.bind(this));luda.on("touchstart",this._TOUCHSTART_FOCUS_SELECTOR,this._changeFocusStateOnMouseDownEvent.bind(this));return luda.on("focusin",this._changeFocusStateOnMouseDownEvent.bind(this))}};_Class._SCOPE="focus";_Class._CSS_CLASS="focus";_Class._SELECTORS=["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])"];_Class._TOUCHSTART_FOCUS_SELECTOR="input[type=range]";_Class._PARENT_FOCUS_SELECTOR="select[multiple]";_Class._PARENT_FOCUS_CHILDREN_SELECTOR=`${_Class._PARENT_FOCUS_SELECTOR} *`;_Class._$focus=document.getElementsByClassName(_Class._CSS_CLASS);return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static _querySameName$radios($radio){var $inputs,selector;if($radio.name){selector=`${this._selector}[name=${$radio.name}]`}else{selector=this._selector}$inputs=luda.$children(selector);return $inputs.filter(function($input){return $input.tabIndex>=0})}static _query$prev$next($radio){var $next,$prev,$sameNameRadios,radioIndex;$sameNameRadios=this._querySameName$radios($radio);radioIndex=$sameNameRadios.indexOf($radio);$prev=$sameNameRadios[radioIndex-1];$next=$sameNameRadios[radioIndex+1];return{$prev:$prev,$next:$next}}static _init(){var self;self=this;return luda.on("keydown",function(e){var $next,$prev;if(self._actived&&e.keyCode===luda.KEY_TAB&&e.target.nodeName.toUpperCase()==="INPUT"&&e.target.type==="radio"){if(e.shiftKey){if($prev=self._query$prev$next(e.target).$prev){e.preventDefault();return $prev.focus()}}else{if($next=self._query$prev$next(e.target).$next){e.preventDefault();return $next.focus()}}}})}};_Class._SCOPE="radioTab";_Class._SELECTORS=["input[type=radio]:not([disabled])"];return _Class}.call(this));var Component;luda(Component=function(){class Component{_hasDescendant(descendant){if(this._children.length&&descendant){if(this._children.includes(descendant)){return true}return this._children.some(function(child){return child._hasDescendant(descendant)})}else{return false}}_observe(){this._observer=new MutationObserver(this._onMutations.bind(this));return this._observer.observe(this._$component,this.constructor._observerConfig)}_disconnect(){this._observer.disconnect();return this._observer=null}static create($component){var $family,componentIsElementInstance,instance,parent;componentIsElementInstance=$component instanceof Element;if(!componentIsElementInstance){throw new Error(this._$COMPONENT_INVALID_ERROR)}$family=this._query$family($component);instance=this.query($component);if($family._$parent){if(parent=this.query($family._$parent)){if(!instance){this._instances.push(instance=this._createInstance($component))}if(instance._parent!==parent){parent._children.push(instance)&&(instance._parent=parent)}$family._$children.forEach($child=>{return this.create($child)});return instance}else{this.create($family._$parent);return this.query($component)}}else{if(!instance){this._instances.push(instance=this._createInstance($component))}$family._$children.forEach($child=>{return this.create($child)});return instance}}static destroy(instance$component){var attribute,instance,results,value;instance=this.query(instance$component);if(instance){if(instance._observer){instance._disconnect()}if(instance._destroy){instance._destroy()}while(instance._children.length){this.destroy(instance._children[0])}if(instance._parent){luda.except(instance,instance._parent._children)}luda.except(instance,this._instances);results=[];for(attribute in instance){value=instance[attribute];results.push(instance[attribute]=null)}return results}}static query(instance$component){var instance;instance=null;if(instance$component instanceof this&&this._instances.includes(instance$component)){instance=instance$component}else if(instance$component instanceof Element){this._instances.some(function(inited){if(inited._$component===instance$component){instance=inited;return true}})}return instance}static _query$family($component){var _$children,_$parent;_$parent=null;_$children=[];if(this._SELECTOR){_$parent=luda.$parent(this._SELECTOR,$component);_$children=luda.$unnested(this._SELECTOR,$component,this._SELECTOR)}return{_$parent:_$parent,_$children:_$children}}static _createInstance($component){var instance;instance=new this;instance._$component=$component;instance._parent=null;instance._children=[];instance._observer=null;if(instance._constructor){instance._constructor()}if(!(instance._observer&&instance._onMutations&&this._observerConfig)){instance._observe()}return instance}static _observe(classObj){if(!Component._observer){Component._observer=new MutationObserver(function(mutations){return mutations.forEach(function(mutation){var $addedNodes,$removedNodes;$removedNodes=Array.from(mutation.removedNodes);$addedNodes=Array.from(mutation.addedNodes);$removedNodes.forEach(function($node){if($node instanceof Element){return Component._Observed.forEach(function(Observed){var $destroies;if($node.matches(Observed._SELECTOR)){return Observed.destroy($node)}else{$destroies=luda.$children(Observed._SELECTOR,$node);return $destroies.forEach(function($destroy){return Observed.destroy($destroy)})}})}});return $addedNodes.forEach(function($node){if($node instanceof Element){return Component._Observed.forEach(function(Observed){var $creates;if($node.matches(Observed._SELECTOR)){return Observed.create($node)}else{$creates=luda.$children(Observed._SELECTOR,$node);return $creates.forEach(function($create){return Observed.create($create)})}})}})})});Component._observer.observe(document.documentElement,Component._observerConfig)}if(!Component._Observed.includes(classObj)){return Component._Observed.push(classObj)}}static _install(){var exposed,self;self=this;if(this===Component){return this}if(!(this._SELECTOR||typeof this._SELECTOR!=="string")){throw new Error(this._COMPONENT_NO_SELECTOR_ERROR)}if(!this.hasOwnProperty("_instances")){this._instances=[]}if(typeof this._init==="function"){exposed=this._init()}luda.on(luda._DOC_READY,function(){luda.$children(self._SELECTOR).forEach(function($component){return self.create($component)});return Component._observe(self)});if(exposed){return exposed}else{return this}}}Component._SCOPE="Component";Component._COMPONENT_NO_SELECTOR_ERROR="Extended component must has a css selector";Component._$COMPONENT_INVALID_ERROR="@param $component must be an instance of Element";Component._SELECTOR="";Component._instances=[];Component._Observed=[];Component._observer=null;Component._observerConfig={childList:true,subtree:true};return Component}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{_getConfig(){var _isReadonly,_originalTabIndex,readonly;readonly=this._$component.getAttribute(this.constructor._READONLY_ATTRIBUTE);_isReadonly=readonly!==this.constructor._READONLY_FALSE_VALUE;_originalTabIndex=this._$component.tabIndex;return{_isReadonly:_isReadonly,_originalTabIndex:_originalTabIndex}}_constructor(){({_isReadonly:this._isReadonly,_originalTabIndex:this._originalTabIndex}=this._getConfig());return this._setTabIndex()}_onMutations(){return this._constructor()}_setTabIndex(){if(this._isReadonly){return this._$component.tabIndex=-1}else{return this._$component.tabIndex=this._originalTabIndex}}};_Class._SCOPE="readonly";_Class._READONLY_ATTRIBUTE="data-readonly";_Class._READONLY_FALSE_VALUE="false";_Class._SELECTOR=`[${_Class._READONLY_ATTRIBUTE}]`;_Class._observerConfig={attributes:true,attributeFilter:[_Class._READONLY_ATTRIBUTE]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static active(name$target){return this._query$targets(name$target).forEach($target=>{$target.classList.add(this._ACTIVE_CSS_CLASS);return luda.dispatch($target,this._ACTIVED_EVENT_TYPE)})}static deactive(name$target){return this._query$targets(name$target).forEach($target=>{$target.classList.remove(this._ACTIVE_CSS_CLASS);return luda.dispatch($target,this._DEACTIVED_EVENT_TYPE)})}static toggle(name$target){return this._query$targets(name$target).forEach($target=>{if($target.classList.contains(this._ACTIVE_CSS_CLASS)){return this.deactive($target)}else{return this.active($target)}})}static _query$targets(name$target){if(name$target instanceof Element){return[name$target]}else{return luda.$children(`[${this._TOGGLE_TARGET_ATTRIBUTE}=${name$target}]`)}}static _init(){var self;self=this;return luda.on("click",this._selector,function(e){var toggleChecked;toggleChecked=false;return luda.eventPath(e).some(function($path){var $toggle,toggleName;if($path instanceof Element){if($path.hasAttribute(self._TOGGLE_ATTRIBUTE)||$path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)){if(toggleName=$path.getAttribute(self._TOGGLE_FOR_ATTRIBUTE)){self.toggle(toggleName);toggleChecked=true}if($path.hasAttribute(self._TOGGLE_ATTRIBUTE)){if($path.hasAttribute(self._TOGGLE_TARGET_ATTRIBUTE)){$toggle=$path}else{$toggle=luda.$parent(`[${self._TOGGLE_TARGET_ATTRIBUTE}]`,$path)}if($toggle){self.toggle($toggle);return toggleChecked=true}}}else if($path.hasAttribute(self._NONE_TOGGLE_ATTRIBUTE)){return toggleChecked=true}}})})}};_Class._SCOPE="toggle";_Class._TOGGLE_TARGET_ATTRIBUTE="data-toggle-target";_Class._TOGGLE_ATTRIBUTE="data-toggle";_Class._TOGGLE_FOR_ATTRIBUTE="data-toggle-for";_Class._NONE_TOGGLE_ATTRIBUTE="data-toggle-disabled";_Class._ACTIVE_CSS_CLASS="toggle-active";_Class._SELECTORS=[`[${_Class._TOGGLE_FOR_ATTRIBUTE}]`,`[${_Class._TOGGLE_ATTRIBUTE}]`];_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{_getConfig(){var _$file,_$simulator;_$file=luda.$child(this.constructor._FILE_SELECTOR,this._$component);_$simulator=luda.$child(this.constructor._SIMULATOR_SELECTOR,this._$component);return{_$file:_$file,_$simulator:_$simulator}}_constructor(){({_$file:this._$file,_$simulator:this._$simulator}=this._getConfig());return this._init()}_onMutations(){return this._constructor()}_insertSimulator(){this._$simulator=document.createElement("input");this._$simulator.tabIndex=-1;return luda.$after(this._$simulator,this._$file)}_setPlaceholderValue(){return this._$simulator.placeholder=this._$file.getAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)}_setSimulatorValue(){var values;values=[];Array.from(this._$file.files).map(function(file){return values.push(file.name)});if(values.length){return this._$simulator.value=values.join(this.constructor._VALUE_SPLITOR)}else if(this._$file.hasAttribute(this.constructor._VALUE_ATTRIBUTE)){return this._$simulator.value=this._$file.getAttribute(this.constructor._VALUE_ATTRIBUTE)}}_init(){if(this._$file){if(!this._$simulator){this._insertSimulator()}if(this._$file.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){this._setPlaceholderValue()}return this._setSimulatorValue()}}static _init(){var self;self=this;luda.on("change",`${this._SELECTOR} ${this._FILE_SELECTOR}`,function(e){return self.query(luda.$parent(self._SELECTOR,this))._setSimulatorValue()});return luda.on(luda._FORM_RESET,this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this)._setSimulatorValue()})})}};_Class._SCOPE="fmFile";_Class._VALUE_SPLITOR=" ";_Class._SELECTOR=".fm-file";_Class._FILE_SELECTOR="input[type=file]";_Class._SIMULATOR_SELECTOR="input:not([type=file])";_Class._PLACEHOLDER_ATTRIBUTE="placeholder";_Class._VALUE_ATTRIBUTE="value";_Class._observerConfig={childList:true,subtree:true};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{select(indexOrIndexArray){var selectedIndexes;if(this._$select.multiple){if(this._$multipleSelectPlaceholder){selectedIndexes=indexOrIndexArray}else{selectedIndexes=indexOrIndexArray.map(function(index){return index+1})}Array.from(this._$select.options).forEach(function($option,index){return $option.selected=selectedIndexes.includes(index)});return this._markSelectedOption()}else{this._$select.selectedIndex=selectedIndex;this._setSingleSelectSimulatorValue();return this._markSelectedOption()}}_getConfig(){var _$defaultSelectedOptions,_$multipleSelectPlaceholder,_$select,_$singleSelectSimulator,_defaultSelectedOptionMarked;_$select=luda.$child(this.constructor._SELECT_SELECTOR,this._$component);_$singleSelectSimulator=luda.$child(this.constructor._SINGLE_SELECT_SIMULATOR_SELECTOR,this._$component);_$multipleSelectPlaceholder=luda.$child(`.${this.constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}`,this._$component);_$defaultSelectedOptions=luda.$children(`[${this.constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]`,this._$component);_defaultSelectedOptionMarked=this._$component.hasAttribute(this.constructor._INITED_ATTRIBUTE);return{_$select:_$select,_$singleSelectSimulator:_$singleSelectSimulator,_$multipleSelectPlaceholder:_$multipleSelectPlaceholder,_$defaultSelectedOptions:_$defaultSelectedOptions,_defaultSelectedOptionMarked:_defaultSelectedOptionMarked}}_constructor(){({_$select:this._$select,_$singleSelectSimulator:this._$singleSelectSimulator,_$multipleSelectPlaceholder:this._$multipleSelectPlaceholder,_$defaultSelectedOptions:this._$defaultSelectedOptions,_defaultSelectedOptionMarked:this._defaultSelectedOptionMarked}=this._getConfig());if(this._$select){if(this._$select.multiple){return this._initMultipleSelect()}else{return this._initSingleSelect()}}}_onMutations(){return this._constructor()}_markSelectedOption(){if(this._observer){this._disconnect()}Array.from(this._$select.options).forEach(function($option){if($option.selected){return $option.setAttribute("selected","selected")}else{return $option.removeAttribute("selected")}});if(!this._observer){return this._observe()}}_markDefaultSelectedOption(){this._$component.setAttribute(this.constructor._INITED_ATTRIBUTE,"");return Array.from(this._$select.options).forEach($option=>{if($option.selected){return $option.setAttribute(this.constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE,"")}})}_setSingleSelectedDefaultSelectedOption(){var hasSelected;hasSelected=Array.from(this._$select.options).some(function($option){return $option.getAttribute("selected")==="selected"});if(!hasSelected){return this._$select.selectedIndex=-1}}_insertSingleSelectSimulator(){this._$singleSelectSimulator=document.createElement("input");this._$singleSelectSimulator.tabIndex=-1;return luda.$after(this._$singleSelectSimulator,this._$select)}_setSingleSelectPlaceholderValue(){return this._$singleSelectSimulator.placeholder=this._$select.getAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)}_setSingleSelectSimulatorValue(){var $selectedOption;if($selectedOption=this._$select.options[this._$select.selectedIndex]){return this._$singleSelectSimulator.value=$selectedOption.innerText}else{return this._$singleSelectSimulator.value=""}}_initSingleSelect(){if(!this._$singleSelectSimulator){this._insertSingleSelectSimulator()}if(this._$select.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){this._setSingleSelectedDefaultSelectedOption();this._setSingleSelectPlaceholderValue()}if(!this._defaultSelectedOptionMarked){this._markDefaultSelectedOption()}this._setSingleSelectSimulatorValue();return this._markSelectedOption()}_insertMultipleSelectBlankOption(){this._$multipleSelectPlaceholder=document.createElement("option");this._$multipleSelectPlaceholder.className=this.constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS;this._$multipleSelectPlaceholder.disabled=true;return luda.$prepend(this._$multipleSelectPlaceholder,this._$select)}_setMultipleSelectPlaceholderValue(){return this._$multipleSelectPlaceholder.innerText=this._$select.getAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)}_initMultipleSelect(){if(!this._$multipleSelectPlaceholder){if(this._$select.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){this._insertMultipleSelectBlankOption();this._setMultipleSelectPlaceholderValue()}}if(!this._defaultSelectedOptionMarked){return this._markDefaultSelectedOption()}}_reset(){if(this._$select){Array.from(this._$select.options).forEach($option=>{return $option.selected=this._$defaultSelectedOptions.includes($option)});if(!this._$select.multiple){this._setSingleSelectSimulatorValue()}return this._markSelectedOption()}}static _init(){var self;self=this;luda.on("change",`${this._SELECTOR} ${this._SELECT_SELECTOR}`,function(e){var instance;instance=self.query(luda.$parent(self._SELECTOR,this));if(!this.multiple){instance._setSingleSelectSimulatorValue()}return instance._markSelectedOption()});return luda.on(luda._FORM_RESET,this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this)._reset()})})}};_Class._SCOPE="fmSelect";_Class._SELECTOR=".fm-select";_Class._SELECT_SELECTOR="select";_Class._SINGLE_SELECT_SIMULATOR_SELECTOR="input";_Class._PLACEHOLDER_ATTRIBUTE="placeholder";_Class._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS="fm-select-multiple-placeholder";_Class._DEFAULT_SELECTED_OPTION_ATTRIBUTE="data-fm-select-default-selected";_Class._INITED_ATTRIBUTE="data-fm-select-inited";_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:["selected"]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{active(index){var action,activedIndex;if(this._$items.length&&!this._transiting){activedIndex=this._activeIndex;if(index!=null&&index!==this._activeIndex&&(0<=index&&index<=this._$items.length-1)){this._transiting=true;this._activeIndex=index;action=index<activedIndex?"_slidePrev":"_slideNext";return this[action](this._$items[activedIndex],activedIndex)}}}next(){var activedIndex,index;if(this._$items.length&&!this._transiting){activedIndex=this._activeIndex;index=activedIndex+1;if(index>this._$items.length-1){if(!this._wrap){return}index=0}this._transiting=true;this._activeIndex=index;this._slideNext(this._$items[activedIndex],activedIndex);this._playTimeStamp=Date.now();return this._pausedRemainTime=this._interval}}prev(){var activedIndex,index;if(this._$items.length&&!this._transiting){activedIndex=this._activeIndex;index=activedIndex-1;if(index<0){if(!this._wrap){return}index=this._$items.length-1}this._transiting=true;this._activeIndex=index;this._slidePrev(this._$items[activedIndex],activedIndex);this._playTimeStamp=Date.now();return this._pausedRemainTime=this._interval}}pause(){if(this._intervaling!=null){clearInterval(this._intervaling);this._intervaling=null;return this._pausedRemainTime=this._pausedRemainTime-(Date.now()-this._playTimeStamp)}}play(){var execute;if(this._interval&&this._$items.length>1){this._playTimeStamp=Date.now();this.pause();execute=(()=>{this.next();return this._intervaling=setInterval(this.next.bind(this),this._interval)});return this._intervaling=setTimeout(execute,this._pausedRemainTime)}}_getConfig(){var _$indicators,_$items,_$nextControl,_$prevControl,_activeIndex,_interval,_wrap;_$items=luda.$unnested(this.constructor._ITEMS_SELECTOR,this._$component,this.constructor._SELECTOR);_$indicators=luda.$unnested(this.constructor._INDICATORS_SELECTOR,this._$component,this.constructor._SELECTOR);_$prevControl=luda.$child(this.constructor._PREV_CONTROL_SELECTOR,this._$component);_$nextControl=luda.$child(this.constructor._NEXT_CONTROL_SELECTOR,this._$component);_activeIndex=_$items.indexOf(luda.$child(`.${this.constructor._ITEM_ACTIVE_CSS_CLASS}`,this._$component));if(_activeIndex===-1){_activeIndex=this.constructor._ACTIVE_INDEX}_interval=this._$component.getAttribute(this.constructor._INTERVAL_ATTRIBUTE);if(_interval===this.constructor._FALSE){_interval=false}else{_interval=Math.abs(parseInt(_interval,10))||this.constructor._INTERVAL}_wrap=this._$component.getAttribute(this.constructor._WRAP_ATTRIBUTE);_wrap=_wrap===this.constructor._FALSE?false:this.constructor._WRAP;return{_$items:_$items,_$indicators:_$indicators,_$prevControl:_$prevControl,_$nextControl:_$nextControl,_activeIndex:_activeIndex,_interval:_interval,_wrap:_wrap}}_constructor(){({_$items:this._$items,_$indicators:this._$indicators,_$prevControl:this._$prevControl,_$nextControl:this._$nextControl,_activeIndex:this._activeIndex,_interval:this._interval,_wrap:this._wrap}=this._getConfig());this._transiting=false;this._intervaling=null;this._playTimeStamp=0;this._pausedRemainTime=this._interval;this._layout();return this.play()}_onMutations(mutations){({_$items:this._$items,_$indicators:this._$indicators,_$prevControl:this._$prevControl,_$nextControl:this._$nextControl,_activeIndex:this._activeIndex,_interval:this._interval,_wrap:this._wrap}=this._getConfig());this._setIndicatorsState();this._setDirectionControlState();return this.play()}_destroy(){return this.pause()}_layout(){this._$items.forEach(($item,index)=>{$item.style.transition="none";if(index>this._activeIndex){$item.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS)}else if(index<this._activeIndex){$item.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS)}else{luda.dispatch($item,this.constructor._ACTIVED_EVENT_TYPE,index);$item.classList.add(this.constructor._ITEM_ACTIVE_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS)}luda.reflow($item);return $item.style.transition=""});this._setIndicatorsState();return this._setDirectionControlState()}_slideNext($activedItem,activedIndex){var $item;if(this._$items.length>1){$item=this._$items[this._activeIndex];luda.dispatch($item,this.constructor._ACTIVE_EVENT_TYPE,this._activeIndex);$item.style.transition="none";$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);luda.reflow($item);$item.style.transition="";$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.add(this.constructor._ITEM_ACTIVE_CSS_CLASS);luda.dispatch($activedItem,this.constructor._DEACTIVE_EVENT_TYPE,activedIndex);$activedItem.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS);$activedItem.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);this._setIndicatorsState();return this._setDirectionControlState()}}_slidePrev($activedItem,activedIndex){var $item;if(this._$items.length>1){$item=this._$items[this._activeIndex];luda.dispatch($item,this.constructor._ACTIVE_EVENT_TYPE,this._activeIndex);$item.style.transition="none";$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);luda.reflow($item);$item.style.transition="";$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.add(this.constructor._ITEM_ACTIVE_CSS_CLASS);luda.dispatch($activedItem,this.constructor._DEACTIVE_EVENT_TYPE,activedIndex);$activedItem.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS);$activedItem.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);this._setIndicatorsState();return this._setDirectionControlState()}}_setIndicatorsState(){return this._$indicators.forEach(($indicator,index)=>{return $indicator.disabled=index===this._activeIndex})}_setDirectionControlState(){var ref,ref1,ref2,ref3;if(this._$items.length<=1){return(ref=this._$prevControl)!=null?ref.disabled=(ref1=this._$nextControl)!=null?ref1.disabled=true:void 0:void 0}else{if((ref2=this._$prevControl)!=null){ref2.disabled=this._activeIndex===0&&!this._wrap}return(ref3=this._$nextControl)!=null?ref3.disabled=this._activeIndex===this._$items.length-1&&!this._wrap:void 0}}static _init(){var self;self=this;luda.on("transitionend",this._ITEMS_SELECTOR,function(e){var index,instance;instance=self.query(luda.$parent(self._SELECTOR,this));instance._transiting=false;index=instance._$items.indexOf(this);if(this.classList.contains(self._ITEM_ACTIVE_CSS_CLASS)){return luda.dispatch(this,self._ACTIVED_EVENT_TYPE,index)}else{return luda.dispatch(this,self._DEACTIVED_EVENT_TYPE,index)}});luda.on("click",this._INDICATORS_SELECTOR,function(e){var instance;instance=self.query(luda.$parent(self._SELECTOR,this));return instance.active(instance._$indicators.indexOf(this))});luda.on("touchstart",this._SELECTOR,function(e){return self.query(this).pause()});luda.on("touchend",this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this).play()})});luda.on("mouseover",this._SELECTOR,function(e){return self.query(this).pause()});luda.on("mouseout",this._SELECTOR,function(e){return self.query(this).play()});luda.on(luda._SWIPE_LEFT_OR_UP,this._SELECTOR,function(startE,e){return self.query(this).next()});luda.on(luda._SWIPE_RIGHT_OR_DOWN,this._SELECTOR,function(startE,e){return self.query(this).prev()});luda.on("click",this._PREV_CONTROL_SELECTOR,function(e){return self.query(luda.$parent(self._SELECTOR,this)).prev()});return luda.on("click",this._NEXT_CONTROL_SELECTOR,function(e){return self.query(luda.$parent(self._SELECTOR,this)).next()})}};_Class._SCOPE="carousel";_Class._SELECTOR=".carousel";_Class._ITEMS_SELECTOR=".carousel-item";_Class._PREV_CONTROL_SELECTOR=".carousel-prev";_Class._NEXT_CONTROL_SELECTOR=".carousel-next";_Class._INDICATORS_SELECTOR=".carousel-indicators .btn";_Class._INTERVAL_ATTRIBUTE="data-carousel-interval";_Class._WRAP_ATTRIBUTE="data-carousel-wrap";_Class._ITEM_ACTIVE_CSS_CLASS="carousel-item-active";_Class._ITEM_NEXT_CSS_CLASS="carousel-item-next";_Class._ITEM_PREV_CSS_CLASS="carousel-item-prev";_Class._ACTIVE_INDEX=0;_Class._INTERVAL=5e3;_Class._WRAP=true;_Class._FALSE="false";_Class._ACTIVE_EVENT_TYPE=`${_Class._SCOPE}:active`;_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVE_EVENT_TYPE=`${_Class._SCOPE}:deactive`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:[_Class._INTERVAL_ATTRIBUTE,_Class._WRAP_ATTRIBUTE]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{active(){var ref;if(!this._actived()){this._$component.classList.add(this.constructor._ACTIVE_CSS_CLASS);this.constructor._$focused.push(document.activeElement);if((ref=this._parent)!=null){ref.active()}return luda.dispatch(this._$component,this.constructor._ACTIVED_EVENT_TYPE)}}deactive(focus){var ref;if(this._actived()){this._$component.classList.remove(this.constructor._ACTIVE_CSS_CLASS);this._children.forEach(function(child){return child.deactive()});if(focus){if((ref=this.constructor._$focused[this.constructor._$focused.length-1])!=null){ref.focus()}}this.constructor._$focused.splice(this.constructor._$focused.length-1,1);return luda.dispatch(this._$component,this.constructor._DEACTIVED_EVENT_TYPE)}}toggle(focus){if(this._actived()){return this.deactive(focus)}else{return this.active()}}prev(){var focusIndex;if(this._$items.length&&this._actived()){focusIndex=this._$items.indexOf(document.activeElement)-1;if(focusIndex<0){focusIndex=0}return this._$items[focusIndex].focus()}}next(){var focusIndex;if(this._$items.length&&this._actived()){focusIndex=this._$items.indexOf(document.activeElement)+1;if(focusIndex>this._$items.length-1){focusIndex=this._$items.length-1}return this._$items[focusIndex].focus()}}_getConfig(){var _$items,_$menu,_$noneSwitches,_$switches,_isStandalone;_$menu=luda.$child(this.constructor._MENU_SELECTOR,this._$component);_$switches=luda.$unnested(this.constructor._SWITCHES_SELECTOR,this._$component,this.constructor._SELECTOR).concat(luda.$unnested(this.constructor._SWITCHES_SELECTOR,_$menu,this.constructor._MENU_SELECTOR));_$noneSwitches=luda.$unnested(this.constructor._NONE_SWITCHES_SELECTOR,this._$component,this.constructor._SELECTOR).concat(luda.$unnested(this.constructor._NONE_SWITCHES_SELECTOR,_$menu,this.constructor._MENU_SELECTOR));_$items=luda.$unnested(this.constructor._ITEMS_SELECTOR,_$menu,this.constructor._MENU_SELECTOR);_isStandalone=this._$component.hasAttribute(this.constructor._STANDALONE_ATTRIBUTE);return{_$items:_$items,_$switches:_$switches,_$noneSwitches:_$noneSwitches,_isStandalone:_isStandalone}}_constructor(){return({_$items:this._$items,_$switches:this._$switches,_$noneSwitches:this._$noneSwitches,_isStandalone:this._isStandalone}=this._getConfig())}_onMutations(mutations){return this._constructor()}_actived(){return this._$component.classList.contains(this.constructor._ACTIVE_CSS_CLASS)}_deactiveChildrenExcept(exceptions){if(exceptions&&!(exceptions instanceof Array)){exceptions=[exceptions]}if(exceptions){return this._children.forEach(function(child){if(child._actived()&&!exceptions.includes(child)){return child.deactive()}})}else{return this._children.forEach(function(child){if(child._actived()){return child.deactive()}})}}static deactiveExcept(instances$dropdowns){var exceptions;exceptions=[];if(instances$dropdowns&&!(instances$dropdowns instanceof Array)){instances$dropdowns=[instances$dropdowns]}if(instances$dropdowns){instances$dropdowns.forEach(instance$dropdown=>{var exception;if(exception=this.query(instance$dropdown)){return exceptions.push(exception)}})}if(exceptions.length){return this._instances.forEach(function(instance){var instanceHasntExceptionChild,instanceIsntInExceptions;instanceIsntInExceptions=!exceptions.includes(instance);instanceHasntExceptionChild=exceptions.every(function(exception){return!instance._hasDescendant(exception)});if(instance._actived()&&instanceIsntInExceptions&&instanceHasntExceptionChild){return instance.deactive()}})}else{return this._instances.forEach(function(instance){if(instance._actived()){return instance.deactive()}})}}static _standaloneInstances(){return this._instances.filter(function(instance){if(instance._isStandalone){return instance}})}static _init(){var self;self=this;luda.onOpposite("click",this._SELECTOR,function(e){return self.deactiveExcept(self._standaloneInstances())});luda.on("click",this._SELECTOR,function(e){var focus,instance,toggleChecked;if(instance=self.query(this)){toggleChecked=false;focus=!e.detail;self.deactiveExcept(self._standaloneInstances().concat(instance));instance._deactiveChildrenExcept();if(instance._parent){instance._parent._deactiveChildrenExcept(instance)}if(instance._$switches.length||instance._$noneSwitches.length){luda.eventPath(e).some(function($path){if(instance._$switches.includes($path)){instance.toggle(focus);return toggleChecked=true}else if(instance._$noneSwitches.includes($path)){return toggleChecked=true}})}if(!toggleChecked){return instance.toggle(focus)}}});luda.onOpposite("keyup",this._SELECTOR,function(e){return self.deactiveExcept()});luda.on("keyup",this._SELECTOR,function(e){var instance;if(e.keyCode===luda.KEY_TAB&&(instance=self.query(this))){self.deactiveExcept(instance);return instance.active()}});luda.on("keydown",this._SELECTOR,function(e){var instance,ref;if(e.keyCode===luda.KEY_ESC&&(instance=self.query(this))){e.preventDefault();if(instance._actived()){return instance.deactive(true)}else{return(ref=instance._parent)!=null?ref.deactive(true):void 0}}});return luda.on("keydown",this._SELECTOR,function(e){var instance,ref,ref1;if([luda.KEY_LEFT,luda.KEY_UP].includes(e.keyCode)&&(instance=self.query(this))){e.preventDefault();if(instance._actived()){return instance.prev()}else{return(ref=instance._parent)!=null?ref.prev():void 0}}else if([luda.KEY_RIGHT,luda.KEY_DOWN].includes(e.keyCode)&&(instance=self.query(this))){e.preventDefault();if(instance._actived()){return instance.next()}else{return(ref1=instance._parent)!=null?ref1.next():void 0}}})}};_Class._SCOPE="dropdown";_Class._SELECTOR=".dropdown-fixed,.dropdown-absolute, .dropdown-static,.dropdown-absolute-m";_Class._MENU_SELECTOR=".dropdown-menu";_Class._ITEMS_SELECTOR="a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled])";_Class._TOGGLE_ATTRIBUTE="data-dropdown-toggle";_Class._NONE_TOGGLE_ATTRIBUTE="data-dropdown-toggle-disabled";_Class._STANDALONE_ATTRIBUTE="data-dropdown-standalone";_Class._SWITCHES_SELECTOR=`[${_Class._TOGGLE_ATTRIBUTE}]`;_Class._NONE_SWITCHES_SELECTOR=`[${_Class._NONE_TOGGLE_ATTRIBUTE}]`;_Class._ACTIVE_CSS_CLASS="dropdown-active";_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:[_Class._TOGGLE_ATTRIBUTE,_Class._NONE_TOGGLE_ATTRIBUTE,_Class._STANDALONE_ATTRIBUTE]};_Class._$focused=[];return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{_getConfig(){var _$defaultValues,_$valueHolder,_$values;_$values=luda.$children(this.constructor._VALUE_SELECTOR,this._$component);_$defaultValues=luda.$children(this.constructor._DEFAULT_VALUE_SELECTOR,this._$component);_$valueHolder=luda.$child(this.constructor._VALUE_HOLDER_SELECTOR,this._$component);return{_$values:_$values,_$valueHolder:_$valueHolder,_$defaultValues:_$defaultValues}}_constructor(){({_$values:this._$values,_$valueHolder:this._$valueHolder,_$defaultValues:this._$defaultValues}=this._getConfig());this._setValueHolderAttribute();return this._setValueHolderValue()}_onMutations(){return this._constructor()}_setValueHolderValue(){var values;values=[];this._$values.forEach(($value,index)=>{var value;if($value.checked){if($value.hasAttribute(this.constructor._VALUE_ATTRIBUTE)){value=$value.getAttribute(this.constructor._VALUE_ATTRIBUTE)}else{value=this._$defaultValues[index].innerText}}if(value&&!values.includes(value)){return values.push(value)}});if(this._$valueHolder){return this._$valueHolder.value=values.join(this.constructor._VALUE_SPLITOR)}}_setValueHolderAttribute(){if(this._$valueHolder){return this._$valueHolder.setAttribute("readonly","")}}static _init(){var self;self=this;luda.enterClick._add(this._ENTER_CLICK_VALUE_HOLDER_SELECTOR);luda.on("change",`${this._SELECTOR} ${this._VALUE_SELECTOR}`,function(e){return self.query(luda.$parent(self._SELECTOR,this))._setValueHolderValue()});luda.on(luda._FORM_RESET,this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this)._setValueHolderValue()})});if(/iphone/i.test(navigator.userAgent)||/ipad/i.test(navigator.userAgent)){return luda.on("focusin",this._ENTER_CLICK_VALUE_HOLDER_SELECTOR,function(e){this.blur();return this.classList.add(luda.focus._CSS_CLASS)})}}};_Class._SCOPE="fmDropdown";_Class._SELECTOR=".fm-dropdown";_Class._VALUE_SPLITOR=" ";_Class._VALUE_ATTRIBUTE="data-fm-dropdown-value";_Class._VALUE_SELECTOR=".dropdown-items .btn-radio input, .dropdown-items .btn-check input";_Class._DEFAULT_VALUE_SELECTOR=".dropdown-items .btn-radio label, .dropdown-items .btn-check label";_Class._VALUE_HOLDER_SELECTOR=".fm input";_Class._ENTER_CLICK_VALUE_HOLDER_SELECTOR=".fm-dropdown .fm input";_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:["checked",_Class._VALUE_ATTRIBUTE]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{active(index){var activedIndex;if(this._$panes.length){activedIndex=this._activeIndex;if(index!=null&&index!==this._activeIndex&&(0<=index&&index<=this._$panes.length-1)){this._activeIndex=index;return this._active(activedIndex)}}}_getConfig(){var _$indicators,_$panes,_activeIndex;_$panes=luda.$unnested(this.constructor._PANE_SELECTOR,this._$component,this.constructor._SELECTOR);_$indicators=luda.$unnested(this.constructor._INDICATOR_SELECTOR,this._$component,this.constructor._SELECTOR);_activeIndex=this.constructor._ACTIVE_INDEX;_$indicators.some(function($indicator,index){if($indicator.checked){_activeIndex=index;return true}});return{_$panes:_$panes,_$indicators:_$indicators,_activeIndex:_activeIndex}}_constructor(){({_$panes:this._$panes,_$indicators:this._$indicators,_activeIndex:this._activeIndex}=this._getConfig());return this._active()}_onMutations(mutations){return this._constructor()}_active(activedIndex){this._$panes.forEach(($pane,index)=>{if(index===this._activeIndex){$pane.classList.add(this.constructor._PANE_ACTIVE_CSS_CLASS);return luda.dispatch($pane,this.constructor._ACTIVED_EVENT_TYPE,index)}else{$pane.classList.remove(this.constructor._PANE_ACTIVE_CSS_CLASS);if(index===activedIndex){return luda.dispatch($pane,this.constructor._DEACTIVED_EVENT_TYPE,index)}}});return this._setIndicatorsState()}_setIndicatorsState(){return this._$indicators.forEach(($indicator,index)=>{if(index===this._activeIndex){return $indicator.setAttribute("checked","")}else{return $indicator.removeAttribute("checked")}})}static _init(){var self;self=this;return luda.on("change",this._INDICATOR_SELECTOR,function(e){var instance;if(this.checked){instance=self.query(luda.$parent(self._SELECTOR,this));return instance.active(instance._$indicators.indexOf(this))}})}};_Class._SCOPE="tab";_Class._SELECTOR=".tab";_Class._PANE_SELECTOR=".tab-pane";_Class._INDICATOR_SELECTOR=".tab-indicators .btn-radio input[type=radio]";_Class._PANE_ACTIVE_CSS_CLASS="tab-pane-active";_Class._ACTIVE_INDEX=0;_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;_Class._observerConfig={childList:true,subtree:true};return _Class}.call(this))});
6
+ (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var ENV;ENV=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported runtime environment.")}();if(typeof ENV.luda!=="function"){ENV.luda=function(installer){var installed,name,property;if(!installer){throw new Error("Installer cannot be detected.")}if(!["object","function"].includes(typeof installer)){throw new Error("Installer must be object, array or function.")}if(installer.hasOwnProperty("_SCOPE")){if(typeof installer._SCOPE!=="string"){throw new Error("_SCOPE must be string")}return ENV.luda._install(installer._SCOPE,installer)}if(installer instanceof Array||typeof installer==="function"){throw new Error("Unscoped installer must be object.")}installed={};for(name in installer){property=installer[name];installed[name]=ENV.luda._install(name,property)}return installed};ENV.luda._install=function(namespace,installer){var installedInstaller,installedName,ref;if(ENV.luda[namespace]){console.warn(`Namespace ${namespace} is ocupied, sikp installation.`);return ENV.luda[namespace]}ref=ENV.luda;for(installedName in ref){installedInstaller=ref[installedName];if(installer===installedInstaller){console.warn(`Installer is installed with name ${installedName}, skip installation.`);return ENV.luda[installedName]}}if(installer._install){if(typeof installer._install==="function"){return ENV.luda[namespace]=installer._install()}return ENV.luda[namespace]=installer._install}return ENV.luda[namespace]=installer}}luda({KEY_LEFT:37,KEY_UP:38,KEY_RIGHT:39,KEY_DOWN:40,KEY_TAB:9,KEY_ESC:27,KEY_ENTER:13});luda({$child:function(selector,$ancestor){if(!$ancestor){$ancestor=document}return $ancestor.querySelector(selector)},$children:function(selector,$ancestor){var $descendant,descendants;if(!$ancestor){$ancestor=document}$descendant=this.$child(selector,$ancestor);if($descendant){return descendants=Array.from($ancestor.querySelectorAll(selector))}else{return descendants=[]}},$unnested:function(selector,$ancestor,ancestorSelector){var descendants;descendants=this.$children(selector,$ancestor);return descendants.filter($descendant=>{if(this.$parent(ancestorSelector,$descendant)===$ancestor){return $descendant}})},$parent:function(selector,$descendant){var $ancestor;$ancestor=$descendant.parentNode;if($ancestor){if($ancestor.matches&&$ancestor.matches(selector)){return $ancestor}else{return this.$parent(selector,$ancestor)}}},$parents:function(selector,$descendant,_ancestors){var $ancestor;$ancestor=this.$parent(selector,$descendant);if(!_ancestors){_ancestors=[]}if($ancestor){_ancestors.push($ancestor);return this.$parents(selector,$ancestor,_ancestors)}else{return _ancestors}},$after:function($node,$target){var $parent;$parent=$target.parentNode;if($parent.lastChild===$target){return $parent.appendChild($node)}else{return $parent.insertBefore($node,$target.nextSibling)}},$prepend:function($node,$target){if($target.firstChild){return $target.insertBefore($node,$target.firstChild)}else{return $target.appendChild($node)}},reflow:function($element){return $element.offsetHeight}});var splice=[].splice;luda({_SWIPE_DISTANCE:10,_EVENT_TYPE_PREFIX:"luda",_SWIPE_LEFT:"swipeleft",_SWIPE_RIGHT:"swiperight",_SWIPE_UP:"swipeup",_SWIPE_DOWN:"swipedown",_SWIPE_LEFT_OR_UP:"swipeleft or swipeup",_SWIPE_RIGHT_OR_DOWN:"swiperight or swipedown",_DOC_READY:"docready",_FORM_RESET:"reset",eventPath:function(event){var path;if(event.composedPath){return path=event.composedPath()}else if(event.path){return path=event.path}else{return path=[event.target].concat(luda.$parents("*",event.target))}},on:function(event,...selector){var handler,ref;ref=selector,[...selector]=ref,[handler]=splice.call(selector,-1);switch(event){case this._DOC_READY:return this._onDocReady(handler);case this._FORM_RESET:return this._onReset(selector[0],handler);case this._SWIPE_LEFT:case this._SWIPE_RIGHT:case this._SWIPE_UP:case this._SWIPE_DOWN:case this._SWIPE_LEFT_OR_UP:case this._SWIPE_RIGHT_OR_DOWN:return this._onSwipe(event,selector[0],handler);default:return this._on(event,selector[0],handler)}},onOpposite:function(event,selector,handler){var _self;_self=this;return document.addEventListener(event,function(e){var trigger;trigger=_self.eventPath(e).every(function($element){return!$element.matches||!$element.matches(selector)});if(trigger){return handler(e)}})},dispatch:function($target,type,detail,options={}){var evt;if(typeof options.bubbles!=="boolean"){options.bubbles=true}if(typeof options.cancelable!=="boolean"){options.cancelable=true}if(typeof options.composed!=="boolean"){options.composed=true}evt=new Event(`${this._EVENT_TYPE_PREFIX}:${type}`,options);evt.detail=detail;$target.dispatchEvent(evt);return evt},_onDocReady:function(handler){if(document.readyState==="loading"){return document.addEventListener("DOMContentLoaded",handler)}else{return handler()}},_onReset:function(selector,handler){return document.addEventListener("reset",function(e){if(selector!=null){return luda.$children(selector,e.target).forEach(function($element){return handler.bind($element)(e)})}else{return handler(e)}})},_onSwipe:function(event,selector,handler){var $touchStartElement,_self,touchStartE,touchStartX,touchStartY,watch;_self=this;watch=false;$touchStartElement=document;touchStartE=null;touchStartX=0;touchStartY=0;document.addEventListener("touchstart",function(e){if(e.touches.length===1){touchStartX=e.touches[0].screenX;touchStartY=e.touches[0].screenY;if(selector!=null){return _self.eventPath(e).some(function($element){if($element.matches&&$element.matches(selector)){$touchStartElement=$element;touchStartE=e;watch=true;return true}})}else{return watch=true}}});return document.addEventListener("touchmove",function(e){var eventX,eventXOrY,eventY,touchDistanceX,touchDistanceY;if(watch&&e.touches.length===1){touchDistanceX=e.touches[0].screenX-touchStartX;touchDistanceY=e.touches[0].screenY-touchStartY;eventX=void 0;eventY=void 0;eventXOrY=void 0;if(Math.abs(touchDistanceX)>=_self._SWIPE_DISTANCE){if(touchDistanceX>0){eventX=_self._SWIPE_RIGHT}else{eventX=_self._SWIPE_LEFT}}if(Math.abs(touchDistanceY)>=_self._SWIPE_DISTANCE){if(touchDistanceY>0){eventY=_self._SWIPE_DOWN}else{eventY=_self._SWIPE_UP}}if(eventX===_self._SWIPE_LEFT||eventY===_self._SWIPE_UP){eventXOrY=_self._SWIPE_LEFT_OR_UP}if(eventX===_self._SWIPE_RIGHT||eventY===_self._SWIPE_DOWN){eventXOrY=_self._SWIPE_RIGHT_OR_DOWN}if(eventX!=null&&eventX===event||eventY!=null&&eventY===event||eventXOrY===event){if(selector!=null){return _self.eventPath(e).some(function($element){if($element===$touchStartElement){watch=false;handler.bind($element)(touchStartE,e);return true}})}else{watch=false;return handler(touchStartE,e)}}}})},_on:function(event,selector,handler){var _self;if(selector===window){return window.addEventListener(event,function(e){return handler(e)})}else{_self=this;return document.addEventListener(event,function(e){if(selector!=null){return _self.eventPath(e).some(function($element){if($element.matches&&$element.matches(selector)){handler.bind($element)(e);return true}})}else{return handler(e)}})}}});luda({except:function(element,arr){if(arr.includes(element)){return arr.splice(arr.indexOf(element),1)}}});var Singleton;luda(Singleton=function(){class Singleton{static active(){return this._actived=true}static deactive(){return this._actived=false}static _add(selector){if(typeof selector!=="string"){throw new Error(this._SELECTOR_INVALID_ERROR)}if(!this._SELECTORS.includes(selector)){this._SELECTORS.push(selector)}return this._mergeSelectors()}static _remove(selector){if(typeof selector!=="string"){throw new Error(this._SELECTOR_INVALID_ERROR)}luda.except(selector,this._SELECTORS);return this._mergeSelectors()}static _mergeSelectors(){return this._selector=this._SELECTORS.join(",")}static _install(){var exposed;if(this===Singleton){return this}if(!this.hasOwnProperty("_SELECTORS")){this._SELECTORS=[]}this._mergeSelectors();if(typeof this._init==="function"){exposed=this._init()}if(exposed){return exposed}else{return this}}}Singleton._SCOPE="Singleton";Singleton._SELECTOR_INVALID_ERROR="@param selector must be a css selector string";Singleton._SELECTORS=[];Singleton._selector="";Singleton._actived=true;return Singleton}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static _init(){var self;self=this;return luda.on("keydown",function(e){if(self._actived&&e.keyCode===luda.KEY_ENTER&&e.target.matches(self._selector)){e.preventDefault();return setTimeout(function(){return e.target.click()})}})}};_Class._SCOPE="enterClick";_Class._SELECTORS=["input[type=checkbox]","input[type=radio]","[tabindex]"];return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static _removeFocusClassExcept($exception){return Array.from(this._$focus).forEach($focus=>{if($focus!==$exception){return $focus.classList.remove(this._CSS_CLASS)}})}static _addFocusClassExceptHtmlAndBody($target){if($target!==document.body&&$target!==document.documentElement){return $target.classList.add(this._CSS_CLASS)}}static _changeFocusStateOnKeyEvent(e){if(this._actived){this._removeFocusClassExcept(e.target);return this._addFocusClassExceptHtmlAndBody(e.target)}}static _changeFocusStateOnMouseDownEvent(e){var target;if(this._actived){if(e.target.matches(this._PARENT_FOCUS_CHILDREN_SELECTOR)){target=luda.$parent(this._PARENT_FOCUS_SELECTOR,e.target)}else{target=e.target}if(target.matches(this._selector)){this._removeFocusClassExcept(target);return this._addFocusClassExceptHtmlAndBody(target)}else{return this._removeFocusClassExcept()}}}static _setElementPrototype(){var blur,focus,self;focus=HTMLElement.prototype.focus;blur=HTMLElement.prototype.blur;self=this;HTMLElement.prototype.focus=function(){focus.apply(this,arguments);if(self._actived&&document.activeElement===this){self._removeFocusClassExcept(this);return self._addFocusClassExceptHtmlAndBody(this)}};return HTMLElement.prototype.blur=function(){blur.apply(this,arguments);if(self._actived){return this.classList.remove(self._CSS_CLASS)}}}static _init(){this._setElementPrototype();luda.on("keydown",this._changeFocusStateOnKeyEvent.bind(this));luda.on("keyup",this._changeFocusStateOnKeyEvent.bind(this));luda.on("mousedown",this._changeFocusStateOnMouseDownEvent.bind(this));luda.on("touchstart",this._TOUCHSTART_FOCUS_SELECTOR,this._changeFocusStateOnMouseDownEvent.bind(this));return luda.on("focusin",this._changeFocusStateOnMouseDownEvent.bind(this))}};_Class._SCOPE="focus";_Class._CSS_CLASS="focus";_Class._SELECTORS=["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])"];_Class._TOUCHSTART_FOCUS_SELECTOR="input[type=range]";_Class._PARENT_FOCUS_SELECTOR="select[multiple]";_Class._PARENT_FOCUS_CHILDREN_SELECTOR=`${_Class._PARENT_FOCUS_SELECTOR} *`;_Class._$focus=document.getElementsByClassName(_Class._CSS_CLASS);return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static _querySameName$radios($radio){var $inputs,selector;if($radio.name){selector=`${this._selector}[name=${$radio.name}]`}else{selector=this._selector}$inputs=luda.$children(selector);return $inputs.filter(function($input){return $input.tabIndex>=0})}static _query$prev$next($radio){var $next,$prev,$sameNameRadios,radioIndex;$sameNameRadios=this._querySameName$radios($radio);radioIndex=$sameNameRadios.indexOf($radio);$prev=$sameNameRadios[radioIndex-1];$next=$sameNameRadios[radioIndex+1];return{$prev:$prev,$next:$next}}static _init(){var self;self=this;return luda.on("keydown",function(e){var $next,$prev;if(self._actived&&e.keyCode===luda.KEY_TAB&&e.target.nodeName.toUpperCase()==="INPUT"&&e.target.type==="radio"){if(e.shiftKey){if($prev=self._query$prev$next(e.target).$prev){e.preventDefault();return $prev.focus()}}else{if($next=self._query$prev$next(e.target).$next){e.preventDefault();return $next.focus()}}}})}};_Class._SCOPE="radioTab";_Class._SELECTORS=["input[type=radio]:not([disabled])"];return _Class}.call(this));var Component;luda(Component=function(){class Component{_hasDescendant(descendant){if(this._children.length&&descendant){if(this._children.includes(descendant)){return true}return this._children.some(function(child){return child._hasDescendant(descendant)})}else{return false}}_observe(){this._observer=new MutationObserver(this._onMutations.bind(this));return this._observer.observe(this._$component,this.constructor._observerConfig)}_disconnect(){this._observer.disconnect();return this._observer=null}static create($component){var $family,componentIsElementInstance,instance,parent;componentIsElementInstance=$component instanceof Element;if(!componentIsElementInstance){throw new Error(this._$COMPONENT_INVALID_ERROR)}$family=this._query$family($component);instance=this.query($component);if($family._$parent){if(parent=this.query($family._$parent)){if(!instance){this._instances.push(instance=this._createInstance($component))}if(instance._parent!==parent){parent._children.push(instance)&&(instance._parent=parent)}$family._$children.forEach($child=>{return this.create($child)});return instance}else{this.create($family._$parent);return this.query($component)}}else{if(!instance){this._instances.push(instance=this._createInstance($component))}$family._$children.forEach($child=>{return this.create($child)});return instance}}static destroy(instance$component){var attribute,instance,results,value;instance=this.query(instance$component);if(instance){if(instance._observer){instance._disconnect()}if(instance._destroy){instance._destroy()}while(instance._children.length){this.destroy(instance._children[0])}if(instance._parent){luda.except(instance,instance._parent._children)}luda.except(instance,this._instances);results=[];for(attribute in instance){value=instance[attribute];results.push(instance[attribute]=null)}return results}}static query(instance$component){var instance;instance=null;if(instance$component instanceof this&&this._instances.includes(instance$component)){instance=instance$component}else if(instance$component instanceof Element){this._instances.some(function(inited){if(inited._$component===instance$component){instance=inited;return true}})}return instance}static _query$family($component){var _$children,_$parent;_$parent=null;_$children=[];if(this._SELECTOR){_$parent=luda.$parent(this._SELECTOR,$component);_$children=luda.$unnested(this._SELECTOR,$component,this._SELECTOR)}return{_$parent:_$parent,_$children:_$children}}static _createInstance($component){var instance;instance=new this;instance._$component=$component;instance._parent=null;instance._children=[];instance._observer=null;if(instance._constructor){instance._constructor()}if(!(instance._observer&&instance._onMutations&&this._observerConfig)){instance._observe()}return instance}static _observe(classObj){if(!Component._observer){Component._observer=new MutationObserver(function(mutations){return mutations.forEach(function(mutation){var $addedNodes,$removedNodes;$removedNodes=Array.from(mutation.removedNodes);$addedNodes=Array.from(mutation.addedNodes);$removedNodes.forEach(function($node){if($node instanceof Element){return Component._Observed.forEach(function(Observed){var $destroies;if($node.matches(Observed._SELECTOR)){return Observed.destroy($node)}else{$destroies=luda.$children(Observed._SELECTOR,$node);return $destroies.forEach(function($destroy){return Observed.destroy($destroy)})}})}});return $addedNodes.forEach(function($node){if($node instanceof Element){return Component._Observed.forEach(function(Observed){var $creates;if($node.matches(Observed._SELECTOR)){return Observed.create($node)}else{$creates=luda.$children(Observed._SELECTOR,$node);return $creates.forEach(function($create){return Observed.create($create)})}})}})})});Component._observer.observe(document.documentElement,Component._observerConfig)}if(!Component._Observed.includes(classObj)){return Component._Observed.push(classObj)}}static _install(){var exposed,self;self=this;if(this===Component){return this}if(!(this._SELECTOR||typeof this._SELECTOR!=="string")){throw new Error(this._COMPONENT_NO_SELECTOR_ERROR)}if(!this.hasOwnProperty("_instances")){this._instances=[]}if(typeof this._init==="function"){exposed=this._init()}luda.on(luda._DOC_READY,function(){luda.$children(self._SELECTOR).forEach(function($component){return self.create($component)});return Component._observe(self)});if(exposed){return exposed}else{return this}}}Component._SCOPE="Component";Component._COMPONENT_NO_SELECTOR_ERROR="Extended component must has a css selector";Component._$COMPONENT_INVALID_ERROR="@param $component must be an instance of Element";Component._SELECTOR="";Component._instances=[];Component._Observed=[];Component._observer=null;Component._observerConfig={childList:true,subtree:true};return Component}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{_getConfig(){var _isReadonly,_originalTabIndex,readonly;readonly=this._$component.getAttribute(this.constructor._READONLY_ATTRIBUTE);_isReadonly=readonly!==this.constructor._READONLY_FALSE_VALUE;_originalTabIndex=this._$component.tabIndex;return{_isReadonly:_isReadonly,_originalTabIndex:_originalTabIndex}}_constructor(){({_isReadonly:this._isReadonly,_originalTabIndex:this._originalTabIndex}=this._getConfig());return this._setTabIndex()}_onMutations(){return this._constructor()}_setTabIndex(){if(this._isReadonly){return this._$component.tabIndex=-1}else{return this._$component.tabIndex=this._originalTabIndex}}};_Class._SCOPE="readonly";_Class._READONLY_ATTRIBUTE="data-readonly";_Class._READONLY_FALSE_VALUE="false";_Class._SELECTOR=`[${_Class._READONLY_ATTRIBUTE}]`;_Class._observerConfig={attributes:true,attributeFilter:[_Class._READONLY_ATTRIBUTE]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Singleton{static active(name$target){return this._query$targets(name$target).forEach($target=>{$target.classList.add(this._ACTIVE_CSS_CLASS);return luda.dispatch($target,this._ACTIVED_EVENT_TYPE)})}static deactive(name$target){return this._query$targets(name$target).forEach($target=>{$target.classList.remove(this._ACTIVE_CSS_CLASS);return luda.dispatch($target,this._DEACTIVED_EVENT_TYPE)})}static toggle(name$target){return this._query$targets(name$target).forEach($target=>{if($target.classList.contains(this._ACTIVE_CSS_CLASS)){return this.deactive($target)}else{return this.active($target)}})}static _query$targets(name$target){if(name$target instanceof Element){return[name$target]}else{return luda.$children(`[${this._TOGGLE_TARGET_ATTRIBUTE}=${name$target}]`)}}static _init(){var self;self=this;return luda.on("click",this._selector,function(e){var toggleChecked;toggleChecked=false;return luda.eventPath(e).some(function($path){var $toggle,toggleName;if($path instanceof Element){if($path.hasAttribute(self._TOGGLE_ATTRIBUTE)||$path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)){if(toggleName=$path.getAttribute(self._TOGGLE_FOR_ATTRIBUTE)){self.toggle(toggleName);toggleChecked=true}if($path.hasAttribute(self._TOGGLE_ATTRIBUTE)){if($path.hasAttribute(self._TOGGLE_TARGET_ATTRIBUTE)){$toggle=$path}else{$toggle=luda.$parent(`[${self._TOGGLE_TARGET_ATTRIBUTE}]`,$path)}if($toggle){self.toggle($toggle);return toggleChecked=true}}}else if($path.hasAttribute(self._NONE_TOGGLE_ATTRIBUTE)){return toggleChecked=true}}})})}};_Class._SCOPE="toggle";_Class._TOGGLE_TARGET_ATTRIBUTE="data-toggle-target";_Class._TOGGLE_ATTRIBUTE="data-toggle";_Class._TOGGLE_FOR_ATTRIBUTE="data-toggle-for";_Class._NONE_TOGGLE_ATTRIBUTE="data-toggle-disabled";_Class._ACTIVE_CSS_CLASS="toggle-active";_Class._SELECTORS=[`[${_Class._TOGGLE_FOR_ATTRIBUTE}]`,`[${_Class._TOGGLE_ATTRIBUTE}]`];_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{_getConfig(){var _$file,_$simulator;_$file=luda.$child(this.constructor._FILE_SELECTOR,this._$component);_$simulator=luda.$child(this.constructor._SIMULATOR_SELECTOR,this._$component);return{_$file:_$file,_$simulator:_$simulator}}_constructor(){({_$file:this._$file,_$simulator:this._$simulator}=this._getConfig());return this._init()}_onMutations(){return this._constructor()}_insertSimulator(){this._$simulator=document.createElement("input");this._$simulator.tabIndex=-1;return luda.$after(this._$simulator,this._$file)}_setPlaceholderValue(){return this._$simulator.placeholder=this._$file.getAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)}_setSimulatorValue(){var values;values=[];Array.from(this._$file.files).map(function(file){return values.push(file.name)});if(values.length){return this._$simulator.value=values.join(this.constructor._VALUE_SPLITOR)}else if(this._$file.hasAttribute(this.constructor._VALUE_ATTRIBUTE)){return this._$simulator.value=this._$file.getAttribute(this.constructor._VALUE_ATTRIBUTE)}}_init(){if(this._$file){if(!this._$simulator){this._insertSimulator()}if(this._$file.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){this._setPlaceholderValue()}return this._setSimulatorValue()}}static _init(){var self;self=this;luda.on("change",`${this._SELECTOR} ${this._FILE_SELECTOR}`,function(e){return self.query(luda.$parent(self._SELECTOR,this))._setSimulatorValue()});return luda.on(luda._FORM_RESET,this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this)._setSimulatorValue()})})}};_Class._SCOPE="fmFile";_Class._VALUE_SPLITOR=" ";_Class._SELECTOR=".fm-file";_Class._FILE_SELECTOR="input[type=file]";_Class._SIMULATOR_SELECTOR="input:not([type=file])";_Class._PLACEHOLDER_ATTRIBUTE="placeholder";_Class._VALUE_ATTRIBUTE="value";_Class._observerConfig={childList:true,subtree:true};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{select(indexOrIndexArray){var selectedIndexes;if(this._$select.multiple){if(this._$multipleSelectPlaceholder){selectedIndexes=indexOrIndexArray}else{selectedIndexes=indexOrIndexArray.map(function(index){return index+1})}Array.from(this._$select.options).forEach(function($option,index){return $option.selected=selectedIndexes.includes(index)});return this._markSelectedOption()}else{this._$select.selectedIndex=selectedIndex;this._setSingleSelectSimulatorValue();return this._markSelectedOption()}}_getConfig(){var _$defaultSelectedOptions,_$multipleSelectPlaceholder,_$select,_$singleSelectSimulator,_defaultSelectedOptionMarked;_$select=luda.$child(this.constructor._SELECT_SELECTOR,this._$component);_$singleSelectSimulator=luda.$child(this.constructor._SINGLE_SELECT_SIMULATOR_SELECTOR,this._$component);_$multipleSelectPlaceholder=luda.$child(`.${this.constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}`,this._$component);_$defaultSelectedOptions=luda.$children(`[${this.constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]`,this._$component);_defaultSelectedOptionMarked=this._$component.hasAttribute(this.constructor._INITED_ATTRIBUTE);return{_$select:_$select,_$singleSelectSimulator:_$singleSelectSimulator,_$multipleSelectPlaceholder:_$multipleSelectPlaceholder,_$defaultSelectedOptions:_$defaultSelectedOptions,_defaultSelectedOptionMarked:_defaultSelectedOptionMarked}}_constructor(){({_$select:this._$select,_$singleSelectSimulator:this._$singleSelectSimulator,_$multipleSelectPlaceholder:this._$multipleSelectPlaceholder,_$defaultSelectedOptions:this._$defaultSelectedOptions,_defaultSelectedOptionMarked:this._defaultSelectedOptionMarked}=this._getConfig());if(this._$select){if(this._$select.multiple){return this._initMultipleSelect()}else{return this._initSingleSelect()}}}_onMutations(){return this._constructor()}_markSelectedOption(){if(this._observer){this._disconnect()}Array.from(this._$select.options).forEach(function($option){if($option.selected){return $option.setAttribute("selected","selected")}else{return $option.removeAttribute("selected")}});if(!this._observer){return this._observe()}}_markDefaultSelectedOption(){this._$component.setAttribute(this.constructor._INITED_ATTRIBUTE,"");return Array.from(this._$select.options).forEach($option=>{if($option.selected){return $option.setAttribute(this.constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE,"")}})}_setSingleSelectedDefaultSelectedOption(){var hasSelected;hasSelected=Array.from(this._$select.options).some(function($option){return $option.getAttribute("selected")==="selected"});if(!hasSelected){return this._$select.selectedIndex=-1}}_insertSingleSelectSimulator(){this._$singleSelectSimulator=document.createElement("input");this._$singleSelectSimulator.tabIndex=-1;return luda.$after(this._$singleSelectSimulator,this._$select)}_setSingleSelectPlaceholderValue(){return this._$singleSelectSimulator.placeholder=this._$select.getAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)}_setSingleSelectSimulatorValue(){var $selectedOption;if($selectedOption=this._$select.options[this._$select.selectedIndex]){return this._$singleSelectSimulator.value=$selectedOption.innerText}else{return this._$singleSelectSimulator.value=""}}_initSingleSelect(){if(!this._$singleSelectSimulator){this._insertSingleSelectSimulator()}if(this._$select.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){this._setSingleSelectedDefaultSelectedOption();this._setSingleSelectPlaceholderValue()}if(!this._defaultSelectedOptionMarked){this._markDefaultSelectedOption()}this._setSingleSelectSimulatorValue();return this._markSelectedOption()}_insertMultipleSelectBlankOption(){this._$multipleSelectPlaceholder=document.createElement("option");this._$multipleSelectPlaceholder.className=this.constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS;this._$multipleSelectPlaceholder.disabled=true;return luda.$prepend(this._$multipleSelectPlaceholder,this._$select)}_setMultipleSelectPlaceholderValue(){return this._$multipleSelectPlaceholder.innerText=this._$select.getAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)}_initMultipleSelect(){if(!this._$multipleSelectPlaceholder){if(this._$select.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){this._insertMultipleSelectBlankOption();this._setMultipleSelectPlaceholderValue()}}if(!this._defaultSelectedOptionMarked){return this._markDefaultSelectedOption()}}_reset(){if(this._$select){Array.from(this._$select.options).forEach($option=>{return $option.selected=this._$defaultSelectedOptions.includes($option)});if(!this._$select.multiple){this._setSingleSelectSimulatorValue()}return this._markSelectedOption()}}static _init(){var self;self=this;luda.on("change",`${this._SELECTOR} ${this._SELECT_SELECTOR}`,function(e){var instance;instance=self.query(luda.$parent(self._SELECTOR,this));if(!this.multiple){instance._setSingleSelectSimulatorValue()}return instance._markSelectedOption()});return luda.on(luda._FORM_RESET,this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this)._reset()})})}};_Class._SCOPE="fmSelect";_Class._SELECTOR=".fm-select";_Class._SELECT_SELECTOR="select";_Class._SINGLE_SELECT_SIMULATOR_SELECTOR="input";_Class._PLACEHOLDER_ATTRIBUTE="placeholder";_Class._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS="fm-select-multiple-placeholder";_Class._DEFAULT_SELECTED_OPTION_ATTRIBUTE="data-fm-select-default-selected";_Class._INITED_ATTRIBUTE="data-fm-select-inited";_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:["selected"]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{active(index){var action,activedIndex;if(this._$items.length&&!this._transiting){activedIndex=this._activeIndex;if(index!=null&&index!==this._activeIndex&&(0<=index&&index<=this._$items.length-1)){this._transiting=true;this._activeIndex=index;action=index<activedIndex?"_slidePrev":"_slideNext";return this[action](this._$items[activedIndex],activedIndex)}}}next(){var activedIndex,index;if(this._$items.length&&!this._transiting){activedIndex=this._activeIndex;index=activedIndex+1;if(index>this._$items.length-1){if(!this._wrap){return}index=0}this._transiting=true;this._activeIndex=index;this._slideNext(this._$items[activedIndex],activedIndex);this._playTimeStamp=Date.now();return this._pausedRemainTime=this._interval}}prev(){var activedIndex,index;if(this._$items.length&&!this._transiting){activedIndex=this._activeIndex;index=activedIndex-1;if(index<0){if(!this._wrap){return}index=this._$items.length-1}this._transiting=true;this._activeIndex=index;this._slidePrev(this._$items[activedIndex],activedIndex);this._playTimeStamp=Date.now();return this._pausedRemainTime=this._interval}}pause(){if(this._intervaling!=null){clearInterval(this._intervaling);this._intervaling=null;return this._pausedRemainTime=this._pausedRemainTime-(Date.now()-this._playTimeStamp)}}play(){var execute;if(this._interval&&this._$items.length>1){this._playTimeStamp=Date.now();this.pause();execute=(()=>{this.next();return this._intervaling=setInterval(this.next.bind(this),this._interval)});return this._intervaling=setTimeout(execute,this._pausedRemainTime)}}_getConfig(){var _$indicators,_$items,_$nextControl,_$prevControl,_activeIndex,_interval,_wrap;_$items=luda.$unnested(this.constructor._ITEMS_SELECTOR,this._$component,this.constructor._SELECTOR);_$indicators=luda.$unnested(this.constructor._INDICATORS_SELECTOR,this._$component,this.constructor._SELECTOR);_$prevControl=luda.$child(this.constructor._PREV_CONTROL_SELECTOR,this._$component);_$nextControl=luda.$child(this.constructor._NEXT_CONTROL_SELECTOR,this._$component);_activeIndex=_$items.indexOf(luda.$child(`.${this.constructor._ITEM_ACTIVE_CSS_CLASS}`,this._$component));if(_activeIndex===-1){_activeIndex=this.constructor._ACTIVE_INDEX}_interval=this._$component.getAttribute(this.constructor._INTERVAL_ATTRIBUTE);if(_interval===this.constructor._FALSE){_interval=false}else{_interval=Math.abs(parseInt(_interval,10))||this.constructor._INTERVAL}_wrap=this._$component.getAttribute(this.constructor._WRAP_ATTRIBUTE);_wrap=_wrap===this.constructor._FALSE?false:this.constructor._WRAP;return{_$items:_$items,_$indicators:_$indicators,_$prevControl:_$prevControl,_$nextControl:_$nextControl,_activeIndex:_activeIndex,_interval:_interval,_wrap:_wrap}}_constructor(){({_$items:this._$items,_$indicators:this._$indicators,_$prevControl:this._$prevControl,_$nextControl:this._$nextControl,_activeIndex:this._activeIndex,_interval:this._interval,_wrap:this._wrap}=this._getConfig());this._transiting=false;this._intervaling=null;this._playTimeStamp=0;this._pausedRemainTime=this._interval;this._layout();return this.play()}_onMutations(mutations){({_$items:this._$items,_$indicators:this._$indicators,_$prevControl:this._$prevControl,_$nextControl:this._$nextControl,_activeIndex:this._activeIndex,_interval:this._interval,_wrap:this._wrap}=this._getConfig());this._setIndicatorsState();this._setDirectionControlState();return this.play()}_destroy(){return this.pause()}_layout(){this._$items.forEach(($item,index)=>{$item.style.transition="none";if(index>this._activeIndex){$item.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS)}else if(index<this._activeIndex){$item.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS)}else{luda.dispatch($item,this.constructor._ACTIVED_EVENT_TYPE,index);$item.classList.add(this.constructor._ITEM_ACTIVE_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS)}luda.reflow($item);return $item.style.transition=""});this._setIndicatorsState();return this._setDirectionControlState()}_slideNext($activedItem,activedIndex){var $item;if(this._$items.length>1){$item=this._$items[this._activeIndex];luda.dispatch($item,this.constructor._ACTIVE_EVENT_TYPE,this._activeIndex);$item.style.transition="none";$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);luda.reflow($item);$item.style.transition="";$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.add(this.constructor._ITEM_ACTIVE_CSS_CLASS);luda.dispatch($activedItem,this.constructor._DEACTIVE_EVENT_TYPE,activedIndex);$activedItem.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS);$activedItem.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);this._setIndicatorsState();return this._setDirectionControlState()}}_slidePrev($activedItem,activedIndex){var $item;if(this._$items.length>1){$item=this._$items[this._activeIndex];luda.dispatch($item,this.constructor._ACTIVE_EVENT_TYPE,this._activeIndex);$item.style.transition="none";$item.classList.remove(this.constructor._ITEM_NEXT_CSS_CLASS);$item.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);luda.reflow($item);$item.style.transition="";$item.classList.remove(this.constructor._ITEM_PREV_CSS_CLASS);$item.classList.add(this.constructor._ITEM_ACTIVE_CSS_CLASS);luda.dispatch($activedItem,this.constructor._DEACTIVE_EVENT_TYPE,activedIndex);$activedItem.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS);$activedItem.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);this._setIndicatorsState();return this._setDirectionControlState()}}_setIndicatorsState(){return this._$indicators.forEach(($indicator,index)=>{return $indicator.disabled=index===this._activeIndex})}_setDirectionControlState(){var ref,ref1,ref2,ref3;if(this._$items.length<=1){return(ref=this._$prevControl)!=null?ref.disabled=(ref1=this._$nextControl)!=null?ref1.disabled=true:void 0:void 0}else{if((ref2=this._$prevControl)!=null){ref2.disabled=this._activeIndex===0&&!this._wrap}return(ref3=this._$nextControl)!=null?ref3.disabled=this._activeIndex===this._$items.length-1&&!this._wrap:void 0}}static _init(){var self;self=this;luda.on("transitionend",this._ITEMS_SELECTOR,function(e){var index,instance;instance=self.query(luda.$parent(self._SELECTOR,this));instance._transiting=false;index=instance._$items.indexOf(this);if(this.classList.contains(self._ITEM_ACTIVE_CSS_CLASS)){return luda.dispatch(this,self._ACTIVED_EVENT_TYPE,index)}else{return luda.dispatch(this,self._DEACTIVED_EVENT_TYPE,index)}});luda.on("click",this._INDICATORS_SELECTOR,function(e){var instance;instance=self.query(luda.$parent(self._SELECTOR,this));return instance.active(instance._$indicators.indexOf(this))});luda.on("touchstart",this._SELECTOR,function(e){return self.query(this).pause()});luda.on("touchend",this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this).play()})});luda.on("mouseover",this._SELECTOR,function(e){return self.query(this).pause()});luda.on("mouseout",this._SELECTOR,function(e){return self.query(this).play()});luda.on(luda._SWIPE_LEFT_OR_UP,this._SELECTOR,function(startE,e){return self.query(this).next()});luda.on(luda._SWIPE_RIGHT_OR_DOWN,this._SELECTOR,function(startE,e){return self.query(this).prev()});luda.on("click",this._PREV_CONTROL_SELECTOR,function(e){return self.query(luda.$parent(self._SELECTOR,this)).prev()});return luda.on("click",this._NEXT_CONTROL_SELECTOR,function(e){return self.query(luda.$parent(self._SELECTOR,this)).next()})}};_Class._SCOPE="carousel";_Class._SELECTOR=".carousel";_Class._ITEMS_SELECTOR=".carousel-item";_Class._PREV_CONTROL_SELECTOR=".carousel-prev";_Class._NEXT_CONTROL_SELECTOR=".carousel-next";_Class._INDICATORS_SELECTOR=".carousel-indicators .btn";_Class._INTERVAL_ATTRIBUTE="data-carousel-interval";_Class._WRAP_ATTRIBUTE="data-carousel-wrap";_Class._ITEM_ACTIVE_CSS_CLASS="carousel-item-active";_Class._ITEM_NEXT_CSS_CLASS="carousel-item-next";_Class._ITEM_PREV_CSS_CLASS="carousel-item-prev";_Class._ACTIVE_INDEX=0;_Class._INTERVAL=5e3;_Class._WRAP=true;_Class._FALSE="false";_Class._ACTIVE_EVENT_TYPE=`${_Class._SCOPE}:active`;_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVE_EVENT_TYPE=`${_Class._SCOPE}:deactive`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:[_Class._INTERVAL_ATTRIBUTE,_Class._WRAP_ATTRIBUTE]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{active(){var ref;if(!this._actived()){this._$component.classList.add(this.constructor._ACTIVE_CSS_CLASS);this.constructor._$focused.push(document.activeElement);if((ref=this._parent)!=null){ref.active()}return luda.dispatch(this._$component,this.constructor._ACTIVED_EVENT_TYPE)}}deactive(focus){var ref;if(this._actived()){this._$component.classList.remove(this.constructor._ACTIVE_CSS_CLASS);this._children.forEach(function(child){return child.deactive()});if(focus){if((ref=this.constructor._$focused[this.constructor._$focused.length-1])!=null){ref.focus()}}this.constructor._$focused.splice(this.constructor._$focused.length-1,1);return luda.dispatch(this._$component,this.constructor._DEACTIVED_EVENT_TYPE)}}toggle(focus){if(this._actived()){return this.deactive(focus)}else{return this.active()}}prev(){var focusIndex;if(this._$items.length&&this._actived()){focusIndex=this._$items.indexOf(document.activeElement)-1;if(focusIndex<0){focusIndex=0}return this._$items[focusIndex].focus()}}next(){var focusIndex;if(this._$items.length&&this._actived()){focusIndex=this._$items.indexOf(document.activeElement)+1;if(focusIndex>this._$items.length-1){focusIndex=this._$items.length-1}return this._$items[focusIndex].focus()}}_getConfig(){var _$items,_$menu,_$noneSwitches,_$switches,_isStandalone;_$menu=luda.$child(this.constructor._MENU_SELECTOR,this._$component);_$switches=luda.$unnested(this.constructor._SWITCHES_SELECTOR,this._$component,this.constructor._SELECTOR).concat(luda.$unnested(this.constructor._SWITCHES_SELECTOR,_$menu,this.constructor._MENU_SELECTOR));_$noneSwitches=luda.$unnested(this.constructor._NONE_SWITCHES_SELECTOR,this._$component,this.constructor._SELECTOR).concat(luda.$unnested(this.constructor._NONE_SWITCHES_SELECTOR,_$menu,this.constructor._MENU_SELECTOR));_$items=luda.$unnested(this.constructor._ITEMS_SELECTOR,_$menu,this.constructor._MENU_SELECTOR);_isStandalone=this._$component.hasAttribute(this.constructor._STANDALONE_ATTRIBUTE);return{_$items:_$items,_$switches:_$switches,_$noneSwitches:_$noneSwitches,_isStandalone:_isStandalone}}_constructor(){return({_$items:this._$items,_$switches:this._$switches,_$noneSwitches:this._$noneSwitches,_isStandalone:this._isStandalone}=this._getConfig())}_onMutations(mutations){return this._constructor()}_actived(){return this._$component.classList.contains(this.constructor._ACTIVE_CSS_CLASS)}_deactiveChildrenExcept(exceptions){if(exceptions&&!(exceptions instanceof Array)){exceptions=[exceptions]}if(exceptions){return this._children.forEach(function(child){if(child._actived()&&!exceptions.includes(child)){return child.deactive()}})}else{return this._children.forEach(function(child){if(child._actived()){return child.deactive()}})}}static deactiveExcept(instances$dropdowns){var exceptions;exceptions=[];if(instances$dropdowns&&!(instances$dropdowns instanceof Array)){instances$dropdowns=[instances$dropdowns]}if(instances$dropdowns){instances$dropdowns.forEach(instance$dropdown=>{var exception;if(exception=this.query(instance$dropdown)){return exceptions.push(exception)}})}if(exceptions.length){return this._instances.forEach(function(instance){var instanceHasntExceptionChild,instanceIsntInExceptions;instanceIsntInExceptions=!exceptions.includes(instance);instanceHasntExceptionChild=exceptions.every(function(exception){return!instance._hasDescendant(exception)});if(instance._actived()&&instanceIsntInExceptions&&instanceHasntExceptionChild){return instance.deactive()}})}else{return this._instances.forEach(function(instance){if(instance._actived()){return instance.deactive()}})}}static _standaloneInstances(){return this._instances.filter(function(instance){if(instance._isStandalone){return instance}})}static _init(){var self;self=this;luda.onOpposite("click",this._SELECTOR,function(e){return self.deactiveExcept(self._standaloneInstances())});luda.on("click",this._SELECTOR,function(e){var focus,instance,toggleChecked;if(instance=self.query(this)){toggleChecked=false;focus=!e.detail;self.deactiveExcept(self._standaloneInstances().concat(instance));instance._deactiveChildrenExcept();if(instance._parent){instance._parent._deactiveChildrenExcept(instance)}if(instance._$switches.length||instance._$noneSwitches.length){luda.eventPath(e).some(function($path){if(instance._$switches.includes($path)){instance.toggle(focus);return toggleChecked=true}else if(instance._$noneSwitches.includes($path)){return toggleChecked=true}})}if(!toggleChecked){return instance.toggle(focus)}}});luda.onOpposite("keyup",this._SELECTOR,function(e){return self.deactiveExcept()});luda.on("keyup",this._SELECTOR,function(e){var instance;if(e.keyCode===luda.KEY_TAB&&(instance=self.query(this))){self.deactiveExcept(instance);return instance.active()}});luda.on("keydown",this._SELECTOR,function(e){var instance,ref;if(e.keyCode===luda.KEY_ESC&&(instance=self.query(this))){e.preventDefault();if(instance._actived()){return instance.deactive(true)}else{return(ref=instance._parent)!=null?ref.deactive(true):void 0}}});return luda.on("keydown",this._SELECTOR,function(e){var instance,ref,ref1;if([luda.KEY_LEFT,luda.KEY_UP].includes(e.keyCode)&&(instance=self.query(this))){e.preventDefault();if(instance._actived()){return instance.prev()}else{return(ref=instance._parent)!=null?ref.prev():void 0}}else if([luda.KEY_RIGHT,luda.KEY_DOWN].includes(e.keyCode)&&(instance=self.query(this))){e.preventDefault();if(instance._actived()){return instance.next()}else{return(ref1=instance._parent)!=null?ref1.next():void 0}}})}};_Class._SCOPE="dropdown";_Class._SELECTOR=".dropdown-fixed,.dropdown-absolute, .dropdown-static,.dropdown-absolute-m";_Class._MENU_SELECTOR=".dropdown-menu";_Class._ITEMS_SELECTOR="a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled])";_Class._TOGGLE_ATTRIBUTE="data-dropdown-toggle";_Class._NONE_TOGGLE_ATTRIBUTE="data-dropdown-toggle-disabled";_Class._STANDALONE_ATTRIBUTE="data-dropdown-standalone";_Class._SWITCHES_SELECTOR=`[${_Class._TOGGLE_ATTRIBUTE}]`;_Class._NONE_SWITCHES_SELECTOR=`[${_Class._NONE_TOGGLE_ATTRIBUTE}]`;_Class._ACTIVE_CSS_CLASS="dropdown-active";_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:[_Class._TOGGLE_ATTRIBUTE,_Class._NONE_TOGGLE_ATTRIBUTE,_Class._STANDALONE_ATTRIBUTE]};_Class._$focused=[];return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{_getConfig(){var _$defaultValues,_$valueHolder,_$values;_$values=luda.$children(this.constructor._VALUE_SELECTOR,this._$component);_$defaultValues=luda.$children(this.constructor._DEFAULT_VALUE_SELECTOR,this._$component);_$valueHolder=luda.$child(this.constructor._VALUE_HOLDER_SELECTOR,this._$component);return{_$values:_$values,_$valueHolder:_$valueHolder,_$defaultValues:_$defaultValues}}_constructor(){({_$values:this._$values,_$valueHolder:this._$valueHolder,_$defaultValues:this._$defaultValues}=this._getConfig());this._setValueHolderAttribute();return this._setValueHolderValue()}_onMutations(){return this._constructor()}_setValueHolderValue(){var values;values=[];this._$values.forEach(($value,index)=>{var value;if($value.checked){if($value.hasAttribute(this.constructor._LABEL_ATTRIBUTE)){value=$value.getAttribute(this.constructor._LABEL_ATTRIBUTE)}else{value=this._$defaultValues[index].innerText}}if(value&&!values.includes(value)){return values.push(value)}});if(this._$valueHolder){return this._$valueHolder.value=values.join(this.constructor._VALUE_SPLITOR)}}_setValueHolderAttribute(){if(this._$valueHolder){return this._$valueHolder.setAttribute("readonly","")}}static _init(){var self;self=this;luda.enterClick._add(this._ENTER_CLICK_VALUE_HOLDER_SELECTOR);luda.on("change",`${this._SELECTOR} ${this._VALUE_SELECTOR}`,function(e){return self.query(luda.$parent(self._SELECTOR,this))._setValueHolderValue()});luda.on(luda._FORM_RESET,this._SELECTOR,function(e){return setTimeout(()=>{return self.query(this)._setValueHolderValue()})});if(/iphone/i.test(navigator.userAgent)||/ipad/i.test(navigator.userAgent)){return luda.on("focusin",this._ENTER_CLICK_VALUE_HOLDER_SELECTOR,function(e){this.blur();return this.classList.add(luda.focus._CSS_CLASS)})}}};_Class._SCOPE="fmDropdown";_Class._SELECTOR=".fm-dropdown";_Class._VALUE_SPLITOR=" ";_Class._LABEL_ATTRIBUTE="data-fm-dropdown-label";_Class._VALUE_SELECTOR=".dropdown-items .btn-radio input, .dropdown-items .btn-check input";_Class._DEFAULT_VALUE_SELECTOR=".dropdown-items .btn-radio label, .dropdown-items .btn-check label";_Class._VALUE_HOLDER_SELECTOR=".fm input";_Class._ENTER_CLICK_VALUE_HOLDER_SELECTOR=".fm-dropdown .fm input";_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:["checked",_Class._LABEL_ATTRIBUTE]};return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Component{active(index){var activedIndex;if(this._$panes.length){activedIndex=this._activeIndex;if(index!=null&&index!==this._activeIndex&&(0<=index&&index<=this._$panes.length-1)){this._activeIndex=index;return this._active(activedIndex)}}}_getConfig(){var _$indicators,_$panes,_activeIndex;_$panes=luda.$unnested(this.constructor._PANE_SELECTOR,this._$component,this.constructor._SELECTOR);_$indicators=luda.$unnested(this.constructor._INDICATOR_SELECTOR,this._$component,this.constructor._SELECTOR);_activeIndex=this.constructor._ACTIVE_INDEX;_$indicators.some(function($indicator,index){if($indicator.checked){_activeIndex=index;return true}});return{_$panes:_$panes,_$indicators:_$indicators,_activeIndex:_activeIndex}}_constructor(){({_$panes:this._$panes,_$indicators:this._$indicators,_activeIndex:this._activeIndex}=this._getConfig());return this._active()}_onMutations(mutations){return this._constructor()}_active(activedIndex){this._$panes.forEach(($pane,index)=>{if(index===this._activeIndex){$pane.classList.add(this.constructor._PANE_ACTIVE_CSS_CLASS);return luda.dispatch($pane,this.constructor._ACTIVED_EVENT_TYPE,index)}else{$pane.classList.remove(this.constructor._PANE_ACTIVE_CSS_CLASS);if(index===activedIndex){return luda.dispatch($pane,this.constructor._DEACTIVED_EVENT_TYPE,index)}}});return this._setIndicatorsState()}_setIndicatorsState(){return this._$indicators.forEach(($indicator,index)=>{if(index===this._activeIndex){return $indicator.setAttribute("checked","")}else{return $indicator.removeAttribute("checked")}})}static _init(){var self;self=this;return luda.on("change",this._INDICATOR_SELECTOR,function(e){var instance;if(this.checked){instance=self.query(luda.$parent(self._SELECTOR,this));return instance.active(instance._$indicators.indexOf(this))}})}};_Class._SCOPE="tab";_Class._SELECTOR=".tab";_Class._PANE_SELECTOR=".tab-pane";_Class._INDICATOR_SELECTOR=".tab-indicators .btn-radio input[type=radio]";_Class._PANE_ACTIVE_CSS_CLASS="tab-pane-active";_Class._ACTIVE_INDEX=0;_Class._ACTIVED_EVENT_TYPE=`${_Class._SCOPE}:actived`;_Class._DEACTIVED_EVENT_TYPE=`${_Class._SCOPE}:deactived`;_Class._observerConfig={childList:true,subtree:true};return _Class}.call(this))});
7
7
  //# sourceMappingURL=luda.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviors/enter-click.coffee","../../src/coffee/behaviors/focus.coffee","../../src/coffee/behaviors/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviors/readonly.coffee","../../src/coffee/behaviors/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/patterns/carousel.coffee","../../src/coffee/patterns/dropdown.coffee","../../src/coffee/patterns/form-dropdown.coffee","../../src/coffee/patterns/tab.coffee"],"names":["ENV","document","window","global","Error","luda","installer","installed","name","property","includes","hasOwnProperty","_SCOPE","_install","Array","namespace","installedInstaller","installedName","ref","console","warn","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_TAB","KEY_ESC","KEY_ENTER","$child","selector","$ancestor","querySelector","$children","$descendant","descendants","this","from","querySelectorAll","$unnested","ancestorSelector","filter","$parent","parentNode","matches","$parents","_ancestors","push","$after","$node","$target","lastChild","appendChild","insertBefore","nextSibling","$prepend","firstChild","reflow","$element","offsetHeight","splice","_SWIPE_DISTANCE","_EVENT_TYPE_PREFIX","_SWIPE_LEFT","_SWIPE_RIGHT","_SWIPE_UP","_SWIPE_DOWN","_SWIPE_LEFT_OR_UP","_SWIPE_RIGHT_OR_DOWN","_DOC_READY","_FORM_RESET","eventPath","event","path","composedPath","target","concat","on","handler","call","_onDocReady","_onReset","_onSwipe","_on","onOpposite","_self","addEventListener","e","trigger","every","dispatch","type","detail","options","evt","bubbles","cancelable","composed","Event","dispatchEvent","readyState","forEach","bind","$touchStartElement","touchStartE","touchStartX","touchStartY","watch","touches","length","screenX","screenY","some","eventX","eventXOrY","eventY","touchDistanceX","touchDistanceY","Math","abs","except","element","arr","indexOf","Singleton","[object Object]","_actived","_SELECTOR_INVALID_ERROR","_SELECTORS","_mergeSelectors","_selector","join","exposed","_init","self","keyCode","preventDefault","setTimeout","click","_Class","$exception","_$focus","$focus","classList","remove","_CSS_CLASS","body","documentElement","add","_removeFocusClassExcept","_addFocusClassExceptHtmlAndBody","_PARENT_FOCUS_CHILDREN_SELECTOR","_PARENT_FOCUS_SELECTOR","blur","focus","HTMLElement","prototype","apply","arguments","activeElement","_setElementPrototype","_changeFocusStateOnKeyEvent","_changeFocusStateOnMouseDownEvent","_TOUCHSTART_FOCUS_SELECTOR","getElementsByClassName","$radio","$inputs","$input","tabIndex","$next","$prev","$sameNameRadios","radioIndex","_querySameName$radios","nodeName","toUpperCase","shiftKey","_query$prev$next","Component","descendant","_children","child","_hasDescendant","_observer","MutationObserver","_onMutations","observe","_$component","constructor","_observerConfig","disconnect","$component","$family","componentIsElementInstance","instance","parent","Element","_$COMPONENT_INVALID_ERROR","_query$family","query","_$parent","_instances","_createInstance","_parent","_$children","create","instance$component","attribute","results","value","_disconnect","_destroy","destroy","inited","_SELECTOR","_constructor","_observe","classObj","mutations","mutation","$addedNodes","$removedNodes","removedNodes","addedNodes","_Observed","Observed","$destroies","$destroy","$creates","$create","_COMPONENT_NO_SELECTOR_ERROR","childList","subtree","_isReadonly","_originalTabIndex","readonly","getAttribute","_READONLY_ATTRIBUTE","_READONLY_FALSE_VALUE","_getConfig","_setTabIndex","attributes","attributeFilter","name$target","_query$targets","_ACTIVE_CSS_CLASS","_ACTIVED_EVENT_TYPE","_DEACTIVED_EVENT_TYPE","contains","deactive","active","_TOGGLE_TARGET_ATTRIBUTE","toggleChecked","$path","$toggle","toggleName","hasAttribute","_TOGGLE_ATTRIBUTE","_TOGGLE_FOR_ATTRIBUTE","toggle","_NONE_TOGGLE_ATTRIBUTE","_$file","_$simulator","_FILE_SELECTOR","_SIMULATOR_SELECTOR","createElement","placeholder","_PLACEHOLDER_ATTRIBUTE","values","files","map","file","_VALUE_SPLITOR","_VALUE_ATTRIBUTE","_insertSimulator","_setPlaceholderValue","_setSimulatorValue","indexOrIndexArray","selectedIndexes","_$select","multiple","_$multipleSelectPlaceholder","index","$option","selected","_markSelectedOption","selectedIndex","_setSingleSelectSimulatorValue","_$defaultSelectedOptions","_$singleSelectSimulator","_defaultSelectedOptionMarked","_SELECT_SELECTOR","_SINGLE_SELECT_SIMULATOR_SELECTOR","_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS","_DEFAULT_SELECTED_OPTION_ATTRIBUTE","_INITED_ATTRIBUTE","_initMultipleSelect","_initSingleSelect","setAttribute","removeAttribute","hasSelected","$selectedOption","innerText","_insertSingleSelectSimulator","_setSingleSelectedDefaultSelectedOption","_setSingleSelectPlaceholderValue","_markDefaultSelectedOption","className","disabled","_insertMultipleSelectBlankOption","_setMultipleSelectPlaceholderValue","_reset","action","activedIndex","_$items","_transiting","_activeIndex","_wrap","_slideNext","_playTimeStamp","Date","now","_pausedRemainTime","_interval","_slidePrev","_intervaling","clearInterval","execute","pause","next","setInterval","_$indicators","_$nextControl","_$prevControl","_ITEMS_SELECTOR","_INDICATORS_SELECTOR","_PREV_CONTROL_SELECTOR","_NEXT_CONTROL_SELECTOR","_ITEM_ACTIVE_CSS_CLASS","_ACTIVE_INDEX","_INTERVAL_ATTRIBUTE","_FALSE","parseInt","_INTERVAL","_WRAP_ATTRIBUTE","_WRAP","_layout","play","_setIndicatorsState","_setDirectionControlState","$item","style","transition","_ITEM_NEXT_CSS_CLASS","_ITEM_PREV_CSS_CLASS","$activedItem","_ACTIVE_EVENT_TYPE","_DEACTIVE_EVENT_TYPE","$indicator","ref1","ref2","ref3","startE","prev","_$focused","focusIndex","_$menu","_$noneSwitches","_$switches","_isStandalone","_MENU_SELECTOR","_SWITCHES_SELECTOR","_NONE_SWITCHES_SELECTOR","_STANDALONE_ATTRIBUTE","exceptions","instances$dropdowns","instance$dropdown","exception","instanceHasntExceptionChild","instanceIsntInExceptions","deactiveExcept","_standaloneInstances","_deactiveChildrenExcept","_$defaultValues","_$valueHolder","_$values","_VALUE_SELECTOR","_DEFAULT_VALUE_SELECTOR","_VALUE_HOLDER_SELECTOR","_setValueHolderAttribute","_setValueHolderValue","$value","checked","enterClick","_add","_ENTER_CLICK_VALUE_HOLDER_SELECTOR","test","navigator","userAgent","_$panes","_active","_PANE_SELECTOR","_INDICATOR_SELECTOR","$pane","_PANE_ACTIVE_CSS_CLASS"],"mappings":"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","sourcesContent":["ENV = (->\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 runtime environment.'\n)()\n\n\n\nunless typeof ENV.luda is 'function'\n ENV.luda = (installer) ->\n throw new Error 'Installer cannot be detected.' unless installer\n unless ['object', 'function'].includes typeof installer\n throw new Error 'Installer must be object, array or function.'\n if installer.hasOwnProperty '_SCOPE'\n unless typeof installer._SCOPE is 'string'\n throw new Error '_SCOPE must be string'\n return ENV.luda._install installer._SCOPE, installer\n if installer instanceof Array or typeof installer is 'function'\n throw new Error 'Unscoped installer must be object.'\n installed = {}\n for name, property of installer\n installed[name] = ENV.luda._install name, property\n installed\n\n ENV.luda._install = (namespace, installer) ->\n if ENV.luda[namespace]\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\n return ENV.luda[namespace]\n for installedName, installedInstaller of ENV.luda\n if installer is installedInstaller\n console.warn \"Installer is installed with name #{installedName},\n skip installation.\"\n return ENV.luda[installedName]\n if installer._install\n if typeof installer._install is 'function'\n return ENV.luda[namespace] = installer._install()\n return ENV.luda[namespace] = installer._install\n ENV.luda[namespace] = installer","import './install.coffee'\n\n\n\nluda\n\n KEY_LEFT: 37\n KEY_UP: 38\n KEY_RIGHT: 39\n KEY_DOWN: 40\n KEY_TAB: 9\n KEY_ESC: 27\n KEY_ENTER: 13","import './install.coffee'\n\n\n\nluda\n \n $child: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $ancestor.querySelector selector\n\n $children: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $descendant = @$child selector, $ancestor\n if $descendant\n descendants = Array.from($ancestor.querySelectorAll selector)\n else\n descendants = []\n\n $unnested: (selector, $ancestor, ancestorSelector) ->\n descendants = @$children selector, $ancestor\n descendants.filter ($descendant) =>\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\n\n $parent: (selector, $descendant) ->\n $ancestor = $descendant.parentNode\n if $ancestor\n if $ancestor.matches and $ancestor.matches selector\n $ancestor\n else\n @$parent selector, $ancestor\n\n $parents: (selector, $descendant, _ancestors) ->\n $ancestor = @$parent selector, $descendant\n _ancestors = [] unless _ancestors\n if $ancestor\n _ancestors.push($ancestor)\n @$parents selector, $ancestor, _ancestors\n else\n _ancestors\n\n $after: ($node, $target) ->\n $parent = $target.parentNode\n if $parent.lastChild is $target\n $parent.appendChild $node\n else\n $parent.insertBefore $node, $target.nextSibling\n\n $prepend: ($node, $target) ->\n if $target.firstChild\n $target.insertBefore $node, $target.firstChild\n else\n $target.appendChild $node\n\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\nimport './dom.coffee'\n\n\n\nluda\n \n _SWIPE_DISTANCE: 10\n _EVENT_TYPE_PREFIX: 'luda'\n _SWIPE_LEFT: 'swipeleft'\n _SWIPE_RIGHT: 'swiperight'\n _SWIPE_UP: 'swipeup'\n _SWIPE_DOWN: 'swipedown'\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\n _DOC_READY: 'docready'\n _FORM_RESET: 'reset'\n\n eventPath: (event) ->\n if event.composedPath\n path = event.composedPath()\n else if event.path\n path = event.path\n else\n path = [event.target].concat(luda.$parents '*', event.target)\n\n on: (event, selector..., handler) ->\n switch event\n when @_DOC_READY then @_onDocReady handler\n when @_FORM_RESET then @_onReset selector[0], handler\n when @_SWIPE_LEFT, \\\n @_SWIPE_RIGHT, \\\n @_SWIPE_UP, \\\n @_SWIPE_DOWN, \\\n @_SWIPE_LEFT_OR_UP, \\\n @_SWIPE_RIGHT_OR_DOWN\n then @_onSwipe event, selector[0], handler\n else @_on event, selector[0], handler\n\n onOpposite: (event, selector, handler) ->\n _self = this\n document.addEventListener event, (e) ->\n trigger = _self.eventPath(e).every ($element) ->\n not $element.matches or not $element.matches selector\n handler e if trigger\n\n dispatch: ($target, type, detail, options = {}) ->\n options.bubbles = true unless typeof options.bubbles is 'boolean'\n options.cancelable = true unless typeof options.cancelable is 'boolean'\n options.composed = true unless typeof options.composed is 'boolean'\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\n evt.detail = detail\n $target.dispatchEvent evt\n evt\n \n _onDocReady: (handler) ->\n if document.readyState is 'loading'\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler()\n\n _onReset: (selector, handler) ->\n document.addEventListener 'reset', (e) ->\n if selector?\n luda.$children(selector, e.target).forEach ($element) ->\n handler.bind($element)(e)\n else\n handler e\n \n _onSwipe: (event, selector, handler) ->\n _self = this\n watch = false\n $touchStartElement = document\n touchStartE = null\n touchStartX = 0\n touchStartY = 0\n document.addEventListener 'touchstart', (e) ->\n if e.touches.length is 1\n touchStartX = e.touches[0].screenX\n touchStartY = e.touches[0].screenY\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n $touchStartElement = $element\n touchStartE = e\n watch = true\n return true\n else\n watch = true\n\n document.addEventListener 'touchmove', (e) ->\n if watch and e.touches.length is 1\n touchDistanceX = e.touches[0].screenX - touchStartX\n touchDistanceY = e.touches[0].screenY - touchStartY\n eventX = undefined\n eventY = undefined\n eventXOrY = undefined\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\n if touchDistanceX > 0\n eventX = _self._SWIPE_RIGHT\n else\n eventX = _self._SWIPE_LEFT\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\n if touchDistanceY > 0\n eventY = _self._SWIPE_DOWN\n else\n eventY = _self._SWIPE_UP\n if eventX is _self._SWIPE_LEFT \\\n or eventY is _self._SWIPE_UP\n eventXOrY = _self._SWIPE_LEFT_OR_UP\n if eventX is _self._SWIPE_RIGHT \\\n or eventY is _self._SWIPE_DOWN\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\n if (eventX? and eventX is event) \\\n or (eventY? and eventY is event) \\\n or eventXOrY is event\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element is $touchStartElement\n watch = false\n handler.bind($element)(touchStartE, e)\n return true\n else\n watch = false\n handler touchStartE, e\n\n _on: (event, selector, handler) ->\n if selector is window\n window.addEventListener event, (e) -> handler e\n else\n _self = this\n document.addEventListener event, (e) ->\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n handler.bind($element)(e)\n return true\n else\n handler e","import './install.coffee'\n\n\n\nluda\n \n except: (element, arr) ->\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\nimport './utilities.coffee'\n\n\n \nluda class Singleton\n\n @_SCOPE: 'Singleton'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_selector: ''\n @_actived: true\n\n @active: ->\n @_actived = true\n\n @deactive: ->\n @_actived = false\n\n @_add: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\n @_mergeSelectors()\n\n @_remove: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n luda.except selector, @_SELECTORS\n @_mergeSelectors()\n\n @_mergeSelectors: ->\n @_selector = @_SELECTORS.join ','\n\n @_install: ->\n return this if this is Singleton\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'enterClick'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_ENTER \\\n and e.target.matches self._selector\n e.preventDefault()\n setTimeout(-> e.target.click())","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'focus'\n\n @_CSS_CLASS: 'focus'\n # mouse focusable selectors\n @_SELECTORS: ['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 ]\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_removeFocusClassExcept: ($exception) ->\n Array.from(@_$focus).forEach ($focus) =>\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\n\n @_addFocusClassExceptHtmlAndBody: ($target) ->\n if $target isnt document.body and $target isnt document.documentElement\n $target.classList.add @_CSS_CLASS\n\n @_changeFocusStateOnKeyEvent: (e) ->\n if @_actived\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_actived\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\n else\n target = e.target\n if target.matches @_selector\n @_removeFocusClassExcept target\n @_addFocusClassExceptHtmlAndBody target\n else\n @_removeFocusClassExcept()\n\n @_setElementPrototype: ->\n focus = HTMLElement.prototype.focus\n blur = HTMLElement.prototype.blur\n self = this\n HTMLElement.prototype.focus = ->\n focus.apply this, arguments\n if self._actived and document.activeElement is this\n self._removeFocusClassExcept this\n self._addFocusClassExceptHtmlAndBody this\n HTMLElement.prototype.blur = ->\n blur.apply this, arguments\n this.classList.remove self._CSS_CLASS if self._actived\n\n @_init: ->\n self = this\n @_setElementPrototype()\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\n @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'radioTab'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_querySameName$radios: ($radio) ->\n if $radio.name\n selector = \"#{@_selector}[name=#{$radio.name}]\"\n else\n selector = @_selector\n $inputs = luda.$children selector\n $inputs.filter ($input) -> $input.tabIndex >= 0\n\n @_query$prev$next: ($radio) ->\n $sameNameRadios = @_querySameName$radios $radio\n radioIndex = $sameNameRadios.indexOf $radio\n $prev = $sameNameRadios[radioIndex - 1]\n $next = $sameNameRadios[radioIndex + 1]\n {$prev, $next}\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_TAB \\\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\n and e.target.type is 'radio'\n if e.shiftKey\n if $prev = self._query$prev$next(e.target).$prev\n e.preventDefault()\n $prev.focus()\n else\n if $next = self._query$prev$next(e.target).$next\n e.preventDefault()\n $next.focus()","import './install.coffee'\nimport './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Component\n\n @_SCOPE: 'Component'\n \n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\n @_SELECTOR: ''\n @_instances: []\n\n @_Observed: []\n @_observer: null\n @_observerConfig:\n childList: true\n subtree: true\n\n _hasDescendant: (descendant) ->\n if @_children.length and descendant\n return true if @_children.includes descendant\n return @_children.some (child) -> child._hasDescendant descendant\n else\n return false\n\n _observe: ->\n @_observer = new MutationObserver @_onMutations.bind this\n @_observer.observe @_$component, @constructor._observerConfig\n\n _disconnect: ->\n @_observer.disconnect()\n @_observer = null\n\n @create: ($component) ->\n componentIsElementInstance = $component instanceof Element\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\n $family = @_query$family $component\n instance = @query $component\n if $family._$parent\n if parent = @query $family._$parent\n @_instances.push instance = @_createInstance $component unless instance\n if instance._parent isnt parent\n parent._children.push(instance) and (instance._parent = parent)\n $family._$children.forEach ($child) => @create $child\n return instance\n else\n @create $family._$parent\n return @query $component\n else\n @_instances.push instance = @_createInstance $component unless instance\n $family._$children.forEach ($child) => @create $child\n return instance\n\n @destroy: (instance$component) ->\n instance = @query instance$component\n if instance\n instance._disconnect() if instance._observer\n instance._destroy() if instance._destroy\n @destroy instance._children[0] while instance._children.length\n if instance._parent\n luda.except instance, instance._parent._children\n luda.except instance, @_instances\n for attribute, value of instance\n instance[attribute] = null\n \n @query: (instance$component) ->\n instance = null\n if instance$component instanceof this \\\n and @_instances.includes instance$component\n instance = instance$component\n else if instance$component instanceof Element\n @_instances.some (inited) ->\n if inited._$component is instance$component\n instance = inited\n return true\n return instance\n\n @_query$family: ($component) ->\n _$parent = null\n _$children = []\n if @_SELECTOR\n _$parent = luda.$parent @_SELECTOR, $component\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\n {_$parent, _$children}\n\n @_createInstance: ($component) ->\n instance = new this()\n instance._$component = $component\n instance._parent = null\n instance._children = []\n instance._observer = null\n instance._constructor() if instance._constructor\n unless instance._observer and instance._onMutations and @_observerConfig\n instance._observe()\n instance\n\n @_observe: (classObj) ->\n unless Component._observer\n Component._observer = new MutationObserver (mutations) ->\n mutations.forEach (mutation) ->\n $removedNodes = Array.from mutation.removedNodes\n $addedNodes = Array.from mutation.addedNodes\n $removedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.destroy $node\n else\n $destroies = luda.$children Observed._SELECTOR, $node\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\n $addedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.create $node\n else\n $creates = luda.$children Observed._SELECTOR, $node\n $creates.forEach ($create) -> Observed.create $create\n Component._observer.observe document.documentElement, \\\n Component._observerConfig\n unless Component._Observed.includes classObj\n Component._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Component\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\n @_instances = [] unless @hasOwnProperty '_instances'\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, ->\n luda.$children(self._SELECTOR).forEach ($component) ->\n self.create $component\n Component._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_READONLY_FALSE_VALUE: 'false'\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\n\n @_observerConfig:\n attributes: true\n attributeFilter: [@_READONLY_ATTRIBUTE]\n\n _getConfig: ->\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\n _originalTabIndex = @_$component.tabIndex\n {_isReadonly, _originalTabIndex}\n \n _constructor: ->\n {\n @_isReadonly,\n @_originalTabIndex\n } = @_getConfig()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-toggle-disabled'\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\n ]\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @active: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.add @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\n\n @deactive: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.remove @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactive($target)\n else\n @active($target)\n\n @_query$targets: (name$target) ->\n if name$target instanceof Element\n [name$target]\n else\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\n\n @_init: ->\n self = this\n luda.on 'click', @_selector, (e) ->\n toggleChecked = false\n luda.eventPath(e).some ($path) ->\n if $path instanceof Element\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\n self.toggle toggleName\n toggleChecked = true\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\n $toggle = $path\n else\n $toggle = luda.$parent \\\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\n if $toggle\n self.toggle $toggle\n toggleChecked = true\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmFile'\n\n @_VALUE_SPLITOR: ' '\n @_SELECTOR: '.fm-file'\n @_FILE_SELECTOR: 'input[type=file]'\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_VALUE_ATTRIBUTE: 'value'\n\n @_observerConfig:\n childList: true\n subtree: true\n\n _getConfig: ->\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\n _$simulator = luda.$child \\\n @constructor._SIMULATOR_SELECTOR, @_$component\n {_$file, _$simulator}\n\n _constructor: ->\n {\n @_$file,\n @_$simulator\n } = @_getConfig()\n @_init()\n\n _onMutations: ->\n @_constructor()\n\n _insertSimulator: ->\n @_$simulator = document.createElement 'input'\n @_$simulator.tabIndex = -1\n luda.$after @_$simulator, @_$file\n\n _setPlaceholderValue: ->\n @_$simulator.placeholder = \\\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSimulatorValue: ->\n values = []\n Array.from(@_$file.files).map (file) -> values.push file.name\n if values.length\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\n\n _init: ->\n if @_$file\n @_insertSimulator() unless @_$simulator\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmSelect'\n\n @_SELECTOR: '.fm-select'\n @_SELECT_SELECTOR: 'select'\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: ['selected']\n\n select: (indexOrIndexArray) ->\n if @_$select.multiple\n if @_$multipleSelectPlaceholder\n selectedIndexes = indexOrIndexArray\n else\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\n Array.from(@_$select.options).forEach ($option, index) ->\n $option.selected = selectedIndexes.includes index\n @_markSelectedOption()\n else\n @_$select.selectedIndex = selectedIndex\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _getConfig: ->\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\n _$singleSelectSimulator = luda.$child \\\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\n _$multipleSelectPlaceholder = luda.$child \\\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\n _$defaultSelectedOptions = luda.$children \\\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\n @constructor._INITED_ATTRIBUTE\n {\n _$select,\n _$singleSelectSimulator,\n _$multipleSelectPlaceholder,\n _$defaultSelectedOptions,\n _defaultSelectedOptionMarked\n }\n\n _constructor: ->\n {\n @_$select,\n @_$singleSelectSimulator,\n @_$multipleSelectPlaceholder,\n @_$defaultSelectedOptions,\n @_defaultSelectedOptionMarked\n } = @_getConfig()\n if @_$select\n if @_$select.multiple\n @_initMultipleSelect()\n else\n @_initSingleSelect()\n \n _onMutations: ->\n @_constructor()\n\n _markSelectedOption: ->\n @_disconnect() if @_observer\n Array.from(@_$select.options).forEach ($option) ->\n if $option.selected\n $option.setAttribute 'selected', 'selected'\n else\n $option.removeAttribute 'selected'\n @_observe() unless @_observer\n\n _markDefaultSelectedOption: ->\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\n Array.from(@_$select.options).forEach ($option) =>\n if $option.selected\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\n\n _setSingleSelectedDefaultSelectedOption: ->\n hasSelected = Array.from(@_$select.options).some ($option) ->\n $option.getAttribute('selected') is 'selected'\n @_$select.selectedIndex = -1 unless hasSelected\n\n _insertSingleSelectSimulator: ->\n @_$singleSelectSimulator = document.createElement 'input'\n @_$singleSelectSimulator.tabIndex = -1\n luda.$after @_$singleSelectSimulator, @_$select\n\n _setSingleSelectPlaceholderValue: ->\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSingleSelectSimulatorValue: ->\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\n @_$singleSelectSimulator.value = $selectedOption.innerText\n else\n @_$singleSelectSimulator.value = ''\n\n _initSingleSelect: ->\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setSingleSelectedDefaultSelectedOption()\n @_setSingleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _insertMultipleSelectBlankOption: ->\n @_$multipleSelectPlaceholder = document.createElement 'option'\n @_$multipleSelectPlaceholder.className = \\\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\n @_$multipleSelectPlaceholder.disabled = true\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\n\n _setMultipleSelectPlaceholderValue: ->\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _initMultipleSelect: ->\n unless @_$multipleSelectPlaceholder\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_insertMultipleSelectBlankOption()\n @_setMultipleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n\n _reset: ->\n if @_$select\n Array.from(@_$select.options).forEach ($option) =>\n $option.selected = @_$defaultSelectedOptions.includes $option\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\n @_markSelectedOption()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._setSingleSelectSimulatorValue() unless this.multiple\n instance._markSelectedOption()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._reset()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'carousel'\n\n @_SELECTOR: '.carousel'\n @_ITEMS_SELECTOR: '.carousel-item'\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\n @_ACTIVE_INDEX: 0\n @_INTERVAL: 5000\n @_WRAP: true\n @_FALSE: 'false'\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n active: (index) ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\n @[action] @_$items[activedIndex], activedIndex\n\n next: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n @_transiting = true\n @_activeIndex = index\n @_slideNext @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n @_slidePrev @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n pause: ->\n if @_intervaling?\n clearInterval @_intervaling\n @_intervaling = null\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\n\n play: ->\n if @_interval and @_$items.length > 1\n @_playTimeStamp = Date.now()\n @pause()\n execute = =>\n @next()\n @_intervaling = setInterval @next.bind(this), @_interval\n @_intervaling = setTimeout execute, @_pausedRemainTime\n\n\n # private\n _getConfig: ->\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\n _$prevControl = luda.$child \\\n @constructor._PREV_CONTROL_SELECTOR, @_$component\n _$nextControl = luda.$child \\\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\n _activeIndex = _$items.indexOf \\\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\n if _interval is @constructor._FALSE\n _interval = false\n else\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\n {\n _$items,\n _$indicators,\n _$prevControl,\n _$nextControl,\n _activeIndex,\n _interval,\n _wrap\n }\n\n _constructor: ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_transiting = false\n @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @play()\n\n _onMutations: (mutations) ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_setIndicatorsState()\n @_setDirectionControlState()\n @play()\n\n _destroy: ->\n @pause()\n\n _layout: ->\n @_$items.forEach ($item, index) =>\n $item.style.transition = 'none'\n if index > @_activeIndex\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else if index < @_activeIndex\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow($item)\n $item.style.transition = ''\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slideNext: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n $indicator.disabled = index is @_activeIndex\n\n _setDirectionControlState: ->\n if @_$items.length <= 1\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\n else\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\n @_$nextControl?.disabled = \\\n @_activeIndex is @_$items.length - 1 and not @_wrap\n \n # static private\n @_init: ->\n self = this\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._transiting = false\n index = instance._$items.indexOf this\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\n else\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this\n luda.on 'touchstart', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'touchend', @_SELECTOR, (e) ->\n setTimeout => self.query(this).play()\n luda.on 'mouseover', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'mouseout', @_SELECTOR, (e) ->\n self.query(this).play()\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\n self.query(this).next()\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\n self.query(this).prev()\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).prev()\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'dropdown'\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\n .dropdown-static,.dropdown-absolute-m'\n @_MENU_SELECTOR: '.dropdown-menu'\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled])'\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle-disabled'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_NONE_TOGGLE_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n active: ->\n unless @_actived()\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.active()\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\n\n deactive: (focus) ->\n if @_actived()\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactive()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\n\n toggle: (focus) ->\n if @_actived() then @deactive(focus) else @active()\n\n prev: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) - 1\n focusIndex = 0 if focusIndex < 0\n @_$items[focusIndex].focus()\n\n next: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) + 1\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\n @_$items[focusIndex].focus()\n\n _getConfig: ->\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\n _$switches = luda.$unnested( \\\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\n .concat(luda.$unnested \\\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$noneSwitches = luda.$unnested( \\\n @constructor._NONE_SWITCHES_SELECTOR, \\\n @_$component, @constructor._SELECTOR) \\\n .concat(luda.$unnested \\\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\n {_$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n {\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _actived: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactiveChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n child.deactive() if child._actived() and not exceptions.includes child\n else\n @_children.forEach (child) ->\n child.deactive() if child._actived()\n\n @deactiveExcept: (instances$dropdowns) ->\n exceptions = []\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\n instances$dropdowns = [instances$dropdowns]\n if instances$dropdowns\n instances$dropdowns.forEach (instance$dropdown) =>\n exceptions.push exception if exception = @query instance$dropdown\n if exceptions.length\n @_instances.forEach (instance) ->\n instanceIsntInExceptions = not exceptions.includes instance\n instanceHasntExceptionChild = exceptions.every (exception) ->\n not instance._hasDescendant exception\n if instance._actived() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactive()\n else\n @_instances.forEach (instance) ->\n instance.deactive() if instance._actived()\n\n @_standaloneInstances: ->\n @_instances.filter (instance) -> instance if instance._isStandalone\n\n @_init: ->\n self = this\n luda.onOpposite 'click', @_SELECTOR, (e) ->\n self.deactiveExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactiveExcept(self._standaloneInstances().concat instance)\n instance._deactiveChildrenExcept()\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\n if instance._$switches.length or instance._$noneSwitches.length\n luda.eventPath(e).some ($path) ->\n if instance._$switches.includes $path\n instance.toggle focus\n toggleChecked = true\n else if instance._$noneSwitches.includes $path\n toggleChecked = true\n instance.toggle focus unless toggleChecked\n\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactiveExcept(instance)\n instance.active()\n luda.on 'keydown', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_ESC and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.deactive true\n else\n instance._parent?.deactive true\n luda.on 'keydown', @_SELECTOR, (e) ->\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.prev()\n else\n instance._parent?.prev()\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.next()\n else\n instance._parent?.next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\nimport '../behaviors/focus.coffee'\nimport '../behaviors/enter-click.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmDropdown'\n\n @_SELECTOR: '.fm-dropdown'\n @_VALUE_SPLITOR: ' '\n @_VALUE_ATTRIBUTE: 'data-fm-dropdown-value'\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n @_VALUE_HOLDER_SELECTOR: '.fm input'\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n 'checked'\n @_VALUE_ATTRIBUTE\n ]\n\n _getConfig: ->\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\n _$defaultValues = luda.$children \\\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\n _$valueHolder = luda.$child \\\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\n {_$values, _$valueHolder, _$defaultValues}\n\n _constructor: ->\n {\n @_$values,\n @_$valueHolder,\n @_$defaultValues\n } = @_getConfig()\n @_setValueHolderAttribute()\n @_setValueHolderValue()\n\n _onMutations: ->\n @_constructor()\n\n _setValueHolderValue: ->\n values = []\n @_$values.forEach ($value, index) =>\n if $value.checked\n if $value.hasAttribute @constructor._VALUE_ATTRIBUTE\n value = $value.getAttribute @constructor._VALUE_ATTRIBUTE\n else\n value = @_$defaultValues[index].innerText\n values.push value if value and not values.includes value\n if @_$valueHolder\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\n\n _setValueHolderAttribute: ->\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\n\n @_init: ->\n self = this\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setValueHolderValue()\n # prevent ios device pop out wired navigation pannel\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'tab'\n\n @_SELECTOR: '.tab'\n @_PANE_SELECTOR: '.tab-pane'\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\n @_ACTIVE_INDEX: 0\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n active: (index) ->\n if @_$panes.length\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n @_activeIndex = index\n @_active(activedIndex)\n\n # private\n _getConfig: ->\n _$panes = luda.$unnested \\\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\n _activeIndex = @constructor._ACTIVE_INDEX\n _$indicators.some ($indicator, index) ->\n if $indicator.checked\n _activeIndex = index\n true\n {_$panes, _$indicators, _activeIndex}\n\n _constructor: ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_active()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _active: (activedIndex) ->\n @_$panes.forEach ($pane, index) =>\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n if index is activedIndex\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\n @_setIndicatorsState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n else\n $indicator.removeAttribute 'checked'\n\n # static private\n @_init: ->\n self = this\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\n if this.checked\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this"]}
1
+ {"version":3,"sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviors/enter-click.coffee","../../src/coffee/behaviors/focus.coffee","../../src/coffee/behaviors/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviors/readonly.coffee","../../src/coffee/behaviors/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/patterns/carousel.coffee","../../src/coffee/patterns/dropdown.coffee","../../src/coffee/patterns/form-dropdown.coffee","../../src/coffee/patterns/tab.coffee"],"names":["ENV","document","window","global","Error","luda","installer","installed","name","property","includes","hasOwnProperty","_SCOPE","_install","Array","namespace","installedInstaller","installedName","ref","console","warn","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_TAB","KEY_ESC","KEY_ENTER","$child","selector","$ancestor","querySelector","$children","$descendant","descendants","this","from","querySelectorAll","$unnested","ancestorSelector","filter","$parent","parentNode","matches","$parents","_ancestors","push","$after","$node","$target","lastChild","appendChild","insertBefore","nextSibling","$prepend","firstChild","reflow","$element","offsetHeight","splice","_SWIPE_DISTANCE","_EVENT_TYPE_PREFIX","_SWIPE_LEFT","_SWIPE_RIGHT","_SWIPE_UP","_SWIPE_DOWN","_SWIPE_LEFT_OR_UP","_SWIPE_RIGHT_OR_DOWN","_DOC_READY","_FORM_RESET","eventPath","event","path","composedPath","target","concat","on","handler","call","_onDocReady","_onReset","_onSwipe","_on","onOpposite","_self","addEventListener","e","trigger","every","dispatch","type","detail","options","evt","bubbles","cancelable","composed","Event","dispatchEvent","readyState","forEach","bind","$touchStartElement","touchStartE","touchStartX","touchStartY","watch","touches","length","screenX","screenY","some","eventX","eventXOrY","eventY","touchDistanceX","touchDistanceY","Math","abs","except","element","arr","indexOf","Singleton","[object Object]","_actived","_SELECTOR_INVALID_ERROR","_SELECTORS","_mergeSelectors","_selector","join","exposed","_init","self","keyCode","preventDefault","setTimeout","click","_Class","$exception","_$focus","$focus","classList","remove","_CSS_CLASS","body","documentElement","add","_removeFocusClassExcept","_addFocusClassExceptHtmlAndBody","_PARENT_FOCUS_CHILDREN_SELECTOR","_PARENT_FOCUS_SELECTOR","blur","focus","HTMLElement","prototype","apply","arguments","activeElement","_setElementPrototype","_changeFocusStateOnKeyEvent","_changeFocusStateOnMouseDownEvent","_TOUCHSTART_FOCUS_SELECTOR","getElementsByClassName","$radio","$inputs","$input","tabIndex","$next","$prev","$sameNameRadios","radioIndex","_querySameName$radios","nodeName","toUpperCase","shiftKey","_query$prev$next","Component","descendant","_children","child","_hasDescendant","_observer","MutationObserver","_onMutations","observe","_$component","constructor","_observerConfig","disconnect","$component","$family","componentIsElementInstance","instance","parent","Element","_$COMPONENT_INVALID_ERROR","_query$family","query","_$parent","_instances","_createInstance","_parent","_$children","create","instance$component","attribute","results","value","_disconnect","_destroy","destroy","inited","_SELECTOR","_constructor","_observe","classObj","mutations","mutation","$addedNodes","$removedNodes","removedNodes","addedNodes","_Observed","Observed","$destroies","$destroy","$creates","$create","_COMPONENT_NO_SELECTOR_ERROR","childList","subtree","_isReadonly","_originalTabIndex","readonly","getAttribute","_READONLY_ATTRIBUTE","_READONLY_FALSE_VALUE","_getConfig","_setTabIndex","attributes","attributeFilter","name$target","_query$targets","_ACTIVE_CSS_CLASS","_ACTIVED_EVENT_TYPE","_DEACTIVED_EVENT_TYPE","contains","deactive","active","_TOGGLE_TARGET_ATTRIBUTE","toggleChecked","$path","$toggle","toggleName","hasAttribute","_TOGGLE_ATTRIBUTE","_TOGGLE_FOR_ATTRIBUTE","toggle","_NONE_TOGGLE_ATTRIBUTE","_$file","_$simulator","_FILE_SELECTOR","_SIMULATOR_SELECTOR","createElement","placeholder","_PLACEHOLDER_ATTRIBUTE","values","files","map","file","_VALUE_SPLITOR","_VALUE_ATTRIBUTE","_insertSimulator","_setPlaceholderValue","_setSimulatorValue","indexOrIndexArray","selectedIndexes","_$select","multiple","_$multipleSelectPlaceholder","index","$option","selected","_markSelectedOption","selectedIndex","_setSingleSelectSimulatorValue","_$defaultSelectedOptions","_$singleSelectSimulator","_defaultSelectedOptionMarked","_SELECT_SELECTOR","_SINGLE_SELECT_SIMULATOR_SELECTOR","_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS","_DEFAULT_SELECTED_OPTION_ATTRIBUTE","_INITED_ATTRIBUTE","_initMultipleSelect","_initSingleSelect","setAttribute","removeAttribute","hasSelected","$selectedOption","innerText","_insertSingleSelectSimulator","_setSingleSelectedDefaultSelectedOption","_setSingleSelectPlaceholderValue","_markDefaultSelectedOption","className","disabled","_insertMultipleSelectBlankOption","_setMultipleSelectPlaceholderValue","_reset","action","activedIndex","_$items","_transiting","_activeIndex","_wrap","_slideNext","_playTimeStamp","Date","now","_pausedRemainTime","_interval","_slidePrev","_intervaling","clearInterval","execute","pause","next","setInterval","_$indicators","_$nextControl","_$prevControl","_ITEMS_SELECTOR","_INDICATORS_SELECTOR","_PREV_CONTROL_SELECTOR","_NEXT_CONTROL_SELECTOR","_ITEM_ACTIVE_CSS_CLASS","_ACTIVE_INDEX","_INTERVAL_ATTRIBUTE","_FALSE","parseInt","_INTERVAL","_WRAP_ATTRIBUTE","_WRAP","_layout","play","_setIndicatorsState","_setDirectionControlState","$item","style","transition","_ITEM_NEXT_CSS_CLASS","_ITEM_PREV_CSS_CLASS","$activedItem","_ACTIVE_EVENT_TYPE","_DEACTIVE_EVENT_TYPE","$indicator","ref1","ref2","ref3","startE","prev","_$focused","focusIndex","_$menu","_$noneSwitches","_$switches","_isStandalone","_MENU_SELECTOR","_SWITCHES_SELECTOR","_NONE_SWITCHES_SELECTOR","_STANDALONE_ATTRIBUTE","exceptions","instances$dropdowns","instance$dropdown","exception","instanceHasntExceptionChild","instanceIsntInExceptions","deactiveExcept","_standaloneInstances","_deactiveChildrenExcept","_$defaultValues","_$valueHolder","_$values","_VALUE_SELECTOR","_DEFAULT_VALUE_SELECTOR","_VALUE_HOLDER_SELECTOR","_setValueHolderAttribute","_setValueHolderValue","$value","checked","_LABEL_ATTRIBUTE","enterClick","_add","_ENTER_CLICK_VALUE_HOLDER_SELECTOR","test","navigator","userAgent","_$panes","_active","_PANE_SELECTOR","_INDICATOR_SELECTOR","$pane","_PANE_ACTIVE_CSS_CLASS"],"mappings":"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","sourcesContent":["ENV = (->\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 runtime environment.'\n)()\n\n\n\nunless typeof ENV.luda is 'function'\n ENV.luda = (installer) ->\n throw new Error 'Installer cannot be detected.' unless installer\n unless ['object', 'function'].includes typeof installer\n throw new Error 'Installer must be object, array or function.'\n if installer.hasOwnProperty '_SCOPE'\n unless typeof installer._SCOPE is 'string'\n throw new Error '_SCOPE must be string'\n return ENV.luda._install installer._SCOPE, installer\n if installer instanceof Array or typeof installer is 'function'\n throw new Error 'Unscoped installer must be object.'\n installed = {}\n for name, property of installer\n installed[name] = ENV.luda._install name, property\n installed\n\n ENV.luda._install = (namespace, installer) ->\n if ENV.luda[namespace]\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\n return ENV.luda[namespace]\n for installedName, installedInstaller of ENV.luda\n if installer is installedInstaller\n console.warn \"Installer is installed with name #{installedName},\n skip installation.\"\n return ENV.luda[installedName]\n if installer._install\n if typeof installer._install is 'function'\n return ENV.luda[namespace] = installer._install()\n return ENV.luda[namespace] = installer._install\n ENV.luda[namespace] = installer","import './install.coffee'\n\n\n\nluda\n\n KEY_LEFT: 37\n KEY_UP: 38\n KEY_RIGHT: 39\n KEY_DOWN: 40\n KEY_TAB: 9\n KEY_ESC: 27\n KEY_ENTER: 13","import './install.coffee'\n\n\n\nluda\n \n $child: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $ancestor.querySelector selector\n\n $children: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $descendant = @$child selector, $ancestor\n if $descendant\n descendants = Array.from($ancestor.querySelectorAll selector)\n else\n descendants = []\n\n $unnested: (selector, $ancestor, ancestorSelector) ->\n descendants = @$children selector, $ancestor\n descendants.filter ($descendant) =>\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\n\n $parent: (selector, $descendant) ->\n $ancestor = $descendant.parentNode\n if $ancestor\n if $ancestor.matches and $ancestor.matches selector\n $ancestor\n else\n @$parent selector, $ancestor\n\n $parents: (selector, $descendant, _ancestors) ->\n $ancestor = @$parent selector, $descendant\n _ancestors = [] unless _ancestors\n if $ancestor\n _ancestors.push($ancestor)\n @$parents selector, $ancestor, _ancestors\n else\n _ancestors\n\n $after: ($node, $target) ->\n $parent = $target.parentNode\n if $parent.lastChild is $target\n $parent.appendChild $node\n else\n $parent.insertBefore $node, $target.nextSibling\n\n $prepend: ($node, $target) ->\n if $target.firstChild\n $target.insertBefore $node, $target.firstChild\n else\n $target.appendChild $node\n\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\nimport './dom.coffee'\n\n\n\nluda\n \n _SWIPE_DISTANCE: 10\n _EVENT_TYPE_PREFIX: 'luda'\n _SWIPE_LEFT: 'swipeleft'\n _SWIPE_RIGHT: 'swiperight'\n _SWIPE_UP: 'swipeup'\n _SWIPE_DOWN: 'swipedown'\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\n _DOC_READY: 'docready'\n _FORM_RESET: 'reset'\n\n eventPath: (event) ->\n if event.composedPath\n path = event.composedPath()\n else if event.path\n path = event.path\n else\n path = [event.target].concat(luda.$parents '*', event.target)\n\n on: (event, selector..., handler) ->\n switch event\n when @_DOC_READY then @_onDocReady handler\n when @_FORM_RESET then @_onReset selector[0], handler\n when @_SWIPE_LEFT, \\\n @_SWIPE_RIGHT, \\\n @_SWIPE_UP, \\\n @_SWIPE_DOWN, \\\n @_SWIPE_LEFT_OR_UP, \\\n @_SWIPE_RIGHT_OR_DOWN\n then @_onSwipe event, selector[0], handler\n else @_on event, selector[0], handler\n\n onOpposite: (event, selector, handler) ->\n _self = this\n document.addEventListener event, (e) ->\n trigger = _self.eventPath(e).every ($element) ->\n not $element.matches or not $element.matches selector\n handler e if trigger\n\n dispatch: ($target, type, detail, options = {}) ->\n options.bubbles = true unless typeof options.bubbles is 'boolean'\n options.cancelable = true unless typeof options.cancelable is 'boolean'\n options.composed = true unless typeof options.composed is 'boolean'\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\n evt.detail = detail\n $target.dispatchEvent evt\n evt\n \n _onDocReady: (handler) ->\n if document.readyState is 'loading'\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler()\n\n _onReset: (selector, handler) ->\n document.addEventListener 'reset', (e) ->\n if selector?\n luda.$children(selector, e.target).forEach ($element) ->\n handler.bind($element)(e)\n else\n handler e\n \n _onSwipe: (event, selector, handler) ->\n _self = this\n watch = false\n $touchStartElement = document\n touchStartE = null\n touchStartX = 0\n touchStartY = 0\n document.addEventListener 'touchstart', (e) ->\n if e.touches.length is 1\n touchStartX = e.touches[0].screenX\n touchStartY = e.touches[0].screenY\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n $touchStartElement = $element\n touchStartE = e\n watch = true\n return true\n else\n watch = true\n\n document.addEventListener 'touchmove', (e) ->\n if watch and e.touches.length is 1\n touchDistanceX = e.touches[0].screenX - touchStartX\n touchDistanceY = e.touches[0].screenY - touchStartY\n eventX = undefined\n eventY = undefined\n eventXOrY = undefined\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\n if touchDistanceX > 0\n eventX = _self._SWIPE_RIGHT\n else\n eventX = _self._SWIPE_LEFT\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\n if touchDistanceY > 0\n eventY = _self._SWIPE_DOWN\n else\n eventY = _self._SWIPE_UP\n if eventX is _self._SWIPE_LEFT \\\n or eventY is _self._SWIPE_UP\n eventXOrY = _self._SWIPE_LEFT_OR_UP\n if eventX is _self._SWIPE_RIGHT \\\n or eventY is _self._SWIPE_DOWN\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\n if (eventX? and eventX is event) \\\n or (eventY? and eventY is event) \\\n or eventXOrY is event\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element is $touchStartElement\n watch = false\n handler.bind($element)(touchStartE, e)\n return true\n else\n watch = false\n handler touchStartE, e\n\n _on: (event, selector, handler) ->\n if selector is window\n window.addEventListener event, (e) -> handler e\n else\n _self = this\n document.addEventListener event, (e) ->\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n handler.bind($element)(e)\n return true\n else\n handler e","import './install.coffee'\n\n\n\nluda\n \n except: (element, arr) ->\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\nimport './utilities.coffee'\n\n\n \nluda class Singleton\n\n @_SCOPE: 'Singleton'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_selector: ''\n @_actived: true\n\n @active: ->\n @_actived = true\n\n @deactive: ->\n @_actived = false\n\n @_add: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\n @_mergeSelectors()\n\n @_remove: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n luda.except selector, @_SELECTORS\n @_mergeSelectors()\n\n @_mergeSelectors: ->\n @_selector = @_SELECTORS.join ','\n\n @_install: ->\n return this if this is Singleton\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'enterClick'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_ENTER \\\n and e.target.matches self._selector\n e.preventDefault()\n setTimeout(-> e.target.click())","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'focus'\n\n @_CSS_CLASS: 'focus'\n # mouse focusable selectors\n @_SELECTORS: ['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 ]\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_removeFocusClassExcept: ($exception) ->\n Array.from(@_$focus).forEach ($focus) =>\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\n\n @_addFocusClassExceptHtmlAndBody: ($target) ->\n if $target isnt document.body and $target isnt document.documentElement\n $target.classList.add @_CSS_CLASS\n\n @_changeFocusStateOnKeyEvent: (e) ->\n if @_actived\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_actived\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\n else\n target = e.target\n if target.matches @_selector\n @_removeFocusClassExcept target\n @_addFocusClassExceptHtmlAndBody target\n else\n @_removeFocusClassExcept()\n\n @_setElementPrototype: ->\n focus = HTMLElement.prototype.focus\n blur = HTMLElement.prototype.blur\n self = this\n HTMLElement.prototype.focus = ->\n focus.apply this, arguments\n if self._actived and document.activeElement is this\n self._removeFocusClassExcept this\n self._addFocusClassExceptHtmlAndBody this\n HTMLElement.prototype.blur = ->\n blur.apply this, arguments\n this.classList.remove self._CSS_CLASS if self._actived\n\n @_init: ->\n self = this\n @_setElementPrototype()\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\n @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'radioTab'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_querySameName$radios: ($radio) ->\n if $radio.name\n selector = \"#{@_selector}[name=#{$radio.name}]\"\n else\n selector = @_selector\n $inputs = luda.$children selector\n $inputs.filter ($input) -> $input.tabIndex >= 0\n\n @_query$prev$next: ($radio) ->\n $sameNameRadios = @_querySameName$radios $radio\n radioIndex = $sameNameRadios.indexOf $radio\n $prev = $sameNameRadios[radioIndex - 1]\n $next = $sameNameRadios[radioIndex + 1]\n {$prev, $next}\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_TAB \\\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\n and e.target.type is 'radio'\n if e.shiftKey\n if $prev = self._query$prev$next(e.target).$prev\n e.preventDefault()\n $prev.focus()\n else\n if $next = self._query$prev$next(e.target).$next\n e.preventDefault()\n $next.focus()","import './install.coffee'\nimport './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Component\n\n @_SCOPE: 'Component'\n \n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\n @_SELECTOR: ''\n @_instances: []\n\n @_Observed: []\n @_observer: null\n @_observerConfig:\n childList: true\n subtree: true\n\n _hasDescendant: (descendant) ->\n if @_children.length and descendant\n return true if @_children.includes descendant\n return @_children.some (child) -> child._hasDescendant descendant\n else\n return false\n\n _observe: ->\n @_observer = new MutationObserver @_onMutations.bind this\n @_observer.observe @_$component, @constructor._observerConfig\n\n _disconnect: ->\n @_observer.disconnect()\n @_observer = null\n\n @create: ($component) ->\n componentIsElementInstance = $component instanceof Element\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\n $family = @_query$family $component\n instance = @query $component\n if $family._$parent\n if parent = @query $family._$parent\n @_instances.push instance = @_createInstance $component unless instance\n if instance._parent isnt parent\n parent._children.push(instance) and (instance._parent = parent)\n $family._$children.forEach ($child) => @create $child\n return instance\n else\n @create $family._$parent\n return @query $component\n else\n @_instances.push instance = @_createInstance $component unless instance\n $family._$children.forEach ($child) => @create $child\n return instance\n\n @destroy: (instance$component) ->\n instance = @query instance$component\n if instance\n instance._disconnect() if instance._observer\n instance._destroy() if instance._destroy\n @destroy instance._children[0] while instance._children.length\n if instance._parent\n luda.except instance, instance._parent._children\n luda.except instance, @_instances\n for attribute, value of instance\n instance[attribute] = null\n \n @query: (instance$component) ->\n instance = null\n if instance$component instanceof this \\\n and @_instances.includes instance$component\n instance = instance$component\n else if instance$component instanceof Element\n @_instances.some (inited) ->\n if inited._$component is instance$component\n instance = inited\n return true\n return instance\n\n @_query$family: ($component) ->\n _$parent = null\n _$children = []\n if @_SELECTOR\n _$parent = luda.$parent @_SELECTOR, $component\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\n {_$parent, _$children}\n\n @_createInstance: ($component) ->\n instance = new this()\n instance._$component = $component\n instance._parent = null\n instance._children = []\n instance._observer = null\n instance._constructor() if instance._constructor\n unless instance._observer and instance._onMutations and @_observerConfig\n instance._observe()\n instance\n\n @_observe: (classObj) ->\n unless Component._observer\n Component._observer = new MutationObserver (mutations) ->\n mutations.forEach (mutation) ->\n $removedNodes = Array.from mutation.removedNodes\n $addedNodes = Array.from mutation.addedNodes\n $removedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.destroy $node\n else\n $destroies = luda.$children Observed._SELECTOR, $node\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\n $addedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.create $node\n else\n $creates = luda.$children Observed._SELECTOR, $node\n $creates.forEach ($create) -> Observed.create $create\n Component._observer.observe document.documentElement, \\\n Component._observerConfig\n unless Component._Observed.includes classObj\n Component._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Component\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\n @_instances = [] unless @hasOwnProperty '_instances'\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, ->\n luda.$children(self._SELECTOR).forEach ($component) ->\n self.create $component\n Component._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_READONLY_FALSE_VALUE: 'false'\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\n\n @_observerConfig:\n attributes: true\n attributeFilter: [@_READONLY_ATTRIBUTE]\n\n _getConfig: ->\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\n _originalTabIndex = @_$component.tabIndex\n {_isReadonly, _originalTabIndex}\n \n _constructor: ->\n {\n @_isReadonly,\n @_originalTabIndex\n } = @_getConfig()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-toggle-disabled'\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\n ]\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @active: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.add @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\n\n @deactive: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.remove @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactive($target)\n else\n @active($target)\n\n @_query$targets: (name$target) ->\n if name$target instanceof Element\n [name$target]\n else\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\n\n @_init: ->\n self = this\n luda.on 'click', @_selector, (e) ->\n toggleChecked = false\n luda.eventPath(e).some ($path) ->\n if $path instanceof Element\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\n self.toggle toggleName\n toggleChecked = true\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\n $toggle = $path\n else\n $toggle = luda.$parent \\\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\n if $toggle\n self.toggle $toggle\n toggleChecked = true\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmFile'\n\n @_VALUE_SPLITOR: ' '\n @_SELECTOR: '.fm-file'\n @_FILE_SELECTOR: 'input[type=file]'\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_VALUE_ATTRIBUTE: 'value'\n\n @_observerConfig:\n childList: true\n subtree: true\n\n _getConfig: ->\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\n _$simulator = luda.$child \\\n @constructor._SIMULATOR_SELECTOR, @_$component\n {_$file, _$simulator}\n\n _constructor: ->\n {\n @_$file,\n @_$simulator\n } = @_getConfig()\n @_init()\n\n _onMutations: ->\n @_constructor()\n\n _insertSimulator: ->\n @_$simulator = document.createElement 'input'\n @_$simulator.tabIndex = -1\n luda.$after @_$simulator, @_$file\n\n _setPlaceholderValue: ->\n @_$simulator.placeholder = \\\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSimulatorValue: ->\n values = []\n Array.from(@_$file.files).map (file) -> values.push file.name\n if values.length\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\n\n _init: ->\n if @_$file\n @_insertSimulator() unless @_$simulator\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmSelect'\n\n @_SELECTOR: '.fm-select'\n @_SELECT_SELECTOR: 'select'\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: ['selected']\n\n select: (indexOrIndexArray) ->\n if @_$select.multiple\n if @_$multipleSelectPlaceholder\n selectedIndexes = indexOrIndexArray\n else\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\n Array.from(@_$select.options).forEach ($option, index) ->\n $option.selected = selectedIndexes.includes index\n @_markSelectedOption()\n else\n @_$select.selectedIndex = selectedIndex\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _getConfig: ->\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\n _$singleSelectSimulator = luda.$child \\\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\n _$multipleSelectPlaceholder = luda.$child \\\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\n _$defaultSelectedOptions = luda.$children \\\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\n @constructor._INITED_ATTRIBUTE\n {\n _$select,\n _$singleSelectSimulator,\n _$multipleSelectPlaceholder,\n _$defaultSelectedOptions,\n _defaultSelectedOptionMarked\n }\n\n _constructor: ->\n {\n @_$select,\n @_$singleSelectSimulator,\n @_$multipleSelectPlaceholder,\n @_$defaultSelectedOptions,\n @_defaultSelectedOptionMarked\n } = @_getConfig()\n if @_$select\n if @_$select.multiple\n @_initMultipleSelect()\n else\n @_initSingleSelect()\n \n _onMutations: ->\n @_constructor()\n\n _markSelectedOption: ->\n @_disconnect() if @_observer\n Array.from(@_$select.options).forEach ($option) ->\n if $option.selected\n $option.setAttribute 'selected', 'selected'\n else\n $option.removeAttribute 'selected'\n @_observe() unless @_observer\n\n _markDefaultSelectedOption: ->\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\n Array.from(@_$select.options).forEach ($option) =>\n if $option.selected\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\n\n _setSingleSelectedDefaultSelectedOption: ->\n hasSelected = Array.from(@_$select.options).some ($option) ->\n $option.getAttribute('selected') is 'selected'\n @_$select.selectedIndex = -1 unless hasSelected\n\n _insertSingleSelectSimulator: ->\n @_$singleSelectSimulator = document.createElement 'input'\n @_$singleSelectSimulator.tabIndex = -1\n luda.$after @_$singleSelectSimulator, @_$select\n\n _setSingleSelectPlaceholderValue: ->\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSingleSelectSimulatorValue: ->\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\n @_$singleSelectSimulator.value = $selectedOption.innerText\n else\n @_$singleSelectSimulator.value = ''\n\n _initSingleSelect: ->\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setSingleSelectedDefaultSelectedOption()\n @_setSingleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _insertMultipleSelectBlankOption: ->\n @_$multipleSelectPlaceholder = document.createElement 'option'\n @_$multipleSelectPlaceholder.className = \\\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\n @_$multipleSelectPlaceholder.disabled = true\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\n\n _setMultipleSelectPlaceholderValue: ->\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _initMultipleSelect: ->\n unless @_$multipleSelectPlaceholder\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_insertMultipleSelectBlankOption()\n @_setMultipleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n\n _reset: ->\n if @_$select\n Array.from(@_$select.options).forEach ($option) =>\n $option.selected = @_$defaultSelectedOptions.includes $option\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\n @_markSelectedOption()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._setSingleSelectSimulatorValue() unless this.multiple\n instance._markSelectedOption()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._reset()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'carousel'\n\n @_SELECTOR: '.carousel'\n @_ITEMS_SELECTOR: '.carousel-item'\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\n @_ACTIVE_INDEX: 0\n @_INTERVAL: 5000\n @_WRAP: true\n @_FALSE: 'false'\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n active: (index) ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\n @[action] @_$items[activedIndex], activedIndex\n\n next: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n @_transiting = true\n @_activeIndex = index\n @_slideNext @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n @_slidePrev @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n pause: ->\n if @_intervaling?\n clearInterval @_intervaling\n @_intervaling = null\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\n\n play: ->\n if @_interval and @_$items.length > 1\n @_playTimeStamp = Date.now()\n @pause()\n execute = =>\n @next()\n @_intervaling = setInterval @next.bind(this), @_interval\n @_intervaling = setTimeout execute, @_pausedRemainTime\n\n\n # private\n _getConfig: ->\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\n _$prevControl = luda.$child \\\n @constructor._PREV_CONTROL_SELECTOR, @_$component\n _$nextControl = luda.$child \\\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\n _activeIndex = _$items.indexOf \\\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\n if _interval is @constructor._FALSE\n _interval = false\n else\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\n {\n _$items,\n _$indicators,\n _$prevControl,\n _$nextControl,\n _activeIndex,\n _interval,\n _wrap\n }\n\n _constructor: ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_transiting = false\n @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @play()\n\n _onMutations: (mutations) ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_setIndicatorsState()\n @_setDirectionControlState()\n @play()\n\n _destroy: ->\n @pause()\n\n _layout: ->\n @_$items.forEach ($item, index) =>\n $item.style.transition = 'none'\n if index > @_activeIndex\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else if index < @_activeIndex\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow($item)\n $item.style.transition = ''\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slideNext: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n $indicator.disabled = index is @_activeIndex\n\n _setDirectionControlState: ->\n if @_$items.length <= 1\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\n else\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\n @_$nextControl?.disabled = \\\n @_activeIndex is @_$items.length - 1 and not @_wrap\n \n # static private\n @_init: ->\n self = this\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._transiting = false\n index = instance._$items.indexOf this\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\n else\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this\n luda.on 'touchstart', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'touchend', @_SELECTOR, (e) ->\n setTimeout => self.query(this).play()\n luda.on 'mouseover', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'mouseout', @_SELECTOR, (e) ->\n self.query(this).play()\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\n self.query(this).next()\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\n self.query(this).prev()\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).prev()\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'dropdown'\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\n .dropdown-static,.dropdown-absolute-m'\n @_MENU_SELECTOR: '.dropdown-menu'\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled])'\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle-disabled'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_NONE_TOGGLE_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n active: ->\n unless @_actived()\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.active()\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\n\n deactive: (focus) ->\n if @_actived()\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactive()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\n\n toggle: (focus) ->\n if @_actived() then @deactive(focus) else @active()\n\n prev: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) - 1\n focusIndex = 0 if focusIndex < 0\n @_$items[focusIndex].focus()\n\n next: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) + 1\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\n @_$items[focusIndex].focus()\n\n _getConfig: ->\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\n _$switches = luda.$unnested( \\\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\n .concat(luda.$unnested \\\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$noneSwitches = luda.$unnested( \\\n @constructor._NONE_SWITCHES_SELECTOR, \\\n @_$component, @constructor._SELECTOR) \\\n .concat(luda.$unnested \\\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\n {_$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n {\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _actived: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactiveChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n child.deactive() if child._actived() and not exceptions.includes child\n else\n @_children.forEach (child) ->\n child.deactive() if child._actived()\n\n @deactiveExcept: (instances$dropdowns) ->\n exceptions = []\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\n instances$dropdowns = [instances$dropdowns]\n if instances$dropdowns\n instances$dropdowns.forEach (instance$dropdown) =>\n exceptions.push exception if exception = @query instance$dropdown\n if exceptions.length\n @_instances.forEach (instance) ->\n instanceIsntInExceptions = not exceptions.includes instance\n instanceHasntExceptionChild = exceptions.every (exception) ->\n not instance._hasDescendant exception\n if instance._actived() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactive()\n else\n @_instances.forEach (instance) ->\n instance.deactive() if instance._actived()\n\n @_standaloneInstances: ->\n @_instances.filter (instance) -> instance if instance._isStandalone\n\n @_init: ->\n self = this\n luda.onOpposite 'click', @_SELECTOR, (e) ->\n self.deactiveExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactiveExcept(self._standaloneInstances().concat instance)\n instance._deactiveChildrenExcept()\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\n if instance._$switches.length or instance._$noneSwitches.length\n luda.eventPath(e).some ($path) ->\n if instance._$switches.includes $path\n instance.toggle focus\n toggleChecked = true\n else if instance._$noneSwitches.includes $path\n toggleChecked = true\n instance.toggle focus unless toggleChecked\n\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactiveExcept(instance)\n instance.active()\n luda.on 'keydown', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_ESC and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.deactive true\n else\n instance._parent?.deactive true\n luda.on 'keydown', @_SELECTOR, (e) ->\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.prev()\n else\n instance._parent?.prev()\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.next()\n else\n instance._parent?.next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\nimport '../behaviors/focus.coffee'\nimport '../behaviors/enter-click.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmDropdown'\n\n @_SELECTOR: '.fm-dropdown'\n @_VALUE_SPLITOR: ' '\n @_LABEL_ATTRIBUTE: 'data-fm-dropdown-label'\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n @_VALUE_HOLDER_SELECTOR: '.fm input'\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n 'checked'\n @_LABEL_ATTRIBUTE\n ]\n\n _getConfig: ->\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\n _$defaultValues = luda.$children \\\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\n _$valueHolder = luda.$child \\\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\n {_$values, _$valueHolder, _$defaultValues}\n\n _constructor: ->\n {\n @_$values,\n @_$valueHolder,\n @_$defaultValues\n } = @_getConfig()\n @_setValueHolderAttribute()\n @_setValueHolderValue()\n\n _onMutations: ->\n @_constructor()\n\n _setValueHolderValue: ->\n values = []\n @_$values.forEach ($value, index) =>\n if $value.checked\n if $value.hasAttribute @constructor._LABEL_ATTRIBUTE\n value = $value.getAttribute @constructor._LABEL_ATTRIBUTE\n else\n value = @_$defaultValues[index].innerText\n values.push value if value and not values.includes value\n if @_$valueHolder\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\n\n _setValueHolderAttribute: ->\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\n\n @_init: ->\n self = this\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setValueHolderValue()\n # prevent ios device pop out wired navigation pannel\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'tab'\n\n @_SELECTOR: '.tab'\n @_PANE_SELECTOR: '.tab-pane'\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\n @_ACTIVE_INDEX: 0\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n active: (index) ->\n if @_$panes.length\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n @_activeIndex = index\n @_active(activedIndex)\n\n # private\n _getConfig: ->\n _$panes = luda.$unnested \\\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\n _activeIndex = @constructor._ACTIVE_INDEX\n _$indicators.some ($indicator, index) ->\n if $indicator.checked\n _activeIndex = index\n true\n {_$panes, _$indicators, _activeIndex}\n\n _constructor: ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_active()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _active: (activedIndex) ->\n @_$panes.forEach ($pane, index) =>\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n if index is activedIndex\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\n @_setIndicatorsState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n else\n $indicator.removeAttribute 'checked'\n\n # static private\n @_init: ->\n self = this\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\n if this.checked\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.1.10 | https://luda.dev
2
+ * Luda 0.1.11 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -38,8 +38,8 @@
38
38
  this._$values.forEach(($value, index) => {
39
39
  var value;
40
40
  if ($value.checked) {
41
- if ($value.hasAttribute(this.constructor._VALUE_ATTRIBUTE)) {
42
- value = $value.getAttribute(this.constructor._VALUE_ATTRIBUTE);
41
+ if ($value.hasAttribute(this.constructor._LABEL_ATTRIBUTE)) {
42
+ value = $value.getAttribute(this.constructor._LABEL_ATTRIBUTE);
43
43
  } else {
44
44
  value = this._$defaultValues[index].innerText;
45
45
  }
@@ -88,7 +88,7 @@
88
88
 
89
89
  _Class._VALUE_SPLITOR = ' ';
90
90
 
91
- _Class._VALUE_ATTRIBUTE = 'data-fm-dropdown-value';
91
+ _Class._LABEL_ATTRIBUTE = 'data-fm-dropdown-label';
92
92
 
93
93
  _Class._VALUE_SELECTOR = '.dropdown-items .btn-radio input, .dropdown-items .btn-check input';
94
94
 
@@ -102,7 +102,7 @@
102
102
  childList: true,
103
103
  attributes: true,
104
104
  subtree: true,
105
- attributeFilter: ['checked', _Class._VALUE_ATTRIBUTE]
105
+ attributeFilter: ['checked', _Class._LABEL_ATTRIBUTE]
106
106
  };
107
107
 
108
108
  return _Class;
@@ -50,18 +50,17 @@ $color-inverse-muted: rgba($color-light, $opacity-muted) !default
50
50
 
51
51
 
52
52
 
53
- $background-color-primary: $color-primary !default
54
- $background-color-secondary: lighten($color-secondary, 30%) !default
55
- $background-color-danger: $color-danger !default
56
- $background-color-dark: $color-dark !default
57
- $background-color-light: $color-light !default
58
- $background-color-muted: darken($background-color-light, 3%) !default
59
- $background-emphasis: lighten($background-color-primary, 22%) !default
60
- $background-main: $background-color-light !default
61
- $background-muted: $background-color-muted !default
62
- $background-inverse-emphasis: lighten($background-color-primary, 22%) !default
63
- $background-inverse-main: $background-color-dark !default
64
- $background-inverse-muted: lighten($background-color-dark, 3%) !default
53
+ $background-color-primary: $color-primary !default
54
+ $background-color-secondary: lighten($color-secondary, 30%) !default
55
+ $background-color-danger: $color-danger !default
56
+ $background-color-dark: $color-dark !default
57
+ $background-color-light: $color-light !default
58
+ $background-color-muted: darken($background-color-light, 3%) !default
59
+ $background-color-emphasis: lighten($background-color-primary, 22%) !default
60
+ $background-color-main: $background-color-light !default
61
+ $background-color-inverse-emphasis: lighten($background-color-primary, 22%) !default
62
+ $background-color-inverse-main: $background-color-dark !default
63
+ $background-color-inverse-muted: lighten($background-color-dark, 3%) !default
65
64
 
66
65
 
67
66
 
@@ -86,12 +85,12 @@ $border-radius-main: $border-radius-sharp !default
86
85
 
87
86
 
88
87
 
89
- $box-shadow-low: null !default
90
- $box-shadow-normal: null !default
91
- $box-shadow-high: null !default
92
- $box-shadow-inset-low: null !default
93
- $box-shadow-inset-normal: null !default
94
- $box-shadow-inset-high: null !default
88
+ $box-shadow-low: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.08) !default
89
+ $box-shadow-normal: 0 0.56rem 1.68rem rgba(0, 0, 0, 0.112) !default
90
+ $box-shadow-high: 0 0.784rem 2.352rem rgba(0, 0, 0, 0.1568) !default
91
+ $box-shadow-inset-low: null !default
92
+ $box-shadow-inset-normal: null !default
93
+ $box-shadow-inset-high: null !default
95
94
 
96
95
 
97
96
 
@@ -114,12 +113,12 @@ $base-webkit-touch-callout: none !default
114
113
 
115
114
 
116
115
 
117
- $base-html-background: $background-inverse-muted !default
116
+ $base-html-background: $background-color-inverse-muted !default
118
117
 
119
118
 
120
119
 
121
120
  $base-body-min-height: 100vh !default
122
- $base-body-background: $background-main !default
121
+ $base-body-background: $background-color-main !default
123
122
 
124
123
 
125
124
 
@@ -168,8 +167,8 @@ $button-primary-active-background: darken($background-color-primary, 4%) !d
168
167
  $button-primary-border-color: null !default
169
168
  $button-primary-hover-border-color: null !default
170
169
  $button-primary-active-border-color: null !default
171
- $button-primary-box-shadow: $box-shadow-normal !default
172
- $button-primary-hover-box-shadow: $box-shadow-high !default
170
+ $button-primary-box-shadow: null !default
171
+ $button-primary-hover-box-shadow: null !default
173
172
  $button-primary-active-box-shadow: $button-primary-box-shadow !default
174
173
 
175
174
 
@@ -183,8 +182,8 @@ $button-secondary-active-background: darken($background-color-secondary, 4%
183
182
  $button-secondary-border-color: null !default
184
183
  $button-secondary-hover-border-color: null !default
185
184
  $button-secondary-active-border-color: null !default
186
- $button-secondary-box-shadow: $box-shadow-normal !default
187
- $button-secondary-hover-box-shadow: $box-shadow-high !default
185
+ $button-secondary-box-shadow: null !default
186
+ $button-secondary-hover-box-shadow: null !default
188
187
  $button-secondary-active-box-shadow: $button-secondary-box-shadow !default
189
188
 
190
189
 
@@ -198,8 +197,8 @@ $button-danger-active-background: darken($background-color-danger, 4%) !def
198
197
  $button-danger-border-color: null !default
199
198
  $button-danger-hover-border-color: null !default
200
199
  $button-danger-active-border-color: null !default
201
- $button-danger-box-shadow: $box-shadow-normal !default
202
- $button-danger-hover-box-shadow: $box-shadow-high !default
200
+ $button-danger-box-shadow: null !default
201
+ $button-danger-hover-box-shadow: null !default
203
202
  $button-danger-active-box-shadow: $button-danger-box-shadow !default
204
203
 
205
204
 
@@ -213,8 +212,8 @@ $button-dark-active-background: darken($background-color-dark, 4%) !default
213
212
  $button-dark-border-color: null !default
214
213
  $button-dark-hover-border-color: null !default
215
214
  $button-dark-active-border-color: null !default
216
- $button-dark-box-shadow: $box-shadow-normal !default
217
- $button-dark-hover-box-shadow: $box-shadow-high !default
215
+ $button-dark-box-shadow: null !default
216
+ $button-dark-hover-box-shadow: null !default
218
217
  $button-dark-active-box-shadow: $button-dark-box-shadow !default
219
218
 
220
219
 
@@ -228,8 +227,8 @@ $button-light-active-background: darken($background-color-light, 4%) !defau
228
227
  $button-light-border-color: null !default
229
228
  $button-light-hover-border-color: null !default
230
229
  $button-light-active-border-color: null !default
231
- $button-light-box-shadow: $box-shadow-normal !default
232
- $button-light-hover-box-shadow: $box-shadow-high !default
230
+ $button-light-box-shadow: null !default
231
+ $button-light-hover-box-shadow: null !default
233
232
  $button-light-active-box-shadow: $button-light-box-shadow !default
234
233
 
235
234
 
@@ -372,7 +371,7 @@ $form-element-large-typography-size-level: 4 !default
372
371
  $form-element-color: $color-main !default
373
372
  $form-element-error-color: null !default
374
373
  $form-element-focus-color: null !default
375
- $form-element-background: $background-main !default
374
+ $form-element-background: $background-color-main !default
376
375
  $form-element-focus-background: null !default
377
376
  $form-element-error-background: null !default
378
377
  $form-element-border-width: 1px !default
@@ -382,7 +381,7 @@ $form-element-border-color: $line-color-main !default
382
381
  $form-element-error-border-color: $line-color-danger !default
383
382
  $form-element-focus-border-color: $line-color-primary !default
384
383
  $form-element-box-shadow: null !default
385
- $form-element-focus-box-shadow: $box-shadow-inset-low !default
384
+ $form-element-focus-box-shadow: null !default
386
385
  $form-element-error-box-shadow: null !default
387
386
  $form-element-icon-size-em: 1.286em !default
388
387
  $form-element-icon-color: $form-element-border-color !default
@@ -460,7 +459,7 @@ $overlay-background: rgba($background-color-dark, $opacity-main) !default
460
459
 
461
460
  $progress-height-rem: 2rem !default
462
461
  $progress-border-radius: $border-radius-main !default
463
- $progress-background: $background-muted !default
462
+ $progress-background: $background-color-muted !default
464
463
  $progress-bar-typography-size-level: 6 !default
465
464
  $progress-bar-min-width-em: 3em !default
466
465
  $progress-bar-padding: 0 $space-tiny-rem !default
@@ -483,12 +482,12 @@ $table-border-style: solid !default
483
482
  $table-border-width: 1px !default
484
483
  $table-border-color: $line-color-main !default
485
484
  $table-border-radius: $border-radius-main !default
486
- $table-head-background: $background-muted !default
485
+ $table-head-background: $background-color-muted !default
487
486
  $table-head-color: $color-emphasis !default
488
487
  $table-body-color: $color-main !default
489
- $table-row-even-background: $background-muted !default
490
- $table-row-odd-background: $background-main !default
491
- $table-row-hover-background: $background-emphasis !default
488
+ $table-row-even-background: $background-color-muted !default
489
+ $table-row-odd-background: $background-color-main !default
490
+ $table-row-hover-background: $background-color-emphasis !default
492
491
  $table-row-hover-color: null !default
493
492
 
494
493
 
@@ -526,7 +525,7 @@ $typography-block-quote-size-level: 4 !default
526
525
 
527
526
 
528
527
  $typography-mark-padding-em: 0.2em 0.4em !default
529
- $typography-mark-background: $background-emphasis !default
528
+ $typography-mark-background: $background-color-emphasis !default
530
529
  $typography-mark-color: $color-primary !default
531
530
  $typography-mark-border-radius: $border-radius-main !default
532
531
 
@@ -546,7 +545,7 @@ $typography-link-light-active-color: null !default
546
545
 
547
546
  $typography-code-block-padding-rem: 0 $space-medium-rem !default
548
547
  $typography-code-padding-em: 0.2em 0.4em !default
549
- $typography-code-background: $background-muted !default
548
+ $typography-code-background: $background-color-muted !default
550
549
  $typography-code-color: $color-main !default
551
550
  $typography-code-border-radius: $border-radius-main !default
552
551
 
@@ -577,7 +576,7 @@ $turbolinks-progress-bar-background: $background-color-primary !default
577
576
  $alert-padding-rem: $space-small-rem !default
578
577
  $alert-border-radius: $border-radius-main !default
579
578
  $alert-background: $background-color-dark !default
580
- $alert-box-shadow: $box-shadow-normal !default
579
+ $alert-box-shadow: null !default
581
580
  $alert-action-margin-left-rem: $space-small-rem !default
582
581
  $alert-title-color: $color-inverse-emphasis !default
583
582
  $alert-content-color: $color-inverse-main !default
@@ -617,7 +616,7 @@ $breadcrumb-children-padding-em: 0 strip-unit($space-tiny-rem) * 1em !default
617
616
  $breadcrumb-children-spliter: "/" !default
618
617
 
619
618
 
620
- $button-group-box-shadow: $box-shadow-normal !default
619
+ $button-group-box-shadow: null !default
621
620
  $button-group-children-margin-rem: 0 $space-small-rem $space-small-rem 0 !default
622
621
 
623
622
 
@@ -645,7 +644,7 @@ $carousel-breakpoint-control-indicators-right-rem: $space-medium-rem !defa
645
644
  $carousel-breakpoint-control-prev-left-rem: $space-small-rem !default
646
645
  $carousel-breakpoint-control-next-right-rem: $space-small-rem !default
647
646
  $carousel-breakpoint-description-padding-rem: $space-medium-rem !default
648
- $carousel-background: $background-muted !default
647
+ $carousel-background: $background-color-muted !default
649
648
  $carousel-description-background: linear-gradient(180deg, transparent 0, rgba($background-color-dark, $opacity-most-muted) 2rem) !default
650
649
  $carousel-description-color: $color-inverse-main !default
651
650
  $carousel-control-opacity: $opacity-main !default
@@ -664,8 +663,8 @@ $dropdown-static-menu-margin-left-rem: $space-small-rem !default
664
663
  $dropdown-absolute-max-height-rem: 33rem !default
665
664
  $dropdown-absolute-drop-gap-rem: $space-tiny-rem !default
666
665
  $dropdown-absolute-border-radius: $border-radius-main !default
667
- $dropdown-absolute-fixed-background: $background-main !default
668
- $dropdown-absolute-box-shadow: $box-shadow-normal !default
666
+ $dropdown-absolute-fixed-background: $background-color-main !default
667
+ $dropdown-absolute-box-shadow: null !default
669
668
 
670
669
 
671
670
 
@@ -675,16 +674,16 @@ $form-group-element-vertical-margin-rem: $space-small-rem !default
675
674
 
676
675
  $media-content-aspect-ratio: 16 / 9 !default
677
676
  $media-border-radius: $border-radius-main !default
678
- $media-background-color: $background-muted !default
677
+ $media-background-color: $background-color-muted !default
679
678
 
680
679
 
681
680
 
682
681
  $modal-padding-rem: $space-medium-rem !default
683
682
  $modal-in-overlay-max-width-rem: 46.153846rem !default
684
683
  $modal-in-overlay-min-width-rem: 24.615384rem !default
685
- $modal-background: $background-muted !default
684
+ $modal-background: $background-color-muted !default
686
685
  $modal-border-radius: $border-radius-main !default
687
- $modal-box-shadow: $box-shadow-normal !default
686
+ $modal-box-shadow: null !default
688
687
 
689
688
 
690
689
 
@@ -701,7 +700,7 @@ $navigation-background: $background-color-dark !default
701
700
 
702
701
 
703
702
 
704
- $navigation-header-box-shadow: $box-shadow-normal !default
703
+ $navigation-header-box-shadow: null !default
705
704
  $navigation-header-breakpoint-search-margin-rem: 0 $space-small-rem !default
706
705
  $navigation-header-breakpoint-items-margin-rem: 0 auto 0 0 !default
707
706
  $navigation-header-breakpoint-sub-items-margin-rem: 0 !default
@@ -717,10 +716,10 @@ $navigation-aside-breakpoint-logo-image-height-rem: 7rem !default
717
716
  $navigation-aside-breakpoint-logo-image-width-rem: 9rem !default
718
717
  $navigation-aside-breakpoint-min-width-rem: 18rem !default
719
718
  $navigation-aside-breakpoint-max-width-rem: 20rem !default
720
- $navigation-aside-breakpoint-box-shadow: $box-shadow-normal !default
719
+ $navigation-aside-breakpoint-box-shadow: null !default
721
720
 
722
721
 
723
722
 
724
723
  $tab-panes-padding-top-rem: null !default
725
724
  $tab-panes-padding-bottom-rem: null !default
726
- $tab-panes-background: $background-main !default
725
+ $tab-panes-background: $background-color-main !default
@@ -32,6 +32,10 @@
32
32
  .dropdown-items [class*=btn-].btn-ico-right label
33
33
  justify-content: space-between
34
34
 
35
+ .dropdown-menu .dropdown-items [class*=btn-][class*=btn-],
36
+ .dropdown-menu .dropdown-items [class*=btn-][class*=btn-] input ~ label
37
+ box-shadow: none
38
+
35
39
  +browser-edge
36
40
  .dropdown-items input.btn:not(.btn-ico):not(.btn-ico-top):not(.btn-ico-right)
37
41
  text-align: left
@@ -3,10 +3,10 @@
3
3
  .search-bar
4
4
  display: flex
5
5
 
6
- .search-bar > .fm
6
+ .search-bar > .fm:not(.fm-select)
7
7
  flex-basis: 100%
8
8
 
9
- .search-bar > .fm input
9
+ .search-bar > .fm:not(.fm-select) input
10
10
  border-right-width: 0
11
11
  border-top-right-radius: 0
12
12
  border-bottom-right-radius: 0
@@ -17,14 +17,19 @@
17
17
  border-top-left-radius: 0
18
18
  border-bottom-left-radius: 0
19
19
 
20
- .search-bar .fm-dropdown
20
+ .search-bar .fm-dropdown,
21
+ .search-bar .fm-select
21
22
  order: 1
22
23
  width: auto
23
24
 
24
- .search-bar .fm-dropdown .fm input
25
+ .search-bar .fm-dropdown .fm input,
26
+ .search-bar .fm-select select,
27
+ .search-bar .fm-select input
25
28
  border-right: none
26
29
  border-radius: 0
27
30
 
28
31
  .search-bar .fm-dropdown ~ .fm input.focus,
29
- .search-bar .fm-dropdown ~ .fm[data-error] input
32
+ .search-bar .fm-dropdown ~ .fm[data-error] input,
33
+ .search-bar .fm-select ~ .fm input.focus,
34
+ .search-bar .fm-select ~ .fm[data-error] input
30
35
  border-right-width: mirror-nth($form-element-border-width, 2)
@@ -15,34 +15,29 @@
15
15
  .bc-light
16
16
  background-color: $background-color-light !important
17
17
 
18
- .bc-muted
19
- background-color: $background-color-muted !important
20
-
21
- .bc-transparent
22
- background-color: transparent !important
23
-
18
+ .bc-emphasis
19
+ background-color: $background-color-emphasis !important
24
20
 
21
+ .bc-main
22
+ background-color: $background-color-main !important
25
23
 
26
- .b-emphasis
27
- background: $background-emphasis !important
28
-
29
- .b-main
30
- background: $background-main !important
24
+ .bc-muted
25
+ background-color: $background-color-muted !important
31
26
 
32
- .b-muted
33
- background: $background-muted !important
27
+ .bc-inverse-emphasis
28
+ background-color: $background-color-inverse-emphasis !important
34
29
 
35
- .b-inverse-emphasis
36
- background: $background-inverse-emphasis !important
30
+ .bc-inverse-main
31
+ background-color: $background-color-inverse-main !important
37
32
 
38
- .b-inverse-main
39
- background: $background-inverse-main !important
33
+ .bc-inverse-muted
34
+ background-color: $background-color-inverse-muted !important
40
35
 
41
- .b-inverse-muted
42
- background: $background-inverse-muted !important
36
+ .bc-none
37
+ background-color: transparent !important
43
38
 
44
- .b-none
45
- background: none !important
39
+ .bi-none
40
+ background-image: none !important
46
41
 
47
42
 
48
43