luda 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (190) hide show
  1. checksums.yaml +4 -4
  2. data/assets/javascripts/luda-degradation.js +10 -4
  3. data/assets/javascripts/luda-degradation.js.map +1 -1
  4. data/assets/javascripts/luda-degradation.min.js +2 -2
  5. data/assets/javascripts/luda-degradation.min.js.map +1 -1
  6. data/assets/javascripts/luda-sprockets.js +2 -0
  7. data/assets/javascripts/luda.js +4003 -2083
  8. data/assets/javascripts/luda.js.map +1 -1
  9. data/assets/javascripts/luda.min.js +2 -2
  10. data/assets/javascripts/luda.min.js.map +1 -1
  11. data/assets/javascripts/luda/behaviors/disabled.js +24 -0
  12. data/assets/javascripts/luda/behaviors/enter.js +24 -33
  13. data/assets/javascripts/luda/behaviors/focus.js +98 -95
  14. data/assets/javascripts/luda/behaviors/readonly.js +20 -58
  15. data/assets/javascripts/luda/behaviors/tabulate.js +42 -62
  16. data/assets/javascripts/luda/behaviors/toggle.js +98 -144
  17. data/assets/javascripts/luda/degradation.js +9 -3
  18. data/assets/javascripts/luda/elements/form-file.js +62 -109
  19. data/assets/javascripts/luda/elements/form-select.js +101 -208
  20. data/assets/javascripts/luda/index.js +4 -2
  21. data/assets/javascripts/luda/kernel/index.js +3095 -0
  22. data/assets/javascripts/luda/mixins/disable.js +34 -0
  23. data/assets/javascripts/luda/mixins/resetable.js +46 -0
  24. data/assets/javascripts/luda/mixins/tabable.js +274 -0
  25. data/assets/javascripts/luda/mixins/toggleable.js +185 -0
  26. data/assets/javascripts/luda/patterns/carousel.js +115 -333
  27. data/assets/javascripts/luda/patterns/dropdown.js +132 -271
  28. data/assets/javascripts/luda/patterns/form-dropdown.js +59 -104
  29. data/assets/javascripts/luda/patterns/tab.js +49 -150
  30. data/assets/stylesheets/luda/default/_banner.sass +1 -1
  31. data/assets/stylesheets/luda/default/_base.sass +1 -1
  32. data/assets/stylesheets/luda/default/_functions.sass +1 -1
  33. data/assets/stylesheets/luda/default/_mixins.sass +12 -12
  34. data/assets/stylesheets/luda/default/_variables.sass +747 -1
  35. data/assets/stylesheets/luda/default/behaviors/_disabled.sass +1 -1
  36. data/assets/stylesheets/luda/default/behaviors/_focus.sass +1 -1
  37. data/assets/stylesheets/luda/default/behaviors/_readonly.sass +1 -1
  38. data/assets/stylesheets/luda/default/behaviors/_toggle.sass +1 -1
  39. data/assets/stylesheets/luda/default/elements/_badge.sass +1 -1
  40. data/assets/stylesheets/luda/default/elements/_baseline.sass +1 -1
  41. data/assets/stylesheets/luda/default/elements/_button.sass +1 -1
  42. data/assets/stylesheets/luda/default/elements/_container.sass +1 -1
  43. data/assets/stylesheets/luda/default/elements/_grid.sass +1 -1
  44. data/assets/stylesheets/luda/default/elements/_icon.sass +1 -1
  45. data/assets/stylesheets/luda/default/elements/_media.sass +1 -1
  46. data/assets/stylesheets/luda/default/elements/_overlay.sass +1 -1
  47. data/assets/stylesheets/luda/default/elements/_progress.sass +1 -1
  48. data/assets/stylesheets/luda/default/elements/_scrollbar.sass +1 -1
  49. data/assets/stylesheets/luda/default/elements/_table.sass +1 -1
  50. data/assets/stylesheets/luda/default/elements/_turbolinks-progress-bar.sass +1 -1
  51. data/assets/stylesheets/luda/default/elements/form/_form-check-radio.sass +1 -1
  52. data/assets/stylesheets/luda/default/elements/form/_form-element.sass +1 -1
  53. data/assets/stylesheets/luda/default/elements/form/_form-helper.sass +1 -1
  54. data/assets/stylesheets/luda/default/elements/form/_form-label.sass +1 -1
  55. data/assets/stylesheets/luda/default/elements/form/_form-range.sass +1 -1
  56. data/assets/stylesheets/luda/default/elements/form/_form-row.sass +1 -1
  57. data/assets/stylesheets/luda/default/elements/typography/_code.sass +1 -1
  58. data/assets/stylesheets/luda/default/elements/typography/_heading.sass +1 -1
  59. data/assets/stylesheets/luda/default/elements/typography/_link.sass +1 -1
  60. data/assets/stylesheets/luda/default/elements/typography/_list.sass +1 -1
  61. data/assets/stylesheets/luda/default/elements/typography/_mark.sass +1 -1
  62. data/assets/stylesheets/luda/default/elements/typography/_paragraph.sass +1 -1
  63. data/assets/stylesheets/luda/default/elements/typography/_quote.sass +1 -1
  64. data/assets/stylesheets/luda/default/elements/typography/_sub-sup.sass +1 -1
  65. data/assets/stylesheets/luda/default/elements/typography/_typography.sass +1 -1
  66. data/assets/stylesheets/luda/default/patterns/_alert.sass +1 -1
  67. data/assets/stylesheets/luda/default/patterns/_article.sass +1 -1
  68. data/assets/stylesheets/luda/default/patterns/_avatar.sass +1 -1
  69. data/assets/stylesheets/luda/default/patterns/_breadcrumb.sass +1 -1
  70. data/assets/stylesheets/luda/default/patterns/_button-group.sass +1 -1
  71. data/assets/stylesheets/luda/default/patterns/_button-icon.sass +1 -1
  72. data/assets/stylesheets/luda/default/patterns/_carousel.sass +1 -1
  73. data/assets/stylesheets/luda/default/patterns/_dropdown.sass +1 -1
  74. data/assets/stylesheets/luda/default/patterns/_form-dropdown.sass +1 -1
  75. data/assets/stylesheets/luda/default/patterns/_form-group.sass +1 -1
  76. data/assets/stylesheets/luda/default/patterns/_form-icon.sass +1 -1
  77. data/assets/stylesheets/luda/default/patterns/_modal.sass +1 -1
  78. data/assets/stylesheets/luda/default/patterns/_navigation.sass +1 -1
  79. data/assets/stylesheets/luda/default/patterns/_search-bar.sass +1 -1
  80. data/assets/stylesheets/luda/default/patterns/_tab.sass +1 -1
  81. data/assets/stylesheets/luda/default/utilities/_alignment.sass +1 -1
  82. data/assets/stylesheets/luda/default/utilities/_background.sass +1 -1
  83. data/assets/stylesheets/luda/default/utilities/_border.sass +1 -1
  84. data/assets/stylesheets/luda/default/utilities/_color.sass +1 -1
  85. data/assets/stylesheets/luda/default/utilities/_display.sass +1 -1
  86. data/assets/stylesheets/luda/default/utilities/_flex.sass +1 -1
  87. data/assets/stylesheets/luda/default/utilities/_float.sass +1 -1
  88. data/assets/stylesheets/luda/default/utilities/_opacity.sass +1 -1
  89. data/assets/stylesheets/luda/default/utilities/_overflow.sass +1 -1
  90. data/assets/stylesheets/luda/default/utilities/_position.sass +1 -1
  91. data/assets/stylesheets/luda/default/utilities/_shadow.sass +1 -1
  92. data/assets/stylesheets/luda/default/utilities/_shape.sass +1 -1
  93. data/assets/stylesheets/luda/default/utilities/_size.sass +1 -1
  94. data/assets/stylesheets/luda/default/utilities/_spacing.sass +1 -1
  95. data/assets/stylesheets/luda/default/utilities/_text.sass +1 -1
  96. data/assets/stylesheets/luda/default/utilities/_visibility.sass +1 -1
  97. data/assets/stylesheets/luda/default/utilities/_z-index.sass +1 -1
  98. data/assets/stylesheets/luda/{_core → kernel}/_base.sass +1 -1
  99. data/assets/stylesheets/luda/{_core → kernel}/_functions.sass +23 -0
  100. data/assets/stylesheets/luda/kernel/behaviors/_disabled.sass +7 -0
  101. data/assets/stylesheets/luda/kernel/behaviors/_focus.sass +7 -0
  102. data/assets/stylesheets/luda/kernel/behaviors/_readonly.sass +7 -0
  103. data/assets/stylesheets/luda/kernel/behaviors/_toggle.sass +4 -0
  104. data/assets/stylesheets/luda/{_core → kernel}/elements/_badge.sass +1 -1
  105. data/assets/stylesheets/luda/{_core → kernel}/elements/_baseline.sass +1 -1
  106. data/assets/stylesheets/luda/{_core → kernel}/elements/_button.sass +1 -1
  107. data/assets/stylesheets/luda/{_core → kernel}/elements/_container.sass +1 -1
  108. data/assets/stylesheets/luda/{_core → kernel}/elements/_grid.sass +1 -1
  109. data/assets/stylesheets/luda/{_core → kernel}/elements/_icon.sass +1 -1
  110. data/assets/stylesheets/luda/{_core → kernel}/elements/_media.sass +1 -1
  111. data/assets/stylesheets/luda/{_core → kernel}/elements/_overlay.sass +1 -1
  112. data/assets/stylesheets/luda/{_core → kernel}/elements/_progress.sass +1 -1
  113. data/assets/stylesheets/luda/{_core → kernel}/elements/_scrollbar.sass +7 -1
  114. data/assets/stylesheets/luda/{_core → kernel}/elements/_table.sass +1 -1
  115. data/assets/stylesheets/luda/kernel/elements/_turbolinks-progress-bar.sass +5 -0
  116. data/assets/stylesheets/luda/{_core → kernel}/elements/form/_form-check-radio.sass +1 -1
  117. data/assets/stylesheets/luda/{_core → kernel}/elements/form/_form-element.sass +1 -1
  118. data/assets/stylesheets/luda/{_core → kernel}/elements/form/_form-helper.sass +1 -1
  119. data/assets/stylesheets/luda/{_core → kernel}/elements/form/_form-label.sass +1 -1
  120. data/assets/stylesheets/luda/{_core → kernel}/elements/form/_form-range.sass +1 -1
  121. data/assets/stylesheets/luda/{_core → kernel}/elements/form/_form-row.sass +13 -28
  122. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_code.sass +1 -1
  123. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_heading.sass +1 -1
  124. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_link.sass +1 -1
  125. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_list.sass +1 -1
  126. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_mark.sass +1 -1
  127. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_paragraph.sass +1 -1
  128. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_quote.sass +1 -1
  129. data/assets/stylesheets/luda/{_core → kernel}/elements/typography/_sub-sup.sass +1 -1
  130. data/assets/stylesheets/luda/kernel/elements/typography/_typography.sass +6 -0
  131. data/assets/stylesheets/luda/{_core → kernel}/mixins/_base.sass +0 -0
  132. data/assets/stylesheets/luda/{_core → kernel}/mixins/_browser.sass +0 -0
  133. data/assets/stylesheets/luda/{_core → kernel}/mixins/_button.sass +0 -0
  134. data/assets/stylesheets/luda/{_core → kernel}/mixins/_disabled.sass +1 -0
  135. data/assets/stylesheets/luda/{_core → kernel}/mixins/_dropdown.sass +0 -0
  136. data/assets/stylesheets/luda/{_core → kernel}/mixins/_focus.sass +0 -0
  137. data/assets/stylesheets/luda/{_core → kernel}/mixins/_form.sass +0 -0
  138. data/assets/stylesheets/luda/{_core → kernel}/mixins/_install.sass +0 -0
  139. data/assets/stylesheets/luda/{_core → kernel}/mixins/_media-query.sass +0 -0
  140. data/assets/stylesheets/luda/{_core → kernel}/mixins/_overlay.sass +0 -0
  141. data/assets/stylesheets/luda/{_core → kernel}/mixins/_sass-lint-fix.sass +0 -0
  142. data/assets/stylesheets/luda/{_core → kernel}/mixins/_typography.sass +0 -0
  143. data/assets/stylesheets/luda/{_core → kernel}/patterns/_alert.sass +1 -1
  144. data/assets/stylesheets/luda/{_core → kernel}/patterns/_article.sass +1 -1
  145. data/assets/stylesheets/luda/{_core → kernel}/patterns/_avatar.sass +1 -1
  146. data/assets/stylesheets/luda/{_core → kernel}/patterns/_breadcrumb.sass +1 -1
  147. data/assets/stylesheets/luda/{_core → kernel}/patterns/_button-group.sass +1 -1
  148. data/assets/stylesheets/luda/{_core → kernel}/patterns/_button-icon.sass +1 -1
  149. data/assets/stylesheets/luda/{_core → kernel}/patterns/_carousel.sass +2 -2
  150. data/assets/stylesheets/luda/{_core → kernel}/patterns/_dropdown.sass +1 -1
  151. data/assets/stylesheets/luda/{_core → kernel}/patterns/_form-dropdown.sass +6 -1
  152. data/assets/stylesheets/luda/{_core → kernel}/patterns/_form-group.sass +1 -1
  153. data/assets/stylesheets/luda/{_core → kernel}/patterns/_form-icon.sass +1 -1
  154. data/assets/stylesheets/luda/{_core → kernel}/patterns/_modal.sass +1 -1
  155. data/assets/stylesheets/luda/{_core → kernel}/patterns/_navigation.sass +1 -1
  156. data/assets/stylesheets/luda/{_core → kernel}/patterns/_search-bar.sass +1 -1
  157. data/assets/stylesheets/luda/{_core → kernel}/patterns/_tab.sass +1 -1
  158. data/assets/stylesheets/luda/{_core → kernel}/utilities/_alignment.sass +1 -1
  159. data/assets/stylesheets/luda/{_core → kernel}/utilities/_background.sass +1 -1
  160. data/assets/stylesheets/luda/{_core → kernel}/utilities/_border.sass +1 -1
  161. data/assets/stylesheets/luda/{_core → kernel}/utilities/_color.sass +1 -1
  162. data/assets/stylesheets/luda/{_core → kernel}/utilities/_display.sass +1 -1
  163. data/assets/stylesheets/luda/{_core → kernel}/utilities/_flex.sass +1 -1
  164. data/assets/stylesheets/luda/{_core → kernel}/utilities/_float.sass +1 -1
  165. data/assets/stylesheets/luda/{_core → kernel}/utilities/_opacity.sass +1 -1
  166. data/assets/stylesheets/luda/{_core → kernel}/utilities/_overflow.sass +1 -1
  167. data/assets/stylesheets/luda/{_core → kernel}/utilities/_position.sass +1 -1
  168. data/assets/stylesheets/luda/{_core → kernel}/utilities/_shadow.sass +1 -1
  169. data/assets/stylesheets/luda/{_core → kernel}/utilities/_shape.sass +1 -1
  170. data/assets/stylesheets/luda/{_core → kernel}/utilities/_size.sass +1 -1
  171. data/assets/stylesheets/luda/{_core → kernel}/utilities/_spacing.sass +1 -1
  172. data/assets/stylesheets/luda/{_core → kernel}/utilities/_text.sass +1 -1
  173. data/assets/stylesheets/luda/{_core → kernel}/utilities/_visibility.sass +1 -1
  174. data/assets/stylesheets/luda/{_core → kernel}/utilities/_z-index.sass +1 -1
  175. data/lib/luda/version.rb +1 -1
  176. metadata +86 -89
  177. data/assets/javascripts/luda/constants.js +0 -18
  178. data/assets/javascripts/luda/dom.js +0 -143
  179. data/assets/javascripts/luda/event.js +0 -201
  180. data/assets/javascripts/luda/factory.js +0 -334
  181. data/assets/javascripts/luda/install.js +0 -75
  182. data/assets/javascripts/luda/static.js +0 -224
  183. data/assets/javascripts/luda/utilities.js +0 -16
  184. data/assets/stylesheets/luda/_core/_variables.sass +0 -742
  185. data/assets/stylesheets/luda/_core/behaviors/_disabled.sass +0 -7
  186. data/assets/stylesheets/luda/_core/behaviors/_focus.sass +0 -7
  187. data/assets/stylesheets/luda/_core/behaviors/_readonly.sass +0 -14
  188. data/assets/stylesheets/luda/_core/behaviors/_toggle.sass +0 -4
  189. data/assets/stylesheets/luda/_core/elements/_turbolinks-progress-bar.sass +0 -5
  190. data/assets/stylesheets/luda/_core/elements/typography/_typography.sass +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"luda.js","sources":["../../coffee/install.coffee","../../coffee/constants.coffee","../../coffee/dom.coffee","../../coffee/event.coffee","../../coffee/utilities.coffee","../../coffee/static.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/factory.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../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\n\n _getTransitionDurations: (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000\n\n getTransitionDuration: ($element) ->\n styles = window.getComputedStyle $element\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = @_getTransitionDurations styles.transitionDelay, length\n durations = @_getTransitionDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations\n\n _observeDom: (onNodeAdded, onNodeRemoved) ->\n observerConfig =\n childList: true\n subtree: true\n 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 onNodeRemoved $node if $node instanceof Element and onNodeRemoved\n $addedNodes.forEach ($node) ->\n onNodeAdded $node if $node instanceof Element and onNodeAdded\n observer.observe document.documentElement, observerConfig\n observer","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, delayMilliseconds, 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 if typeof delayMilliseconds is 'number'\n setTimeout ->\n $target.dispatchEvent evt if $target\n , delayMilliseconds\n else\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'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n \nluda class Static\n\n @_SCOPE: 'Static'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_ACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:activate\"\n @_ACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:activated\"\n @_DEACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:deactivate\"\n @_DEACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:deactivated\"\n @_ACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-activating\"\n @_DEACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-deactivating\"\n\n @_Observed: []\n @_observer: null\n\n @_selector: ''\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 @_activatePrevented: ($ele, detail) ->\n activateEvent = luda.dispatch $ele, @_ACTIVATE_EVENT_TYPE(), detail\n activateEvent.defaultPrevented\n\n @_deactivatePrevented: ($ele, detail) ->\n deactivateEvent = luda.dispatch $ele, @_DEACTIVATE_EVENT_TYPE(), detail\n deactivateEvent.defaultPrevented\n\n @_handleActivateEnd: ($ele, detail) ->\n @_setActivatingMark $ele, detail\n activateDuration = luda.getTransitionDuration $ele\n luda.dispatch $ele, @_ACTIVATED_EVENT_TYPE(), detail, activateDuration\n setTimeout =>\n @_removeActivatingMark $ele if $ele\n , activateDuration\n activateDuration\n\n @_handleDeactivateEnd: ($ele, detail) ->\n @_setDeactivatingMark $ele, detail\n deactivateDuration = luda.getTransitionDuration $ele\n luda.dispatch $ele, @_DEACTIVATED_EVENT_TYPE(), detail, deactivateDuration\n setTimeout =>\n @_removeDeactivatingMark $ele if $ele\n , deactivateDuration\n deactivateDuration\n\n @_handleActivateCancel: ($ele, detail) ->\n if @_isActivating $ele\n luda.dispatch $ele, @_ACTIVATED_EVENT_TYPE(), detail\n @_removeActivatingMark $ele\n\n @_handleDeactivateCancel: ($ele, detail) ->\n if @_isDeactivating $ele\n luda.dispatch $ele, @_DEACTIVATED_EVENT_TYPE(), detail\n @_removeDeactivatingMark $ele\n\n @_isActivating: ($ele) ->\n $ele.hasAttribute @_ACTIVATING_MARK_ATTRIBUTE()\n\n @_isDeactivating: ($ele) ->\n $ele.hasAttribute @_DEACTIVATING_MARK_ATTRIBUTE()\n\n @_isTransitioning: ($ele) ->\n @_isActivating($ele) or @_isDeactivating($ele)\n\n @_getActivatingMark: ($ele) ->\n $ele.getAttribute @_ACTIVATING_MARK_ATTRIBUTE()\n\n @_getDeactivatingMark: ($ele) ->\n $ele.getAttribute @_DEACTIVATING_MARK_ATTRIBUTE()\n\n @_removeActivatingMark: ($ele) ->\n $ele.removeAttribute @_ACTIVATING_MARK_ATTRIBUTE()\n\n @_removeDeactivatingMark: ($ele) ->\n $ele.removeAttribute @_DEACTIVATING_MARK_ATTRIBUTE()\n\n @_setActivatingMark: ($ele, value) ->\n $ele.setAttribute @_ACTIVATING_MARK_ATTRIBUTE(), value\n\n @_setDeactivatingMark: ($ele, value) ->\n $ele.setAttribute @_DEACTIVATING_MARK_ATTRIBUTE(), value\n\n @_onEleAdded: ($ele) ->\n Static._onEleAddedOrRemoved $ele, '_onElementAdded'\n\n @_onEleRemoved: ($ele) ->\n Static._onEleAddedOrRemoved $ele, '_onElementRemoved'\n\n @_onEleAddedOrRemoved: ($ele, action) ->\n Static._Observed.forEach (Observed) ->\n return unless Observed[action]\n $matched = luda.$children Observed._selector, $ele\n $matched.unshift $ele if $ele.matches Observed._selector\n $matched.forEach ($target) -> Observed[action] $target\n\n @_observe: (classObj) ->\n unless Static._observer\n Static._observer = \\\n luda._observeDom Static._onEleAdded, Static._onEleRemoved\n if classObj._onElementAdded or classObj._onElementRemoved \\\n and classObj._selector\n unless Static._Observed.includes classObj\n Static._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Static\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, -> Static._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../static.coffee'\n\n\nluda class extends luda.Static\n\n @_SCOPE: 'enter'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_DISABLED_ATTRIBUTE: 'data-enter-disabled'\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if not document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE) \\\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 '../static.coffee'\n\n\n\nluda class extends luda.Static\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 @_DISABLED_ATTRIBUTE: 'data-focus-disabled'\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_isActive: ->\n not document.documentElement.hasAttribute(@_DISABLED_ATTRIBUTE)\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 @_isActive()\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_isActive()\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._isActive() 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._isActive()\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 './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Factory\n\n @_SCOPE: 'Factory'\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\n @_ACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:activate\"\n @_ACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:activated\"\n @_DEACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:deactivate\"\n @_DEACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:deactivated\"\n @_ACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-activating\"\n @_DEACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-deactivating\"\n\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 _activatePrevented: ($ele, detail) ->\n activateEvent = luda.dispatch($ele, \\\n @constructor._ACTIVATE_EVENT_TYPE(), detail)\n activateEvent.defaultPrevented\n\n _deactivatePrevented: ($ele, detail) ->\n deactivateEvent = luda.dispatch($ele, \\\n @constructor._DEACTIVATE_EVENT_TYPE(), detail)\n deactivateEvent.defaultPrevented\n\n _handleActivateEnd: ($ele, detail) ->\n @_setActivatingMark detail\n activateDuration = luda.getTransitionDuration $ele\n luda.dispatch($ele, \\\n @constructor._ACTIVATED_EVENT_TYPE(), detail, \\\n activateDuration)\n setTimeout =>\n @_removeActivatingMark() if @_$component\n , activateDuration\n activateDuration\n\n _handleDeactivateEnd: ($ele, detail) ->\n @_setDeactivatingMark detail\n deactivateDuration = luda.getTransitionDuration $ele\n luda.dispatch($ele, \\\n @constructor._DEACTIVATED_EVENT_TYPE(), detail, \\\n deactivateDuration)\n setTimeout =>\n @_removeDeactivatingMark() if @_$component\n , deactivateDuration\n deactivateDuration\n\n _handleActivateCancel: ($ele, detail) ->\n if @_isActivating()\n luda.dispatch($ele, \\\n @constructor._ACTIVATED_EVENT_TYPE(), detail)\n @_removeActivatingMark()\n\n _handleDeactivateCancel: ($ele, detail) ->\n if @_isDeactivating()\n luda.dispatch($ele, \\\n @constructor._DEACTIVATED_EVENT_TYPE(), detail)\n @_removeDeactivatingMark()\n\n _isActivating: ->\n @_$component.hasAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE()\n\n _isDeactivating: ->\n @_$component.hasAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE()\n\n _isTransitioning: ->\n @_isActivating() or @_isDeactivating()\n\n _getActivatingMark: ->\n @_$component.getAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE()\n\n _getDeactivatingMark: ->\n @_$component.getAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE()\n\n _removeActivatingMark: ->\n @_$component.removeAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE()\n\n _removeDeactivatingMark: ->\n @_$component.removeAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE()\n\n _setActivatingMark: (value) ->\n @_$component.setAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE(), value\n\n _setDeactivatingMark: (value) ->\n @_$component.setAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE(), value\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 @_onEleAdded: ($ele) ->\n Factory._onEleAddedOrRemoved($ele, 'create')\n\n @_onEleRemoved: ($ele) ->\n Factory._onEleAddedOrRemoved($ele, 'destroy')\n\n @_onEleAddedOrRemoved: ($ele, action) ->\n Factory._Observed.forEach (Observed) ->\n return Observed[action] $ele if $ele.matches Observed._SELECTOR\n luda.$children(Observed._SELECTOR, $ele).forEach ($child) ->\n Observed[action] $child\n\n @_observe: (classObj) ->\n unless Factory._observer\n Factory._observer = \\\n luda._observeDom Factory._onEleAdded, Factory._onEleRemoved\n unless Factory._Observed.includes classObj\n Factory._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Factory\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 Factory._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../factory.coffee'\n\n\n\nluda class extends luda.Factory\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_ORIGINAL_TABINDEX_ATTRIBUTE: 'data-readonly-tabindex'\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 {_isReadonly}\n \n _constructor: ->\n {\n @_isReadonly\n } = @_getConfig()\n @_setOriginalTabIndex()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setOriginalTabIndex: ->\n unless @_$component.hasAttribute \\\n @constructor._ORIGINAL_TABINDEX_ATTRIBUTE\n @_$component.setAttribute \\\n @constructor._ORIGINAL_TABINDEX_ATTRIBUTE, @_$component.tabIndex\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = \\\n @_$component.getAttribute @constructor._ORIGINAL_TABINDEX_ATTRIBUTE","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../static.coffee'\n\n\n\nluda class extends luda.Static\n\n @_SCOPE: 'tabulate'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_DISABLED_ATTRIBUTE: 'data-tabulate-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 not document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE) \\\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 '../dom.coffee'\nimport '../event.coffee'\nimport '../static.coffee'\n\n\n\nluda class extends luda.Static\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_TOGGLE_DISABLED_ATTRIBUTE: 'data-toggle-disabled'\n @_AUTO_DEACTIVATE_ATTRIBUTE: 'data-toggle-auto-deactivate'\n @_AUTO_DEACTIVATE_DURATION: 3000\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_TARGET_ATTRIBUTE}]\"\n ]\n\n @activate: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n return if $target.classList.contains @_ACTIVE_CSS_CLASS\n return if @_isTransitioning $target\n return if @_activatePrevented $target\n $target.classList.add @_ACTIVE_CSS_CLASS\n @_handleActivateEnd $target\n @_delayDeactivate $target if @_shouldAutoDeactivate $target\n\n @deactivate: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n return unless $target.classList.contains @_ACTIVE_CSS_CLASS\n return if @_isTransitioning $target\n return if @_deactivatePrevented $target\n $target.classList.remove @_ACTIVE_CSS_CLASS\n @_handleDeactivateEnd $target\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactivate($target)\n else\n @activate($target)\n\n @_onElementAdded: ($ele) ->\n @_handleActivateCancel $ele\n @_handleDeactivateCancel $ele\n @_delayDeactivate $ele if @_shouldAutoDeactivate $ele\n\n @_shouldAutoDeactivate: ($target) ->\n $target.hasAttribute @_AUTO_DEACTIVATE_ATTRIBUTE\n\n @_delayDeactivate: ($target) ->\n delay = parseInt $target.getAttribute(@_AUTO_DEACTIVATE_ATTRIBUTE), 10\n delay = @_AUTO_DEACTIVATE_DURATION if not delay\n setTimeout =>\n @deactivate $target if $target\n , delay\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 clickEventSelector = \"[#{@_TOGGLE_FOR_ATTRIBUTE}],[#{@_TOGGLE_ATTRIBUTE}]\"\n luda.on luda._DOC_READY, ->\n luda.$children(self._selector).forEach ($target) ->\n self._delayDeactivate $target if self._shouldAutoDeactivate $target\n luda.on 'click', clickEventSelector, (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._TOGGLE_DISABLED_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 reset: ->\n @_$file.value = ''\n @_setSimulatorInitialValue()\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 if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\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 return @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n @_setSimulatorInitialValue()\n \n _setSimulatorInitialValue: ->\n 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 @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @reset: ($file) -> @query($file).reset()\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 '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 = indexOrIndexArray\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 @select: ($select, indexOrIndexArray) ->\n @query($select).select indexOrIndexArray\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 '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 @_ACTIVATED_INDEX_ATTRIBUTE: 'data-carousel-activated-index'\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\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n activate: (index) ->\n if @_$items.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1 \\\n and @_canTransition(index, activatedIndex)\n @_activeIndex = index\n action = if index < activatedIndex then '_slidePrev' else '_slideNext'\n @[action] activatedIndex\n\n next: ->\n if @_$items.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n index = activatedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n return unless @_canTransition(index, activatedIndex)\n @_activeIndex = index\n @_slideNext activatedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n index = activatedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n return unless @_canTransition(index, activatedIndex)\n @_activeIndex = index\n @_slidePrev activatedIndex\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 # 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 @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @_handleTransitionCancel()\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 $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: (activatedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n $activatedItem = @_$items[activatedIndex]\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 $activatedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activatedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_handleTransitionEnd @_activeIndex, activatedIndex\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: (activatedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n $activatedItem = @_$items[activatedIndex]\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 $activatedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activatedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_handleTransitionEnd @_activeIndex, activatedIndex\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _canTransition: (activeIndex, activatedIndex) ->\n not @_activatePrevented(@_$items[activeIndex], activeIndex) \\\n and not @_deactivatePrevented(@_$items[activatedIndex], activatedIndex)\n\n _handleTransitionEnd: (activeIndex, activatedIndex) ->\n activateDuration = \\\n @_handleActivateEnd @_$items[activeIndex], activeIndex\n deactivateDuration = \\\n @_handleDeactivateEnd @_$items[activatedIndex], activatedIndex\n\n _handleTransitionCancel: ->\n if @_isActivating()\n index = parseInt @_getActivatingMark(), 10\n @_handleActivateCancel @_$items[index], index\n if @_isDeactivating()\n activatedIndex = parseInt @_getDeactivatingMark(), 10\n @_handleDeactivateCancel @_$items[activatedIndex], activatedIndex\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 @activate: ($carousel, index) -> @query($carousel).activate index\n\n @next: ($carousel) -> @query($carousel).next()\n\n @prev: ($carousel) -> @query($carousel).prev()\n\n @pause: ($carousel) -> @query($carousel).pause()\n\n @play: ($carousel) -> @query($carousel).play()\n\n # static private\n @_init: ->\n self = this\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.activate 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 '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 @_TOGGLE_DISABLED_ATTRIBUTE: 'data-dropdown-toggle-disabled'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_TOGGLE_DISABLED_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_TOGGLE_DISABLED_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n activate: ->\n return if @_isActive() or @_isTransitioning()\n return if @_activatePrevented @_$menu\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.activate()\n @_handleActivateEnd @_$menu\n\n deactivate: (focus) ->\n return unless @_isActive() and not @_isTransitioning()\n return if @_deactivatePrevented @_$menu\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactivate()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n @_handleDeactivateEnd @_$menu\n\n toggle: (focus) ->\n if @_isActive() then @deactivate(focus) else @activate()\n\n _prev: ->\n if @_$items.length and @_isActive()\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 @_isActive()\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 {_$menu, _$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n @_onMutations()\n @_handleActivateCancel @_$menu\n @_handleDeactivateCancel @_$menu\n\n _onMutations: (mutations) ->\n {\n @_$menu,\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _isActive: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactivateChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n if child._isActive() and not exceptions.includes child\n child.deactivate()\n else\n @_children.forEach (child) ->\n child.deactivate() if child._isActive()\n\n @activate: ($dropdown) -> @query($dropdown).activate()\n\n @deactivate: ($dropdown, focus) -> @query($dropdown).deactivate(focus)\n\n @toggle: ($dropdown, focus) -> @query($dropdown).toggle focus\n\n @deactivateExcept: (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._isActive() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactivate()\n else\n @_instances.forEach (instance) ->\n instance.deactivate() if instance._isActive()\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.deactivateExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactivateExcept(self._standaloneInstances().concat instance)\n instance._deactivateChildrenExcept()\n instance._parent._deactivateChildrenExcept(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.deactivateExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactivateExcept(instance)\n instance.activate()\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._isActive()\n instance.deactivate true\n else\n instance._parent?.deactivate 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._isActive()\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._isActive()\n instance._next()\n else\n instance._parent?._next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../factory.coffee'\nimport '../behaviors/focus.coffee'\nimport '../behaviors/enter.coffee'\n\n\n\nluda class extends luda.Factory\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_BEHAVIOR_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.enter._add @_ENTER_BEHAVIOR_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_BEHAVIOR_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n activate: (index) ->\n if @_$panes.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n return unless @_canTransition index, activatedIndex\n @_activeIndex = index\n @_activate activatedIndex\n\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 @_layout()\n @_handleTransitionCancel()\n\n _onMutations: (mutations) ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_setIndicatorsState()\n\n _layout: ->\n @_$panes.forEach ($pane, index) =>\n $pane.style.transition = 'none'\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n luda.reflow $pane\n $pane.style.transition = ''\n @_setIndicatorsState()\n\n _activate: (activatedIndex) ->\n $pane = @_$panes[@_activeIndex]\n $activatedPane = @_$panes[activatedIndex]\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n $activatedPane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n @_handleTransitionEnd @_activeIndex, activatedIndex\n @_setIndicatorsState()\n\n _canTransition: (activeIndex, activatedIndex) ->\n not @_activatePrevented(@_$panes[activeIndex], activeIndex) \\\n and not @_deactivatePrevented(@_$panes[activatedIndex], activatedIndex)\n\n _handleTransitionEnd: (activeIndex, activatedIndex) ->\n activateDuration = \\\n @_handleActivateEnd @_$panes[activeIndex], activeIndex\n deactivateDuration = \\\n @_handleDeactivateEnd @_$panes[activatedIndex], activatedIndex\n\n _handleTransitionCancel: ->\n if @_isActivating()\n index = parseInt @_getActivatingMark(), 10\n @_handleActivateCancel @_$panes[index], index\n if @_isDeactivating()\n activatedIndex = parseInt @_getDeactivatingMark(), 10\n @_handleDeactivateCancel @_$panes[activatedIndex], activatedIndex\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n $indicator.checked = true\n else\n $indicator.removeAttribute 'checked'\n $indicator.checked = false\n\n @activate: ($tab, index) -> @query($tab).activate index\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._setIndicatorsState()\n instance.activate instance._$indicators.indexOf this"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"luda.js","sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/matches/helpers/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/matches/matches.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","guid = 0\n\n\n\nexport default -> guid += 1","export default (arr, prop, deep) ->\n plucked = []\n arr.forEach (item) ->\n val = item[prop]\n until val is null\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isDecimalism'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from '../matches/helpers/matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n return luda unique(pluck @els, 'parentNode') unless comparator\n parents = []\n @els.forEach (el) ->\n while parent = el.parentNode\n matched = collect([parent], comparator)[0]\n return parents.push matched if matched\n el = parent\n luda unique(parents)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from '../matches/helpers/matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) ->\n els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n [event.target].concat(pluck [event.target], 'parentNode', true)","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunDomCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.dom.forEach (dom) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll dom.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and dom.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n name and watches.attr.forEach (attr) ->\n return unless name is attr.name\n return unless matches target, attr.selector\n return if not nestable and not unnested(ins, [target]).length\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runDomCallbacks 'added', mutation, C.watches, nestable\n runDomCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n return false unless nodesOne.length is nodesTwo.length\n return true if nodesOne.length is 0 and nodesTwo.length is 0\n itemsOne = Array.from nodesOne\n itemsTwo = Array.from nodesTwo\n not itemsOne.some (node, index) -> node isnt itemsTwo[index]\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n dom: (conf.dom or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.dom ||= []\n watches.dom.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {dom: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n luda.extend name, createProxy Component if name\n luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n [].forEach.call el.options, (option) ->\n selected = val.includes readValue(option.value)\n luda(option).attr 'selected', if selected then '' else null\n option.selected = selected\n else\n val = if value is null then '' else parseValue value\n luda(el).attr 'value', val\n el.value = val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.slice().reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import luda from '../base/luda.coffee'\nimport matches from './helpers/matches.coffee'\n\n\n\nluda.include\n\n matches: (selector) ->\n return false unless @els.length\n return false unless selector\n @els.some (el) -> matches el, selector","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator, _all) ->\n luda collect(unique(pluck(@els, 'nextElementSibling', _all)), comparator)","import luda from '../base/luda.coffee'\nimport './next.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) -> @next comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator, _al) ->\n luda collect(unique(pluck(@els, 'previousElementSibling', _al)), comparator)","import luda from '../base/luda.coffee'\nimport './prev.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) -> @prev comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableCreate: ->\n rootEl = @root.els[0]\n tabIndex = rootEl.tabIndex\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n rootEl.tabIndex = -1\n rootEl[@attr?.disable or 'disabled'] = true\n\n disableDestroy: ->\n rootEl = @root.els[0]\n rootEl.tabIndex = @root.data @data.disable.tabIndex\n rootEl[@attr?.disable or 'disabled'] = false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n data:\n enable: 'enter'\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n trigger: (e) ->\n return if @html.data(@data.enable) is false\n return unless luda(e.target).matches @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n data:\n enable: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n disabled: -> @html.data(@data.enable) is false\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).matches @selector.always.join(',')\n target = node\n else if luda(node).matches @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).matches(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n data:\n tabulate: 'tabulate'\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @html.data(@data.tabulate) is false\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n splitor: ' '\n\n.protect\n\n insertSimulator: ->\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @file\n\n updatePlaceholder: ->\n return unless placeholder = @file.attr 'placeholder'\n @simulator.attr 'placeholder', placeholder\n\n updateValue: ->\n values = Array.from(@file.els[0].files).map (f) -> f.name\n value = values.join(@splitor) or @file.attr('value') or ''\n @simulator.attr 'value', value\n\n tryReset: (target, oldVal) ->\n return unless @file.attr('value') is ''\n @file.els[0].value = ''\n @file.attr 'value', oldVal\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updatePlaceholder()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n.protect\n\n tryEmpty: ->\n select = @select.els[0]\n selected = Array.from(select.options).some (o) ->\n luda(o).hasAttr 'selected'\n not selected and select.selectedIndex = -1\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n Array.from(@select.els[0].options).forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n initSimulator: ->\n return @simulator.remove() if @select.els[0].multiple\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @select\n @updatePlaceholder()\n @updateValue()\n\n updatePlaceholder: ->\n return if @select.els[0].multiple\n @simulator.attr 'placeholder', @select.attr('placeholder')\n\n updateValue: ->\n select = @select.els[0]\n return if select.multiple\n selected = select.options[select.selectedIndex]\n val = if selected then luda(selected).text() else ''\n @simulator.attr 'value', val\n\n reset: ->\n @select.els[0].selectedIndex = -1\n Array.from(@select.els[0].options).forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @initSimulator()\n\n watch: ->\n dom: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @updateValue]\n ['multiple', @selector.select, @initSimulator]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n dom: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n touchendPlay: -> setTimeout => @play()\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pause]\n ['mouseout', @play]\n ['touchend', @touchendPlay]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n splitor: ' '\n\n.protect\n\n disableSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = luda @labels.els[index]\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.attr 'value', values.join(@splitor)\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @disableSimulator()\n @updateValue()\n\n watch: ->\n dom: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"],"names":["luda","type","pattern","replacer","guid","print","removeEvent","addEvent","config","factory","Base","parseValue","parse","V","EV","Variables","clean","Mixin"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * Luda 0.2.0 | https://oatw.github.io/luda
2
+ * Luda 0.3.0 | https://oatw.github.io/luda
3
3
  * Copyright 2019 Oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
6
- (function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory():typeof define==="function"&&define.amd?define(factory):factory()})(this,function(){"use strict";var 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},_getTransitionDurations:function(style,propertyLength){var durationArray;durationArray=style.split(",");while(durationArray.length<propertyLength){durationArray=durationArray.concat(durationArray)}if(durationArray.length>propertyLength){durationArray=durationArray.slice(0,propertyLength)}return durationArray.map(function(durationStr){var duration;duration=parseFloat(durationStr);if(!duration){return 0}if(durationStr.match("ms")){return duration}else{return duration*1e3}})},getTransitionDuration:function($element){var delays,durations,finalDurations,length,styles;styles=window.getComputedStyle($element);length=styles.transitionProperty.split(",").length;if(!length){return 0}delays=this._getTransitionDurations(styles.transitionDelay,length);durations=this._getTransitionDurations(styles.transitionDuration,length);finalDurations=durations.map(function(duration,index){return duration+delays[index]});return Math.max.apply(null,finalDurations)},_observeDom:function(onNodeAdded,onNodeRemoved){var observer,observerConfig;observerConfig={childList:true,subtree:true};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&&onNodeRemoved){return onNodeRemoved($node)}});return $addedNodes.forEach(function($node){if($node instanceof Element&&onNodeAdded){return onNodeAdded($node)}})})});observer.observe(document.documentElement,observerConfig);return observer}});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,delayMilliseconds,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;if(typeof delayMilliseconds==="number"){return setTimeout(function(){if($target){return $target.dispatchEvent(evt)}},delayMilliseconds)}else{$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 Static;luda(Static=function(){class Static{static _ACTIVATE_EVENT_TYPE(){return`${this._SCOPE}:activate`}static _ACTIVATED_EVENT_TYPE(){return`${this._SCOPE}:activated`}static _DEACTIVATE_EVENT_TYPE(){return`${this._SCOPE}:deactivate`}static _DEACTIVATED_EVENT_TYPE(){return`${this._SCOPE}:deactivated`}static _ACTIVATING_MARK_ATTRIBUTE(){return`data-${this._SCOPE}-activating`}static _DEACTIVATING_MARK_ATTRIBUTE(){return`data-${this._SCOPE}-deactivating`}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 _activatePrevented($ele,detail){var activateEvent;activateEvent=luda.dispatch($ele,this._ACTIVATE_EVENT_TYPE(),detail);return activateEvent.defaultPrevented}static _deactivatePrevented($ele,detail){var deactivateEvent;deactivateEvent=luda.dispatch($ele,this._DEACTIVATE_EVENT_TYPE(),detail);return deactivateEvent.defaultPrevented}static _handleActivateEnd($ele,detail){var activateDuration;this._setActivatingMark($ele,detail);activateDuration=luda.getTransitionDuration($ele);luda.dispatch($ele,this._ACTIVATED_EVENT_TYPE(),detail,activateDuration);setTimeout(()=>{if($ele){return this._removeActivatingMark($ele)}},activateDuration);return activateDuration}static _handleDeactivateEnd($ele,detail){var deactivateDuration;this._setDeactivatingMark($ele,detail);deactivateDuration=luda.getTransitionDuration($ele);luda.dispatch($ele,this._DEACTIVATED_EVENT_TYPE(),detail,deactivateDuration);setTimeout(()=>{if($ele){return this._removeDeactivatingMark($ele)}},deactivateDuration);return deactivateDuration}static _handleActivateCancel($ele,detail){if(this._isActivating($ele)){luda.dispatch($ele,this._ACTIVATED_EVENT_TYPE(),detail);return this._removeActivatingMark($ele)}}static _handleDeactivateCancel($ele,detail){if(this._isDeactivating($ele)){luda.dispatch($ele,this._DEACTIVATED_EVENT_TYPE(),detail);return this._removeDeactivatingMark($ele)}}static _isActivating($ele){return $ele.hasAttribute(this._ACTIVATING_MARK_ATTRIBUTE())}static _isDeactivating($ele){return $ele.hasAttribute(this._DEACTIVATING_MARK_ATTRIBUTE())}static _isTransitioning($ele){return this._isActivating($ele)||this._isDeactivating($ele)}static _getActivatingMark($ele){return $ele.getAttribute(this._ACTIVATING_MARK_ATTRIBUTE())}static _getDeactivatingMark($ele){return $ele.getAttribute(this._DEACTIVATING_MARK_ATTRIBUTE())}static _removeActivatingMark($ele){return $ele.removeAttribute(this._ACTIVATING_MARK_ATTRIBUTE())}static _removeDeactivatingMark($ele){return $ele.removeAttribute(this._DEACTIVATING_MARK_ATTRIBUTE())}static _setActivatingMark($ele,value){return $ele.setAttribute(this._ACTIVATING_MARK_ATTRIBUTE(),value)}static _setDeactivatingMark($ele,value){return $ele.setAttribute(this._DEACTIVATING_MARK_ATTRIBUTE(),value)}static _onEleAdded($ele){return Static._onEleAddedOrRemoved($ele,"_onElementAdded")}static _onEleRemoved($ele){return Static._onEleAddedOrRemoved($ele,"_onElementRemoved")}static _onEleAddedOrRemoved($ele,action){return Static._Observed.forEach(function(Observed){var $matched;if(!Observed[action]){return}$matched=luda.$children(Observed._selector,$ele);if($ele.matches(Observed._selector)){$matched.unshift($ele)}return $matched.forEach(function($target){return Observed[action]($target)})})}static _observe(classObj){if(!Static._observer){Static._observer=luda._observeDom(Static._onEleAdded,Static._onEleRemoved)}if(classObj._onElementAdded||classObj._onElementRemoved&&classObj._selector){if(!Static._Observed.includes(classObj)){return Static._Observed.push(classObj)}}}static _install(){var exposed,self;self=this;if(this===Static){return this}if(!this.hasOwnProperty("_SELECTORS")){this._SELECTORS=[]}this._mergeSelectors();if(typeof this._init==="function"){exposed=this._init()}luda.on(luda._DOC_READY,function(){return Static._observe(self)});if(exposed){return exposed}else{return this}}}Static._SCOPE="Static";Static._SELECTOR_INVALID_ERROR="@param selector must be a css selector string";Static._SELECTORS=[];Static._Observed=[];Static._observer=null;Static._selector="";return Static}.call(this));luda(function(){var _Class;_Class=class extends luda.Static{static _init(){var self;self=this;return luda.on("keydown",function(e){if(!document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE)&&e.keyCode===luda.KEY_ENTER&&e.target.matches(self._selector)){e.preventDefault();return setTimeout(function(){return e.target.click()})}})}};_Class._SCOPE="enter";_Class._SELECTORS=["input[type=checkbox]","input[type=radio]","[tabindex]"];_Class._DISABLED_ATTRIBUTE="data-enter-disabled";return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Static{static _isActive(){return!document.documentElement.hasAttribute(this._DISABLED_ATTRIBUTE)}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._isActive()){this._removeFocusClassExcept(e.target);return this._addFocusClassExceptHtmlAndBody(e.target)}}static _changeFocusStateOnMouseDownEvent(e){var target;if(this._isActive()){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._isActive()&&document.activeElement===this){self._removeFocusClassExcept(this);return self._addFocusClassExceptHtmlAndBody(this)}};return HTMLElement.prototype.blur=function(){blur.apply(this,arguments);if(self._isActive()){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._DISABLED_ATTRIBUTE="data-focus-disabled";_Class._$focus=document.getElementsByClassName(_Class._CSS_CLASS);return _Class}.call(this));var Factory;luda(Factory=function(){class Factory{static _ACTIVATE_EVENT_TYPE(){return`${this._SCOPE}:activate`}static _ACTIVATED_EVENT_TYPE(){return`${this._SCOPE}:activated`}static _DEACTIVATE_EVENT_TYPE(){return`${this._SCOPE}:deactivate`}static _DEACTIVATED_EVENT_TYPE(){return`${this._SCOPE}:deactivated`}static _ACTIVATING_MARK_ATTRIBUTE(){return`data-${this._SCOPE}-activating`}static _DEACTIVATING_MARK_ATTRIBUTE(){return`data-${this._SCOPE}-deactivating`}_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}_activatePrevented($ele,detail){var activateEvent;activateEvent=luda.dispatch($ele,this.constructor._ACTIVATE_EVENT_TYPE(),detail);return activateEvent.defaultPrevented}_deactivatePrevented($ele,detail){var deactivateEvent;deactivateEvent=luda.dispatch($ele,this.constructor._DEACTIVATE_EVENT_TYPE(),detail);return deactivateEvent.defaultPrevented}_handleActivateEnd($ele,detail){var activateDuration;this._setActivatingMark(detail);activateDuration=luda.getTransitionDuration($ele);luda.dispatch($ele,this.constructor._ACTIVATED_EVENT_TYPE(),detail,activateDuration);setTimeout(()=>{if(this._$component){return this._removeActivatingMark()}},activateDuration);return activateDuration}_handleDeactivateEnd($ele,detail){var deactivateDuration;this._setDeactivatingMark(detail);deactivateDuration=luda.getTransitionDuration($ele);luda.dispatch($ele,this.constructor._DEACTIVATED_EVENT_TYPE(),detail,deactivateDuration);setTimeout(()=>{if(this._$component){return this._removeDeactivatingMark()}},deactivateDuration);return deactivateDuration}_handleActivateCancel($ele,detail){if(this._isActivating()){luda.dispatch($ele,this.constructor._ACTIVATED_EVENT_TYPE(),detail);return this._removeActivatingMark()}}_handleDeactivateCancel($ele,detail){if(this._isDeactivating()){luda.dispatch($ele,this.constructor._DEACTIVATED_EVENT_TYPE(),detail);return this._removeDeactivatingMark()}}_isActivating(){return this._$component.hasAttribute(this.constructor._ACTIVATING_MARK_ATTRIBUTE())}_isDeactivating(){return this._$component.hasAttribute(this.constructor._DEACTIVATING_MARK_ATTRIBUTE())}_isTransitioning(){return this._isActivating()||this._isDeactivating()}_getActivatingMark(){return this._$component.getAttribute(this.constructor._ACTIVATING_MARK_ATTRIBUTE())}_getDeactivatingMark(){return this._$component.getAttribute(this.constructor._DEACTIVATING_MARK_ATTRIBUTE())}_removeActivatingMark(){return this._$component.removeAttribute(this.constructor._ACTIVATING_MARK_ATTRIBUTE())}_removeDeactivatingMark(){return this._$component.removeAttribute(this.constructor._DEACTIVATING_MARK_ATTRIBUTE())}_setActivatingMark(value){return this._$component.setAttribute(this.constructor._ACTIVATING_MARK_ATTRIBUTE(),value)}_setDeactivatingMark(value){return this._$component.setAttribute(this.constructor._DEACTIVATING_MARK_ATTRIBUTE(),value)}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 _onEleAdded($ele){return Factory._onEleAddedOrRemoved($ele,"create")}static _onEleRemoved($ele){return Factory._onEleAddedOrRemoved($ele,"destroy")}static _onEleAddedOrRemoved($ele,action){return Factory._Observed.forEach(function(Observed){if($ele.matches(Observed._SELECTOR)){return Observed[action]($ele)}return luda.$children(Observed._SELECTOR,$ele).forEach(function($child){return Observed[action]($child)})})}static _observe(classObj){if(!Factory._observer){Factory._observer=luda._observeDom(Factory._onEleAdded,Factory._onEleRemoved)}if(!Factory._Observed.includes(classObj)){return Factory._Observed.push(classObj)}}static _install(){var exposed,self;self=this;if(this===Factory){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 Factory._observe(self)});if(exposed){return exposed}else{return this}}}Factory._SCOPE="Factory";Factory._COMPONENT_NO_SELECTOR_ERROR="Extended component must has a css selector";Factory._$COMPONENT_INVALID_ERROR="@param $component must be an instance of Element";Factory._SELECTOR="";Factory._instances=[];Factory._Observed=[];Factory._observer=null;Factory._observerConfig={childList:true,subtree:true};return Factory}.call(this));luda(function(){var _Class;_Class=class extends luda.Factory{_getConfig(){var _isReadonly,readonly;readonly=this._$component.getAttribute(this.constructor._READONLY_ATTRIBUTE);_isReadonly=readonly!==this.constructor._READONLY_FALSE_VALUE;return{_isReadonly:_isReadonly}}_constructor(){({_isReadonly:this._isReadonly}=this._getConfig());this._setOriginalTabIndex();return this._setTabIndex()}_onMutations(){return this._constructor()}_setOriginalTabIndex(){if(!this._$component.hasAttribute(this.constructor._ORIGINAL_TABINDEX_ATTRIBUTE)){return this._$component.setAttribute(this.constructor._ORIGINAL_TABINDEX_ATTRIBUTE,this._$component.tabIndex)}}_setTabIndex(){if(this._isReadonly){return this._$component.tabIndex=-1}else{return this._$component.tabIndex=this._$component.getAttribute(this.constructor._ORIGINAL_TABINDEX_ATTRIBUTE)}}};_Class._SCOPE="readonly";_Class._READONLY_ATTRIBUTE="data-readonly";_Class._ORIGINAL_TABINDEX_ATTRIBUTE="data-readonly-tabindex";_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.Static{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(!document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE)&&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="tabulate";_Class._SELECTORS=["input[type=radio]:not([disabled])"];_Class._DISABLED_ATTRIBUTE="data-tabulate-disabled";return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Static{static activate(name$target){return this._query$targets(name$target).forEach($target=>{if($target.classList.contains(this._ACTIVE_CSS_CLASS)){return}if(this._isTransitioning($target)){return}if(this._activatePrevented($target)){return}$target.classList.add(this._ACTIVE_CSS_CLASS);this._handleActivateEnd($target);if(this._shouldAutoDeactivate($target)){return this._delayDeactivate($target)}})}static deactivate(name$target){return this._query$targets(name$target).forEach($target=>{if(!$target.classList.contains(this._ACTIVE_CSS_CLASS)){return}if(this._isTransitioning($target)){return}if(this._deactivatePrevented($target)){return}$target.classList.remove(this._ACTIVE_CSS_CLASS);return this._handleDeactivateEnd($target)})}static toggle(name$target){return this._query$targets(name$target).forEach($target=>{if($target.classList.contains(this._ACTIVE_CSS_CLASS)){return this.deactivate($target)}else{return this.activate($target)}})}static _onElementAdded($ele){this._handleActivateCancel($ele);this._handleDeactivateCancel($ele);if(this._shouldAutoDeactivate($ele)){return this._delayDeactivate($ele)}}static _shouldAutoDeactivate($target){return $target.hasAttribute(this._AUTO_DEACTIVATE_ATTRIBUTE)}static _delayDeactivate($target){var delay;delay=parseInt($target.getAttribute(this._AUTO_DEACTIVATE_ATTRIBUTE),10);if(!delay){delay=this._AUTO_DEACTIVATE_DURATION}return setTimeout(()=>{if($target){return this.deactivate($target)}},delay)}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 clickEventSelector,self;self=this;clickEventSelector=`[${this._TOGGLE_FOR_ATTRIBUTE}],[${this._TOGGLE_ATTRIBUTE}]`;luda.on(luda._DOC_READY,function(){return luda.$children(self._selector).forEach(function($target){if(self._shouldAutoDeactivate($target)){return self._delayDeactivate($target)}})});return luda.on("click",clickEventSelector,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._TOGGLE_DISABLED_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._TOGGLE_DISABLED_ATTRIBUTE="data-toggle-disabled";_Class._AUTO_DEACTIVATE_ATTRIBUTE="data-toggle-auto-deactivate";_Class._AUTO_DEACTIVATE_DURATION=3e3;_Class._ACTIVE_CSS_CLASS="toggle-active";_Class._SELECTORS=[`[${_Class._TOGGLE_TARGET_ATTRIBUTE}]`];return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Factory{reset(){this._$file.value="";return this._setSimulatorInitialValue()}_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(){if(this._$file.hasAttribute(this.constructor._PLACEHOLDER_ATTRIBUTE)){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)}return this._setSimulatorInitialValue()}_setSimulatorInitialValue(){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()}this._setPlaceholderValue();return this._setSimulatorValue()}}static reset($file){return this.query($file).reset()}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.Factory{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=indexOrIndexArray;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 select($select,indexOrIndexArray){return this.query($select).select(indexOrIndexArray)}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.Factory{activate(index){var action,activatedIndex;if(this._$items.length&&!this._isTransitioning()){activatedIndex=this._activeIndex;if(index!=null&&index!==this._activeIndex&&(0<=index&&index<=this._$items.length-1)&&this._canTransition(index,activatedIndex)){this._activeIndex=index;action=index<activatedIndex?"_slidePrev":"_slideNext";return this[action](activatedIndex)}}}next(){var activatedIndex,index;if(this._$items.length&&!this._isTransitioning()){activatedIndex=this._activeIndex;index=activatedIndex+1;if(index>this._$items.length-1){if(!this._wrap){return}index=0}if(!this._canTransition(index,activatedIndex)){return}this._activeIndex=index;this._slideNext(activatedIndex);this._playTimeStamp=Date.now();return this._pausedRemainTime=this._interval}}prev(){var activatedIndex,index;if(this._$items.length&&!this._isTransitioning()){activatedIndex=this._activeIndex;index=activatedIndex-1;if(index<0){if(!this._wrap){return}index=this._$items.length-1}if(!this._canTransition(index,activatedIndex)){return}this._activeIndex=index;this._slidePrev(activatedIndex);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._intervaling=null;this._playTimeStamp=0;this._pausedRemainTime=this._interval;this._layout();this._handleTransitionCancel();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{$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(activatedIndex){var $activatedItem,$item;if(this._$items.length>1){$item=this._$items[this._activeIndex];$activatedItem=this._$items[activatedIndex];$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);$activatedItem.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS);$activatedItem.classList.add(this.constructor._ITEM_PREV_CSS_CLASS);this._handleTransitionEnd(this._activeIndex,activatedIndex);this._setIndicatorsState();return this._setDirectionControlState()}}_slidePrev(activatedIndex){var $activatedItem,$item;if(this._$items.length>1){$item=this._$items[this._activeIndex];$activatedItem=this._$items[activatedIndex];$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);$activatedItem.classList.remove(this.constructor._ITEM_ACTIVE_CSS_CLASS);$activatedItem.classList.add(this.constructor._ITEM_NEXT_CSS_CLASS);this._handleTransitionEnd(this._activeIndex,activatedIndex);this._setIndicatorsState();return this._setDirectionControlState()}}_canTransition(activeIndex,activatedIndex){return!this._activatePrevented(this._$items[activeIndex],activeIndex)&&!this._deactivatePrevented(this._$items[activatedIndex],activatedIndex)}_handleTransitionEnd(activeIndex,activatedIndex){var activateDuration,deactivateDuration;activateDuration=this._handleActivateEnd(this._$items[activeIndex],activeIndex);return deactivateDuration=this._handleDeactivateEnd(this._$items[activatedIndex],activatedIndex)}_handleTransitionCancel(){var activatedIndex,index;if(this._isActivating()){index=parseInt(this._getActivatingMark(),10);this._handleActivateCancel(this._$items[index],index)}if(this._isDeactivating()){activatedIndex=parseInt(this._getDeactivatingMark(),10);return this._handleDeactivateCancel(this._$items[activatedIndex],activatedIndex)}}_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 activate($carousel,index){return this.query($carousel).activate(index)}static next($carousel){return this.query($carousel).next()}static prev($carousel){return this.query($carousel).prev()}static pause($carousel){return this.query($carousel).pause()}static play($carousel){return this.query($carousel).play()}static _init(){var self;self=this;luda.on("click",this._INDICATORS_SELECTOR,function(e){var instance;instance=self.query(luda.$parent(self._SELECTOR,this));return instance.activate(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._ACTIVATED_INDEX_ATTRIBUTE="data-carousel-activated-index";_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._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.Factory{activate(){var ref;if(this._isActive()||this._isTransitioning()){return}if(this._activatePrevented(this._$menu)){return}this._$component.classList.add(this.constructor._ACTIVE_CSS_CLASS);this.constructor._$focused.push(document.activeElement);if((ref=this._parent)!=null){ref.activate()}return this._handleActivateEnd(this._$menu)}deactivate(focus){var ref;if(!(this._isActive()&&!this._isTransitioning())){return}if(this._deactivatePrevented(this._$menu)){return}this._$component.classList.remove(this.constructor._ACTIVE_CSS_CLASS);this._children.forEach(function(child){return child.deactivate()});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 this._handleDeactivateEnd(this._$menu)}toggle(focus){if(this._isActive()){return this.deactivate(focus)}else{return this.activate()}}_prev(){var focusIndex;if(this._$items.length&&this._isActive()){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._isActive()){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{_$menu:_$menu,_$items:_$items,_$switches:_$switches,_$noneSwitches:_$noneSwitches,_isStandalone:_isStandalone}}_constructor(){this._onMutations();this._handleActivateCancel(this._$menu);return this._handleDeactivateCancel(this._$menu)}_onMutations(mutations){return({_$menu:this._$menu,_$items:this._$items,_$switches:this._$switches,_$noneSwitches:this._$noneSwitches,_isStandalone:this._isStandalone}=this._getConfig())}_isActive(){return this._$component.classList.contains(this.constructor._ACTIVE_CSS_CLASS)}_deactivateChildrenExcept(exceptions){if(exceptions&&!(exceptions instanceof Array)){exceptions=[exceptions]}if(exceptions){return this._children.forEach(function(child){if(child._isActive()&&!exceptions.includes(child)){return child.deactivate()}})}else{return this._children.forEach(function(child){if(child._isActive()){return child.deactivate()}})}}static activate($dropdown){return this.query($dropdown).activate()}static deactivate($dropdown,focus){return this.query($dropdown).deactivate(focus)}static toggle($dropdown,focus){return this.query($dropdown).toggle(focus)}static deactivateExcept(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._isActive()&&instanceIsntInExceptions&&instanceHasntExceptionChild){return instance.deactivate()}})}else{return this._instances.forEach(function(instance){if(instance._isActive()){return instance.deactivate()}})}}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.deactivateExcept(self._standaloneInstances())});luda.on("click",this._SELECTOR,function(e){var focus,instance,toggleChecked;if(instance=self.query(this)){toggleChecked=false;focus=!e.detail;self.deactivateExcept(self._standaloneInstances().concat(instance));instance._deactivateChildrenExcept();if(instance._parent){instance._parent._deactivateChildrenExcept(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.deactivateExcept()});luda.on("keyup",this._SELECTOR,function(e){var instance;if(e.keyCode===luda.KEY_TAB&&(instance=self.query(this))){self.deactivateExcept(instance);return instance.activate()}});luda.on("keydown",this._SELECTOR,function(e){var instance,ref;if(e.keyCode===luda.KEY_ESC&&(instance=self.query(this))){e.preventDefault();if(instance._isActive()){return instance.deactivate(true)}else{return(ref=instance._parent)!=null?ref.deactivate(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._isActive()){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._isActive()){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._TOGGLE_DISABLED_ATTRIBUTE="data-dropdown-toggle-disabled";_Class._STANDALONE_ATTRIBUTE="data-dropdown-standalone";_Class._SWITCHES_SELECTOR=`[${_Class._TOGGLE_ATTRIBUTE}]`;_Class._NONE_SWITCHES_SELECTOR=`[${_Class._TOGGLE_DISABLED_ATTRIBUTE}]`;_Class._ACTIVE_CSS_CLASS="dropdown-active";_Class._observerConfig={childList:true,attributes:true,subtree:true,attributeFilter:[_Class._TOGGLE_ATTRIBUTE,_Class._TOGGLE_DISABLED_ATTRIBUTE,_Class._STANDALONE_ATTRIBUTE]};_Class._$focused=[];return _Class}.call(this));luda(function(){var _Class;_Class=class extends luda.Factory{_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.enter._add(this._ENTER_BEHAVIOR_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_BEHAVIOR_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_BEHAVIOR_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.Factory{activate(index){var activatedIndex;if(this._$panes.length&&!this._isTransitioning()){activatedIndex=this._activeIndex;if(index!=null&&index!==this._activeIndex&&(0<=index&&index<=this._$panes.length-1)){if(!this._canTransition(index,activatedIndex)){return}this._activeIndex=index;return this._activate(activatedIndex)}}}_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());this._layout();return this._handleTransitionCancel()}_onMutations(mutations){({_$panes:this._$panes,_$indicators:this._$indicators,_activeIndex:this._activeIndex}=this._getConfig());return this._setIndicatorsState()}_layout(){this._$panes.forEach(($pane,index)=>{$pane.style.transition="none";if(index===this._activeIndex){$pane.classList.add(this.constructor._PANE_ACTIVE_CSS_CLASS)}else{$pane.classList.remove(this.constructor._PANE_ACTIVE_CSS_CLASS)}luda.reflow($pane);return $pane.style.transition=""});return this._setIndicatorsState()}_activate(activatedIndex){var $activatedPane,$pane;$pane=this._$panes[this._activeIndex];$activatedPane=this._$panes[activatedIndex];$pane.classList.add(this.constructor._PANE_ACTIVE_CSS_CLASS);$activatedPane.classList.remove(this.constructor._PANE_ACTIVE_CSS_CLASS);this._handleTransitionEnd(this._activeIndex,activatedIndex);return this._setIndicatorsState()}_canTransition(activeIndex,activatedIndex){return!this._activatePrevented(this._$panes[activeIndex],activeIndex)&&!this._deactivatePrevented(this._$panes[activatedIndex],activatedIndex)}_handleTransitionEnd(activeIndex,activatedIndex){var activateDuration,deactivateDuration;activateDuration=this._handleActivateEnd(this._$panes[activeIndex],activeIndex);return deactivateDuration=this._handleDeactivateEnd(this._$panes[activatedIndex],activatedIndex)}_handleTransitionCancel(){var activatedIndex,index;if(this._isActivating()){index=parseInt(this._getActivatingMark(),10);this._handleActivateCancel(this._$panes[index],index)}if(this._isDeactivating()){activatedIndex=parseInt(this._getDeactivatingMark(),10);return this._handleDeactivateCancel(this._$panes[activatedIndex],activatedIndex)}}_setIndicatorsState(){return this._$indicators.forEach(($indicator,index)=>{if(index===this._activeIndex){$indicator.setAttribute("checked","");return $indicator.checked=true}else{$indicator.removeAttribute("checked");return $indicator.checked=false}})}static activate($tab,index){return this.query($tab).activate(index)}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));instance._setIndicatorsState();return instance.activate(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._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 Type={isArray:Array.isArray,isString:function(x){return typeof x==="string"},isFunction:function(x){return typeof x==="function"},isObject:function(x){return typeof x==="object"},isBool:function(x){return typeof x==="boolean"},isNumeric:function(x){return!isNaN(parseFloat(x))&&isFinite(x)},isDecimalism:function(x){return/^\d*\.?\d+$/.test(x&&!/^0+\d+\.?/.test(x))},isId:function(x){return/^#[\w-]*$/.test(x)},isClass:function(x){return/^\.[\w-]*$/.test(x)},isTag:function(x){return/^\w+$/.test(x)},isSingleTag:function(x){return/^\s*<(\w+)\s*\/?>(?:<\/\1>)?\s*$/.test(x)},isHtml:function(x){return/<.+>/.test(x)},isScript:function(x){return x.tagName==="SCRIPT"&&/^$|^module$|\/(?:java|ecma)script/i.test(x.type)},isFragment:function(x){return/^\s*<(\w+)[^>]*>/.test(x)},isWindow:function(x){return x&&x===window},isDocument:function(x){return x&&x.nodeType===9},isElement:function(x){return x&&x.nodeType===1}};function createMounter(target,messagePrefix,handler){var mount;return mount=function(name,val){var msg,n,v;if(Type.isString(name)){if(name in target){msg=`Namespace '${name}' is occupied, `;msg+=`skip ${messagePrefix||"mounting"}.`;console.warn(msg)}else{target[name]=handler?handler(name,val):val}}else{for(n in name){v=name[n];mount(n,v)}}return this}}var getEnv;getEnv=function(){if(typeof document!=="undefined"){if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}}throw new Error("Unsupported environment!")};var environment=getEnv();function find(selector,ctx=document){if(!(Type.isDocument(ctx)||Type.isElement(ctx))){return[]}return Array.from(function(){switch(false){case!Type.isClass(selector):return ctx.getElementsByClassName(selector.slice(1));case!Type.isTag(selector):return ctx.getElementsByTagName(selector);default:return ctx.querySelectorAll(selector)}}())}var containers,containersMap;containersMap=null;containers=function(type){var div,table,tr;if(containersMap){return containersMap[type]||containersMap["*"]}div=document.createElement("div");table=document.createElement("table");tr=document.createElement("tr");containersMap={"*":div,thead:table,tbody:table,tfoot:table,tr:document.createElement("tbody"),th:tr,td:tr};return containers(type)};function parseHTML(html){var container;if(!Type.isString(html)){return[]}if(Type.isSingleTag(html)){return[document.createElement(RegExp.$1)]}container=containers(Type.isFragment(html&&RegExp.$1));container.innerHTML=html;return Array.from(container.childNodes).map(function(node){if(node.parentNode){return node.parentNode.removeChild(node)}})}var Luda,luda$1;Luda=class Luda{constructor(selector,ctx=document){this.els=[];this.length=0;if(!selector){return}if(selector instanceof Luda){return selector}this.els=function(){switch(false){case!Type.isString(selector):if(Type.isHtml(selector)){return parseHTML(selector)}else{if(ctx instanceof Luda){ctx=ctx.els[0]}return find(selector,ctx)}break;case!(selector.nodeType||Type.isWindow(selector)):return[selector];case!Type.isArray(selector):return selector;default:return Array.from(selector)}}();this.length=this.els.length}};if(!(luda$1=environment.luda)){environment.luda=luda$1=function(selector,ctx){return new Luda(selector,ctx)};luda$1.include=createMounter(Luda.prototype,"including");luda$1.extend=createMounter(luda$1,"extending")}var ValuesMap={false:false,true:true,Infinity:Infinity,NaN:0/0,null:void 0,undefined:void 0};function readValue(value){if(value===null||value==="null"){return}if(!Type.isString(value)){return value}try{return JSON.parse(value)}catch(error){if(Type.isDecimalism(value)){return Number(value)}else if(value in ValuesMap){return ValuesMap[value]}else{return value}}}function parseValue(value){if(!Type.isObject(value)){return value}try{return JSON.stringify(value)}catch(error){return value}}function splitValues(str){if(Type.isString(str)){return str.match(/\S+/g)||[]}else{return[]}}luda$1.include({each:function(callback){this.els.some(function(el,index){return callback.call(el,el,index)===false});return this}});luda$1.include({removeAttr:function(attr){var attrs;attrs=splitValues(attr);if(!attrs.length){return this}this.els.forEach(function(el){return attrs.forEach(function(att){return el.removeAttribute(att)})});return this}});luda$1.include({attr:function(attr,value){var key,val;if(!attr){return}if(Type.isString(attr)){if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeAttr(attr)}this.els.forEach(function(el){return el.setAttribute(attr,parseValue(value))});return this}if(!this.els[0]){return}return readValue(this.els[0].getAttribute(attr))}for(key in attr){val=attr[key];this.attr(key,val)}return this}});luda$1.include({hasAttr:function(attr){if(!attr){return false}return this.els.some(function(el){return el.hasAttribute(attr)})}});var pattern,replacer;pattern=/-([a-z])/g;replacer=function(match,letter){return letter.toUpperCase()};function camelCase(str){return str.replace(pattern,replacer)}var pattern$1,replacer$1;pattern$1=/([A-Z])/g;replacer$1=function(match,letter){return`-${letter.toLowerCase()}`};function dashCase(str){return`${str[0].toLowerCase()}${str.slice(1).replace(pattern$1,replacer$1)}`}var guid;guid=0;function guid$1(){return guid+=1}function pluck(arr,prop,deep){var plucked;plucked=[];arr.forEach(function(item){var results,val;val=item[prop];results=[];while(val!==null){plucked.push(val);if(!deep){break}results.push(val=val[prop])}return results});return plucked}function unique(arr){if(!(arr.length>1)){return arr}return arr.filter(function(item,index){return arr.indexOf(item)===index})}["isString","isFunction","isArray","isObject","isBool","isNumeric","isDecimalism","isElement"].forEach(function(key){return luda$1.extend(key,Type[key])});luda$1.extend({camelCase:camelCase,dashCase:dashCase,guid:guid$1,pluck:pluck,unique:unique});var _cache,cache,cacheFactory,privateCache,publicCache;publicCache={};privateCache={};cacheFactory=function(cache){return function(guid,key,value){if(!guid){return cache}if(key===null){return delete cache[guid]}else if(value===null){if(!(guid in cache)){return}delete cache[guid][key];if(!Object.keys(cache[guid]).length){return delete cache[guid]}}else if(value===void 0){if(key===void 0){return cache[guid]}if(Type.isObject(key)){return cache[guid]=key}if(!(guid in cache)){return}return cache[guid][key]}else{if(key===void 0){return}cache[guid]||(cache[guid]={});return cache[guid][key]=value}}};cache=cacheFactory(publicCache);_cache=cacheFactory(privateCache);var expando="__luda_guid";var _access,access,accessFactory,clean;accessFactory=function(c){return function(owner,key,value){var uid;if(!arguments.length){return c()}uid=owner[expando]||(owner[expando]=guid$1());return c(uid,key,value)}};access=accessFactory(cache);_access=accessFactory(_cache);clean=function(owner){if(owner[expando]){_access(owner,null);return access(owner,null)}};luda$1.include({removeCache:function(key){var keys;if(arguments.length){keys=splitValues(key).map(function(k){return camelCase(k)});if(!keys.length){return this}this.els.forEach(function(el){return keys.forEach(function(k){return access(el,k,null)})})}else{this.els.forEach(function(el){return access(el,null)})}return this}});luda$1.extend({cache:function(isPrivate){if(isPrivate){return _access()}else{return access()}}});luda$1.include({cache:function(key,value){var k,v;if(!key){if(!this.els[0]){return}return access(this.els[0])||access(this.els[0],{})}if(Type.isString(key)){key=camelCase(key);if(arguments.length<2){if(!this.els[0]){return}if(!access(this.els[0])){access(this.els[0],{})}return access(this.els[0],key)}if(value===void 0){return this}if(value===null){return this.removeCache(key)}this.els.forEach(function(el){if(!access(el)){access(el,{})}return access(el,key,value)});return this}for(k in key){v=key[k];this.cache(k,v)}return this}});var parse,pattern$2;pattern$2=/^\./;parse=function(cls){if(Type.isString(cls)){return cls.replace(pattern$2,"")}else{return cls}};var parseClass=parse;luda$1.include({toggleClass:function(cls,force){var classes,isForce;classes=splitValues(cls);isForce=force!==void 0;if(!classes.length){return this}classes=classes.map(function(c){return parseClass(c)});this.els.forEach(function(el){return classes.forEach(function(c){if(isForce){if(force){return el.classList.add(c)}else{return el.classList.remove(c)}}else{return el.classList.toggle(c)}})});return this}});luda$1.include({addClass:function(cls){return this.toggleClass(cls,true)}});luda$1.include({hasClass:function(cls){if(!cls){return false}cls=parseClass(cls);return this.els.some(function(el){return el.classList.contains(cls)})}});luda$1.include({removeClass:function(cls){if(arguments.length){return this.toggleClass(cls,false)}else{return this.attr("class","")}}});luda$1.include({add:function(selector,context){return luda$1(unique(this.els.concat(luda$1(selector,context).els)))}});luda$1.include({get:function(index){if(index===void 0){return this.els}return this.els[index<0?index+this.els.length:index]}});luda$1.include({eq:function(index){return luda$1(this.get(index))}});function matches(el,selector){return el&&el.matches&&el.matches(selector)}function collect(els,comparator,oppsite){if(!comparator||!(els!=null?els.length:void 0)){return els}return els.filter(function(el,index){var match;match=function(){switch(false){case!Type.isString(comparator):return matches(el,comparator);case!Type.isFunction(comparator):return comparator.call(el,el,index);case!(comparator instanceof Luda):return comparator.els.includes(el);default:return el===comparator}}();if(oppsite){return!match}else{return match}})}luda$1.include({filter:function(comparator){if(!comparator){return luda$1()}return luda$1(collect(this.els,comparator))}});luda$1.include({first:function(){return this.eq(0)}});luda$1.include({has:function(selector){var comparator;if(Type.isString(selector)){comparator=function(el){return find(selector,el).length>0}}else{comparator=function(el){return el.contains(selector)}}return this.filter(comparator)}});luda$1.include({children:function(comparator){var all;all=[];this.els.forEach(function(el){return[].push.apply(all,el.children)});return luda$1(collect(unique(all),comparator))}});luda$1.include({parent:function(comparator){var parents;if(!comparator){return luda$1(unique(pluck(this.els,"parentNode")))}parents=[];this.els.forEach(function(el){var matched,parent;while(parent=el.parentNode){matched=collect([parent],comparator)[0];if(matched){return parents.push(matched)}el=parent}});return luda$1(unique(parents))}});luda$1.include({index:function(selector){var child,collection;child=selector?luda$1(selector).els[0]:this.els[0];collection=selector?this.els:luda$1(child).parent().children().els;return collection.indexOf(child)}});luda$1.include({is:function(comparator){if(!comparator||!this.els.length){return false}return collect(this.els,comparator).length>0}});luda$1.include({last:function(){return this.eq(-1)}});luda$1.include({map:function(callback){var collection;collection=this.els.map(function(el,index){return callback.call(el,el,index)});return luda$1(collection)}});luda$1.include({not:function(comparator){if(!comparator||!this.els.length){return this}return luda$1(collect(this.els,comparator,true))}});luda$1.include({slice:function(){return luda$1([].slice.apply(this.els,arguments))}});luda$1.extend({ready:function(callback){var handler;if(document.readyState==="loading"){handler=function(){callback(luda$1);return document.removeEventListener("DOMContentLoaded",handler)};document.addEventListener("DOMContentLoaded",handler)}else{handler=function(){return callback(luda$1)};setTimeout(handler)}return this}});function findAll(selector,ctx){var all;all=find(selector,ctx);if(matches(ctx,selector)){all.push(ctx)}return all}var Components,autoCreateAndDestroy,autoable,config,disAutoSelector,observer;disAutoSelector="[data-auto=false]";Components=[];observer=null;config={childList:true,subtree:true,attributes:true};autoCreateAndDestroy=function(Component){if(Components.includes(Component)){return}Components.push(Component);if(observer){return}observer=new MutationObserver(function(mus){var attrNodes,nodes;nodes=[];attrNodes=[];mus.forEach(function(mu){nodes=nodes.concat(Array.from(mu.addedNodes)).concat(Array.from(mu.removedNodes));if(mu.type==="attributes"){return attrNodes.push(mu.target)}});nodes=unique(nodes);attrNodes=unique(attrNodes);return Components.forEach(function(C){var els;els=[];nodes.forEach(function(node){return els=els.concat(findAll(C.root,node))});unique(els).forEach(function(el){if(matches(el,disAutoSelector)){return}if(document.contains(el)){return C.create(el)}else{return C.destroy(el)}});return attrNodes.forEach(function(el){if(matches(el,disAutoSelector)){return}if(matches(el,C.root)){return C.create(el)}else if(C.instances[el[expando]]){return C.destroy(el)}})})});observer.observe(document,config);return _access(document,"ComponentsAutomation",{Components:Components,watcher:observer})};autoable=function(selector){return`${selector}:not(${disAutoSelector})`};var print;print=function(msg,style){if(Type.isString(msg)){return console.log(`%c${msg}`,style)}return console.log(msg)};var print$1=print;var active,factory,infoStyle,prvLabelStyle,pubLabelStyle;active=false;pubLabelStyle="color:#0085ff;font-weight:bold";prvLabelStyle="color:#f8427f;font-weight:bold";infoStyle="color:#383838;font-weight:bold";factory=function(style,label){var log;return log=function(){var msg,time;if(!arguments.length){return active}if(arguments.length===1&&Type.isBool(arguments[0])){active=arguments[0];msg=`Luda log ${active?"opened":"closed"}.`;return log(msg)}if(!active){return}time=Date.now();print$1(`\n\n\n${label}LOG ${guid$1()} ${time}`,style.label);return Array.from(arguments).forEach(function(arg){return print$1(arg,style.info)})}};luda$1.extend("log",factory({info:infoStyle,label:pubLabelStyle},""));var log=factory({info:infoStyle,label:prvLabelStyle},"LUDA ");function eventPath(event){if(event.composedPath){return event.composedPath()}else if(event.path){return event.path}else{return[event.target].concat(pluck([event.target],"parentNode",true))}}var LudaEvent;LudaEvent=class LudaEvent{constructor(event){this.originalEvent=event}isDefaultPrevented(){return this.originalEvent.defaultPrevented}isPropagationStopped(){return!this.originalEvent.bubbles||this._propagationStopped}isImmediatePropagationStopped(){return this._immediatePropagationStopped}preventDefault(){return this.originalEvent.preventDefault()}stopPropagation(){this.originalEvent.stopPropagation();return this._propagationStopped=true}stopImmediatePropagation(){this.originalEvent.stopImmediatePropagation();return this._immediatePropagationStopped=true}eventPath(){return eventPath(this.originalEvent)}};function ludaEvent(event){var ludaEvent;ludaEvent=new LudaEvent(event);return new Proxy(ludaEvent,{get:function(target,key){if(key in target){return target[key]}else{return target.originalEvent[key]}}})}function nMatches(definedNamespace,namespace){return namespace.every(function(n){return definedNamespace.includes(n)})}var Variables={expando:"event",focusEvents:{focus:"focusin",blur:"focusout"},hoverEvents:{mouseenter:"mouseover",mouseleave:"mouseout"},swipeEvents:{left:"swipeleft",right:"swiperight",up:"swipeup",down:"swipedown"},swipeDistance:10,keyCodes:{enter:13,tab:9,ctrl:17,alt:18,shift:16,esc:27,back:8,space:32,cap:20,up:38,down:40,left:37,right:39,del:46,end:35,home:36,ins:45,pgUp:33,pgDown:34}};function parseEventName(name){var keysRe,preventRe,stopRe;stopRe=/(&stop)+/gi;preventRe=/(&prevent)+/gi;keysRe=new RegExp(`@(${Object.keys(Variables.keyCodes).join("|")})`,"g");return splitValues(name).map(function(n){var evtName,keyCodes,matchedKeys,preventDefault,splited,stopPropagation,type;stopPropagation=stopRe.test(n);preventDefault=preventRe.test(n);splited=n.replace(stopRe,"").replace(preventRe,"").replace(keysRe,"").split(".");evtName=splited[0];type=Variables.focusEvents[evtName]||Variables.hoverEvents[evtName]||evtName;keyCodes=[];matchedKeys=n.match(keysRe);matchedKeys&&matchedKeys.forEach(function(key){var k,keyCode;k=key.replace(/@/g,"");if(keyCode=Variables.keyCodes[k]){return keyCodes.push(keyCode)}});return{type:type,stop:stopPropagation,prevent:preventDefault,namespace:splited.slice(1),key:keyCodes}})}luda$1.include({trigger:function(name,detail,afterTrigger){var handledEvts;if(afterTrigger&&!Type.isFunction(afterTrigger)){handledEvts=[]}this.els.forEach(function(el){var events;if(Type.isString(name)){events=parseEventName(name).map(function(evt){var event;event=new CustomEvent(evt.type,{bubbles:true,cancelable:true,composed:true,detail:detail});event.namespace=evt.namespace;return event})}else{events=Type.isArray(name)?name:[name]}return events.forEach(function(e){var isFocusEvent;e.ludaEvent=ludaEvent(e);isFocusEvent=Object.values(Variables.focusEvents).includes(e.type);if(isFocusEvent&&Type.isFunction(el[e.type])){el[e.type]()}else{el.dispatchEvent(e)}if(Type.isFunction(afterTrigger)){return afterTrigger(e.ludaEvent,e.ludaEvent.detail,el)}else if(afterTrigger){return handledEvts.push(e.ludaEvent)}})});return handledEvts||this}});var createEvent,startX,startY,touchMoveHandler,touchStartHandler,triggered;startX=startY=0/0;triggered=false;touchStartHandler=function(e){if(e.defaultPrevented){return}if(e.touches.length!==1){return}startX=e.touches[0].screenX;startY=e.touches[0].screenY;return triggered=false};touchMoveHandler=function(e){var direction,endX,endY,xMoved,yMoved;if(e.defaultPrevented){return}if(e.touches.length!==1){return}if(triggered){return}endX=e.touches[0].screenX;xMoved=endX-startX;if(Math.abs(xMoved)>=Variables.swipeDistance){triggered=true;direction=xMoved>0?"right":"left";return luda$1(e.target).trigger(createEvent(direction,startX,endX,xMoved))}endY=e.touches[0].screenY;yMoved=endY-startY;if(Math.abs(yMoved)>=Variables.swipeDistance){triggered=true;direction=yMoved>0?"down":"up";return luda$1(e.target).trigger(createEvent(direction,startY,endY,yMoved))}};createEvent=function(direction,start,end,moved){var event;event=new CustomEvent(Variables.swipeEvents[direction],{bubbles:true,cancelable:true,composed:true});event.start=start;event.end=end;event.distance=Math.abs(moved);return event};var swipeEvent={add:function(el){el.addEventListener("touchstart",touchStartHandler);return el.addEventListener("touchmove",touchMoveHandler)},remove:function(el){el.removeEventListener("touchstart",touchStartHandler);return el.removeEventListener("touchmove",touchMoveHandler)}};var removeEvent;var removeEvent$1=removeEvent=function(el,type,selector,callback,namespace){var evtCache,length,swipeTypes,typeCache;evtCache=_access(el,Variables.expando);if(!evtCache){return}if(!type){for(type in evtCache){typeCache=evtCache[type];removeEvent(el,type,selector,callback,namespace)}}else if(type!=="handler"&&(typeCache=evtCache[type])){typeCache.quene||(typeCache.quene=[]);typeCache.quene=typeCache.quene.filter(function(item){if(callback&&callback!==item.callback){return true}if(selector&&selector!==item.selector){return true}if(namespace&&!nMatches(item.namespace,namespace)){return true}});if(!typeCache.quene.length&&typeCache.binded&&evtCache.handler){el.removeEventListener(type,evtCache.handler);delete evtCache[type]}swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)&&swipeTypes.every(function(t){return!evtCache[t]})){swipeEvent.remove(el)}}length=Object.keys(evtCache).length;if(!length||length===1&&"handler"in evtCache){return _access(el,Variables.expando,null)}};var addEvent;addEvent=function(el,type,selector,callback,namespace,kc,stop,prevent,_one){var evtCache,expando,handler,quene,swipeBinded,swipeTypes,typeCache;if(type==="handler"){throw new Error("handler cannot be used as event type")}expando=Variables.expando;evtCache=_access(el,expando)||_access(el,expando,{});typeCache=evtCache[type]||(evtCache[type]={});quene=typeCache.quene||(typeCache.quene=[]);quene.push({selector:selector,callback:callback,namespace:namespace,key:kc,stop:stop,prevent:prevent,one:_one});handler=evtCache.handler||(evtCache.handler=function(event){var cached,collection,eType,self;self=this;cached=_access(self,Variables.expando);eType=event.type;if(!(cached&&cached[eType])){return}collection=eventPath(event);collection=collection.slice(0,collection.indexOf(self)+1);event=event.ludaEvent||ludaEvent(event);return collection.every(function(node){cached[eType].quene.every(function(it){var returnValue;if((selector=it.selector)&&matches(node,selector)||!it.selector&&node===self){if(event.namespace&&!nMatches(it.namespace,event.namespace)){return true}if(event.keyCode&&it.key.length&&!it.key.includes(event.keyCode)){return true}event.currentTarget=node;returnValue=it.callback.call(node,event,event.detail);if(it.one){removeEvent$1(self,eType,it.selector,it.callback,it.namespace)}if(it.stop||returnValue===false){event.stopPropagation()}if(it.prevent||returnValue===false){event.preventDefault()}}return!event.isImmediatePropagationStopped()});return!event.isPropagationStopped()})});swipeTypes=Object.values(Variables.swipeEvents);if(swipeTypes.includes(type)){swipeBinded=swipeTypes.some(function(type){var ref;return(ref=evtCache[type])!=null?ref.binded:void 0});if(!swipeBinded){swipeEvent.add(el)}}if(!typeCache.binded){typeCache.binded=true;return el.addEventListener(type,handler)}};var addEvent$1=addEvent;luda$1.include({on:function(name,selector,callback,_one){var key,keyCallback,self;self=this;if(!Type.isString(name)){for(key in name){keyCallback=name[key];this.on(key,selector,keyCallback)}return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return addEvent$1(el,option.type,selector,callback,option.namespace,option.key,option.stop,option.prevent,_one)})});return this}});luda$1.include({off:function(name,selector,callback){var self;self=this;if(name===void 0){this.els.forEach(function(el){return removeEvent$1(el)});return this}if(Type.isFunction(selector)){callback=selector;selector=""}parseEventName(name).forEach(function(option){return self.els.forEach(function(el){return removeEvent$1(el,option.type,selector,callback,option.namespace)})});return this}});var addEvents,findRoot,isntPropagation,namespace,removeEvents;namespace=function(C){return`.${C.id}`};findRoot=function(C,event){var rootEl;if(Type.isDocument(C.root)){return C.root}rootEl=null;event.eventPath().some(function(el){if(!matches(el,C.root)){return}return rootEl=el});return rootEl};isntPropagation=function(C,event,rootEl){if(Type.isDocument(C.root)){return true}if(event.currentTarget===rootEl){return true}return luda$1(event.currentTarget).parent(C.root).els[0]===rootEl};addEvents=function(C){var events;events=C.helpers.listen.call(C.prototype);return events.forEach(function(evt){var callbacks,evtSelector,name,selector;if(!evt[0]){return}name=`${evt[0]}${namespace(C)}`;selector=Type.isFunction(evt[1])?"":evt[1];callbacks=Type.isFunction(evt[1])?evt.slice(1):evt.slice(2);evtSelector=selector;return callbacks.forEach(function(callback){var handler;if(!Type.isFunction(callback)){return}if(Object.values(C.prototype).includes(callback)){if(Type.isString(C.root)&&selector.replace(C.root,"")===selector){evtSelector=selector?`${C.root} ${selector}`:C.root}handler=function(event,data){var rootEl;if(!(rootEl=findRoot(C,event))){return}if(!isntPropagation(C,event,rootEl)){return}return callback.call(C.create(rootEl)[0],event,data)}}else{handler=function(event,data){return callback.call(this,event,data)}}return luda$1(document).on(name,evtSelector,handler)})})};removeEvents=function(C){return luda$1(document).off(namespace(C))};luda$1.include({parents:function(comparator){return luda$1(collect(unique(pluck(this.els,"parentElement",true)),comparator))}});function unnested(instance,els){var rootEl,rootSelector;rootEl=instance.root.els[0];rootSelector=instance.constructor.root;return els.filter(function(el){var rootParent;if(el===rootEl){return true}if(matches(el,rootSelector)){return false}rootParent=luda$1(el).parent(rootSelector).els[0];if(document.contains(el)){return rootParent===rootEl}else{return!rootParent}})}var addTraversal,cleanTraversal,createGetter;createGetter=function(C,name,selector,nestable,cacheable){return Object.defineProperty(C.prototype,name,{get:function(){var cache,collection,matched,rootEl;if(!selector){return luda$1()}if(selector instanceof Luda){return selector}if(Type.isFunction(selector)){return selector.call(this)}if(!Type.isString(selector)){return luda$1(selector)}if(!(rootEl=this.root.els[0])){return luda$1()}cacheable&&(cache=C.instances[this.id].traversal);if(cache&&name in cache){return cache[name]}matched=luda$1(selector,rootEl).els;!nestable&&(matched=unnested(this,matched));collection=luda$1(unique(matched));if(!cache){return collection}if(collection.length){return cache[name]=collection}else{return collection}}})};addTraversal=function(C){var cacheable,msg,name,nestable,selector,traversals;traversals=C.helpers.find.call(C.prototype);nestable=Type.isDocument(C.root);cacheable=Type.isString(C.root);for(name in traversals){selector=traversals[name];if(name in C.prototype){msg=`'${name}' was defined on prototype`;msg=`${msg}, skip adding traversal getter.`;console.warn(msg)}else{createGetter(C,name,selector,nestable,cacheable)}}return cacheable&&(C.prototype.cleanTraversal=function(name){var cached,traversal;if(!(cached=this.constructor.instances[this.id])){return}if(!(traversal=cached.traversal)){return}return cleanTraversal(traversal,name)})};cleanTraversal=function(cache,name){var names;if(!cache){return}if(!Type.isString(name)){name=""}names=name?splitValues(name):Object.keys(cache);return names.forEach(function(n){return delete cache[n]})};var config$1,createObserver,cur,executeMutations,findSameMutation,nodesEqual,runAttrCallbacks,runDomCallbacks,stopWatch,watch;config$1={childList:true,subtree:true,attributes:true,attributeOldValue:true};cur=function(ins,callback,target){var isInProto,proto;proto=ins.constructor.prototype;isInProto=Object.values(proto).includes(callback);if(isInProto){return ins}else{return target}};runDomCallbacks=function(type,mutation,watches,nestable){var C,ins,mu,nodes;ins=mutation.ins;C=ins.constructor;mu=mutation.mu;nodes=Array.from(mu[`${type}Nodes`]);return watches.dom.forEach(function(dom){var els;els=[];nodes.forEach(function(n){return els=els.concat(findAll(dom.selector,n))});if(!els.length){return}!nestable&&(els=unnested(ins,unique(els)));return els.length&&dom.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,els);if(callback!==C.prototype.cleanTraversal){log(`${C.id} ID: ${ins.id} executes nodes ${type} callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],`Nodes ${type}`,els,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[els,type])}return callback.call(ctx,els,type)})})};runAttrCallbacks=function(mutation,watches,nestable){var C,ins,mu,name,oldVal,target;ins=mutation.ins;mu=mutation.mu;C=ins.constructor;name=mu.attributeName;target=mu.target;oldVal=mu.oldValue;return name&&watches.attr.forEach(function(attr){if(name!==attr.name){return}if(!matches(target,attr.selector)){return}if(!nestable&&!unnested(ins,[target]).length){return}return attr.callbacks.forEach(function(callback){var ctx;ctx=cur(ins,callback,target);log(`${C.id} ID: ${ins.id} executes ${name} changed callback.`,"Root element",ins.root.els[0],"Cache",C.instances[ins.id],"Changed target",target,`Callback ${callback.name||""}`,callback,"Context",ctx,"Arguments",[target,oldVal]);return callback.call(ctx,target,oldVal)})})};executeMutations=function(C,mutations,nestable){return mutations.forEach(function(mutation){runDomCallbacks("added",mutation,C.watches,nestable);runDomCallbacks("removed",mutation,C.watches,nestable);return runAttrCallbacks(mutation,C.watches,nestable)})};nodesEqual=function(nodesOne,nodesTwo){var itemsOne,itemsTwo;if(nodesOne.length!==nodesTwo.length){return false}if(nodesOne.length===0&&nodesTwo.length===0){return true}itemsOne=Array.from(nodesOne);itemsTwo=Array.from(nodesTwo);return!itemsOne.some(function(node,index){return node!==itemsTwo[index]})};findSameMutation=function(mutations,mu){var theSameMutation;theSameMutation=null;mutations.some(function(mutation){if(mu===mutation.mu){return theSameMutation=mutation}if(mu.type!==mutation.mu.type){return}if(mu.target!==mutation.mu.target){return}if(mu.attributeName!==mutation.mu.attributeName){return}if(mu.oldValue!==mutation.mu.oldValue){return}if(!nodesEqual(mu.addedNodes,mutation.mu.addedNodes)){return}if(!nodesEqual(mu.removedNodes,mutation.mu.removedNodes)){return}return theSameMutation=mutation});return theSameMutation};createObserver=function(C,instance){var inses,nestable,observer,rootEl;inses=C.instances;rootEl=instance.root.els[0];nestable=Type.isDocument(C.root);observer=new MutationObserver(function(mus){var mutations;mutations=mus.map(function(mu){return{ins:instance,mu:mu}});!nestable&&find(C.root,rootEl).forEach(function(el){var cached,ins,watcher;if(!(cached=inses[el[expando]])){return}if(!(ins=cached.instance)){return}if(!(watcher=cached.watcher)){return}return watcher.takeRecords().forEach(function(mu){var nestedMutation;nestedMutation=findSameMutation(mutations,mu);if(nestedMutation){return nestedMutation.ins=ins}})});return executeMutations(C,mutations,nestable)});observer.observe(rootEl,config$1);return observer};watch=function(C,ins){var conf;if(!C.watches){conf=C.helpers.watch.call(C.prototype);C.watches={dom:(conf.dom||[]).map(function(d){return{selector:Type.isFunction(d[0])?"*":d[0],callbacks:Type.isFunction(d[0])?d:d.slice(1)}}),attr:(conf.attr||[]).map(function(a){return{name:a[0],selector:Type.isFunction(a[1])?"*":a[1],callbacks:Type.isFunction(a[1])?a.slice(1):a.slice(2)}})}}return createObserver(C,ins)};stopWatch=function(ins,watcher){return watcher.disconnect()};var Base;Base=function(){class Base{constructor(root){var C,create,definedWatch,find,inses,listen,proto,rootEl,traversal,watcher;C=this.constructor;proto=C.prototype;inses=C.instances;if(!(Type.isString(C.root)||Type.isDocument(C.root))){throw new Error("Component root can only be selectors or document")}if(root instanceof C){return root}if(Type.isDocument(C.root)){root=C.root}this.root=luda$1(root);if(!(rootEl=this.root.els[0])){return}if(this.root.length>1){this.root=luda$1(rootEl)}this.id=rootEl[expando]||(rootEl[expando]=guid$1());if(this.id in inses){return inses[this.id].instance}if((listen=C.helpers.listen)&&!C.eventsBinded){addEvents(C);C.eventsBinded=true}if((find=C.helpers.find)&&!C.traversalAdded){addTraversal(C);C.traversalAdded=true}if(proto.cleanTraversal){traversal={}}if(traversal&&!C.watches){if(definedWatch=C.helpers.watch){C.helpers.watch=function(){var watches;watches=definedWatch.call(this);watches.dom||(watches.dom=[]);watches.dom.unshift([proto.cleanTraversal]);return watches}}else{C.helpers.watch=function(){return{dom:[[proto.cleanTraversal]]}}}}if(C.helpers.watch){watcher=watch(C,this)}inses[this.id]={instance:this,traversal:traversal,watcher:watcher};_access(rootEl,C.id,inses[this.id]);if(create=C.helpers.create){create.call(this)}log(`${C.id} ID: ${this.id} created.`,"Root element",rootEl,"Cache",inses[this.id])}static create(selector,ctx){var C;C=this;if(Type.isDocument(this.root)||!selector){selector=this.root}return luda$1(selector,ctx).els.map(function(el){return new C(el)})}static destroy(selector,ctx){var C,hasInstances,inses;C=this;inses=this.instances;if(Type.isDocument(this.root)||!selector){selector=this.root}luda$1(selector,ctx).els.forEach(function(rootEl){var destroy,id,instance,watcher;if(!(id=rootEl[expando])){return}if(!(id in inses)){return}instance=inses[id].instance;watcher=inses[id].watcher;if(destroy=C.helpers.destroy){destroy.call(instance)}if(watcher){stopWatch(instance,watcher)}delete inses[id];_access(rootEl,C.id,null);return log(`${C.id} ID: ${id} destroied.`,"Root element",rootEl,"Cache",inses[id])});hasInstances=Object.keys(inses).length;if(!hasInstances&&C.eventsBinded){removeEvents(C);C.eventsBinded=false}return this}static help(key,val){this.help=createMounter(this.helpers,"helping");return this.help(key,val)}static include(key,val){var C,fn;C=this;fn=function(name,value){C.included.push(name);return value};this.include=createMounter(this.prototype,"including",fn);return this.include(key,val)}static protect(key,val){this.protect=createMounter(this.prototype,"protecting");return this.protect(key,val)}static contains(selector,ctx){var inses;inses=this.instances;return luda$1(selector,ctx).els.some(function(el){var id;return(id=el[expando])&&inses[id]})}static each(callback){Object.values(this.instances).some(function(cache,index){var instance,rootEl;instance=cache.instance;rootEl=instance.root.els[0];return callback(instance,rootEl,index,cache)===false});return this}}Base.prototype.win=luda$1(window);Base.prototype.doc=luda$1(document);Object.defineProperty(Base.prototype,"html",{get:function(){return luda$1(document.documentElement)}});Object.defineProperty(Base.prototype,"body",{get:function(){return luda$1(document.body)}});Object.defineProperty(Base.prototype,"con",{get:function(){return this.constructor}});return Base}.call(this);var Base$1=Base;var constructorAccessWarn,createComponentProxy,createInstancesCallProxy,createInstancesProxy,instanceAccessWarn;constructorAccessWarn=function(action,C,key){var msg;if(!(key in C&&!C.extended.includes(key))){return}msg=`${action} private property '${key}' of ${C.id}`;return console.warn(msg)};createComponentProxy=function(C){var proxy;return proxy=new Proxy(C,{get:function(target,key){constructorAccessWarn("Getting",C,key);return C[key]},set:function(target,key,val){constructorAccessWarn("Setting",C,key);return C[key]=val},apply:function(target,ctx,args){var inses;inses=C.create.apply(C,args);return createInstancesProxy(inses)}})};instanceAccessWarn=function(action,ins,key){var msg;if(!(key in ins&&!ins.con.included.includes(key))){return}msg=`${action} private property '${key}' of ${ins.con.id} ${ins.id}`;return console.warn(msg)};createInstancesProxy=function(inses){var proxy;return proxy=new Proxy(inses,{set:function(target,key,val){return inses.map(function(ins){instanceAccessWarn("Setting",ins,key);return ins[key]=val})},get:function(target,key){var vals;vals=inses.map(function(ins){instanceAccessWarn("Getting",ins,key);return ins[key]});return createInstancesCallProxy(inses,vals,key,proxy)}})};createInstancesCallProxy=function(inses,vals,key,instancesProxy){var proxy;return proxy=new Proxy(new Function,{get:function(target,k){if(!Type.isFunction(vals[k])){return vals[k]}return vals[k].bind(vals)},apply:function(target,ctx,args){var option,returns;returns=inses.map(function(ins){return ins[key].apply(ins,args)});option=args[args.length-1];if(Type.isObject(option)&&option.chain===false){return returns}else{return instancesProxy}}})};function createProxy(Component){return createComponentProxy(Component)}var factory$1;luda$1.extend("component",factory$1=function(name,root){var Component;Component=function(){class Component extends Base$1{}Component.id=camelCase(`Component${name?"-"+name:"_"+guid$1()}`);Component.root=root?root:name?`.${dashCase(name)}`:document;Component.instances={};Component.helpers={};Component.included=["toString"];Component.extended=["toString"];Component.eventsBinded=false;Component.autoEnabled=false;Component.traversalAdded=false;Component.watches=null;return Component}.call(this);if(name){luda$1.extend(name,createProxy(Component))}luda$1.ready(function(){if(Type.isDocument(Component.root)){Component.create(Component.root)}if(!Type.isString(Component.root)){return}Component.create(autoable(Component.root));autoCreateAndDestroy(Component);return Component.autoEnabled=true});return Component});function computeStyle(el,prop,isVar){var style;if(!Type.isElement(el)||!prop){return}style=window.getComputedStyle(el,null);if(prop){if(isVar){return style.getPropertyValue(prop)||void 0}else{return style[prop]}}else{return style}}function isVariable(prop){return/^--/.test(prop)}function readProp(prop,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar){return prop}else{return camelCase(prop)}}var numericProps;numericProps=["animationIterationCount","columnCount","flexGrow","flexShrink","fontWeight","lineHeight","opacity","order","orphans","widows","zIndex"];function parseValue$1(prop,value,isVar){if(isVar===void 0){isVar=isVariable(prop)}if(isVar||numericProps.includes(prop)){return value}if(Type.isNumeric(value)){return`${value}px`}else{return value}}luda$1.include({css:function(prop,value){var isVar,key,val;if(Type.isString(prop)){isVar=isVariable(prop);prop=readProp(prop,isVar);if(arguments.length<2){return this.els[0]&&computeStyle(this.els[0],prop,isVar)}if(!prop){return this}value=parseValue$1(prop,value,isVar);this.els.forEach(function(el){if(!Type.isElement(el)){return}if(isVar){return el.style.setProperty(prop,value)}else{return el.style[prop]=value}});return this}for(key in prop){val=prop[key];this.css(key,val)}return this}});luda$1.include({removeCss:function(prop){return this.css(prop,"")}});var parse$1,pattern$3;pattern$3=/^data-/i;parse$1=function(name){return camelCase(name.replace(pattern$3,""))};var parseName=parse$1;luda$1.include({removeData:function(name){var names;if(arguments.length){names=splitValues(name);if(!names.length){return this}names=names.map(function(n){return parseName(n)});this.els.forEach(function(el){return names.forEach(function(n){return delete el.dataset[n]})})}else{this.els.forEach(function(el){var n,ref,results,val;ref=el.dataset;results=[];for(n in ref){val=ref[n];results.push(delete el.dataset[n])}return results})}return this}});luda$1.include({data:function(name,value){var datas,key,ref,val;if(!name){if(!this.els[0]){return}datas={};ref=this.els[0].dataset;for(key in ref){val=ref[key];datas[key]=readValue(val)}return datas}if(Type.isString(name)){name=parseName(name);if(arguments.length>=2){if(value===void 0){return this}if(value===null){return this.removeData(name)}val=parseValue(value);this.els.forEach(function(el){return el.dataset[name]=val});return this}if(!this.els[0]){return}return readValue(this.els[0].dataset[name])}for(key in name){val=name[key];this.data(key,val)}return this}});luda$1.include({hasData:function(key){if(!key){return false}key=parseName(key);return this.els.some(function(el){return el.dataset&&key in el.dataset})}});var factory$3;factory$3=function(prop){return function(){var el;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`inner${prop}`]}return el[`client${prop}`]}};luda$1.include({innerWidth:factory$3("Width"),innerHeight:factory$3("Height")});function computeStyleInt(el,prop){return parseInt(computeStyle(el,prop),10)||0}function getExtraSpace(el,xAxis){return computeStyleInt(el,`border${xAxis?"Left":"Top"}Width`)+computeStyleInt(el,`padding${xAxis?"Left":"Top"}`)+computeStyleInt(el,`padding${xAxis?"Right":"Bottom"}`)+computeStyleInt(el,`border${xAxis?"Right":"Bottom"}Width`)}var factory$4;factory$4=function(prop){return function(value){var e,valNumber;if(!(e=this.els[0])){if(value===void 0){return void 0}else{return this}}if(!arguments.length){if(Type.isWindow(e)){return e[camelCase(`outer-${prop}`)]}return e.getBoundingClientRect()[prop]-getExtraSpace(e,prop==="width")}valNumber=parseInt(value,10);this.els.forEach(function(el){var boxSizing,extra;if(!Type.isElement(el)){return}boxSizing=computeStyle(el,"boxSizing");extra=0;if(boxSizing==="border-box"){extra=getExtraSpace(el,prop==="width")}return el.style[prop]=parseValue$1(prop,valNumber+extra)});return this}};luda$1.include({width:factory$4("width"),height:factory$4("height")});var factory$5;factory$5=function(prop){return function(includeMargins){var el,marginOne,marginTwo,offsetSize;if(!(el=this.els[0])){return}if(Type.isWindow(el)){return window[`outer${prop}`]}offsetSize=el[`offset${prop}`];if(!includeMargins){return offsetSize}marginOne=computeStyleInt(el,`margin${prop==="Width"?"Left":"Top"}`);marginTwo=computeStyleInt(el,`margin${prop==="Width"?"Right":"Bottom"}`);return offsetSize+marginOne+marginTwo}};luda$1.include({outerWidth:factory$5("Width"),outerHeight:factory$5("Height")});luda$1.include({one:function(name,selector,callback){return this.on(name,selector,callback,true)}});function getValue(el){var val;if(el.multiple&&el.options){val=[];[].forEach.call(el.options,function(option){var optionValue;if(option.selected&&!option.disabled&&!option.parentNode.disabled){optionValue=readValue(option.value);if(optionValue===void 0||optionValue===null){optionValue=""}return val.push(optionValue)}});return val}val=readValue(el.value);if(val===void 0||val===null){return""}else{return val}}luda$1.include({val:function(value){if(value===void 0){return this.els[0]&&getValue(this.els[0])}this.els.forEach(function(el){var val;if(el.tagName==="SELECT"){if(Type.isArray(value)){val=value}else if(value===null){val=[]}else{val=[value]}return[].forEach.call(el.options,function(option){var selected;selected=val.includes(readValue(option.value));luda$1(option).attr("selected",selected?"":null);return option.selected=selected})}else{val=value===null?"":parseValue(value);luda$1(el).attr("value",val);return el.value=val}});return this}});var Variables$1={scriptExpando:"script"};function clone(el,cacheAndEvts,deep){var cloned,clonedScripts,clones,nodes,scripts;cloned=el.cloneNode(true);scripts=findAll("script",el);clonedScripts=findAll("script",cloned);scripts.forEach(function(script,i){var cache;if(!Type.isScript(script)){return}if(script.src){return}cache=_access(script,Variables$1.scriptExpando);cache||(cache={executed:false});_access(script,Variables$1.scriptExpando,cache);return _access(clonedScripts[i],Variables$1.scriptExpando,cache)});if(!cacheAndEvts){return cloned}if(deep){nodes=findAll("*",el);clones=findAll("*",cloned)}else{nodes=[el];clones=[cloned]}nodes.forEach(function(node,i){var _evt,cache,config,type;if(_evt=_access(node,Variables.expando)){for(type in _evt){config=_evt[type];config.quene&&config.quene.forEach(function(it){return addEvent$1(clones[i],type,it.selector,it.callback,it.namespace,it.key,it.stop,it.prevent,it._one)})}}if(cache=access(node)){return access(clones[i],Object.assign({},cache))}});return cloned}luda$1.include({find:function(selector){var all;all=[];this.els.forEach(function(el){var found;found=find(selector,el);if(found.length){return[].push.apply(all,found)}});return luda$1(unique(all))}});var CDATARe,geval;CDATARe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;geval=eval;function evalScripts(node){var collection,scripts;collection=luda$1(node);scripts=collection.filter("script").add(collection.find("script")).els;return scripts.forEach(function(el){var scriptCache;if(!(!el.src&&Type.isScript(el))){return}if(!el.ownerDocument.documentElement.contains(el)){return}scriptCache=_access(el,Variables$1.scriptExpando);if(scriptCache&&scriptCache.executed){return}geval(el.textContent.replace(CDATARe,""));if(scriptCache){return scriptCache.executed=true}else{return _access(el,Variables$1.scriptExpando,{executed:true})}})}function insertElement(anchor,child,prepend,prependTarget){if(prepend){anchor.insertBefore(child,prependTarget)}else{anchor.appendChild(child)}return evalScripts(child)}luda$1.include({insertAfter:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target.nextSibling)})});return this}});luda$1.include({after:function(){var argReverse,handler,self;self=this;argReverse=[].reverse.apply(arguments);handler=function(selector){var els;els=luda$1(selector).els.slice().reverse();return luda$1(els).insertAfter(self)};[].forEach.call(argReverse,handler);return this}});function insertContent(parent,child,prepend){return parent.forEach(function(p,parentIndex){return child.forEach(function(c){var childToBeInserted;childToBeInserted=parentIndex?clone(c,true,true):c;return insertElement(p,childToBeInserted,prepend,prepend&&p.firstChild)})})}luda$1.include({appendTo:function(selector){insertContent(luda$1(selector).els,this.els);return this}});luda$1.include({append:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els)};[].forEach.call(arguments,handler);return this}});luda$1.include({insertBefore:function(selector){var els;els=this.els;luda$1(selector).els.forEach(function(target,index){var parent;parent=target.parentNode;return parent&&els.forEach(function(child){var childToBeInserted;childToBeInserted=index?clone(child,true,true):child;return insertElement(parent,childToBeInserted,true,target)})});return this}});luda$1.include({before:function(){var handler,self;self=this;handler=function(selector){return luda$1(selector).insertBefore(self)};[].forEach.call(arguments,handler);return this}});luda$1.include({clone:function(cacheAndEvents,deep){var collection;if(deep===void 0){deep=cacheAndEvents}collection=this.els.map(function(el){return clone(el,cacheAndEvents,deep)});return luda$1(collection)}});luda$1.include({detach:function(){this.els.forEach(function(el){var parent;if(parent=el.parentNode){return parent.removeChild(el)}});return this}});function clean$1(ctx){return findAll("*",ctx).forEach(function(el){removeEvent$1(el);return clean(el)})}luda$1.include({empty:function(){this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=""});return this}});luda$1.include({html:function(html){if(html===void 0&&this.els.length){return this.els[0].innerHTML}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.innerHTML=html});return this}});luda$1.include({prependTo:function(selector){insertContent(luda$1(selector).els,this.els.reverse(),true);return this}});luda$1.include({prepend:function(){var els,handler;els=this.els;handler=function(selector){return insertContent(els,luda$1(selector).els,true)};[].forEach.call(arguments,handler);return this}});luda$1.include({remove:function(){this.els.forEach(function(el){var parent;clean$1(el);if(parent=el.parentNode){return parent.removeChild(el)}});return this}});luda$1.include({replaceWith:function(selector){return this.before(selector).remove()}});luda$1.include({replaceAll:function(selector){luda$1(selector).replaceWith(this);return this}});luda$1.include({text:function(text){if(text===void 0){if(this.els[0]){return this.els[0].textContent}else{return""}}this.els.forEach(function(el){var child,i,len,ref;ref=el.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];clean$1(child)}return el.textContent=text});return this}});luda$1.include({unwrap:function(){this.parent().els.forEach(function(el){var collection;collection=luda$1(el);return collection.replaceWith(collection.children())});return this}});luda$1.include({wrapAll:function(selector){var structure,wrapper;if(!this.els.length){return this}structure=luda$1(selector);this.first().before(structure);wrapper=structure.els[0];while(wrapper.children.length){wrapper=wrapper.firstElementChild}return this.appendTo(wrapper)}});luda$1.include({contents:function(){var all;all=[];this.els.forEach(function(el){var content;if(el.tagName==="IFRAME"){content=[el.contentDocument]}else{content=el.childNodes}return[].push.apply(all,content)});return luda$1(unique(all))}});luda$1.include({wrapInner:function(selector){this.els.forEach(function(el){var contents,target;target=luda$1(el);contents=target.contents();if(contents.els.length){return contents.wrapAll(selector)}else{return target.append(selector)}});return this}});luda$1.include({wrap:function(selector){this.els.forEach(function(el,index){var wrapper;wrapper=luda$1(selector).els[0];return luda$1(el).wrapAll(index?clone(wrapper,true,true):wrapper)});return this}});luda$1.include({matches:function(selector){if(!this.els.length){return false}if(!selector){return false}return this.els.some(function(el){return matches(el,selector)})}});var Mixin;var Mixin$1=Mixin=class Mixin{constructor(conf){this.conf=conf}get(key){return this.conf[key]}all(){return Object.assign({},this.conf)}only(keys){var picked;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}keys.forEach(k=>{if(k in this.conf){return picked[k]=this.conf[k]}});return picked}except(keys){var k,picked,ref,v;picked={};if(!(arguments.length===1&&Type.isArray(keys))){keys=Array.from(arguments)}ref=this.conf;for(k in ref){v=ref[k];if(!keys.includes(k)){picked[k]=v}}return picked}alias(newName,name){var k,picked,v;picked={};if(arguments.length===1&&Type.isObject(newName)){for(k in newName){v=newName[k];if(v in this.conf){picked[k]=this.conf[v]}}}else{if(name in this.conf){picked[newName]=this.conf[name]}}return picked}};var get,mount,named,unmount;named={};mount=createMounter(named,"mixing");unmount=function(name){return delete named[name]};get=function(name){return named[name]||{}};luda$1.extend({mixin:function(name,conf){var mixin;if(arguments.length===1){if(Type.isString(name)){return get(name)}else{return new Mixin$1(conf)}}else{if(conf===null){unmount(name);return this}else{mixin=new Mixin$1(conf);mount(name,mixin);return this}}}});luda$1.mixin.named=named;luda$1.include({offsetParent:function(){return luda$1(this.els[0]&&this.els[0].offsetParent)}});luda$1.include({offset:function(){var docEl,el,rect;el=this.els[0];if(!el){return}docEl=document.documentElement;rect=el.getBoundingClientRect();return{top:rect.top+window.pageYOffset-docEl.clientTop,left:rect.left+window.pageXOffset-docEl.clientLeft}}});luda$1.include({position:function(){var el;el=this.els[0];if(!el){return}return{left:el.offsetLeft,top:el.offsetTop}}});luda$1.include({prop:function(prop,value){var key,val;if(!prop){return}if(Type.isString(prop)){if(arguments.length<2){return this.els[0]&&this.els[0][prop]}this.els.forEach(function(el){return el[prop]=value});return this}for(key in prop){val=prop[key];this.prop(key,val)}return this}});luda$1.include({removeProp:function(prop){var props;props=splitValues(prop);if(!props.length){return this}this.els.forEach(function(el){return props.forEach(function(p){return delete el[p]})});return this}});luda$1.include({reflow:function(){this.els.forEach(function(el){return el.offsetHeight});return this}});function getDurations(style,propertyLength){var durationArray;durationArray=style.split(",");while(durationArray.length<propertyLength){durationArray=durationArray.concat(durationArray)}if(durationArray.length>propertyLength){durationArray=durationArray.slice(0,propertyLength)}return durationArray.map(function(durationStr){var duration;duration=parseFloat(durationStr);if(!duration){return 0}if(durationStr.match("ms")){return duration}else{return duration*1e3}})}luda$1.include({transitionDuration:function(){var delays,durations,el,finalDurations,length,styles;if(!(el=this.els[0])){return}styles=window.getComputedStyle(el);length=styles.transitionProperty.split(",").length;if(!length){return 0}delays=getDurations(styles.transitionDelay,length);durations=getDurations(styles.transitionDuration,length);finalDurations=durations.map(function(duration,index){return duration+delays[index]});return Math.max.apply(null,finalDurations)}});luda$1.include({closest:function(comparator){var filtered;if(!comparator||!this.els.length){return luda$1()}filtered=this.filter(comparator);if(filtered.els.length){return filtered}return this.parent().closest(comparator)}});luda$1.include({next:function(comparator,_all){return luda$1(collect(unique(pluck(this.els,"nextElementSibling",_all)),comparator))}});luda$1.include({nextAll:function(comparator){return this.next(comparator,true)}});luda$1.include({prev:function(comparator,_al){return luda$1(collect(unique(pluck(this.els,"previousElementSibling",_al)),comparator))}});luda$1.include({prevAll:function(comparator){return this.prev(comparator,true)}});luda$1.include({siblings:function(comparator){var all;all=[];this.els.forEach(function(el){var sibs;sibs=luda$1(el).parent().children(function(child){return child!==el}).els;return[].push.apply(all,sibs)});return luda$1(collect(unique(all),comparator))}});luda.mixin("disable",{disableCreate:function(){var dataAttr,ref,rootEl,tabIndex;rootEl=this.root.els[0];tabIndex=rootEl.tabIndex;dataAttr=this.data.disable.tabIndex;if(!this.root.hasData(dataAttr)){this.root.data(dataAttr,tabIndex)}rootEl.tabIndex=-1;return rootEl[((ref=this.attr)!=null?ref.disable:void 0)||"disabled"]=true},disableDestroy:function(){var ref,rootEl;rootEl=this.root.els[0];rootEl.tabIndex=this.root.data(this.data.disable.tabIndex);return rootEl[((ref=this.attr)!=null?ref.disable:void 0)||"disabled"]=false}});luda.component("disabled","[disabled]").protect({data:{disable:{tabIndex:"data-disabled_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("enter",document).protect({data:{enable:"enter"},selectors:["input[type=checkbox]","input[type=radio]","[tabindex]"],trigger:function(e){if(this.html.data(this.data.enable)===false){return}if(!luda(e.target).matches(this.selectors.join(","))){return}e.preventDefault();return setTimeout(function(){return e.target.click()})}}).help({listen:function(){return[["keydown@enter",this.trigger]]}});var Focus;Focus=luda.component("focus",document).protect({cls:{focus:"focus"},data:{enable:"focus"},selector:{focused:".focus",always:["select","textarea",":not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])","[contenteditable]","[contenteditable=true]"],nested:["select","[contenteditable]","[contenteditable=true]"],touch:"input[type=range]"},disabled:function(){return this.html.data(this.data.enable)===false},addClass:function(node){if(this.disabled()){return}return this.focused.els.concat(node).forEach(el=>{var addable;addable=el===node&&el!==this.html.els[0]&&el!==this.body.els[0];return luda(el).toggleClass(this.cls.focus,addable)})},cacheEvt:function(e){if(this.disabled()||e.target.disabled){return}return this.evtTriggeredFocus=e.type},focus:function(e){var evt,node,parent,target;if(this.disabled()||(node=e.target).disabled){return}(evt=this.evtTriggeredFocus)&&delete this.evtTriggeredFocus;if(evt&&/key/.test(evt)){target=node}else if(luda(node).matches(this.selector.always.join(","))){target=node}else if(luda(node).matches(this.selector.nested.join(" *,"))){parent=this.selector.nested.join(",");e.eventPath().some(function(el){return luda(el).matches(parent)&&(target=el)})}return this.addClass(target)},blur:function(e){if(this.disabled()){return}return luda(e.target).toggleClass(this.cls.focus,false)}}).help({find:function(){return{focused:this.selector.focused}},listen:function(){return[["keydown keyup touchstart mousedown",this.cacheEvt],["mousedown focusin",this.focus],["touchstart",this.selector.touch,this.focus],["focusout",this.blur]]}});luda.include({focus:function(addClass,preventScroll){var el,ins;if(!(el=this.els[0])){return}ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}if(!luda.isBool(addClass)){addClass=true}if(!luda.isBool(preventScroll)){preventScroll=false}addClass&&ins.addClass(el);el.focus({preventScroll:preventScroll});return this},blur:function(){var ins;ins=Object.values(Focus.instances)[0].instance;if(ins.disabled()){return this}this.els.forEach(function(el){return el.blur()});return this}});luda.component("readonly","[readonly]").protect({attr:{disable:"readonly"},data:{disable:{tabIndex:"data-readonly_tabindex"}}}).protect(luda.mixin("disable").all()).help({create:function(){return this.disableCreate()},destroy:function(){return this.disableDestroy()}});luda.component("tabulate",document).protect({selector:"input[type=radio]:not([disabled])",data:{tabulate:"tabulate"},findSiblings:function(radio){var index,name,radios,selector;selector=this.selector;if(name=radio.name){selector=`${selector}[name=${name}]`}radios=luda(selector).els.filter(function(el){return el.tabIndex>=0});index=radios.indexOf(radio);return{prev:radios[index-1],next:radios[index+1]}},trigger:function(e){var next,prev;if(this.html.data(this.data.tabulate)===false){return}if(e.shiftKey){if(prev=this.findSiblings(e.target).prev){e.preventDefault();return prev.focus()}}else{if(next=this.findSiblings(e.target).next){e.preventDefault();return next.focus()}}}}).help({listen:function(){return[["keydown@tab",this.selector,this.trigger]]}});luda.mixin("toggleable",{toggleableActivate:function(){var evt;if(this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.activate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableDeactivating);delete this.toggleableDeactivating;this.root.addClass(this.cls.toggleable.active);this.toggleableActivating=setTimeout(()=>{delete this.toggleableActivating;return this.toggleableTarget.trigger(this.evt.toggleable.activated)},this.toggleableTarget.transitionDuration());return true},toggleableDeactivate:function(){var evt;if(!this.toggleableActive()){return}evt=this.toggleableTarget.trigger(this.evt.toggleable.deactivate,null,true)[0];if(evt.isDefaultPrevented()){return}clearTimeout(this.toggleableActivating);delete this.toggleableActivating;this.root.removeClass(this.cls.toggleable.active);this.toggleableDeactivating=setTimeout(()=>{delete this.toggleableDeactivating;return this.toggleableTarget.trigger(this.evt.toggleable.deactivated)},this.toggleableTarget.transitionDuration());return true},toggleableToggle:function(force){if(force===true){return this.toggleableActivate()}if(force===false){return this.toggleableDeactivate()}if(this.toggleableActive()){return this.toggleableDeactivate()}else{return this.toggleableActivate()}},toggleableActive:function(){return this.root.hasClass(this.cls.toggleable.active)},toggleableTransitioning:function(){return"toggleableActivating"in this||"toggleableDeactivating"in this},toggleableTriggerable:function(e){var evtPath,index,ref,ref1,toggleAttr,trigger;if(this.toggleableTransitioning()){return}if(/key/.test(e.type)){return true}if(!this.root.els[0].contains(e.target)){return true}trigger=(ref=this.default)!=null?(ref1=ref.toggleable)!=null?ref1.trigger:void 0:void 0;toggleAttr=this.data.toggleable.trigger;if(!toggleAttr){return trigger}evtPath=e.eventPath();index=evtPath.indexOf(this.root.els[0])+1;evtPath.slice(0,index).some(function(el){var ins;ins=luda(el);if(!ins.hasData(toggleAttr)){return}trigger=ins.data(toggleAttr)!==false;return true});return trigger},toggleableFocusOpener:function(e){var ins;if(this.toggleableActive()){return this.toggleableFocused=document.activeElement}if(!this.toggleableFocused){return}if("focus"in(ins=luda(this.toggleableFocused))){return ins.focus(!e.detail,e.detail)}else{return this.toggleableFocused.focus({preventScroll:e.detail})}},toggleableActivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableActivate())){return}this.toggleableFocusOpener(e);return true},toggleableDeactivateOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableDeactivate())){return}this.toggleableFocusOpener(e);return true},toggleableToggleOnEvent:function(e){if(!(this.toggleableTriggerable(e)&&this.toggleableToggle())){return}this.toggleableFocusOpener(e);return true},toggleableCreate:function(){var dataAttr,evt,interruption;dataAttr=this.data.toggleable.interruption;if(!(interruption=this.root.data(dataAttr))){return}evt=this.evt.toggleable[interruption];this.root.removeData(dataAttr);return this.toggleableTarget.trigger(evt)},toggleableDestroy:function(){var interruption;if("toggleableActivating"in this){interruption="activated";clearTimeout(this.toggleableActivating)}else if("toggleableDeactivating"in this){interruption="deactivated";clearTimeout(this.toggleableDeactivating)}return interruption&&this.root.data(this.data.toggleable.interruption,interruption)},toggleableFind:function(){var ref,ref1,target;target=(ref=this.selector)!=null?(ref1=ref.toggleable)!=null?ref1.target:void 0:void 0;return{toggleableTarget:target||function(){return this.root}}}});luda.component("toggle","[data-toggle-target]").protect({cls:{toggleable:{active:"toggle-active"}},data:{target:"data-toggle-target",for:"data-toggle-for",auto:"data-toggle-auto-deactivate",toggleable:{interruption:"data-toggle_interruption",trigger:"data-toggleable"}},default:{autoDuration:3e3},evt:{toggleable:{activate:"luda:toggle:activate",activated:"luda:toggle:activated",deactivate:"luda:toggle:deactivate",deactivated:"luda:toggle:deactivated"}}}).include({activate:function(){if(!this.toggleableActivate()){return}return this.toggleAutoState()},deactivate:function(){if(!this.toggleableDeactivate()){return}return this.toggleAutoState()},toggle:function(force){if(!this.toggleableToggle(force)){return}return this.toggleAutoState()}}).protect(luda.mixin("toggleable").all()).protect({toggleAutoState:function(){if(!this.root.hasData(this.data.auto)){return}if(this.toggleableActive()){return this.auto=setTimeout(()=>{delete this.auto;return this.deactivate()},this.root.data(this.data.auto)||this.default.autoDuration)}else{clearTimeout(this.auto);return delete this.auto}},toggleOnEvent:function(e){if(!this.toggleableToggleOnEvent(e)){return}return this.toggleAutoState()}}).help({find:function(){return this.toggleableFind()},create:function(){this.toggleableCreate();return this.toggleAutoState()},destroy:function(){this.toggleableDestroy();return"auto"in this&&clearTimeout(this.auto)},listen:function(){var self;self=this;return[["click",this.toggleOnEvent],["click",`[${this.data.for}]`,function(e){var name;name=luda(this).data(self.data.for);return self.con.each(function(ins){if(ins.root.data(self.data.target)!==name){return}ins.toggleOnEvent(e);return true})}]]}});var listened,quene;listened=false;quene=[];luda.mixin("resetable",{listen:function(fn){var pushed;pushed=quene.some(it=>{return it.Component===this.con});if(!pushed){quene.push({Component:this.con,reset:fn})}if(listened){return}listened=true;return luda(document).on("reset.MixinResetable",function(e){if(e.isDefaultPrevented()){return}return setTimeout(function(){return quene.forEach(function(it){return it.Component.each(function(ins,rootEl){e.target.contains(rootEl)&&it.reset.call(ins);return true})})})})}});luda.component("fmFile").protect({selector:{root:".fm-file",file:"input[type=file]",simulator:"input:not([type=file])"},splitor:" "}).protect({insertSimulator:function(){var simulator;if(this.simulator.length){return}simulator=luda("<input>");simulator.els[0].tabIndex=-1;return simulator.insertAfter(this.file)},updatePlaceholder:function(){var placeholder;if(!(placeholder=this.file.attr("placeholder"))){return}return this.simulator.attr("placeholder",placeholder)},updateValue:function(){var value,values;values=Array.from(this.file.els[0].files).map(function(f){return f.name});value=values.join(this.splitor)||this.file.attr("value")||"";return this.simulator.attr("value",value)},tryReset:function(target,oldVal){if(this.file.attr("value")!==""){return}this.file.els[0].value="";return this.file.attr("value",oldVal)}}).help({find:function(){return{file:this.selector.file,simulator:this.selector.simulator}},watch:function(){return{attr:[["value",this.selector.file,this.tryReset,this.updateValue]]}},create:function(){this.insertSimulator();this.updatePlaceholder();return this.updateValue()},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.file,this.updateValue]]}});luda.component("fmSelect").protect({selector:{select:"select",options:"option",simulator:"input"},data:{default:"data-fm-select_default-selected",defaultMarked:"data-fm-select_default-marked"}}).protect({tryEmpty:function(){var select,selected;select=this.select.els[0];selected=Array.from(select.options).some(function(o){return luda(o).hasAttr("selected")});return!selected&&(select.selectedIndex=-1)},markSelected:function(markDefault){markDefault=markDefault===true;if(markDefault&&this.root.hasData(this.data.defaultMarked)){return}if(markDefault){this.root.data(this.data.defaultMarked,"")}return Array.from(this.select.els[0].options).forEach(o=>{var option,val;option=luda(o);if(markDefault){val=option.hasAttr("selected")?"":null;return option.data(this.data.default,val)}else{val=o.selected?"":null;return option.attr("selected",val)}})},initSimulator:function(){var simulator;if(this.select.els[0].multiple){return this.simulator.remove()}if(this.simulator.length){return}simulator=luda("<input>");simulator.els[0].tabIndex=-1;simulator.insertAfter(this.select);this.updatePlaceholder();return this.updateValue()},updatePlaceholder:function(){if(this.select.els[0].multiple){return}return this.simulator.attr("placeholder",this.select.attr("placeholder"))},updateValue:function(){var select,selected,val;select=this.select.els[0];if(select.multiple){return}selected=select.options[select.selectedIndex];val=selected?luda(selected).text():"";return this.simulator.attr("value",val)},reset:function(){this.select.els[0].selectedIndex=-1;Array.from(this.select.els[0].options).forEach(o=>{return o.selected=luda(o).hasData(this.data.default)});return this.markSelected()}}).help({find:function(){return{select:this.selector.select,simulator:this.selector.simulator}},create:function(){this.tryEmpty();this.markSelected(true);return this.initSimulator()},watch:function(){return{dom:[[this.selector.options,this.tryEmpty,this.updateValue]],attr:[["selected",this.selector.options,this.updateValue],["multiple",this.selector.select,this.initSimulator]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.reset);return[["change",this.selector.select,this.markSelected]]}});luda.mixin("tabable",{tabableActivate:function(index){var direction;if(!luda.isNumeric(index)){return}direction=index<this.tabableActiveIndex()?"prev":"next";return this.tabableSlide(index,direction)},tabableNext:function(){var index;index=this.tabableActiveIndex()+1;if(index>=this.tabableTargets.length){if(!this.tabableWrapable()){return}index=0}return this.tabableSlide(index,"next")},tabablePrev:function(){var index;index=this.tabableActiveIndex()-1;if(index<0){if(!this.tabableWrapable()){return}index=this.tabableTargets.length-1}return this.tabableSlide(index,"prev")},tabableLayout:function(){this.tabableTargets.els.forEach((it,index)=>{var activeCls,isActive,item,nextCls,prevCls;item=luda(it);if((activeCls=this.cls.tabable.active)&&item.hasClass(activeCls)){return}if((nextCls=this.cls.tabable.next)&&item.hasClass(nextCls)){return}if((prevCls=this.cls.tabable.prev)&&item.hasClass(prevCls)){return}isActive=index===this.tabableActiveIndex();item.css("transition","none").toggleClass(activeCls,isActive).toggleClass(prevCls,index<this.tabableActiveIndex()).toggleClass(nextCls,index>this.tabableActiveIndex()).reflow().css("transition","");return isActive&&item.trigger(this.evt.tabable.activated)});this.tabableSetIndicatorsState();return this.tabableSetDirectionCtrlsState()},tabableSlide:function(index,direction){var activateEvt,activated,activatedIndex,activeCls,deactivateEvt,directionCls,item,oppsite,oppsiteCls;if(!luda.isNumeric(index)){return}if(index===(activatedIndex=this.tabableActiveIndex())){return}if(index<0||index>=this.tabableTargets.length){return}item=this.tabableTargets.eq(index);activated=this.tabableTargets.eq(activatedIndex);activateEvt=item.trigger(this.evt.tabable.activate,null,true)[0];if(activateEvt.isDefaultPrevented()){return}deactivateEvt=activated.trigger(this.evt.tabable.deactivate,null,true)[0];if(deactivateEvt.isDefaultPrevented()){return}oppsite=direction==="next"?"prev":"next";directionCls=this.cls.tabable[direction];oppsiteCls=this.cls.tabable[oppsite];activeCls=this.cls.tabable.active;item.css("transition","none").addClass(directionCls).removeClass(oppsiteCls).reflow().css("transition","").addClass(activeCls).removeClass(directionCls);activated.addClass(oppsiteCls).removeClass(activeCls);this.tabableActivating=setTimeout(()=>{delete this.tabableActivating;return item.trigger(this.evt.tabable.activated)},item.transitionDuration());this.tabableDeactivateIndex=activatedIndex;this.tabableDeactivating=setTimeout(()=>{delete this.tabableDeactivating;delete this.tabableDeactivateIndex;return activated.trigger(this.evt.tabable.deactivated)},activated.transitionDuration());this.tabableSetIndicatorsState();this.tabableSetDirectionCtrlsState();return true},tabableActiveIndex:function(){var index,ref,ref1;index=((ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0)||0;this.tabableTargets.els.some((it,i)=>{if(!luda(it).hasClass(this.cls.tabable.active)){return false}index=i;return true});return index},tabableWrapable:function(){var ref,ref1,wrapAttr,wrapable;wrapAttr=this.data.tabable.wrap;if(!wrapAttr){return false}wrapable=this.root.data(wrapAttr);if(wrapable===false){return false}return(ref=this.default)!=null?(ref1=ref.tabable)!=null?ref1.wrap:void 0:void 0},tabableTransitioning:function(){return"tabableActivating"in this||"tabableDeactivating"in this},tabableSetIndicatorsState:function(){return this.tabableIndicators.els.forEach((it,index)=>{var activeCls,val;activeCls=this.cls.tabable.indicatorActive;val=index===this.tabableActiveIndex();return luda(it).toggleClass(activeCls,val)})},tabableSetDirectionCtrlsState:function(){var index,maxIndex,minIndex,nextCtrl,nextDis,prevCtrl,prevDis;prevCtrl=this.tabablePrevCtrl;nextCtrl=this.tabableNextCtrl;if(!(prevCtrl||nextCtrl)){return}if(this.tabableTargets.length<=1){prevDis=nextDis=""}else if(this.tabableWrapable()){prevDis=nextDis=null}else{index=this.tabableActiveIndex();minIndex=0;maxIndex=this.tabableTargets.length-1;prevDis=index===minIndex?"":null;nextDis=index===maxIndex?"":null}prevCtrl&&prevCtrl.attr("disabled",prevDis);return nextCtrl&&nextCtrl.attr("disabled",nextDis)},tabableActivateOnEvent:function(e){var index,ref,ref1;if(this.tabableTransitioning()){return}index=(ref=e.detail)!=null?(ref1=ref.tabable)!=null?ref1.activeIndex:void 0:void 0;if(index==null){index=this.tabableIndicators.els.indexOf(e.currentTarget)}return this.tabableActivate(index)},tabablePrevOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabablePrev()}},tabableNextOnEvent:function(e){if(!this.tabableTransitioning()){return this.tabableNext()}},tabableDestroy:function(){var interruption;if("tabableActivating"in this){clearTimeout(this.tabableActivating);interruption={activate:this.tabableActiveIndex()}}if("tabableDeactivating"in this){clearTimeout(this.tabableDeactivating);interruption||(interruption={});interruption.deactivateIndex=this.tabableDeactivateIndex}return this.root.data(this.data.tabable.interruption,interruption)},tabableCreate:function(){var activate,dataAttr,deactive,interruption;this.tabableLayout();dataAttr=this.data.tabable.interruption;if(!(interruption=this.root.data(dataAttr))){return}if((activate=interruption.activated)!=null){this.tabableTargets.eq(activated).trigger(this.evt.tabable.activated)}if((deactive=interruption.deactivated)!=null){this.tabableTargets.eq(deactivated).trigger(this.evt.tabable.deactivated)}return this.root.removeData(dataAttr)},tabableFind:function(){var conf,nextCtrl,prevCtrl;conf={tabableTargets:this.selector.tabable.targets,tabableIndicators:this.selector.tabable.indicators};if(prevCtrl=this.selector.tabable.prevCtrl){conf.tabablePrevCtrl=prevCtrl}if(nextCtrl=this.selector.tabable.nextCtrl){conf.tabableNextCtrl=nextCtrl}return conf},tabableWatch:function(){var attr,wrapAttr;attr=[];wrapAttr=this.data.tabable.wrap;wrapAttr&&attr.push([wrapAttr,this.tabableSetDirectionControlState]);return{attr:attr,dom:[[this.selector.tabable.targets,this.tabableLayout],[this.selector.tabable.indicators,this.tabableSetIndicatorsState]]}},tabableListen:function(){var listeners,nextCtrl,prevCtrl;listeners=[["click",this.selector.tabable.indicators,this.tabableActivateOnEvent]];if(prevCtrl=this.selector.tabable.prevCtrl){listeners.push(["click",prevCtrl,this.tabablePrevOnEvent])}if(nextCtrl=this.selector.tabable.nextCtrl){listeners.push(["click",nextCtrl,this.tabableNextOnEvent])}return listeners}});luda.component("carousel").protect({cls:{tabable:{active:"carousel-item-active",indicatorActive:"btn-active",prev:"carousel-item-prev",next:"carousel-item-next"}},data:{interval:"carousel-interval",tabable:{interruption:"data-carousel_interruption",wrap:"data-carousel-wrap"}},default:{interval:5e3,tabable:{activeIndex:0,wrap:true}},evt:{tabable:{activate:"luda:carousel:activate",activated:"luda:carousel:activated",deactivate:"luda:carousel:deactivate",deactivated:"luda:carousel:deactivated"}},selector:{tabable:{targets:".carousel-item",indicators:".carousel-indicators .btn",prevCtrl:".carousel-prev",nextCtrl:".carousel-next"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate",next:"tabableNext",prev:"tabablePrev"})).include({pause:function(){if(!("intervaling"in this)){return}clearTimeout(this.intervaling);delete this.intervaling;this.nextInterval-=Date.now()-this.playAt;if(this.nextInterval<=10){this.nextInterval=void 0}return this.pauseIndex=this.tabableActiveIndex()},play:function(){var handler;if("intervaling"in this){return}if(!this.interval()){return}this.playAt=Date.now();if(this.pauseIndex!==this.tabableActiveIndex()){this.nextInterval=this.interval()}handler=(()=>{this.tabableNext();this.playAt=Date.now();this.nextInterval=this.interval();return this.intervaling=setTimeout(handler,this.interval())});return this.intervaling=setTimeout(handler,this.nextInterval)}}).protect(luda.mixin("tabable").all()).protect({interval:function(){var duration;duration=this.root.data(this.data.interval);if(duration===false){return false}return Math.abs(parseInt(duration,10))||this.default.interval},touchendPlay:function(){return setTimeout(()=>{return this.play()})}}).help({find:function(){return this.tabableFind()},create:function(){this.tabableCreate();return this.play()},destroy:function(){this.pause();return this.tabableDestroy()},watch:function(){var watches;watches=this.tabableWatch();watches.attr.push([this.data.interval,this.pause,this.play]);return watches},listen:function(){return this.tabableListen().concat([["swipeleft",this.tabableNextOnEvent],["swiperight",this.tabablePrevOnEvent],["touchstart mouseover",this.pause],["mouseout",this.play],["touchend",this.touchendPlay]])}});luda.component("dropdown",".dropdown-absolute, .dropdown-static, .dropdown-fixed, .dropdown-static-m").protect({cls:{toggleable:{active:"dropdown-active"}},data:{standalone:"data-dropdown-standalone",toggleable:{interruption:"data-dropdown_interruption",trigger:"data-dropdownable"}},default:{toggleable:{trigger:true}},evt:{toggleable:{activate:"luda:dropdown:activate",activated:"luda:dropdown:activated",deactivate:"luda:dropdown:deactivate",deactivated:"luda:dropdown:deactivated"}},selector:{items:"a[href]:not([disabled]),button:not([disabled]), input:not([disabled]),[tabindex]:not([disabled]), area[href]:not([disabled]),iframe:not([disabled])",toggleable:{target:".dropdown-menu"}}}).include(luda.mixin("toggleable").alias({activate:"toggleableActivate",deactivate:"toggleableDeactivate",toggle:"toggleableToggle"})).protect(luda.mixin("toggleable").all()).protect({parent:function(){var rootEl;rootEl=this.parentRoot.els[0];if(rootEl){return this.con.create(rootEl)[0]}else{return null}},escDeactivate:function(e){var parent;if(this.toggleableActive()){return this.toggleableDeactivateOnEvent(e)}else if(parent=this.parent()){return parent.escDeactivate(e)}},prevItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)-1;if(index<0){index=0}return items[index].focus()}else if(parent=this.parent()){return parent.prevItem(e)}},nextItem:function(e){var index,items,parent;if(this.toggleableActive()){if(!(items=this.items.els).length){return}index=items.indexOf(document.activeElement)+1;if(index>=items.length){index=items.length-1}return items[index].focus()}else if(parent=this.parent()){return parent.nextItem(e)}}}).help({find:function(){return Object.assign(this.toggleableFind(),{parentRoot:function(){return this.root.parent(this.con.root)},items:function(){var menu,self;self=this;menu=this.toggleableTarget;return menu.find(this.selector.items).filter(function(el){var parentMenu;parentMenu=luda(el).parent(self.selector.toggleable.target);return parentMenu.els[0]===menu.els[0]})}})},listen:function(){var self;self=this;return[["click",this.toggleableToggleOnEvent],["keyup@tab",this.toggleableActivateOnEvent],["keydown@esc&prevent",this.escDeactivate],["keydown@left@up&prevent",this.prevItem],["keydown@right@down&prevent",this.nextItem],["click keyup@tab",function(e){var exceptions;exceptions=[];e.eventPath().forEach(function(el){return self.con.contains(el)&&exceptions.push(el)});return self.con.each(function(ins,rootEl){var isExcepted,isStandalone;isExcepted=exceptions.includes(rootEl);isStandalone=ins.root.hasData(self.data.standalone);!isExcepted&&!isStandalone&&ins.deactivate();return true})}]]}});luda.component("fmDropdown").protect({selector:{options:".dropdown-items .btn-radio input, .dropdown-items .btn-check input",labels:".dropdown-items .btn-radio label, .dropdown-items .btn-check label",simulator:".fm input"},data:{label:"fm-dropdown-label"},splitor:" "}).protect({disableSimulator:function(){return this.simulator.data("auto",false).attr("readonly","")},updateValue:function(){var values;values=[];this.options.els.forEach((input,index)=>{var label,value;if(!input.checked){return}label=luda(this.labels.els[index]);value=label.data(this.data.label)||label.text();if(value&&!values.includes(value)){return values.push(value)}});return this.simulator.attr("value",values.join(this.splitor))},triggerClick:function(){return this.simulator.trigger("click")}}).help({find:function(){return{options:this.selector.options,labels:this.selector.labels,simulator:this.selector.simulator}},create:function(){this.disableSimulator();return this.updateValue()},watch:function(){return{dom:[[this.selector.options,this.updateValue]],attr:[["checked",this.selector.options,this.updateValue]]}},listen:function(){luda.mixin("resetable").get("listen").call(this,this.updateValue);return[["change",this.selector.options,this.updateValue],["keydown@enter",this.selector.simulator,this.triggerClick]]}});luda.component("tab").protect({cls:{tabable:{active:"tab-pane-active",indicatorActive:"btn-active"}},data:{tabable:{interruption:"data-tab_interruption"}},evt:{tabable:{activate:"luda:tab:activate",activated:"luda:tab:activated",deactivate:"luda:tab:deactivate",deactivated:"luda:tab:deactivated"}},selector:{tabable:{targets:".tab-pane",indicators:".tab-indicators .btn"}}}).include(luda.mixin("tabable").alias({activate:"tabableActivate"})).protect(luda.mixin("tabable").all()).help({find:function(){return this.tabableFind()},create:function(){return this.tabableCreate()},destroy:function(){return this.tabableDestroy()},watch:function(){return this.tabableWatch()},listen:function(){return this.tabableListen()}})});
7
7
  //# sourceMappingURL=luda.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../coffee/install.coffee","../../coffee/constants.coffee","../../coffee/dom.coffee","../../coffee/event.coffee","../../coffee/utilities.coffee","../../coffee/static.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/factory.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../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","_getTransitionDurations","style","propertyLength","durationArray","split","length","concat","slice","map","durationStr","duration","parseFloat","match","getTransitionDuration","delays","durations","finalDurations","styles","getComputedStyle","transitionProperty","transitionDelay","transitionDuration","index","Math","max","apply","_observeDom","onNodeAdded","onNodeRemoved","observer","observerConfig","childList","subtree","MutationObserver","mutations","forEach","mutation","$addedNodes","$removedNodes","removedNodes","addedNodes","Element","observe","documentElement","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","on","handler","call","_onDocReady","_onReset","_onSwipe","_on","onOpposite","_self","addEventListener","e","trigger","every","dispatch","type","detail","delayMilliseconds","options","evt","bubbles","cancelable","composed","Event","setTimeout","dispatchEvent","readyState","bind","$touchStartElement","touchStartE","touchStartX","touchStartY","watch","touches","screenX","screenY","some","eventX","eventXOrY","eventY","touchDistanceX","touchDistanceY","abs","except","element","arr","indexOf","Static","[object Object]","_SELECTOR_INVALID_ERROR","_SELECTORS","_mergeSelectors","_selector","join","$ele","activateEvent","_ACTIVATE_EVENT_TYPE","defaultPrevented","deactivateEvent","_DEACTIVATE_EVENT_TYPE","activateDuration","_setActivatingMark","_ACTIVATED_EVENT_TYPE","_removeActivatingMark","deactivateDuration","_setDeactivatingMark","_DEACTIVATED_EVENT_TYPE","_removeDeactivatingMark","_isActivating","_isDeactivating","hasAttribute","_ACTIVATING_MARK_ATTRIBUTE","_DEACTIVATING_MARK_ATTRIBUTE","getAttribute","removeAttribute","value","setAttribute","_onEleAddedOrRemoved","action","_Observed","Observed","$matched","unshift","classObj","_observer","_onEleAdded","_onEleRemoved","_onElementAdded","_onElementRemoved","exposed","self","_init","_observe","_DISABLED_ATTRIBUTE","keyCode","preventDefault","click","_Class","$exception","_$focus","$focus","classList","remove","_CSS_CLASS","body","add","_isActive","_removeFocusClassExcept","_addFocusClassExceptHtmlAndBody","_PARENT_FOCUS_CHILDREN_SELECTOR","_PARENT_FOCUS_SELECTOR","blur","focus","HTMLElement","prototype","arguments","activeElement","_setElementPrototype","_changeFocusStateOnKeyEvent","_changeFocusStateOnMouseDownEvent","_TOUCHSTART_FOCUS_SELECTOR","getElementsByClassName","Factory","descendant","_children","child","_hasDescendant","_onMutations","_$component","constructor","_observerConfig","disconnect","$component","$family","componentIsElementInstance","instance","parent","_$COMPONENT_INVALID_ERROR","_query$family","query","_$parent","_instances","_createInstance","_parent","_$children","create","instance$component","attribute","results","_disconnect","_destroy","destroy","inited","_SELECTOR","_constructor","_COMPONENT_NO_SELECTOR_ERROR","_isReadonly","readonly","_READONLY_ATTRIBUTE","_READONLY_FALSE_VALUE","_getConfig","_setOriginalTabIndex","_setTabIndex","_ORIGINAL_TABINDEX_ATTRIBUTE","tabIndex","attributes","attributeFilter","$radio","$inputs","$input","$next","$prev","$sameNameRadios","radioIndex","_querySameName$radios","nodeName","toUpperCase","shiftKey","_query$prev$next","name$target","_query$targets","contains","_ACTIVE_CSS_CLASS","_isTransitioning","_activatePrevented","_handleActivateEnd","_shouldAutoDeactivate","_delayDeactivate","_deactivatePrevented","_handleDeactivateEnd","deactivate","activate","_handleActivateCancel","_handleDeactivateCancel","_AUTO_DEACTIVATE_ATTRIBUTE","delay","parseInt","_AUTO_DEACTIVATE_DURATION","_TOGGLE_TARGET_ATTRIBUTE","clickEventSelector","_TOGGLE_FOR_ATTRIBUTE","_TOGGLE_ATTRIBUTE","toggleChecked","$path","$toggle","toggleName","toggle","_TOGGLE_DISABLED_ATTRIBUTE","_$file","_setSimulatorInitialValue","_$simulator","_FILE_SELECTOR","_SIMULATOR_SELECTOR","createElement","_PLACEHOLDER_ATTRIBUTE","placeholder","values","files","file","_VALUE_SPLITOR","_VALUE_ATTRIBUTE","_insertSimulator","_setPlaceholderValue","_setSimulatorValue","$file","reset","indexOrIndexArray","selectedIndexes","_$select","multiple","_$multipleSelectPlaceholder","$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","hasSelected","$selectedOption","innerText","_insertSingleSelectSimulator","_setSingleSelectedDefaultSelectedOption","_setSingleSelectPlaceholderValue","_markDefaultSelectedOption","className","disabled","_insertMultipleSelectBlankOption","_setMultipleSelectPlaceholderValue","$select","select","_reset","activatedIndex","_$items","_activeIndex","_canTransition","_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","_INTERVAL","_WRAP_ATTRIBUTE","_WRAP","_layout","_handleTransitionCancel","play","_setIndicatorsState","_setDirectionControlState","$item","transition","_ITEM_NEXT_CSS_CLASS","_ITEM_PREV_CSS_CLASS","$activatedItem","_handleTransitionEnd","activeIndex","_getActivatingMark","_getDeactivatingMark","$indicator","ref1","ref2","ref3","$carousel","prev","startE","_ACTIVATED_INDEX_ATTRIBUTE","_$menu","_$focused","focusIndex","_$noneSwitches","_$switches","_isStandalone","_MENU_SELECTOR","_SWITCHES_SELECTOR","_NONE_SWITCHES_SELECTOR","_STANDALONE_ATTRIBUTE","exceptions","$dropdown","instances$dropdowns","instance$dropdown","exception","instanceHasntExceptionChild","instanceIsntInExceptions","deactivateExcept","_standaloneInstances","_deactivateChildrenExcept","_prev","_next","_$defaultValues","_$valueHolder","_$values","_VALUE_SELECTOR","_DEFAULT_VALUE_SELECTOR","_VALUE_HOLDER_SELECTOR","_setValueHolderAttribute","_setValueHolderValue","$value","checked","_LABEL_ATTRIBUTE","enter","_add","_ENTER_BEHAVIOR_SELECTOR","test","navigator","userAgent","_$panes","_activate","_PANE_SELECTOR","_INDICATOR_SELECTOR","$pane","_PANE_ACTIVE_CSS_CLASS","$activatedPane","$tab"],"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\n\n _getTransitionDurations: (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000\n\n getTransitionDuration: ($element) ->\n styles = window.getComputedStyle $element\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = @_getTransitionDurations styles.transitionDelay, length\n durations = @_getTransitionDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations\n\n _observeDom: (onNodeAdded, onNodeRemoved) ->\n observerConfig =\n childList: true\n subtree: true\n 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 onNodeRemoved $node if $node instanceof Element and onNodeRemoved\n $addedNodes.forEach ($node) ->\n onNodeAdded $node if $node instanceof Element and onNodeAdded\n observer.observe document.documentElement, observerConfig\n observer","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, delayMilliseconds, 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 if typeof delayMilliseconds is 'number'\n setTimeout ->\n $target.dispatchEvent evt if $target\n , delayMilliseconds\n else\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'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n \nluda class Static\n\n @_SCOPE: 'Static'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_ACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:activate\"\n @_ACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:activated\"\n @_DEACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:deactivate\"\n @_DEACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:deactivated\"\n @_ACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-activating\"\n @_DEACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-deactivating\"\n\n @_Observed: []\n @_observer: null\n\n @_selector: ''\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 @_activatePrevented: ($ele, detail) ->\n activateEvent = luda.dispatch $ele, @_ACTIVATE_EVENT_TYPE(), detail\n activateEvent.defaultPrevented\n\n @_deactivatePrevented: ($ele, detail) ->\n deactivateEvent = luda.dispatch $ele, @_DEACTIVATE_EVENT_TYPE(), detail\n deactivateEvent.defaultPrevented\n\n @_handleActivateEnd: ($ele, detail) ->\n @_setActivatingMark $ele, detail\n activateDuration = luda.getTransitionDuration $ele\n luda.dispatch $ele, @_ACTIVATED_EVENT_TYPE(), detail, activateDuration\n setTimeout =>\n @_removeActivatingMark $ele if $ele\n , activateDuration\n activateDuration\n\n @_handleDeactivateEnd: ($ele, detail) ->\n @_setDeactivatingMark $ele, detail\n deactivateDuration = luda.getTransitionDuration $ele\n luda.dispatch $ele, @_DEACTIVATED_EVENT_TYPE(), detail, deactivateDuration\n setTimeout =>\n @_removeDeactivatingMark $ele if $ele\n , deactivateDuration\n deactivateDuration\n\n @_handleActivateCancel: ($ele, detail) ->\n if @_isActivating $ele\n luda.dispatch $ele, @_ACTIVATED_EVENT_TYPE(), detail\n @_removeActivatingMark $ele\n\n @_handleDeactivateCancel: ($ele, detail) ->\n if @_isDeactivating $ele\n luda.dispatch $ele, @_DEACTIVATED_EVENT_TYPE(), detail\n @_removeDeactivatingMark $ele\n\n @_isActivating: ($ele) ->\n $ele.hasAttribute @_ACTIVATING_MARK_ATTRIBUTE()\n\n @_isDeactivating: ($ele) ->\n $ele.hasAttribute @_DEACTIVATING_MARK_ATTRIBUTE()\n\n @_isTransitioning: ($ele) ->\n @_isActivating($ele) or @_isDeactivating($ele)\n\n @_getActivatingMark: ($ele) ->\n $ele.getAttribute @_ACTIVATING_MARK_ATTRIBUTE()\n\n @_getDeactivatingMark: ($ele) ->\n $ele.getAttribute @_DEACTIVATING_MARK_ATTRIBUTE()\n\n @_removeActivatingMark: ($ele) ->\n $ele.removeAttribute @_ACTIVATING_MARK_ATTRIBUTE()\n\n @_removeDeactivatingMark: ($ele) ->\n $ele.removeAttribute @_DEACTIVATING_MARK_ATTRIBUTE()\n\n @_setActivatingMark: ($ele, value) ->\n $ele.setAttribute @_ACTIVATING_MARK_ATTRIBUTE(), value\n\n @_setDeactivatingMark: ($ele, value) ->\n $ele.setAttribute @_DEACTIVATING_MARK_ATTRIBUTE(), value\n\n @_onEleAdded: ($ele) ->\n Static._onEleAddedOrRemoved $ele, '_onElementAdded'\n\n @_onEleRemoved: ($ele) ->\n Static._onEleAddedOrRemoved $ele, '_onElementRemoved'\n\n @_onEleAddedOrRemoved: ($ele, action) ->\n Static._Observed.forEach (Observed) ->\n return unless Observed[action]\n $matched = luda.$children Observed._selector, $ele\n $matched.unshift $ele if $ele.matches Observed._selector\n $matched.forEach ($target) -> Observed[action] $target\n\n @_observe: (classObj) ->\n unless Static._observer\n Static._observer = \\\n luda._observeDom Static._onEleAdded, Static._onEleRemoved\n if classObj._onElementAdded or classObj._onElementRemoved \\\n and classObj._selector\n unless Static._Observed.includes classObj\n Static._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Static\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, -> Static._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../static.coffee'\n\n\nluda class extends luda.Static\n\n @_SCOPE: 'enter'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_DISABLED_ATTRIBUTE: 'data-enter-disabled'\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if not document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE) \\\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 '../static.coffee'\n\n\n\nluda class extends luda.Static\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 @_DISABLED_ATTRIBUTE: 'data-focus-disabled'\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_isActive: ->\n not document.documentElement.hasAttribute(@_DISABLED_ATTRIBUTE)\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 @_isActive()\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_isActive()\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._isActive() 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._isActive()\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 './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Factory\n\n @_SCOPE: 'Factory'\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\n @_ACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:activate\"\n @_ACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:activated\"\n @_DEACTIVATE_EVENT_TYPE: -> \"#{@_SCOPE}:deactivate\"\n @_DEACTIVATED_EVENT_TYPE: -> \"#{@_SCOPE}:deactivated\"\n @_ACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-activating\"\n @_DEACTIVATING_MARK_ATTRIBUTE: -> \"data-#{@_SCOPE}-deactivating\"\n\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 _activatePrevented: ($ele, detail) ->\n activateEvent = luda.dispatch($ele, \\\n @constructor._ACTIVATE_EVENT_TYPE(), detail)\n activateEvent.defaultPrevented\n\n _deactivatePrevented: ($ele, detail) ->\n deactivateEvent = luda.dispatch($ele, \\\n @constructor._DEACTIVATE_EVENT_TYPE(), detail)\n deactivateEvent.defaultPrevented\n\n _handleActivateEnd: ($ele, detail) ->\n @_setActivatingMark detail\n activateDuration = luda.getTransitionDuration $ele\n luda.dispatch($ele, \\\n @constructor._ACTIVATED_EVENT_TYPE(), detail, \\\n activateDuration)\n setTimeout =>\n @_removeActivatingMark() if @_$component\n , activateDuration\n activateDuration\n\n _handleDeactivateEnd: ($ele, detail) ->\n @_setDeactivatingMark detail\n deactivateDuration = luda.getTransitionDuration $ele\n luda.dispatch($ele, \\\n @constructor._DEACTIVATED_EVENT_TYPE(), detail, \\\n deactivateDuration)\n setTimeout =>\n @_removeDeactivatingMark() if @_$component\n , deactivateDuration\n deactivateDuration\n\n _handleActivateCancel: ($ele, detail) ->\n if @_isActivating()\n luda.dispatch($ele, \\\n @constructor._ACTIVATED_EVENT_TYPE(), detail)\n @_removeActivatingMark()\n\n _handleDeactivateCancel: ($ele, detail) ->\n if @_isDeactivating()\n luda.dispatch($ele, \\\n @constructor._DEACTIVATED_EVENT_TYPE(), detail)\n @_removeDeactivatingMark()\n\n _isActivating: ->\n @_$component.hasAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE()\n\n _isDeactivating: ->\n @_$component.hasAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE()\n\n _isTransitioning: ->\n @_isActivating() or @_isDeactivating()\n\n _getActivatingMark: ->\n @_$component.getAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE()\n\n _getDeactivatingMark: ->\n @_$component.getAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE()\n\n _removeActivatingMark: ->\n @_$component.removeAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE()\n\n _removeDeactivatingMark: ->\n @_$component.removeAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE()\n\n _setActivatingMark: (value) ->\n @_$component.setAttribute @constructor._ACTIVATING_MARK_ATTRIBUTE(), value\n\n _setDeactivatingMark: (value) ->\n @_$component.setAttribute @constructor._DEACTIVATING_MARK_ATTRIBUTE(), value\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 @_onEleAdded: ($ele) ->\n Factory._onEleAddedOrRemoved($ele, 'create')\n\n @_onEleRemoved: ($ele) ->\n Factory._onEleAddedOrRemoved($ele, 'destroy')\n\n @_onEleAddedOrRemoved: ($ele, action) ->\n Factory._Observed.forEach (Observed) ->\n return Observed[action] $ele if $ele.matches Observed._SELECTOR\n luda.$children(Observed._SELECTOR, $ele).forEach ($child) ->\n Observed[action] $child\n\n @_observe: (classObj) ->\n unless Factory._observer\n Factory._observer = \\\n luda._observeDom Factory._onEleAdded, Factory._onEleRemoved\n unless Factory._Observed.includes classObj\n Factory._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Factory\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 Factory._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../factory.coffee'\n\n\n\nluda class extends luda.Factory\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_ORIGINAL_TABINDEX_ATTRIBUTE: 'data-readonly-tabindex'\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 {_isReadonly}\n \n _constructor: ->\n {\n @_isReadonly\n } = @_getConfig()\n @_setOriginalTabIndex()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setOriginalTabIndex: ->\n unless @_$component.hasAttribute \\\n @constructor._ORIGINAL_TABINDEX_ATTRIBUTE\n @_$component.setAttribute \\\n @constructor._ORIGINAL_TABINDEX_ATTRIBUTE, @_$component.tabIndex\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = \\\n @_$component.getAttribute @constructor._ORIGINAL_TABINDEX_ATTRIBUTE","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../static.coffee'\n\n\n\nluda class extends luda.Static\n\n @_SCOPE: 'tabulate'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_DISABLED_ATTRIBUTE: 'data-tabulate-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 not document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE) \\\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 '../dom.coffee'\nimport '../event.coffee'\nimport '../static.coffee'\n\n\n\nluda class extends luda.Static\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_TOGGLE_DISABLED_ATTRIBUTE: 'data-toggle-disabled'\n @_AUTO_DEACTIVATE_ATTRIBUTE: 'data-toggle-auto-deactivate'\n @_AUTO_DEACTIVATE_DURATION: 3000\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_TARGET_ATTRIBUTE}]\"\n ]\n\n @activate: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n return if $target.classList.contains @_ACTIVE_CSS_CLASS\n return if @_isTransitioning $target\n return if @_activatePrevented $target\n $target.classList.add @_ACTIVE_CSS_CLASS\n @_handleActivateEnd $target\n @_delayDeactivate $target if @_shouldAutoDeactivate $target\n\n @deactivate: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n return unless $target.classList.contains @_ACTIVE_CSS_CLASS\n return if @_isTransitioning $target\n return if @_deactivatePrevented $target\n $target.classList.remove @_ACTIVE_CSS_CLASS\n @_handleDeactivateEnd $target\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactivate($target)\n else\n @activate($target)\n\n @_onElementAdded: ($ele) ->\n @_handleActivateCancel $ele\n @_handleDeactivateCancel $ele\n @_delayDeactivate $ele if @_shouldAutoDeactivate $ele\n\n @_shouldAutoDeactivate: ($target) ->\n $target.hasAttribute @_AUTO_DEACTIVATE_ATTRIBUTE\n\n @_delayDeactivate: ($target) ->\n delay = parseInt $target.getAttribute(@_AUTO_DEACTIVATE_ATTRIBUTE), 10\n delay = @_AUTO_DEACTIVATE_DURATION if not delay\n setTimeout =>\n @deactivate $target if $target\n , delay\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 clickEventSelector = \"[#{@_TOGGLE_FOR_ATTRIBUTE}],[#{@_TOGGLE_ATTRIBUTE}]\"\n luda.on luda._DOC_READY, ->\n luda.$children(self._selector).forEach ($target) ->\n self._delayDeactivate $target if self._shouldAutoDeactivate $target\n luda.on 'click', clickEventSelector, (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._TOGGLE_DISABLED_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 reset: ->\n @_$file.value = ''\n @_setSimulatorInitialValue()\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 if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\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 return @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n @_setSimulatorInitialValue()\n \n _setSimulatorInitialValue: ->\n 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 @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @reset: ($file) -> @query($file).reset()\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 '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 = indexOrIndexArray\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 @select: ($select, indexOrIndexArray) ->\n @query($select).select indexOrIndexArray\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 '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 @_ACTIVATED_INDEX_ATTRIBUTE: 'data-carousel-activated-index'\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\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n activate: (index) ->\n if @_$items.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1 \\\n and @_canTransition(index, activatedIndex)\n @_activeIndex = index\n action = if index < activatedIndex then '_slidePrev' else '_slideNext'\n @[action] activatedIndex\n\n next: ->\n if @_$items.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n index = activatedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n return unless @_canTransition(index, activatedIndex)\n @_activeIndex = index\n @_slideNext activatedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n index = activatedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n return unless @_canTransition(index, activatedIndex)\n @_activeIndex = index\n @_slidePrev activatedIndex\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 # 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 @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @_handleTransitionCancel()\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 $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: (activatedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n $activatedItem = @_$items[activatedIndex]\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 $activatedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activatedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_handleTransitionEnd @_activeIndex, activatedIndex\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: (activatedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n $activatedItem = @_$items[activatedIndex]\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 $activatedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activatedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_handleTransitionEnd @_activeIndex, activatedIndex\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _canTransition: (activeIndex, activatedIndex) ->\n not @_activatePrevented(@_$items[activeIndex], activeIndex) \\\n and not @_deactivatePrevented(@_$items[activatedIndex], activatedIndex)\n\n _handleTransitionEnd: (activeIndex, activatedIndex) ->\n activateDuration = \\\n @_handleActivateEnd @_$items[activeIndex], activeIndex\n deactivateDuration = \\\n @_handleDeactivateEnd @_$items[activatedIndex], activatedIndex\n\n _handleTransitionCancel: ->\n if @_isActivating()\n index = parseInt @_getActivatingMark(), 10\n @_handleActivateCancel @_$items[index], index\n if @_isDeactivating()\n activatedIndex = parseInt @_getDeactivatingMark(), 10\n @_handleDeactivateCancel @_$items[activatedIndex], activatedIndex\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 @activate: ($carousel, index) -> @query($carousel).activate index\n\n @next: ($carousel) -> @query($carousel).next()\n\n @prev: ($carousel) -> @query($carousel).prev()\n\n @pause: ($carousel) -> @query($carousel).pause()\n\n @play: ($carousel) -> @query($carousel).play()\n\n # static private\n @_init: ->\n self = this\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.activate 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 '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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 @_TOGGLE_DISABLED_ATTRIBUTE: 'data-dropdown-toggle-disabled'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_TOGGLE_DISABLED_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_TOGGLE_DISABLED_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n activate: ->\n return if @_isActive() or @_isTransitioning()\n return if @_activatePrevented @_$menu\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.activate()\n @_handleActivateEnd @_$menu\n\n deactivate: (focus) ->\n return unless @_isActive() and not @_isTransitioning()\n return if @_deactivatePrevented @_$menu\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactivate()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n @_handleDeactivateEnd @_$menu\n\n toggle: (focus) ->\n if @_isActive() then @deactivate(focus) else @activate()\n\n _prev: ->\n if @_$items.length and @_isActive()\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 @_isActive()\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 {_$menu, _$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n @_onMutations()\n @_handleActivateCancel @_$menu\n @_handleDeactivateCancel @_$menu\n\n _onMutations: (mutations) ->\n {\n @_$menu,\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _isActive: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactivateChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n if child._isActive() and not exceptions.includes child\n child.deactivate()\n else\n @_children.forEach (child) ->\n child.deactivate() if child._isActive()\n\n @activate: ($dropdown) -> @query($dropdown).activate()\n\n @deactivate: ($dropdown, focus) -> @query($dropdown).deactivate(focus)\n\n @toggle: ($dropdown, focus) -> @query($dropdown).toggle focus\n\n @deactivateExcept: (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._isActive() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactivate()\n else\n @_instances.forEach (instance) ->\n instance.deactivate() if instance._isActive()\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.deactivateExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactivateExcept(self._standaloneInstances().concat instance)\n instance._deactivateChildrenExcept()\n instance._parent._deactivateChildrenExcept(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.deactivateExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactivateExcept(instance)\n instance.activate()\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._isActive()\n instance.deactivate true\n else\n instance._parent?.deactivate 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._isActive()\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._isActive()\n instance._next()\n else\n instance._parent?._next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../factory.coffee'\nimport '../behaviors/focus.coffee'\nimport '../behaviors/enter.coffee'\n\n\n\nluda class extends luda.Factory\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_BEHAVIOR_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.enter._add @_ENTER_BEHAVIOR_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_BEHAVIOR_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../factory.coffee'\n\n\n\nluda class extends luda.Factory\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\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n activate: (index) ->\n if @_$panes.length and not @_isTransitioning()\n activatedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n return unless @_canTransition index, activatedIndex\n @_activeIndex = index\n @_activate activatedIndex\n\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 @_layout()\n @_handleTransitionCancel()\n\n _onMutations: (mutations) ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_setIndicatorsState()\n\n _layout: ->\n @_$panes.forEach ($pane, index) =>\n $pane.style.transition = 'none'\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n luda.reflow $pane\n $pane.style.transition = ''\n @_setIndicatorsState()\n\n _activate: (activatedIndex) ->\n $pane = @_$panes[@_activeIndex]\n $activatedPane = @_$panes[activatedIndex]\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n $activatedPane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n @_handleTransitionEnd @_activeIndex, activatedIndex\n @_setIndicatorsState()\n\n _canTransition: (activeIndex, activatedIndex) ->\n not @_activatePrevented(@_$panes[activeIndex], activeIndex) \\\n and not @_deactivatePrevented(@_$panes[activatedIndex], activatedIndex)\n\n _handleTransitionEnd: (activeIndex, activatedIndex) ->\n activateDuration = \\\n @_handleActivateEnd @_$panes[activeIndex], activeIndex\n deactivateDuration = \\\n @_handleDeactivateEnd @_$panes[activatedIndex], activatedIndex\n\n _handleTransitionCancel: ->\n if @_isActivating()\n index = parseInt @_getActivatingMark(), 10\n @_handleActivateCancel @_$panes[index], index\n if @_isDeactivating()\n activatedIndex = parseInt @_getDeactivatingMark(), 10\n @_handleDeactivateCancel @_$panes[activatedIndex], activatedIndex\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n $indicator.checked = true\n else\n $indicator.removeAttribute 'checked'\n $indicator.checked = false\n\n @activate: ($tab, index) -> @query($tab).activate index\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._setIndicatorsState()\n instance.activate instance._$indicators.indexOf this"]}
1
+ {"version":3,"sources":["../../coffee/kernel/base/type.coffee","../../coffee/kernel/base/create-mounter.coffee","../../coffee/kernel/base/environment.coffee","../../coffee/kernel/base/find.coffee","../../coffee/kernel/base/parse-html.coffee","../../coffee/kernel/base/luda.coffee","../../coffee/kernel/base/values-map.coffee","../../coffee/kernel/base/read-value.coffee","../../coffee/kernel/base/parse-value.coffee","../../coffee/kernel/base/split-values.coffee","../../coffee/kernel/collection/each.coffee","../../coffee/kernel/attribute/remove-attr.coffee","../../coffee/kernel/attribute/attr.coffee","../../coffee/kernel/attribute/has-attr.coffee","../../coffee/kernel/base/camel-case.coffee","../../coffee/kernel/base/dash-case.coffee","../../coffee/kernel/base/guid.coffee","../../coffee/kernel/base/pluck.coffee","../../coffee/kernel/base/unique.coffee","../../coffee/kernel/base/utilities.coffee","../../coffee/kernel/cache/helpers/cache.coffee","../../coffee/kernel/base/expando.coffee","../../coffee/kernel/cache/helpers/access.coffee","../../coffee/kernel/cache/remove-cache.coffee","../../coffee/kernel/cache/cache.coffee","../../coffee/kernel/class/helpers/parse-class.coffee","../../coffee/kernel/class/toggle-class.coffee","../../coffee/kernel/class/add-class.coffee","../../coffee/kernel/class/has-class.coffee","../../coffee/kernel/class/remove-class.coffee","../../coffee/kernel/collection/add.coffee","../../coffee/kernel/collection/get.coffee","../../coffee/kernel/collection/eq.coffee","../../coffee/kernel/matches/helpers/matches.coffee","../../coffee/kernel/base/collect.coffee","../../coffee/kernel/collection/filter.coffee","../../coffee/kernel/collection/first.coffee","../../coffee/kernel/collection/has.coffee","../../coffee/kernel/traversal/children.coffee","../../coffee/kernel/traversal/parent.coffee","../../coffee/kernel/collection/index-fn.coffee","../../coffee/kernel/collection/is.coffee","../../coffee/kernel/collection/last.coffee","../../coffee/kernel/collection/map.coffee","../../coffee/kernel/collection/not.coffee","../../coffee/kernel/collection/slice.coffee","../../coffee/kernel/event/ready.coffee","../../coffee/kernel/base/find-all.coffee","../../coffee/kernel/component/helpers/auto.coffee","../../coffee/kernel/log/helpers/print.coffee","../../coffee/kernel/log/log.coffee","../../coffee/kernel/event/helpers/event-path.coffee","../../coffee/kernel/event/helpers/luda-event.coffee","../../coffee/kernel/event/helpers/namespace-matches.coffee","../../coffee/kernel/event/helpers/variables.coffee","../../coffee/kernel/event/helpers/parse-event-name.coffee","../../coffee/kernel/event/trigger.coffee","../../coffee/kernel/event/helpers/swipe-event.coffee","../../coffee/kernel/event/helpers/remove-event.coffee","../../coffee/kernel/event/helpers/add-event.coffee","../../coffee/kernel/event/on.coffee","../../coffee/kernel/event/off.coffee","../../coffee/kernel/component/helpers/events.coffee","../../coffee/kernel/traversal/parents.coffee","../../coffee/kernel/component/helpers/unnested.coffee","../../coffee/kernel/component/helpers/traversal.coffee","../../coffee/kernel/component/helpers/watch.coffee","../../coffee/kernel/component/helpers/base.coffee","../../coffee/kernel/component/helpers/proxy.coffee","../../coffee/kernel/component/component.coffee","../../coffee/kernel/css/helpers/compute-style.coffee","../../coffee/kernel/css/helpers/is-variable.coffee","../../coffee/kernel/css/helpers/read-prop.coffee","../../coffee/kernel/css/helpers/parse-value.coffee","../../coffee/kernel/css/css.coffee","../../coffee/kernel/css/remove-css.coffee","../../coffee/kernel/data/helpers/parse-name.coffee","../../coffee/kernel/data/remove-data.coffee","../../coffee/kernel/data/data.coffee","../../coffee/kernel/data/has-data.coffee","../../coffee/kernel/dimension/inner.coffee","../../coffee/kernel/css/helpers/compute-style-int.coffee","../../coffee/kernel/dimension/helpers/get-extra-space.coffee","../../coffee/kernel/dimension/normal.coffee","../../coffee/kernel/dimension/outer.coffee","../../coffee/kernel/event/one.coffee","../../coffee/kernel/form/helpers/get-value.coffee","../../coffee/kernel/form/val.coffee","../../coffee/kernel/manipulation/helpers/variables.coffee","../../coffee/kernel/manipulation/helpers/clone.coffee","../../coffee/kernel/traversal/find.coffee","../../coffee/kernel/manipulation/helpers/eval-scripts.coffee","../../coffee/kernel/manipulation/helpers/insert-element.coffee","../../coffee/kernel/manipulation/insert-after.coffee","../../coffee/kernel/manipulation/after.coffee","../../coffee/kernel/manipulation/helpers/insert-content.coffee","../../coffee/kernel/manipulation/append-to.coffee","../../coffee/kernel/manipulation/append.coffee","../../coffee/kernel/manipulation/insert-before.coffee","../../coffee/kernel/manipulation/before.coffee","../../coffee/kernel/manipulation/clone.coffee","../../coffee/kernel/manipulation/detach.coffee","../../coffee/kernel/manipulation/helpers/clean.coffee","../../coffee/kernel/manipulation/empty.coffee","../../coffee/kernel/manipulation/html.coffee","../../coffee/kernel/manipulation/prepend-to.coffee","../../coffee/kernel/manipulation/prepend.coffee","../../coffee/kernel/manipulation/remove.coffee","../../coffee/kernel/manipulation/replace-with.coffee","../../coffee/kernel/manipulation/replace-all.coffee","../../coffee/kernel/manipulation/text.coffee","../../coffee/kernel/manipulation/unwrap.coffee","../../coffee/kernel/manipulation/wrap-all.coffee","../../coffee/kernel/traversal/contents.coffee","../../coffee/kernel/manipulation/wrap-inner.coffee","../../coffee/kernel/manipulation/wrap.coffee","../../coffee/kernel/matches/matches.coffee","../../coffee/kernel/mixin/helpers/base.coffee","../../coffee/kernel/mixin/helpers/named.coffee","../../coffee/kernel/mixin/mixin.coffee","../../coffee/kernel/offset/offset-parent.coffee","../../coffee/kernel/offset/offset.coffee","../../coffee/kernel/offset/position.coffee","../../coffee/kernel/prop/prop.coffee","../../coffee/kernel/prop/remove-prop.coffee","../../coffee/kernel/reflow/reflow.coffee","../../coffee/kernel/transition/helpers/get-durations.coffee","../../coffee/kernel/transition/transition.coffee","../../coffee/kernel/traversal/closest.coffee","../../coffee/kernel/traversal/next.coffee","../../coffee/kernel/traversal/next-all.coffee","../../coffee/kernel/traversal/prev.coffee","../../coffee/kernel/traversal/prev-all.coffee","../../coffee/kernel/traversal/siblings.coffee","../../coffee/mixins/disable.coffee","../../coffee/behaviors/disabled.coffee","../../coffee/behaviors/enter.coffee","../../coffee/behaviors/focus.coffee","../../coffee/behaviors/readonly.coffee","../../coffee/behaviors/tabulate.coffee","../../coffee/mixins/toggleable.coffee","../../coffee/behaviors/toggle.coffee","../../coffee/mixins/resetable.coffee","../../coffee/elements/form-file.coffee","../../coffee/elements/form-select.coffee","../../coffee/mixins/tabable.coffee","../../coffee/patterns/carousel.coffee","../../coffee/patterns/dropdown.coffee","../../coffee/patterns/form-dropdown.coffee","../../coffee/patterns/tab.coffee"],"names":["Type","isArray","Array","isString","x","isFunction","isObject","isBool","isNumeric","isNaN","parseFloat","isFinite","isDecimalism","test","isId","isClass","isTag","isSingleTag","isHtml","isScript","tagName","type","isFragment","isWindow","window","isDocument","nodeType","isElement","createMounter","target","messagePrefix","handler","mount","name","val","msg","n","v","console","warn","this","getEnv","document","global","Error","environment","find","selector","ctx","from","getElementsByClassName","slice","getElementsByTagName","querySelectorAll","containers","containersMap","div","table","tr","createElement","*","thead","tbody","tfoot","th","td","parseHTML","html","container","RegExp","$1","innerHTML","childNodes","map","node","parentNode","removeChild","Luda","luda","[object Object]","els","length","include","prototype","extend","ValuesMap","false","true","Infinity","NaN","null","undefined","readValue","value","JSON","parse","error","Number","parseValue","stringify","splitValues","str","match","each","callback","some","el","index","call","removeAttr","attr","attrs","forEach","att","removeAttribute","key","arguments","setAttribute","getAttribute","hasAttr","hasAttribute","pattern","replacer","letter","toUpperCase","camelCase","replace","toLowerCase","dashCase","guid","guid$1","pluck","arr","prop","deep","plucked","item","results","push","unique","filter","indexOf","_cache","cache","cacheFactory","privateCache","publicCache","Object","keys","expando","_access","access","accessFactory","clean","c","owner","uid","removeCache","k","isPrivate","cls","parseClass","toggleClass","force","classes","isForce","classList","add","remove","toggle","addClass","hasClass","contains","removeClass","context","concat","get","eq","matches","collect","comparator","oppsite","includes","first","has","children","all","apply","parent","parents","matched","child","collection","is","last","not","ready","readyState","removeEventListener","addEventListener","setTimeout","findAll","Components","autoCreateAndDestroy","autoable","config","disAutoSelector","observer","childList","subtree","attributes","Component","MutationObserver","mus","attrNodes","nodes","mu","addedNodes","removedNodes","C","root","create","destroy","instances","observe","watcher","print","style","log","print$1","active","factory","infoStyle","prvLabelStyle","pubLabelStyle","label","time","Date","now","arg","info","eventPath","event","composedPath","path","LudaEvent","originalEvent","defaultPrevented","bubbles","_propagationStopped","_immediatePropagationStopped","preventDefault","stopPropagation","stopImmediatePropagation","ludaEvent","Proxy","nMatches","definedNamespace","namespace","every","Variables","focusEvents","focus","blur","hoverEvents","mouseenter","mouseleave","swipeEvents","left","right","up","down","swipeDistance","keyCodes","enter","tab","ctrl","alt","shift","esc","back","space","cap","del","end","home","ins","pgUp","pgDown","parseEventName","keysRe","preventRe","stopRe","join","evtName","matchedKeys","splited","split","keyCode","stop","prevent","trigger","detail","afterTrigger","handledEvts","events","evt","CustomEvent","cancelable","composed","e","isFocusEvent","values","dispatchEvent","createEvent","startX","startY","touchMoveHandler","touchStartHandler","triggered","touches","screenX","screenY","direction","endX","endY","xMoved","yMoved","Math","abs","start","moved","distance","swipeEvent","removeEvent","removeEvent$1","evtCache","swipeTypes","typeCache","quene","binded","t","addEvent","kc","_one","swipeBinded","one","cached","eType","self","it","returnValue","currentTarget","isImmediatePropagationStopped","isPropagationStopped","ref","addEvent$1","on","keyCallback","option","off","addEvents","findRoot","isntPropagation","removeEvents","id","rootEl","helpers","listen","callbacks","evtSelector","data","unnested","instance","rootSelector","constructor","rootParent","addTraversal","cleanTraversal","createGetter","nestable","cacheable","defineProperty","traversal","traversals","names","createObserver","cur","executeMutations","findSameMutation","nodesEqual","runAttrCallbacks","runDomCallbacks","stopWatch","watch","attributeOldValue","isInProto","proto","mutation","watches","dom","oldVal","attributeName","oldValue","mutations","nodesOne","nodesTwo","itemsOne","itemsTwo","theSameMutation","inses","takeRecords","nestedMutation","conf","d","a","disconnect","Base","definedWatch","eventsBinded","traversalAdded","unshift","hasInstances","help","fn","included","protect","win","doc","documentElement","body","Base$1","constructorAccessWarn","createComponentProxy","createInstancesCallProxy","createInstancesProxy","instanceAccessWarn","action","extended","proxy","set","args","con","vals","instancesProxy","Function","bind","returns","chain","createProxy","autoEnabled","computeStyle","isVar","getComputedStyle","getPropertyValue","isVariable","readProp","numericProps","parseValue$1","css","setProperty","removeCss","parseName","removeData","dataset","datas","hasData","innerWidth","innerHeight","computeStyleInt","parseInt","getExtraSpace","xAxis","valNumber","getBoundingClientRect","boxSizing","extra","width","height","includeMargins","marginOne","marginTwo","offsetSize","outerWidth","outerHeight","getValue","multiple","options","optionValue","selected","disabled","Variables$1","scriptExpando","clone","cacheAndEvts","cloned","clonedScripts","clones","scripts","cloneNode","script","i","src","V","executed","_evt","EV","assign","found","CDATARe","geval","eval","evalScripts","scriptCache","ownerDocument","textContent","insertElement","anchor","prepend","prependTarget","insertBefore","appendChild","insertAfter","childToBeInserted","nextSibling","after","argReverse","reverse","insertContent","p","parentIndex","firstChild","appendTo","append","before","cacheAndEvents","detach","clean$1","empty","len","prependTo","replaceWith","replaceAll","text","unwrap","wrapAll","structure","wrapper","firstElementChild","contents","content","contentDocument","wrapInner","wrap","Mixin","Mixin$1","picked","newName","named","unmount","mixin","offsetParent","offset","docEl","rect","top","pageYOffset","clientTop","pageXOffset","clientLeft","position","offsetLeft","offsetTop","removeProp","props","reflow","offsetHeight","getDurations","propertyLength","durationArray","durationStr","duration","transitionDuration","delays","durations","finalDurations","styles","transitionProperty","transitionDelay","max","closest","filtered","next","_all","nextAll","prev","_al","prevAll","siblings","sibs","disableCreate","dataAttr","tabIndex","disable","disableDestroy","component","enable","selectors","click","Focus","focused","always","nested","touch","addable","cacheEvt","evtTriggeredFocus","preventScroll","tabulate","findSiblings","radio","radios","shiftKey","toggleableActivate","toggleableActive","toggleableTarget","toggleable","activate","isDefaultPrevented","clearTimeout","toggleableDeactivating","toggleableActivating","activated","toggleableDeactivate","deactivate","deactivated","toggleableToggle","toggleableTransitioning","toggleableTriggerable","evtPath","ref1","toggleAttr","default","toggleableFocusOpener","toggleableFocused","activeElement","toggleableActivateOnEvent","toggleableDeactivateOnEvent","toggleableToggleOnEvent","toggleableCreate","interruption","toggleableDestroy","toggleableFind","for","auto","autoDuration","toggleAutoState","toggleOnEvent","listened","pushed","reset","file","simulator","splitor","insertSimulator","updatePlaceholder","placeholder","updateValue","files","f","tryReset","select","defaultMarked","tryEmpty","o","selectedIndex","markSelected","markDefault","initSimulator","tabableActivate","tabableActiveIndex","tabableSlide","tabableNext","tabableTargets","tabableWrapable","tabablePrev","tabableLayout","activeCls","isActive","nextCls","prevCls","tabable","tabableSetIndicatorsState","tabableSetDirectionCtrlsState","activateEvt","activatedIndex","deactivateEvt","directionCls","oppsiteCls","tabableActivating","tabableDeactivateIndex","tabableDeactivating","activeIndex","wrapAttr","wrapable","tabableTransitioning","tabableIndicators","indicatorActive","maxIndex","minIndex","nextCtrl","nextDis","prevCtrl","prevDis","tabablePrevCtrl","tabableNextCtrl","tabableActivateOnEvent","tabablePrevOnEvent","tabableNextOnEvent","tabableDestroy","deactivateIndex","tabableCreate","deactive","tabableFind","targets","indicators","tabableWatch","tabableSetDirectionControlState","tabableListen","listeners","interval","alias","pause","intervaling","nextInterval","playAt","pauseIndex","play","touchendPlay","standalone","items","parentRoot","escDeactivate","prevItem","nextItem","menu","parentMenu","exceptions","isExcepted","isStandalone","labels","disableSimulator","input","checked","triggerClick"],"mappings":"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","sourcesContent":["export default\n\n isArray: Array.isArray\n\n isString: (x) -> typeof x is 'string'\n\n isFunction: (x) -> typeof x is 'function'\n\n isObject: (x) -> typeof x is 'object'\n\n isBool: (x) -> typeof x is 'boolean'\n\n isNumeric: (x) -> not isNaN(parseFloat x) and isFinite x\n\n isDecimalism: (x) -> /^\\d*\\.?\\d+$/.test x and not /^0+\\d+\\.?/.test x\n\n isId: (x) -> /^#[\\w-]*$/.test x\n\n isClass: (x) -> /^\\.[\\w-]*$/.test x\n\n isTag: (x) -> /^\\w+$/.test x\n\n isSingleTag: (x) -> /^\\s*<(\\w+)\\s*\\/?>(?:<\\/\\1>)?\\s*$/.test x\n\n isHtml: (x) -> /<.+>/.test x\n\n isScript: (x) ->\n x.tagName is 'SCRIPT' and /^$|^module$|\\/(?:java|ecma)script/i.test x.type\n\n isFragment: (x) -> /^\\s*<(\\w+)[^>]*>/.test x\n\n isWindow: (x) -> x and x is window\n\n isDocument: (x) -> x and x.nodeType is 9\n\n isElement: (x) -> x and x.nodeType is 1","import Type from './type.coffee'\n\n\n\nexport default (target, messagePrefix, handler) ->\n mount = (name, val) ->\n if Type.isString name\n if name of target\n msg = \"Namespace '#{name}' is occupied, \"\n msg += \"skip #{messagePrefix or 'mounting'}.\"\n console.warn msg\n else\n target[name] = if handler then handler name, val else val\n else\n mount n, v for n, v of name\n this","getEnv = ->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported environment!'\n\n\n\nexport default getEnv()","import Type from './type.coffee'\n\n\n\nexport default (selector, ctx = document) ->\n return [] unless Type.isDocument(ctx) or Type.isElement(ctx)\n Array.from switch\n when Type.isClass selector\n ctx.getElementsByClassName selector.slice(1)\n when Type.isTag selector\n ctx.getElementsByTagName selector\n # when Type.isId selector\n # if el = ctx.getElementById selector.slice(1) then [el] else []\n else\n ctx.querySelectorAll selector","import Type from './type.coffee'\n\n\n\ncontainersMap = null\n\ncontainers = (type) ->\n return containersMap[type] or containersMap['*'] if containersMap\n div = document.createElement 'div'\n table = document.createElement 'table'\n tr = document.createElement 'tr'\n containersMap =\n '*': div\n thead: table\n tbody: table\n tfoot: table\n tr: document.createElement 'tbody'\n th: tr\n td: tr\n containers type\n\n\n\nexport default (html) ->\n return [] unless Type.isString html\n return [document.createElement RegExp.$1] if Type.isSingleTag html\n container = containers(Type.isFragment html and RegExp.$1)\n container.innerHTML = html\n Array.from(container.childNodes).map (node) ->\n node.parentNode.removeChild node if node.parentNode","import Type from './type.coffee'\nimport createMounter from './create-mounter.coffee'\nimport environment from './environment.coffee'\nimport find from './find.coffee'\nimport parseHTML from './parse-html.coffee'\n\n\n\nclass Luda\n\n constructor: (selector, ctx = document) ->\n @els = []\n @length = 0\n return unless selector\n return selector if selector instanceof Luda\n @els = switch\n when Type.isString selector\n if Type.isHtml selector\n parseHTML selector\n else\n ctx = ctx.els[0] if ctx instanceof Luda\n find selector, ctx\n when selector.nodeType or Type.isWindow selector then [selector]\n when Type.isArray selector then selector\n else Array.from selector\n @length = @els.length\n\n\n\nunless luda = environment.luda\n environment.luda = luda = (selector, ctx) -> new Luda selector, ctx\n luda.include = createMounter Luda.prototype, 'including'\n luda.extend = createMounter luda, 'extending'\n\n\n\nexport {luda, luda as default, Luda}","export default\n 'false': false\n 'true': true\n 'Infinity': Infinity\n 'NaN': NaN\n 'null': undefined\n 'undefined': undefined","import Type from './type.coffee'\nimport ValuesMap from './values-map.coffee'\n\n\n\nexport default (value) ->\n return if value is null or value is 'null'\n return value unless Type.isString value\n try\n JSON.parse value\n catch err\n if Type.isDecimalism value\n Number value\n else if value of ValuesMap\n ValuesMap[value]\n else\n value","import Type from './type.coffee'\n\n\n\nexport default (value) ->\n return value unless Type.isObject value\n try\n JSON.stringify value\n catch err\n value","import type from './type.coffee'\n\n\n\nexport default (str) ->\n if type.isString str then str.match(/\\S+/g) or [] else []","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n each: (callback) ->\n @els.some (el, index) -> callback.call(el, el, index) is false\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeAttr: (attr) ->\n attrs = splitValues attr\n return this unless attrs.length\n @els.forEach (el) -> attrs.forEach (att) -> el.removeAttribute att\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport '../collection/each.coffee'\nimport './remove-attr.coffee'\n\n\n\nluda.include\n\n attr: (attr, value) ->\n return unless attr\n if Type.isString attr\n if arguments.length >= 2\n return this if value is undefined\n return @removeAttr attr if value is null\n @els.forEach (el) -> el.setAttribute attr, parseValue(value)\n return this\n return unless @els[0]\n return readValue(@els[0].getAttribute attr)\n @attr key, val for key, val of attr\n this","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n hasAttr: (attr) ->\n return false unless attr\n @els.some (el) -> el.hasAttribute attr","pattern = /-([a-z])/g\n\nreplacer = (match, letter) -> letter.toUpperCase()\n\n\n\nexport default (str) -> str.replace pattern, replacer","pattern = /([A-Z])/g\n\nreplacer = (match, letter) -> \"-#{letter.toLowerCase()}\"\n\n\n\nexport default (str) ->\n \"#{str[0].toLowerCase()}#{str.slice(1).replace pattern, replacer}\"","guid = 0\n\n\n\nexport default -> guid += 1","export default (arr, prop, deep) ->\n plucked = []\n arr.forEach (item) ->\n val = item[prop]\n until val is null\n plucked.push val\n break unless deep\n val = val[prop]\n plucked","export default (arr) ->\n return arr unless arr.length > 1\n arr.filter (item, index) -> arr.indexOf(item) is index","import luda from './luda.coffee'\nimport camelCase from './camel-case.coffee'\nimport dashCase from './dash-case.coffee'\nimport Type from './type.coffee'\nimport guid from './guid.coffee'\nimport pluck from './pluck.coffee'\nimport unique from './unique.coffee'\n\n\n\n[\n 'isString'\n 'isFunction'\n 'isArray'\n 'isObject'\n 'isBool'\n 'isNumeric'\n 'isDecimalism'\n 'isElement'\n].forEach (key) -> luda.extend key, Type[key]\n\nluda.extend\n\n camelCase: camelCase\n dashCase: dashCase\n guid: guid\n pluck: pluck\n unique: unique","import Type from '../../base/type.coffee'\n\n\n\npublicCache = {}\nprivateCache = {}\n\ncacheFactory = (cache) ->\n (guid, key, value) ->\n return cache unless guid\n if key is null\n delete cache[guid]\n else if value is null\n return unless guid of cache\n delete cache[guid][key]\n delete cache[guid] unless Object.keys(cache[guid]).length\n else if value is undefined\n return cache[guid] if key is undefined\n return cache[guid] = key if Type.isObject key\n return unless guid of cache\n cache[guid][key]\n else\n return if key is undefined\n cache[guid] ||= {}\n cache[guid][key] = value\n\ncache = cacheFactory publicCache\n_cache = cacheFactory privateCache\n\n\n\nexport {cache, cache as default, _cache}","export default '__luda_guid'","import {cache, _cache} from './cache.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\n\n\n\naccessFactory = (c) ->\n (owner, key, value) ->\n return c() unless arguments.length\n uid = owner[expando] ||= guid()\n c uid, key, value\n\naccess = accessFactory cache\n_access = accessFactory _cache\n\nclean = (owner) ->\n if owner[expando]\n _access owner, null\n access owner, null\n\n\n\nexport {access, access as default, _access, clean}","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport access from './helpers/access.coffee'\n\n\n\nluda.include\n\n removeCache: (key) ->\n if arguments.length\n keys = splitValues(key).map (k) -> camelCase k\n return this unless keys.length\n @els.forEach (el) -> keys.forEach (k) -> access el, k, null\n else\n @els.forEach (el) -> access el, null\n this","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport {access, _access} from './helpers/access.coffee'\nimport './remove-cache.coffee'\n\n\n\nluda.extend\n \n cache: (isPrivate) -> if isPrivate then _access() else access()\n\nluda.include\n\n cache: (key, value) ->\n unless key\n return unless @els[0]\n return access(@els[0]) or access(@els[0], {})\n if Type.isString key\n key = camelCase key\n if arguments.length < 2\n return unless @els[0]\n access(@els[0], {}) unless access(@els[0])\n return access @els[0], key\n return this if value is undefined\n return @removeCache key if value is null\n @els.forEach (el) ->\n access(el, {}) unless access(el)\n access el, key, value\n return this\n @cache k, v for k, v of key\n this","import Type from '../../base/type.coffee'\n\n\n\npattern = /^\\./\n\nparse = (cls) ->\n if Type.isString cls then cls.replace pattern, '' else cls\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n toggleClass: (cls, force) ->\n classes = splitValues cls\n isForce = force isnt undefined\n return this unless classes.length\n classes = classes.map (c) -> parseClass c\n @els.forEach (el) -> classes.forEach (c) ->\n if isForce\n if force then el.classList.add c else el.classList.remove c\n else\n el.classList.toggle c\n this","import luda from '../base/luda.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n addClass: (cls) -> @toggleClass cls, true","import luda from '../base/luda.coffee'\nimport parseClass from './helpers/parse-class.coffee'\n\n\n\nluda.include\n\n hasClass: (cls) ->\n return false unless cls\n cls = parseClass cls\n @els.some (el) -> el.classList.contains cls","import luda from '../base/luda.coffee'\nimport '../attribute/attr.coffee'\nimport './toggle-class.coffee'\n\n\n\nluda.include\n\n removeClass: (cls) ->\n if arguments.length then @toggleClass cls, false else @attr 'class', ''","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n add: (selector, context) ->\n luda unique(@els.concat luda(selector, context).els)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n \n get: (index) ->\n return @els if index is undefined\n @els[if index < 0 then index + @els.length else index]","import luda from '../base/luda.coffee'\nimport './get.coffee'\n\n\n\nluda.include\n \n eq: (index) -> luda @get(index)","export default (el, selector) ->\n el and el.matches and el.matches selector","import {Luda} from './luda.coffee'\nimport matches from '../matches/helpers/matches.coffee'\nimport Type from './type.coffee'\n\n\n\nexport default (els, comparator, oppsite) ->\n return els if not comparator or not els?.length\n els.filter (el, index) ->\n match = switch\n when Type.isString comparator\n matches el, comparator\n when Type.isFunction comparator\n comparator.call el, el, index\n when comparator instanceof Luda\n comparator.els.includes el\n else\n el is comparator\n if oppsite then not match else match","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\nluda.include\n \n filter: (comparator) ->\n return luda() unless comparator\n luda collect(@els, comparator)","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n first: -> @eq 0","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport Type from '../base/type.coffee'\nimport './filter.coffee'\n\n\n\nluda.include\n\n has: (selector) ->\n if Type.isString selector\n comparator = (el) -> find(selector, el).length > 0\n else\n comparator = (el) -> el.contains selector\n @filter comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n children: (comparator) ->\n all = []\n @els.forEach (el) -> [].push.apply(all, el.children)\n luda collect(unique(all), comparator)","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parent: (comparator) ->\n return luda unique(pluck @els, 'parentNode') unless comparator\n parents = []\n @els.forEach (el) ->\n while parent = el.parentNode\n matched = collect([parent], comparator)[0]\n return parents.push matched if matched\n el = parent\n luda unique(parents)","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\n\n\n\nluda.include\n\n index: (selector) ->\n child = if selector then luda(selector).els[0] else @els[0]\n collection = if selector then @els else luda(child).parent().children().els\n collection.indexOf child","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n is: (comparator) ->\n return false if not comparator or not @els.length\n collect(@els, comparator).length > 0","import luda from '../base/luda.coffee'\nimport './eq.coffee'\n\n\nluda.include\n \n last: -> @eq -1","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n map: (callback) ->\n collection = @els.map (el, index) -> callback.call(el, el, index)\n luda collection","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\n\n\n\nluda.include\n\n not: (comparator) ->\n return this if not comparator or not @els.length\n luda collect(@els, comparator, true)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n slice: -> luda [].slice.apply(@els, arguments)","import luda from '../base/luda.coffee'\n\n\n\nluda.extend\n\n ready: (callback) ->\n if document.readyState is 'loading'\n handler = ->\n callback luda\n document.removeEventListener 'DOMContentLoaded', handler\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler = -> callback luda\n setTimeout handler\n this","import find from './find.coffee'\nimport matches from '../matches/helpers/matches.coffee'\n\n\n\nexport default (selector, ctx) ->\n all = find selector, ctx\n all.push ctx if matches ctx, selector\n all","import expando from '../../base/expando.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport unique from '../../base/unique.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\n\n\n\ndisAutoSelector = '[data-auto=false]'\n\nComponents = []\n\nobserver = null\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n \nautoCreateAndDestroy = (Component) ->\n return if Components.includes Component\n Components.push Component\n return if observer\n observer = new MutationObserver (mus) ->\n nodes = []\n attrNodes = []\n mus.forEach (mu) ->\n nodes = nodes\n .concat(Array.from mu.addedNodes)\n .concat(Array.from mu.removedNodes)\n attrNodes.push mu.target if mu.type is 'attributes'\n nodes = unique nodes\n attrNodes = unique attrNodes\n Components.forEach (C) ->\n els = []\n nodes.forEach (node) ->\n els = els.concat(findAll C.root, node)\n unique(els).forEach (el) ->\n return if matches el, disAutoSelector\n if document.contains el then C.create el else C.destroy el\n attrNodes.forEach (el) ->\n return if matches el, disAutoSelector\n if matches el, C.root\n C.create el\n else if C.instances[el[expando]]\n C.destroy el\n\n observer.observe document, config\n _access document, 'ComponentsAutomation',\n Components: Components\n watcher: observer\n\nautoable = (selector) -> \"#{selector}:not(#{disAutoSelector})\"\n\n\n\nexport {autoCreateAndDestroy, autoable}","import Type from '../../base/type.coffee'\n\n\n\nprint = (msg, style) ->\n if Type.isString msg\n return console.log \"%c#{msg}\", style\n console.log msg\n\n\n\nexport default print","import luda from '../base/luda.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport print from './helpers/print.coffee'\n\n\n\nactive = false\n\npubLabelStyle = 'color:#0085ff;font-weight:bold'\nprvLabelStyle = 'color:#f8427f;font-weight:bold'\ninfoStyle = 'color:#383838;font-weight:bold'\n\nfactory = (style, label) ->\n log = ->\n return active unless arguments.length\n if arguments.length is 1 and Type.isBool arguments[0]\n active = arguments[0]\n msg = \"Luda log #{if active then 'opened' else 'closed'}.\"\n return log msg\n return unless active\n time = Date.now()\n print \"\\n\\n\\n#{label}LOG #{guid()} #{time}\", style.label\n Array.from(arguments).forEach (arg) -> print arg, style.info\n\nluda.extend 'log', factory({info: infoStyle, label: pubLabelStyle}, '')\n\n\n\nexport default factory({info: infoStyle, label: prvLabelStyle}, 'LUDA ')","import pluck from '../../base/pluck.coffee'\n\n\n\nexport default (event) ->\n if event.composedPath\n event.composedPath()\n else if event.path\n event.path\n else\n [event.target].concat(pluck [event.target], 'parentNode', true)","import eventPath from './event-path.coffee'\n\n\n\nclass LudaEvent\n\n constructor: (event) -> @originalEvent = event\n\n isDefaultPrevented: -> @originalEvent.defaultPrevented\n\n isPropagationStopped: -> not @originalEvent.bubbles or @_propagationStopped\n\n isImmediatePropagationStopped: -> @_immediatePropagationStopped\n\n preventDefault: -> @originalEvent.preventDefault()\n\n stopPropagation: ->\n @originalEvent.stopPropagation()\n @_propagationStopped = true\n\n stopImmediatePropagation: ->\n @originalEvent.stopImmediatePropagation()\n @_immediatePropagationStopped = true\n\n eventPath: -> eventPath @originalEvent\n\n\nexport default (event) ->\n ludaEvent = new LudaEvent event\n new Proxy ludaEvent,\n get: (target, key) ->\n if key of target then target[key] else target.originalEvent[key]","export default (definedNamespace, namespace) ->\n namespace.every (n) -> definedNamespace.includes n","export default\n expando: 'event'\n focusEvents:\n focus: 'focusin'\n blur: 'focusout'\n hoverEvents:\n mouseenter: 'mouseover'\n mouseleave: 'mouseout'\n swipeEvents:\n left: 'swipeleft'\n right: 'swiperight'\n up: 'swipeup'\n down: 'swipedown'\n swipeDistance: 10\n keyCodes:\n enter: 13\n tab: 9\n ctrl: 17\n alt: 18\n shift: 16\n esc: 27\n back: 8\n space: 32\n cap: 20\n up: 38\n down: 40\n left: 37\n right: 39\n del: 46\n end: 35\n home: 36\n ins: 45\n pgUp: 33\n pgDown: 34","import splitValues from '../../base/split-values.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default (name) ->\n stopRe = /(&stop)+/ig\n preventRe = /(&prevent)+/ig\n keysRe = new RegExp \"@(#{Object.keys(Variables.keyCodes).join('|')})\", 'g'\n splitValues(name).map (n) ->\n stopPropagation = stopRe.test n\n preventDefault = preventRe.test n\n splited = n.replace(stopRe, '')\n .replace(preventRe, '')\n .replace(keysRe, '').split('.')\n evtName = splited[0]\n type = Variables.focusEvents[evtName] or \\\n Variables.hoverEvents[evtName] or evtName\n keyCodes = []\n matchedKeys = n.match(keysRe)\n matchedKeys and matchedKeys.forEach (key) ->\n k = key.replace(/@/g, '')\n keyCodes.push keyCode if keyCode = Variables.keyCodes[k]\n type: type\n stop: stopPropagation\n prevent: preventDefault\n namespace: splited.slice(1)\n key: keyCodes","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport ludaEvent from './helpers/luda-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport Variables from './helpers/variables.coffee'\n\n\n\nluda.include\n\n trigger: (name, detail, afterTrigger) ->\n handledEvts = [] if afterTrigger and not Type.isFunction afterTrigger\n @els.forEach (el) ->\n if Type.isString name\n events = parseEventName(name).map (evt) ->\n event = new CustomEvent evt.type,\n bubbles: true\n cancelable: true\n composed: true\n detail: detail\n event.namespace = evt.namespace\n event\n else\n events = if Type.isArray name then name else [name]\n events.forEach (e) ->\n e.ludaEvent = ludaEvent e\n isFocusEvent = Object.values(Variables.focusEvents).includes e.type\n if isFocusEvent and Type.isFunction(el[e.type])\n el[e.type]()\n else\n el.dispatchEvent e\n if Type.isFunction afterTrigger\n afterTrigger e.ludaEvent, e.ludaEvent.detail, el\n else if afterTrigger\n handledEvts.push e.ludaEvent\n handledEvts or this","import luda from '../../base/luda.coffee'\nimport Variables from './variables.coffee'\nimport '../trigger.coffee'\n\n\n\nstartX = startY = NaN\ntriggered = false\n\ntouchStartHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n startX = e.touches[0].screenX\n startY = e.touches[0].screenY\n triggered = false\n\ntouchMoveHandler = (e) ->\n return if e.defaultPrevented\n return unless e.touches.length is 1\n return if triggered\n endX = e.touches[0].screenX\n xMoved = endX - startX\n if Math.abs(xMoved) >= Variables.swipeDistance\n triggered = true\n direction = if xMoved > 0 then 'right' else 'left'\n return luda(e.target).trigger(createEvent direction, startX, endX, xMoved)\n endY = e.touches[0].screenY\n yMoved = endY - startY\n if Math.abs(yMoved) >= Variables.swipeDistance\n triggered = true\n direction = if yMoved > 0 then 'down' else 'up'\n luda(e.target).trigger(createEvent direction, startY, endY, yMoved)\n\ncreateEvent = (direction, start, end, moved) ->\n event = new CustomEvent Variables.swipeEvents[direction],\n bubbles: true\n cancelable: true\n composed: true\n event.start = start\n event.end = end\n event.distance = Math.abs moved\n event\n\n\n\nexport default\n add: (el) ->\n el.addEventListener 'touchstart', touchStartHandler\n el.addEventListener 'touchmove', touchMoveHandler\n\n remove: (el) ->\n el.removeEventListener 'touchstart', touchStartHandler\n el.removeEventListener 'touchmove', touchMoveHandler","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\nexport default removeEvent = (el, type, selector, callback, namespace) ->\n evtCache = _access el, Variables.expando\n return unless evtCache\n if not type\n for type, typeCache of evtCache\n removeEvent el, type, selector, callback, namespace\n else if type isnt 'handler' and typeCache = evtCache[type]\n typeCache.quene ||= []\n typeCache.quene = typeCache.quene.filter (item) ->\n return true if callback and callback isnt item.callback\n return true if selector and selector isnt item.selector\n return true if namespace and not nMatches(item.namespace, namespace)\n if not typeCache.quene.length and typeCache.binded and evtCache.handler\n el.removeEventListener type, evtCache.handler\n delete evtCache[type]\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes(type) and swipeTypes.every (t) -> not evtCache[t]\n swipeEvent.remove el\n length = Object.keys(evtCache).length\n if not length or (length is 1 and 'handler' of evtCache)\n _access el, Variables.expando, null","import luda from '../../base/luda.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport eventPath from './event-path.coffee'\nimport ludaEvent from './luda-event.coffee'\nimport nMatches from './namespace-matches.coffee'\nimport removeEvent from './remove-event.coffee'\nimport swipeEvent from './swipe-event.coffee'\nimport Variables from './variables.coffee'\n\n\n\naddEvent = (el, type, selector, callback, namespace, kc, stop, prevent, _one) ->\n throw new Error 'handler cannot be used as event type' if type is 'handler'\n expando = Variables.expando\n evtCache = _access(el, expando) or _access(el, expando, {})\n typeCache = evtCache[type] ||= {}\n quene = typeCache.quene ||= []\n quene.push\n selector: selector\n callback: callback\n namespace: namespace\n key: kc\n stop: stop\n prevent: prevent\n one: _one\n handler = evtCache.handler ||= (event) ->\n self = this\n cached = _access self, Variables.expando\n eType = event.type\n return unless cached and cached[eType]\n collection = eventPath event\n collection = collection.slice 0, collection.indexOf(self) + 1\n event = event.ludaEvent or ludaEvent event\n # simulate event bubble behaviors\n # to make sure quene callbacks triggered from event.target to self\n collection.every (node) ->\n cached[eType].quene.every (it) ->\n if ((selector = it.selector) and matches node, selector) or \\\n (not it.selector and node is self)\n if event.namespace and not nMatches(it.namespace, event.namespace)\n return true\n if event.keyCode and it.key.length \\\n and not it.key.includes event.keyCode\n return true\n event.currentTarget = node\n returnValue = it.callback.call node, event, event.detail\n if it.one\n removeEvent self, eType, it.selector, it.callback, it.namespace\n event.stopPropagation() if it.stop or returnValue is false\n event.preventDefault() if it.prevent or returnValue is false\n # make sure callbacks in front called but callbacks behind not called\n # if immediate propagation called\n not event.isImmediatePropagationStopped()\n # make sure same level callbacks called\n # but parents level callbacks not called if propagation stoped\n not event.isPropagationStopped()\n swipeTypes = Object.values Variables.swipeEvents\n if swipeTypes.includes type\n swipeBinded = swipeTypes.some (type) -> evtCache[type]?.binded\n swipeEvent.add el unless swipeBinded\n unless typeCache.binded\n typeCache.binded = true\n el.addEventListener type, handler\n\n\n\nexport default addEvent","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport addEvent from './helpers/add-event.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\n\n\n\nluda.include\n\n on: (name, selector, callback, _one) ->\n self = this\n unless Type.isString name\n @on key, selector, keyCallback for key, keyCallback of name\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n addEvent el, option.type, selector, callback, option.namespace, \\\n option.key, option.stop, option.prevent, _one\n this","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseEventName from './helpers/parse-event-name.coffee'\nimport removeEvent from './helpers/remove-event.coffee'\n\n\n\nluda.include\n\n off: (name, selector, callback) ->\n self = this\n if name is undefined\n @els.forEach (el) -> removeEvent el\n return this\n if Type.isFunction selector\n callback = selector\n selector = ''\n parseEventName(name).forEach (option) ->\n self.els.forEach (el) ->\n removeEvent el, option.type, selector, callback, option.namespace\n this","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../event/on.coffee'\nimport '../../event/off.coffee'\nimport '../../traversal/parent.coffee'\n\n\n\nnamespace = (C) -> \".#{C.id}\"\n\nfindRoot = (C, event) ->\n return C.root if Type.isDocument C.root\n rootEl = null\n event.eventPath().some (el) ->\n return unless matches el, C.root\n rootEl = el\n rootEl\n\nisntPropagation = (C, event, rootEl) ->\n return true if Type.isDocument C.root\n return true if event.currentTarget is rootEl\n luda(event.currentTarget).parent(C.root).els[0] is rootEl\n\naddEvents = (C) ->\n events = C.helpers.listen.call C.prototype\n events.forEach (evt) ->\n return unless evt[0]\n name = \"#{evt[0]}#{namespace C}\"\n selector = if Type.isFunction evt[1] then '' else evt[1]\n callbacks = if Type.isFunction evt[1] then evt.slice 1 else evt.slice 2\n evtSelector = selector\n callbacks.forEach (callback) ->\n return unless Type.isFunction callback\n if Object.values(C.prototype).includes callback\n if Type.isString(C.root) and selector.replace(C.root, '') is selector\n evtSelector = if selector then \"#{C.root} #{selector}\" else C.root\n handler = (event, data) ->\n return unless rootEl = findRoot C, event\n return unless isntPropagation C, event, rootEl\n callback.call C.create(rootEl)[0], event, data\n else\n handler = (event, data) -> callback.call this, event, data\n luda(document).on name, evtSelector, handler\n\nremoveEvents = (C) -> luda(document).off namespace(C)\n\n\n\nexport {addEvents, removeEvents}","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n \n parents: (comparator) ->\n luda collect(unique(pluck(@els, 'parentElement', true)), comparator)","import luda from '../../base/luda.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport '../../traversal/parents.coffee'\n\n\n\nexport default (instance, els) ->\n rootEl = instance.root.els[0]\n rootSelector = instance.constructor.root\n els.filter (el) ->\n return true if el is rootEl\n return false if matches el, rootSelector\n rootParent = luda(el).parent(rootSelector).els[0]\n if document.contains el then rootParent is rootEl else not rootParent","import {luda, Luda} from '../../base/luda.coffee'\nimport splitValues from '../../base/split-values.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport '../../traversal/parent.coffee'\nimport unnested from './unnested.coffee'\n\n\n\ncreateGetter = (C, name, selector, nestable, cacheable) ->\n Object.defineProperty C.prototype, name,\n get: ->\n return luda() unless selector\n return selector if selector instanceof Luda\n return selector.call this if Type.isFunction selector\n return luda selector unless Type.isString selector\n return luda() unless rootEl = @root.els[0]\n cacheable and cache = C.instances[@id].traversal\n return cache[name] if cache and name of cache\n matched = luda(selector, rootEl).els\n not nestable and matched = unnested this, matched\n collection = luda unique(matched)\n return collection unless cache\n if collection.length then cache[name] = collection else collection\n\naddTraversal = (C) ->\n traversals = C.helpers.find.call C.prototype\n nestable = Type.isDocument C.root\n cacheable = Type.isString C.root\n for name, selector of traversals\n if name of C.prototype\n msg = \"'#{name}' was defined on prototype\"\n msg = \"#{msg}, skip adding traversal getter.\"\n console.warn msg\n else\n createGetter C, name, selector, nestable, cacheable\n cacheable and C.prototype.cleanTraversal = (name) ->\n return unless cached = @constructor.instances[@id]\n return unless traversal = cached.traversal\n cleanTraversal traversal, name\n\ncleanTraversal = (cache, name) ->\n return unless cache\n name = '' unless Type.isString name\n names = if name then splitValues name else Object.keys cache\n names.forEach (n) -> delete cache[n]\n\n\n\nexport {addTraversal, cleanTraversal}","import expando from '../../base/expando.coffee'\nimport find from '../../base/find.coffee'\nimport findAll from '../../base/find-all.coffee'\nimport Type from '../../base/type.coffee'\nimport unique from '../../base/unique.coffee'\nimport log from '../../log/log.coffee'\nimport matches from '../../matches/helpers/matches.coffee'\nimport unnested from './unnested.coffee'\n\n\n\nconfig =\n childList: true\n subtree: true\n attributes: true\n attributeOldValue: true\n\ncur = (ins, callback, target) ->\n proto = ins.constructor.prototype\n isInProto = Object.values(proto).includes callback\n if isInProto then ins else target\n\nrunDomCallbacks = (type, mutation, watches, nestable) ->\n ins = mutation.ins\n C = ins.constructor\n mu = mutation.mu\n nodes = Array.from mu[\"#{type}Nodes\"]\n watches.dom.forEach (dom) ->\n els = []\n nodes.forEach (n) -> els = els.concat(findAll dom.selector, n)\n return unless els.length\n not nestable and els = unnested ins, unique(els)\n els.length and dom.callbacks.forEach (callback) ->\n ctx = cur ins, callback, els\n unless callback is C.prototype.cleanTraversal\n log \"#{C.id} ID: #{ins.id} executes nodes #{type} callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n \"Nodes #{type}\", els, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [els, type]\n callback.call ctx, els, type\n\nrunAttrCallbacks = (mutation, watches, nestable) ->\n ins = mutation.ins\n mu = mutation.mu\n C = ins.constructor\n name = mu.attributeName\n target = mu.target\n oldVal = mu.oldValue\n name and watches.attr.forEach (attr) ->\n return unless name is attr.name\n return unless matches target, attr.selector\n return if not nestable and not unnested(ins, [target]).length\n attr.callbacks.forEach (callback) ->\n ctx = cur(ins, callback, target)\n log \"#{C.id} ID: #{ins.id} executes #{name} changed callback.\",\n 'Root element', ins.root.els[0], 'Cache', C.instances[ins.id],\n 'Changed target', target, \"Callback #{callback.name or ''}\", callback,\n 'Context', ctx, 'Arguments', [target, oldVal]\n callback.call ctx, target, oldVal\n\nexecuteMutations = (C, mutations, nestable) ->\n mutations.forEach (mutation) ->\n runDomCallbacks 'added', mutation, C.watches, nestable\n runDomCallbacks 'removed', mutation, C.watches, nestable\n runAttrCallbacks mutation, C.watches, nestable\n\nnodesEqual = (nodesOne, nodesTwo) ->\n return false unless nodesOne.length is nodesTwo.length\n return true if nodesOne.length is 0 and nodesTwo.length is 0\n itemsOne = Array.from nodesOne\n itemsTwo = Array.from nodesTwo\n not itemsOne.some (node, index) -> node isnt itemsTwo[index]\n\nfindSameMutation = (mutations, mu) ->\n theSameMutation = null\n mutations.some (mutation) ->\n return theSameMutation = mutation if mu is mutation.mu\n return unless mu.type is mutation.mu.type\n return unless mu.target is mutation.mu.target\n return unless mu.attributeName is mutation.mu.attributeName\n return unless mu.oldValue is mutation.mu.oldValue\n return unless nodesEqual mu.addedNodes, mutation.mu.addedNodes\n return unless nodesEqual mu.removedNodes, mutation.mu.removedNodes\n theSameMutation = mutation\n theSameMutation\n\ncreateObserver = (C, instance) ->\n inses = C.instances\n rootEl = instance.root.els[0]\n nestable = Type.isDocument C.root\n observer = new MutationObserver (mus) ->\n mutations = mus.map (mu) -> {ins: instance, mu: mu}\n not nestable and find(C.root, rootEl).forEach (el) ->\n return unless cached = inses[el[expando]]\n return unless ins = cached.instance\n return unless watcher = cached.watcher\n watcher.takeRecords().forEach (mu) ->\n nestedMutation = findSameMutation mutations, mu\n nestedMutation.ins = ins if nestedMutation\n executeMutations C, mutations, nestable\n observer.observe rootEl, config\n observer\n\nwatch = (C, ins) ->\n unless C.watches\n conf = C.helpers.watch.call C.prototype\n C.watches =\n dom: (conf.dom or []).map (d) ->\n selector: if Type.isFunction d[0] then '*' else d[0]\n callbacks: if Type.isFunction d[0] then d else d.slice 1\n attr: (conf.attr or []).map (a) ->\n name: a[0]\n selector: if Type.isFunction a[1] then '*' else a[1]\n callbacks: if Type.isFunction a[1] then a.slice 1 else a.slice 2\n createObserver C, ins\n\nstopWatch = (ins, watcher) -> watcher.disconnect()\n\n\n\nexport {watch, stopWatch}","import luda from '../../base/luda.coffee'\nimport createMounter from '../../base/create-mounter.coffee'\nimport expando from '../../base/expando.coffee'\nimport guid from '../../base/guid.coffee'\nimport Type from '../../base/type.coffee'\nimport log from '../../log/log.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport {addEvents, removeEvents} from './events.coffee'\nimport {addTraversal, cleanTraversal} from './traversal.coffee'\nimport {watch, stopWatch} from './watch.coffee'\n\n\n\nclass Base\n\n win: luda window\n doc: luda document\n\n constructor: (root) ->\n C = @constructor\n proto = C.prototype\n inses = C.instances\n unless Type.isString(C.root) or Type.isDocument C.root\n throw new Error 'Component root can only be selectors or document'\n return root if root instanceof C\n root = C.root if Type.isDocument C.root\n @root = luda root\n return unless rootEl = @root.els[0]\n @root = luda rootEl if @root.length > 1\n @id = rootEl[expando] ||= guid()\n return inses[@id].instance if @id of inses\n if (listen = C.helpers.listen) and not C.eventsBinded\n addEvents C\n C.eventsBinded = true\n if (find = C.helpers.find) and not C.traversalAdded\n addTraversal C\n C.traversalAdded = true\n traversal = {} if proto.cleanTraversal\n if traversal and not C.watches\n if definedWatch = C.helpers.watch\n C.helpers.watch = ->\n watches = definedWatch.call this\n watches.dom ||= []\n watches.dom.unshift [proto.cleanTraversal]\n watches\n else\n C.helpers.watch = -> {dom: [[proto.cleanTraversal]]}\n watcher = watch C, this if C.helpers.watch\n inses[@id] = {instance: this, traversal: traversal, watcher: watcher}\n _access rootEl, C.id, inses[@id]\n create.call this if create = C.helpers.create\n log \"#{C.id} ID: #{@id} created.\",\n 'Root element', rootEl, 'Cache', inses[@id]\n\n @create: (selector, ctx) ->\n C = this\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.map (el) -> new C el\n\n @destroy: (selector, ctx) ->\n C = this\n inses = @instances\n selector = @root if Type.isDocument(@root) or not selector\n luda(selector, ctx).els.forEach (rootEl) ->\n return unless id = rootEl[expando]\n return unless id of inses\n instance = inses[id].instance\n watcher = inses[id].watcher\n destroy.call instance if destroy = C.helpers.destroy\n stopWatch instance, watcher if watcher\n delete inses[id]\n _access rootEl, C.id, null\n log \"#{C.id} ID: #{id} destroied.\",\n 'Root element', rootEl, 'Cache', inses[id]\n hasInstances = Object.keys(inses).length\n if not hasInstances and C.eventsBinded\n removeEvents C\n C.eventsBinded = false\n this\n\n @help: (key, val) ->\n @help = createMounter @helpers, 'helping'\n @help key, val\n\n @include: (key, val) ->\n C = this\n fn = (name, value) ->\n C.included.push name\n value\n @include = createMounter @prototype, 'including', fn\n @include key, val\n\n @protect: (key, val) ->\n @protect = createMounter @prototype, 'protecting'\n @protect key, val\n\n @contains: (selector, ctx) ->\n inses = @instances\n luda(selector, ctx).els.some (el) ->\n (id = el[expando]) and inses[id]\n\n @each: (callback) ->\n Object.values(@instances).some (cache, index) ->\n instance = cache.instance\n rootEl = instance.root.els[0]\n callback(instance, rootEl, index, cache) is false\n this\n\n\n\n Object.defineProperty Base.prototype, 'html',\n get: -> luda document.documentElement\n\n Object.defineProperty Base.prototype, 'body',\n get: -> luda document.body\n\n Object.defineProperty Base.prototype, 'con',\n get: -> @constructor\n\n\n\nexport default Base","import Type from '../../base/type.coffee'\n\n\n\nconstructorAccessWarn = (action, C, key) ->\n return unless key of C and not C.extended.includes key\n msg = \"#{action} private property '#{key}' of #{C.id}\"\n console.warn msg\n\ncreateComponentProxy = (C) ->\n proxy = new Proxy C,\n get: (target, key) ->\n constructorAccessWarn 'Getting', C, key\n C[key]\n set: (target, key, val) ->\n constructorAccessWarn 'Setting', C, key\n C[key] = val\n apply: (target, ctx, args) ->\n inses = C.create.apply C, args\n createInstancesProxy inses\n\ninstanceAccessWarn = (action, ins, key) ->\n return unless key of ins and not ins.con.included.includes key\n msg = \"#{action} private property '#{key}' of #{ins.con.id} #{ins.id}\"\n console.warn msg\n\ncreateInstancesProxy = (inses) ->\n proxy = new Proxy inses,\n set: (target, key, val) ->\n inses.map (ins) ->\n instanceAccessWarn 'Setting', ins, key\n ins[key] = val\n get: (target, key) ->\n vals = inses.map (ins) ->\n instanceAccessWarn 'Getting', ins, key\n ins[key]\n createInstancesCallProxy inses, vals, key, proxy\n\ncreateInstancesCallProxy = (inses, vals, key, instancesProxy) ->\n proxy = new Proxy new Function(),\n get: (target, k) ->\n return vals[k] unless Type.isFunction vals[k]\n vals[k].bind vals\n apply: (target, ctx, args) ->\n returns = inses.map (ins) -> ins[key].apply ins, args\n option = args[args.length - 1]\n if Type.isObject(option) and option.chain is false\n returns\n else\n instancesProxy\n\n\n\nexport default (Component) -> createComponentProxy Component","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport dashCase from '../base/dash-case.coffee'\nimport guid from '../base/guid.coffee'\nimport Type from '../base/type.coffee'\nimport '../event/ready.coffee'\nimport {autoCreateAndDestroy, autoable} from './helpers/auto.coffee'\nimport Base from './helpers/base.coffee'\nimport createProxy from './helpers/proxy.coffee'\n\n\n\nluda.extend 'component', factory = (name, root) ->\n \n class Component extends Base\n\n @id: camelCase \"Component#{if name then '-' + name else '_' + guid()}\"\n @root: if root then root else if name then \".#{dashCase name}\" else document\n @instances: {}\n @helpers: {}\n @included: ['toString']\n @extended: ['toString']\n @eventsBinded: false\n @autoEnabled: false\n @traversalAdded: false\n @watches: null\n\n\n\n luda.extend name, createProxy Component if name\n luda.ready ->\n Component.create Component.root if Type.isDocument Component.root\n return unless Type.isString Component.root\n Component.create autoable(Component.root)\n autoCreateAndDestroy Component\n Component.autoEnabled = true\n Component\n\n\n\nexport default factory","import Type from '../../base/type.coffee'\n\n\n\nexport default (el, prop, isVar) ->\n return if not Type.isElement(el) or not prop\n style = window.getComputedStyle el, null\n if prop\n if isVar\n style.getPropertyValue(prop) or undefined\n else\n style[prop]\n else\n style","export default (prop) -> /^--/.test prop","import camelCase from '../../base/camel-case.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nexport default (prop, isVar) ->\n isVar = isVariable prop if isVar is undefined\n if isVar then prop else camelCase prop","import Type from '../../base/type.coffee'\nimport isVariable from './is-variable.coffee'\n\n\n\nnumericProps = [\n 'animationIterationCount'\n 'columnCount'\n 'flexGrow'\n 'flexShrink'\n 'fontWeight'\n 'lineHeight'\n 'opacity'\n 'order'\n 'orphans'\n 'widows'\n 'zIndex'\n]\n\n\n\nexport default (prop, value, isVar) ->\n isVar = isVariable prop if isVar is undefined\n return value if isVar or numericProps.includes prop\n if Type.isNumeric value then \"#{value}px\" else value","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from './helpers/compute-style.coffee'\nimport isVariable from './helpers/is-variable.coffee'\nimport readProp from './helpers/read-prop.coffee'\nimport parseValue from './helpers/parse-value.coffee'\n\n\n\nluda.include\n\n css: (prop, value) ->\n if Type.isString prop\n isVar = isVariable prop\n prop = readProp prop, isVar\n if arguments.length < 2\n return @els[0] and computeStyle @els[0], prop, isVar\n return this unless prop\n value = parseValue prop, value, isVar\n @els.forEach (el) ->\n return unless Type.isElement el\n if isVar\n el.style.setProperty prop, value\n else\n el.style[prop] = value\n return this\n @css key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport './css.coffee'\n\n\n\nluda.include\n\n removeCss: (prop) -> @css prop, ''","import camelCase from '../../base/camel-case.coffee'\n\n\n\npattern = /^data-/i\n\nparse = (name) -> camelCase name.replace(pattern, '')\n\n\n\nexport default parse","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n removeData: (name) ->\n if arguments.length\n names = splitValues name\n return this unless names.length\n names = names.map (n) -> parseName n\n @els.forEach (el) -> names.forEach (n) -> delete el.dataset[n]\n else\n @els.forEach (el) -> delete el.dataset[n] for n, val of el.dataset\n this","import luda from '../base/luda.coffee'\nimport readValue from '../base/read-value.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport Type from '../base/type.coffee'\nimport './remove-data.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n data: (name, value) ->\n unless name\n return unless @els[0]\n datas = {}\n datas[key] = readValue val for key, val of @els[0].dataset\n return datas\n if Type.isString name\n name = parseName name\n if arguments.length >= 2\n return this if value is undefined\n return @removeData name if value is null\n val = parseValue value\n @els.forEach (el) -> el.dataset[name] = val\n return this\n return unless @els[0]\n return readValue @els[0].dataset[name]\n @data key, val for key, val of name\n this","import luda from '../base/luda.coffee'\nimport parseName from './helpers/parse-name.coffee'\n\n\n\nluda.include\n\n hasData: (key) ->\n return false unless key\n key = parseName key\n @els.some (el) -> el.dataset and key of el.dataset","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nfactory = (prop) ->\n ->\n return unless el = @els[0]\n return window[\"inner#{prop}\"] if Type.isWindow el\n el[\"client#{prop}\"]\n\n\n\nluda.include\n\n innerWidth: factory 'Width'\n\n innerHeight: factory 'Height'","import computeStyle from './compute-style.coffee'\n\n\n\nexport default (el, prop) -> parseInt(computeStyle(el, prop), 10) or 0","import computeStyleInt from '../../css/helpers/compute-style-int.coffee'\n\n\n\nexport default (el, xAxis) ->\n computeStyleInt(el, \"border#{if xAxis then 'Left' else 'Top'}Width\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Left' else 'Top'}\") \\\n + computeStyleInt(el, \"padding#{if xAxis then 'Right' else 'Bottom'}\") \\\n + computeStyleInt(el, \"border#{if xAxis then 'Right' else 'Bottom'}Width\")","import luda from '../base/luda.coffee'\nimport camelCase from '../base/camel-case.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyle from '../css/helpers/compute-style.coffee'\nimport parseValue from '../css/helpers/parse-value.coffee'\nimport getExtraSpace from './helpers/get-extra-space.coffee'\n\n\n\nfactory = (prop) ->\n (value) ->\n unless e = @els[0]\n return if value is undefined then undefined else this\n unless arguments.length\n return e[camelCase \"outer-#{prop}\"] if Type.isWindow e\n return e.getBoundingClientRect()[prop] - getExtraSpace(e, prop is 'width')\n valNumber = parseInt value, 10\n @els.forEach (el) ->\n return unless Type.isElement el\n boxSizing = computeStyle el, 'boxSizing'\n extra = 0\n extra = getExtraSpace(el, prop is 'width') if boxSizing is 'border-box'\n el.style[prop] = parseValue(prop, valNumber + extra)\n this\n\n\n\nluda.include\n\n width: factory 'width'\n\n height: factory 'height'","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport computeStyleInt from '../css/helpers/compute-style-int.coffee'\n\n\n\nfactory = (prop) ->\n (includeMargins) ->\n return unless el = @els[0]\n return window[\"outer#{prop}\"] if Type.isWindow el\n offsetSize = el[\"offset#{prop}\"]\n return offsetSize unless includeMargins\n marginOne = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Left' else 'Top'}\"\n marginTwo = computeStyleInt el, \\\n \"margin#{if prop is 'Width' then 'Right' else 'Bottom'}\"\n offsetSize + marginOne + marginTwo\n\n\n\nluda.include\n\n outerWidth: factory 'Width'\n\n outerHeight: factory 'Height'","import luda from '../base/luda.coffee'\nimport './on.coffee'\n\n\n\nluda.include\n\n one: (name, selector, callback) -> @on name, selector, callback, true","import readValue from '../../base/read-value.coffee'\n\n\n\nexport default (el) ->\n if el.multiple and el.options\n val = []\n [].forEach.call el.options, (option) ->\n if option.selected and \\\n not option.disabled and \\\n not option.parentNode.disabled\n optionValue = readValue option.value\n optionValue = '' if optionValue is undefined or optionValue is null\n val.push optionValue\n return val\n val = readValue el.value\n if val is undefined or val is null then '' else val","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport parseValue from '../base/parse-value.coffee'\nimport readValue from '../base/read-value.coffee'\nimport '../attribute/attr.coffee'\nimport getValue from './helpers/get-value.coffee'\n\n\n\nluda.include\n\n val: (value) ->\n return @els[0] and getValue(@els[0]) if value is undefined\n @els.forEach (el) ->\n if el.tagName is 'SELECT'\n if Type.isArray value\n val = value\n else if value is null\n val = []\n else\n val = [value]\n [].forEach.call el.options, (option) ->\n selected = val.includes readValue(option.value)\n luda(option).attr 'selected', if selected then '' else null\n option.selected = selected\n else\n val = if value is null then '' else parseValue value\n luda(el).attr 'value', val\n el.value = val\n this","export default\n scriptExpando: 'script'","import findAll from '../../base/find-all.coffee'\nimport expando from '../../base/expando.coffee'\nimport Type from '../../base/type.coffee'\nimport {access, _access} from '../../cache/helpers/access.coffee'\nimport addEvent from '../../event/helpers/add-event.coffee'\nimport EV from '../../event/helpers/variables.coffee'\nimport V from './variables.coffee'\n\n\n\nexport default (el, cacheAndEvts, deep) ->\n cloned = el.cloneNode true\n # track script execute status,\n # no matter the cloned or the original script executed,\n # the other should not be executed again.\n scripts = findAll('script', el)\n clonedScripts = findAll('script', cloned)\n scripts.forEach (script, i) ->\n return unless Type.isScript script\n return if script.src\n cache = _access script, V.scriptExpando\n cache ||= {executed: false}\n _access script, V.scriptExpando, cache\n _access clonedScripts[i], V.scriptExpando, cache\n return cloned unless cacheAndEvts\n if deep\n nodes = findAll('*', el)\n clones = findAll('*', cloned)\n else\n nodes = [el]\n clones = [cloned]\n nodes.forEach (node, i) ->\n # copy events for the cloned node\n # if the original node has events\n if _evt = _access node, EV.expando\n for type, config of _evt\n config.quene and config.quene.forEach (it) ->\n addEvent clones[i], type, it.selector, it.callback, \\\n it.namespace, it.key, it.stop, it.prevent, it._one\n # copy pub cache if the original node has pub cache\n access clones[i], Object.assign({}, cache) if cache = access node\n cloned","import luda from '../base/luda.coffee'\nimport find from '../base/find.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n find: (selector) ->\n all = []\n @els.forEach (el) ->\n found = find selector, el\n [].push.apply(all, found) if found.length\n luda unique(all)","import luda from '../../base/luda.coffee'\nimport Type from '../../base/type.coffee'\nimport {_access} from '../../cache/helpers/access.coffee'\nimport '../../collection/add.coffee'\nimport '../../collection/filter.coffee'\nimport '../../traversal/find.coffee'\nimport Variables from './variables.coffee'\n\n\n\nCDATARe = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g\n\ngeval = eval\n\n\n\nexport default (node) ->\n collection = luda node\n scripts = collection.filter('script').add(collection.find('script')).els\n scripts.forEach (el) ->\n return unless (not el.src and Type.isScript el)\n return unless el.ownerDocument.documentElement.contains el\n scriptCache = _access el, Variables.scriptExpando\n return if scriptCache and scriptCache.executed\n geval el.textContent.replace(CDATARe, '')\n if scriptCache\n scriptCache.executed = true\n else\n _access el, Variables.scriptExpando, {executed: true}","import evalScripts from './eval-scripts.coffee'\n\n\n\nexport default (anchor, child, prepend, prependTarget) ->\n if prepend\n anchor.insertBefore child, prependTarget\n else\n anchor.appendChild child\n evalScripts child","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertAfter: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target.nextSibling\n this","import luda from '../base/luda.coffee'\nimport './insert-after.coffee'\n\n\n\nluda.include\n\n after: ->\n self = this\n argReverse = [].reverse.apply(arguments)\n handler = (selector) ->\n els = luda(selector).els.slice().reverse()\n luda(els).insertAfter self\n [].forEach.call argReverse, handler\n this","import clone from './clone.coffee'\nimport insertElement from './insert-element.coffee'\n\n\n\nexport default (parent, child, prepend) ->\n parent.forEach (p, parentIndex) ->\n child.forEach (c) ->\n childToBeInserted = if parentIndex then clone(c, true, true) else c\n insertElement p, childToBeInserted, prepend, prepend and p.firstChild","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n appendTo: (selector) ->\n insertContent luda(selector).els, @els\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n append: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\nimport insertElement from './helpers/insert-element.coffee'\n\n\n\nluda.include\n\n insertBefore: (selector) ->\n els = @els\n luda(selector).els.forEach (target, index) ->\n parent = target.parentNode\n parent and els.forEach (child) ->\n childToBeInserted = if index then clone(child, true, true) else child\n insertElement parent, childToBeInserted, true, target\n this","import luda from '../base/luda.coffee'\nimport './insert-before.coffee'\n\n\n\nluda.include\n\n before: ->\n self = this\n handler = (selector) -> luda(selector).insertBefore self\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n clone: (cacheAndEvents, deep) ->\n deep = cacheAndEvents if deep is undefined\n collection = @els.map (el) -> clone el, cacheAndEvents, deep\n luda collection","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n detach: ->\n @els.forEach (el) -> parent.removeChild el if parent = el.parentNode\n this","import findAll from '../../base/find-all.coffee'\nimport {clean} from '../../cache/helpers/access.coffee'\nimport removeEvent from '../../event/helpers/remove-event.coffee'\n\n\n\nexport default (ctx) ->\n findAll('*', ctx).forEach (el) ->\n removeEvent el\n clean el","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n empty: ->\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = ''\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n html: (html) ->\n return @els[0].innerHTML if html is undefined and @els.length\n @els.forEach (el) ->\n clean child for child in el.children\n el.innerHTML = html\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prependTo: (selector) ->\n insertContent luda(selector).els, @els.reverse(), true\n this","import luda from '../base/luda.coffee'\nimport insertContent from './helpers/insert-content.coffee'\n\n\n\nluda.include\n\n prepend: ->\n els = @els\n handler = (selector) -> insertContent els, luda(selector).els, true\n [].forEach.call arguments, handler\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n remove: ->\n @els.forEach (el) ->\n clean el\n parent.removeChild el if parent = el.parentNode\n this","import luda from '../base/luda.coffee'\nimport './before.coffee'\nimport './remove.coffee'\n\n\n\nluda.include\n\n replaceWith: (selector) -> @before(selector).remove()","import luda from '../base/luda.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n replaceAll: (selector) ->\n luda(selector).replaceWith this\n this","import luda from '../base/luda.coffee'\nimport clean from './helpers/clean.coffee'\n\n\n\nluda.include\n\n text: (text) ->\n if text is undefined\n return if @els[0] then @els[0].textContent else ''\n @els.forEach (el) ->\n clean child for child in el.children\n el.textContent = text\n this","import luda from '../base/luda.coffee'\nimport '../traversal/children.coffee'\nimport '../traversal/parent.coffee'\nimport './replace-with.coffee'\n\n\n\nluda.include\n\n unwrap: ->\n @parent().els.forEach (el) ->\n collection = luda(el)\n collection.replaceWith collection.children()\n this","import luda from '../base/luda.coffee'\nimport '../collection/first.coffee'\nimport './append-to.coffee'\nimport './before.coffee'\n\n\n\nluda.include\n\n wrapAll: (selector) ->\n return this unless @els.length\n structure = luda selector\n @first().before structure\n wrapper = structure.els[0]\n wrapper = wrapper.firstElementChild while wrapper.children.length\n @appendTo wrapper","import luda from '../base/luda.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n contents: ->\n all = []\n @els.forEach (el) ->\n if el.tagName is 'IFRAME'\n content = [el.contentDocument]\n else\n content = el.childNodes\n [].push.apply all, content\n luda unique(all)","import luda from '../base/luda.coffee'\nimport '../traversal/contents.coffee'\nimport './append.coffee'\nimport './wrap-all.coffee'\n\n\n\nluda.include\n\n wrapInner: (selector) ->\n @els.forEach (el) ->\n target = luda el\n contents = target.contents()\n if contents.els.length\n contents.wrapAll selector\n else\n target.append selector\n this","import luda from '../base/luda.coffee'\nimport './wrap-all.coffee'\nimport clone from './helpers/clone.coffee'\n\n\n\nluda.include\n\n wrap: (selector) ->\n @els.forEach (el, index) ->\n wrapper = luda(selector).els[0]\n luda(el).wrapAll(if index then clone(wrapper, true, true) else wrapper)\n this","import luda from '../base/luda.coffee'\nimport matches from './helpers/matches.coffee'\n\n\n\nluda.include\n\n matches: (selector) ->\n return false unless @els.length\n return false unless selector\n @els.some (el) -> matches el, selector","import Type from '../../base/type.coffee'\n\n\n\nexport default class Mixin\n\n constructor: (conf) -> @conf = conf\n\n get: (key) -> @conf[key]\n\n all: -> Object.assign {}, @conf\n\n only: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n keys.forEach (k) => picked[k] = @conf[k] if k of @conf\n picked\n\n except: (keys) ->\n picked = {}\n unless arguments.length is 1 and Type.isArray keys\n keys = Array.from arguments\n for k, v of @conf\n picked[k] = v unless keys.includes k\n picked\n\n alias: (newName, name) ->\n picked = {}\n if arguments.length is 1 and Type.isObject newName\n for k, v of newName\n picked[k] = @conf[v] if v of @conf\n else\n picked[newName] = @conf[name] if name of @conf\n picked","import createMounter from '../../base/create-mounter.coffee'\n\n\n\nnamed = {}\n\nmount = createMounter named, 'mixing'\n\nunmount = (name) -> delete named[name]\n\nget = (name) -> named[name] or {}\n\n\n\nexport {mount, unmount, get, named}","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\nimport Mixin from './helpers/base.coffee'\nimport {mount, unmount, get, named} from './helpers/named.coffee'\n\n\n\nluda.extend\n\n mixin: (name, conf) ->\n if arguments.length is 1\n if Type.isString name\n get name\n else\n new Mixin conf\n else\n if conf is null\n unmount name\n this\n else\n mixin = new Mixin conf\n mount name, mixin\n this\n\nluda.mixin.named = named","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offsetParent: -> luda(@els[0] and @els[0].offsetParent)","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n offset: ->\n el = @els[0]\n return unless el\n docEl = document.documentElement\n rect = el.getBoundingClientRect()\n top: rect.top + window.pageYOffset - docEl.clientTop\n left: rect.left + window.pageXOffset - docEl.clientLeft","import luda from '../base/luda.coffee'\n\n\n\nluda.include\n\n position: ->\n el = @els[0]\n return unless el\n left: el.offsetLeft\n top: el.offsetTop","import luda from '../base/luda.coffee'\nimport Type from '../base/type.coffee'\n\n\n\nluda.include\n\n prop: (prop, value) ->\n return unless prop\n if Type.isString prop\n return @els[0] and @els[0][prop] if arguments.length < 2\n @els.forEach (el) -> el[prop] = value\n return this\n @prop key, val for key, val of prop\n this","import luda from '../base/luda.coffee'\nimport splitValues from '../base/split-values.coffee'\n\n\n\nluda.include\n\n removeProp: (prop) ->\n props = splitValues(prop)\n return this unless props.length\n @els.forEach (el) -> props.forEach (p) -> delete el[p]\n this","import luda from '../base/luda.coffee'\n\n\nluda.include\n\n reflow: ->\n @els.forEach (el) -> el.offsetHeight\n this","export default (style, propertyLength) ->\n durationArray = style.split ','\n while durationArray.length < propertyLength\n durationArray = durationArray.concat durationArray\n if durationArray.length > propertyLength\n durationArray = durationArray.slice 0, propertyLength\n durationArray.map (durationStr) ->\n duration = parseFloat durationStr\n return 0 unless duration\n if durationStr.match 'ms' then duration else duration * 1000","import luda from '../base/luda.coffee'\nimport getDurations from './helpers/get-durations.coffee'\n\n\n\nluda.include\n\n transitionDuration: ->\n return unless el = @els[0]\n styles = window.getComputedStyle el\n length = styles.transitionProperty.split(',').length\n return 0 unless length\n delays = getDurations styles.transitionDelay, length\n durations = getDurations styles.transitionDuration, length\n finalDurations = durations.map (duration, index) -> duration + delays[index]\n Math.max.apply null, finalDurations","import luda from '../base/luda.coffee'\nimport '../collection/filter.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n closest: (comparator) ->\n return luda() if not comparator or not @els.length\n filtered = @filter comparator\n return filtered if filtered.els.length\n @parent().closest comparator","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n next: (comparator, _all) ->\n luda collect(unique(pluck(@els, 'nextElementSibling', _all)), comparator)","import luda from '../base/luda.coffee'\nimport './next.coffee'\n\n\n\nluda.include\n\n nextAll: (comparator) -> @next comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport pluck from '../base/pluck.coffee'\nimport unique from '../base/unique.coffee'\n\n\n\nluda.include\n\n prev: (comparator, _al) ->\n luda collect(unique(pluck(@els, 'previousElementSibling', _al)), comparator)","import luda from '../base/luda.coffee'\nimport './prev.coffee'\n\n\n\nluda.include\n\n prevAll: (comparator) -> @prev comparator, true","import luda from '../base/luda.coffee'\nimport collect from '../base/collect.coffee'\nimport unique from '../base/unique.coffee'\nimport './children.coffee'\nimport './parent.coffee'\n\n\n\nluda.include\n\n siblings: (comparator) ->\n all = []\n @els.forEach (el) ->\n sibs = luda(el).parent().children((child) -> child isnt el).els\n [].push.apply all, sibs\n luda collect(unique(all), comparator)","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'disable',\n\n # attr:\n # disable: 'readonly | disabled' # optional\n\n # data:\n # disable:\n # tabIndex: string # required\n\n disableCreate: ->\n rootEl = @root.els[0]\n tabIndex = rootEl.tabIndex\n dataAttr = @data.disable.tabIndex\n @root.data dataAttr, tabIndex unless @root.hasData dataAttr\n rootEl.tabIndex = -1\n rootEl[@attr?.disable or 'disabled'] = true\n\n disableDestroy: ->\n rootEl = @root.els[0]\n rootEl.tabIndex = @root.data @data.disable.tabIndex\n rootEl[@attr?.disable or 'disabled'] = false","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'disabled', '[disabled]'\n\n.protect\n\n data:\n disable:\n tabIndex: 'data-disabled_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'enter', document\n\n.protect\n\n data:\n enable: 'enter'\n\n selectors: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n trigger: (e) ->\n return if @html.data(@data.enable) is false\n return unless luda(e.target).matches @selectors.join(',')\n e.preventDefault()\n setTimeout -> e.target.click()\n\n.help\n\n listen: -> [['keydown@enter', @trigger]]","import '../kernel/index.coffee'\n\n\n\nFocus = luda.component 'focus', document\n\n.protect\n\n cls:\n focus: 'focus'\n\n data:\n enable: 'focus'\n\n selector:\n focused: '.focus'\n always: [\n 'select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n nested: [\n 'select'\n '[contenteditable]'\n '[contenteditable=true]'\n ]\n touch: 'input[type=range]'\n\n disabled: -> @html.data(@data.enable) is false\n\n addClass: (node) ->\n return if @disabled()\n @focused.els.concat(node).forEach (el) =>\n addable = el is node \\\n and el isnt @html.els[0] \\\n and el isnt @body.els[0]\n luda(el).toggleClass @cls.focus, addable\n\n cacheEvt: (e) ->\n return if @disabled() or e.target.disabled\n @evtTriggeredFocus = e.type\n\n focus: (e) ->\n return if @disabled() or (node = e.target).disabled\n (evt = @evtTriggeredFocus) and delete @evtTriggeredFocus\n if evt and /key/.test evt\n target = node\n else if luda(node).matches @selector.always.join(',')\n target = node\n else if luda(node).matches @selector.nested.join(' *,')\n parent = @selector.nested.join(',')\n e.eventPath().some (el) -> luda(el).matches(parent) and target = el\n @addClass target\n\n blur: (e) ->\n return if @disabled()\n luda(e.target).toggleClass @cls.focus, false\n \n.help\n\n find: -> focused: @selector.focused\n\n listen: ->\n [\n ['keydown keyup touchstart mousedown', @cacheEvt]\n ['mousedown focusin', @focus]\n ['touchstart', @selector.touch, @focus]\n ['focusout', @blur]\n ]\n\n\n\nluda.include\n\n focus: (addClass, preventScroll) ->\n return unless el = @els[0]\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n addClass = true unless luda.isBool addClass\n preventScroll = false unless luda.isBool preventScroll\n addClass and ins.addClass el\n el.focus {preventScroll: preventScroll}\n this\n\n blur: ->\n ins = Object.values(Focus.instances)[0].instance\n return this if ins.disabled()\n @els.forEach (el) -> el.blur()\n this","import '../kernel/index.coffee'\nimport '../mixins/disable.coffee'\n\n\n\nluda.component 'readonly', '[readonly]'\n\n.protect\n\n attr:\n disable: 'readonly'\n\n data:\n disable:\n tabIndex: 'data-readonly_tabindex'\n\n.protect luda.mixin('disable').all()\n\n.help\n\n create: -> @disableCreate()\n\n destroy: -> @disableDestroy()","import '../kernel/index.coffee'\n\n\n\nluda.component 'tabulate', document\n\n.protect\n\n selector: 'input[type=radio]:not([disabled])'\n\n data:\n tabulate: 'tabulate'\n\n findSiblings: (radio) ->\n selector = @selector\n selector = \"#{selector}[name=#{name}]\" if name = radio.name\n radios = luda(selector).els.filter (el) -> el.tabIndex >= 0\n index = radios.indexOf radio\n prev: radios[index - 1]\n next: radios[index + 1]\n\n trigger: (e) ->\n return if @html.data(@data.tabulate) is false\n if e.shiftKey\n if prev = @findSiblings(e.target).prev\n e.preventDefault()\n prev.focus()\n else\n if next = @findSiblings(e.target).next\n e.preventDefault()\n next.focus()\n\n.help\n\n listen: ->\n [\n ['keydown@tab', @selector, @trigger]\n ]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'toggleable',\n\n # cls:\n # toggleable:\n # active: string #required\n\n # data:\n # toggleable:\n # interruption: string # required\n # toggle: string # optional\n\n # default:\n # toggleable:\n # trigger: boolean #optional\n\n # evt:\n # toggleable:\n # activate: string # required\n # activated: string # required\n # deactivate: string # required\n # deactivated: string # required\n\n # selector:\n # toggleable:\n # target: string # optional\n\n toggleableActivate: ->\n return if @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.activate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableDeactivating\n delete @toggleableDeactivating\n @root.addClass @cls.toggleable.active\n @toggleableActivating = setTimeout =>\n delete @toggleableActivating\n @toggleableTarget.trigger @evt.toggleable.activated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableDeactivate: ->\n return unless @toggleableActive()\n evt = @toggleableTarget.trigger(@evt.toggleable.deactivate, null, true)[0]\n return if evt.isDefaultPrevented()\n clearTimeout @toggleableActivating\n delete @toggleableActivating\n @root.removeClass @cls.toggleable.active\n @toggleableDeactivating = setTimeout =>\n delete @toggleableDeactivating\n @toggleableTarget.trigger @evt.toggleable.deactivated\n , @toggleableTarget.transitionDuration()\n true\n\n toggleableToggle: (force) ->\n return @toggleableActivate() if force is true\n return @toggleableDeactivate() if force is false\n if @toggleableActive()\n @toggleableDeactivate()\n else\n @toggleableActivate()\n\n toggleableActive: -> @root.hasClass @cls.toggleable.active\n\n toggleableTransitioning: ->\n 'toggleableActivating' of this or 'toggleableDeactivating' of this\n\n toggleableTriggerable: (e) ->\n return if @toggleableTransitioning()\n return true if /key/.test e.type\n return true unless @root.els[0].contains e.target\n trigger = @default?.toggleable?.trigger\n toggleAttr = @data.toggleable.trigger\n return trigger unless toggleAttr\n evtPath = e.eventPath()\n index = evtPath.indexOf(@root.els[0]) + 1\n evtPath.slice(0, index).some (el) ->\n ins = luda el\n return unless ins.hasData toggleAttr\n trigger = ins.data(toggleAttr) isnt false\n true\n trigger\n \n toggleableFocusOpener: (e) ->\n if @toggleableActive()\n return @toggleableFocused = document.activeElement\n return unless @toggleableFocused\n if 'focus' of ins = luda @toggleableFocused\n ins.focus not e.detail, e.detail\n else\n @toggleableFocused.focus {preventScroll: e.detail}\n\n toggleableActivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableActivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableDeactivateOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableDeactivate()\n @toggleableFocusOpener(e)\n true\n\n toggleableToggleOnEvent: (e) ->\n return unless @toggleableTriggerable(e) and @toggleableToggle()\n @toggleableFocusOpener(e)\n true\n\n toggleableCreate: ->\n dataAttr = @data.toggleable.interruption\n return unless interruption = @root.data dataAttr\n evt = @evt.toggleable[interruption]\n @root.removeData dataAttr\n @toggleableTarget.trigger evt\n\n toggleableDestroy: ->\n if 'toggleableActivating' of this\n interruption = 'activated'\n clearTimeout @toggleableActivating\n else if 'toggleableDeactivating' of this\n interruption = 'deactivated'\n clearTimeout @toggleableDeactivating\n interruption and @root.data @data.toggleable.interruption, interruption\n\n toggleableFind: ->\n target = @selector?.toggleable?.target\n toggleableTarget: target or -> @root","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'toggle', '[data-toggle-target]'\n\n.protect\n\n cls:\n toggleable:\n active: 'toggle-active'\n\n data:\n target: 'data-toggle-target'\n for: 'data-toggle-for'\n auto: 'data-toggle-auto-deactivate'\n toggleable:\n interruption: 'data-toggle_interruption'\n trigger: 'data-toggleable'\n\n default:\n autoDuration: 3000\n\n evt:\n toggleable:\n activate: 'luda:toggle:activate'\n activated: 'luda:toggle:activated'\n deactivate: 'luda:toggle:deactivate'\n deactivated: 'luda:toggle:deactivated'\n\n.include\n\n activate: ->\n return unless @toggleableActivate()\n @toggleAutoState()\n \n deactivate: ->\n return unless @toggleableDeactivate()\n @toggleAutoState()\n\n toggle: (force) ->\n return unless @toggleableToggle force\n @toggleAutoState()\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n toggleAutoState: ->\n return unless @root.hasData @data.auto\n if @toggleableActive()\n @auto = setTimeout =>\n delete @auto\n @deactivate()\n , @root.data(@data.auto) or @default.autoDuration\n else\n clearTimeout @auto\n delete @auto\n\n toggleOnEvent: (e) ->\n return unless @toggleableToggleOnEvent(e)\n @toggleAutoState()\n\n.help\n\n find: -> @toggleableFind()\n\n create: ->\n @toggleableCreate()\n @toggleAutoState()\n\n destroy: ->\n @toggleableDestroy()\n 'auto' of this and clearTimeout @auto\n \n listen: ->\n self = this\n [\n ['click', @toggleOnEvent]\n ['click', \"[#{@data.for}]\", (e) ->\n name = luda(this).data self.data.for\n self.con.each (ins) ->\n return unless ins.root.data(self.data.target) is name\n ins.toggleOnEvent(e)\n true\n ]\n ]","import '../kernel/index.coffee'\n\n\n\nlistened = false\nquene = []\n\nluda.mixin 'resetable',\n\n listen: (fn) ->\n pushed = quene.some (it) => it.Component is @con\n quene.push {Component: @con, reset: fn} unless pushed\n return if listened\n listened = true\n luda(document).on 'reset.MixinResetable', (e) ->\n return if e.isDefaultPrevented()\n setTimeout ->\n quene.forEach (it) ->\n it.Component.each (ins, rootEl) ->\n e.target.contains(rootEl) and it.reset.call(ins)\n true","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmFile'\n\n.protect\n\n selector:\n root: '.fm-file'\n file: 'input[type=file]'\n simulator: 'input:not([type=file])'\n\n splitor: ' '\n\n.protect\n\n insertSimulator: ->\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @file\n\n updatePlaceholder: ->\n return unless placeholder = @file.attr 'placeholder'\n @simulator.attr 'placeholder', placeholder\n\n updateValue: ->\n values = Array.from(@file.els[0].files).map (f) -> f.name\n value = values.join(@splitor) or @file.attr('value') or ''\n @simulator.attr 'value', value\n\n tryReset: (target, oldVal) ->\n return unless @file.attr('value') is ''\n @file.els[0].value = ''\n @file.attr 'value', oldVal\n\n.help\n\n find: ->\n file: @selector.file\n simulator: @selector.simulator\n\n watch: ->\n attr: [['value', @selector.file, @tryReset, @updateValue]]\n\n create: ->\n @insertSimulator()\n @updatePlaceholder()\n @updateValue()\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [['change', @selector.file, @updateValue]]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\n\n\n\nluda.component 'fmSelect'\n\n.protect\n\n selector:\n select: 'select'\n options: 'option'\n simulator: 'input'\n\n data:\n default: 'data-fm-select_default-selected'\n defaultMarked: 'data-fm-select_default-marked'\n\n.protect\n\n tryEmpty: ->\n select = @select.els[0]\n selected = Array.from(select.options).some (o) ->\n luda(o).hasAttr 'selected'\n not selected and select.selectedIndex = -1\n\n markSelected: (markDefault) ->\n markDefault = markDefault is true\n return if markDefault and @root.hasData @data.defaultMarked\n @root.data @data.defaultMarked, '' if markDefault\n Array.from(@select.els[0].options).forEach (o) =>\n option = luda o\n if markDefault\n val = if option.hasAttr 'selected' then '' else null\n option.data @data.default, val\n else\n val = if o.selected then '' else null\n option.attr 'selected', val\n\n initSimulator: ->\n return @simulator.remove() if @select.els[0].multiple\n return if @simulator.length\n simulator = luda '<input>'\n simulator.els[0].tabIndex = -1\n simulator.insertAfter @select\n @updatePlaceholder()\n @updateValue()\n\n updatePlaceholder: ->\n return if @select.els[0].multiple\n @simulator.attr 'placeholder', @select.attr('placeholder')\n\n updateValue: ->\n select = @select.els[0]\n return if select.multiple\n selected = select.options[select.selectedIndex]\n val = if selected then luda(selected).text() else ''\n @simulator.attr 'value', val\n\n reset: ->\n @select.els[0].selectedIndex = -1\n Array.from(@select.els[0].options).forEach (o) =>\n o.selected = luda(o).hasData @data.default\n @markSelected()\n\n.help\n\n find: ->\n select: @selector.select\n simulator: @selector.simulator\n\n create: ->\n @tryEmpty()\n @markSelected true\n @initSimulator()\n\n watch: ->\n dom: [\n [@selector.options, @tryEmpty, @updateValue]\n ]\n attr: [\n ['selected', @selector.options, @updateValue]\n ['multiple', @selector.select, @initSimulator]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @reset\n [['change', @selector.select, @markSelected]]","import '../kernel/index.coffee'\n\n\n\nluda.mixin 'tabable',\n\n # cls:\n # tabable:\n # active: string # required\n # indicatorActive: string # required\n # prev: string # optional\n # next: string # optional\n\n # data:\n # tabable:\n # interruption: string # required\n # wrap: string # optional\n\n # default:\n # tabable:\n # activeIndex: integer # optional\n # wrap: boolean # optional\n\n # evt:\n # tabable:\n # activate: string #required\n # activated: string #required\n # deactivate: string #required\n # deactivated: string #required\n\n # selector:\n # tabable:\n # targets: string # required\n # indicators: string # required\n # prevCtrl: string # optional\n # nextCtrl: string # optional\n\n tabableActivate: (index) ->\n return unless luda.isNumeric index\n direction = if index < @tabableActiveIndex() then 'prev' else 'next'\n @tabableSlide index, direction\n\n tabableNext: ->\n index = @tabableActiveIndex() + 1\n if index >= @tabableTargets.length\n return unless @tabableWrapable()\n index = 0\n @tabableSlide index, 'next'\n\n tabablePrev: ->\n index = @tabableActiveIndex() - 1\n if index < 0\n return unless @tabableWrapable()\n index = @tabableTargets.length - 1\n @tabableSlide index, 'prev'\n\n tabableLayout: ->\n @tabableTargets.els.forEach (it, index) =>\n item = luda it\n return if (activeCls = @cls.tabable.active) and item.hasClass activeCls\n return if (nextCls = @cls.tabable.next) and item.hasClass nextCls\n return if (prevCls = @cls.tabable.prev) and item.hasClass prevCls\n isActive = index is @tabableActiveIndex()\n item.css('transition', 'none')\n .toggleClass(activeCls, isActive)\n .toggleClass(prevCls, index < @tabableActiveIndex())\n .toggleClass(nextCls, index > @tabableActiveIndex())\n .reflow().css('transition', '')\n isActive and item.trigger @evt.tabable.activated\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n\n tabableSlide: (index, direction) ->\n return unless luda.isNumeric index\n return if index is (activatedIndex = @tabableActiveIndex())\n return if index < 0 or index >= @tabableTargets.length\n item = @tabableTargets.eq index\n activated = @tabableTargets.eq activatedIndex\n activateEvt = item.trigger(@evt.tabable.activate, null, true)[0]\n return if activateEvt.isDefaultPrevented()\n deactivateEvt = activated.trigger(@evt.tabable.deactivate, null, true)[0]\n return if deactivateEvt.isDefaultPrevented()\n oppsite = if direction is 'next' then 'prev' else 'next'\n directionCls = @cls.tabable[direction]\n oppsiteCls = @cls.tabable[oppsite]\n activeCls = @cls.tabable.active\n item.css('transition', 'none')\n .addClass(directionCls).removeClass(oppsiteCls)\n .reflow().css('transition', '')\n .addClass(activeCls).removeClass(directionCls)\n activated.addClass(oppsiteCls).removeClass(activeCls)\n @tabableActivating = setTimeout =>\n delete @tabableActivating\n item.trigger @evt.tabable.activated\n , item.transitionDuration()\n @tabableDeactivateIndex = activatedIndex\n @tabableDeactivating = setTimeout =>\n delete @tabableDeactivating\n delete @tabableDeactivateIndex\n activated.trigger @evt.tabable.deactivated\n , activated.transitionDuration()\n @tabableSetIndicatorsState()\n @tabableSetDirectionCtrlsState()\n true\n\n tabableActiveIndex: ->\n index = @default?.tabable?.activeIndex or 0\n @tabableTargets.els.some (it, i) =>\n return false unless luda(it).hasClass @cls.tabable.active\n index = i\n true\n index\n\n tabableWrapable: ->\n wrapAttr = @data.tabable.wrap\n return false unless wrapAttr\n wrapable = @root.data wrapAttr\n return false if wrapable is false\n @default?.tabable?.wrap\n\n tabableTransitioning: ->\n 'tabableActivating' of this or 'tabableDeactivating' of this\n\n tabableSetIndicatorsState: ->\n @tabableIndicators.els.forEach (it, index) =>\n activeCls = @cls.tabable.indicatorActive\n val = index is @tabableActiveIndex()\n luda(it).toggleClass activeCls, val\n\n tabableSetDirectionCtrlsState: ->\n prevCtrl = @tabablePrevCtrl\n nextCtrl = @tabableNextCtrl\n return unless prevCtrl or nextCtrl\n if @tabableTargets.length <= 1\n prevDis = nextDis = ''\n else if @tabableWrapable()\n prevDis = nextDis = null\n else\n index = @tabableActiveIndex()\n minIndex = 0\n maxIndex = @tabableTargets.length - 1\n prevDis = if index is minIndex then '' else null\n nextDis = if index is maxIndex then '' else null\n prevCtrl and prevCtrl.attr 'disabled', prevDis\n nextCtrl and nextCtrl.attr 'disabled', nextDis\n\n tabableActivateOnEvent: (e) ->\n return if @tabableTransitioning()\n index = e.detail?.tabable?.activeIndex\n unless index?\n index = @tabableIndicators.els.indexOf e.currentTarget\n @tabableActivate index\n\n tabablePrevOnEvent: (e) -> @tabablePrev() unless @tabableTransitioning()\n\n tabableNextOnEvent: (e) -> @tabableNext() unless @tabableTransitioning()\n\n tabableDestroy: ->\n if 'tabableActivating' of this\n clearTimeout @tabableActivating\n interruption = {activate: @tabableActiveIndex()}\n if 'tabableDeactivating' of this\n clearTimeout @tabableDeactivating\n interruption ||= {}\n interruption.deactivateIndex = @tabableDeactivateIndex\n @root.data @data.tabable.interruption, interruption\n\n tabableCreate: ->\n @tabableLayout()\n dataAttr = @data.tabable.interruption\n return unless interruption = @root.data dataAttr\n if (activate = interruption.activated)?\n @tabableTargets.eq(activated).trigger @evt.tabable.activated\n if (deactive = interruption.deactivated)?\n @tabableTargets.eq(deactivated).trigger @evt.tabable.deactivated\n @root.removeData dataAttr\n\n tabableFind: ->\n conf =\n tabableTargets: @selector.tabable.targets\n tabableIndicators: @selector.tabable.indicators\n conf.tabablePrevCtrl = prevCtrl if prevCtrl = @selector.tabable.prevCtrl\n conf.tabableNextCtrl = nextCtrl if nextCtrl = @selector.tabable.nextCtrl\n conf\n\n tabableWatch: ->\n attr = []\n wrapAttr = @data.tabable.wrap\n wrapAttr and attr.push [wrapAttr, @tabableSetDirectionControlState]\n attr: attr\n dom: [\n [@selector.tabable.targets, @tabableLayout]\n [@selector.tabable.indicators, @tabableSetIndicatorsState]\n ]\n\n tabableListen: ->\n listeners = [\n ['click', @selector.tabable.indicators, @tabableActivateOnEvent]\n ]\n if prevCtrl = @selector.tabable.prevCtrl\n listeners.push ['click', prevCtrl, @tabablePrevOnEvent]\n if nextCtrl = @selector.tabable.nextCtrl\n listeners.push ['click', nextCtrl, @tabableNextOnEvent]\n listeners","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'carousel'\n\n.protect\n\n cls:\n tabable:\n active: 'carousel-item-active'\n indicatorActive: 'btn-active'\n prev: 'carousel-item-prev'\n next: 'carousel-item-next'\n\n data:\n interval: 'carousel-interval'\n tabable:\n interruption: 'data-carousel_interruption'\n wrap: 'data-carousel-wrap'\n\n default:\n interval: 5000\n tabable:\n activeIndex: 0\n wrap: true\n\n evt:\n tabable:\n activate: 'luda:carousel:activate'\n activated: 'luda:carousel:activated'\n deactivate: 'luda:carousel:deactivate'\n deactivated: 'luda:carousel:deactivated'\n\n selector:\n tabable:\n targets: '.carousel-item'\n indicators: '.carousel-indicators .btn'\n prevCtrl: '.carousel-prev'\n nextCtrl: '.carousel-next'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n next: 'tabableNext'\n prev: 'tabablePrev'\n)\n\n.include\n\n pause: ->\n return unless 'intervaling' of this\n clearTimeout @intervaling\n delete @intervaling\n @nextInterval -= Date.now() - @playAt\n @nextInterval = undefined if @nextInterval <= 10\n @pauseIndex = @tabableActiveIndex()\n\n play: ->\n return if 'intervaling' of this\n return unless @interval()\n @playAt = Date.now()\n @nextInterval = @interval() unless @pauseIndex is @tabableActiveIndex()\n handler = =>\n @tabableNext()\n @playAt = Date.now()\n @nextInterval = @interval()\n @intervaling = setTimeout handler, @interval()\n @intervaling = setTimeout handler, @nextInterval\n\n.protect luda.mixin('tabable').all()\n\n.protect\n\n interval: ->\n duration = @root.data @data.interval\n return false if duration is false\n Math.abs(parseInt duration, 10) or @default.interval\n\n touchendPlay: -> setTimeout => @play()\n\n.help\n\n find: -> @tabableFind()\n\n create: ->\n @tabableCreate()\n @play()\n\n destroy: ->\n @pause()\n @tabableDestroy()\n\n watch: ->\n watches = @tabableWatch()\n watches.attr.push [@data.interval, @pause, @play]\n watches\n\n listen: ->\n @tabableListen().concat [\n ['swipeleft', @tabableNextOnEvent]\n ['swiperight', @tabablePrevOnEvent]\n ['touchstart mouseover', @pause]\n ['mouseout', @play]\n ['touchend', @touchendPlay]\n ]","import '../kernel/index.coffee'\nimport '../mixins/toggleable.coffee'\n\n\n\nluda.component 'dropdown', '.dropdown-absolute,\n .dropdown-static,\n .dropdown-fixed,\n .dropdown-static-m'\n\n.protect\n\n cls:\n toggleable:\n active: 'dropdown-active'\n\n data:\n standalone: 'data-dropdown-standalone'\n toggleable:\n interruption: 'data-dropdown_interruption'\n trigger: 'data-dropdownable'\n\n default:\n toggleable:\n trigger: true\n\n evt:\n toggleable:\n activate: 'luda:dropdown:activate'\n activated: 'luda:dropdown:activated'\n deactivate: 'luda:dropdown:deactivate'\n deactivated: 'luda:dropdown:deactivated'\n\n selector:\n items: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled]),\n area[href]:not([disabled]),iframe:not([disabled])'\n toggleable:\n target: '.dropdown-menu'\n\n.include luda.mixin('toggleable').alias(\n activate: 'toggleableActivate'\n deactivate: 'toggleableDeactivate'\n toggle: 'toggleableToggle'\n)\n\n.protect luda.mixin('toggleable').all()\n\n.protect\n\n parent: ->\n rootEl = @parentRoot.els[0]\n if rootEl then @con.create(rootEl)[0] else null\n\n escDeactivate: (e) ->\n if @toggleableActive()\n @toggleableDeactivateOnEvent e\n else if parent = @parent()\n parent.escDeactivate e\n\n prevItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) - 1\n index = 0 if index < 0\n items[index].focus()\n else if parent = @parent()\n parent.prevItem e\n\n nextItem: (e) ->\n if @toggleableActive()\n return unless (items = @items.els).length\n index = items.indexOf(document.activeElement) + 1\n index = items.length - 1 if index >= items.length\n items[index].focus()\n else if parent = @parent()\n parent.nextItem e\n\n.help\n\n find: ->\n Object.assign @toggleableFind(),\n parentRoot: -> @root.parent @con.root\n items: ->\n self = this\n menu = @toggleableTarget\n menu.find(@selector.items).filter((el) ->\n parentMenu = luda(el).parent(self.selector.toggleable.target)\n parentMenu.els[0] is menu.els[0]\n )\n\n listen: ->\n self = this\n [\n ['click', @toggleableToggleOnEvent]\n ['keyup@tab', @toggleableActivateOnEvent]\n ['keydown@esc&prevent', @escDeactivate]\n ['keydown@left@up&prevent', @prevItem]\n ['keydown@right@down&prevent', @nextItem]\n ['click keyup@tab', (e) ->\n exceptions = []\n e.eventPath().forEach (el) ->\n self.con.contains(el) and exceptions.push(el)\n self.con.each (ins, rootEl) ->\n isExcepted = exceptions.includes rootEl\n isStandalone = ins.root.hasData self.data.standalone\n not isExcepted and not isStandalone and ins.deactivate()\n true\n ]\n ]","import '../kernel/index.coffee'\nimport '../mixins/resetable.coffee'\nimport './dropdown.coffee'\n\n\n\nluda.component 'fmDropdown'\n\n.protect\n\n selector:\n options: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n labels: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n simulator: '.fm input'\n\n data:\n label: 'fm-dropdown-label'\n\n splitor: ' '\n\n.protect\n\n disableSimulator: ->\n @simulator.data('auto', false).attr('readonly', '')\n\n updateValue: ->\n values = []\n @options.els.forEach (input, index) =>\n return unless input.checked\n label = luda @labels.els[index]\n value = label.data(@data.label) or label.text()\n values.push value if value and not values.includes value\n @simulator.attr 'value', values.join(@splitor)\n\n triggerClick: -> @simulator.trigger 'click'\n\n.help\n\n find: ->\n options: @selector.options\n labels: @selector.labels\n simulator: @selector.simulator\n\n create: ->\n @disableSimulator()\n @updateValue()\n\n watch: ->\n dom: [\n [@selector.options, @updateValue]\n ]\n attr: [\n ['checked', @selector.options, @updateValue]\n ]\n\n listen: ->\n luda.mixin('resetable').get('listen').call this, @updateValue\n [\n ['change', @selector.options, @updateValue]\n ['keydown@enter', @selector.simulator, @triggerClick]\n ]","import '../kernel/index.coffee'\nimport '../mixins/tabable.coffee'\n\n\n\nluda.component 'tab'\n\n.protect\n\n cls:\n tabable:\n active: 'tab-pane-active'\n indicatorActive: 'btn-active'\n\n data:\n tabable:\n interruption: 'data-tab_interruption'\n\n evt:\n tabable:\n activate: 'luda:tab:activate'\n activated: 'luda:tab:activated'\n deactivate: 'luda:tab:deactivate'\n deactivated: 'luda:tab:deactivated'\n\n selector:\n tabable:\n targets: '.tab-pane'\n indicators: '.tab-indicators .btn'\n\n.include luda.mixin('tabable').alias(\n activate: 'tabableActivate'\n)\n\n.protect luda.mixin('tabable').all()\n\n.help\n\n find: -> @tabableFind()\n\n create: -> @tabableCreate()\n\n destroy: -> @tabableDestroy()\n\n watch: -> @tabableWatch()\n\n listen: -> @tabableListen()"]}
@@ -0,0 +1,24 @@
1
+ //= require ../kernel/index
2
+ //= require ../mixins/disable
3
+ (function (global, factory) {
4
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../kernel/index.js'), require('../mixins/disable.js')) :
5
+ typeof define === 'function' && define.amd ? define(['../kernel/index.js', '../mixins/disable.js'], factory) :
6
+ (factory());
7
+ }(this, (function () { 'use strict';
8
+
9
+ luda.component('disabled', '[disabled]').protect({
10
+ data: {
11
+ disable: {
12
+ tabIndex: 'data-disabled_tabindex'
13
+ }
14
+ }
15
+ }).protect(luda.mixin('disable').all()).help({
16
+ create: function() {
17
+ return this.disableCreate();
18
+ },
19
+ destroy: function() {
20
+ return this.disableDestroy();
21
+ }
22
+ });
23
+
24
+ })));
@@ -1,40 +1,31 @@
1
- //= require ../install
2
- //= require ../constants
3
- //= require ../event
4
- //= require ../static
1
+ //= require ../kernel/index
5
2
  (function (global, factory) {
6
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../install.js'), require('../constants.js'), require('../event.js'), require('../static.js')) :
7
- typeof define === 'function' && define.amd ? define(['../install.js', '../constants.js', '../event.js', '../static.js'], factory) :
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../kernel/index.js')) :
4
+ typeof define === 'function' && define.amd ? define(['../kernel/index.js'], factory) :
8
5
  (factory());
9
6
  }(this, (function () { 'use strict';
10
7
 
11
- luda((function() {
12
- var _Class;
13
-
14
- _Class = class extends luda.Static {
15
- static _init() {
16
- var self;
17
- self = this;
18
- return luda.on('keydown', function(e) {
19
- if (!document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE) && e.keyCode === luda.KEY_ENTER && e.target.matches(self._selector)) {
20
- e.preventDefault();
21
- return setTimeout(function() {
22
- return e.target.click();
23
- });
24
- }
25
- });
8
+ luda.component('enter', document).protect({
9
+ data: {
10
+ enable: 'enter'
11
+ },
12
+ selectors: ['input[type=checkbox]', 'input[type=radio]', '[tabindex]'],
13
+ trigger: function(e) {
14
+ if (this.html.data(this.data.enable) === false) {
15
+ return;
26
16
  }
27
-
28
- };
29
-
30
- _Class._SCOPE = 'enter';
31
-
32
- _Class._SELECTORS = ['input[type=checkbox]', 'input[type=radio]', '[tabindex]'];
33
-
34
- _Class._DISABLED_ATTRIBUTE = 'data-enter-disabled';
35
-
36
- return _Class;
37
-
38
- }).call(this));
17
+ if (!luda(e.target).matches(this.selectors.join(','))) {
18
+ return;
19
+ }
20
+ e.preventDefault();
21
+ return setTimeout(function() {
22
+ return e.target.click();
23
+ });
24
+ }
25
+ }).help({
26
+ listen: function() {
27
+ return [['keydown@enter', this.trigger]];
28
+ }
29
+ });
39
30
 
40
31
  })));
@@ -1,109 +1,112 @@
1
- //= require ../install
2
- //= require ../dom
3
- //= require ../event
4
- //= require ../static
1
+ //= require ../kernel/index
5
2
  (function (global, factory) {
6
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../install.js'), require('../dom.js'), require('../event.js'), require('../static.js')) :
7
- typeof define === 'function' && define.amd ? define(['../install.js', '../dom.js', '../event.js', '../static.js'], factory) :
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../kernel/index.js')) :
4
+ typeof define === 'function' && define.amd ? define(['../kernel/index.js'], factory) :
8
5
  (factory());
9
6
  }(this, (function () { 'use strict';
10
7
 
11
- luda((function() {
12
- var _Class;
13
-
14
- _Class = class extends luda.Static {
15
- static _isActive() {
16
- return !document.documentElement.hasAttribute(this._DISABLED_ATTRIBUTE);
8
+ var Focus;
9
+
10
+ Focus = luda.component('focus', document).protect({
11
+ cls: {
12
+ focus: 'focus'
13
+ },
14
+ data: {
15
+ enable: 'focus'
16
+ },
17
+ selector: {
18
+ focused: '.focus',
19
+ always: ['select', 'textarea', ':not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])', '[contenteditable]', '[contenteditable=true]'],
20
+ nested: ['select', '[contenteditable]', '[contenteditable=true]'],
21
+ touch: 'input[type=range]'
22
+ },
23
+ disabled: function() {
24
+ return this.html.data(this.data.enable) === false;
25
+ },
26
+ addClass: function(node) {
27
+ if (this.disabled()) {
28
+ return;
17
29
  }
18
-
19
- static _removeFocusClassExcept($exception) {
20
- return Array.from(this._$focus).forEach(($focus) => {
21
- if ($focus !== $exception) {
22
- return $focus.classList.remove(this._CSS_CLASS);
23
- }
30
+ return this.focused.els.concat(node).forEach((el) => {
31
+ var addable;
32
+ addable = el === node && el !== this.html.els[0] && el !== this.body.els[0];
33
+ return luda(el).toggleClass(this.cls.focus, addable);
34
+ });
35
+ },
36
+ cacheEvt: function(e) {
37
+ if (this.disabled() || e.target.disabled) {
38
+ return;
39
+ }
40
+ return this.evtTriggeredFocus = e.type;
41
+ },
42
+ focus: function(e) {
43
+ var evt, node, parent, target;
44
+ if (this.disabled() || (node = e.target).disabled) {
45
+ return;
46
+ }
47
+ (evt = this.evtTriggeredFocus) && delete this.evtTriggeredFocus;
48
+ if (evt && /key/.test(evt)) {
49
+ target = node;
50
+ } else if (luda(node).matches(this.selector.always.join(','))) {
51
+ target = node;
52
+ } else if (luda(node).matches(this.selector.nested.join(' *,'))) {
53
+ parent = this.selector.nested.join(',');
54
+ e.eventPath().some(function(el) {
55
+ return luda(el).matches(parent) && (target = el);
24
56
  });
25
57
  }
26
-
27
- static _addFocusClassExceptHtmlAndBody($target) {
28
- if ($target !== document.body && $target !== document.documentElement) {
29
- return $target.classList.add(this._CSS_CLASS);
30
- }
58
+ return this.addClass(target);
59
+ },
60
+ blur: function(e) {
61
+ if (this.disabled()) {
62
+ return;
31
63
  }
32
-
33
- static _changeFocusStateOnKeyEvent(e) {
34
- if (this._isActive()) {
35
- this._removeFocusClassExcept(e.target);
36
- return this._addFocusClassExceptHtmlAndBody(e.target);
37
- }
64
+ return luda(e.target).toggleClass(this.cls.focus, false);
65
+ }
66
+ }).help({
67
+ find: function() {
68
+ return {
69
+ focused: this.selector.focused
70
+ };
71
+ },
72
+ listen: function() {
73
+ return [['keydown keyup touchstart mousedown', this.cacheEvt], ['mousedown focusin', this.focus], ['touchstart', this.selector.touch, this.focus], ['focusout', this.blur]];
74
+ }
75
+ });
76
+
77
+ luda.include({
78
+ focus: function(addClass, preventScroll) {
79
+ var el, ins;
80
+ if (!(el = this.els[0])) {
81
+ return;
38
82
  }
39
-
40
- static _changeFocusStateOnMouseDownEvent(e) {
41
- var target;
42
- if (this._isActive()) {
43
- if (e.target.matches(this._PARENT_FOCUS_CHILDREN_SELECTOR)) {
44
- target = luda.$parent(this._PARENT_FOCUS_SELECTOR, e.target);
45
- } else {
46
- target = e.target;
47
- }
48
- if (target.matches(this._selector)) {
49
- this._removeFocusClassExcept(target);
50
- return this._addFocusClassExceptHtmlAndBody(target);
51
- } else {
52
- return this._removeFocusClassExcept();
53
- }
54
- }
83
+ ins = Object.values(Focus.instances)[0].instance;
84
+ if (ins.disabled()) {
85
+ return this;
55
86
  }
56
-
57
- static _setElementPrototype() {
58
- var blur, focus, self;
59
- focus = HTMLElement.prototype.focus;
60
- blur = HTMLElement.prototype.blur;
61
- self = this;
62
- HTMLElement.prototype.focus = function() {
63
- focus.apply(this, arguments);
64
- if (self._isActive() && document.activeElement === this) {
65
- self._removeFocusClassExcept(this);
66
- return self._addFocusClassExceptHtmlAndBody(this);
67
- }
68
- };
69
- return HTMLElement.prototype.blur = function() {
70
- blur.apply(this, arguments);
71
- if (self._isActive()) {
72
- return this.classList.remove(self._CSS_CLASS);
73
- }
74
- };
87
+ if (!luda.isBool(addClass)) {
88
+ addClass = true;
75
89
  }
76
-
77
- static _init() {
78
- this._setElementPrototype();
79
- luda.on('keydown', this._changeFocusStateOnKeyEvent.bind(this));
80
- luda.on('keyup', this._changeFocusStateOnKeyEvent.bind(this));
81
- luda.on('mousedown', this._changeFocusStateOnMouseDownEvent.bind(this));
82
- luda.on('touchstart', this._TOUCHSTART_FOCUS_SELECTOR, this._changeFocusStateOnMouseDownEvent.bind(this));
83
- return luda.on('focusin', this._changeFocusStateOnMouseDownEvent.bind(this));
90
+ if (!luda.isBool(preventScroll)) {
91
+ preventScroll = false;
84
92
  }
85
-
86
- };
87
-
88
- _Class._SCOPE = 'focus';
89
-
90
- _Class._CSS_CLASS = 'focus';
91
-
92
- // mouse focusable selectors
93
- _Class._SELECTORS = ['select', 'textarea', ':not(.btn-check):not(.btn-radio):not(.btn-file) > input:not([type=button]):not([type=submit]):not([type=reset])'];
94
-
95
- _Class._TOUCHSTART_FOCUS_SELECTOR = 'input[type=range]';
96
-
97
- _Class._PARENT_FOCUS_SELECTOR = 'select[multiple]';
98
-
99
- _Class._PARENT_FOCUS_CHILDREN_SELECTOR = `${_Class._PARENT_FOCUS_SELECTOR} *`;
100
-
101
- _Class._DISABLED_ATTRIBUTE = 'data-focus-disabled';
102
-
103
- _Class._$focus = document.getElementsByClassName(_Class._CSS_CLASS);
104
-
105
- return _Class;
106
-
107
- }).call(this));
93
+ addClass && ins.addClass(el);
94
+ el.focus({
95
+ preventScroll: preventScroll
96
+ });
97
+ return this;
98
+ },
99
+ blur: function() {
100
+ var ins;
101
+ ins = Object.values(Focus.instances)[0].instance;
102
+ if (ins.disabled()) {
103
+ return this;
104
+ }
105
+ this.els.forEach(function(el) {
106
+ return el.blur();
107
+ });
108
+ return this;
109
+ }
110
+ });
108
111
 
109
112
  })));
@@ -1,65 +1,27 @@
1
- //= require ../install
2
- //= require ../factory
1
+ //= require ../kernel/index
2
+ //= require ../mixins/disable
3
3
  (function (global, factory) {
4
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../install.js'), require('../factory.js')) :
5
- typeof define === 'function' && define.amd ? define(['../install.js', '../factory.js'], factory) :
4
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../kernel/index.js'), require('../mixins/disable.js')) :
5
+ typeof define === 'function' && define.amd ? define(['../kernel/index.js', '../mixins/disable.js'], factory) :
6
6
  (factory());
7
7
  }(this, (function () { 'use strict';
8
8
 
9
- luda((function() {
10
- var _Class;
11
-
12
- _Class = class extends luda.Factory {
13
- _getConfig() {
14
- var _isReadonly, readonly;
15
- readonly = this._$component.getAttribute(this.constructor._READONLY_ATTRIBUTE);
16
- _isReadonly = readonly !== this.constructor._READONLY_FALSE_VALUE;
17
- return {_isReadonly};
18
- }
19
-
20
- _constructor() {
21
- ({_isReadonly: this._isReadonly} = this._getConfig());
22
- this._setOriginalTabIndex();
23
- return this._setTabIndex();
24
- }
25
-
26
- _onMutations() {
27
- return this._constructor();
28
- }
29
-
30
- _setOriginalTabIndex() {
31
- if (!this._$component.hasAttribute(this.constructor._ORIGINAL_TABINDEX_ATTRIBUTE)) {
32
- return this._$component.setAttribute(this.constructor._ORIGINAL_TABINDEX_ATTRIBUTE, this._$component.tabIndex);
33
- }
34
- }
35
-
36
- _setTabIndex() {
37
- if (this._isReadonly) {
38
- return this._$component.tabIndex = -1;
39
- } else {
40
- return this._$component.tabIndex = this._$component.getAttribute(this.constructor._ORIGINAL_TABINDEX_ATTRIBUTE);
41
- }
9
+ luda.component('readonly', '[readonly]').protect({
10
+ attr: {
11
+ disable: 'readonly'
12
+ },
13
+ data: {
14
+ disable: {
15
+ tabIndex: 'data-readonly_tabindex'
42
16
  }
43
-
44
- };
45
-
46
- _Class._SCOPE = 'readonly';
47
-
48
- _Class._READONLY_ATTRIBUTE = 'data-readonly';
49
-
50
- _Class._ORIGINAL_TABINDEX_ATTRIBUTE = 'data-readonly-tabindex';
51
-
52
- _Class._READONLY_FALSE_VALUE = 'false';
53
-
54
- _Class._SELECTOR = `[${_Class._READONLY_ATTRIBUTE}]`;
55
-
56
- _Class._observerConfig = {
57
- attributes: true,
58
- attributeFilter: [_Class._READONLY_ATTRIBUTE]
59
- };
60
-
61
- return _Class;
62
-
63
- }).call(this));
17
+ }
18
+ }).protect(luda.mixin('disable').all()).help({
19
+ create: function() {
20
+ return this.disableCreate();
21
+ },
22
+ destroy: function() {
23
+ return this.disableDestroy();
24
+ }
25
+ });
64
26
 
65
27
  })));
@@ -1,71 +1,51 @@
1
- //= require ../install
2
- //= require ../constants
3
- //= require ../dom
4
- //= require ../event
5
- //= require ../static
1
+ //= require ../kernel/index
6
2
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../install.js'), require('../constants.js'), require('../dom.js'), require('../event.js'), require('../static.js')) :
8
- typeof define === 'function' && define.amd ? define(['../install.js', '../constants.js', '../dom.js', '../event.js', '../static.js'], factory) :
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../kernel/index.js')) :
4
+ typeof define === 'function' && define.amd ? define(['../kernel/index.js'], factory) :
9
5
  (factory());
10
6
  }(this, (function () { 'use strict';
11
7
 
12
- luda((function() {
13
- var _Class;
14
-
15
- _Class = class extends luda.Static {
16
- static _querySameName$radios($radio) {
17
- var $inputs, selector;
18
- if ($radio.name) {
19
- selector = `${this._selector}[name=${$radio.name}]`;
20
- } else {
21
- selector = this._selector;
22
- }
23
- $inputs = luda.$children(selector);
24
- return $inputs.filter(function($input) {
25
- return $input.tabIndex >= 0;
26
- });
8
+ luda.component('tabulate', document).protect({
9
+ selector: 'input[type=radio]:not([disabled])',
10
+ data: {
11
+ tabulate: 'tabulate'
12
+ },
13
+ findSiblings: function(radio) {
14
+ var index, name, radios, selector;
15
+ selector = this.selector;
16
+ if (name = radio.name) {
17
+ selector = `${selector}[name=${name}]`;
27
18
  }
28
-
29
- static _query$prev$next($radio) {
30
- var $next, $prev, $sameNameRadios, radioIndex;
31
- $sameNameRadios = this._querySameName$radios($radio);
32
- radioIndex = $sameNameRadios.indexOf($radio);
33
- $prev = $sameNameRadios[radioIndex - 1];
34
- $next = $sameNameRadios[radioIndex + 1];
35
- return {$prev, $next};
19
+ radios = luda(selector).els.filter(function(el) {
20
+ return el.tabIndex >= 0;
21
+ });
22
+ index = radios.indexOf(radio);
23
+ return {
24
+ prev: radios[index - 1],
25
+ next: radios[index + 1]
26
+ };
27
+ },
28
+ trigger: function(e) {
29
+ var next, prev;
30
+ if (this.html.data(this.data.tabulate) === false) {
31
+ return;
36
32
  }
37
-
38
- static _init() {
39
- var self;
40
- self = this;
41
- return luda.on('keydown', function(e) {
42
- var $next, $prev;
43
- if (!document.documentElement.hasAttribute(self._DISABLED_ATTRIBUTE) && e.keyCode === luda.KEY_TAB && e.target.nodeName.toUpperCase() === 'INPUT' && e.target.type === 'radio') {
44
- if (e.shiftKey) {
45
- if ($prev = self._query$prev$next(e.target).$prev) {
46
- e.preventDefault();
47
- return $prev.focus();
48
- }
49
- } else {
50
- if ($next = self._query$prev$next(e.target).$next) {
51
- e.preventDefault();
52
- return $next.focus();
53
- }
54
- }
55
- }
56
- });
33
+ if (e.shiftKey) {
34
+ if (prev = this.findSiblings(e.target).prev) {
35
+ e.preventDefault();
36
+ return prev.focus();
37
+ }
38
+ } else {
39
+ if (next = this.findSiblings(e.target).next) {
40
+ e.preventDefault();
41
+ return next.focus();
42
+ }
57
43
  }
58
-
59
- };
60
-
61
- _Class._SCOPE = 'tabulate';
62
-
63
- _Class._SELECTORS = ['input[type=radio]:not([disabled])'];
64
-
65
- _Class._DISABLED_ATTRIBUTE = 'data-tabulate-disabled';
66
-
67
- return _Class;
68
-
69
- }).call(this));
44
+ }
45
+ }).help({
46
+ listen: function() {
47
+ return [['keydown@tab', this.selector, this.trigger]];
48
+ }
49
+ });
70
50
 
71
51
  })));