luda 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (224) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +20 -20
  3. data/README.md +5 -5
  4. data/assets/javascripts/luda-degradation.js +1 -1
  5. data/assets/javascripts/luda-degradation.js.map +1 -1
  6. data/assets/javascripts/luda-degradation.min.js +1 -1
  7. data/assets/javascripts/luda-degradation.min.js.map +1 -1
  8. data/assets/javascripts/luda-sprockets.js +11 -11
  9. data/assets/javascripts/luda.js +1 -1
  10. data/assets/javascripts/luda.js.map +1 -1
  11. data/assets/javascripts/luda.min.js +1 -1
  12. data/assets/javascripts/luda.min.js.map +1 -1
  13. data/assets/javascripts/luda/install.js +1 -1
  14. data/assets/stylesheets/luda/_core/_base.sass +429 -429
  15. data/assets/stylesheets/luda/_core/_functions.sass +239 -239
  16. data/assets/stylesheets/luda/_core/_variables.sass +709 -709
  17. data/assets/stylesheets/luda/_core/behaviours/_disabled.sass +11 -11
  18. data/assets/stylesheets/luda/_core/behaviours/_focus.sass +6 -6
  19. data/assets/stylesheets/luda/_core/behaviours/_readonly.sass +15 -15
  20. data/assets/stylesheets/luda/_core/behaviours/_toggle.sass +3 -3
  21. data/assets/stylesheets/luda/_core/collections/_alert.sass +23 -23
  22. data/assets/stylesheets/luda/_core/collections/_avatar.sass +116 -116
  23. data/assets/stylesheets/luda/_core/collections/_breadcrumb.sass +20 -20
  24. data/assets/stylesheets/luda/_core/collections/_button-group.sass +66 -66
  25. data/assets/stylesheets/luda/_core/collections/_button-icon.sass +45 -45
  26. data/assets/stylesheets/luda/_core/collections/_carousel.sass +131 -131
  27. data/assets/stylesheets/luda/_core/collections/_dropdown.sass +59 -59
  28. data/assets/stylesheets/luda/_core/collections/_form-button.sass +22 -22
  29. data/assets/stylesheets/luda/_core/collections/_form-dropdown.sass +20 -20
  30. data/assets/stylesheets/luda/_core/collections/_form-group.sass +47 -47
  31. data/assets/stylesheets/luda/_core/collections/_form-icon.sass +70 -70
  32. data/assets/stylesheets/luda/_core/collections/_media.sass +54 -54
  33. data/assets/stylesheets/luda/_core/collections/_modal.sass +11 -11
  34. data/assets/stylesheets/luda/_core/collections/_nav.sass +161 -161
  35. data/assets/stylesheets/luda/_core/collections/_tab.sass +17 -17
  36. data/assets/stylesheets/luda/_core/elements/_badge.sass +18 -18
  37. data/assets/stylesheets/luda/_core/elements/_baseline.sass +21 -21
  38. data/assets/stylesheets/luda/_core/elements/_button.sass +135 -135
  39. data/assets/stylesheets/luda/_core/elements/_container.sass +7 -7
  40. data/assets/stylesheets/luda/_core/elements/_grid.sass +54 -54
  41. data/assets/stylesheets/luda/_core/elements/_icon.sass +109 -109
  42. data/assets/stylesheets/luda/_core/elements/_overlay.sass +10 -10
  43. data/assets/stylesheets/luda/_core/elements/_progress.sass +30 -30
  44. data/assets/stylesheets/luda/_core/elements/_scrollbar.sass +20 -20
  45. data/assets/stylesheets/luda/_core/elements/_table.sass +101 -101
  46. data/assets/stylesheets/luda/_core/elements/_turbolinks-progress-bar.sass +4 -4
  47. data/assets/stylesheets/luda/_core/elements/form/_form-check-radio.sass +104 -104
  48. data/assets/stylesheets/luda/_core/elements/form/_form-element.sass +82 -82
  49. data/assets/stylesheets/luda/_core/elements/form/_form-helper.sass +65 -65
  50. data/assets/stylesheets/luda/_core/elements/form/_form-label.sass +19 -19
  51. data/assets/stylesheets/luda/_core/elements/form/_form-range.sass +91 -91
  52. data/assets/stylesheets/luda/_core/elements/form/_form-row.sass +213 -213
  53. data/assets/stylesheets/luda/_core/elements/typography/_code.sass +26 -26
  54. data/assets/stylesheets/luda/_core/elements/typography/_link.sass +14 -14
  55. data/assets/stylesheets/luda/_core/elements/typography/_list.sass +13 -13
  56. data/assets/stylesheets/luda/_core/elements/typography/_mark.sass +6 -6
  57. data/assets/stylesheets/luda/_core/elements/typography/_quote.sass +67 -67
  58. data/assets/stylesheets/luda/_core/elements/typography/_sub-sup.sass +15 -15
  59. data/assets/stylesheets/luda/_core/elements/typography/_typography.sass +51 -51
  60. data/assets/stylesheets/luda/_core/mixins/_browser.sass +14 -14
  61. data/assets/stylesheets/luda/_core/mixins/_button.sass +89 -89
  62. data/assets/stylesheets/luda/_core/mixins/_dropdown.sass +39 -39
  63. data/assets/stylesheets/luda/_core/mixins/_focus.sass +2 -2
  64. data/assets/stylesheets/luda/_core/mixins/_form.sass +26 -26
  65. data/assets/stylesheets/luda/_core/mixins/_install.sass +6 -6
  66. data/assets/stylesheets/luda/_core/mixins/_media-query.sass +65 -65
  67. data/assets/stylesheets/luda/_core/mixins/_overlay.sass +13 -13
  68. data/assets/stylesheets/luda/_core/mixins/_sass-lint-fix.sass +2 -2
  69. data/assets/stylesheets/luda/_core/mixins/_typography.sass +39 -39
  70. data/assets/stylesheets/luda/_core/utilities/_align.sass +18 -18
  71. data/assets/stylesheets/luda/_core/utilities/_background.sass +87 -87
  72. data/assets/stylesheets/luda/_core/utilities/_color.sass +35 -35
  73. data/assets/stylesheets/luda/_core/utilities/_display.sass +39 -39
  74. data/assets/stylesheets/luda/_core/utilities/_flex.sass +113 -113
  75. data/assets/stylesheets/luda/_core/utilities/_float.sass +20 -20
  76. data/assets/stylesheets/luda/_core/utilities/_opacity.sass +18 -18
  77. data/assets/stylesheets/luda/_core/utilities/_overflow.sass +17 -17
  78. data/assets/stylesheets/luda/_core/utilities/_position.sass +47 -47
  79. data/assets/stylesheets/luda/_core/utilities/_shape.sass +61 -61
  80. data/assets/stylesheets/luda/_core/utilities/_size.sass +66 -66
  81. data/assets/stylesheets/luda/_core/utilities/_space.sass +226 -226
  82. data/assets/stylesheets/luda/_core/utilities/_text.sass +84 -84
  83. data/assets/stylesheets/luda/_core/utilities/_visibility.sass +10 -10
  84. data/assets/stylesheets/luda/_core/utilities/_z-index.sass +18 -18
  85. data/assets/stylesheets/luda/_default.sass +51 -51
  86. data/assets/stylesheets/luda/default/_banner.sass +1 -1
  87. data/assets/stylesheets/luda/default/_base.sass +5 -5
  88. data/assets/stylesheets/luda/default/_mixins.sass +9 -9
  89. data/assets/stylesheets/luda/default/behaviours/_disabled.sass +4 -4
  90. data/assets/stylesheets/luda/default/behaviours/_focus.sass +4 -4
  91. data/assets/stylesheets/luda/default/behaviours/_readonly.sass +4 -4
  92. data/assets/stylesheets/luda/default/behaviours/_toggle.sass +4 -4
  93. data/assets/stylesheets/luda/default/collections/_alert.sass +5 -5
  94. data/assets/stylesheets/luda/default/collections/_avatar.sass +6 -6
  95. data/assets/stylesheets/luda/default/collections/_breadcrumb.sass +5 -5
  96. data/assets/stylesheets/luda/default/collections/_button-group.sass +6 -6
  97. data/assets/stylesheets/luda/default/collections/_button-icon.sass +7 -7
  98. data/assets/stylesheets/luda/default/collections/_carousel.sass +6 -6
  99. data/assets/stylesheets/luda/default/collections/_dropdown.sass +7 -7
  100. data/assets/stylesheets/luda/default/collections/_form-button.sass +8 -8
  101. data/assets/stylesheets/luda/default/collections/_form-dropdown.sass +7 -7
  102. data/assets/stylesheets/luda/default/collections/_form-group.sass +10 -10
  103. data/assets/stylesheets/luda/default/collections/_form-icon.sass +7 -7
  104. data/assets/stylesheets/luda/default/collections/_media.sass +6 -6
  105. data/assets/stylesheets/luda/default/collections/_modal.sass +6 -6
  106. data/assets/stylesheets/luda/default/collections/_nav.sass +9 -9
  107. data/assets/stylesheets/luda/default/collections/_tab.sass +8 -8
  108. data/assets/stylesheets/luda/default/elements/_badge.sass +5 -5
  109. data/assets/stylesheets/luda/default/elements/_baseline.sass +5 -5
  110. data/assets/stylesheets/luda/default/elements/_button.sass +6 -6
  111. data/assets/stylesheets/luda/default/elements/_container.sass +5 -5
  112. data/assets/stylesheets/luda/default/elements/_form.sass +12 -12
  113. data/assets/stylesheets/luda/default/elements/_grid.sass +5 -5
  114. data/assets/stylesheets/luda/default/elements/_icon.sass +5 -5
  115. data/assets/stylesheets/luda/default/elements/_overlay.sass +5 -5
  116. data/assets/stylesheets/luda/default/elements/_progress.sass +5 -5
  117. data/assets/stylesheets/luda/default/elements/_scrollbar.sass +5 -5
  118. data/assets/stylesheets/luda/default/elements/_table.sass +5 -5
  119. data/assets/stylesheets/luda/default/elements/_turbolinks-progress-bar.sass +5 -5
  120. data/assets/stylesheets/luda/default/elements/_typography.sass +11 -11
  121. data/assets/stylesheets/luda/default/elements/form/_form-check-radio.sass +4 -4
  122. data/assets/stylesheets/luda/default/elements/form/_form-element.sass +4 -4
  123. data/assets/stylesheets/luda/default/elements/form/_form-helper.sass +4 -4
  124. data/assets/stylesheets/luda/default/elements/form/_form-label.sass +4 -4
  125. data/assets/stylesheets/luda/default/elements/form/_form-range.sass +4 -4
  126. data/assets/stylesheets/luda/default/elements/form/_form-row.sass +4 -4
  127. data/assets/stylesheets/luda/default/elements/typography/_code.sass +4 -4
  128. data/assets/stylesheets/luda/default/elements/typography/_link.sass +4 -4
  129. data/assets/stylesheets/luda/default/elements/typography/_list.sass +3 -3
  130. data/assets/stylesheets/luda/default/elements/typography/_mark.sass +4 -4
  131. data/assets/stylesheets/luda/default/elements/typography/_quote.sass +4 -4
  132. data/assets/stylesheets/luda/default/elements/typography/_sub-sup.sass +4 -4
  133. data/assets/stylesheets/luda/default/elements/typography/_typography.sass +4 -4
  134. data/assets/stylesheets/luda/default/index.sass +55 -55
  135. data/assets/stylesheets/luda/default/utilities/_align.sass +4 -4
  136. data/assets/stylesheets/luda/default/utilities/_background.sass +4 -4
  137. data/assets/stylesheets/luda/default/utilities/_color.sass +4 -4
  138. data/assets/stylesheets/luda/default/utilities/_display.sass +4 -4
  139. data/assets/stylesheets/luda/default/utilities/_flex.sass +4 -4
  140. data/assets/stylesheets/luda/default/utilities/_float.sass +4 -4
  141. data/assets/stylesheets/luda/default/utilities/_opacity.sass +4 -4
  142. data/assets/stylesheets/luda/default/utilities/_overflow.sass +4 -4
  143. data/assets/stylesheets/luda/default/utilities/_position.sass +4 -4
  144. data/assets/stylesheets/luda/default/utilities/_shape.sass +4 -4
  145. data/assets/stylesheets/luda/default/utilities/_size.sass +4 -4
  146. data/assets/stylesheets/luda/default/utilities/_space.sass +4 -4
  147. data/assets/stylesheets/luda/default/utilities/_text.sass +4 -4
  148. data/assets/stylesheets/luda/default/utilities/_visibility.sass +4 -4
  149. data/assets/stylesheets/luda/default/utilities/_z-index.sass +4 -4
  150. data/lib/luda.rb +72 -72
  151. data/lib/luda/engine.rb +11 -11
  152. data/lib/luda/version.rb +1 -1
  153. metadata +3 -74
  154. data/assets/stylesheets/luda/core/_base.sass +0 -430
  155. data/assets/stylesheets/luda/core/_functions.sass +0 -240
  156. data/assets/stylesheets/luda/core/_variables.sass +0 -710
  157. data/assets/stylesheets/luda/core/behaviours/_disabled.sass +0 -12
  158. data/assets/stylesheets/luda/core/behaviours/_focus.sass +0 -7
  159. data/assets/stylesheets/luda/core/behaviours/_readonly.sass +0 -16
  160. data/assets/stylesheets/luda/core/behaviours/_toggle.sass +0 -4
  161. data/assets/stylesheets/luda/core/collections/_alert.sass +0 -24
  162. data/assets/stylesheets/luda/core/collections/_avatar.sass +0 -117
  163. data/assets/stylesheets/luda/core/collections/_breadcrumb.sass +0 -21
  164. data/assets/stylesheets/luda/core/collections/_button-group.sass +0 -67
  165. data/assets/stylesheets/luda/core/collections/_button-icon.sass +0 -46
  166. data/assets/stylesheets/luda/core/collections/_carousel.sass +0 -132
  167. data/assets/stylesheets/luda/core/collections/_dropdown.sass +0 -60
  168. data/assets/stylesheets/luda/core/collections/_form-button.sass +0 -23
  169. data/assets/stylesheets/luda/core/collections/_form-dropdown.sass +0 -21
  170. data/assets/stylesheets/luda/core/collections/_form-group.sass +0 -48
  171. data/assets/stylesheets/luda/core/collections/_form-icon.sass +0 -71
  172. data/assets/stylesheets/luda/core/collections/_media.sass +0 -55
  173. data/assets/stylesheets/luda/core/collections/_modal.sass +0 -12
  174. data/assets/stylesheets/luda/core/collections/_nav.sass +0 -162
  175. data/assets/stylesheets/luda/core/collections/_tab.sass +0 -18
  176. data/assets/stylesheets/luda/core/elements/_badge.sass +0 -19
  177. data/assets/stylesheets/luda/core/elements/_baseline.sass +0 -22
  178. data/assets/stylesheets/luda/core/elements/_button.sass +0 -136
  179. data/assets/stylesheets/luda/core/elements/_container.sass +0 -8
  180. data/assets/stylesheets/luda/core/elements/_grid.sass +0 -55
  181. data/assets/stylesheets/luda/core/elements/_icon.sass +0 -110
  182. data/assets/stylesheets/luda/core/elements/_overlay.sass +0 -11
  183. data/assets/stylesheets/luda/core/elements/_progress.sass +0 -31
  184. data/assets/stylesheets/luda/core/elements/_scrollbar.sass +0 -21
  185. data/assets/stylesheets/luda/core/elements/_table.sass +0 -102
  186. data/assets/stylesheets/luda/core/elements/_turbolinks-progress-bar.sass +0 -5
  187. data/assets/stylesheets/luda/core/elements/form/_form-check-radio.sass +0 -105
  188. data/assets/stylesheets/luda/core/elements/form/_form-element.sass +0 -83
  189. data/assets/stylesheets/luda/core/elements/form/_form-helper.sass +0 -66
  190. data/assets/stylesheets/luda/core/elements/form/_form-label.sass +0 -20
  191. data/assets/stylesheets/luda/core/elements/form/_form-range.sass +0 -92
  192. data/assets/stylesheets/luda/core/elements/form/_form-row.sass +0 -214
  193. data/assets/stylesheets/luda/core/elements/typography/_code.sass +0 -27
  194. data/assets/stylesheets/luda/core/elements/typography/_link.sass +0 -15
  195. data/assets/stylesheets/luda/core/elements/typography/_list.sass +0 -14
  196. data/assets/stylesheets/luda/core/elements/typography/_mark.sass +0 -7
  197. data/assets/stylesheets/luda/core/elements/typography/_quote.sass +0 -68
  198. data/assets/stylesheets/luda/core/elements/typography/_sub-sup.sass +0 -16
  199. data/assets/stylesheets/luda/core/elements/typography/_typography.sass +0 -52
  200. data/assets/stylesheets/luda/core/mixins/_browser.sass +0 -15
  201. data/assets/stylesheets/luda/core/mixins/_button.sass +0 -90
  202. data/assets/stylesheets/luda/core/mixins/_dropdown.sass +0 -40
  203. data/assets/stylesheets/luda/core/mixins/_focus.sass +0 -3
  204. data/assets/stylesheets/luda/core/mixins/_form.sass +0 -27
  205. data/assets/stylesheets/luda/core/mixins/_install.sass +0 -7
  206. data/assets/stylesheets/luda/core/mixins/_media-query.sass +0 -66
  207. data/assets/stylesheets/luda/core/mixins/_overlay.sass +0 -14
  208. data/assets/stylesheets/luda/core/mixins/_sass-lint-fix.sass +0 -3
  209. data/assets/stylesheets/luda/core/mixins/_typography.sass +0 -40
  210. data/assets/stylesheets/luda/core/utilities/_align.sass +0 -19
  211. data/assets/stylesheets/luda/core/utilities/_background.sass +0 -88
  212. data/assets/stylesheets/luda/core/utilities/_color.sass +0 -36
  213. data/assets/stylesheets/luda/core/utilities/_display.sass +0 -40
  214. data/assets/stylesheets/luda/core/utilities/_flex.sass +0 -114
  215. data/assets/stylesheets/luda/core/utilities/_float.sass +0 -21
  216. data/assets/stylesheets/luda/core/utilities/_opacity.sass +0 -19
  217. data/assets/stylesheets/luda/core/utilities/_overflow.sass +0 -18
  218. data/assets/stylesheets/luda/core/utilities/_position.sass +0 -48
  219. data/assets/stylesheets/luda/core/utilities/_shape.sass +0 -62
  220. data/assets/stylesheets/luda/core/utilities/_size.sass +0 -67
  221. data/assets/stylesheets/luda/core/utilities/_space.sass +0 -227
  222. data/assets/stylesheets/luda/core/utilities/_text.sass +0 -85
  223. data/assets/stylesheets/luda/core/utilities/_visibility.sass +0 -11
  224. data/assets/stylesheets/luda/core/utilities/_z-index.sass +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 895935589896879f027cb8e39db9a1a4d97e464b15bd48a3e3ce530c51a8e9a7
4
- data.tar.gz: a20fad13c1956a9b8bb6945752abdd620ee62cd5bb3e949517017186b841a9bf
3
+ metadata.gz: 9ac61bdcb85138a158e49dfbdfc7601f6004c55f0b17083c6f7b57becdadafcb
4
+ data.tar.gz: cdef4657dec3d35251be960f19df111955f86b98c3af52c9196467443813fa27
5
5
  SHA512:
6
- metadata.gz: bb6e6295e4a457573cbc334f1b05f5fb91a6883a22aa4eb88134c91bde4e87e308360ec90a2f25723a637d92a1dc732d727f9622c8e8be093e31049a103d7f6a
7
- data.tar.gz: 27fde2192338a38a3e1283366480db794946d45a0f280abc9f24bcd54b6af20e3c712b870b529e66c28be109ab3b4219b68d22a2dd31b549c42b4e73f6a9188f
6
+ metadata.gz: 55d8cc2ecaad76979c3877ec232d71e17e9687d8a0f56eec94128a676cba8c0660cd8192ce7a37c0aac3dc9727d3c49fb77bdba39924c0bfa6ba5b9de8d7aa87
7
+ data.tar.gz: a31ce3fb1cbcfe75114132b17206d3078cfa9d1286fde6becd695e87844ef5b3c030c3f0640fb11e04ca1e444d8996a81085626d666e6868514971169d89c69e
data/MIT-LICENSE CHANGED
@@ -1,20 +1,20 @@
1
- Copyright 2019 littlstonee
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1
+ Copyright 2019 littlstonee
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
- # Luda
2
-
3
- A lightweight and responsive UI framework for modern development.
4
-
5
- ## This package has not been released official officially, this is just a demo package to occupy a package name.
1
+ # Luda
2
+
3
+ A lightweight and responsive UI framework for modern development.
4
+
5
+ ## This package has not been released officially, this is just a demo package to occupy a package name.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda degradation script 0.1.5 | https://luda.dev
2
+ * Luda degradation script 0.1.6 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"luda-degradation.js","sources":["../../src/coffee/degradation.coffee"],"sourcesContent":["Degradation =\r\n\r\n _URL_ATTRIBUTE: 'data-degradation-url'\r\n\r\n _HTML: [\r\n '<div id=\"luda-degradation-html\" '\r\n 'style=\"padding:100px 30px;text-align:center\">'\r\n '<h1>Your Browser Is Too Old!</h1>'\r\n '<p>'\r\n 'Please visit this site with a modern browser '\r\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\r\n '(Chrome recommended)'\r\n '</a>'\r\n '.</p>'\r\n '</div>'\r\n ].join('')\r\n\r\n _CSS_PROPERTIES: [\r\n display: 'flex'\r\n position: ['sticky', 'fixed']\r\n 'transition'\r\n 'animation'\r\n ]\r\n\r\n _JS_PROPERTIES:\r\n es6Class: 'class X {}'\r\n es6ArrowFunction: '((x) => x)()'\r\n\r\n _NOTIFY_MILLSECONDS: 500\r\n\r\n check: ->\r\n @_checkEnv()\r\n @_checkJS @_JS_PROPERTIES\r\n @_checkCSS @_CSS_PROPERTIES\r\n\r\n _eval: eval\r\n\r\n _checkEnv: ->\r\n if typeof document isnt 'undefined'\r\n return window if typeof window isnt 'undefined'\r\n return global if typeof global isnt 'undefined'\r\n throw new Error 'Unsupported runtime environment.'\r\n\r\n _checkJS: (properties) ->\r\n for property, value of properties\r\n try\r\n @_eval value\r\n catch err\r\n @_notify()\r\n throw new Error property + ' ' + err\r\n\r\n _checkCSS: (properties) ->\r\n ele = document.createElement 'div'\r\n for property in properties\r\n if typeof property is 'string'\r\n @_CSSPropertySupported ele, property\r\n else\r\n for name, value of property\r\n @_CSSPropertySupported ele, name\r\n if value instanceof Array\r\n @_CSSValueSupported ele, name, valueEle for valueEle in value\r\n else\r\n @_CSSValueSupported ele, name, value\r\n\r\n _CSSPropertySupported: (ele, property) ->\r\n unless typeof ele.style[property] is 'string'\r\n @_notify()\r\n throw new Error 'Unsupported CSS property: ' + property\r\n\r\n _CSSValueSupported: (ele, property, value) ->\r\n ele.style[property] = value\r\n unless ele.style[property] is value\r\n @_notify()\r\n throw new Error 'Unsupported CSS property value: ' \\\r\n + property + ' ' + value\r\n\r\n _notify: ->\r\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\r\n return location.href = redirectUrl if redirectUrl\r\n _self = this\r\n setInterval(->\r\n unless document.getElementById 'luda-degradation-html'\r\n document.body.innerHTML = _self._HTML if document.body\r\n , @_NOTIFY_MILLSECONDS)\r\n\r\n\r\n\r\n\r\nDegradation.check()"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"luda-degradation.js","sources":["../../src/coffee/degradation.coffee"],"sourcesContent":["Degradation =\n\n _URL_ATTRIBUTE: 'data-degradation-url'\n\n _HTML: [\n '<div id=\"luda-degradation-html\" '\n 'style=\"padding:100px 30px;text-align:center\">'\n '<h1>Your Browser Is Too Old!</h1>'\n '<p>'\n 'Please visit this site with a modern browser '\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\n '(Chrome recommended)'\n '</a>'\n '.</p>'\n '</div>'\n ].join('')\n\n _CSS_PROPERTIES: [\n display: 'flex'\n position: ['sticky', 'fixed']\n 'transition'\n 'animation'\n ]\n\n _JS_PROPERTIES:\n es6Class: 'class X {}'\n es6ArrowFunction: '((x) => x)()'\n\n _NOTIFY_MILLSECONDS: 500\n\n check: ->\n @_checkEnv()\n @_checkJS @_JS_PROPERTIES\n @_checkCSS @_CSS_PROPERTIES\n\n _eval: eval\n\n _checkEnv: ->\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 _checkJS: (properties) ->\n for property, value of properties\n try\n @_eval value\n catch err\n @_notify()\n throw new Error property + ' ' + err\n\n _checkCSS: (properties) ->\n ele = document.createElement 'div'\n for property in properties\n if typeof property is 'string'\n @_CSSPropertySupported ele, property\n else\n for name, value of property\n @_CSSPropertySupported ele, name\n if value instanceof Array\n @_CSSValueSupported ele, name, valueEle for valueEle in value\n else\n @_CSSValueSupported ele, name, value\n\n _CSSPropertySupported: (ele, property) ->\n unless typeof ele.style[property] is 'string'\n @_notify()\n throw new Error 'Unsupported CSS property: ' + property\n\n _CSSValueSupported: (ele, property, value) ->\n ele.style[property] = value\n unless ele.style[property] is value\n @_notify()\n throw new Error 'Unsupported CSS property value: ' \\\n + property + ' ' + value\n\n _notify: ->\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n _self = this\n setInterval(->\n unless document.getElementById 'luda-degradation-html'\n document.body.innerHTML = _self._HTML if document.body\n , @_NOTIFY_MILLSECONDS)\n\n\n\n\nDegradation.check()"],"names":[],"mappings":";;;;;;;;;;;EAAA,IAAA;;EAAA,WAAA,GAEE;IAAA,cAAA,EAAgB,sBAAhB;IAEA,KAAA,EAAO,CACL,kCADK,EAEL,+CAFK,EAGL,mCAHK,EAIL,KAJK,EAKL,+CALK,EAML,2DANK,EAOL,sBAPK,EAQL,MARK,EASL,OATK,EAUL,QAVK,CAWJ,CAAC,IAXG,CAWE,EAXF,CAFP;IAeA,eAAA,EAAiB;MACf;QAAA,OAAA,EAAS,MAAT;QACA,QAAA,EAAU,CAAC,QAAD;MAAW,OAAX;OAFK;MAGf,YAHe;MAIf,WAJe;KAfjB;IAsBA,cAAA,EACE;MAAA,QAAA,EAAU,YAAV;MACA,gBAAA,EAAkB;KAxBpB;IA0BA,mBAAA,EAAqB,GA1BrB;IA4BA,KAAA,EAAO;MACL,IAAC,CAAA,SAAD;MACA,IAAC,CAAA,QAAD,CAAU,IAAC,CAAA,cAAX;aACA,IAAC,CAAA,SAAD,CAAW,IAAC,CAAA,eAAZ;KA/BF;IAiCA,KAAA,EAAO,IAjCP;IAmCA,SAAA,EAAW;MACT,IAAG,OAAO,QAAP,KAAqB,WAAxB;QACE,IAAiB,OAAO,MAAP,KAAmB,WAApC;EAAA,eAAO,OAAP;;QACA,IAAiB,OAAO,MAAP,KAAmB,WAApC;EAAA,eAAO,OAAP;SAFF;;MAGA,MAAM,IAAI,KAAJ,CAAU,kCAAV;KAvCR;IAyCA,QAAA,EAAU,SAAC,UAAD;EACR,QAAA,GAAA,EAAA,QAAA,EAAA,OAAA,EAAA;EAAA;MAAA,KAAA,sBAAA;;EACE;uBACE,IAAC,CAAA,KAAD,CAAO,KAAP,GADF;SAAA,aAAA;UAEM;UACJ,IAAC,CAAA,OAAD;UACA,MAAM,IAAI,KAAJ,CAAU,QAAA,GAAW,GAAX,GAAiB,GAA3B,EAJR;;OADF;;KA1CF;IAiDA,SAAA,EAAW,SAAC,UAAD;EACT,QAAA,GAAA,EAAA,CAAA,EAAA,GAAA,EAAA,IAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA;MAAA,GAAA,GAAM,QAAQ,CAAC,aAAT,CAAuB,KAAvB;EACN;MAAA,KAAA,4CAAA;;QACE,IAAG,OAAO,QAAP,KAAmB,QAAtB;uBACE,IAAC,CAAA,qBAAD,CAAuB,GAAvB,EAA4B,QAA5B,GADF;SAAA,MAAA;;;EAGE;YAAA,KAAA,gBAAA;;cACE,IAAC,CAAA,qBAAD,CAAuB,GAAvB,EAA4B,IAA5B;cACA,IAAG,KAAA,YAAiB,KAApB;;;EAC0C;kBAAA,KAAA,yCAAA;;kCAAxC,IAAC,CAAA,kBAAD,CAAoB,GAApB,EAAyB,IAAzB,EAA+B,QAA/B;mBAAwC;;+BAD1C;eAAA,MAAA;8BAGE,IAAC,CAAA,kBAAD,CAAoB,GAApB,EAAyB,IAAzB,EAA+B,KAA/B,GAHF;;aAFF;;yBAHF;;OADF;;KAnDF;IA8DA,qBAAA,EAAuB,SAAC,GAAD,EAAM,QAAN;MACrB,IAAO,OAAO,GAAG,CAAC,KAAM,CAAA,QAAA,CAAjB,KAA8B,QAArC;QACE,IAAC,CAAA,OAAD;QACA,MAAM,IAAI,KAAJ,CAAU,4BAAA,GAA+B,QAAzC,EAFR;;KA/DF;IAmEA,kBAAA,EAAoB,SAAC,GAAD,EAAM,QAAN,EAAgB,KAAhB;MAClB,GAAG,CAAC,KAAM,CAAA,QAAA,CAAV,GAAsB;MACtB,IAAO,GAAG,CAAC,KAAM,CAAA,QAAA,CAAV,KAAuB,KAA9B;QACE,IAAC,CAAA,OAAD;QACA,MAAM,IAAI,KAAJ,CAAU,kCAAA,GACd,QADc,GACH,GADG,GACG,KADb,EAFR;;KArEF;IA0EA,OAAA,EAAS;EACP,QAAA,KAAA,EAAA;MAAA,WAAA,GAAc,QAAQ,CAAC,eAAe,CAAC,YAAzB,CAAsC,IAAC,CAAA,cAAvC;MACd,IAAsC,WAAtC;EAAA,aAAO,QAAQ,CAAC,IAAT,GAAgB,YAAvB;;MACA,KAAA,GAAQ;aACR,WAAA,CAAY;QACV,IAAA,CAAO,QAAQ,CAAC,cAAT,CAAwB,uBAAxB,CAAP;UACE,IAAyC,QAAQ,CAAC,IAAlD;mBAAA,QAAQ,CAAC,IAAI,CAAC,SAAd,GAA0B,KAAK,CAAC,MAAhC;WADF;;OADF,EAGE,IAAC,CAAA,mBAHH;;EA9EF;;EAsFF,WAAW,CAAC,KAAZ;;;;"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda degradation script 0.1.5 | https://luda.dev
2
+ * Luda degradation script 0.1.6 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/coffee/degradation.coffee"],"names":["Degradation","_URL_ATTRIBUTE","_HTML","join","_CSS_PROPERTIES","display","position","_JS_PROPERTIES","es6Class","es6ArrowFunction","_NOTIFY_MILLSECONDS","check","this","_checkEnv","_checkJS","_checkCSS","_eval","eval","document","window","global","Error","properties","err","property","results","value","error","_notify","ele","i","len","name","valueEle","createElement","length","_CSSPropertySupported","results1","Array","results2","j","len1","_CSSValueSupported","style","_self","redirectUrl","documentElement","getAttribute","location","href","setInterval","getElementById","body","innerHTML"],"mappings":";;;;;2LAAA,IAAAA,YAAAA,YAEE,CAAAC,eAAgB,uBAEhBC,MAAO,CACL,mCACA,gDACA,oCACA,MACA,gDACA,4DACA,uBACA,OACA,QACA,UACEC,KAAK,IAETC,gBAAiB,CACf,CAAAC,QAAS,OACTC,SAAU,CAAC,SAAU,UACrB,aACA,aAGFC,eACE,CAAAC,SAAU,aACVC,iBAAkB,gBAEpBC,oBAAqB,IAErBC,MAAO,WACLC,KAACC,YACDD,KAACE,SAASF,KAACL,uBACXK,KAACG,UAAUH,KAACR,kBAEdY,MAAOC,KAEPJ,UAAW,WACT,UAAUK,WAAc,YAAxB,CACE,UAAwBC,SAAY,YAApC,CAAA,OAAOA,OACP,UAAwBC,SAAY,YAApC,CAAA,OAAOA,QACT,MAAM,IAAIC,MAAM,qCAElBP,SAAU,SAACQ,YACT,IAAAC,IAAAC,SAAAC,QAAAC,MAAAD,QAAA,GAAA,IAAAD,YAAAF,WAAA,4BACE,iBACEV,KAACI,MAAMU,QADT,MAAAC,OAEMJ,IAAAI,MACJf,KAACgB,UACD,MAAM,IAAIP,MAAMG,SAAW,IAAMD,sBAEvCR,UAAW,SAACO,YACV,IAAAO,IAAAC,EAAAC,IAAAC,KAAAR,SAAAC,QAAAC,MAAAO,SAAAJ,IAAMX,SAASgB,cAAc,OAC7BT,QAAA,GAAA,IAAAK,EAAA,EAAAC,IAAAT,WAAAa,OAAAL,EAAAC,IAAAD,IAAA,wBACE,UAAUN,WAAY,SAAtB,cACEZ,KAACwB,sBAAsBP,IAAKL,eAD9B,sCAGEa,SAAA,GAAA,IAAAL,QAAAR,SAAA,sBACEZ,KAACwB,sBAAsBP,IAAKG,MAC5B,GAAGN,iBAAiBY,MAApB,8CAC0CC,SAAA,GAAA,IAAAC,EAAA,EAAAC,KAAAf,MAAAS,OAAAK,EAAAC,KAAAD,IAAA,iCAAxC5B,KAAC8B,mBAAmBb,IAAKG,KAAMC,4CADjC,eAGErB,KAAC8B,mBAAmBb,IAAKG,KAAMN,uDAEzCU,sBAAuB,SAACP,IAAKL,UAC3B,UAAcK,IAAIc,MAAMnB,YAAa,SAArC,CACEZ,KAACgB,UACD,MAAM,IAAIP,MAAM,6BAA+BG,YAEnDkB,mBAAoB,SAACb,IAAKL,SAAUE,OAClCG,IAAIc,MAAMnB,UAAYE,MACtB,GAAOG,IAAIc,MAAMnB,YAAaE,MAA9B,CACEd,KAACgB,UACD,MAAM,IAAIP,MAAM,mCACdG,SAAW,IAAME,SAEvBE,QAAS,WACP,IAAAgB,MAAAC,YAAAA,YAAc3B,SAAS4B,gBAAgBC,aAAanC,KAACX,gBACrD,GAAsC4C,YAAtC,CAAA,OAAOG,SAASC,KAAOJ,YACvBD,MAAQhC,YACRsC,YAAY,WACV,IAAOhC,SAASiC,eAAe,yBAA/B,CACE,GAAyCjC,SAASkC,KAAlD,QAAAlC,SAASkC,KAAKC,UAAYT,MAAM1C,SAClCU,KAACF,uBAKPV,YAAYW","sourcesContent":["Degradation =\r\n\r\n _URL_ATTRIBUTE: 'data-degradation-url'\r\n\r\n _HTML: [\r\n '<div id=\"luda-degradation-html\" '\r\n 'style=\"padding:100px 30px;text-align:center\">'\r\n '<h1>Your Browser Is Too Old!</h1>'\r\n '<p>'\r\n 'Please visit this site with a modern browser '\r\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\r\n '(Chrome recommended)'\r\n '</a>'\r\n '.</p>'\r\n '</div>'\r\n ].join('')\r\n\r\n _CSS_PROPERTIES: [\r\n display: 'flex'\r\n position: ['sticky', 'fixed']\r\n 'transition'\r\n 'animation'\r\n ]\r\n\r\n _JS_PROPERTIES:\r\n es6Class: 'class X {}'\r\n es6ArrowFunction: '((x) => x)()'\r\n\r\n _NOTIFY_MILLSECONDS: 500\r\n\r\n check: ->\r\n @_checkEnv()\r\n @_checkJS @_JS_PROPERTIES\r\n @_checkCSS @_CSS_PROPERTIES\r\n\r\n _eval: eval\r\n\r\n _checkEnv: ->\r\n if typeof document isnt 'undefined'\r\n return window if typeof window isnt 'undefined'\r\n return global if typeof global isnt 'undefined'\r\n throw new Error 'Unsupported runtime environment.'\r\n\r\n _checkJS: (properties) ->\r\n for property, value of properties\r\n try\r\n @_eval value\r\n catch err\r\n @_notify()\r\n throw new Error property + ' ' + err\r\n\r\n _checkCSS: (properties) ->\r\n ele = document.createElement 'div'\r\n for property in properties\r\n if typeof property is 'string'\r\n @_CSSPropertySupported ele, property\r\n else\r\n for name, value of property\r\n @_CSSPropertySupported ele, name\r\n if value instanceof Array\r\n @_CSSValueSupported ele, name, valueEle for valueEle in value\r\n else\r\n @_CSSValueSupported ele, name, value\r\n\r\n _CSSPropertySupported: (ele, property) ->\r\n unless typeof ele.style[property] is 'string'\r\n @_notify()\r\n throw new Error 'Unsupported CSS property: ' + property\r\n\r\n _CSSValueSupported: (ele, property, value) ->\r\n ele.style[property] = value\r\n unless ele.style[property] is value\r\n @_notify()\r\n throw new Error 'Unsupported CSS property value: ' \\\r\n + property + ' ' + value\r\n\r\n _notify: ->\r\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\r\n return location.href = redirectUrl if redirectUrl\r\n _self = this\r\n setInterval(->\r\n unless document.getElementById 'luda-degradation-html'\r\n document.body.innerHTML = _self._HTML if document.body\r\n , @_NOTIFY_MILLSECONDS)\r\n\r\n\r\n\r\n\r\nDegradation.check()"]}
1
+ {"version":3,"sources":["../../src/coffee/degradation.coffee"],"names":["Degradation","_URL_ATTRIBUTE","_HTML","join","_CSS_PROPERTIES","display","position","_JS_PROPERTIES","es6Class","es6ArrowFunction","_NOTIFY_MILLSECONDS","check","this","_checkEnv","_checkJS","_checkCSS","_eval","eval","document","window","global","Error","properties","err","property","results","value","error","_notify","ele","i","len","name","valueEle","createElement","length","_CSSPropertySupported","results1","Array","results2","j","len1","_CSSValueSupported","style","_self","redirectUrl","documentElement","getAttribute","location","href","setInterval","getElementById","body","innerHTML"],"mappings":";;;;;2LAAA,IAAAA,YAAAA,YAEE,CAAAC,eAAgB,uBAEhBC,MAAO,CACL,mCACA,gDACA,oCACA,MACA,gDACA,4DACA,uBACA,OACA,QACA,UACEC,KAAK,IAETC,gBAAiB,CACf,CAAAC,QAAS,OACTC,SAAU,CAAC,SAAU,UACrB,aACA,aAGFC,eACE,CAAAC,SAAU,aACVC,iBAAkB,gBAEpBC,oBAAqB,IAErBC,MAAO,WACLC,KAACC,YACDD,KAACE,SAASF,KAACL,uBACXK,KAACG,UAAUH,KAACR,kBAEdY,MAAOC,KAEPJ,UAAW,WACT,UAAUK,WAAc,YAAxB,CACE,UAAwBC,SAAY,YAApC,CAAA,OAAOA,OACP,UAAwBC,SAAY,YAApC,CAAA,OAAOA,QACT,MAAM,IAAIC,MAAM,qCAElBP,SAAU,SAACQ,YACT,IAAAC,IAAAC,SAAAC,QAAAC,MAAAD,QAAA,GAAA,IAAAD,YAAAF,WAAA,4BACE,iBACEV,KAACI,MAAMU,QADT,MAAAC,OAEMJ,IAAAI,MACJf,KAACgB,UACD,MAAM,IAAIP,MAAMG,SAAW,IAAMD,sBAEvCR,UAAW,SAACO,YACV,IAAAO,IAAAC,EAAAC,IAAAC,KAAAR,SAAAC,QAAAC,MAAAO,SAAAJ,IAAMX,SAASgB,cAAc,OAC7BT,QAAA,GAAA,IAAAK,EAAA,EAAAC,IAAAT,WAAAa,OAAAL,EAAAC,IAAAD,IAAA,wBACE,UAAUN,WAAY,SAAtB,cACEZ,KAACwB,sBAAsBP,IAAKL,eAD9B,sCAGEa,SAAA,GAAA,IAAAL,QAAAR,SAAA,sBACEZ,KAACwB,sBAAsBP,IAAKG,MAC5B,GAAGN,iBAAiBY,MAApB,8CAC0CC,SAAA,GAAA,IAAAC,EAAA,EAAAC,KAAAf,MAAAS,OAAAK,EAAAC,KAAAD,IAAA,iCAAxC5B,KAAC8B,mBAAmBb,IAAKG,KAAMC,4CADjC,eAGErB,KAAC8B,mBAAmBb,IAAKG,KAAMN,uDAEzCU,sBAAuB,SAACP,IAAKL,UAC3B,UAAcK,IAAIc,MAAMnB,YAAa,SAArC,CACEZ,KAACgB,UACD,MAAM,IAAIP,MAAM,6BAA+BG,YAEnDkB,mBAAoB,SAACb,IAAKL,SAAUE,OAClCG,IAAIc,MAAMnB,UAAYE,MACtB,GAAOG,IAAIc,MAAMnB,YAAaE,MAA9B,CACEd,KAACgB,UACD,MAAM,IAAIP,MAAM,mCACdG,SAAW,IAAME,SAEvBE,QAAS,WACP,IAAAgB,MAAAC,YAAAA,YAAc3B,SAAS4B,gBAAgBC,aAAanC,KAACX,gBACrD,GAAsC4C,YAAtC,CAAA,OAAOG,SAASC,KAAOJ,YACvBD,MAAQhC,YACRsC,YAAY,WACV,IAAOhC,SAASiC,eAAe,yBAA/B,CACE,GAAyCjC,SAASkC,KAAlD,QAAAlC,SAASkC,KAAKC,UAAYT,MAAM1C,SAClCU,KAACF,uBAKPV,YAAYW","sourcesContent":["Degradation =\n\n _URL_ATTRIBUTE: 'data-degradation-url'\n\n _HTML: [\n '<div id=\"luda-degradation-html\" '\n 'style=\"padding:100px 30px;text-align:center\">'\n '<h1>Your Browser Is Too Old!</h1>'\n '<p>'\n 'Please visit this site with a modern browser '\n '<a target=\"_blank\" href=\"https://www.google.com/chrome/\">'\n '(Chrome recommended)'\n '</a>'\n '.</p>'\n '</div>'\n ].join('')\n\n _CSS_PROPERTIES: [\n display: 'flex'\n position: ['sticky', 'fixed']\n 'transition'\n 'animation'\n ]\n\n _JS_PROPERTIES:\n es6Class: 'class X {}'\n es6ArrowFunction: '((x) => x)()'\n\n _NOTIFY_MILLSECONDS: 500\n\n check: ->\n @_checkEnv()\n @_checkJS @_JS_PROPERTIES\n @_checkCSS @_CSS_PROPERTIES\n\n _eval: eval\n\n _checkEnv: ->\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 _checkJS: (properties) ->\n for property, value of properties\n try\n @_eval value\n catch err\n @_notify()\n throw new Error property + ' ' + err\n\n _checkCSS: (properties) ->\n ele = document.createElement 'div'\n for property in properties\n if typeof property is 'string'\n @_CSSPropertySupported ele, property\n else\n for name, value of property\n @_CSSPropertySupported ele, name\n if value instanceof Array\n @_CSSValueSupported ele, name, valueEle for valueEle in value\n else\n @_CSSValueSupported ele, name, value\n\n _CSSPropertySupported: (ele, property) ->\n unless typeof ele.style[property] is 'string'\n @_notify()\n throw new Error 'Unsupported CSS property: ' + property\n\n _CSSValueSupported: (ele, property, value) ->\n ele.style[property] = value\n unless ele.style[property] is value\n @_notify()\n throw new Error 'Unsupported CSS property value: ' \\\n + property + ' ' + value\n\n _notify: ->\n redirectUrl = document.documentElement.getAttribute @_URL_ATTRIBUTE\n return location.href = redirectUrl if redirectUrl\n _self = this\n setInterval(->\n unless document.getElementById 'luda-degradation-html'\n document.body.innerHTML = _self._HTML if document.body\n , @_NOTIFY_MILLSECONDS)\n\n\n\n\nDegradation.check()"]}
@@ -1,11 +1,11 @@
1
- //= require luda\behaviours\enter-click
2
- //= require luda\behaviours\focus
3
- //= require luda\behaviours\radio-tab
4
- //= require luda\behaviours\readonly
5
- //= require luda\behaviours\toggle
6
- //= require luda\elements\form-file
7
- //= require luda\elements\form-select
8
- //= require luda\collections\carousel
9
- //= require luda\collections\dropdown
10
- //= require luda\collections\form-dropdown
11
- //= require luda\collections\tab
1
+ //= require luda/behaviours/enter-click
2
+ //= require luda/behaviours/focus
3
+ //= require luda/behaviours/radio-tab
4
+ //= require luda/behaviours/readonly
5
+ //= require luda/behaviours/toggle
6
+ //= require luda/elements/form-file
7
+ //= require luda/elements/form-select
8
+ //= require luda/collections/carousel
9
+ //= require luda/collections/dropdown
10
+ //= require luda/collections/form-dropdown
11
+ //= require luda/collections/tab
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.1.5 | https://luda.dev
2
+ * Luda 0.1.6 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"luda.js","sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviours/enter-click.coffee","../../src/coffee/behaviours/focus.coffee","../../src/coffee/behaviours/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviours/readonly.coffee","../../src/coffee/behaviours/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/collections/carousel.coffee","../../src/coffee/collections/dropdown.coffee","../../src/coffee/collections/form-dropdown.coffee","../../src/coffee/collections/tab.coffee"],"sourcesContent":["ENV = (->\r\n if typeof document isnt 'undefined'\r\n return window if typeof window isnt 'undefined'\r\n return global if typeof global isnt 'undefined'\r\n throw new Error 'Unsupported runtime environment.'\r\n)()\r\n\r\n\r\n\r\nunless typeof ENV.luda is 'function'\r\n ENV.luda = (installer) ->\r\n throw new Error 'Installer cannot be detected.' unless installer\r\n unless ['object', 'function'].includes typeof installer\r\n throw new Error 'Installer must be object, array or function.'\r\n if installer.hasOwnProperty '_SCOPE'\r\n unless typeof installer._SCOPE is 'string'\r\n throw new Error '_SCOPE must be string'\r\n return ENV.luda._install installer._SCOPE, installer\r\n if installer instanceof Array or typeof installer is 'function'\r\n throw new Error 'Unscoped installer must be object.'\r\n installed = {}\r\n for name, property of installer\r\n installed[name] = ENV.luda._install name, property\r\n installed\r\n\r\n ENV.luda._install = (namespace, installer) ->\r\n if ENV.luda[namespace]\r\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\r\n return ENV.luda[namespace]\r\n for installedName, installedInstaller of ENV.luda\r\n if installer is installedInstaller\r\n console.warn \"Installer is installed with name #{installedName},\r\n skip installation.\"\r\n return ENV.luda[installedName]\r\n if installer._install\r\n if typeof installer._install is 'function'\r\n return ENV.luda[namespace] = installer._install()\r\n return ENV.luda[namespace] = installer._install\r\n ENV.luda[namespace] = installer","import './install.coffee'\r\n\r\n\r\n\r\nluda\r\n\r\n KEY_LEFT: 37\r\n KEY_UP: 38\r\n KEY_RIGHT: 39\r\n KEY_DOWN: 40\r\n KEY_TAB: 9\r\n KEY_ESC: 27\r\n KEY_ENTER: 13","import './install.coffee'\r\n\r\n\r\n\r\nluda\r\n \r\n $child: (selector, $ancestor) ->\r\n $ancestor = document unless $ancestor\r\n $ancestor.querySelector selector\r\n\r\n $children: (selector, $ancestor) ->\r\n $ancestor = document unless $ancestor\r\n $descendant = @$child selector, $ancestor\r\n if $descendant\r\n descendants = Array.from($ancestor.querySelectorAll selector)\r\n else\r\n descendants = []\r\n\r\n $unnested: (selector, $ancestor, ancestorSelector) ->\r\n descendants = @$children selector, $ancestor\r\n descendants.filter ($descendant) =>\r\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\r\n\r\n $parent: (selector, $descendant) ->\r\n $ancestor = $descendant.parentNode\r\n if $ancestor\r\n if $ancestor.matches and $ancestor.matches selector\r\n $ancestor\r\n else\r\n @$parent selector, $ancestor\r\n\r\n $parents: (selector, $descendant, _ancestors) ->\r\n $ancestor = @$parent selector, $descendant\r\n _ancestors = [] unless _ancestors\r\n if $ancestor\r\n _ancestors.push($ancestor)\r\n @$parents selector, $ancestor, _ancestors\r\n else\r\n _ancestors\r\n\r\n $after: ($node, $target) ->\r\n $parent = $target.parentNode\r\n if $parent.lastChild is $target\r\n $parent.appendChild $node\r\n else\r\n $parent.insertBefore $node, $target.nextSibling\r\n\r\n $prepend: ($node, $target) ->\r\n if $target.firstChild\r\n $target.insertBefore $node, $target.firstChild\r\n else\r\n $target.appendChild $node\r\n\r\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\r\nimport './dom.coffee'\r\n\r\n\r\n\r\nluda\r\n \r\n _SWIPE_DISTANCE: 10\r\n _EVENT_TYPE_PREFIX: 'luda'\r\n _SWIPE_LEFT: 'swipeleft'\r\n _SWIPE_RIGHT: 'swiperight'\r\n _SWIPE_UP: 'swipeup'\r\n _SWIPE_DOWN: 'swipedown'\r\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\r\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\r\n _DOC_READY: 'docready'\r\n _FORM_RESET: 'reset'\r\n\r\n eventPath: (event) ->\r\n if event.composedPath\r\n path = event.composedPath()\r\n else if event.path\r\n path = event.path\r\n else\r\n path = [event.target].concat(luda.$parents '*', event.target)\r\n\r\n on: (event, selector..., handler) ->\r\n switch event\r\n when @_DOC_READY then @_onDocReady handler\r\n when @_FORM_RESET then @_onReset selector[0], handler\r\n when @_SWIPE_LEFT, \\\r\n @_SWIPE_RIGHT, \\\r\n @_SWIPE_UP, \\\r\n @_SWIPE_DOWN, \\\r\n @_SWIPE_LEFT_OR_UP, \\\r\n @_SWIPE_RIGHT_OR_DOWN\r\n then @_onSwipe event, selector[0], handler\r\n else @_on event, selector[0], handler\r\n\r\n onOpposite: (event, selector, handler) ->\r\n _self = this\r\n document.addEventListener event, (e) ->\r\n trigger = _self.eventPath(e).every ($element) ->\r\n not $element.matches or not $element.matches selector\r\n handler e if trigger\r\n\r\n dispatch: ($target, type, detail, options = {}) ->\r\n options.bubbles = true unless typeof options.bubbles is 'boolean'\r\n options.cancelable = true unless typeof options.cancelable is 'boolean'\r\n options.composed = true unless typeof options.composed is 'boolean'\r\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\r\n evt.detail = detail\r\n $target.dispatchEvent evt\r\n evt\r\n \r\n _onDocReady: (handler) ->\r\n if document.readyState is 'loading'\r\n document.addEventListener 'DOMContentLoaded', handler\r\n else\r\n handler()\r\n\r\n _onReset: (selector, handler) ->\r\n document.addEventListener 'reset', (e) ->\r\n if selector?\r\n luda.$children(selector, e.target).forEach ($element) ->\r\n handler.bind($element)(e)\r\n else\r\n handler e\r\n \r\n _onSwipe: (event, selector, handler) ->\r\n _self = this\r\n watch = false\r\n $touchStartElement = document\r\n touchStartE = null\r\n touchStartX = 0\r\n touchStartY = 0\r\n document.addEventListener 'touchstart', (e) ->\r\n if e.touches.length is 1\r\n touchStartX = e.touches[0].screenX\r\n touchStartY = e.touches[0].screenY\r\n if selector?\r\n _self.eventPath(e).some ($element) ->\r\n if $element.matches and $element.matches selector\r\n $touchStartElement = $element\r\n touchStartE = e\r\n watch = true\r\n return true\r\n else\r\n watch = true\r\n\r\n document.addEventListener 'touchmove', (e) ->\r\n if watch and e.touches.length is 1\r\n touchDistanceX = e.touches[0].screenX - touchStartX\r\n touchDistanceY = e.touches[0].screenY - touchStartY\r\n eventX = undefined\r\n eventY = undefined\r\n eventXOrY = undefined\r\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\r\n if touchDistanceX > 0\r\n eventX = _self._SWIPE_RIGHT\r\n else\r\n eventX = _self._SWIPE_LEFT\r\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\r\n if touchDistanceY > 0\r\n eventY = _self._SWIPE_DOWN\r\n else\r\n eventY = _self._SWIPE_UP\r\n if eventX is _self._SWIPE_LEFT \\\r\n or eventY is _self._SWIPE_UP\r\n eventXOrY = _self._SWIPE_LEFT_OR_UP\r\n if eventX is _self._SWIPE_RIGHT \\\r\n or eventY is _self._SWIPE_DOWN\r\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\r\n if (eventX? and eventX is event) \\\r\n or (eventY? and eventY is event) \\\r\n or eventXOrY is event\r\n if selector?\r\n _self.eventPath(e).some ($element) ->\r\n if $element is $touchStartElement\r\n watch = false\r\n handler.bind($element)(touchStartE, e)\r\n return true\r\n else\r\n watch = false\r\n handler touchStartE, e\r\n\r\n _on: (event, selector, handler) ->\r\n if selector is window\r\n window.addEventListener event, (e) -> handler e\r\n else\r\n _self = this\r\n document.addEventListener event, (e) ->\r\n if selector?\r\n _self.eventPath(e).some ($element) ->\r\n if $element.matches and $element.matches selector\r\n handler.bind($element)(e)\r\n return true\r\n else\r\n handler e","import './install.coffee'\r\n\r\n\r\n\r\nluda\r\n \r\n except: (element, arr) ->\r\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\r\nimport './utilities.coffee'\r\n\r\n\r\n \r\nluda class Singleton\r\n\r\n @_SCOPE: 'Singleton'\r\n \r\n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\r\n @_SELECTORS: []\r\n\r\n @_selector: ''\r\n @_actived: true\r\n\r\n @active: ->\r\n @_actived = true\r\n\r\n @deactive: ->\r\n @_actived = false\r\n\r\n @_add: (selector) ->\r\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\r\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\r\n @_mergeSelectors()\r\n\r\n @_remove: (selector) ->\r\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\r\n luda.except selector, @_SELECTORS\r\n @_mergeSelectors()\r\n\r\n @_mergeSelectors: ->\r\n @_selector = @_SELECTORS.join ','\r\n\r\n @_install: ->\r\n return this if this is Singleton\r\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\r\n @_mergeSelectors()\r\n exposed = @_init() if typeof @_init is 'function'\r\n if exposed then exposed else this","import '../install.coffee'\r\nimport '../constants.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'enterClick'\r\n\r\n @_SELECTORS: [\r\n 'input[type=checkbox]'\r\n 'input[type=radio]'\r\n '[tabindex]'\r\n ]\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'keydown', (e) ->\r\n if self._actived \\\r\n and e.keyCode is luda.KEY_ENTER \\\r\n and e.target.matches self._selector\r\n e.preventDefault()\r\n setTimeout(-> e.target.click())","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'focus'\r\n\r\n @_CSS_CLASS: 'focus'\r\n # mouse focusable selectors\r\n @_SELECTORS: ['select'\r\n 'textarea'\r\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\r\n input:not([type=button]):not([type=submit]):not([type=reset])'\r\n ]\r\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\r\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\r\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\r\n\r\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\r\n\r\n @_removeFocusClassExcept: ($exception) ->\r\n Array.from(@_$focus).forEach ($focus) =>\r\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\r\n\r\n @_addFocusClassExceptHtmlAndBody: ($target) ->\r\n if $target isnt document.body and $target isnt document.documentElement\r\n $target.classList.add @_CSS_CLASS\r\n\r\n @_changeFocusStateOnKeyEvent: (e) ->\r\n if @_actived\r\n @_removeFocusClassExcept e.target\r\n @_addFocusClassExceptHtmlAndBody e.target\r\n\r\n @_changeFocusStateOnMouseDownEvent: (e) ->\r\n if @_actived\r\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\r\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\r\n else\r\n target = e.target\r\n if target.matches @_selector\r\n @_removeFocusClassExcept target\r\n @_addFocusClassExceptHtmlAndBody target\r\n else\r\n @_removeFocusClassExcept()\r\n\r\n @_setElementPrototype: ->\r\n focus = HTMLElement.prototype.focus\r\n blur = HTMLElement.prototype.blur\r\n self = this\r\n HTMLElement.prototype.focus = ->\r\n focus.apply this, arguments\r\n if self._actived and document.activeElement is this\r\n self._removeFocusClassExcept this\r\n self._addFocusClassExceptHtmlAndBody this\r\n HTMLElement.prototype.blur = ->\r\n blur.apply this, arguments\r\n this.classList.remove self._CSS_CLASS if self._actived\r\n\r\n @_init: ->\r\n self = this\r\n @_setElementPrototype()\r\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\r\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\r\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\r\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\r\n @_changeFocusStateOnMouseDownEvent.bind this\r\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\r\nimport '../constants.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'radioTab'\r\n\r\n @_SELECTORS: ['input[type=radio]:not([disabled])']\r\n\r\n @_querySameName$radios: ($radio) ->\r\n if $radio.name\r\n selector = \"#{@_selector}[name=#{$radio.name}]\"\r\n else\r\n selector = @_selector\r\n $inputs = luda.$children selector\r\n $inputs.filter ($input) -> $input.tabIndex >= 0\r\n\r\n @_query$prev$next: ($radio) ->\r\n $sameNameRadios = @_querySameName$radios $radio\r\n radioIndex = $sameNameRadios.indexOf $radio\r\n $prev = $sameNameRadios[radioIndex - 1]\r\n $next = $sameNameRadios[radioIndex + 1]\r\n {$prev, $next}\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'keydown', (e) ->\r\n if self._actived \\\r\n and e.keyCode is luda.KEY_TAB \\\r\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\r\n and e.target.type is 'radio'\r\n if e.shiftKey\r\n if $prev = self._query$prev$next(e.target).$prev\r\n e.preventDefault()\r\n $prev.focus()\r\n else\r\n if $next = self._query$prev$next(e.target).$next\r\n e.preventDefault()\r\n $next.focus()","import './install.coffee'\r\nimport './utilities.coffee'\r\nimport './dom.coffee'\r\nimport './event.coffee'\r\n\r\n\r\n\r\n\r\nluda class Component\r\n\r\n @_SCOPE: 'Component'\r\n \r\n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\r\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\r\n @_SELECTOR: ''\r\n @_instances: []\r\n\r\n @_Observed: []\r\n @_observer: null\r\n @_observerConfig:\r\n childList: true\r\n subtree: true\r\n\r\n _hasDescendant: (descendant) ->\r\n if @_children.length and descendant\r\n return true if @_children.includes descendant\r\n return @_children.some (child) -> child._hasDescendant descendant\r\n else\r\n return false\r\n\r\n _observe: ->\r\n @_observer = new MutationObserver @_onMutations.bind this\r\n @_observer.observe @_$component, @constructor._observerConfig\r\n\r\n _disconnect: ->\r\n @_observer.disconnect()\r\n @_observer = null\r\n\r\n @create: ($component) ->\r\n componentIsElementInstance = $component instanceof Element\r\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\r\n $family = @_query$family $component\r\n instance = @query $component\r\n if $family._$parent\r\n if parent = @query $family._$parent\r\n @_instances.push instance = @_createInstance $component unless instance\r\n if instance._parent isnt parent\r\n parent._children.push(instance) and (instance._parent = parent)\r\n $family._$children.forEach ($child) => @create $child\r\n return instance\r\n else\r\n @create $family._$parent\r\n return @query $component\r\n else\r\n @_instances.push instance = @_createInstance $component unless instance\r\n $family._$children.forEach ($child) => @create $child\r\n return instance\r\n\r\n @destroy: (instance$component) ->\r\n instance = @query instance$component\r\n if instance\r\n instance._disconnect() if instance._observer\r\n instance._destroy() if instance._destroy\r\n @destroy instance._children[0] while instance._children.length\r\n if instance._parent\r\n luda.except instance, instance._parent._children\r\n luda.except instance, @_instances\r\n for attribute, value of instance\r\n instance[attribute] = null\r\n \r\n @query: (instance$component) ->\r\n instance = null\r\n if instance$component instanceof this \\\r\n and @_instances.includes instance$component\r\n instance = instance$component\r\n else if instance$component instanceof Element\r\n @_instances.some (inited) ->\r\n if inited._$component is instance$component\r\n instance = inited\r\n return true\r\n return instance\r\n\r\n @_query$family: ($component) ->\r\n _$parent = null\r\n _$children = []\r\n if @_SELECTOR\r\n _$parent = luda.$parent @_SELECTOR, $component\r\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\r\n {_$parent, _$children}\r\n\r\n @_createInstance: ($component) ->\r\n instance = new this()\r\n instance._$component = $component\r\n instance._parent = null\r\n instance._children = []\r\n instance._observer = null\r\n instance._constructor() if instance._constructor\r\n unless instance._observer and instance._onMutations and @_observerConfig\r\n instance._observe()\r\n instance\r\n\r\n @_observe: (classObj) ->\r\n unless Component._observer\r\n Component._observer = new MutationObserver (mutations) ->\r\n mutations.forEach (mutation) ->\r\n $removedNodes = Array.from mutation.removedNodes\r\n $addedNodes = Array.from mutation.addedNodes\r\n $removedNodes.forEach ($node) ->\r\n if $node instanceof Element\r\n Component._Observed.forEach (Observed) ->\r\n if $node.matches Observed._SELECTOR\r\n Observed.destroy $node\r\n else\r\n $destroies = luda.$children Observed._SELECTOR, $node\r\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\r\n $addedNodes.forEach ($node) ->\r\n if $node instanceof Element\r\n Component._Observed.forEach (Observed) ->\r\n if $node.matches Observed._SELECTOR\r\n Observed.create $node\r\n else\r\n $creates = luda.$children Observed._SELECTOR, $node\r\n $creates.forEach ($create) -> Observed.create $create\r\n Component._observer.observe document.documentElement, \\\r\n Component._observerConfig\r\n unless Component._Observed.includes classObj\r\n Component._Observed.push classObj\r\n\r\n @_install: ->\r\n self = this\r\n return this if this is Component\r\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\r\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\r\n @_instances = [] unless @hasOwnProperty '_instances'\r\n exposed = @_init() if typeof @_init is 'function'\r\n luda.on luda._DOC_READY, ->\r\n luda.$children(self._SELECTOR).forEach ($component) ->\r\n self.create $component\r\n Component._observe(self)\r\n if exposed then exposed else this","import '../install.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'readonly'\r\n @_READONLY_ATTRIBUTE: 'data-readonly'\r\n @_READONLY_FALSE_VALUE: 'false'\r\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\r\n\r\n @_observerConfig:\r\n attributes: true\r\n attributeFilter: [@_READONLY_ATTRIBUTE]\r\n\r\n _getConfig: ->\r\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\r\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\r\n _originalTabIndex = @_$component.tabIndex\r\n {_isReadonly, _originalTabIndex}\r\n \r\n _constructor: ->\r\n {\r\n @_isReadonly,\r\n @_originalTabIndex\r\n } = @_getConfig()\r\n @_setTabIndex()\r\n\r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _setTabIndex: ->\r\n if @_isReadonly\r\n @_$component.tabIndex = -1\r\n else\r\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'toggle'\r\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\r\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\r\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\r\n @_NONE_TOGGLE_ATTRIBUTE: 'data-none-toggle'\r\n @_ACTIVE_CSS_CLASS: 'toggle-active'\r\n @_SELECTORS: [\r\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\r\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\r\n ]\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @active: (name$target) ->\r\n @_query$targets(name$target).forEach ($target) =>\r\n $target.classList.add @_ACTIVE_CSS_CLASS\r\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\r\n\r\n @deactive: (name$target) ->\r\n @_query$targets(name$target).forEach ($target) =>\r\n $target.classList.remove @_ACTIVE_CSS_CLASS\r\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\r\n\r\n @toggle: (name$target) ->\r\n @_query$targets(name$target).forEach ($target) =>\r\n if $target.classList.contains @_ACTIVE_CSS_CLASS\r\n @deactive($target)\r\n else\r\n @active($target)\r\n\r\n @_query$targets: (name$target) ->\r\n if name$target instanceof Element\r\n [name$target]\r\n else\r\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'click', @_selector, (e) ->\r\n toggleChecked = false\r\n luda.eventPath(e).some ($path) ->\r\n if $path instanceof Element\r\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\r\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\r\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\r\n self.toggle toggleName\r\n toggleChecked = true\r\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\r\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\r\n $toggle = $path\r\n else\r\n $toggle = luda.$parent \\\r\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\r\n if $toggle\r\n self.toggle $toggle\r\n toggleChecked = true\r\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\r\n toggleChecked = true","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'fmFile'\r\n\r\n @_VALUE_SPLITOR: ' '\r\n @_SELECTOR: '.fm-file'\r\n @_FILE_SELECTOR: 'input[type=file]'\r\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\r\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\r\n @_VALUE_ATTRIBUTE: 'value'\r\n\r\n @_observerConfig:\r\n childList: true\r\n subtree: true\r\n\r\n _getConfig: ->\r\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\r\n _$simulator = luda.$child \\\r\n @constructor._SIMULATOR_SELECTOR, @_$component\r\n {_$file, _$simulator}\r\n\r\n _constructor: ->\r\n {\r\n @_$file,\r\n @_$simulator\r\n } = @_getConfig()\r\n @_init()\r\n\r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _insertSimulator: ->\r\n @_$simulator = document.createElement 'input'\r\n @_$simulator.tabIndex = -1\r\n luda.$after @_$simulator, @_$file\r\n\r\n _setPlaceholderValue: ->\r\n @_$simulator.placeholder = \\\r\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n\r\n _setSimulatorValue: ->\r\n values = []\r\n Array.from(@_$file.files).map (file) -> values.push file.name\r\n if values.length\r\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\r\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\r\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\r\n\r\n _init: ->\r\n if @_$file\r\n @_insertSimulator() unless @_$simulator\r\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n @_setPlaceholderValue()\r\n @_setSimulatorValue()\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\r\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\r\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\r\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'fmSelect'\r\n\r\n @_SELECTOR: '.fm-select'\r\n @_SELECT_SELECTOR: 'select'\r\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\r\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\r\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\r\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\r\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: ['selected']\r\n\r\n select: (indexOrIndexArray) ->\r\n if @_$select.multiple\r\n if @_$multipleSelectPlaceholder\r\n selectedIndexes = indexOrIndexArray\r\n else\r\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\r\n Array.from(@_$select.options).forEach ($option, index) ->\r\n $option.selected = selectedIndexes.includes index\r\n @_markSelectedOption()\r\n else\r\n @_$select.selectedIndex = selectedIndex\r\n @_setSingleSelectSimulatorValue()\r\n @_markSelectedOption()\r\n\r\n _getConfig: ->\r\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\r\n _$singleSelectSimulator = luda.$child \\\r\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\r\n _$multipleSelectPlaceholder = luda.$child \\\r\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\r\n _$defaultSelectedOptions = luda.$children \\\r\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\r\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\r\n @constructor._INITED_ATTRIBUTE\r\n {\r\n _$select,\r\n _$singleSelectSimulator,\r\n _$multipleSelectPlaceholder,\r\n _$defaultSelectedOptions,\r\n _defaultSelectedOptionMarked\r\n }\r\n\r\n _constructor: ->\r\n {\r\n @_$select,\r\n @_$singleSelectSimulator,\r\n @_$multipleSelectPlaceholder,\r\n @_$defaultSelectedOptions,\r\n @_defaultSelectedOptionMarked\r\n } = @_getConfig()\r\n if @_$select\r\n if @_$select.multiple\r\n @_initMultipleSelect()\r\n else\r\n @_initSingleSelect()\r\n \r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _markSelectedOption: ->\r\n @_disconnect() if @_observer\r\n Array.from(@_$select.options).forEach ($option) ->\r\n if $option.selected\r\n $option.setAttribute 'selected', 'selected'\r\n else\r\n $option.removeAttribute 'selected'\r\n @_observe() unless @_observer\r\n\r\n _markDefaultSelectedOption: ->\r\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\r\n Array.from(@_$select.options).forEach ($option) =>\r\n if $option.selected\r\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\r\n\r\n _setSingleSelectedDefaultSelectedOption: ->\r\n hasSelected = Array.from(@_$select.options).some ($option) ->\r\n $option.getAttribute('selected') is 'selected'\r\n @_$select.selectedIndex = -1 unless hasSelected\r\n\r\n _insertSingleSelectSimulator: ->\r\n @_$singleSelectSimulator = document.createElement 'input'\r\n @_$singleSelectSimulator.tabIndex = -1\r\n luda.$after @_$singleSelectSimulator, @_$select\r\n\r\n _setSingleSelectPlaceholderValue: ->\r\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\r\n @constructor._PLACEHOLDER_ATTRIBUTE\r\n\r\n _setSingleSelectSimulatorValue: ->\r\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\r\n @_$singleSelectSimulator.value = $selectedOption.innerText\r\n else\r\n @_$singleSelectSimulator.value = ''\r\n\r\n _initSingleSelect: ->\r\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\r\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n @_setSingleSelectedDefaultSelectedOption()\r\n @_setSingleSelectPlaceholderValue()\r\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\r\n @_setSingleSelectSimulatorValue()\r\n @_markSelectedOption()\r\n\r\n _insertMultipleSelectBlankOption: ->\r\n @_$multipleSelectPlaceholder = document.createElement 'option'\r\n @_$multipleSelectPlaceholder.className = \\\r\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\r\n @_$multipleSelectPlaceholder.disabled = true\r\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\r\n\r\n _setMultipleSelectPlaceholderValue: ->\r\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\r\n @constructor._PLACEHOLDER_ATTRIBUTE\r\n\r\n _initMultipleSelect: ->\r\n unless @_$multipleSelectPlaceholder\r\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n @_insertMultipleSelectBlankOption()\r\n @_setMultipleSelectPlaceholderValue()\r\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\r\n\r\n _reset: ->\r\n if @_$select\r\n Array.from(@_$select.options).forEach ($option) =>\r\n $option.selected = @_$defaultSelectedOptions.includes $option\r\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\r\n @_markSelectedOption()\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\r\n instance = self.query(luda.$parent self._SELECTOR, this)\r\n instance._setSingleSelectSimulatorValue() unless this.multiple\r\n instance._markSelectedOption()\r\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\r\n setTimeout => self.query(this)._reset()","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'carousel'\r\n\r\n @_SELECTOR: '.carousel'\r\n @_ITEMS_SELECTOR: '.carousel-item'\r\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\r\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\r\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\r\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\r\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\r\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\r\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\r\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\r\n @_ACTIVE_INDEX: 0\r\n @_INTERVAL: 5000\r\n @_WRAP: true\r\n @_FALSE: 'false'\r\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\r\n \r\n # public\r\n active: (index) ->\r\n if @_$items.length and not @_transiting\r\n activedIndex = @_activeIndex\r\n if index? \\\r\n and index isnt @_activeIndex \\\r\n and 0 <= index <= @_$items.length - 1\r\n @_transiting = true\r\n @_activeIndex = index\r\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\r\n @[action] @_$items[activedIndex], activedIndex\r\n\r\n next: ->\r\n if @_$items.length and not @_transiting\r\n activedIndex = @_activeIndex\r\n index = activedIndex + 1\r\n if index > @_$items.length - 1\r\n return unless @_wrap\r\n index = 0\r\n @_transiting = true\r\n @_activeIndex = index\r\n @_slideNext @_$items[activedIndex], activedIndex\r\n @_playTimeStamp = Date.now()\r\n @_pausedRemainTime = @_interval\r\n\r\n prev: ->\r\n if @_$items.length and not @_transiting\r\n activedIndex = @_activeIndex\r\n index = activedIndex - 1\r\n if index < 0\r\n return unless @_wrap\r\n index = @_$items.length - 1\r\n @_transiting = true\r\n @_activeIndex = index\r\n @_slidePrev @_$items[activedIndex], activedIndex\r\n @_playTimeStamp = Date.now()\r\n @_pausedRemainTime = @_interval\r\n\r\n pause: ->\r\n if @_intervaling?\r\n clearInterval @_intervaling\r\n @_intervaling = null\r\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\r\n\r\n play: ->\r\n if @_interval and @_$items.length > 1\r\n @_playTimeStamp = Date.now()\r\n @pause()\r\n execute = =>\r\n @next()\r\n @_intervaling = setInterval @next.bind(this), @_interval\r\n @_intervaling = setTimeout execute, @_pausedRemainTime\r\n\r\n\r\n # private\r\n _getConfig: ->\r\n _$items = luda.$unnested \\\r\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\r\n _$indicators = luda.$unnested \\\r\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\r\n _$prevControl = luda.$child \\\r\n @constructor._PREV_CONTROL_SELECTOR, @_$component\r\n _$nextControl = luda.$child \\\r\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\r\n _activeIndex = _$items.indexOf \\\r\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\r\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\r\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\r\n if _interval is @constructor._FALSE\r\n _interval = false\r\n else\r\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\r\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\r\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\r\n {\r\n _$items,\r\n _$indicators,\r\n _$prevControl,\r\n _$nextControl,\r\n _activeIndex,\r\n _interval,\r\n _wrap\r\n }\r\n\r\n _constructor: ->\r\n {\r\n @_$items,\r\n @_$indicators,\r\n @_$prevControl,\r\n @_$nextControl,\r\n @_activeIndex,\r\n @_interval,\r\n @_wrap\r\n } = @_getConfig()\r\n @_transiting = false\r\n @_intervaling = null\r\n @_playTimeStamp = 0\r\n @_pausedRemainTime = @_interval\r\n @_layout()\r\n @play()\r\n\r\n _onMutations: (mutations) ->\r\n {\r\n @_$items,\r\n @_$indicators,\r\n @_$prevControl,\r\n @_$nextControl,\r\n @_activeIndex,\r\n @_interval,\r\n @_wrap\r\n } = @_getConfig()\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n @play()\r\n\r\n _destroy: ->\r\n @pause()\r\n\r\n _layout: ->\r\n @_$items.forEach ($item, index) =>\r\n $item.style.transition = 'none'\r\n if index > @_activeIndex\r\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n else if index < @_activeIndex\r\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n else\r\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\r\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n luda.reflow($item)\r\n $item.style.transition = ''\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n\r\n _slideNext: ($activedItem, activedIndex) ->\r\n if @_$items.length > 1\r\n $item = @_$items[@_activeIndex]\r\n luda.dispatch($item, \\\r\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\r\n $item.style.transition = 'none'\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\r\n luda.reflow $item\r\n $item.style.transition = ''\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\r\n luda.dispatch($activedItem, \\\r\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\r\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n\r\n _slidePrev: ($activedItem, activedIndex) ->\r\n if @_$items.length > 1\r\n $item = @_$items[@_activeIndex]\r\n luda.dispatch($item, \\\r\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\r\n $item.style.transition = 'none'\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\r\n luda.reflow $item\r\n $item.style.transition = ''\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\r\n luda.dispatch($activedItem, \\\r\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\r\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n\r\n _setIndicatorsState: ->\r\n @_$indicators.forEach ($indicator, index) =>\r\n $indicator.disabled = index is @_activeIndex\r\n\r\n _setDirectionControlState: ->\r\n if @_$items.length <= 1\r\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\r\n else\r\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\r\n @_$nextControl?.disabled = \\\r\n @_activeIndex is @_$items.length - 1 and not @_wrap\r\n \r\n # static private\r\n @_init: ->\r\n self = this\r\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\r\n instance = self.query(luda.$parent self._SELECTOR, this)\r\n instance._transiting = false\r\n index = instance._$items.indexOf this\r\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\r\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\r\n else\r\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\r\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\r\n instance = self.query luda.$parent self._SELECTOR, this\r\n instance.active instance._$indicators.indexOf this\r\n luda.on 'touchstart', @_SELECTOR, (e) ->\r\n self.query(this).pause()\r\n luda.on 'touchend', @_SELECTOR, (e) ->\r\n setTimeout => self.query(this).play()\r\n luda.on 'mouseover', @_SELECTOR, (e) ->\r\n self.query(this).pause()\r\n luda.on 'mouseout', @_SELECTOR, (e) ->\r\n self.query(this).play()\r\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\r\n self.query(this).next()\r\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\r\n self.query(this).prev()\r\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\r\n self.query(luda.$parent self._SELECTOR, this).prev()\r\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\r\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\r\nimport '../constants.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'dropdown'\r\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\r\n .dropdown-static,.dropdown-absolute-m'\r\n @_MENU_SELECTOR: '.dropdown-menu'\r\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\r\n input:not([disabled]),[tabindex]:not([disabled])'\r\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\r\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-none-toggle'\r\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\r\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\r\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\r\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: [\r\n @_TOGGLE_ATTRIBUTE\r\n @_NONE_TOGGLE_ATTRIBUTE\r\n @_STANDALONE_ATTRIBUTE\r\n ]\r\n\r\n @_$focused: []\r\n\r\n active: ->\r\n unless @_actived()\r\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\r\n @constructor._$focused.push document.activeElement\r\n @_parent?.active()\r\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\r\n\r\n deactive: (focus) ->\r\n if @_actived()\r\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\r\n @_children.forEach (child) -> child.deactive()\r\n if focus\r\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\r\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\r\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\r\n\r\n toggle: (focus) ->\r\n if @_actived() then @deactive(focus) else @active()\r\n\r\n prev: ->\r\n if @_$items.length and @_actived()\r\n focusIndex = @_$items.indexOf(document.activeElement) - 1\r\n focusIndex = 0 if focusIndex < 0\r\n @_$items[focusIndex].focus()\r\n\r\n next: ->\r\n if @_$items.length and @_actived()\r\n focusIndex = @_$items.indexOf(document.activeElement) + 1\r\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\r\n @_$items[focusIndex].focus()\r\n\r\n _getConfig: ->\r\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\r\n _$switches = luda.$unnested( \\\r\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\r\n .concat(luda.$unnested \\\r\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\r\n _$noneSwitches = luda.$unnested( \\\r\n @constructor._NONE_SWITCHES_SELECTOR, \\\r\n @_$component, @constructor._SELECTOR) \\\r\n .concat(luda.$unnested \\\r\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\r\n _$items = luda.$unnested \\\r\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\r\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\r\n {_$items, _$switches, _$noneSwitches, _isStandalone}\r\n\r\n _constructor: ->\r\n {\r\n @_$items,\r\n @_$switches,\r\n @_$noneSwitches,\r\n @_isStandalone\r\n } = @_getConfig()\r\n\r\n _onMutations: (mutations) ->\r\n @_constructor()\r\n\r\n _actived: ->\r\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\r\n\r\n _deactiveChildrenExcept: (exceptions) ->\r\n if exceptions and not (exceptions instanceof Array)\r\n exceptions = [exceptions]\r\n if exceptions\r\n @_children.forEach (child) ->\r\n child.deactive() if child._actived() and not exceptions.includes child\r\n else\r\n @_children.forEach (child) ->\r\n child.deactive() if child._actived()\r\n\r\n @deactiveExcept: (instances$dropdowns) ->\r\n exceptions = []\r\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\r\n instances$dropdowns = [instances$dropdowns]\r\n if instances$dropdowns\r\n instances$dropdowns.forEach (instance$dropdown) =>\r\n exceptions.push exception if exception = @query instance$dropdown\r\n if exceptions.length\r\n @_instances.forEach (instance) ->\r\n instanceIsntInExceptions = not exceptions.includes instance\r\n instanceHasntExceptionChild = exceptions.every (exception) ->\r\n not instance._hasDescendant exception\r\n if instance._actived() \\\r\n and instanceIsntInExceptions \\\r\n and instanceHasntExceptionChild\r\n instance.deactive()\r\n else\r\n @_instances.forEach (instance) ->\r\n instance.deactive() if instance._actived()\r\n\r\n @_standaloneInstances: ->\r\n @_instances.filter (instance) -> instance if instance._isStandalone\r\n\r\n @_init: ->\r\n self = this\r\n luda.onOpposite 'click', @_SELECTOR, (e) ->\r\n self.deactiveExcept self._standaloneInstances()\r\n luda.on 'click', @_SELECTOR, (e) ->\r\n if instance = self.query this\r\n toggleChecked = false\r\n focus = not e.detail\r\n self.deactiveExcept(self._standaloneInstances().concat instance)\r\n instance._deactiveChildrenExcept()\r\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\r\n if instance._$switches.length or instance._$noneSwitches.length\r\n luda.eventPath(e).some ($path) ->\r\n if instance._$switches.includes $path\r\n instance.toggle focus\r\n toggleChecked = true\r\n else if instance._$noneSwitches.includes $path\r\n toggleChecked = true\r\n instance.toggle focus unless toggleChecked\r\n\r\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\r\n luda.on 'keyup', @_SELECTOR, (e) ->\r\n if e.keyCode is luda.KEY_TAB and instance = self.query this\r\n self.deactiveExcept(instance)\r\n instance.active()\r\n luda.on 'keydown', @_SELECTOR, (e) ->\r\n if e.keyCode is luda.KEY_ESC and instance = self.query this\r\n e.preventDefault()\r\n if instance._actived()\r\n instance.deactive true\r\n else\r\n instance._parent?.deactive true\r\n luda.on 'keydown', @_SELECTOR, (e) ->\r\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\r\n and instance = self.query this\r\n e.preventDefault()\r\n if instance._actived()\r\n instance.prev()\r\n else\r\n instance._parent?.prev()\r\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\r\n and instance = self.query this\r\n e.preventDefault()\r\n if instance._actived()\r\n instance.next()\r\n else\r\n instance._parent?.next()","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\nimport '../behaviours/focus.coffee'\r\nimport '../behaviours/enter-click.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'fmDropdown'\r\n\r\n @_SELECTOR: '.fm-dropdown'\r\n @_VALUE_SPLITOR: ' '\r\n @_VALUE_ATTRIBUTE: 'data-fm-dropdown-value'\r\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\r\n .dropdown-items .btn-check input'\r\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\r\n .dropdown-items .btn-check label'\r\n @_VALUE_HOLDER_SELECTOR: '.fm input'\r\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: [\r\n 'checked'\r\n @_VALUE_ATTRIBUTE\r\n ]\r\n\r\n _getConfig: ->\r\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\r\n _$defaultValues = luda.$children \\\r\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\r\n _$valueHolder = luda.$child \\\r\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\r\n {_$values, _$valueHolder, _$defaultValues}\r\n\r\n _constructor: ->\r\n {\r\n @_$values,\r\n @_$valueHolder,\r\n @_$defaultValues\r\n } = @_getConfig()\r\n @_setValueHolderAttribute()\r\n @_setValueHolderValue()\r\n\r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _setValueHolderValue: ->\r\n values = []\r\n @_$values.forEach ($value, index) =>\r\n if $value.checked\r\n if $value.hasAttribute @constructor._VALUE_ATTRIBUTE\r\n value = $value.getAttribute @constructor._VALUE_ATTRIBUTE\r\n else\r\n value = @_$defaultValues[index].innerText\r\n values.push value if value and not values.includes value\r\n if @_$valueHolder\r\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\r\n\r\n _setValueHolderAttribute: ->\r\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\r\n\r\n @_init: ->\r\n self = this\r\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\r\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\r\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\r\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\r\n setTimeout => self.query(this)._setValueHolderValue()\r\n # prevent ios device pop out wired navigation pannel\r\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\r\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\r\n this.blur()\r\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'tab'\r\n\r\n @_SELECTOR: '.tab'\r\n @_PANE_SELECTOR: '.tab-pane'\r\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\r\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\r\n @_ACTIVE_INDEX: 0\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @_observerConfig:\r\n childList: true\r\n subtree: true\r\n \r\n # public\r\n active: (index) ->\r\n if @_$panes.length\r\n activedIndex = @_activeIndex\r\n if index? \\\r\n and index isnt @_activeIndex \\\r\n and 0 <= index <= @_$panes.length - 1\r\n @_activeIndex = index\r\n @_active(activedIndex)\r\n\r\n # private\r\n _getConfig: ->\r\n _$panes = luda.$unnested \\\r\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\r\n _$indicators = luda.$unnested \\\r\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\r\n _activeIndex = @constructor._ACTIVE_INDEX\r\n _$indicators.some ($indicator, index) ->\r\n if $indicator.checked\r\n _activeIndex = index\r\n true\r\n {_$panes, _$indicators, _activeIndex}\r\n\r\n _constructor: ->\r\n {\r\n @_$panes,\r\n @_$indicators,\r\n @_activeIndex\r\n } = @_getConfig()\r\n @_active()\r\n\r\n _onMutations: (mutations) ->\r\n @_constructor()\r\n\r\n _active: (activedIndex) ->\r\n @_$panes.forEach ($pane, index) =>\r\n if index is @_activeIndex\r\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\r\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\r\n else\r\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\r\n if index is activedIndex\r\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\r\n @_setIndicatorsState()\r\n\r\n _setIndicatorsState: ->\r\n @_$indicators.forEach ($indicator, index) =>\r\n if index is @_activeIndex\r\n $indicator.setAttribute 'checked', ''\r\n else\r\n $indicator.removeAttribute 'checked'\r\n\r\n # static private\r\n @_init: ->\r\n self = this\r\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\r\n if this.checked\r\n instance = self.query luda.$parent self._SELECTOR, this\r\n instance.active instance._$indicators.indexOf this"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"luda.js","sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviours/enter-click.coffee","../../src/coffee/behaviours/focus.coffee","../../src/coffee/behaviours/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviours/readonly.coffee","../../src/coffee/behaviours/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/collections/carousel.coffee","../../src/coffee/collections/dropdown.coffee","../../src/coffee/collections/form-dropdown.coffee","../../src/coffee/collections/tab.coffee"],"sourcesContent":["ENV = (->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported runtime environment.'\n)()\n\n\n\nunless typeof ENV.luda is 'function'\n ENV.luda = (installer) ->\n throw new Error 'Installer cannot be detected.' unless installer\n unless ['object', 'function'].includes typeof installer\n throw new Error 'Installer must be object, array or function.'\n if installer.hasOwnProperty '_SCOPE'\n unless typeof installer._SCOPE is 'string'\n throw new Error '_SCOPE must be string'\n return ENV.luda._install installer._SCOPE, installer\n if installer instanceof Array or typeof installer is 'function'\n throw new Error 'Unscoped installer must be object.'\n installed = {}\n for name, property of installer\n installed[name] = ENV.luda._install name, property\n installed\n\n ENV.luda._install = (namespace, installer) ->\n if ENV.luda[namespace]\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\n return ENV.luda[namespace]\n for installedName, installedInstaller of ENV.luda\n if installer is installedInstaller\n console.warn \"Installer is installed with name #{installedName},\n skip installation.\"\n return ENV.luda[installedName]\n if installer._install\n if typeof installer._install is 'function'\n return ENV.luda[namespace] = installer._install()\n return ENV.luda[namespace] = installer._install\n ENV.luda[namespace] = installer","import './install.coffee'\n\n\n\nluda\n\n KEY_LEFT: 37\n KEY_UP: 38\n KEY_RIGHT: 39\n KEY_DOWN: 40\n KEY_TAB: 9\n KEY_ESC: 27\n KEY_ENTER: 13","import './install.coffee'\n\n\n\nluda\n \n $child: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $ancestor.querySelector selector\n\n $children: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $descendant = @$child selector, $ancestor\n if $descendant\n descendants = Array.from($ancestor.querySelectorAll selector)\n else\n descendants = []\n\n $unnested: (selector, $ancestor, ancestorSelector) ->\n descendants = @$children selector, $ancestor\n descendants.filter ($descendant) =>\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\n\n $parent: (selector, $descendant) ->\n $ancestor = $descendant.parentNode\n if $ancestor\n if $ancestor.matches and $ancestor.matches selector\n $ancestor\n else\n @$parent selector, $ancestor\n\n $parents: (selector, $descendant, _ancestors) ->\n $ancestor = @$parent selector, $descendant\n _ancestors = [] unless _ancestors\n if $ancestor\n _ancestors.push($ancestor)\n @$parents selector, $ancestor, _ancestors\n else\n _ancestors\n\n $after: ($node, $target) ->\n $parent = $target.parentNode\n if $parent.lastChild is $target\n $parent.appendChild $node\n else\n $parent.insertBefore $node, $target.nextSibling\n\n $prepend: ($node, $target) ->\n if $target.firstChild\n $target.insertBefore $node, $target.firstChild\n else\n $target.appendChild $node\n\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\nimport './dom.coffee'\n\n\n\nluda\n \n _SWIPE_DISTANCE: 10\n _EVENT_TYPE_PREFIX: 'luda'\n _SWIPE_LEFT: 'swipeleft'\n _SWIPE_RIGHT: 'swiperight'\n _SWIPE_UP: 'swipeup'\n _SWIPE_DOWN: 'swipedown'\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\n _DOC_READY: 'docready'\n _FORM_RESET: 'reset'\n\n eventPath: (event) ->\n if event.composedPath\n path = event.composedPath()\n else if event.path\n path = event.path\n else\n path = [event.target].concat(luda.$parents '*', event.target)\n\n on: (event, selector..., handler) ->\n switch event\n when @_DOC_READY then @_onDocReady handler\n when @_FORM_RESET then @_onReset selector[0], handler\n when @_SWIPE_LEFT, \\\n @_SWIPE_RIGHT, \\\n @_SWIPE_UP, \\\n @_SWIPE_DOWN, \\\n @_SWIPE_LEFT_OR_UP, \\\n @_SWIPE_RIGHT_OR_DOWN\n then @_onSwipe event, selector[0], handler\n else @_on event, selector[0], handler\n\n onOpposite: (event, selector, handler) ->\n _self = this\n document.addEventListener event, (e) ->\n trigger = _self.eventPath(e).every ($element) ->\n not $element.matches or not $element.matches selector\n handler e if trigger\n\n dispatch: ($target, type, detail, options = {}) ->\n options.bubbles = true unless typeof options.bubbles is 'boolean'\n options.cancelable = true unless typeof options.cancelable is 'boolean'\n options.composed = true unless typeof options.composed is 'boolean'\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\n evt.detail = detail\n $target.dispatchEvent evt\n evt\n \n _onDocReady: (handler) ->\n if document.readyState is 'loading'\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler()\n\n _onReset: (selector, handler) ->\n document.addEventListener 'reset', (e) ->\n if selector?\n luda.$children(selector, e.target).forEach ($element) ->\n handler.bind($element)(e)\n else\n handler e\n \n _onSwipe: (event, selector, handler) ->\n _self = this\n watch = false\n $touchStartElement = document\n touchStartE = null\n touchStartX = 0\n touchStartY = 0\n document.addEventListener 'touchstart', (e) ->\n if e.touches.length is 1\n touchStartX = e.touches[0].screenX\n touchStartY = e.touches[0].screenY\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n $touchStartElement = $element\n touchStartE = e\n watch = true\n return true\n else\n watch = true\n\n document.addEventListener 'touchmove', (e) ->\n if watch and e.touches.length is 1\n touchDistanceX = e.touches[0].screenX - touchStartX\n touchDistanceY = e.touches[0].screenY - touchStartY\n eventX = undefined\n eventY = undefined\n eventXOrY = undefined\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\n if touchDistanceX > 0\n eventX = _self._SWIPE_RIGHT\n else\n eventX = _self._SWIPE_LEFT\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\n if touchDistanceY > 0\n eventY = _self._SWIPE_DOWN\n else\n eventY = _self._SWIPE_UP\n if eventX is _self._SWIPE_LEFT \\\n or eventY is _self._SWIPE_UP\n eventXOrY = _self._SWIPE_LEFT_OR_UP\n if eventX is _self._SWIPE_RIGHT \\\n or eventY is _self._SWIPE_DOWN\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\n if (eventX? and eventX is event) \\\n or (eventY? and eventY is event) \\\n or eventXOrY is event\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element is $touchStartElement\n watch = false\n handler.bind($element)(touchStartE, e)\n return true\n else\n watch = false\n handler touchStartE, e\n\n _on: (event, selector, handler) ->\n if selector is window\n window.addEventListener event, (e) -> handler e\n else\n _self = this\n document.addEventListener event, (e) ->\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n handler.bind($element)(e)\n return true\n else\n handler e","import './install.coffee'\n\n\n\nluda\n \n except: (element, arr) ->\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\nimport './utilities.coffee'\n\n\n \nluda class Singleton\n\n @_SCOPE: 'Singleton'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_selector: ''\n @_actived: true\n\n @active: ->\n @_actived = true\n\n @deactive: ->\n @_actived = false\n\n @_add: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\n @_mergeSelectors()\n\n @_remove: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n luda.except selector, @_SELECTORS\n @_mergeSelectors()\n\n @_mergeSelectors: ->\n @_selector = @_SELECTORS.join ','\n\n @_install: ->\n return this if this is Singleton\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'enterClick'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_ENTER \\\n and e.target.matches self._selector\n e.preventDefault()\n setTimeout(-> e.target.click())","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'focus'\n\n @_CSS_CLASS: 'focus'\n # mouse focusable selectors\n @_SELECTORS: ['select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n ]\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_removeFocusClassExcept: ($exception) ->\n Array.from(@_$focus).forEach ($focus) =>\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\n\n @_addFocusClassExceptHtmlAndBody: ($target) ->\n if $target isnt document.body and $target isnt document.documentElement\n $target.classList.add @_CSS_CLASS\n\n @_changeFocusStateOnKeyEvent: (e) ->\n if @_actived\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_actived\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\n else\n target = e.target\n if target.matches @_selector\n @_removeFocusClassExcept target\n @_addFocusClassExceptHtmlAndBody target\n else\n @_removeFocusClassExcept()\n\n @_setElementPrototype: ->\n focus = HTMLElement.prototype.focus\n blur = HTMLElement.prototype.blur\n self = this\n HTMLElement.prototype.focus = ->\n focus.apply this, arguments\n if self._actived and document.activeElement is this\n self._removeFocusClassExcept this\n self._addFocusClassExceptHtmlAndBody this\n HTMLElement.prototype.blur = ->\n blur.apply this, arguments\n this.classList.remove self._CSS_CLASS if self._actived\n\n @_init: ->\n self = this\n @_setElementPrototype()\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\n @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'radioTab'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_querySameName$radios: ($radio) ->\n if $radio.name\n selector = \"#{@_selector}[name=#{$radio.name}]\"\n else\n selector = @_selector\n $inputs = luda.$children selector\n $inputs.filter ($input) -> $input.tabIndex >= 0\n\n @_query$prev$next: ($radio) ->\n $sameNameRadios = @_querySameName$radios $radio\n radioIndex = $sameNameRadios.indexOf $radio\n $prev = $sameNameRadios[radioIndex - 1]\n $next = $sameNameRadios[radioIndex + 1]\n {$prev, $next}\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_TAB \\\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\n and e.target.type is 'radio'\n if e.shiftKey\n if $prev = self._query$prev$next(e.target).$prev\n e.preventDefault()\n $prev.focus()\n else\n if $next = self._query$prev$next(e.target).$next\n e.preventDefault()\n $next.focus()","import './install.coffee'\nimport './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Component\n\n @_SCOPE: 'Component'\n \n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\n @_SELECTOR: ''\n @_instances: []\n\n @_Observed: []\n @_observer: null\n @_observerConfig:\n childList: true\n subtree: true\n\n _hasDescendant: (descendant) ->\n if @_children.length and descendant\n return true if @_children.includes descendant\n return @_children.some (child) -> child._hasDescendant descendant\n else\n return false\n\n _observe: ->\n @_observer = new MutationObserver @_onMutations.bind this\n @_observer.observe @_$component, @constructor._observerConfig\n\n _disconnect: ->\n @_observer.disconnect()\n @_observer = null\n\n @create: ($component) ->\n componentIsElementInstance = $component instanceof Element\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\n $family = @_query$family $component\n instance = @query $component\n if $family._$parent\n if parent = @query $family._$parent\n @_instances.push instance = @_createInstance $component unless instance\n if instance._parent isnt parent\n parent._children.push(instance) and (instance._parent = parent)\n $family._$children.forEach ($child) => @create $child\n return instance\n else\n @create $family._$parent\n return @query $component\n else\n @_instances.push instance = @_createInstance $component unless instance\n $family._$children.forEach ($child) => @create $child\n return instance\n\n @destroy: (instance$component) ->\n instance = @query instance$component\n if instance\n instance._disconnect() if instance._observer\n instance._destroy() if instance._destroy\n @destroy instance._children[0] while instance._children.length\n if instance._parent\n luda.except instance, instance._parent._children\n luda.except instance, @_instances\n for attribute, value of instance\n instance[attribute] = null\n \n @query: (instance$component) ->\n instance = null\n if instance$component instanceof this \\\n and @_instances.includes instance$component\n instance = instance$component\n else if instance$component instanceof Element\n @_instances.some (inited) ->\n if inited._$component is instance$component\n instance = inited\n return true\n return instance\n\n @_query$family: ($component) ->\n _$parent = null\n _$children = []\n if @_SELECTOR\n _$parent = luda.$parent @_SELECTOR, $component\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\n {_$parent, _$children}\n\n @_createInstance: ($component) ->\n instance = new this()\n instance._$component = $component\n instance._parent = null\n instance._children = []\n instance._observer = null\n instance._constructor() if instance._constructor\n unless instance._observer and instance._onMutations and @_observerConfig\n instance._observe()\n instance\n\n @_observe: (classObj) ->\n unless Component._observer\n Component._observer = new MutationObserver (mutations) ->\n mutations.forEach (mutation) ->\n $removedNodes = Array.from mutation.removedNodes\n $addedNodes = Array.from mutation.addedNodes\n $removedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.destroy $node\n else\n $destroies = luda.$children Observed._SELECTOR, $node\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\n $addedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.create $node\n else\n $creates = luda.$children Observed._SELECTOR, $node\n $creates.forEach ($create) -> Observed.create $create\n Component._observer.observe document.documentElement, \\\n Component._observerConfig\n unless Component._Observed.includes classObj\n Component._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Component\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\n @_instances = [] unless @hasOwnProperty '_instances'\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, ->\n luda.$children(self._SELECTOR).forEach ($component) ->\n self.create $component\n Component._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_READONLY_FALSE_VALUE: 'false'\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\n\n @_observerConfig:\n attributes: true\n attributeFilter: [@_READONLY_ATTRIBUTE]\n\n _getConfig: ->\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\n _originalTabIndex = @_$component.tabIndex\n {_isReadonly, _originalTabIndex}\n \n _constructor: ->\n {\n @_isReadonly,\n @_originalTabIndex\n } = @_getConfig()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-none-toggle'\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\n ]\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @active: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.add @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\n\n @deactive: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.remove @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactive($target)\n else\n @active($target)\n\n @_query$targets: (name$target) ->\n if name$target instanceof Element\n [name$target]\n else\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\n\n @_init: ->\n self = this\n luda.on 'click', @_selector, (e) ->\n toggleChecked = false\n luda.eventPath(e).some ($path) ->\n if $path instanceof Element\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\n self.toggle toggleName\n toggleChecked = true\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\n $toggle = $path\n else\n $toggle = luda.$parent \\\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\n if $toggle\n self.toggle $toggle\n toggleChecked = true\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmFile'\n\n @_VALUE_SPLITOR: ' '\n @_SELECTOR: '.fm-file'\n @_FILE_SELECTOR: 'input[type=file]'\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_VALUE_ATTRIBUTE: 'value'\n\n @_observerConfig:\n childList: true\n subtree: true\n\n _getConfig: ->\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\n _$simulator = luda.$child \\\n @constructor._SIMULATOR_SELECTOR, @_$component\n {_$file, _$simulator}\n\n _constructor: ->\n {\n @_$file,\n @_$simulator\n } = @_getConfig()\n @_init()\n\n _onMutations: ->\n @_constructor()\n\n _insertSimulator: ->\n @_$simulator = document.createElement 'input'\n @_$simulator.tabIndex = -1\n luda.$after @_$simulator, @_$file\n\n _setPlaceholderValue: ->\n @_$simulator.placeholder = \\\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSimulatorValue: ->\n values = []\n Array.from(@_$file.files).map (file) -> values.push file.name\n if values.length\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\n\n _init: ->\n if @_$file\n @_insertSimulator() unless @_$simulator\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmSelect'\n\n @_SELECTOR: '.fm-select'\n @_SELECT_SELECTOR: 'select'\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: ['selected']\n\n select: (indexOrIndexArray) ->\n if @_$select.multiple\n if @_$multipleSelectPlaceholder\n selectedIndexes = indexOrIndexArray\n else\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\n Array.from(@_$select.options).forEach ($option, index) ->\n $option.selected = selectedIndexes.includes index\n @_markSelectedOption()\n else\n @_$select.selectedIndex = selectedIndex\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _getConfig: ->\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\n _$singleSelectSimulator = luda.$child \\\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\n _$multipleSelectPlaceholder = luda.$child \\\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\n _$defaultSelectedOptions = luda.$children \\\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\n @constructor._INITED_ATTRIBUTE\n {\n _$select,\n _$singleSelectSimulator,\n _$multipleSelectPlaceholder,\n _$defaultSelectedOptions,\n _defaultSelectedOptionMarked\n }\n\n _constructor: ->\n {\n @_$select,\n @_$singleSelectSimulator,\n @_$multipleSelectPlaceholder,\n @_$defaultSelectedOptions,\n @_defaultSelectedOptionMarked\n } = @_getConfig()\n if @_$select\n if @_$select.multiple\n @_initMultipleSelect()\n else\n @_initSingleSelect()\n \n _onMutations: ->\n @_constructor()\n\n _markSelectedOption: ->\n @_disconnect() if @_observer\n Array.from(@_$select.options).forEach ($option) ->\n if $option.selected\n $option.setAttribute 'selected', 'selected'\n else\n $option.removeAttribute 'selected'\n @_observe() unless @_observer\n\n _markDefaultSelectedOption: ->\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\n Array.from(@_$select.options).forEach ($option) =>\n if $option.selected\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\n\n _setSingleSelectedDefaultSelectedOption: ->\n hasSelected = Array.from(@_$select.options).some ($option) ->\n $option.getAttribute('selected') is 'selected'\n @_$select.selectedIndex = -1 unless hasSelected\n\n _insertSingleSelectSimulator: ->\n @_$singleSelectSimulator = document.createElement 'input'\n @_$singleSelectSimulator.tabIndex = -1\n luda.$after @_$singleSelectSimulator, @_$select\n\n _setSingleSelectPlaceholderValue: ->\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSingleSelectSimulatorValue: ->\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\n @_$singleSelectSimulator.value = $selectedOption.innerText\n else\n @_$singleSelectSimulator.value = ''\n\n _initSingleSelect: ->\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setSingleSelectedDefaultSelectedOption()\n @_setSingleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _insertMultipleSelectBlankOption: ->\n @_$multipleSelectPlaceholder = document.createElement 'option'\n @_$multipleSelectPlaceholder.className = \\\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\n @_$multipleSelectPlaceholder.disabled = true\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\n\n _setMultipleSelectPlaceholderValue: ->\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _initMultipleSelect: ->\n unless @_$multipleSelectPlaceholder\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_insertMultipleSelectBlankOption()\n @_setMultipleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n\n _reset: ->\n if @_$select\n Array.from(@_$select.options).forEach ($option) =>\n $option.selected = @_$defaultSelectedOptions.includes $option\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\n @_markSelectedOption()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._setSingleSelectSimulatorValue() unless this.multiple\n instance._markSelectedOption()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._reset()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'carousel'\n\n @_SELECTOR: '.carousel'\n @_ITEMS_SELECTOR: '.carousel-item'\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\n @_ACTIVE_INDEX: 0\n @_INTERVAL: 5000\n @_WRAP: true\n @_FALSE: 'false'\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n active: (index) ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\n @[action] @_$items[activedIndex], activedIndex\n\n next: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n @_transiting = true\n @_activeIndex = index\n @_slideNext @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n @_slidePrev @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n pause: ->\n if @_intervaling?\n clearInterval @_intervaling\n @_intervaling = null\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\n\n play: ->\n if @_interval and @_$items.length > 1\n @_playTimeStamp = Date.now()\n @pause()\n execute = =>\n @next()\n @_intervaling = setInterval @next.bind(this), @_interval\n @_intervaling = setTimeout execute, @_pausedRemainTime\n\n\n # private\n _getConfig: ->\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\n _$prevControl = luda.$child \\\n @constructor._PREV_CONTROL_SELECTOR, @_$component\n _$nextControl = luda.$child \\\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\n _activeIndex = _$items.indexOf \\\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\n if _interval is @constructor._FALSE\n _interval = false\n else\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\n {\n _$items,\n _$indicators,\n _$prevControl,\n _$nextControl,\n _activeIndex,\n _interval,\n _wrap\n }\n\n _constructor: ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_transiting = false\n @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @play()\n\n _onMutations: (mutations) ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_setIndicatorsState()\n @_setDirectionControlState()\n @play()\n\n _destroy: ->\n @pause()\n\n _layout: ->\n @_$items.forEach ($item, index) =>\n $item.style.transition = 'none'\n if index > @_activeIndex\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else if index < @_activeIndex\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow($item)\n $item.style.transition = ''\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slideNext: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n $indicator.disabled = index is @_activeIndex\n\n _setDirectionControlState: ->\n if @_$items.length <= 1\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\n else\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\n @_$nextControl?.disabled = \\\n @_activeIndex is @_$items.length - 1 and not @_wrap\n \n # static private\n @_init: ->\n self = this\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._transiting = false\n index = instance._$items.indexOf this\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\n else\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this\n luda.on 'touchstart', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'touchend', @_SELECTOR, (e) ->\n setTimeout => self.query(this).play()\n luda.on 'mouseover', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'mouseout', @_SELECTOR, (e) ->\n self.query(this).play()\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\n self.query(this).next()\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\n self.query(this).prev()\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).prev()\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'dropdown'\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\n .dropdown-static,.dropdown-absolute-m'\n @_MENU_SELECTOR: '.dropdown-menu'\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled])'\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-none-toggle'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_NONE_TOGGLE_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n active: ->\n unless @_actived()\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.active()\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\n\n deactive: (focus) ->\n if @_actived()\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactive()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\n\n toggle: (focus) ->\n if @_actived() then @deactive(focus) else @active()\n\n prev: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) - 1\n focusIndex = 0 if focusIndex < 0\n @_$items[focusIndex].focus()\n\n next: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) + 1\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\n @_$items[focusIndex].focus()\n\n _getConfig: ->\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\n _$switches = luda.$unnested( \\\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\n .concat(luda.$unnested \\\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$noneSwitches = luda.$unnested( \\\n @constructor._NONE_SWITCHES_SELECTOR, \\\n @_$component, @constructor._SELECTOR) \\\n .concat(luda.$unnested \\\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\n {_$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n {\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _actived: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactiveChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n child.deactive() if child._actived() and not exceptions.includes child\n else\n @_children.forEach (child) ->\n child.deactive() if child._actived()\n\n @deactiveExcept: (instances$dropdowns) ->\n exceptions = []\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\n instances$dropdowns = [instances$dropdowns]\n if instances$dropdowns\n instances$dropdowns.forEach (instance$dropdown) =>\n exceptions.push exception if exception = @query instance$dropdown\n if exceptions.length\n @_instances.forEach (instance) ->\n instanceIsntInExceptions = not exceptions.includes instance\n instanceHasntExceptionChild = exceptions.every (exception) ->\n not instance._hasDescendant exception\n if instance._actived() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactive()\n else\n @_instances.forEach (instance) ->\n instance.deactive() if instance._actived()\n\n @_standaloneInstances: ->\n @_instances.filter (instance) -> instance if instance._isStandalone\n\n @_init: ->\n self = this\n luda.onOpposite 'click', @_SELECTOR, (e) ->\n self.deactiveExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactiveExcept(self._standaloneInstances().concat instance)\n instance._deactiveChildrenExcept()\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\n if instance._$switches.length or instance._$noneSwitches.length\n luda.eventPath(e).some ($path) ->\n if instance._$switches.includes $path\n instance.toggle focus\n toggleChecked = true\n else if instance._$noneSwitches.includes $path\n toggleChecked = true\n instance.toggle focus unless toggleChecked\n\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactiveExcept(instance)\n instance.active()\n luda.on 'keydown', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_ESC and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.deactive true\n else\n instance._parent?.deactive true\n luda.on 'keydown', @_SELECTOR, (e) ->\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.prev()\n else\n instance._parent?.prev()\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.next()\n else\n instance._parent?.next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\nimport '../behaviours/focus.coffee'\nimport '../behaviours/enter-click.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmDropdown'\n\n @_SELECTOR: '.fm-dropdown'\n @_VALUE_SPLITOR: ' '\n @_VALUE_ATTRIBUTE: 'data-fm-dropdown-value'\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n @_VALUE_HOLDER_SELECTOR: '.fm input'\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n 'checked'\n @_VALUE_ATTRIBUTE\n ]\n\n _getConfig: ->\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\n _$defaultValues = luda.$children \\\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\n _$valueHolder = luda.$child \\\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\n {_$values, _$valueHolder, _$defaultValues}\n\n _constructor: ->\n {\n @_$values,\n @_$valueHolder,\n @_$defaultValues\n } = @_getConfig()\n @_setValueHolderAttribute()\n @_setValueHolderValue()\n\n _onMutations: ->\n @_constructor()\n\n _setValueHolderValue: ->\n values = []\n @_$values.forEach ($value, index) =>\n if $value.checked\n if $value.hasAttribute @constructor._VALUE_ATTRIBUTE\n value = $value.getAttribute @constructor._VALUE_ATTRIBUTE\n else\n value = @_$defaultValues[index].innerText\n values.push value if value and not values.includes value\n if @_$valueHolder\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\n\n _setValueHolderAttribute: ->\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\n\n @_init: ->\n self = this\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setValueHolderValue()\n # prevent ios device pop out wired navigation pannel\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'tab'\n\n @_SELECTOR: '.tab'\n @_PANE_SELECTOR: '.tab-pane'\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\n @_ACTIVE_INDEX: 0\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n active: (index) ->\n if @_$panes.length\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n @_activeIndex = index\n @_active(activedIndex)\n\n # private\n _getConfig: ->\n _$panes = luda.$unnested \\\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\n _activeIndex = @constructor._ACTIVE_INDEX\n _$indicators.some ($indicator, index) ->\n if $indicator.checked\n _activeIndex = index\n true\n {_$panes, _$indicators, _activeIndex}\n\n _constructor: ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_active()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _active: (activedIndex) ->\n @_$panes.forEach ($pane, index) =>\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n if index is activedIndex\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\n @_setIndicatorsState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n else\n $indicator.removeAttribute 'checked'\n\n # static private\n @_init: ->\n self = this\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\n if this.checked\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this"],"names":[],"mappings":";;;;;;;;;;;EAAA,IAAA;;EAAA,GAAA,GAAM,CAAC;IACL,IAAG,OAAO,QAAP,KAAqB,WAAxB;MACE,IAAiB,OAAO,MAAP,KAAmB,WAApC;EAAA,aAAO,OAAP;;MACA,IAAiB,OAAO,MAAP,KAAmB,WAApC;EAAA,aAAO,OAAP;OAFF;;IAGA,MAAM,IAAI,KAAJ,CAAU,kCAAV;EAJD,CAAD;;EASN,IAAO,OAAO,GAAG,CAAC,IAAX,KAAmB,UAA1B;IACE,GAAG,CAAC,IAAJ,GAAW,SAAC,SAAD;EACT,QAAA,SAAA,EAAA,IAAA,EAAA;MAAA,IAAA,CAAuD,SAAvD;QAAA,MAAM,IAAI,KAAJ,CAAU,+BAAV,EAAN;;MACA,IAAA,CAAO,CAAC,QAAD,EAAW,UAAX,CAAsB,CAAC,QAAvB,CAAgC,OAAO,SAAvC,CAAP;QACE,MAAM,IAAI,KAAJ,CAAU,8CAAV,EADR;;MAEA,IAAG,SAAS,CAAC,cAAV,CAAyB,QAAzB,CAAH;QACE,IAAO,OAAO,SAAS,CAAC,MAAjB,KAA2B,QAAlC;UACE,MAAM,IAAI,KAAJ,CAAU,uBAAV,EADR;;EAEA,aAAO,GAAG,CAAC,IAAI,CAAC,QAAT,CAAkB,SAAS,CAAC,MAA5B,EAAoC,SAApC,EAHT;;MAIA,IAAG,SAAA,YAAqB,KAArB,IAA8B,OAAO,SAAP,KAAoB,UAArD;QACE,MAAM,IAAI,KAAJ,CAAU,oCAAV,EADR;;MAEA,SAAA,GAAY;MACZ,KAAA,iBAAA;;QACE,SAAU,CAAA,IAAA,CAAV,GAAkB,GAAG,CAAC,IAAI,CAAC,QAAT,CAAkB,IAAlB,EAAwB,QAAxB;;aACpB;;IAEF,GAAG,CAAC,IAAI,CAAC,QAAT,GAAoB,SAAC,SAAD,EAAY,SAAZ;EAClB,QAAA,kBAAA,EAAA,aAAA,EAAA;MAAA,IAAG,GAAG,CAAC,IAAK,CAAA,SAAA,CAAZ;QACE,OAAO,CAAC,IAAR,CAAa,CAAA,UAAA,EAAa,SAAb,CAAuB,+BAAvB,CAAb;EACA,aAAO,GAAG,CAAC,IAAK,CAAA,SAAA,EAFlB;;EAGA;MAAA,KAAA,oBAAA;;QACE,IAAG,SAAA,KAAa,kBAAhB;UACE,OAAO,CAAC,IAAR,CAAa,CAAA,iCAAA,EAAoC,aAApC,CAAkD,oBAAlD,CAAb;EAEA,eAAO,GAAG,CAAC,IAAK,CAAA,aAAA,EAHlB;;;MAIF,IAAG,SAAS,CAAC,QAAb;QACE,IAAG,OAAO,SAAS,CAAC,QAAjB,KAA6B,UAAhC;EACE,eAAO,GAAG,CAAC,IAAK,CAAA,SAAA,CAAT,GAAsB,SAAS,CAAC,QAAV,GAD/B;;EAEA,aAAO,GAAG,CAAC,IAAK,CAAA,SAAA,CAAT,GAAsB,SAAS,CAAC,SAHzC;;aAIA,GAAG,CAAC,IAAK,CAAA,SAAA,CAAT,GAAsB;MA7B1B;;;ECLA,IAAA,CAEE;IAAA,QAAA,EAAU,EAAV;IACA,MAAA,EAAQ,EADR;IAEA,SAAA,EAAW,EAFX;IAGA,QAAA,EAAU,EAHV;IAIA,OAAA,EAAS,CAJT;IAKA,OAAA,EAAS,EALT;IAMA,SAAA,EAAW;EANX,CAFF;;ECAA,IAAA,CAEE;IAAA,MAAA,EAAQ,SAAC,QAAD,EAAW,SAAX;MACN,IAAA,CAA4B,SAA5B;QAAA,SAAA,GAAY,SAAZ;;aACA,SAAS,CAAC,aAAV,CAAwB,QAAxB;KAFF;IAIA,SAAA,EAAW,SAAC,QAAD,EAAW,SAAX;EACT,QAAA,WAAA,EAAA;MAAA,IAAA,CAA4B,SAA5B;QAAA,SAAA,GAAY,SAAZ;;MACA,WAAA,GAAc,IAAC,CAAA,MAAD,CAAQ,QAAR,EAAkB,SAAlB;MACd,IAAG,WAAH;eACE,WAAA,GAAc,KAAK,CAAC,IAAN,CAAW,SAAS,CAAC,gBAAV,CAA2B,QAA3B,CAAX,EADhB;OAAA,MAAA;eAGE,WAAA,GAAc,GAHhB;;KAPF;IAYA,SAAA,EAAW,SAAC,QAAD,EAAW,SAAX,EAAsB,gBAAtB;EACT,QAAA;MAAA,WAAA,GAAc,IAAC,CAAA,SAAD,CAAW,QAAX,EAAqB,SAArB;aACd,WAAW,CAAC,MAAZ,CAAmB,CAAC,WAAD;QACjB,IAAe,IAAC,CAAA,OAAD,CAAS,gBAAT,EAA2B,WAA3B,CAAA,KAA2C,SAA1D;iBAAA,YAAA;;OADF;KAdF;IAiBA,OAAA,EAAS,SAAC,QAAD,EAAW,WAAX;EACP,QAAA;MAAA,SAAA,GAAY,WAAW,CAAC;MACxB,IAAG,SAAH;QACE,IAAG,SAAS,CAAC,OAAV,IAAsB,SAAS,CAAC,OAAV,CAAkB,QAAlB,CAAzB;iBACE,UADF;SAAA,MAAA;iBAGE,IAAC,CAAA,OAAD,CAAS,QAAT,EAAmB,SAAnB,EAHF;SADF;;KAnBF;IAyBA,QAAA,EAAU,SAAC,QAAD,EAAW,WAAX,EAAwB,UAAxB;EACR,QAAA;MAAA,SAAA,GAAY,IAAC,CAAA,OAAD,CAAS,QAAT,EAAmB,WAAnB;MACZ,IAAA,CAAuB,UAAvB;QAAA,UAAA,GAAa,GAAb;;MACA,IAAG,SAAH;QACE,UAAU,CAAC,IAAX,CAAgB,SAAhB;eACA,IAAC,CAAA,QAAD,CAAU,QAAV,EAAoB,SAApB,EAA+B,UAA/B,EAFF;OAAA,MAAA;eAIE,WAJF;;KA5BF;IAkCA,MAAA,EAAQ,SAAC,KAAD,EAAQ,OAAR;EACN,QAAA;MAAA,OAAA,GAAU,OAAO,CAAC;MAClB,IAAG,OAAO,CAAC,SAAR,KAAqB,OAAxB;eACE,OAAO,CAAC,WAAR,CAAoB,KAApB,EADF;OAAA,MAAA;eAGE,OAAO,CAAC,YAAR,CAAqB,KAArB,EAA4B,OAAO,CAAC,WAApC,EAHF;;KApCF;IAyCA,QAAA,EAAU,SAAC,KAAD,EAAQ,OAAR;MACR,IAAG,OAAO,CAAC,UAAX;eACE,OAAO,CAAC,YAAR,CAAqB,KAArB,EAA4B,OAAO,CAAC,UAApC,EADF;OAAA,MAAA;eAGE,OAAO,CAAC,WAAR,CAAoB,KAApB,EAHF;;KA1CF;IA+CA,MAAA,EAAQ,SAAC,QAAD;aAAc,QAAQ,CAAC;;EA/C/B,CAFF;;ECJA,IAAA;;EAKA,IAAA,CAEE;IAAA,eAAA,EAAiB,EAAjB;IACA,kBAAA,EAAoB,MADpB;IAEA,WAAA,EAAa,WAFb;IAGA,YAAA,EAAc,YAHd;IAIA,SAAA,EAAW,SAJX;IAKA,WAAA,EAAa,WALb;IAMA,iBAAA,EAAmB,sBANnB;IAOA,oBAAA,EAAsB,yBAPtB;IAQA,UAAA,EAAY,UARZ;IASA,WAAA,EAAa,OATb;IAWA,SAAA,EAAW,SAAC,KAAD;EACT,QAAA;MAAA,IAAG,KAAK,CAAC,YAAT;eACE,IAAA,GAAO,KAAK,CAAC,YAAN,GADT;OAAA,MAEK,IAAG,KAAK,CAAC,IAAT;eACH,IAAA,GAAO,KAAK,CAAC,KADV;OAAA,MAAA;eAGH,IAAA,GAAO,CAAC,KAAK,CAAC,MAAP,CAAc,CAAC,MAAf,CAAsB,IAAI,CAAC,QAAL,CAAc,GAAd,EAAmB,KAAK,CAAC,MAAzB,CAAtB,EAHJ;;KAdP;IAmBA,EAAA,EAAI,SAAC,KAAD,EAAA,GAAQ,QAAR;EACF,QAAA,OAAA,EAAA;4CADuB;EACvB,YAAO,KAAP;EAAA,WACO,IAAC,CAAA,UADR;iBACwB,IAAC,CAAA,WAAD,CAAa,OAAb;EADxB,WAEO,IAAC,CAAA,WAFR;iBAEyB,IAAC,CAAA,QAAD,CAAU,QAAS,CAAA,CAAA,CAAnB,EAAuB,OAAvB;EAFzB,WAGO,IAAC,CAAA,WAHR;EAAA,WAIE,IAAC,CAAA,YAJH;EAAA,WAKE,IAAC,CAAA,SALH;EAAA,WAME,IAAC,CAAA,WANH;EAAA,WAOE,IAAC,CAAA,iBAPH;EAAA,WAQE,IAAC,CAAA,oBARH;iBASO,IAAC,CAAA,QAAD,CAAU,KAAV,EAAiB,QAAS,CAAA,CAAA,CAA1B,EAA8B,OAA9B;EATP;iBAUO,IAAC,CAAA,GAAD,CAAK,KAAL,EAAY,QAAS,CAAA,CAAA,CAArB,EAAyB,OAAzB;EAVP;KApBF;IAgCA,UAAA,EAAY,SAAC,KAAD,EAAQ,QAAR,EAAkB,OAAlB;EACV,QAAA;MAAA,KAAA,GAAQ;aACR,QAAQ,CAAC,gBAAT,CAA0B,KAA1B,EAAiC,SAAC,CAAD;EAC/B,UAAA;QAAA,OAAA,GAAU,KAAK,CAAC,SAAN,CAAgB,CAAhB,CAAkB,CAAC,KAAnB,CAAyB,SAAC,QAAD;iBACjC,CAAI,QAAQ,CAAC,OAAb,IAAwB,CAAI,QAAQ,CAAC,OAAT,CAAiB,QAAjB;SADpB;QAEV,IAAa,OAAb;iBAAA,OAAA,CAAQ,CAAR,EAAA;;OAHF;KAlCF;IAuCA,QAAA,EAAU,SAAC,OAAD,EAAU,IAAV,EAAgB,MAAhB,EAAwB,UAAU,EAAlC;EACR,QAAA;MAAA,IAA8B,OAAO,OAAO,CAAC,OAAf,KAA0B,SAAxD;QAAA,OAAO,CAAC,OAAR,GAAkB,KAAlB;;MACA,IAAiC,OAAO,OAAO,CAAC,UAAf,KAA6B,SAA9D;QAAA,OAAO,CAAC,UAAR,GAAqB,KAArB;;MACA,IAA+B,OAAO,OAAO,CAAC,QAAf,KAA2B,SAA1D;QAAA,OAAO,CAAC,QAAR,GAAmB,KAAnB;;MACA,GAAA,GAAM,IAAI,KAAJ,CAAU,CAAA,EAAG,IAAC,CAAA,kBAAJ,CAAuB,CAAvB,EAA0B,IAA1B,CAAA,CAAV,EAA4C,OAA5C;MACN,GAAG,CAAC,MAAJ,GAAa;MACb,OAAO,CAAC,aAAR,CAAsB,GAAtB;aACA;KA9CF;IAgDA,WAAA,EAAa,SAAC,OAAD;MACX,IAAG,QAAQ,CAAC,UAAT,KAAuB,SAA1B;eACE,QAAQ,CAAC,gBAAT,CAA0B,kBAA1B,EAA8C,OAA9C,EADF;OAAA,MAAA;eAGE,OAAA,GAHF;;KAjDF;IAsDA,QAAA,EAAU,SAAC,QAAD,EAAW,OAAX;aACR,QAAQ,CAAC,gBAAT,CAA0B,OAA1B,EAAmC,SAAC,CAAD;QACjC,IAAG,gBAAH;iBACE,IAAI,CAAC,SAAL,CAAe,QAAf,EAAyB,CAAC,CAAC,MAA3B,CAAkC,CAAC,OAAnC,CAA2C,SAAC,QAAD;mBACzC,OAAO,CAAC,IAAR,CAAa,QAAb,CAAA,CAAuB,CAAvB;WADF,EADF;SAAA,MAAA;iBAIE,OAAA,CAAQ,CAAR,EAJF;;OADF;KAvDF;IA8DA,QAAA,EAAU,SAAC,KAAD,EAAQ,QAAR,EAAkB,OAAlB;EACR,QAAA,kBAAA,EAAA,KAAA,EAAA,WAAA,EAAA,WAAA,EAAA,WAAA,EAAA;MAAA,KAAA,GAAQ;MACR,KAAA,GAAQ;MACR,kBAAA,GAAqB;MACrB,WAAA,GAAc;MACd,WAAA,GAAc;MACd,WAAA,GAAc;MACd,QAAQ,CAAC,gBAAT,CAA0B,YAA1B,EAAwC,SAAC,CAAD;QACtC,IAAG,CAAC,CAAC,OAAO,CAAC,MAAV,KAAoB,CAAvB;UACE,WAAA,GAAc,CAAC,CAAC,OAAQ,CAAA,CAAA,CAAE,CAAC;UAC3B,WAAA,GAAc,CAAC,CAAC,OAAQ,CAAA,CAAA,CAAE,CAAC;UAC3B,IAAG,gBAAH;mBACE,KAAK,CAAC,SAAN,CAAgB,CAAhB,CAAkB,CAAC,IAAnB,CAAwB,SAAC,QAAD;cACtB,IAAG,QAAQ,CAAC,OAAT,IAAqB,QAAQ,CAAC,OAAT,CAAiB,QAAjB,CAAxB;gBACE,kBAAA,GAAqB;gBACrB,WAAA,GAAc;gBACd,KAAA,GAAQ;EACR,qBAAO,KAJT;;aADF,EADF;WAAA,MAAA;mBAQE,KAAA,GAAQ,KARV;WAHF;;OADF;aAcA,QAAQ,CAAC,gBAAT,CAA0B,WAA1B,EAAuC,SAAC,CAAD;EACrC,UAAA,MAAA,EAAA,SAAA,EAAA,MAAA,EAAA,cAAA,EAAA;QAAA,IAAG,KAAA,IAAU,CAAC,CAAC,OAAO,CAAC,MAAV,KAAoB,CAAjC;UACE,cAAA,GAAiB,CAAC,CAAC,OAAQ,CAAA,CAAA,CAAE,CAAC,OAAb,GAAuB;UACxC,cAAA,GAAiB,CAAC,CAAC,OAAQ,CAAA,CAAA,CAAE,CAAC,OAAb,GAAuB;UACxC,MAAA,GAAS;UACT,MAAA,GAAS;UACT,SAAA,GAAY;UACZ,IAAG,IAAI,CAAC,GAAL,CAAS,cAAT,CAAA,IAA4B,KAAK,CAAC,eAArC;YACE,IAAG,cAAA,GAAiB,CAApB;cACE,MAAA,GAAS,KAAK,CAAC,aADjB;aAAA,MAAA;cAGE,MAAA,GAAS,KAAK,CAAC,YAHjB;aADF;;UAKA,IAAG,IAAI,CAAC,GAAL,CAAS,cAAT,CAAA,IAA4B,KAAK,CAAC,eAArC;YACE,IAAG,cAAA,GAAiB,CAApB;cACE,MAAA,GAAS,KAAK,CAAC,YADjB;aAAA,MAAA;cAGE,MAAA,GAAS,KAAK,CAAC,UAHjB;aADF;;UAKA,IAAG,MAAA,KAAU,KAAK,CAAC,WAAhB,IACA,MAAA,KAAU,KAAK,CAAC,SADnB;YAEE,SAAA,GAAY,KAAK,CAAC,kBAFpB;;UAGA,IAAG,MAAA,KAAU,KAAK,CAAC,YAAhB,IACA,MAAA,KAAU,KAAK,CAAC,WADnB;YAEE,SAAA,GAAY,KAAK,CAAC,qBAFpB;;UAGA,IAAG,CAAC,oBAAY,MAAA,KAAU,KAAvB,MACC,oBAAY,MAAA,KAAU,KAAvB,CADA,IAEA,SAAA,KAAa,KAFhB;YAGE,IAAG,gBAAH;qBACE,KAAK,CAAC,SAAN,CAAgB,CAAhB,CAAkB,CAAC,IAAnB,CAAwB,SAAC,QAAD;gBACtB,IAAG,QAAA,KAAY,kBAAf;kBACE,KAAA,GAAQ;kBACR,OAAO,CAAC,IAAR,CAAa,QAAb,CAAA,CAAuB,WAAvB,EAAoC,CAApC;EACA,uBAAO,KAHT;;eADF,EADF;aAAA,MAAA;cAOE,KAAA,GAAQ;qBACR,OAAA,CAAQ,WAAR,EAAqB,CAArB,EARF;aAHF;WAtBF;;OADF;KAnFF;IAuHA,GAAA,EAAK,SAAC,KAAD,EAAQ,QAAR,EAAkB,OAAlB;EACH,QAAA;MAAA,IAAG,QAAA,KAAY,MAAf;eACE,MAAM,CAAC,gBAAP,CAAwB,KAAxB,EAA+B,SAAC,CAAD;iBAAO,OAAA,CAAQ,CAAR;SAAtC,EADF;OAAA,MAAA;QAGE,KAAA,GAAQ;eACR,QAAQ,CAAC,gBAAT,CAA0B,KAA1B,EAAiC,SAAC,CAAD;UAC/B,IAAG,gBAAH;mBACE,KAAK,CAAC,SAAN,CAAgB,CAAhB,CAAkB,CAAC,IAAnB,CAAwB,SAAC,QAAD;cACtB,IAAG,QAAQ,CAAC,OAAT,IAAqB,QAAQ,CAAC,OAAT,CAAiB,QAAjB,CAAxB;gBACE,OAAO,CAAC,IAAR,CAAa,QAAb,CAAA,CAAuB,CAAvB;EACA,qBAAO,KAFT;;aADF,EADF;WAAA,MAAA;mBAME,OAAA,CAAQ,CAAR,EANF;;SADF,EAJF;;;EAxHF,CAFF;;ECDA,IAAA,CAEE;IAAA,MAAA,EAAQ,SAAC,OAAD,EAAU,GAAV;MACN,IAAuC,GAAG,CAAC,QAAJ,CAAa,OAAb,CAAvC;eAAA,GAAG,CAAC,MAAJ,CAAW,GAAG,CAAC,OAAJ,CAAY,OAAZ,CAAX,EAAiC,CAAjC,EAAA;;;EADF,CAFF;;ECJA,IAAA;;EAKA,IAAA,CAAW;IAAN,MAAA,UAAA;MAUM,OAAR,MAAQ;eACP,IAAC,CAAA,QAAD,GAAY;;;MAEH,OAAV,QAAU;eACT,IAAC,CAAA,QAAD,GAAY;;;MAEP,OAAN,IAAM,CAAC,QAAD;QACL,IAA4C,OAAO,QAAP,KAAqB,QAAjE;UAAA,MAAM,IAAI,KAAJ,CAAU,IAAC,CAAA,uBAAX,EAAN;;QACA,IAAA,CAAiC,IAAC,CAAA,UAAU,CAAC,QAAZ,CAAqB,QAArB,CAAjC;UAAA,IAAC,CAAA,UAAU,CAAC,IAAZ,CAAiB,QAAjB,EAAA;;eACA,IAAC,CAAA,eAAD;;;MAEQ,OAAT,OAAS,CAAC,QAAD;QACR,IAA4C,OAAO,QAAP,KAAqB,QAAjE;UAAA,MAAM,IAAI,KAAJ,CAAU,IAAC,CAAA,uBAAX,EAAN;;QACA,IAAI,CAAC,MAAL,CAAY,QAAZ,EAAsB,IAAC,CAAA,UAAvB;eACA,IAAC,CAAA,eAAD;;;MAEgB,OAAjB,eAAiB;eAChB,IAAC,CAAA,SAAD,GAAa,IAAC,CAAA,UAAU,CAAC,IAAZ,CAAiB,GAAjB;;;MAEJ,OAAV,QAAU;EACT,UAAA;QAAA,IAAe,IAAA,KAAQ,SAAvB;EAAA,eAAO,KAAP;;QACA,IAAA,CAAwB,IAAC,CAAA,cAAD,CAAgB,YAAhB,CAAxB;UAAA,IAAC,CAAA,UAAD,GAAc,GAAd;;QACA,IAAC,CAAA,eAAD;QACA,IAAsB,OAAO,IAAC,CAAA,KAAR,KAAiB,UAAvC;UAAA,OAAA,GAAU,IAAC,CAAA,KAAD,GAAV;;QACA,IAAG,OAAH;iBAAgB,QAAhB;SAAA,MAAA;iBAA6B,KAA7B;;;;;IAhCF,SAAC,CAAA,MAAD,GAAS;;IAET,SAAC,CAAA,uBAAD,GAA0B;;IAC1B,SAAC,CAAA,UAAD,GAAa;;IAEb,SAAC,CAAA,SAAD,GAAY;;IACZ,SAAC,CAAA,QAAD,GAAW;;;;eARb;;ECCA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAUK,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;eACP,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,SAAC,CAAD;UACjB,IAAG,IAAI,CAAC,QAAL,IACC,CAAC,CAAC,OAAF,KAAa,IAAI,CAAC,SADnB,IAEC,CAAC,CAAC,MAAM,CAAC,OAAT,CAAiB,IAAI,CAAC,SAAtB,CAFJ;YAGE,CAAC,CAAC,cAAF;mBACA,UAAA,CAAW;qBAAG,CAAC,CAAC,MAAM,CAAC,KAAT;aAAd,EAJF;;SADF;;;;;IAVF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,UAAD,GAAa,CACX,sBADW,EAEX,mBAFW,EAGX,YAHW;;;;eAJf;;ECCA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAiBuB,OAAzB,uBAAyB,CAAC,UAAD;eACxB,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,OAAZ,CAAoB,CAAC,OAArB,CAA6B,CAAC,MAAD;UAC3B,IAAuC,MAAA,KAAY,UAAnD;mBAAA,MAAM,CAAC,SAAS,CAAC,MAAjB,CAAwB,IAAC,CAAA,UAAzB,EAAA;;SADF;;;MAGgC,OAAjC,+BAAiC,CAAC,OAAD;QAChC,IAAG,OAAA,KAAa,QAAQ,CAAC,IAAtB,IAA+B,OAAA,KAAa,QAAQ,CAAC,eAAxD;iBACE,OAAO,CAAC,SAAS,CAAC,GAAlB,CAAsB,IAAC,CAAA,UAAvB,EADF;;;;MAG4B,OAA7B,2BAA6B,CAAC,CAAD;QAC5B,IAAG,IAAC,CAAA,QAAJ;UACE,IAAC,CAAA,uBAAD,CAAyB,CAAC,CAAC,MAA3B;iBACA,IAAC,CAAA,+BAAD,CAAiC,CAAC,CAAC,MAAnC,EAFF;;;;MAIkC,OAAnC,iCAAmC,CAAC,CAAD;EAClC,UAAA;QAAA,IAAG,IAAC,CAAA,QAAJ;UACE,IAAG,CAAC,CAAC,MAAM,CAAC,OAAT,CAAiB,IAAC,CAAA,+BAAlB,CAAH;YACE,MAAA,GAAS,IAAI,CAAC,OAAL,CAAa,IAAC,CAAA,sBAAd,EAAsC,CAAC,CAAC,MAAxC,EADX;WAAA,MAAA;YAGE,MAAA,GAAS,CAAC,CAAC,OAHb;;UAIA,IAAG,MAAM,CAAC,OAAP,CAAe,IAAC,CAAA,SAAhB,CAAH;YACE,IAAC,CAAA,uBAAD,CAAyB,MAAzB;mBACA,IAAC,CAAA,+BAAD,CAAiC,MAAjC,EAFF;WAAA,MAAA;mBAIE,IAAC,CAAA,uBAAD,GAJF;WALF;;;;MAWqB,OAAtB,oBAAsB;EACrB,UAAA,IAAA,EAAA,KAAA,EAAA;QAAA,KAAA,GAAQ,WAAW,CAAC,SAAS,CAAC;QAC9B,IAAA,GAAO,WAAW,CAAC,SAAS,CAAC;QAC7B,IAAA,GAAO;QACP,WAAW,CAAC,SAAS,CAAC,KAAtB,GAA8B;UAC5B,KAAK,CAAC,KAAN,CAAY,IAAZ,EAAkB,SAAlB;UACA,IAAG,IAAI,CAAC,QAAL,IAAkB,QAAQ,CAAC,aAAT,KAA0B,IAA/C;YACE,IAAI,CAAC,uBAAL,CAA6B,IAA7B;mBACA,IAAI,CAAC,+BAAL,CAAqC,IAArC,EAFF;;;eAGF,WAAW,CAAC,SAAS,CAAC,IAAtB,GAA6B;UAC3B,IAAI,CAAC,KAAL,CAAW,IAAX,EAAiB,SAAjB;UACA,IAAyC,IAAI,CAAC,QAA9C;mBAAA,IAAI,CAAC,SAAS,CAAC,MAAf,CAAsB,IAAI,CAAC,UAA3B,EAAA;;;;;MAEI,OAAP,KAAO;AACN,QACA,IAAC,CAAA,oBAAD;QACA,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,IAAC,CAAA,2BAA2B,CAAC,IAA7B,CAAkC,IAAlC,CAAnB;QACA,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,2BAA2B,CAAC,IAA7B,CAAkC,IAAlC,CAAjB;QACA,IAAI,CAAC,EAAL,CAAQ,WAAR,EAAqB,IAAC,CAAA,iCAAiC,CAAC,IAAnC,CAAwC,IAAxC,CAArB;QACA,IAAI,CAAC,EAAL,CAAQ,YAAR,EAAsB,IAAC,CAAA,0BAAvB,EACA,IAAC,CAAA,iCAAiC,CAAC,IAAnC,CAAwC,IAAxC,CADA;eAEA,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,IAAC,CAAA,iCAAiC,CAAC,IAAnC,CAAwC,IAAxC,CAAnB;;;;;IA7DF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,UAAD,GAAa;;;IAEb,MAAC,CAAA,UAAD,GAAa,CAAC,QAAD,EACC,UADD,EAEC,iHAFD;;IAKb,MAAC,CAAA,0BAAD,GAA6B;;IAC7B,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,+BAAD,GAAkC,CAAA,EAAG,MAAC,CAAA,sBAAJ,CAA2B,EAA3B;;IAElC,MAAC,CAAA,OAAD,GAAU,QAAQ,CAAC,sBAAT,CAAgC,MAAC,CAAA,UAAjC;;;;eAfZ;;ECCA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAMqB,OAAvB,qBAAuB,CAAC,MAAD;EACtB,UAAA,OAAA,EAAA;QAAA,IAAG,MAAM,CAAC,IAAV;UACE,QAAA,GAAW,CAAA,EAAG,IAAC,CAAA,SAAJ,CAAc,MAAd,EAAsB,MAAM,CAAC,IAA7B,CAAkC,CAAlC,EADb;SAAA,MAAA;UAGE,QAAA,GAAW,IAAC,CAAA,UAHd;;QAIA,OAAA,GAAU,IAAI,CAAC,SAAL,CAAe,QAAf;eACV,OAAO,CAAC,MAAR,CAAe,SAAC,MAAD;iBAAY,MAAM,CAAC,QAAP,IAAmB;SAA9C;;;MAEiB,OAAlB,gBAAkB,CAAC,MAAD;EACjB,UAAA,KAAA,EAAA,KAAA,EAAA,eAAA,EAAA;QAAA,eAAA,GAAkB,IAAC,CAAA,qBAAD,CAAuB,MAAvB;QAClB,UAAA,GAAa,eAAe,CAAC,OAAhB,CAAwB,MAAxB;QACb,KAAA,GAAQ,eAAgB,CAAA,UAAA,GAAa,CAAb;QACxB,KAAA,GAAQ,eAAgB,CAAA,UAAA,GAAa,CAAb;eACxB,CAAC,KAAD,EAAQ,KAAR;;;MAEM,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;eACP,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,SAAC,CAAD;EACjB,YAAA,KAAA,EAAA;UAAA,IAAG,IAAI,CAAC,QAAL,IACC,CAAC,CAAC,OAAF,KAAa,IAAI,CAAC,OADnB,IAEC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAlB,EAAA,KAAmC,OAFpC,IAGC,CAAC,CAAC,MAAM,CAAC,IAAT,KAAiB,OAHrB;YAIE,IAAG,CAAC,CAAC,QAAL;cACE,IAAG,KAAA,GAAQ,IAAI,CAAC,gBAAL,CAAsB,CAAC,CAAC,MAAxB,CAA+B,CAAC,KAA3C;gBACE,CAAC,CAAC,cAAF;uBACA,KAAK,CAAC,KAAN,GAFF;eADF;aAAA,MAAA;cAKE,IAAG,KAAA,GAAQ,IAAI,CAAC,gBAAL,CAAsB,CAAC,CAAC,MAAxB,CAA+B,CAAC,KAA3C;gBACE,CAAC,CAAC,cAAF;uBACA,KAAK,CAAC,KAAN,GAFF;eALF;aAJF;;SADF;;;;;IArBF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,UAAD,GAAa,CAAC,mCAAD;;;;eAJf;;ECRA,IAAA;;EAQA,IAAA,CAAW;IAAN,MAAA,UAAA;MAeH,cAAgB,CAAC,UAAD;QACd,IAAG,IAAC,CAAA,SAAS,CAAC,MAAX,IAAsB,UAAzB;UACE,IAAe,IAAC,CAAA,SAAS,CAAC,QAAX,CAAoB,UAApB,CAAf;EAAA,iBAAO,KAAP;;EACA,eAAO,IAAC,CAAA,SAAS,CAAC,IAAX,CAAgB,SAAC,KAAD;mBAAW,KAAK,CAAC,cAAN,CAAqB,UAArB;WAA3B,EAFT;SAAA,MAAA;EAIE,eAAO,MAJT;;;;MAMF,QAAU;QACR,IAAC,CAAA,SAAD,GAAa,IAAI,gBAAJ,CAAqB,IAAC,CAAA,YAAY,CAAC,IAAd,CAAmB,IAAnB,CAArB;eACb,IAAC,CAAA,SAAS,CAAC,OAAX,CAAmB,IAAC,CAAA,WAApB,EAAiC,IAAC,CAAA,WAAW,CAAC,eAA9C;;;MAEF,WAAa;QACX,IAAC,CAAA,SAAS,CAAC,UAAX;eACA,IAAC,CAAA,SAAD,GAAa;;;MAEN,OAAR,MAAQ,CAAC,UAAD;EACP,UAAA,OAAA,EAAA,0BAAA,EAAA,QAAA,EAAA;QAAA,0BAAA,GAA6B,UAAA,YAAsB;QACnD,IAAA,CAAkD,0BAAlD;UAAA,MAAM,IAAI,KAAJ,CAAU,IAAC,CAAA,yBAAX,EAAN;;QACA,OAAA,GAAU,IAAC,CAAA,aAAD,CAAe,UAAf;QACV,QAAA,GAAW,IAAC,CAAA,KAAD,CAAO,UAAP;QACX,IAAG,OAAO,CAAC,QAAX;UACE,IAAG,MAAA,GAAS,IAAC,CAAA,KAAD,CAAO,OAAO,CAAC,QAAf,CAAZ;YACE,IAAA,CAA+D,QAA/D;cAAA,IAAC,CAAA,UAAU,CAAC,IAAZ,CAAiB,QAAA,GAAW,IAAC,CAAA,eAAD,CAAiB,UAAjB,CAA5B,EAAA;;YACA,IAAG,QAAQ,CAAC,OAAT,KAAsB,MAAzB;cACE,MAAM,CAAC,SAAS,CAAC,IAAjB,CAAsB,QAAtB,CAAA,KAAqC,QAAQ,CAAC,OAAT,GAAmB,MAApB,EADtC;;YAEA,OAAO,CAAC,UAAU,CAAC,OAAnB,CAA2B,CAAC,MAAD;qBAAY,IAAC,CAAA,MAAD,CAAQ,MAAR;aAAvC;EACA,iBAAO,SALT;WAAA,MAAA;YAOE,IAAC,CAAA,MAAD,CAAQ,OAAO,CAAC,QAAhB;EACA,iBAAO,IAAC,CAAA,KAAD,CAAO,UAAP,EART;WADF;SAAA,MAAA;UAWE,IAAA,CAA+D,QAA/D;YAAA,IAAC,CAAA,UAAU,CAAC,IAAZ,CAAiB,QAAA,GAAW,IAAC,CAAA,eAAD,CAAiB,UAAjB,CAA5B,EAAA;;UACA,OAAO,CAAC,UAAU,CAAC,OAAnB,CAA2B,CAAC,MAAD;mBAAY,IAAC,CAAA,MAAD,CAAQ,MAAR;WAAvC;EACA,eAAO,SAbT;;;;MAeQ,OAAT,OAAS,CAAC,kBAAD;EACR,UAAA,SAAA,EAAA,QAAA,EAAA,OAAA,EAAA;QAAA,QAAA,GAAW,IAAC,CAAA,KAAD,CAAO,kBAAP;QACX,IAAG,QAAH;UACE,IAA0B,QAAQ,CAAC,SAAnC;YAAA,QAAQ,CAAC,WAAT,GAAA;;UACA,IAAuB,QAAQ,CAAC,QAAhC;YAAA,QAAQ,CAAC,QAAT,GAAA;;EAC+B,eAAM,QAAQ,CAAC,SAAS,CAAC,MAAzB;YAA/B,IAAC,CAAA,OAAD,CAAS,QAAQ,CAAC,SAAU,CAAA,CAAA,CAA5B;;UACA,IAAG,QAAQ,CAAC,OAAZ;YACE,IAAI,CAAC,MAAL,CAAY,QAAZ,EAAsB,QAAQ,CAAC,OAAO,CAAC,SAAvC,EADF;;UAEA,IAAI,CAAC,MAAL,CAAY,QAAZ,EAAsB,IAAC,CAAA,UAAvB;EACA;UAAA,KAAA,qBAAA;;yBACE,QAAS,CAAA,SAAA,CAAT,GAAsB;WADxB;yBAPF;;;;MAUM,OAAP,KAAO,CAAC,kBAAD;EACN,UAAA;QAAA,QAAA,GAAW;QACX,IAAG,kBAAA,YAA8B,IAA9B,IACC,IAAC,CAAA,UAAU,CAAC,QAAZ,CAAqB,kBAArB,CADJ;UAEE,QAAA,GAAW,mBAFb;SAAA,MAGK,IAAG,kBAAA,YAA8B,OAAjC;UACH,IAAC,CAAA,UAAU,CAAC,IAAZ,CAAiB,SAAC,MAAD;YACf,IAAG,MAAM,CAAC,WAAP,KAAsB,kBAAzB;cACE,QAAA,GAAW;EACX,mBAAO,KAFT;;WADF,EADG;;EAKL,aAAO;;;MAEO,OAAf,aAAe,CAAC,UAAD;EACd,UAAA,UAAA,EAAA;QAAA,QAAA,GAAW;QACX,UAAA,GAAa;QACb,IAAG,IAAC,CAAA,SAAJ;UACE,QAAA,GAAW,IAAI,CAAC,OAAL,CAAa,IAAC,CAAA,SAAd,EAAyB,UAAzB;UACX,UAAA,GAAa,IAAI,CAAC,SAAL,CAAe,IAAC,CAAA,SAAhB,EAA2B,UAA3B,EAAuC,IAAC,CAAA,SAAxC,EAFf;;eAGA,CAAC,QAAD,EAAW,UAAX;;;MAEgB,OAAjB,eAAiB,CAAC,UAAD;EAChB,UAAA;QAAA,QAAA,GAAW,IAAI,IAAJ;QACX,QAAQ,CAAC,WAAT,GAAuB;QACvB,QAAQ,CAAC,OAAT,GAAmB;QACnB,QAAQ,CAAC,SAAT,GAAqB;QACrB,QAAQ,CAAC,SAAT,GAAqB;QACrB,IAA2B,QAAQ,CAAC,YAApC;UAAA,QAAQ,CAAC,YAAT,GAAA;;QACA,IAAA,EAAO,QAAQ,CAAC,SAAT,IAAuB,QAAQ,CAAC,YAAhC,IAAiD,IAAC,CAAA,eAAzD,CAAA;UACE,QAAQ,CAAC,QAAT,GADF;;eAEA;;;MAES,OAAV,QAAU,CAAC,QAAD;QACT,IAAA,CAAO,SAAS,CAAC,SAAjB;UACE,SAAS,CAAC,SAAV,GAAsB,IAAI,gBAAJ,CAAqB,SAAC,SAAD;mBACzC,SAAS,CAAC,OAAV,CAAkB,SAAC,QAAD;EAChB,gBAAA,WAAA,EAAA;cAAA,aAAA,GAAgB,KAAK,CAAC,IAAN,CAAW,QAAQ,CAAC,YAApB;cAChB,WAAA,GAAc,KAAK,CAAC,IAAN,CAAW,QAAQ,CAAC,UAApB;cACd,aAAa,CAAC,OAAd,CAAsB,SAAC,KAAD;gBACpB,IAAG,KAAA,YAAiB,OAApB;yBACE,SAAS,CAAC,SAAS,CAAC,OAApB,CAA4B,SAAC,QAAD;EAC1B,sBAAA;oBAAA,IAAG,KAAK,CAAC,OAAN,CAAc,QAAQ,CAAC,SAAvB,CAAH;6BACE,QAAQ,CAAC,OAAT,CAAiB,KAAjB,EADF;qBAAA,MAAA;sBAGE,UAAA,GAAa,IAAI,CAAC,SAAL,CAAe,QAAQ,CAAC,SAAxB,EAAmC,KAAnC;6BACb,UAAU,CAAC,OAAX,CAAmB,SAAC,QAAD;+BAAc,QAAQ,CAAC,OAAT,CAAiB,QAAjB;uBAAjC,EAJF;;mBADF,EADF;;eADF;qBAQA,WAAW,CAAC,OAAZ,CAAoB,SAAC,KAAD;gBAClB,IAAG,KAAA,YAAiB,OAApB;yBACE,SAAS,CAAC,SAAS,CAAC,OAApB,CAA4B,SAAC,QAAD;EAC1B,sBAAA;oBAAA,IAAG,KAAK,CAAC,OAAN,CAAc,QAAQ,CAAC,SAAvB,CAAH;6BACE,QAAQ,CAAC,MAAT,CAAgB,KAAhB,EADF;qBAAA,MAAA;sBAGE,QAAA,GAAW,IAAI,CAAC,SAAL,CAAe,QAAQ,CAAC,SAAxB,EAAmC,KAAnC;6BACX,QAAQ,CAAC,OAAT,CAAiB,SAAC,OAAD;+BAAa,QAAQ,CAAC,MAAT,CAAgB,OAAhB;uBAA9B,EAJF;;mBADF,EADF;;eADF;aAXF;WADoB;UAoBtB,SAAS,CAAC,SAAS,CAAC,OAApB,CAA4B,QAAQ,CAAC,eAArC,EACA,SAAS,CAAC,eADV,EArBF;;QAuBA,IAAA,CAAO,SAAS,CAAC,SAAS,CAAC,QAApB,CAA6B,QAA7B,CAAP;iBACE,SAAS,CAAC,SAAS,CAAC,IAApB,CAAyB,QAAzB,EADF;;;;MAGS,OAAV,QAAU;EACT,UAAA,OAAA,EAAA;QAAA,IAAA,GAAO;QACP,IAAe,IAAA,KAAQ,SAAvB;EAAA,eAAO,KAAP;;QACA,IAAA,EAAO,IAAC,CAAA,SAAD,IAAc,OAAO,IAAC,CAAA,SAAR,KAAuB,QAA5C,CAAA;UACE,MAAM,IAAI,KAAJ,CAAU,IAAC,CAAA,4BAAX,EADR;;QAEA,IAAA,CAAwB,IAAC,CAAA,cAAD,CAAgB,YAAhB,CAAxB;UAAA,IAAC,CAAA,UAAD,GAAc,GAAd;;QACA,IAAsB,OAAO,IAAC,CAAA,KAAR,KAAiB,UAAvC;UAAA,OAAA,GAAU,IAAC,CAAA,KAAD,GAAV;;QACA,IAAI,CAAC,EAAL,CAAQ,IAAI,CAAC,UAAb,EAAyB;UACvB,IAAI,CAAC,SAAL,CAAe,IAAI,CAAC,SAApB,CAA8B,CAAC,OAA/B,CAAuC,SAAC,UAAD;mBACrC,IAAI,CAAC,MAAL,CAAY,UAAZ;WADF;iBAEA,SAAS,CAAC,QAAV,CAAmB,IAAnB;SAHF;QAIA,IAAG,OAAH;iBAAgB,QAAhB;SAAA,MAAA;iBAA6B,KAA7B;;;;;IAjIF,SAAC,CAAA,MAAD,GAAS;;IAET,SAAC,CAAA,4BAAD,GAA+B;;IAC/B,SAAC,CAAA,yBAAD,GAA4B;;IAC5B,SAAC,CAAA,SAAD,GAAY;;IACZ,SAAC,CAAA,UAAD,GAAa;;IAEb,SAAC,CAAA,SAAD,GAAY;;IACZ,SAAC,CAAA,SAAD,GAAY;;IACZ,SAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,OAAA,EAAS;;;;;eAbb;;ECHA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAWH,UAAY;EACV,UAAA,WAAA,EAAA,iBAAA,EAAA;QAAA,QAAA,GAAW,IAAC,CAAA,WAAW,CAAC,YAAb,CAA0B,IAAC,CAAA,WAAW,CAAC,mBAAvC;QACX,WAAA,GAAc,QAAA,KAAc,IAAC,CAAA,WAAW,CAAC;QACzC,iBAAA,GAAoB,IAAC,CAAA,WAAW,CAAC;eACjC,CAAC,WAAD,EAAc,iBAAd;;;MAEF,YAAc;QACZ,CAAA,CACG,aAAD,IAAC,CAAA,WADH,EAEG,mBAAD,IAAC,CAAA,iBAFH,CAAA,GAGI,IAAC,CAAA,UAAD,EAHJ;eAIA,IAAC,CAAA,YAAD;;;MAEF,YAAc;eACZ,IAAC,CAAA,YAAD;;;MAEF,YAAc;QACZ,IAAG,IAAC,CAAA,WAAJ;iBACE,IAAC,CAAA,WAAW,CAAC,QAAb,GAAwB,CAAC,EAD3B;SAAA,MAAA;iBAGE,IAAC,CAAA,WAAW,CAAC,QAAb,GAAwB,IAAC,CAAA,kBAH3B;;;;;;IA1BF,MAAC,CAAA,MAAD,GAAS;;IACT,MAAC,CAAA,mBAAD,GAAsB;;IACtB,MAAC,CAAA,qBAAD,GAAwB;;IACxB,MAAC,CAAA,SAAD,GAAY,CAAA,CAAA,EAAI,MAAC,CAAA,mBAAL,CAAyB,CAAzB;;IAEZ,MAAC,CAAA,eAAD,GACE;MAAA,UAAA,EAAY,IAAZ;MACA,eAAA,EAAiB,CAAC,MAAC,CAAA,mBAAF;;;;;eATrB;;ECEA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAeM,OAAR,MAAQ,CAAC,WAAD;eACP,IAAC,CAAA,cAAD,CAAgB,WAAhB,CAA4B,CAAC,OAA7B,CAAqC,CAAC,OAAD;UACnC,OAAO,CAAC,SAAS,CAAC,GAAlB,CAAsB,IAAC,CAAA,iBAAvB;iBACA,IAAI,CAAC,QAAL,CAAc,OAAd,EAAuB,IAAC,CAAA,mBAAxB;SAFF;;;MAIS,OAAV,QAAU,CAAC,WAAD;eACT,IAAC,CAAA,cAAD,CAAgB,WAAhB,CAA4B,CAAC,OAA7B,CAAqC,CAAC,OAAD;UACnC,OAAO,CAAC,SAAS,CAAC,MAAlB,CAAyB,IAAC,CAAA,iBAA1B;iBACA,IAAI,CAAC,QAAL,CAAc,OAAd,EAAuB,IAAC,CAAA,qBAAxB;SAFF;;;MAIO,OAAR,MAAQ,CAAC,WAAD;eACP,IAAC,CAAA,cAAD,CAAgB,WAAhB,CAA4B,CAAC,OAA7B,CAAqC,CAAC,OAAD;UACnC,IAAG,OAAO,CAAC,SAAS,CAAC,QAAlB,CAA2B,IAAC,CAAA,iBAA5B,CAAH;mBACE,IAAC,CAAA,QAAD,CAAU,OAAV,EADF;WAAA,MAAA;mBAGE,IAAC,CAAA,MAAD,CAAQ,OAAR,EAHF;;SADF;;;MAMe,OAAhB,cAAgB,CAAC,WAAD;QACf,IAAG,WAAA,YAAuB,OAA1B;iBACE,CAAC,WAAD,EADF;SAAA,MAAA;iBAGE,IAAI,CAAC,SAAL,CAAe,CAAA,CAAA,EAAI,IAAC,CAAA,wBAAL,CAA8B,CAA9B,EAAiC,WAAjC,CAA6C,CAA7C,CAAf,EAHF;;;;MAKM,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;eACP,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,SAAlB,EAA6B,SAAC,CAAD;EAC3B,YAAA;UAAA,aAAA,GAAgB;iBAChB,IAAI,CAAC,SAAL,CAAe,CAAf,CAAiB,CAAC,IAAlB,CAAuB,SAAC,KAAD;EACrB,cAAA,OAAA,EAAA;YAAA,IAAG,KAAA,YAAiB,OAApB;cACE,IAAG,KAAK,CAAC,YAAN,CAAmB,IAAI,CAAC,iBAAxB,CAAA,IACA,KAAK,CAAC,YAAN,CAAmB,IAAI,CAAC,qBAAxB,CADH;gBAEE,IAAG,UAAA,GAAa,KAAK,CAAC,YAAN,CAAmB,IAAI,CAAC,qBAAxB,CAAhB;kBACE,IAAI,CAAC,MAAL,CAAY,UAAZ;kBACA,aAAA,GAAgB,KAFlB;;gBAGA,IAAG,KAAK,CAAC,YAAN,CAAmB,IAAI,CAAC,iBAAxB,CAAH;kBACE,IAAG,KAAK,CAAC,YAAN,CAAmB,IAAI,CAAC,wBAAxB,CAAH;oBACE,OAAA,GAAU,MADZ;mBAAA,MAAA;oBAGE,OAAA,GAAU,IAAI,CAAC,OAAL,CACV,CAAA,CAAA,EAAI,IAAI,CAAC,wBAAT,CAAkC,CAAlC,CADU,EAC4B,KAD5B,EAHZ;;kBAKA,IAAG,OAAH;oBACE,IAAI,CAAC,MAAL,CAAY,OAAZ;2BACA,aAAA,GAAgB,KAFlB;mBANF;iBALF;eAAA,MAcK,IAAG,KAAK,CAAC,YAAN,CAAmB,IAAI,CAAC,sBAAxB,CAAH;uBACH,aAAA,GAAgB,KADb;eAfP;;WADF;SAFF;;;;;IAtCF,MAAC,CAAA,MAAD,GAAS;;IACT,MAAC,CAAA,wBAAD,GAA2B;;IAC3B,MAAC,CAAA,iBAAD,GAAoB;;IACpB,MAAC,CAAA,qBAAD,GAAwB;;IACxB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,iBAAD,GAAoB;;IACpB,MAAC,CAAA,UAAD,GAAa,CACX,CAAA,CAAA,EAAI,MAAC,CAAA,qBAAL,CAA2B,CAA3B,CADW,EAEX,CAAA,CAAA,EAAI,MAAC,CAAA,iBAAL,CAAuB,CAAvB,CAFW;;IAIb,MAAC,CAAA,mBAAD,GAAsB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,QAAX;;IACtB,MAAC,CAAA,qBAAD,GAAwB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,UAAX;;;;eAb1B;;ECAA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAeH,UAAY;EACV,UAAA,MAAA,EAAA;QAAA,MAAA,GAAS,IAAI,CAAC,MAAL,CAAY,IAAC,CAAA,WAAW,CAAC,cAAzB,EAAyC,IAAC,CAAA,WAA1C;QACT,WAAA,GAAc,IAAI,CAAC,MAAL,CACd,IAAC,CAAA,WAAW,CAAC,mBADC,EACoB,IAAC,CAAA,WADrB;eAEd,CAAC,MAAD,EAAS,WAAT;;;MAEF,YAAc;QACZ,CAAA,CACG,QAAD,IAAC,CAAA,MADH,EAEG,aAAD,IAAC,CAAA,WAFH,CAAA,GAGI,IAAC,CAAA,UAAD,EAHJ;eAIA,IAAC,CAAA,KAAD;;;MAEF,YAAc;eACZ,IAAC,CAAA,YAAD;;;MAEF,gBAAkB;QAChB,IAAC,CAAA,WAAD,GAAe,QAAQ,CAAC,aAAT,CAAuB,OAAvB;QACf,IAAC,CAAA,WAAW,CAAC,QAAb,GAAwB,CAAC;eACzB,IAAI,CAAC,MAAL,CAAY,IAAC,CAAA,WAAb,EAA0B,IAAC,CAAA,MAA3B;;;MAEF,oBAAsB;eACpB,IAAC,CAAA,WAAW,CAAC,WAAb,GACA,IAAC,CAAA,MAAM,CAAC,YAAR,CAAqB,IAAC,CAAA,WAAW,CAAC,sBAAlC;;;MAEF,kBAAoB;EAClB,UAAA;QAAA,MAAA,GAAS;QACT,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,MAAM,CAAC,KAAnB,CAAyB,CAAC,GAA1B,CAA8B,SAAC,IAAD;iBAAU,MAAM,CAAC,IAAP,CAAY,IAAI,CAAC,IAAjB;SAAxC;QACA,IAAG,MAAM,CAAC,MAAV;iBACE,IAAC,CAAA,WAAW,CAAC,KAAb,GAAqB,MAAM,CAAC,IAAP,CAAY,IAAC,CAAA,WAAW,CAAC,cAAzB,EADvB;SAAA,MAEK,IAAG,IAAC,CAAA,MAAM,CAAC,YAAR,CAAqB,IAAC,CAAA,WAAW,CAAC,gBAAlC,CAAH;iBACH,IAAC,CAAA,WAAW,CAAC,KAAb,GAAqB,IAAC,CAAA,MAAM,CAAC,YAAR,CAAqB,IAAC,CAAA,WAAW,CAAC,gBAAlC,EADlB;;;;MAGP,KAAO;QACL,IAAG,IAAC,CAAA,MAAJ;UACE,IAAA,CAA2B,IAAC,CAAA,WAA5B;YAAA,IAAC,CAAA,gBAAD,GAAA;;UACA,IAAG,IAAC,CAAA,MAAM,CAAC,YAAR,CAAqB,IAAC,CAAA,WAAW,CAAC,sBAAlC,CAAH;YACE,IAAC,CAAA,oBAAD,GADF;;iBAEA,IAAC,CAAA,kBAAD,GAJF;;;;MAMM,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;QACP,IAAI,CAAC,EAAL,CAAQ,QAAR,EAAkB,CAAA,EAAG,IAAC,CAAA,SAAJ,EAAA,EAAiB,IAAC,CAAA,cAAlB,CAAA,CAAlB,EAAsD,SAAC,CAAD;iBACpD,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX,CAA6C,CAAC,kBAA9C;SADF;eAEA,IAAI,CAAC,EAAL,CAAQ,IAAI,CAAC,WAAb,EAA0B,IAAC,CAAA,SAA3B,EAAsC,SAAC,CAAD;iBACpC,UAAA,CAAW;mBAAG,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,kBAAjB;WAAd;SADF;;;;;IAzDF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,cAAD,GAAiB;;IACjB,MAAC,CAAA,SAAD,GAAY;;IACZ,MAAC,CAAA,cAAD,GAAiB;;IACjB,MAAC,CAAA,mBAAD,GAAsB;;IACtB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,gBAAD,GAAmB;;IAEnB,MAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,OAAA,EAAS;;;;;eAbb;;ECAA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAkBH,MAAQ,CAAC,iBAAD;EACN,UAAA;QAAA,IAAG,IAAC,CAAA,QAAQ,CAAC,QAAb;UACE,IAAG,IAAC,CAAA,2BAAJ;YACE,eAAA,GAAkB,kBADpB;WAAA,MAAA;YAGE,eAAA,GAAkB,iBAAiB,CAAC,GAAlB,CAAsB,SAAC,KAAD;qBAAW,KAAA,GAAQ;aAAzC,EAHpB;;UAIA,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,QAAQ,CAAC,OAArB,CAA6B,CAAC,OAA9B,CAAsC,SAAC,OAAD,EAAU,KAAV;mBACpC,OAAO,CAAC,QAAR,GAAmB,eAAe,CAAC,QAAhB,CAAyB,KAAzB;WADrB;iBAEA,IAAC,CAAA,mBAAD,GAPF;SAAA,MAAA;UASE,IAAC,CAAA,QAAQ,CAAC,aAAV,GAA0B;UAC1B,IAAC,CAAA,8BAAD;iBACA,IAAC,CAAA,mBAAD,GAXF;;;;MAaF,UAAY;EACV,UAAA,wBAAA,EAAA,2BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA;QAAA,QAAA,GAAW,IAAI,CAAC,MAAL,CAAY,IAAC,CAAA,WAAW,CAAC,gBAAzB,EAA2C,IAAC,CAAA,WAA5C;QACX,uBAAA,GAA0B,IAAI,CAAC,MAAL,CAC1B,IAAC,CAAA,WAAW,CAAC,iCADa,EACsB,IAAC,CAAA,WADvB;QAE1B,2BAAA,GAA8B,IAAI,CAAC,MAAL,CAC9B,CAAA,CAAA,EAAI,IAAC,CAAA,WAAW,CAAC,sCAAjB,CAAA,CAD8B,EAC6B,IAAC,CAAA,WAD9B;QAE9B,wBAAA,GAA2B,IAAI,CAAC,SAAL,CAC3B,CAAA,CAAA,EAAI,IAAC,CAAA,WAAW,CAAC,kCAAjB,CAAoD,CAApD,CAD2B,EAC6B,IAAC,CAAA,WAD9B;QAE3B,4BAAA,GAA+B,IAAC,CAAA,WAAW,CAAC,YAAb,CAC/B,IAAC,CAAA,WAAW,CAAC,iBADkB;eAE/B,CACE,QADF,EAEE,uBAFF,EAGE,2BAHF,EAIE,wBAJF,EAKE,4BALF;;;MAQF,YAAc;QACZ,CAAA,CACG,UAAD,IAAC,CAAA,QADH,EAEG,yBAAD,IAAC,CAAA,uBAFH,EAGG,6BAAD,IAAC,CAAA,2BAHH,EAIG,0BAAD,IAAC,CAAA,wBAJH,EAKG,8BAAD,IAAC,CAAA,4BALH,CAAA,GAMI,IAAC,CAAA,UAAD,EANJ;QAOA,IAAG,IAAC,CAAA,QAAJ;UACE,IAAG,IAAC,CAAA,QAAQ,CAAC,QAAb;mBACE,IAAC,CAAA,mBAAD,GADF;WAAA,MAAA;mBAGE,IAAC,CAAA,iBAAD,GAHF;WADF;;;;MAMF,YAAc;eACZ,IAAC,CAAA,YAAD;;;MAEF,mBAAqB;QACnB,IAAkB,IAAC,CAAA,SAAnB;UAAA,IAAC,CAAA,WAAD,GAAA;;QACA,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,QAAQ,CAAC,OAArB,CAA6B,CAAC,OAA9B,CAAsC,SAAC,OAAD;UACpC,IAAG,OAAO,CAAC,QAAX;mBACE,OAAO,CAAC,YAAR,CAAqB,UAArB,EAAiC,UAAjC,EADF;WAAA,MAAA;mBAGE,OAAO,CAAC,eAAR,CAAwB,UAAxB,EAHF;;SADF;QAKA,IAAA,CAAmB,IAAC,CAAA,SAApB;iBAAA,IAAC,CAAA,QAAD,GAAA;;;;MAEF,0BAA4B;QAC1B,IAAC,CAAA,WAAW,CAAC,YAAb,CAA0B,IAAC,CAAA,WAAW,CAAC,iBAAvC,EAA0D,EAA1D;eACA,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,QAAQ,CAAC,OAArB,CAA6B,CAAC,OAA9B,CAAsC,CAAC,OAAD;UACpC,IAAG,OAAO,CAAC,QAAX;mBACE,OAAO,CAAC,YAAR,CAAqB,IAAC,CAAA,WAAW,CAAC,kCAAlC,EAAsE,EAAtE,EADF;;SADF;;;MAIF,uCAAyC;EACvC,UAAA;QAAA,WAAA,GAAc,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,QAAQ,CAAC,OAArB,CAA6B,CAAC,IAA9B,CAAmC,SAAC,OAAD;iBAC/C,OAAO,CAAC,YAAR,CAAqB,UAArB,CAAA,KAAoC;SADxB;QAEd,IAAA,CAAoC,WAApC;iBAAA,IAAC,CAAA,QAAQ,CAAC,aAAV,GAA0B,CAAC,EAA3B;;;;MAEF,4BAA8B;QAC5B,IAAC,CAAA,uBAAD,GAA2B,QAAQ,CAAC,aAAT,CAAuB,OAAvB;QAC3B,IAAC,CAAA,uBAAuB,CAAC,QAAzB,GAAoC,CAAC;eACrC,IAAI,CAAC,MAAL,CAAY,IAAC,CAAA,uBAAb,EAAsC,IAAC,CAAA,QAAvC;;;MAEF,gCAAkC;eAChC,IAAC,CAAA,uBAAuB,CAAC,WAAzB,GAAuC,IAAC,CAAA,QAAQ,CAAC,YAAV,CACvC,IAAC,CAAA,WAAW,CAAC,sBAD0B;;;MAGzC,8BAAgC;EAC9B,UAAA;QAAA,IAAG,eAAA,GAAkB,IAAC,CAAA,QAAQ,CAAC,OAAQ,CAAA,IAAC,CAAA,QAAQ,CAAC,aAAV,CAAvC;iBACE,IAAC,CAAA,uBAAuB,CAAC,KAAzB,GAAiC,eAAe,CAAC,UADnD;SAAA,MAAA;iBAGE,IAAC,CAAA,uBAAuB,CAAC,KAAzB,GAAiC,GAHnC;;;;MAKF,iBAAmB;QACjB,IAAA,CAAuC,IAAC,CAAA,uBAAxC;UAAA,IAAC,CAAA,4BAAD,GAAA;;QACA,IAAG,IAAC,CAAA,QAAQ,CAAC,YAAV,CAAuB,IAAC,CAAA,WAAW,CAAC,sBAApC,CAAH;UACE,IAAC,CAAA,uCAAD;UACA,IAAC,CAAA,gCAAD,GAFF;;QAGA,IAAA,CAAqC,IAAC,CAAA,4BAAtC;UAAA,IAAC,CAAA,0BAAD,GAAA;;QACA,IAAC,CAAA,8BAAD;eACA,IAAC,CAAA,mBAAD;;;MAEF,gCAAkC;QAChC,IAAC,CAAA,2BAAD,GAA+B,QAAQ,CAAC,aAAT,CAAuB,QAAvB;QAC/B,IAAC,CAAA,2BAA2B,CAAC,SAA7B,GACA,IAAC,CAAA,WAAW,CAAC;QACb,IAAC,CAAA,2BAA2B,CAAC,QAA7B,GAAwC;eACxC,IAAI,CAAC,QAAL,CAAc,IAAC,CAAA,2BAAf,EAA4C,IAAC,CAAA,QAA7C;;;MAEF,kCAAoC;eAClC,IAAC,CAAA,2BAA2B,CAAC,SAA7B,GAAyC,IAAC,CAAA,QAAQ,CAAC,YAAV,CACzC,IAAC,CAAA,WAAW,CAAC,sBAD4B;;;MAG3C,mBAAqB;QACnB,IAAA,CAAO,IAAC,CAAA,2BAAR;UACE,IAAG,IAAC,CAAA,QAAQ,CAAC,YAAV,CAAuB,IAAC,CAAA,WAAW,CAAC,sBAApC,CAAH;YACE,IAAC,CAAA,gCAAD;YACA,IAAC,CAAA,kCAAD,GAFF;WADF;;QAIA,IAAA,CAAqC,IAAC,CAAA,4BAAtC;iBAAA,IAAC,CAAA,0BAAD,GAAA;;;;MAEF,MAAQ;QACN,IAAG,IAAC,CAAA,QAAJ;UACE,KAAK,CAAC,IAAN,CAAW,IAAC,CAAA,QAAQ,CAAC,OAArB,CAA6B,CAAC,OAA9B,CAAsC,CAAC,OAAD;mBACpC,OAAO,CAAC,QAAR,GAAmB,IAAC,CAAA,wBAAwB,CAAC,QAA1B,CAAmC,OAAnC;WADrB;UAEA,IAAA,CAAyC,IAAC,CAAA,QAAQ,CAAC,QAAnD;YAAA,IAAC,CAAA,8BAAD,GAAA;;iBACA,IAAC,CAAA,mBAAD,GAJF;;;;MAMM,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;QACP,IAAI,CAAC,EAAL,CAAQ,QAAR,EAAkB,CAAA,EAAG,IAAC,CAAA,SAAJ,EAAA,EAAiB,IAAC,CAAA,gBAAlB,CAAA,CAAlB,EAAwD,SAAC,CAAD;EACtD,YAAA;UAAA,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX;UACX,IAAA,CAAiD,IAAI,CAAC,QAAtD;YAAA,QAAQ,CAAC,8BAAT,GAAA;;iBACA,QAAQ,CAAC,mBAAT;SAHF;eAIA,IAAI,CAAC,EAAL,CAAQ,IAAI,CAAC,WAAb,EAA0B,IAAC,CAAA,SAA3B,EAAsC,SAAC,CAAD;iBACpC,UAAA,CAAW;mBAAG,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,MAAjB;WAAd;SADF;;;;;IA5IF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,SAAD,GAAY;;IACZ,MAAC,CAAA,gBAAD,GAAmB;;IACnB,MAAC,CAAA,iCAAD,GAAoC;;IACpC,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,sCAAD,GAAyC;;IACzC,MAAC,CAAA,kCAAD,GAAqC;;IACrC,MAAC,CAAA,iBAAD,GAAoB;;IAEpB,MAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,UAAA,EAAY,IADZ;MAEA,OAAA,EAAS,IAFT;MAGA,eAAA,EAAiB,CAAC,UAAD;;;;;eAhBrB;;ECAA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;;;MA8BH,MAAQ,CAAC,KAAD;EACN,UAAA,MAAA,EAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,IAAoB,CAAI,IAAC,CAAA,WAA5B;UACE,YAAA,GAAe,IAAC,CAAA;UAChB,IAAG,mBACC,KAAA,KAAW,IAAC,CAAA,YADb,KAEC,CAAA,IAAK,KAAL,IAAK,KAAL,IAAc,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAAhC,CAFJ;YAGE,IAAC,CAAA,WAAD,GAAe;YACf,IAAC,CAAA,YAAD,GAAgB;YAChB,MAAA,GAAY,KAAA,GAAQ,YAAX,GAA6B,YAA7B,GAA+C;mBACxD,IAAE,CAAA,MAAA,CAAF,CAAU,IAAC,CAAA,OAAQ,CAAA,YAAA,CAAnB,EAAkC,YAAlC,EANF;WAFF;;;;MAUF,IAAM;EACJ,UAAA,YAAA,EAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,IAAoB,CAAI,IAAC,CAAA,WAA5B;UACE,YAAA,GAAe,IAAC,CAAA;UAChB,KAAA,GAAQ,YAAA,GAAe;UACvB,IAAG,KAAA,GAAQ,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAA7B;YACE,IAAA,CAAc,IAAC,CAAA,KAAf;EAAA,mBAAA;;YACA,KAAA,GAAQ,EAFV;;UAGA,IAAC,CAAA,WAAD,GAAe;UACf,IAAC,CAAA,YAAD,GAAgB;UAChB,IAAC,CAAA,UAAD,CAAY,IAAC,CAAA,OAAQ,CAAA,YAAA,CAArB,EAAoC,YAApC;UACA,IAAC,CAAA,cAAD,GAAkB,IAAI,CAAC,GAAL;iBAClB,IAAC,CAAA,iBAAD,GAAqB,IAAC,CAAA,UAVxB;;;;MAYF,IAAM;EACJ,UAAA,YAAA,EAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,IAAoB,CAAI,IAAC,CAAA,WAA5B;UACE,YAAA,GAAe,IAAC,CAAA;UAChB,KAAA,GAAQ,YAAA,GAAe;UACvB,IAAG,KAAA,GAAQ,CAAX;YACE,IAAA,CAAc,IAAC,CAAA,KAAf;EAAA,mBAAA;;YACA,KAAA,GAAQ,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,EAF5B;;UAGA,IAAC,CAAA,WAAD,GAAe;UACf,IAAC,CAAA,YAAD,GAAgB;UAChB,IAAC,CAAA,UAAD,CAAY,IAAC,CAAA,OAAQ,CAAA,YAAA,CAArB,EAAoC,YAApC;UACA,IAAC,CAAA,cAAD,GAAkB,IAAI,CAAC,GAAL;iBAClB,IAAC,CAAA,iBAAD,GAAqB,IAAC,CAAA,UAVxB;;;;MAYF,KAAO;QACL,IAAG,yBAAH;UACE,aAAA,CAAc,IAAC,CAAA,YAAf;UACA,IAAC,CAAA,YAAD,GAAgB;iBAChB,IAAC,CAAA,iBAAD,GAAqB,IAAC,CAAA,iBAAD,IAAsB,IAAI,CAAC,GAAL,EAAA,GAAa,IAAC,CAAA,cAAf,EAH5C;;;;MAKF,IAAM;EACJ,UAAA;QAAA,IAAG,IAAC,CAAA,SAAD,IAAe,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAApC;UACE,IAAC,CAAA,cAAD,GAAkB,IAAI,CAAC,GAAL;UAClB,IAAC,CAAA,KAAD;UACA,OAAA,GAAU;YACR,IAAC,CAAA,IAAD;mBACA,IAAC,CAAA,YAAD,GAAgB,WAAA,CAAY,IAAC,CAAA,IAAI,CAAC,IAAN,CAAW,IAAX,CAAZ,EAA8B,IAAC,CAAA,SAA/B;;iBAClB,IAAC,CAAA,YAAD,GAAgB,UAAA,CAAW,OAAX,EAAoB,IAAC,CAAA,iBAArB,EANlB;;OAxEF;;;MAkFA,UAAY;EACV,UAAA,YAAA,EAAA,OAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,SAAA,EAAA;QAAA,OAAA,GAAU,IAAI,CAAC,SAAL,CACV,IAAC,CAAA,WAAW,CAAC,eADH,EACoB,IAAC,CAAA,WADrB,EACkC,IAAC,CAAA,WAAW,CAAC,SAD/C;QAEV,YAAA,GAAe,IAAI,CAAC,SAAL,CACf,IAAC,CAAA,WAAW,CAAC,oBADE,EACoB,IAAC,CAAA,WADrB,EACkC,IAAC,CAAA,WAAW,CAAC,SAD/C;QAEf,aAAA,GAAgB,IAAI,CAAC,MAAL,CAChB,IAAC,CAAA,WAAW,CAAC,sBADG,EACqB,IAAC,CAAA,WADtB;QAEhB,aAAA,GAAgB,IAAI,CAAC,MAAL,CAChB,IAAC,CAAA,WAAW,CAAC,sBADG,EACqB,IAAC,CAAA,WADtB;QAEhB,YAAA,GAAe,OAAO,CAAC,OAAR,CACf,IAAI,CAAC,MAAL,CAAY,CAAA,CAAA,EAAI,IAAC,CAAA,WAAW,CAAC,sBAAjB,CAAA,CAAZ,EAAuD,IAAC,CAAA,WAAxD,CADe;QAEf,IAA6C,YAAA,KAAgB,CAAC,CAA9D;UAAA,YAAA,GAAe,IAAC,CAAA,WAAW,CAAC,cAA5B;;QACA,SAAA,GAAY,IAAC,CAAA,WAAW,CAAC,YAAb,CAA0B,IAAC,CAAA,WAAW,CAAC,mBAAvC;QACZ,IAAG,SAAA,KAAa,IAAC,CAAA,WAAW,CAAC,MAA7B;UACE,SAAA,GAAY,MADd;SAAA,MAAA;UAGE,SAAA,GAAY,IAAI,CAAC,GAAL,CAAS,QAAA,CAAS,SAAT,EAAoB,EAApB,CAAT,CAAA,IAAoC,IAAC,CAAA,WAAW,CAAC,UAH/D;;QAIA,KAAA,GAAQ,IAAC,CAAA,WAAW,CAAC,YAAb,CAA0B,IAAC,CAAA,WAAW,CAAC,eAAvC;QACR,KAAA,GAAW,KAAA,KAAS,IAAC,CAAA,WAAW,CAAC,MAAzB,GAAqC,KAArC,GAAgD,IAAC,CAAA,WAAW,CAAC;eACrE,CACE,OADF,EAEE,YAFF,EAGE,aAHF,EAIE,aAJF,EAKE,YALF,EAME,SANF,EAOE,KAPF;;;MAUF,YAAc;QACZ,CAAA,CACG,SAAD,IAAC,CAAA,OADH,EAEG,cAAD,IAAC,CAAA,YAFH,EAGG,eAAD,IAAC,CAAA,aAHH,EAIG,eAAD,IAAC,CAAA,aAJH,EAKG,cAAD,IAAC,CAAA,YALH,EAMG,WAAD,IAAC,CAAA,SANH,EAOG,OAAD,IAAC,CAAA,KAPH,CAAA,GAQI,IAAC,CAAA,UAAD,EARJ;QASA,IAAC,CAAA,WAAD,GAAe;QACf,IAAC,CAAA,YAAD,GAAgB;QAChB,IAAC,CAAA,cAAD,GAAkB;QAClB,IAAC,CAAA,iBAAD,GAAqB,IAAC,CAAA;QACtB,IAAC,CAAA,OAAD;eACA,IAAC,CAAA,IAAD;;;MAEF,YAAc,CAAC,SAAD;QACZ,CAAA,CACG,SAAD,IAAC,CAAA,OADH,EAEG,cAAD,IAAC,CAAA,YAFH,EAGG,eAAD,IAAC,CAAA,aAHH,EAIG,eAAD,IAAC,CAAA,aAJH,EAKG,cAAD,IAAC,CAAA,YALH,EAMG,WAAD,IAAC,CAAA,SANH,EAOG,OAAD,IAAC,CAAA,KAPH,CAAA,GAQI,IAAC,CAAA,UAAD,EARJ;QASA,IAAC,CAAA,mBAAD;QACA,IAAC,CAAA,yBAAD;eACA,IAAC,CAAA,IAAD;;;MAEF,QAAU;eACR,IAAC,CAAA,KAAD;;;MAEF,OAAS;QACP,IAAC,CAAA,OAAO,CAAC,OAAT,CAAiB,CAAC,KAAD,EAAQ,KAAR;UACf,KAAK,CAAC,KAAK,CAAC,UAAZ,GAAyB;UACzB,IAAG,KAAA,GAAQ,IAAC,CAAA,YAAZ;YACE,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,oBAAjC;YACA,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;YACA,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,sBAApC,EAHF;WAAA,MAIK,IAAG,KAAA,GAAQ,IAAC,CAAA,YAAZ;YACH,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,oBAAjC;YACA,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;YACA,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,sBAApC,EAHG;WAAA,MAAA;YAKH,IAAI,CAAC,QAAL,CAAc,KAAd,EAAqB,IAAC,CAAA,WAAW,CAAC,mBAAlC,EAAuD,KAAvD;YACA,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,sBAAjC;YACA,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;YACA,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC,EARG;;UASL,IAAI,CAAC,MAAL,CAAY,KAAZ;iBACA,KAAK,CAAC,KAAK,CAAC,UAAZ,GAAyB;SAhB3B;QAiBA,IAAC,CAAA,mBAAD;eACA,IAAC,CAAA,yBAAD;;;MAEF,UAAY,CAAC,YAAD,EAAe,YAAf;EACV,UAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAArB;UACE,KAAA,GAAQ,IAAC,CAAA,OAAQ,CAAA,IAAC,CAAA,YAAD;UACjB,IAAI,CAAC,QAAL,CAAc,KAAd,EACA,IAAC,CAAA,WAAW,CAAC,kBADb,EACiC,IAAC,CAAA,YADlC;UAEA,KAAK,CAAC,KAAK,CAAC,UAAZ,GAAyB;UACzB,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;UACA,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,oBAAjC;UACA,IAAI,CAAC,MAAL,CAAY,KAAZ;UACA,KAAK,CAAC,KAAK,CAAC,UAAZ,GAAyB;UACzB,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;UACA,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,sBAAjC;UACA,IAAI,CAAC,QAAL,CAAc,YAAd,EACA,IAAC,CAAA,WAAW,CAAC,oBADb,EACmC,YADnC;UAEA,YAAY,CAAC,SAAS,CAAC,MAAvB,CAA8B,IAAC,CAAA,WAAW,CAAC,sBAA3C;UACA,YAAY,CAAC,SAAS,CAAC,GAAvB,CAA2B,IAAC,CAAA,WAAW,CAAC,oBAAxC;UACA,IAAC,CAAA,mBAAD;iBACA,IAAC,CAAA,yBAAD,GAhBF;;;;MAkBF,UAAY,CAAC,YAAD,EAAe,YAAf;EACV,UAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAArB;UACE,KAAA,GAAQ,IAAC,CAAA,OAAQ,CAAA,IAAC,CAAA,YAAD;UACjB,IAAI,CAAC,QAAL,CAAc,KAAd,EACA,IAAC,CAAA,WAAW,CAAC,kBADb,EACiC,IAAC,CAAA,YADlC;UAEA,KAAK,CAAC,KAAK,CAAC,UAAZ,GAAyB;UACzB,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;UACA,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,oBAAjC;UACA,IAAI,CAAC,MAAL,CAAY,KAAZ;UACA,KAAK,CAAC,KAAK,CAAC,UAAZ,GAAyB;UACzB,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,oBAApC;UACA,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,sBAAjC;UACA,IAAI,CAAC,QAAL,CAAc,YAAd,EACA,IAAC,CAAA,WAAW,CAAC,oBADb,EACmC,YADnC;UAEA,YAAY,CAAC,SAAS,CAAC,MAAvB,CAA8B,IAAC,CAAA,WAAW,CAAC,sBAA3C;UACA,YAAY,CAAC,SAAS,CAAC,GAAvB,CAA2B,IAAC,CAAA,WAAW,CAAC,oBAAxC;UACA,IAAC,CAAA,mBAAD;iBACA,IAAC,CAAA,yBAAD,GAhBF;;;;MAkBF,mBAAqB;eACnB,IAAC,CAAA,YAAY,CAAC,OAAd,CAAsB,CAAC,UAAD,EAAa,KAAb;iBACpB,UAAU,CAAC,QAAX,GAAsB,KAAA,KAAS,IAAC,CAAA;SADlC;;;MAGF,yBAA2B;EACzB,UAAA,GAAA,EAAA,IAAA,EAAA,IAAA,EAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,IAAmB,CAAtB;yDACgB,CAAE,QAAhB,6CAAyC,CAAE,QAAhB,GAA2B,uBADxD;SAAA,MAAA;;gBAGgB,CAAE,QAAhB,GAA2B,IAAC,CAAA,YAAD,KAAiB,CAAjB,IAAuB,CAAI,IAAC,CAAA;;2DACzC,CAAE,QAAhB,GACA,IAAC,CAAA,YAAD,KAAiB,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAAnC,IAAyC,CAAI,IAAC,CAAA,eALhD;;OAjNF;;;;MAyNQ,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;QACP,IAAI,CAAC,EAAL,CAAQ,eAAR,EAAyB,IAAC,CAAA,eAA1B,EAA2C,SAAC,CAAD;EACzC,YAAA,KAAA,EAAA;UAAA,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX;UACX,QAAQ,CAAC,WAAT,GAAuB;UACvB,KAAA,GAAQ,QAAQ,CAAC,OAAO,CAAC,OAAjB,CAAyB,IAAzB;UACR,IAAG,IAAI,CAAC,SAAS,CAAC,QAAf,CAAwB,IAAI,CAAC,sBAA7B,CAAH;mBACE,IAAI,CAAC,QAAL,CAAc,IAAd,EAAoB,IAAI,CAAC,mBAAzB,EAA8C,KAA9C,EADF;WAAA,MAAA;mBAGE,IAAI,CAAC,QAAL,CAAc,IAAd,EAAoB,IAAI,CAAC,qBAAzB,EAAgD,KAAhD,EAHF;;SAJF;QAQA,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,oBAAlB,EAAwC,SAAC,CAAD;EACtC,YAAA;UAAA,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX;iBACX,QAAQ,CAAC,MAAT,CAAgB,QAAQ,CAAC,YAAY,CAAC,OAAtB,CAA8B,IAA9B,CAAhB;SAFF;QAGA,IAAI,CAAC,EAAL,CAAQ,YAAR,EAAsB,IAAC,CAAA,SAAvB,EAAkC,SAAC,CAAD;iBAChC,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,KAAjB;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,UAAR,EAAoB,IAAC,CAAA,SAArB,EAAgC,SAAC,CAAD;iBAC9B,UAAA,CAAW;mBAAG,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,IAAjB;WAAd;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,WAAR,EAAqB,IAAC,CAAA,SAAtB,EAAiC,SAAC,CAAD;iBAC/B,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,KAAjB;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,UAAR,EAAoB,IAAC,CAAA,SAArB,EAAgC,SAAC,CAAD;iBAC9B,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,IAAjB;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,IAAI,CAAC,iBAAb,EAAgC,IAAC,CAAA,SAAjC,EAA4C,SAAC,MAAD,EAAS,CAAT;iBAC1C,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,IAAjB;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,IAAI,CAAC,oBAAb,EAAmC,IAAC,CAAA,SAApC,EAA+C,SAAC,MAAD,EAAS,CAAT;iBAC7C,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,IAAjB;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,sBAAlB,EAA0C,SAAC,CAAD;iBACxC,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX,CAA6C,CAAC,IAA9C;SADF;eAEA,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,sBAAlB,EAA0C,SAAC,CAAD;iBACxC,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX,CAA6C,CAAC,IAA9C;SADF;;;;;IApPF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,SAAD,GAAY;;IACZ,MAAC,CAAA,eAAD,GAAkB;;IAClB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,oBAAD,GAAuB;;IACvB,MAAC,CAAA,mBAAD,GAAsB;;IACtB,MAAC,CAAA,eAAD,GAAkB;;IAClB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,oBAAD,GAAuB;;IACvB,MAAC,CAAA,oBAAD,GAAuB;;IACvB,MAAC,CAAA,aAAD,GAAgB;;IAChB,MAAC,CAAA,SAAD,GAAY;;IACZ,MAAC,CAAA,KAAD,GAAQ;;IACR,MAAC,CAAA,MAAD,GAAS;;IACT,MAAC,CAAA,kBAAD,GAAqB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,OAAX;;IACrB,MAAC,CAAA,mBAAD,GAAsB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,QAAX;;IACtB,MAAC,CAAA,oBAAD,GAAuB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,SAAX;;IACvB,MAAC,CAAA,qBAAD,GAAwB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,UAAX;;IAExB,MAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,UAAA,EAAY,IADZ;MAEA,OAAA,EAAS,IAFT;MAGA,eAAA,EAAiB,CAAC,MAAC,CAAA,mBAAF,EAAuB,MAAC,CAAA,eAAxB;;;;;eA3BrB;;ECCA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MA6BH,MAAQ;EACN,UAAA;QAAA,IAAA,CAAO,IAAC,CAAA,QAAD,EAAP;UACE,IAAC,CAAA,WAAW,CAAC,SAAS,CAAC,GAAvB,CAA2B,IAAC,CAAA,WAAW,CAAC,iBAAxC;UACA,IAAC,CAAA,WAAW,CAAC,SAAS,CAAC,IAAvB,CAA4B,QAAQ,CAAC,aAArC;;eACQ,CAAE,MAAV;;iBACA,IAAI,CAAC,QAAL,CAAc,IAAC,CAAA,WAAf,EAA4B,IAAC,CAAA,WAAW,CAAC,mBAAzC,EAJF;;;;MAMF,QAAU,CAAC,KAAD;EACR,UAAA;QAAA,IAAG,IAAC,CAAA,QAAD,EAAH;UACE,IAAC,CAAA,WAAW,CAAC,SAAS,CAAC,MAAvB,CAA8B,IAAC,CAAA,WAAW,CAAC,iBAA3C;UACA,IAAC,CAAA,SAAS,CAAC,OAAX,CAAmB,SAAC,KAAD;mBAAW,KAAK,CAAC,QAAN;WAA9B;UACA,IAAG,KAAH;;iBAC2D,CAAE,KAA3D;aADF;;UAEA,IAAC,CAAA,WAAW,CAAC,SAAS,CAAC,MAAvB,CAA8B,IAAC,CAAA,WAAW,CAAC,SAAS,CAAC,MAAvB,GAAgC,CAA9D,EAAiE,CAAjE;iBACA,IAAI,CAAC,QAAL,CAAc,IAAC,CAAA,WAAf,EAA4B,IAAC,CAAA,WAAW,CAAC,qBAAzC,EANF;;;;MAQF,MAAQ,CAAC,KAAD;QACN,IAAG,IAAC,CAAA,QAAD,EAAH;iBAAoB,IAAC,CAAA,QAAD,CAAU,KAAV,EAApB;SAAA,MAAA;iBAA0C,IAAC,CAAA,MAAD,GAA1C;;;;MAEF,IAAM;EACJ,UAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,IAAoB,IAAC,CAAA,QAAD,EAAvB;UACE,UAAA,GAAa,IAAC,CAAA,OAAO,CAAC,OAAT,CAAiB,QAAQ,CAAC,aAA1B,CAAA,GAA2C;UACxD,IAAkB,UAAA,GAAa,CAA/B;YAAA,UAAA,GAAa,EAAb;;iBACA,IAAC,CAAA,OAAQ,CAAA,UAAA,CAAW,CAAC,KAArB,GAHF;;;;MAKF,IAAM;EACJ,UAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAT,IAAoB,IAAC,CAAA,QAAD,EAAvB;UACE,UAAA,GAAa,IAAC,CAAA,OAAO,CAAC,OAAT,CAAiB,QAAQ,CAAC,aAA1B,CAAA,GAA2C;UACxD,IAAoC,UAAA,GAAa,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAAnE;YAAA,UAAA,GAAa,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,EAA/B;;iBACA,IAAC,CAAA,OAAQ,CAAA,UAAA,CAAW,CAAC,KAArB,GAHF;;;;MAKF,UAAY;EACV,UAAA,OAAA,EAAA,MAAA,EAAA,cAAA,EAAA,UAAA,EAAA;QAAA,MAAA,GAAS,IAAI,CAAC,MAAL,CAAY,IAAC,CAAA,WAAW,CAAC,cAAzB,EAAyC,IAAC,CAAA,WAA1C;QACT,UAAA,GAAa,IAAI,CAAC,SAAL,CACb,IAAC,CAAA,WAAW,CAAC,kBADA,EACoB,IAAC,CAAA,WADrB,EACkC,IAAC,CAAA,WAAW,CAAC,SAD/C,CAEb,CAAC,MAFY,CAEL,IAAI,CAAC,SAAL,CACR,IAAC,CAAA,WAAW,CAAC,kBADL,EACyB,MADzB,EACiC,IAAC,CAAA,WAAW,CAAC,cAD9C,CAFK;QAIb,cAAA,GAAiB,IAAI,CAAC,SAAL,CACjB,IAAC,CAAA,WAAW,CAAC,uBADI,EAEjB,IAAC,CAAA,WAFgB,EAEH,IAAC,CAAA,WAAW,CAAC,SAFV,CAGjB,CAAC,MAHgB,CAGT,IAAI,CAAC,SAAL,CACR,IAAC,CAAA,WAAW,CAAC,uBADL,EAC8B,MAD9B,EACsC,IAAC,CAAA,WAAW,CAAC,cADnD,CAHS;QAKjB,OAAA,GAAU,IAAI,CAAC,SAAL,CACV,IAAC,CAAA,WAAW,CAAC,eADH,EACoB,MADpB,EAC4B,IAAC,CAAA,WAAW,CAAC,cADzC;QAEV,aAAA,GAAgB,IAAC,CAAA,WAAW,CAAC,YAAb,CAA0B,IAAC,CAAA,WAAW,CAAC,qBAAvC;eAChB,CAAC,OAAD,EAAU,UAAV,EAAsB,cAAtB,EAAsC,aAAtC;;;MAEF,YAAc;gBACZ,CACG,SAAD,IAAC,CAAA,OADH,EAEG,YAAD,IAAC,CAAA,UAFH,EAGG,gBAAD,IAAC,CAAA,cAHH,EAIG,eAAD,IAAC,CAAA,aAJH,CAAA,GAKI,IAAC,CAAA,UAAD,EALJ;;;MAOF,YAAc,CAAC,SAAD;eACZ,IAAC,CAAA,YAAD;;;MAEF,QAAU;eACR,IAAC,CAAA,WAAW,CAAC,SAAS,CAAC,QAAvB,CAAgC,IAAC,CAAA,WAAW,CAAC,iBAA7C;;;MAEF,uBAAyB,CAAC,UAAD;QACvB,IAAG,UAAA,IAAe,EAAK,UAAA,YAAsB,KAAvB,CAAtB;UACE,UAAA,GAAa,CAAC,UAAD,EADf;;QAEA,IAAG,UAAH;iBACE,IAAC,CAAA,SAAS,CAAC,OAAX,CAAmB,SAAC,KAAD;YACjB,IAAoB,KAAK,CAAC,QAAN,EAAA,IAAqB,CAAI,UAAU,CAAC,QAAX,CAAoB,KAApB,CAA7C;qBAAA,KAAK,CAAC,QAAN,GAAA;;WADF,EADF;SAAA,MAAA;iBAIE,IAAC,CAAA,SAAS,CAAC,OAAX,CAAmB,SAAC,KAAD;YACjB,IAAoB,KAAK,CAAC,QAAN,EAApB;qBAAA,KAAK,CAAC,QAAN,GAAA;;WADF,EAJF;;;;MAOe,OAAhB,cAAgB,CAAC,mBAAD;EACf,UAAA;QAAA,UAAA,GAAa;QACb,IAAG,mBAAA,IAAwB,EAAK,mBAAA,YAA+B,KAAhC,CAA/B;UACE,mBAAA,GAAsB,CAAC,mBAAD,EADxB;;QAEA,IAAG,mBAAH;UACE,mBAAmB,CAAC,OAApB,CAA4B,CAAC,iBAAD;EAC1B,cAAA;YAAA,IAA6B,SAAA,GAAY,IAAC,CAAA,KAAD,CAAO,iBAAP,CAAzC;qBAAA,UAAU,CAAC,IAAX,CAAgB,SAAhB,EAAA;;WADF,EADF;;QAGA,IAAG,UAAU,CAAC,MAAd;iBACE,IAAC,CAAA,UAAU,CAAC,OAAZ,CAAoB,SAAC,QAAD;EAClB,cAAA,2BAAA,EAAA;YAAA,wBAAA,GAA2B,CAAI,UAAU,CAAC,QAAX,CAAoB,QAApB;YAC/B,2BAAA,GAA8B,UAAU,CAAC,KAAX,CAAiB,SAAC,SAAD;qBAC7C,CAAI,QAAQ,CAAC,cAAT,CAAwB,SAAxB;aADwB;YAE9B,IAAG,QAAQ,CAAC,QAAT,EAAA,IACC,wBADD,IAEC,2BAFJ;qBAGE,QAAQ,CAAC,QAAT,GAHF;;WAJF,EADF;SAAA,MAAA;iBAUE,IAAC,CAAA,UAAU,CAAC,OAAZ,CAAoB,SAAC,QAAD;YAClB,IAAuB,QAAQ,CAAC,QAAT,EAAvB;qBAAA,QAAQ,CAAC,QAAT,GAAA;;WADF,EAVF;;;;MAaqB,OAAtB,oBAAsB;eACrB,IAAC,CAAA,UAAU,CAAC,MAAZ,CAAmB,SAAC,QAAD;UAAc,IAAY,QAAQ,CAAC,aAArB;mBAAA,SAAA;;SAAjC;;;MAEM,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;QACP,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,IAAC,CAAA,SAA1B,EAAqC,SAAC,CAAD;iBACnC,IAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,oBAAL,EAApB;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,SAAlB,EAA6B,SAAC,CAAD;EAC3B,YAAA,KAAA,EAAA,QAAA,EAAA;UAAA,IAAG,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAX,CAAd;YACE,aAAA,GAAgB;YAChB,KAAA,GAAQ,CAAI,CAAC,CAAC;YACd,IAAI,CAAC,cAAL,CAAoB,IAAI,CAAC,oBAAL,EAA2B,CAAC,MAA5B,CAAmC,QAAnC,CAApB;YACA,QAAQ,CAAC,uBAAT;YACA,IAAsD,QAAQ,CAAC,OAA/D;cAAA,QAAQ,CAAC,OAAO,CAAC,uBAAjB,CAAyC,QAAzC,EAAA;;YACA,IAAG,QAAQ,CAAC,UAAU,CAAC,MAApB,IAA8B,QAAQ,CAAC,cAAc,CAAC,MAAzD;cACE,IAAI,CAAC,SAAL,CAAe,CAAf,CAAiB,CAAC,IAAlB,CAAuB,SAAC,KAAD;gBACrB,IAAG,QAAQ,CAAC,UAAU,CAAC,QAApB,CAA6B,KAA7B,CAAH;kBACE,QAAQ,CAAC,MAAT,CAAgB,KAAhB;yBACA,aAAA,GAAgB,KAFlB;iBAAA,MAGK,IAAG,QAAQ,CAAC,cAAc,CAAC,QAAxB,CAAiC,KAAjC,CAAH;yBACH,aAAA,GAAgB,KADb;;eAJP,EADF;;YAOA,IAAA,CAA6B,aAA7B;qBAAA,QAAQ,CAAC,MAAT,CAAgB,KAAhB,EAAA;aAbF;;SADF;QAgBA,IAAI,CAAC,UAAL,CAAgB,OAAhB,EAAyB,IAAC,CAAA,SAA1B,EAAqC,SAAC,CAAD;iBAAO,IAAI,CAAC,cAAL;SAA5C;QACA,IAAI,CAAC,EAAL,CAAQ,OAAR,EAAiB,IAAC,CAAA,SAAlB,EAA6B,SAAC,CAAD;EAC3B,YAAA;UAAA,IAAG,CAAC,CAAC,OAAF,KAAa,IAAI,CAAC,OAAlB,KAA8B,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAX,CAAX,CAAjC;YACE,IAAI,CAAC,cAAL,CAAoB,QAApB;mBACA,QAAQ,CAAC,MAAT,GAFF;;SADF;QAIA,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,IAAC,CAAA,SAApB,EAA+B,SAAC,CAAD;EAC7B,YAAA,QAAA,EAAA;UAAA,IAAG,CAAC,CAAC,OAAF,KAAa,IAAI,CAAC,OAAlB,KAA8B,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAX,CAAX,CAAjC;YACE,CAAC,CAAC,cAAF;YACA,IAAG,QAAQ,CAAC,QAAT,EAAH;qBACE,QAAQ,CAAC,QAAT,CAAkB,IAAlB,EADF;aAAA,MAAA;2DAGkB,CAAE,QAAlB,CAA2B,IAA3B,WAHF;aAFF;;SADF;eAOA,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,IAAC,CAAA,SAApB,EAA+B,SAAC,CAAD;EAC7B,YAAA,QAAA,EAAA,GAAA,EAAA;UAAA,IAAG,CAAC,IAAI,CAAC,QAAN,EAAgB,IAAI,CAAC,MAArB,CAA4B,CAAC,QAA7B,CAAsC,CAAC,CAAC,OAAxC,CAAA,KACC,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAX,CAAX,CADJ;YAEE,CAAC,CAAC,cAAF;YACA,IAAG,QAAQ,CAAC,QAAT,EAAH;qBACE,QAAQ,CAAC,IAAT,GADF;aAAA,MAAA;2DAGkB,CAAE,IAAlB,YAHF;aAHF;WAAA,MAOK,IAAG,CAAC,IAAI,CAAC,SAAN,EAAiB,IAAI,CAAC,QAAtB,CAA+B,CAAC,QAAhC,CAAyC,CAAC,CAAC,OAA3C,CAAA,KACJ,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAX,CAAX,CADC;YAEH,CAAC,CAAC,cAAF;YACA,IAAG,QAAQ,CAAC,QAAT,EAAH;qBACE,QAAQ,CAAC,IAAT,GADF;aAAA,MAAA;6DAGkB,CAAE,IAAlB,YAHF;aAHG;;SARP;;;;;IAzJF,MAAC,CAAA,MAAD,GAAS;;IACT,MAAC,CAAA,SAAD,GAAY;;IAEZ,MAAC,CAAA,cAAD,GAAiB;;IACjB,MAAC,CAAA,eAAD,GAAkB;;IAElB,MAAC,CAAA,iBAAD,GAAoB;;IACpB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,qBAAD,GAAwB;;IACxB,MAAC,CAAA,kBAAD,GAAqB,CAAA,CAAA,EAAI,MAAC,CAAA,iBAAL,CAAuB,CAAvB;;IACrB,MAAC,CAAA,uBAAD,GAA0B,CAAA,CAAA,EAAI,MAAC,CAAA,sBAAL,CAA4B,CAA5B;;IAC1B,MAAC,CAAA,iBAAD,GAAoB;;IACpB,MAAC,CAAA,mBAAD,GAAsB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,QAAX;;IACtB,MAAC,CAAA,qBAAD,GAAwB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,UAAX;;IAExB,MAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,UAAA,EAAY,IADZ;MAEA,OAAA,EAAS,IAFT;MAGA,eAAA,EAAiB,CACf,MAAC,CAAA,iBADc,EAEf,MAAC,CAAA,sBAFc,EAGf,MAAC,CAAA,qBAHc;;;IAMnB,MAAC,CAAA,SAAD,GAAY;;;;eA3Bd;;ECCA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;MAuBH,UAAY;EACV,UAAA,eAAA,EAAA,aAAA,EAAA;QAAA,QAAA,GAAW,IAAI,CAAC,SAAL,CAAe,IAAC,CAAA,WAAW,CAAC,eAA5B,EAA6C,IAAC,CAAA,WAA9C;QACX,eAAA,GAAkB,IAAI,CAAC,SAAL,CAClB,IAAC,CAAA,WAAW,CAAC,uBADK,EACoB,IAAC,CAAA,WADrB;QAElB,aAAA,GAAgB,IAAI,CAAC,MAAL,CAChB,IAAC,CAAA,WAAW,CAAC,sBADG,EACqB,IAAC,CAAA,WADtB;eAEhB,CAAC,QAAD,EAAW,aAAX,EAA0B,eAA1B;;;MAEF,YAAc;QACZ,CAAA,CACG,UAAD,IAAC,CAAA,QADH,EAEG,eAAD,IAAC,CAAA,aAFH,EAGG,iBAAD,IAAC,CAAA,eAHH,CAAA,GAII,IAAC,CAAA,UAAD,EAJJ;QAKA,IAAC,CAAA,wBAAD;eACA,IAAC,CAAA,oBAAD;;;MAEF,YAAc;eACZ,IAAC,CAAA,YAAD;;;MAEF,oBAAsB;EACpB,UAAA;QAAA,MAAA,GAAS;QACT,IAAC,CAAA,QAAQ,CAAC,OAAV,CAAkB,CAAC,MAAD,EAAS,KAAT;EAChB,YAAA;UAAA,IAAG,MAAM,CAAC,OAAV;YACE,IAAG,MAAM,CAAC,YAAP,CAAoB,IAAC,CAAA,WAAW,CAAC,gBAAjC,CAAH;cACE,KAAA,GAAQ,MAAM,CAAC,YAAP,CAAoB,IAAC,CAAA,WAAW,CAAC,gBAAjC,EADV;aAAA,MAAA;cAGE,KAAA,GAAQ,IAAC,CAAA,eAAgB,CAAA,KAAA,CAAM,CAAC,UAHlC;aADF;;UAKA,IAAqB,KAAA,IAAU,CAAI,MAAM,CAAC,QAAP,CAAgB,KAAhB,CAAnC;mBAAA,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAA;;SANF;QAOA,IAAG,IAAC,CAAA,aAAJ;iBACE,IAAC,CAAA,aAAa,CAAC,KAAf,GAAuB,MAAM,CAAC,IAAP,CAAY,IAAC,CAAA,WAAW,CAAC,cAAzB,EADzB;;;;MAGF,wBAA0B;QACxB,IAA+C,IAAC,CAAA,aAAhD;iBAAA,IAAC,CAAA,aAAa,CAAC,YAAf,CAA4B,UAA5B,EAAwC,EAAxC,EAAA;;;;MAEM,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;QACP,IAAI,CAAC,UAAU,CAAC,IAAhB,CAAqB,IAAC,CAAA,kCAAtB;QACA,IAAI,CAAC,EAAL,CAAQ,QAAR,EAAkB,CAAA,EAAG,IAAC,CAAA,SAAJ,EAAA,EAAiB,IAAC,CAAA,eAAlB,CAAA,CAAlB,EAAuD,SAAC,CAAD;iBACrD,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX,CAA6C,CAAC,oBAA9C;SADF;QAEA,IAAI,CAAC,EAAL,CAAQ,IAAI,CAAC,WAAb,EAA0B,IAAC,CAAA,SAA3B,EAAsC,SAAC,CAAD;iBACpC,UAAA,CAAW;mBAAG,IAAI,CAAC,KAAL,CAAW,IAAX,CAAgB,CAAC,oBAAjB;WAAd;SADF,EAJA;;QAOA,IAAG,SAAS,CAAC,IAAV,CAAe,SAAS,CAAC,SAAzB,CAAA,IAAuC,OAAO,CAAC,IAAR,CAAa,SAAS,CAAC,SAAvB,CAA1C;iBACE,IAAI,CAAC,EAAL,CAAQ,SAAR,EAAmB,IAAC,CAAA,kCAApB,EAAwD,SAAC,CAAD;YACtD,IAAI,CAAC,IAAL;mBACA,IAAI,CAAC,SAAS,CAAC,GAAf,CAAmB,IAAI,CAAC,KAAK,CAAC,UAA9B;WAFF,EADF;;;;;;IAhEF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,SAAD,GAAY;;IACZ,MAAC,CAAA,cAAD,GAAiB;;IACjB,MAAC,CAAA,gBAAD,GAAmB;;IACnB,MAAC,CAAA,eAAD,GAAkB;;IAElB,MAAC,CAAA,uBAAD,GAA0B;;IAE1B,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,kCAAD,GAAqC;;IAErC,MAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,UAAA,EAAY,IADZ;MAEA,OAAA,EAAS,IAFT;MAGA,eAAA,EAAiB,CACf,SADe,EAEf,MAAC,CAAA,gBAFc;;;;;eAlBrB;;ECFA,IAAA;;;aAAK,cAAc,IAAI,CAAC,UAAnB;;;MAiBH,MAAQ,CAAC,KAAD;EACN,UAAA;QAAA,IAAG,IAAC,CAAA,OAAO,CAAC,MAAZ;UACE,YAAA,GAAe,IAAC,CAAA;UAChB,IAAG,mBACC,KAAA,KAAW,IAAC,CAAA,YADb,KAEC,CAAA,IAAK,KAAL,IAAK,KAAL,IAAc,IAAC,CAAA,OAAO,CAAC,MAAT,GAAkB,CAAhC,CAFJ;YAGE,IAAC,CAAA,YAAD,GAAgB;mBAChB,IAAC,CAAA,OAAD,CAAS,YAAT,EAJF;WAFF;;OAhBF;;;MAyBA,UAAY;EACV,UAAA,YAAA,EAAA,OAAA,EAAA;QAAA,OAAA,GAAU,IAAI,CAAC,SAAL,CACV,IAAC,CAAA,WAAW,CAAC,cADH,EACmB,IAAC,CAAA,WADpB,EACiC,IAAC,CAAA,WAAW,CAAC,SAD9C;QAEV,YAAA,GAAe,IAAI,CAAC,SAAL,CACf,IAAC,CAAA,WAAW,CAAC,mBADE,EACmB,IAAC,CAAA,WADpB,EACiC,IAAC,CAAA,WAAW,CAAC,SAD9C;QAEf,YAAA,GAAe,IAAC,CAAA,WAAW,CAAC;QAC5B,YAAY,CAAC,IAAb,CAAkB,SAAC,UAAD,EAAa,KAAb;UAChB,IAAG,UAAU,CAAC,OAAd;YACE,YAAA,GAAe;mBACf,KAFF;;SADF;eAIA,CAAC,OAAD,EAAU,YAAV,EAAwB,YAAxB;;;MAEF,YAAc;QACZ,CAAA,CACG,SAAD,IAAC,CAAA,OADH,EAEG,cAAD,IAAC,CAAA,YAFH,EAGG,cAAD,IAAC,CAAA,YAHH,CAAA,GAII,IAAC,CAAA,UAAD,EAJJ;eAKA,IAAC,CAAA,OAAD;;;MAEF,YAAc,CAAC,SAAD;eACZ,IAAC,CAAA,YAAD;;;MAEF,OAAS,CAAC,YAAD;QACP,IAAC,CAAA,OAAO,CAAC,OAAT,CAAiB,CAAC,KAAD,EAAQ,KAAR;UACf,IAAG,KAAA,KAAS,IAAC,CAAA,YAAb;YACE,KAAK,CAAC,SAAS,CAAC,GAAhB,CAAoB,IAAC,CAAA,WAAW,CAAC,sBAAjC;mBACA,IAAI,CAAC,QAAL,CAAc,KAAd,EAAqB,IAAC,CAAA,WAAW,CAAC,mBAAlC,EAAuD,KAAvD,EAFF;WAAA,MAAA;YAIE,KAAK,CAAC,SAAS,CAAC,MAAhB,CAAuB,IAAC,CAAA,WAAW,CAAC,sBAApC;YACA,IAAG,KAAA,KAAS,YAAZ;qBACE,IAAI,CAAC,QAAL,CAAc,KAAd,EAAqB,IAAC,CAAA,WAAW,CAAC,qBAAlC,EAAyD,KAAzD,EADF;aALF;;SADF;eAQA,IAAC,CAAA,mBAAD;;;MAEF,mBAAqB;eACnB,IAAC,CAAA,YAAY,CAAC,OAAd,CAAsB,CAAC,UAAD,EAAa,KAAb;UACpB,IAAG,KAAA,KAAS,IAAC,CAAA,YAAb;mBACE,UAAU,CAAC,YAAX,CAAwB,SAAxB,EAAmC,EAAnC,EADF;WAAA,MAAA;mBAGE,UAAU,CAAC,eAAX,CAA2B,SAA3B,EAHF;;SADF;OA5DF;;;MAmEQ,OAAP,KAAO;EACN,UAAA;QAAA,IAAA,GAAO;eACP,IAAI,CAAC,EAAL,CAAQ,QAAR,EAAkB,IAAC,CAAA,mBAAnB,EAAwC,SAAC,CAAD;EACtC,YAAA;UAAA,IAAG,IAAI,CAAC,OAAR;YACE,QAAA,GAAW,IAAI,CAAC,KAAL,CAAW,IAAI,CAAC,OAAL,CAAa,IAAI,CAAC,SAAlB,EAA6B,IAA7B,CAAX;mBACX,QAAQ,CAAC,MAAT,CAAgB,QAAQ,CAAC,YAAY,CAAC,OAAtB,CAA8B,IAA9B,CAAhB,EAFF;;SADF;;;;;IArEF,MAAC,CAAA,MAAD,GAAS;;IAET,MAAC,CAAA,SAAD,GAAY;;IACZ,MAAC,CAAA,cAAD,GAAiB;;IACjB,MAAC,CAAA,mBAAD,GAAsB;;IACtB,MAAC,CAAA,sBAAD,GAAyB;;IACzB,MAAC,CAAA,aAAD,GAAgB;;IAChB,MAAC,CAAA,mBAAD,GAAsB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,QAAX;;IACtB,MAAC,CAAA,qBAAD,GAAwB,CAAA,EAAG,MAAC,CAAA,MAAJ,CAAW,UAAX;;IAExB,MAAC,CAAA,eAAD,GACE;MAAA,SAAA,EAAW,IAAX;MACA,OAAA,EAAS;;;;;eAdb;;;;"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.1.5 | https://luda.dev
2
+ * Luda 0.1.6 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviours/enter-click.coffee","../../src/coffee/behaviours/focus.coffee","../../src/coffee/behaviours/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviours/readonly.coffee","../../src/coffee/behaviours/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/collections/carousel.coffee","../../src/coffee/collections/dropdown.coffee","../../src/coffee/collections/form-dropdown.coffee","../../src/coffee/collections/tab.coffee"],"names":["ENV","document","window","global","Error","luda","installer","installed","name","property","includes","hasOwnProperty","_SCOPE","_install","Array","namespace","installedInstaller","installedName","ref","console","warn","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_TAB","KEY_ESC","KEY_ENTER","$child","selector","$ancestor","querySelector","$children","$descendant","descendants","this","from","querySelectorAll","$unnested","ancestorSelector","filter","$parent","parentNode","matches","$parents","_ancestors","push","$after","$node","$target","lastChild","appendChild","insertBefore","nextSibling","$prepend","firstChild","reflow","$element","offsetHeight","splice","_SWIPE_DISTANCE","_EVENT_TYPE_PREFIX","_SWIPE_LEFT","_SWIPE_RIGHT","_SWIPE_UP","_SWIPE_DOWN","_SWIPE_LEFT_OR_UP","_SWIPE_RIGHT_OR_DOWN","_DOC_READY","_FORM_RESET","eventPath","event","path","composedPath","target","concat","on","handler","call","_onDocReady","_onReset","_onSwipe","_on","onOpposite","_self","addEventListener","e","trigger","every","dispatch","type","detail","options","evt","bubbles","cancelable","composed","Event","dispatchEvent","readyState","forEach","bind","$touchStartElement","touchStartE","touchStartX","touchStartY","watch","touches","length","screenX","screenY","some","eventX","eventXOrY","eventY","touchDistanceX","touchDistanceY","Math","abs","except","element","arr","indexOf","Singleton","[object Object]","_actived","_SELECTOR_INVALID_ERROR","_SELECTORS","_mergeSelectors","_selector","join","exposed","_init","self","keyCode","preventDefault","setTimeout","click","_Class","$exception","_$focus","$focus","classList","remove","_CSS_CLASS","body","documentElement","add","_removeFocusClassExcept","_addFocusClassExceptHtmlAndBody","_PARENT_FOCUS_CHILDREN_SELECTOR","_PARENT_FOCUS_SELECTOR","blur","focus","HTMLElement","prototype","apply","arguments","activeElement","_setElementPrototype","_changeFocusStateOnKeyEvent","_changeFocusStateOnMouseDownEvent","_TOUCHSTART_FOCUS_SELECTOR","getElementsByClassName","$radio","$inputs","$input","tabIndex","$next","$prev","$sameNameRadios","radioIndex","_querySameName$radios","nodeName","toUpperCase","shiftKey","_query$prev$next","Component","descendant","_children","child","_hasDescendant","_observer","MutationObserver","_onMutations","observe","_$component","constructor","_observerConfig","disconnect","$component","$family","componentIsElementInstance","instance","parent","Element","_$COMPONENT_INVALID_ERROR","_query$family","query","_$parent","_instances","_createInstance","_parent","_$children","create","instance$component","attribute","results","value","_disconnect","_destroy","destroy","inited","_SELECTOR","_constructor","_observe","classObj","mutations","mutation","$addedNodes","$removedNodes","removedNodes","addedNodes","_Observed","Observed","$destroies","$destroy","$creates","$create","_COMPONENT_NO_SELECTOR_ERROR","childList","subtree","_isReadonly","_originalTabIndex","readonly","getAttribute","_READONLY_ATTRIBUTE","_READONLY_FALSE_VALUE","_getConfig","_setTabIndex","attributes","attributeFilter","name$target","_query$targets","_ACTIVE_CSS_CLASS","_ACTIVED_EVENT_TYPE","_DEACTIVED_EVENT_TYPE","contains","deactive","active","_TOGGLE_TARGET_ATTRIBUTE","toggleChecked","$path","$toggle","toggleName","hasAttribute","_TOGGLE_ATTRIBUTE","_TOGGLE_FOR_ATTRIBUTE","toggle","_NONE_TOGGLE_ATTRIBUTE","_$file","_$simulator","_FILE_SELECTOR","_SIMULATOR_SELECTOR","createElement","placeholder","_PLACEHOLDER_ATTRIBUTE","values","files","map","file","_VALUE_SPLITOR","_VALUE_ATTRIBUTE","_insertSimulator","_setPlaceholderValue","_setSimulatorValue","indexOrIndexArray","selectedIndexes","_$select","multiple","_$multipleSelectPlaceholder","index","$option","selected","_markSelectedOption","selectedIndex","_setSingleSelectSimulatorValue","_$defaultSelectedOptions","_$singleSelectSimulator","_defaultSelectedOptionMarked","_SELECT_SELECTOR","_SINGLE_SELECT_SIMULATOR_SELECTOR","_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS","_DEFAULT_SELECTED_OPTION_ATTRIBUTE","_INITED_ATTRIBUTE","_initMultipleSelect","_initSingleSelect","setAttribute","removeAttribute","hasSelected","$selectedOption","innerText","_insertSingleSelectSimulator","_setSingleSelectedDefaultSelectedOption","_setSingleSelectPlaceholderValue","_markDefaultSelectedOption","className","disabled","_insertMultipleSelectBlankOption","_setMultipleSelectPlaceholderValue","_reset","action","activedIndex","_$items","_transiting","_activeIndex","_wrap","_slideNext","_playTimeStamp","Date","now","_pausedRemainTime","_interval","_slidePrev","_intervaling","clearInterval","execute","pause","next","setInterval","_$indicators","_$nextControl","_$prevControl","_ITEMS_SELECTOR","_INDICATORS_SELECTOR","_PREV_CONTROL_SELECTOR","_NEXT_CONTROL_SELECTOR","_ITEM_ACTIVE_CSS_CLASS","_ACTIVE_INDEX","_INTERVAL_ATTRIBUTE","_FALSE","parseInt","_INTERVAL","_WRAP_ATTRIBUTE","_WRAP","_layout","play","_setIndicatorsState","_setDirectionControlState","$item","style","transition","_ITEM_NEXT_CSS_CLASS","_ITEM_PREV_CSS_CLASS","$activedItem","_ACTIVE_EVENT_TYPE","_DEACTIVE_EVENT_TYPE","$indicator","ref1","ref2","ref3","startE","prev","_$focused","focusIndex","_$menu","_$noneSwitches","_$switches","_isStandalone","_MENU_SELECTOR","_SWITCHES_SELECTOR","_NONE_SWITCHES_SELECTOR","_STANDALONE_ATTRIBUTE","exceptions","instances$dropdowns","instance$dropdown","exception","instanceHasntExceptionChild","instanceIsntInExceptions","deactiveExcept","_standaloneInstances","_deactiveChildrenExcept","_$defaultValues","_$valueHolder","_$values","_VALUE_SELECTOR","_DEFAULT_VALUE_SELECTOR","_VALUE_HOLDER_SELECTOR","_setValueHolderAttribute","_setValueHolderValue","$value","checked","enterClick","_add","_ENTER_CLICK_VALUE_HOLDER_SELECTOR","test","navigator","userAgent","_$panes","_active","_PANE_SELECTOR","_INDICATOR_SELECTOR","$pane","_PANE_ACTIVE_CSS_CLASS"],"mappings":"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","sourcesContent":["ENV = (->\r\n if typeof document isnt 'undefined'\r\n return window if typeof window isnt 'undefined'\r\n return global if typeof global isnt 'undefined'\r\n throw new Error 'Unsupported runtime environment.'\r\n)()\r\n\r\n\r\n\r\nunless typeof ENV.luda is 'function'\r\n ENV.luda = (installer) ->\r\n throw new Error 'Installer cannot be detected.' unless installer\r\n unless ['object', 'function'].includes typeof installer\r\n throw new Error 'Installer must be object, array or function.'\r\n if installer.hasOwnProperty '_SCOPE'\r\n unless typeof installer._SCOPE is 'string'\r\n throw new Error '_SCOPE must be string'\r\n return ENV.luda._install installer._SCOPE, installer\r\n if installer instanceof Array or typeof installer is 'function'\r\n throw new Error 'Unscoped installer must be object.'\r\n installed = {}\r\n for name, property of installer\r\n installed[name] = ENV.luda._install name, property\r\n installed\r\n\r\n ENV.luda._install = (namespace, installer) ->\r\n if ENV.luda[namespace]\r\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\r\n return ENV.luda[namespace]\r\n for installedName, installedInstaller of ENV.luda\r\n if installer is installedInstaller\r\n console.warn \"Installer is installed with name #{installedName},\r\n skip installation.\"\r\n return ENV.luda[installedName]\r\n if installer._install\r\n if typeof installer._install is 'function'\r\n return ENV.luda[namespace] = installer._install()\r\n return ENV.luda[namespace] = installer._install\r\n ENV.luda[namespace] = installer","import './install.coffee'\r\n\r\n\r\n\r\nluda\r\n\r\n KEY_LEFT: 37\r\n KEY_UP: 38\r\n KEY_RIGHT: 39\r\n KEY_DOWN: 40\r\n KEY_TAB: 9\r\n KEY_ESC: 27\r\n KEY_ENTER: 13","import './install.coffee'\r\n\r\n\r\n\r\nluda\r\n \r\n $child: (selector, $ancestor) ->\r\n $ancestor = document unless $ancestor\r\n $ancestor.querySelector selector\r\n\r\n $children: (selector, $ancestor) ->\r\n $ancestor = document unless $ancestor\r\n $descendant = @$child selector, $ancestor\r\n if $descendant\r\n descendants = Array.from($ancestor.querySelectorAll selector)\r\n else\r\n descendants = []\r\n\r\n $unnested: (selector, $ancestor, ancestorSelector) ->\r\n descendants = @$children selector, $ancestor\r\n descendants.filter ($descendant) =>\r\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\r\n\r\n $parent: (selector, $descendant) ->\r\n $ancestor = $descendant.parentNode\r\n if $ancestor\r\n if $ancestor.matches and $ancestor.matches selector\r\n $ancestor\r\n else\r\n @$parent selector, $ancestor\r\n\r\n $parents: (selector, $descendant, _ancestors) ->\r\n $ancestor = @$parent selector, $descendant\r\n _ancestors = [] unless _ancestors\r\n if $ancestor\r\n _ancestors.push($ancestor)\r\n @$parents selector, $ancestor, _ancestors\r\n else\r\n _ancestors\r\n\r\n $after: ($node, $target) ->\r\n $parent = $target.parentNode\r\n if $parent.lastChild is $target\r\n $parent.appendChild $node\r\n else\r\n $parent.insertBefore $node, $target.nextSibling\r\n\r\n $prepend: ($node, $target) ->\r\n if $target.firstChild\r\n $target.insertBefore $node, $target.firstChild\r\n else\r\n $target.appendChild $node\r\n\r\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\r\nimport './dom.coffee'\r\n\r\n\r\n\r\nluda\r\n \r\n _SWIPE_DISTANCE: 10\r\n _EVENT_TYPE_PREFIX: 'luda'\r\n _SWIPE_LEFT: 'swipeleft'\r\n _SWIPE_RIGHT: 'swiperight'\r\n _SWIPE_UP: 'swipeup'\r\n _SWIPE_DOWN: 'swipedown'\r\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\r\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\r\n _DOC_READY: 'docready'\r\n _FORM_RESET: 'reset'\r\n\r\n eventPath: (event) ->\r\n if event.composedPath\r\n path = event.composedPath()\r\n else if event.path\r\n path = event.path\r\n else\r\n path = [event.target].concat(luda.$parents '*', event.target)\r\n\r\n on: (event, selector..., handler) ->\r\n switch event\r\n when @_DOC_READY then @_onDocReady handler\r\n when @_FORM_RESET then @_onReset selector[0], handler\r\n when @_SWIPE_LEFT, \\\r\n @_SWIPE_RIGHT, \\\r\n @_SWIPE_UP, \\\r\n @_SWIPE_DOWN, \\\r\n @_SWIPE_LEFT_OR_UP, \\\r\n @_SWIPE_RIGHT_OR_DOWN\r\n then @_onSwipe event, selector[0], handler\r\n else @_on event, selector[0], handler\r\n\r\n onOpposite: (event, selector, handler) ->\r\n _self = this\r\n document.addEventListener event, (e) ->\r\n trigger = _self.eventPath(e).every ($element) ->\r\n not $element.matches or not $element.matches selector\r\n handler e if trigger\r\n\r\n dispatch: ($target, type, detail, options = {}) ->\r\n options.bubbles = true unless typeof options.bubbles is 'boolean'\r\n options.cancelable = true unless typeof options.cancelable is 'boolean'\r\n options.composed = true unless typeof options.composed is 'boolean'\r\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\r\n evt.detail = detail\r\n $target.dispatchEvent evt\r\n evt\r\n \r\n _onDocReady: (handler) ->\r\n if document.readyState is 'loading'\r\n document.addEventListener 'DOMContentLoaded', handler\r\n else\r\n handler()\r\n\r\n _onReset: (selector, handler) ->\r\n document.addEventListener 'reset', (e) ->\r\n if selector?\r\n luda.$children(selector, e.target).forEach ($element) ->\r\n handler.bind($element)(e)\r\n else\r\n handler e\r\n \r\n _onSwipe: (event, selector, handler) ->\r\n _self = this\r\n watch = false\r\n $touchStartElement = document\r\n touchStartE = null\r\n touchStartX = 0\r\n touchStartY = 0\r\n document.addEventListener 'touchstart', (e) ->\r\n if e.touches.length is 1\r\n touchStartX = e.touches[0].screenX\r\n touchStartY = e.touches[0].screenY\r\n if selector?\r\n _self.eventPath(e).some ($element) ->\r\n if $element.matches and $element.matches selector\r\n $touchStartElement = $element\r\n touchStartE = e\r\n watch = true\r\n return true\r\n else\r\n watch = true\r\n\r\n document.addEventListener 'touchmove', (e) ->\r\n if watch and e.touches.length is 1\r\n touchDistanceX = e.touches[0].screenX - touchStartX\r\n touchDistanceY = e.touches[0].screenY - touchStartY\r\n eventX = undefined\r\n eventY = undefined\r\n eventXOrY = undefined\r\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\r\n if touchDistanceX > 0\r\n eventX = _self._SWIPE_RIGHT\r\n else\r\n eventX = _self._SWIPE_LEFT\r\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\r\n if touchDistanceY > 0\r\n eventY = _self._SWIPE_DOWN\r\n else\r\n eventY = _self._SWIPE_UP\r\n if eventX is _self._SWIPE_LEFT \\\r\n or eventY is _self._SWIPE_UP\r\n eventXOrY = _self._SWIPE_LEFT_OR_UP\r\n if eventX is _self._SWIPE_RIGHT \\\r\n or eventY is _self._SWIPE_DOWN\r\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\r\n if (eventX? and eventX is event) \\\r\n or (eventY? and eventY is event) \\\r\n or eventXOrY is event\r\n if selector?\r\n _self.eventPath(e).some ($element) ->\r\n if $element is $touchStartElement\r\n watch = false\r\n handler.bind($element)(touchStartE, e)\r\n return true\r\n else\r\n watch = false\r\n handler touchStartE, e\r\n\r\n _on: (event, selector, handler) ->\r\n if selector is window\r\n window.addEventListener event, (e) -> handler e\r\n else\r\n _self = this\r\n document.addEventListener event, (e) ->\r\n if selector?\r\n _self.eventPath(e).some ($element) ->\r\n if $element.matches and $element.matches selector\r\n handler.bind($element)(e)\r\n return true\r\n else\r\n handler e","import './install.coffee'\r\n\r\n\r\n\r\nluda\r\n \r\n except: (element, arr) ->\r\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\r\nimport './utilities.coffee'\r\n\r\n\r\n \r\nluda class Singleton\r\n\r\n @_SCOPE: 'Singleton'\r\n \r\n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\r\n @_SELECTORS: []\r\n\r\n @_selector: ''\r\n @_actived: true\r\n\r\n @active: ->\r\n @_actived = true\r\n\r\n @deactive: ->\r\n @_actived = false\r\n\r\n @_add: (selector) ->\r\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\r\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\r\n @_mergeSelectors()\r\n\r\n @_remove: (selector) ->\r\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\r\n luda.except selector, @_SELECTORS\r\n @_mergeSelectors()\r\n\r\n @_mergeSelectors: ->\r\n @_selector = @_SELECTORS.join ','\r\n\r\n @_install: ->\r\n return this if this is Singleton\r\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\r\n @_mergeSelectors()\r\n exposed = @_init() if typeof @_init is 'function'\r\n if exposed then exposed else this","import '../install.coffee'\r\nimport '../constants.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'enterClick'\r\n\r\n @_SELECTORS: [\r\n 'input[type=checkbox]'\r\n 'input[type=radio]'\r\n '[tabindex]'\r\n ]\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'keydown', (e) ->\r\n if self._actived \\\r\n and e.keyCode is luda.KEY_ENTER \\\r\n and e.target.matches self._selector\r\n e.preventDefault()\r\n setTimeout(-> e.target.click())","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'focus'\r\n\r\n @_CSS_CLASS: 'focus'\r\n # mouse focusable selectors\r\n @_SELECTORS: ['select'\r\n 'textarea'\r\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\r\n input:not([type=button]):not([type=submit]):not([type=reset])'\r\n ]\r\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\r\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\r\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\r\n\r\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\r\n\r\n @_removeFocusClassExcept: ($exception) ->\r\n Array.from(@_$focus).forEach ($focus) =>\r\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\r\n\r\n @_addFocusClassExceptHtmlAndBody: ($target) ->\r\n if $target isnt document.body and $target isnt document.documentElement\r\n $target.classList.add @_CSS_CLASS\r\n\r\n @_changeFocusStateOnKeyEvent: (e) ->\r\n if @_actived\r\n @_removeFocusClassExcept e.target\r\n @_addFocusClassExceptHtmlAndBody e.target\r\n\r\n @_changeFocusStateOnMouseDownEvent: (e) ->\r\n if @_actived\r\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\r\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\r\n else\r\n target = e.target\r\n if target.matches @_selector\r\n @_removeFocusClassExcept target\r\n @_addFocusClassExceptHtmlAndBody target\r\n else\r\n @_removeFocusClassExcept()\r\n\r\n @_setElementPrototype: ->\r\n focus = HTMLElement.prototype.focus\r\n blur = HTMLElement.prototype.blur\r\n self = this\r\n HTMLElement.prototype.focus = ->\r\n focus.apply this, arguments\r\n if self._actived and document.activeElement is this\r\n self._removeFocusClassExcept this\r\n self._addFocusClassExceptHtmlAndBody this\r\n HTMLElement.prototype.blur = ->\r\n blur.apply this, arguments\r\n this.classList.remove self._CSS_CLASS if self._actived\r\n\r\n @_init: ->\r\n self = this\r\n @_setElementPrototype()\r\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\r\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\r\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\r\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\r\n @_changeFocusStateOnMouseDownEvent.bind this\r\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\r\nimport '../constants.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'radioTab'\r\n\r\n @_SELECTORS: ['input[type=radio]:not([disabled])']\r\n\r\n @_querySameName$radios: ($radio) ->\r\n if $radio.name\r\n selector = \"#{@_selector}[name=#{$radio.name}]\"\r\n else\r\n selector = @_selector\r\n $inputs = luda.$children selector\r\n $inputs.filter ($input) -> $input.tabIndex >= 0\r\n\r\n @_query$prev$next: ($radio) ->\r\n $sameNameRadios = @_querySameName$radios $radio\r\n radioIndex = $sameNameRadios.indexOf $radio\r\n $prev = $sameNameRadios[radioIndex - 1]\r\n $next = $sameNameRadios[radioIndex + 1]\r\n {$prev, $next}\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'keydown', (e) ->\r\n if self._actived \\\r\n and e.keyCode is luda.KEY_TAB \\\r\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\r\n and e.target.type is 'radio'\r\n if e.shiftKey\r\n if $prev = self._query$prev$next(e.target).$prev\r\n e.preventDefault()\r\n $prev.focus()\r\n else\r\n if $next = self._query$prev$next(e.target).$next\r\n e.preventDefault()\r\n $next.focus()","import './install.coffee'\r\nimport './utilities.coffee'\r\nimport './dom.coffee'\r\nimport './event.coffee'\r\n\r\n\r\n\r\n\r\nluda class Component\r\n\r\n @_SCOPE: 'Component'\r\n \r\n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\r\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\r\n @_SELECTOR: ''\r\n @_instances: []\r\n\r\n @_Observed: []\r\n @_observer: null\r\n @_observerConfig:\r\n childList: true\r\n subtree: true\r\n\r\n _hasDescendant: (descendant) ->\r\n if @_children.length and descendant\r\n return true if @_children.includes descendant\r\n return @_children.some (child) -> child._hasDescendant descendant\r\n else\r\n return false\r\n\r\n _observe: ->\r\n @_observer = new MutationObserver @_onMutations.bind this\r\n @_observer.observe @_$component, @constructor._observerConfig\r\n\r\n _disconnect: ->\r\n @_observer.disconnect()\r\n @_observer = null\r\n\r\n @create: ($component) ->\r\n componentIsElementInstance = $component instanceof Element\r\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\r\n $family = @_query$family $component\r\n instance = @query $component\r\n if $family._$parent\r\n if parent = @query $family._$parent\r\n @_instances.push instance = @_createInstance $component unless instance\r\n if instance._parent isnt parent\r\n parent._children.push(instance) and (instance._parent = parent)\r\n $family._$children.forEach ($child) => @create $child\r\n return instance\r\n else\r\n @create $family._$parent\r\n return @query $component\r\n else\r\n @_instances.push instance = @_createInstance $component unless instance\r\n $family._$children.forEach ($child) => @create $child\r\n return instance\r\n\r\n @destroy: (instance$component) ->\r\n instance = @query instance$component\r\n if instance\r\n instance._disconnect() if instance._observer\r\n instance._destroy() if instance._destroy\r\n @destroy instance._children[0] while instance._children.length\r\n if instance._parent\r\n luda.except instance, instance._parent._children\r\n luda.except instance, @_instances\r\n for attribute, value of instance\r\n instance[attribute] = null\r\n \r\n @query: (instance$component) ->\r\n instance = null\r\n if instance$component instanceof this \\\r\n and @_instances.includes instance$component\r\n instance = instance$component\r\n else if instance$component instanceof Element\r\n @_instances.some (inited) ->\r\n if inited._$component is instance$component\r\n instance = inited\r\n return true\r\n return instance\r\n\r\n @_query$family: ($component) ->\r\n _$parent = null\r\n _$children = []\r\n if @_SELECTOR\r\n _$parent = luda.$parent @_SELECTOR, $component\r\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\r\n {_$parent, _$children}\r\n\r\n @_createInstance: ($component) ->\r\n instance = new this()\r\n instance._$component = $component\r\n instance._parent = null\r\n instance._children = []\r\n instance._observer = null\r\n instance._constructor() if instance._constructor\r\n unless instance._observer and instance._onMutations and @_observerConfig\r\n instance._observe()\r\n instance\r\n\r\n @_observe: (classObj) ->\r\n unless Component._observer\r\n Component._observer = new MutationObserver (mutations) ->\r\n mutations.forEach (mutation) ->\r\n $removedNodes = Array.from mutation.removedNodes\r\n $addedNodes = Array.from mutation.addedNodes\r\n $removedNodes.forEach ($node) ->\r\n if $node instanceof Element\r\n Component._Observed.forEach (Observed) ->\r\n if $node.matches Observed._SELECTOR\r\n Observed.destroy $node\r\n else\r\n $destroies = luda.$children Observed._SELECTOR, $node\r\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\r\n $addedNodes.forEach ($node) ->\r\n if $node instanceof Element\r\n Component._Observed.forEach (Observed) ->\r\n if $node.matches Observed._SELECTOR\r\n Observed.create $node\r\n else\r\n $creates = luda.$children Observed._SELECTOR, $node\r\n $creates.forEach ($create) -> Observed.create $create\r\n Component._observer.observe document.documentElement, \\\r\n Component._observerConfig\r\n unless Component._Observed.includes classObj\r\n Component._Observed.push classObj\r\n\r\n @_install: ->\r\n self = this\r\n return this if this is Component\r\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\r\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\r\n @_instances = [] unless @hasOwnProperty '_instances'\r\n exposed = @_init() if typeof @_init is 'function'\r\n luda.on luda._DOC_READY, ->\r\n luda.$children(self._SELECTOR).forEach ($component) ->\r\n self.create $component\r\n Component._observe(self)\r\n if exposed then exposed else this","import '../install.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'readonly'\r\n @_READONLY_ATTRIBUTE: 'data-readonly'\r\n @_READONLY_FALSE_VALUE: 'false'\r\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\r\n\r\n @_observerConfig:\r\n attributes: true\r\n attributeFilter: [@_READONLY_ATTRIBUTE]\r\n\r\n _getConfig: ->\r\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\r\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\r\n _originalTabIndex = @_$component.tabIndex\r\n {_isReadonly, _originalTabIndex}\r\n \r\n _constructor: ->\r\n {\r\n @_isReadonly,\r\n @_originalTabIndex\r\n } = @_getConfig()\r\n @_setTabIndex()\r\n\r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _setTabIndex: ->\r\n if @_isReadonly\r\n @_$component.tabIndex = -1\r\n else\r\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../singleton.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Singleton\r\n\r\n @_SCOPE: 'toggle'\r\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\r\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\r\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\r\n @_NONE_TOGGLE_ATTRIBUTE: 'data-none-toggle'\r\n @_ACTIVE_CSS_CLASS: 'toggle-active'\r\n @_SELECTORS: [\r\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\r\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\r\n ]\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @active: (name$target) ->\r\n @_query$targets(name$target).forEach ($target) =>\r\n $target.classList.add @_ACTIVE_CSS_CLASS\r\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\r\n\r\n @deactive: (name$target) ->\r\n @_query$targets(name$target).forEach ($target) =>\r\n $target.classList.remove @_ACTIVE_CSS_CLASS\r\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\r\n\r\n @toggle: (name$target) ->\r\n @_query$targets(name$target).forEach ($target) =>\r\n if $target.classList.contains @_ACTIVE_CSS_CLASS\r\n @deactive($target)\r\n else\r\n @active($target)\r\n\r\n @_query$targets: (name$target) ->\r\n if name$target instanceof Element\r\n [name$target]\r\n else\r\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'click', @_selector, (e) ->\r\n toggleChecked = false\r\n luda.eventPath(e).some ($path) ->\r\n if $path instanceof Element\r\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\r\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\r\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\r\n self.toggle toggleName\r\n toggleChecked = true\r\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\r\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\r\n $toggle = $path\r\n else\r\n $toggle = luda.$parent \\\r\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\r\n if $toggle\r\n self.toggle $toggle\r\n toggleChecked = true\r\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\r\n toggleChecked = true","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'fmFile'\r\n\r\n @_VALUE_SPLITOR: ' '\r\n @_SELECTOR: '.fm-file'\r\n @_FILE_SELECTOR: 'input[type=file]'\r\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\r\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\r\n @_VALUE_ATTRIBUTE: 'value'\r\n\r\n @_observerConfig:\r\n childList: true\r\n subtree: true\r\n\r\n _getConfig: ->\r\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\r\n _$simulator = luda.$child \\\r\n @constructor._SIMULATOR_SELECTOR, @_$component\r\n {_$file, _$simulator}\r\n\r\n _constructor: ->\r\n {\r\n @_$file,\r\n @_$simulator\r\n } = @_getConfig()\r\n @_init()\r\n\r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _insertSimulator: ->\r\n @_$simulator = document.createElement 'input'\r\n @_$simulator.tabIndex = -1\r\n luda.$after @_$simulator, @_$file\r\n\r\n _setPlaceholderValue: ->\r\n @_$simulator.placeholder = \\\r\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n\r\n _setSimulatorValue: ->\r\n values = []\r\n Array.from(@_$file.files).map (file) -> values.push file.name\r\n if values.length\r\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\r\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\r\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\r\n\r\n _init: ->\r\n if @_$file\r\n @_insertSimulator() unless @_$simulator\r\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n @_setPlaceholderValue()\r\n @_setSimulatorValue()\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\r\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\r\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\r\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'fmSelect'\r\n\r\n @_SELECTOR: '.fm-select'\r\n @_SELECT_SELECTOR: 'select'\r\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\r\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\r\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\r\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\r\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: ['selected']\r\n\r\n select: (indexOrIndexArray) ->\r\n if @_$select.multiple\r\n if @_$multipleSelectPlaceholder\r\n selectedIndexes = indexOrIndexArray\r\n else\r\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\r\n Array.from(@_$select.options).forEach ($option, index) ->\r\n $option.selected = selectedIndexes.includes index\r\n @_markSelectedOption()\r\n else\r\n @_$select.selectedIndex = selectedIndex\r\n @_setSingleSelectSimulatorValue()\r\n @_markSelectedOption()\r\n\r\n _getConfig: ->\r\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\r\n _$singleSelectSimulator = luda.$child \\\r\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\r\n _$multipleSelectPlaceholder = luda.$child \\\r\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\r\n _$defaultSelectedOptions = luda.$children \\\r\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\r\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\r\n @constructor._INITED_ATTRIBUTE\r\n {\r\n _$select,\r\n _$singleSelectSimulator,\r\n _$multipleSelectPlaceholder,\r\n _$defaultSelectedOptions,\r\n _defaultSelectedOptionMarked\r\n }\r\n\r\n _constructor: ->\r\n {\r\n @_$select,\r\n @_$singleSelectSimulator,\r\n @_$multipleSelectPlaceholder,\r\n @_$defaultSelectedOptions,\r\n @_defaultSelectedOptionMarked\r\n } = @_getConfig()\r\n if @_$select\r\n if @_$select.multiple\r\n @_initMultipleSelect()\r\n else\r\n @_initSingleSelect()\r\n \r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _markSelectedOption: ->\r\n @_disconnect() if @_observer\r\n Array.from(@_$select.options).forEach ($option) ->\r\n if $option.selected\r\n $option.setAttribute 'selected', 'selected'\r\n else\r\n $option.removeAttribute 'selected'\r\n @_observe() unless @_observer\r\n\r\n _markDefaultSelectedOption: ->\r\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\r\n Array.from(@_$select.options).forEach ($option) =>\r\n if $option.selected\r\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\r\n\r\n _setSingleSelectedDefaultSelectedOption: ->\r\n hasSelected = Array.from(@_$select.options).some ($option) ->\r\n $option.getAttribute('selected') is 'selected'\r\n @_$select.selectedIndex = -1 unless hasSelected\r\n\r\n _insertSingleSelectSimulator: ->\r\n @_$singleSelectSimulator = document.createElement 'input'\r\n @_$singleSelectSimulator.tabIndex = -1\r\n luda.$after @_$singleSelectSimulator, @_$select\r\n\r\n _setSingleSelectPlaceholderValue: ->\r\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\r\n @constructor._PLACEHOLDER_ATTRIBUTE\r\n\r\n _setSingleSelectSimulatorValue: ->\r\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\r\n @_$singleSelectSimulator.value = $selectedOption.innerText\r\n else\r\n @_$singleSelectSimulator.value = ''\r\n\r\n _initSingleSelect: ->\r\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\r\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n @_setSingleSelectedDefaultSelectedOption()\r\n @_setSingleSelectPlaceholderValue()\r\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\r\n @_setSingleSelectSimulatorValue()\r\n @_markSelectedOption()\r\n\r\n _insertMultipleSelectBlankOption: ->\r\n @_$multipleSelectPlaceholder = document.createElement 'option'\r\n @_$multipleSelectPlaceholder.className = \\\r\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\r\n @_$multipleSelectPlaceholder.disabled = true\r\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\r\n\r\n _setMultipleSelectPlaceholderValue: ->\r\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\r\n @constructor._PLACEHOLDER_ATTRIBUTE\r\n\r\n _initMultipleSelect: ->\r\n unless @_$multipleSelectPlaceholder\r\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\r\n @_insertMultipleSelectBlankOption()\r\n @_setMultipleSelectPlaceholderValue()\r\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\r\n\r\n _reset: ->\r\n if @_$select\r\n Array.from(@_$select.options).forEach ($option) =>\r\n $option.selected = @_$defaultSelectedOptions.includes $option\r\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\r\n @_markSelectedOption()\r\n\r\n @_init: ->\r\n self = this\r\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\r\n instance = self.query(luda.$parent self._SELECTOR, this)\r\n instance._setSingleSelectSimulatorValue() unless this.multiple\r\n instance._markSelectedOption()\r\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\r\n setTimeout => self.query(this)._reset()","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'carousel'\r\n\r\n @_SELECTOR: '.carousel'\r\n @_ITEMS_SELECTOR: '.carousel-item'\r\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\r\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\r\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\r\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\r\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\r\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\r\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\r\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\r\n @_ACTIVE_INDEX: 0\r\n @_INTERVAL: 5000\r\n @_WRAP: true\r\n @_FALSE: 'false'\r\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\r\n \r\n # public\r\n active: (index) ->\r\n if @_$items.length and not @_transiting\r\n activedIndex = @_activeIndex\r\n if index? \\\r\n and index isnt @_activeIndex \\\r\n and 0 <= index <= @_$items.length - 1\r\n @_transiting = true\r\n @_activeIndex = index\r\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\r\n @[action] @_$items[activedIndex], activedIndex\r\n\r\n next: ->\r\n if @_$items.length and not @_transiting\r\n activedIndex = @_activeIndex\r\n index = activedIndex + 1\r\n if index > @_$items.length - 1\r\n return unless @_wrap\r\n index = 0\r\n @_transiting = true\r\n @_activeIndex = index\r\n @_slideNext @_$items[activedIndex], activedIndex\r\n @_playTimeStamp = Date.now()\r\n @_pausedRemainTime = @_interval\r\n\r\n prev: ->\r\n if @_$items.length and not @_transiting\r\n activedIndex = @_activeIndex\r\n index = activedIndex - 1\r\n if index < 0\r\n return unless @_wrap\r\n index = @_$items.length - 1\r\n @_transiting = true\r\n @_activeIndex = index\r\n @_slidePrev @_$items[activedIndex], activedIndex\r\n @_playTimeStamp = Date.now()\r\n @_pausedRemainTime = @_interval\r\n\r\n pause: ->\r\n if @_intervaling?\r\n clearInterval @_intervaling\r\n @_intervaling = null\r\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\r\n\r\n play: ->\r\n if @_interval and @_$items.length > 1\r\n @_playTimeStamp = Date.now()\r\n @pause()\r\n execute = =>\r\n @next()\r\n @_intervaling = setInterval @next.bind(this), @_interval\r\n @_intervaling = setTimeout execute, @_pausedRemainTime\r\n\r\n\r\n # private\r\n _getConfig: ->\r\n _$items = luda.$unnested \\\r\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\r\n _$indicators = luda.$unnested \\\r\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\r\n _$prevControl = luda.$child \\\r\n @constructor._PREV_CONTROL_SELECTOR, @_$component\r\n _$nextControl = luda.$child \\\r\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\r\n _activeIndex = _$items.indexOf \\\r\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\r\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\r\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\r\n if _interval is @constructor._FALSE\r\n _interval = false\r\n else\r\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\r\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\r\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\r\n {\r\n _$items,\r\n _$indicators,\r\n _$prevControl,\r\n _$nextControl,\r\n _activeIndex,\r\n _interval,\r\n _wrap\r\n }\r\n\r\n _constructor: ->\r\n {\r\n @_$items,\r\n @_$indicators,\r\n @_$prevControl,\r\n @_$nextControl,\r\n @_activeIndex,\r\n @_interval,\r\n @_wrap\r\n } = @_getConfig()\r\n @_transiting = false\r\n @_intervaling = null\r\n @_playTimeStamp = 0\r\n @_pausedRemainTime = @_interval\r\n @_layout()\r\n @play()\r\n\r\n _onMutations: (mutations) ->\r\n {\r\n @_$items,\r\n @_$indicators,\r\n @_$prevControl,\r\n @_$nextControl,\r\n @_activeIndex,\r\n @_interval,\r\n @_wrap\r\n } = @_getConfig()\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n @play()\r\n\r\n _destroy: ->\r\n @pause()\r\n\r\n _layout: ->\r\n @_$items.forEach ($item, index) =>\r\n $item.style.transition = 'none'\r\n if index > @_activeIndex\r\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n else if index < @_activeIndex\r\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n else\r\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\r\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n luda.reflow($item)\r\n $item.style.transition = ''\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n\r\n _slideNext: ($activedItem, activedIndex) ->\r\n if @_$items.length > 1\r\n $item = @_$items[@_activeIndex]\r\n luda.dispatch($item, \\\r\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\r\n $item.style.transition = 'none'\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\r\n luda.reflow $item\r\n $item.style.transition = ''\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\r\n luda.dispatch($activedItem, \\\r\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\r\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n\r\n _slidePrev: ($activedItem, activedIndex) ->\r\n if @_$items.length > 1\r\n $item = @_$items[@_activeIndex]\r\n luda.dispatch($item, \\\r\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\r\n $item.style.transition = 'none'\r\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\r\n luda.reflow $item\r\n $item.style.transition = ''\r\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\r\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\r\n luda.dispatch($activedItem, \\\r\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\r\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\r\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\r\n @_setIndicatorsState()\r\n @_setDirectionControlState()\r\n\r\n _setIndicatorsState: ->\r\n @_$indicators.forEach ($indicator, index) =>\r\n $indicator.disabled = index is @_activeIndex\r\n\r\n _setDirectionControlState: ->\r\n if @_$items.length <= 1\r\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\r\n else\r\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\r\n @_$nextControl?.disabled = \\\r\n @_activeIndex is @_$items.length - 1 and not @_wrap\r\n \r\n # static private\r\n @_init: ->\r\n self = this\r\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\r\n instance = self.query(luda.$parent self._SELECTOR, this)\r\n instance._transiting = false\r\n index = instance._$items.indexOf this\r\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\r\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\r\n else\r\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\r\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\r\n instance = self.query luda.$parent self._SELECTOR, this\r\n instance.active instance._$indicators.indexOf this\r\n luda.on 'touchstart', @_SELECTOR, (e) ->\r\n self.query(this).pause()\r\n luda.on 'touchend', @_SELECTOR, (e) ->\r\n setTimeout => self.query(this).play()\r\n luda.on 'mouseover', @_SELECTOR, (e) ->\r\n self.query(this).pause()\r\n luda.on 'mouseout', @_SELECTOR, (e) ->\r\n self.query(this).play()\r\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\r\n self.query(this).next()\r\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\r\n self.query(this).prev()\r\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\r\n self.query(luda.$parent self._SELECTOR, this).prev()\r\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\r\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\r\nimport '../constants.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'dropdown'\r\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\r\n .dropdown-static,.dropdown-absolute-m'\r\n @_MENU_SELECTOR: '.dropdown-menu'\r\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\r\n input:not([disabled]),[tabindex]:not([disabled])'\r\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\r\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-none-toggle'\r\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\r\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\r\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\r\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: [\r\n @_TOGGLE_ATTRIBUTE\r\n @_NONE_TOGGLE_ATTRIBUTE\r\n @_STANDALONE_ATTRIBUTE\r\n ]\r\n\r\n @_$focused: []\r\n\r\n active: ->\r\n unless @_actived()\r\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\r\n @constructor._$focused.push document.activeElement\r\n @_parent?.active()\r\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\r\n\r\n deactive: (focus) ->\r\n if @_actived()\r\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\r\n @_children.forEach (child) -> child.deactive()\r\n if focus\r\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\r\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\r\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\r\n\r\n toggle: (focus) ->\r\n if @_actived() then @deactive(focus) else @active()\r\n\r\n prev: ->\r\n if @_$items.length and @_actived()\r\n focusIndex = @_$items.indexOf(document.activeElement) - 1\r\n focusIndex = 0 if focusIndex < 0\r\n @_$items[focusIndex].focus()\r\n\r\n next: ->\r\n if @_$items.length and @_actived()\r\n focusIndex = @_$items.indexOf(document.activeElement) + 1\r\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\r\n @_$items[focusIndex].focus()\r\n\r\n _getConfig: ->\r\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\r\n _$switches = luda.$unnested( \\\r\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\r\n .concat(luda.$unnested \\\r\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\r\n _$noneSwitches = luda.$unnested( \\\r\n @constructor._NONE_SWITCHES_SELECTOR, \\\r\n @_$component, @constructor._SELECTOR) \\\r\n .concat(luda.$unnested \\\r\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\r\n _$items = luda.$unnested \\\r\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\r\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\r\n {_$items, _$switches, _$noneSwitches, _isStandalone}\r\n\r\n _constructor: ->\r\n {\r\n @_$items,\r\n @_$switches,\r\n @_$noneSwitches,\r\n @_isStandalone\r\n } = @_getConfig()\r\n\r\n _onMutations: (mutations) ->\r\n @_constructor()\r\n\r\n _actived: ->\r\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\r\n\r\n _deactiveChildrenExcept: (exceptions) ->\r\n if exceptions and not (exceptions instanceof Array)\r\n exceptions = [exceptions]\r\n if exceptions\r\n @_children.forEach (child) ->\r\n child.deactive() if child._actived() and not exceptions.includes child\r\n else\r\n @_children.forEach (child) ->\r\n child.deactive() if child._actived()\r\n\r\n @deactiveExcept: (instances$dropdowns) ->\r\n exceptions = []\r\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\r\n instances$dropdowns = [instances$dropdowns]\r\n if instances$dropdowns\r\n instances$dropdowns.forEach (instance$dropdown) =>\r\n exceptions.push exception if exception = @query instance$dropdown\r\n if exceptions.length\r\n @_instances.forEach (instance) ->\r\n instanceIsntInExceptions = not exceptions.includes instance\r\n instanceHasntExceptionChild = exceptions.every (exception) ->\r\n not instance._hasDescendant exception\r\n if instance._actived() \\\r\n and instanceIsntInExceptions \\\r\n and instanceHasntExceptionChild\r\n instance.deactive()\r\n else\r\n @_instances.forEach (instance) ->\r\n instance.deactive() if instance._actived()\r\n\r\n @_standaloneInstances: ->\r\n @_instances.filter (instance) -> instance if instance._isStandalone\r\n\r\n @_init: ->\r\n self = this\r\n luda.onOpposite 'click', @_SELECTOR, (e) ->\r\n self.deactiveExcept self._standaloneInstances()\r\n luda.on 'click', @_SELECTOR, (e) ->\r\n if instance = self.query this\r\n toggleChecked = false\r\n focus = not e.detail\r\n self.deactiveExcept(self._standaloneInstances().concat instance)\r\n instance._deactiveChildrenExcept()\r\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\r\n if instance._$switches.length or instance._$noneSwitches.length\r\n luda.eventPath(e).some ($path) ->\r\n if instance._$switches.includes $path\r\n instance.toggle focus\r\n toggleChecked = true\r\n else if instance._$noneSwitches.includes $path\r\n toggleChecked = true\r\n instance.toggle focus unless toggleChecked\r\n\r\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\r\n luda.on 'keyup', @_SELECTOR, (e) ->\r\n if e.keyCode is luda.KEY_TAB and instance = self.query this\r\n self.deactiveExcept(instance)\r\n instance.active()\r\n luda.on 'keydown', @_SELECTOR, (e) ->\r\n if e.keyCode is luda.KEY_ESC and instance = self.query this\r\n e.preventDefault()\r\n if instance._actived()\r\n instance.deactive true\r\n else\r\n instance._parent?.deactive true\r\n luda.on 'keydown', @_SELECTOR, (e) ->\r\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\r\n and instance = self.query this\r\n e.preventDefault()\r\n if instance._actived()\r\n instance.prev()\r\n else\r\n instance._parent?.prev()\r\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\r\n and instance = self.query this\r\n e.preventDefault()\r\n if instance._actived()\r\n instance.next()\r\n else\r\n instance._parent?.next()","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\nimport '../behaviours/focus.coffee'\r\nimport '../behaviours/enter-click.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'fmDropdown'\r\n\r\n @_SELECTOR: '.fm-dropdown'\r\n @_VALUE_SPLITOR: ' '\r\n @_VALUE_ATTRIBUTE: 'data-fm-dropdown-value'\r\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\r\n .dropdown-items .btn-check input'\r\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\r\n .dropdown-items .btn-check label'\r\n @_VALUE_HOLDER_SELECTOR: '.fm input'\r\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\r\n\r\n @_observerConfig:\r\n childList: true\r\n attributes: true\r\n subtree: true\r\n attributeFilter: [\r\n 'checked'\r\n @_VALUE_ATTRIBUTE\r\n ]\r\n\r\n _getConfig: ->\r\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\r\n _$defaultValues = luda.$children \\\r\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\r\n _$valueHolder = luda.$child \\\r\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\r\n {_$values, _$valueHolder, _$defaultValues}\r\n\r\n _constructor: ->\r\n {\r\n @_$values,\r\n @_$valueHolder,\r\n @_$defaultValues\r\n } = @_getConfig()\r\n @_setValueHolderAttribute()\r\n @_setValueHolderValue()\r\n\r\n _onMutations: ->\r\n @_constructor()\r\n\r\n _setValueHolderValue: ->\r\n values = []\r\n @_$values.forEach ($value, index) =>\r\n if $value.checked\r\n if $value.hasAttribute @constructor._VALUE_ATTRIBUTE\r\n value = $value.getAttribute @constructor._VALUE_ATTRIBUTE\r\n else\r\n value = @_$defaultValues[index].innerText\r\n values.push value if value and not values.includes value\r\n if @_$valueHolder\r\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\r\n\r\n _setValueHolderAttribute: ->\r\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\r\n\r\n @_init: ->\r\n self = this\r\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\r\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\r\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\r\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\r\n setTimeout => self.query(this)._setValueHolderValue()\r\n # prevent ios device pop out wired navigation pannel\r\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\r\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\r\n this.blur()\r\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\r\nimport '../dom.coffee'\r\nimport '../event.coffee'\r\nimport '../component.coffee'\r\n\r\n\r\n\r\nluda class extends luda.Component\r\n\r\n @_SCOPE: 'tab'\r\n\r\n @_SELECTOR: '.tab'\r\n @_PANE_SELECTOR: '.tab-pane'\r\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\r\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\r\n @_ACTIVE_INDEX: 0\r\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\r\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\r\n\r\n @_observerConfig:\r\n childList: true\r\n subtree: true\r\n \r\n # public\r\n active: (index) ->\r\n if @_$panes.length\r\n activedIndex = @_activeIndex\r\n if index? \\\r\n and index isnt @_activeIndex \\\r\n and 0 <= index <= @_$panes.length - 1\r\n @_activeIndex = index\r\n @_active(activedIndex)\r\n\r\n # private\r\n _getConfig: ->\r\n _$panes = luda.$unnested \\\r\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\r\n _$indicators = luda.$unnested \\\r\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\r\n _activeIndex = @constructor._ACTIVE_INDEX\r\n _$indicators.some ($indicator, index) ->\r\n if $indicator.checked\r\n _activeIndex = index\r\n true\r\n {_$panes, _$indicators, _activeIndex}\r\n\r\n _constructor: ->\r\n {\r\n @_$panes,\r\n @_$indicators,\r\n @_activeIndex\r\n } = @_getConfig()\r\n @_active()\r\n\r\n _onMutations: (mutations) ->\r\n @_constructor()\r\n\r\n _active: (activedIndex) ->\r\n @_$panes.forEach ($pane, index) =>\r\n if index is @_activeIndex\r\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\r\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\r\n else\r\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\r\n if index is activedIndex\r\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\r\n @_setIndicatorsState()\r\n\r\n _setIndicatorsState: ->\r\n @_$indicators.forEach ($indicator, index) =>\r\n if index is @_activeIndex\r\n $indicator.setAttribute 'checked', ''\r\n else\r\n $indicator.removeAttribute 'checked'\r\n\r\n # static private\r\n @_init: ->\r\n self = this\r\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\r\n if this.checked\r\n instance = self.query luda.$parent self._SELECTOR, this\r\n instance.active instance._$indicators.indexOf this"]}
1
+ {"version":3,"sources":["../../src/coffee/install.coffee","../../src/coffee/constants.coffee","../../src/coffee/dom.coffee","../../src/coffee/event.coffee","../../src/coffee/utilities.coffee","../../src/coffee/singleton.coffee","../../src/coffee/behaviours/enter-click.coffee","../../src/coffee/behaviours/focus.coffee","../../src/coffee/behaviours/radio-tab.coffee","../../src/coffee/component.coffee","../../src/coffee/behaviours/readonly.coffee","../../src/coffee/behaviours/toggle.coffee","../../src/coffee/elements/form-file.coffee","../../src/coffee/elements/form-select.coffee","../../src/coffee/collections/carousel.coffee","../../src/coffee/collections/dropdown.coffee","../../src/coffee/collections/form-dropdown.coffee","../../src/coffee/collections/tab.coffee"],"names":["ENV","document","window","global","Error","luda","installer","installed","name","property","includes","hasOwnProperty","_SCOPE","_install","Array","namespace","installedInstaller","installedName","ref","console","warn","KEY_LEFT","KEY_UP","KEY_RIGHT","KEY_DOWN","KEY_TAB","KEY_ESC","KEY_ENTER","$child","selector","$ancestor","querySelector","$children","$descendant","descendants","this","from","querySelectorAll","$unnested","ancestorSelector","filter","$parent","parentNode","matches","$parents","_ancestors","push","$after","$node","$target","lastChild","appendChild","insertBefore","nextSibling","$prepend","firstChild","reflow","$element","offsetHeight","splice","_SWIPE_DISTANCE","_EVENT_TYPE_PREFIX","_SWIPE_LEFT","_SWIPE_RIGHT","_SWIPE_UP","_SWIPE_DOWN","_SWIPE_LEFT_OR_UP","_SWIPE_RIGHT_OR_DOWN","_DOC_READY","_FORM_RESET","eventPath","event","path","composedPath","target","concat","on","handler","call","_onDocReady","_onReset","_onSwipe","_on","onOpposite","_self","addEventListener","e","trigger","every","dispatch","type","detail","options","evt","bubbles","cancelable","composed","Event","dispatchEvent","readyState","forEach","bind","$touchStartElement","touchStartE","touchStartX","touchStartY","watch","touches","length","screenX","screenY","some","eventX","eventXOrY","eventY","touchDistanceX","touchDistanceY","Math","abs","except","element","arr","indexOf","Singleton","[object Object]","_actived","_SELECTOR_INVALID_ERROR","_SELECTORS","_mergeSelectors","_selector","join","exposed","_init","self","keyCode","preventDefault","setTimeout","click","_Class","$exception","_$focus","$focus","classList","remove","_CSS_CLASS","body","documentElement","add","_removeFocusClassExcept","_addFocusClassExceptHtmlAndBody","_PARENT_FOCUS_CHILDREN_SELECTOR","_PARENT_FOCUS_SELECTOR","blur","focus","HTMLElement","prototype","apply","arguments","activeElement","_setElementPrototype","_changeFocusStateOnKeyEvent","_changeFocusStateOnMouseDownEvent","_TOUCHSTART_FOCUS_SELECTOR","getElementsByClassName","$radio","$inputs","$input","tabIndex","$next","$prev","$sameNameRadios","radioIndex","_querySameName$radios","nodeName","toUpperCase","shiftKey","_query$prev$next","Component","descendant","_children","child","_hasDescendant","_observer","MutationObserver","_onMutations","observe","_$component","constructor","_observerConfig","disconnect","$component","$family","componentIsElementInstance","instance","parent","Element","_$COMPONENT_INVALID_ERROR","_query$family","query","_$parent","_instances","_createInstance","_parent","_$children","create","instance$component","attribute","results","value","_disconnect","_destroy","destroy","inited","_SELECTOR","_constructor","_observe","classObj","mutations","mutation","$addedNodes","$removedNodes","removedNodes","addedNodes","_Observed","Observed","$destroies","$destroy","$creates","$create","_COMPONENT_NO_SELECTOR_ERROR","childList","subtree","_isReadonly","_originalTabIndex","readonly","getAttribute","_READONLY_ATTRIBUTE","_READONLY_FALSE_VALUE","_getConfig","_setTabIndex","attributes","attributeFilter","name$target","_query$targets","_ACTIVE_CSS_CLASS","_ACTIVED_EVENT_TYPE","_DEACTIVED_EVENT_TYPE","contains","deactive","active","_TOGGLE_TARGET_ATTRIBUTE","toggleChecked","$path","$toggle","toggleName","hasAttribute","_TOGGLE_ATTRIBUTE","_TOGGLE_FOR_ATTRIBUTE","toggle","_NONE_TOGGLE_ATTRIBUTE","_$file","_$simulator","_FILE_SELECTOR","_SIMULATOR_SELECTOR","createElement","placeholder","_PLACEHOLDER_ATTRIBUTE","values","files","map","file","_VALUE_SPLITOR","_VALUE_ATTRIBUTE","_insertSimulator","_setPlaceholderValue","_setSimulatorValue","indexOrIndexArray","selectedIndexes","_$select","multiple","_$multipleSelectPlaceholder","index","$option","selected","_markSelectedOption","selectedIndex","_setSingleSelectSimulatorValue","_$defaultSelectedOptions","_$singleSelectSimulator","_defaultSelectedOptionMarked","_SELECT_SELECTOR","_SINGLE_SELECT_SIMULATOR_SELECTOR","_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS","_DEFAULT_SELECTED_OPTION_ATTRIBUTE","_INITED_ATTRIBUTE","_initMultipleSelect","_initSingleSelect","setAttribute","removeAttribute","hasSelected","$selectedOption","innerText","_insertSingleSelectSimulator","_setSingleSelectedDefaultSelectedOption","_setSingleSelectPlaceholderValue","_markDefaultSelectedOption","className","disabled","_insertMultipleSelectBlankOption","_setMultipleSelectPlaceholderValue","_reset","action","activedIndex","_$items","_transiting","_activeIndex","_wrap","_slideNext","_playTimeStamp","Date","now","_pausedRemainTime","_interval","_slidePrev","_intervaling","clearInterval","execute","pause","next","setInterval","_$indicators","_$nextControl","_$prevControl","_ITEMS_SELECTOR","_INDICATORS_SELECTOR","_PREV_CONTROL_SELECTOR","_NEXT_CONTROL_SELECTOR","_ITEM_ACTIVE_CSS_CLASS","_ACTIVE_INDEX","_INTERVAL_ATTRIBUTE","_FALSE","parseInt","_INTERVAL","_WRAP_ATTRIBUTE","_WRAP","_layout","play","_setIndicatorsState","_setDirectionControlState","$item","style","transition","_ITEM_NEXT_CSS_CLASS","_ITEM_PREV_CSS_CLASS","$activedItem","_ACTIVE_EVENT_TYPE","_DEACTIVE_EVENT_TYPE","$indicator","ref1","ref2","ref3","startE","prev","_$focused","focusIndex","_$menu","_$noneSwitches","_$switches","_isStandalone","_MENU_SELECTOR","_SWITCHES_SELECTOR","_NONE_SWITCHES_SELECTOR","_STANDALONE_ATTRIBUTE","exceptions","instances$dropdowns","instance$dropdown","exception","instanceHasntExceptionChild","instanceIsntInExceptions","deactiveExcept","_standaloneInstances","_deactiveChildrenExcept","_$defaultValues","_$valueHolder","_$values","_VALUE_SELECTOR","_DEFAULT_VALUE_SELECTOR","_VALUE_HOLDER_SELECTOR","_setValueHolderAttribute","_setValueHolderValue","$value","checked","enterClick","_add","_ENTER_CLICK_VALUE_HOLDER_SELECTOR","test","navigator","userAgent","_$panes","_active","_PANE_SELECTOR","_INDICATOR_SELECTOR","$pane","_PANE_ACTIVE_CSS_CLASS"],"mappings":"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","sourcesContent":["ENV = (->\n if typeof document isnt 'undefined'\n return window if typeof window isnt 'undefined'\n return global if typeof global isnt 'undefined'\n throw new Error 'Unsupported runtime environment.'\n)()\n\n\n\nunless typeof ENV.luda is 'function'\n ENV.luda = (installer) ->\n throw new Error 'Installer cannot be detected.' unless installer\n unless ['object', 'function'].includes typeof installer\n throw new Error 'Installer must be object, array or function.'\n if installer.hasOwnProperty '_SCOPE'\n unless typeof installer._SCOPE is 'string'\n throw new Error '_SCOPE must be string'\n return ENV.luda._install installer._SCOPE, installer\n if installer instanceof Array or typeof installer is 'function'\n throw new Error 'Unscoped installer must be object.'\n installed = {}\n for name, property of installer\n installed[name] = ENV.luda._install name, property\n installed\n\n ENV.luda._install = (namespace, installer) ->\n if ENV.luda[namespace]\n console.warn \"Namespace #{namespace} is ocupied, sikp installation.\"\n return ENV.luda[namespace]\n for installedName, installedInstaller of ENV.luda\n if installer is installedInstaller\n console.warn \"Installer is installed with name #{installedName},\n skip installation.\"\n return ENV.luda[installedName]\n if installer._install\n if typeof installer._install is 'function'\n return ENV.luda[namespace] = installer._install()\n return ENV.luda[namespace] = installer._install\n ENV.luda[namespace] = installer","import './install.coffee'\n\n\n\nluda\n\n KEY_LEFT: 37\n KEY_UP: 38\n KEY_RIGHT: 39\n KEY_DOWN: 40\n KEY_TAB: 9\n KEY_ESC: 27\n KEY_ENTER: 13","import './install.coffee'\n\n\n\nluda\n \n $child: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $ancestor.querySelector selector\n\n $children: (selector, $ancestor) ->\n $ancestor = document unless $ancestor\n $descendant = @$child selector, $ancestor\n if $descendant\n descendants = Array.from($ancestor.querySelectorAll selector)\n else\n descendants = []\n\n $unnested: (selector, $ancestor, ancestorSelector) ->\n descendants = @$children selector, $ancestor\n descendants.filter ($descendant) =>\n $descendant if @$parent(ancestorSelector, $descendant) is $ancestor\n\n $parent: (selector, $descendant) ->\n $ancestor = $descendant.parentNode\n if $ancestor\n if $ancestor.matches and $ancestor.matches selector\n $ancestor\n else\n @$parent selector, $ancestor\n\n $parents: (selector, $descendant, _ancestors) ->\n $ancestor = @$parent selector, $descendant\n _ancestors = [] unless _ancestors\n if $ancestor\n _ancestors.push($ancestor)\n @$parents selector, $ancestor, _ancestors\n else\n _ancestors\n\n $after: ($node, $target) ->\n $parent = $target.parentNode\n if $parent.lastChild is $target\n $parent.appendChild $node\n else\n $parent.insertBefore $node, $target.nextSibling\n\n $prepend: ($node, $target) ->\n if $target.firstChild\n $target.insertBefore $node, $target.firstChild\n else\n $target.appendChild $node\n\n reflow: ($element) -> $element.offsetHeight","import './install.coffee'\nimport './dom.coffee'\n\n\n\nluda\n \n _SWIPE_DISTANCE: 10\n _EVENT_TYPE_PREFIX: 'luda'\n _SWIPE_LEFT: 'swipeleft'\n _SWIPE_RIGHT: 'swiperight'\n _SWIPE_UP: 'swipeup'\n _SWIPE_DOWN: 'swipedown'\n _SWIPE_LEFT_OR_UP: 'swipeleft or swipeup'\n _SWIPE_RIGHT_OR_DOWN: 'swiperight or swipedown'\n _DOC_READY: 'docready'\n _FORM_RESET: 'reset'\n\n eventPath: (event) ->\n if event.composedPath\n path = event.composedPath()\n else if event.path\n path = event.path\n else\n path = [event.target].concat(luda.$parents '*', event.target)\n\n on: (event, selector..., handler) ->\n switch event\n when @_DOC_READY then @_onDocReady handler\n when @_FORM_RESET then @_onReset selector[0], handler\n when @_SWIPE_LEFT, \\\n @_SWIPE_RIGHT, \\\n @_SWIPE_UP, \\\n @_SWIPE_DOWN, \\\n @_SWIPE_LEFT_OR_UP, \\\n @_SWIPE_RIGHT_OR_DOWN\n then @_onSwipe event, selector[0], handler\n else @_on event, selector[0], handler\n\n onOpposite: (event, selector, handler) ->\n _self = this\n document.addEventListener event, (e) ->\n trigger = _self.eventPath(e).every ($element) ->\n not $element.matches or not $element.matches selector\n handler e if trigger\n\n dispatch: ($target, type, detail, options = {}) ->\n options.bubbles = true unless typeof options.bubbles is 'boolean'\n options.cancelable = true unless typeof options.cancelable is 'boolean'\n options.composed = true unless typeof options.composed is 'boolean'\n evt = new Event \"#{@_EVENT_TYPE_PREFIX}:#{type}\", options\n evt.detail = detail\n $target.dispatchEvent evt\n evt\n \n _onDocReady: (handler) ->\n if document.readyState is 'loading'\n document.addEventListener 'DOMContentLoaded', handler\n else\n handler()\n\n _onReset: (selector, handler) ->\n document.addEventListener 'reset', (e) ->\n if selector?\n luda.$children(selector, e.target).forEach ($element) ->\n handler.bind($element)(e)\n else\n handler e\n \n _onSwipe: (event, selector, handler) ->\n _self = this\n watch = false\n $touchStartElement = document\n touchStartE = null\n touchStartX = 0\n touchStartY = 0\n document.addEventListener 'touchstart', (e) ->\n if e.touches.length is 1\n touchStartX = e.touches[0].screenX\n touchStartY = e.touches[0].screenY\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n $touchStartElement = $element\n touchStartE = e\n watch = true\n return true\n else\n watch = true\n\n document.addEventListener 'touchmove', (e) ->\n if watch and e.touches.length is 1\n touchDistanceX = e.touches[0].screenX - touchStartX\n touchDistanceY = e.touches[0].screenY - touchStartY\n eventX = undefined\n eventY = undefined\n eventXOrY = undefined\n if Math.abs(touchDistanceX) >= _self._SWIPE_DISTANCE\n if touchDistanceX > 0\n eventX = _self._SWIPE_RIGHT\n else\n eventX = _self._SWIPE_LEFT\n if Math.abs(touchDistanceY) >= _self._SWIPE_DISTANCE\n if touchDistanceY > 0\n eventY = _self._SWIPE_DOWN\n else\n eventY = _self._SWIPE_UP\n if eventX is _self._SWIPE_LEFT \\\n or eventY is _self._SWIPE_UP\n eventXOrY = _self._SWIPE_LEFT_OR_UP\n if eventX is _self._SWIPE_RIGHT \\\n or eventY is _self._SWIPE_DOWN\n eventXOrY = _self._SWIPE_RIGHT_OR_DOWN\n if (eventX? and eventX is event) \\\n or (eventY? and eventY is event) \\\n or eventXOrY is event\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element is $touchStartElement\n watch = false\n handler.bind($element)(touchStartE, e)\n return true\n else\n watch = false\n handler touchStartE, e\n\n _on: (event, selector, handler) ->\n if selector is window\n window.addEventListener event, (e) -> handler e\n else\n _self = this\n document.addEventListener event, (e) ->\n if selector?\n _self.eventPath(e).some ($element) ->\n if $element.matches and $element.matches selector\n handler.bind($element)(e)\n return true\n else\n handler e","import './install.coffee'\n\n\n\nluda\n \n except: (element, arr) ->\n arr.splice(arr.indexOf(element), 1) if arr.includes element","import './install.coffee'\nimport './utilities.coffee'\n\n\n \nluda class Singleton\n\n @_SCOPE: 'Singleton'\n \n @_SELECTOR_INVALID_ERROR: '@param selector must be a css selector string'\n @_SELECTORS: []\n\n @_selector: ''\n @_actived: true\n\n @active: ->\n @_actived = true\n\n @deactive: ->\n @_actived = false\n\n @_add: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n @_SELECTORS.push selector unless @_SELECTORS.includes selector\n @_mergeSelectors()\n\n @_remove: (selector) ->\n throw new Error @_SELECTOR_INVALID_ERROR if typeof selector isnt 'string'\n luda.except selector, @_SELECTORS\n @_mergeSelectors()\n\n @_mergeSelectors: ->\n @_selector = @_SELECTORS.join ','\n\n @_install: ->\n return this if this is Singleton\n @_SELECTORS = [] unless @hasOwnProperty '_SELECTORS'\n @_mergeSelectors()\n exposed = @_init() if typeof @_init is 'function'\n if exposed then exposed else this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'enterClick'\n\n @_SELECTORS: [\n 'input[type=checkbox]'\n 'input[type=radio]'\n '[tabindex]'\n ]\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_ENTER \\\n and e.target.matches self._selector\n e.preventDefault()\n setTimeout(-> e.target.click())","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'focus'\n\n @_CSS_CLASS: 'focus'\n # mouse focusable selectors\n @_SELECTORS: ['select'\n 'textarea'\n ':not(.btn-check):not(.btn-radio):not(.btn-file) >\n input:not([type=button]):not([type=submit]):not([type=reset])'\n ]\n @_TOUCHSTART_FOCUS_SELECTOR: 'input[type=range]'\n @_PARENT_FOCUS_SELECTOR: 'select[multiple]'\n @_PARENT_FOCUS_CHILDREN_SELECTOR: \"#{@_PARENT_FOCUS_SELECTOR} *\"\n\n @_$focus: document.getElementsByClassName(@_CSS_CLASS)\n\n @_removeFocusClassExcept: ($exception) ->\n Array.from(@_$focus).forEach ($focus) =>\n $focus.classList.remove @_CSS_CLASS if $focus isnt $exception\n\n @_addFocusClassExceptHtmlAndBody: ($target) ->\n if $target isnt document.body and $target isnt document.documentElement\n $target.classList.add @_CSS_CLASS\n\n @_changeFocusStateOnKeyEvent: (e) ->\n if @_actived\n @_removeFocusClassExcept e.target\n @_addFocusClassExceptHtmlAndBody e.target\n\n @_changeFocusStateOnMouseDownEvent: (e) ->\n if @_actived\n if e.target.matches @_PARENT_FOCUS_CHILDREN_SELECTOR\n target = luda.$parent @_PARENT_FOCUS_SELECTOR, e.target\n else\n target = e.target\n if target.matches @_selector\n @_removeFocusClassExcept target\n @_addFocusClassExceptHtmlAndBody target\n else\n @_removeFocusClassExcept()\n\n @_setElementPrototype: ->\n focus = HTMLElement.prototype.focus\n blur = HTMLElement.prototype.blur\n self = this\n HTMLElement.prototype.focus = ->\n focus.apply this, arguments\n if self._actived and document.activeElement is this\n self._removeFocusClassExcept this\n self._addFocusClassExceptHtmlAndBody this\n HTMLElement.prototype.blur = ->\n blur.apply this, arguments\n this.classList.remove self._CSS_CLASS if self._actived\n\n @_init: ->\n self = this\n @_setElementPrototype()\n luda.on 'keydown', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'keyup', @_changeFocusStateOnKeyEvent.bind this\n luda.on 'mousedown', @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'touchstart', @_TOUCHSTART_FOCUS_SELECTOR, \\\n @_changeFocusStateOnMouseDownEvent.bind this\n luda.on 'focusin', @_changeFocusStateOnMouseDownEvent.bind this","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'radioTab'\n\n @_SELECTORS: ['input[type=radio]:not([disabled])']\n\n @_querySameName$radios: ($radio) ->\n if $radio.name\n selector = \"#{@_selector}[name=#{$radio.name}]\"\n else\n selector = @_selector\n $inputs = luda.$children selector\n $inputs.filter ($input) -> $input.tabIndex >= 0\n\n @_query$prev$next: ($radio) ->\n $sameNameRadios = @_querySameName$radios $radio\n radioIndex = $sameNameRadios.indexOf $radio\n $prev = $sameNameRadios[radioIndex - 1]\n $next = $sameNameRadios[radioIndex + 1]\n {$prev, $next}\n\n @_init: ->\n self = this\n luda.on 'keydown', (e) ->\n if self._actived \\\n and e.keyCode is luda.KEY_TAB \\\n and e.target.nodeName.toUpperCase() is 'INPUT' \\\n and e.target.type is 'radio'\n if e.shiftKey\n if $prev = self._query$prev$next(e.target).$prev\n e.preventDefault()\n $prev.focus()\n else\n if $next = self._query$prev$next(e.target).$next\n e.preventDefault()\n $next.focus()","import './install.coffee'\nimport './utilities.coffee'\nimport './dom.coffee'\nimport './event.coffee'\n\n\n\n\nluda class Component\n\n @_SCOPE: 'Component'\n \n @_COMPONENT_NO_SELECTOR_ERROR: 'Extended component must has a css selector'\n @_$COMPONENT_INVALID_ERROR: '@param $component must be an instance of Element'\n @_SELECTOR: ''\n @_instances: []\n\n @_Observed: []\n @_observer: null\n @_observerConfig:\n childList: true\n subtree: true\n\n _hasDescendant: (descendant) ->\n if @_children.length and descendant\n return true if @_children.includes descendant\n return @_children.some (child) -> child._hasDescendant descendant\n else\n return false\n\n _observe: ->\n @_observer = new MutationObserver @_onMutations.bind this\n @_observer.observe @_$component, @constructor._observerConfig\n\n _disconnect: ->\n @_observer.disconnect()\n @_observer = null\n\n @create: ($component) ->\n componentIsElementInstance = $component instanceof Element\n throw new Error @_$COMPONENT_INVALID_ERROR unless componentIsElementInstance\n $family = @_query$family $component\n instance = @query $component\n if $family._$parent\n if parent = @query $family._$parent\n @_instances.push instance = @_createInstance $component unless instance\n if instance._parent isnt parent\n parent._children.push(instance) and (instance._parent = parent)\n $family._$children.forEach ($child) => @create $child\n return instance\n else\n @create $family._$parent\n return @query $component\n else\n @_instances.push instance = @_createInstance $component unless instance\n $family._$children.forEach ($child) => @create $child\n return instance\n\n @destroy: (instance$component) ->\n instance = @query instance$component\n if instance\n instance._disconnect() if instance._observer\n instance._destroy() if instance._destroy\n @destroy instance._children[0] while instance._children.length\n if instance._parent\n luda.except instance, instance._parent._children\n luda.except instance, @_instances\n for attribute, value of instance\n instance[attribute] = null\n \n @query: (instance$component) ->\n instance = null\n if instance$component instanceof this \\\n and @_instances.includes instance$component\n instance = instance$component\n else if instance$component instanceof Element\n @_instances.some (inited) ->\n if inited._$component is instance$component\n instance = inited\n return true\n return instance\n\n @_query$family: ($component) ->\n _$parent = null\n _$children = []\n if @_SELECTOR\n _$parent = luda.$parent @_SELECTOR, $component\n _$children = luda.$unnested @_SELECTOR, $component, @_SELECTOR\n {_$parent, _$children}\n\n @_createInstance: ($component) ->\n instance = new this()\n instance._$component = $component\n instance._parent = null\n instance._children = []\n instance._observer = null\n instance._constructor() if instance._constructor\n unless instance._observer and instance._onMutations and @_observerConfig\n instance._observe()\n instance\n\n @_observe: (classObj) ->\n unless Component._observer\n Component._observer = new MutationObserver (mutations) ->\n mutations.forEach (mutation) ->\n $removedNodes = Array.from mutation.removedNodes\n $addedNodes = Array.from mutation.addedNodes\n $removedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.destroy $node\n else\n $destroies = luda.$children Observed._SELECTOR, $node\n $destroies.forEach ($destroy) -> Observed.destroy $destroy\n $addedNodes.forEach ($node) ->\n if $node instanceof Element\n Component._Observed.forEach (Observed) ->\n if $node.matches Observed._SELECTOR\n Observed.create $node\n else\n $creates = luda.$children Observed._SELECTOR, $node\n $creates.forEach ($create) -> Observed.create $create\n Component._observer.observe document.documentElement, \\\n Component._observerConfig\n unless Component._Observed.includes classObj\n Component._Observed.push classObj\n\n @_install: ->\n self = this\n return this if this is Component\n unless @_SELECTOR or typeof @_SELECTOR isnt 'string'\n throw new Error @_COMPONENT_NO_SELECTOR_ERROR\n @_instances = [] unless @hasOwnProperty '_instances'\n exposed = @_init() if typeof @_init is 'function'\n luda.on luda._DOC_READY, ->\n luda.$children(self._SELECTOR).forEach ($component) ->\n self.create $component\n Component._observe(self)\n if exposed then exposed else this","import '../install.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'readonly'\n @_READONLY_ATTRIBUTE: 'data-readonly'\n @_READONLY_FALSE_VALUE: 'false'\n @_SELECTOR: \"[#{@_READONLY_ATTRIBUTE}]\"\n\n @_observerConfig:\n attributes: true\n attributeFilter: [@_READONLY_ATTRIBUTE]\n\n _getConfig: ->\n readonly = @_$component.getAttribute @constructor._READONLY_ATTRIBUTE\n _isReadonly = readonly isnt @constructor._READONLY_FALSE_VALUE\n _originalTabIndex = @_$component.tabIndex\n {_isReadonly, _originalTabIndex}\n \n _constructor: ->\n {\n @_isReadonly,\n @_originalTabIndex\n } = @_getConfig()\n @_setTabIndex()\n\n _onMutations: ->\n @_constructor()\n\n _setTabIndex: ->\n if @_isReadonly\n @_$component.tabIndex = -1\n else\n @_$component.tabIndex = @_originalTabIndex","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../singleton.coffee'\n\n\n\nluda class extends luda.Singleton\n\n @_SCOPE: 'toggle'\n @_TOGGLE_TARGET_ATTRIBUTE: 'data-toggle-target'\n @_TOGGLE_ATTRIBUTE: 'data-toggle'\n @_TOGGLE_FOR_ATTRIBUTE: 'data-toggle-for'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-none-toggle'\n @_ACTIVE_CSS_CLASS: 'toggle-active'\n @_SELECTORS: [\n \"[#{@_TOGGLE_FOR_ATTRIBUTE}]\"\n \"[#{@_TOGGLE_ATTRIBUTE}]\"\n ]\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @active: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.add @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_ACTIVED_EVENT_TYPE)\n\n @deactive: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n $target.classList.remove @_ACTIVE_CSS_CLASS\n luda.dispatch($target, @_DEACTIVED_EVENT_TYPE)\n\n @toggle: (name$target) ->\n @_query$targets(name$target).forEach ($target) =>\n if $target.classList.contains @_ACTIVE_CSS_CLASS\n @deactive($target)\n else\n @active($target)\n\n @_query$targets: (name$target) ->\n if name$target instanceof Element\n [name$target]\n else\n luda.$children \"[#{@_TOGGLE_TARGET_ATTRIBUTE}=#{name$target}]\"\n\n @_init: ->\n self = this\n luda.on 'click', @_selector, (e) ->\n toggleChecked = false\n luda.eventPath(e).some ($path) ->\n if $path instanceof Element\n if $path.hasAttribute(self._TOGGLE_ATTRIBUTE) \\\n or $path.hasAttribute(self._TOGGLE_FOR_ATTRIBUTE)\n if toggleName = $path.getAttribute self._TOGGLE_FOR_ATTRIBUTE\n self.toggle toggleName\n toggleChecked = true\n if $path.hasAttribute self._TOGGLE_ATTRIBUTE\n if $path.hasAttribute self._TOGGLE_TARGET_ATTRIBUTE\n $toggle = $path\n else\n $toggle = luda.$parent \\\n \"[#{self._TOGGLE_TARGET_ATTRIBUTE}]\", $path\n if $toggle\n self.toggle $toggle\n toggleChecked = true\n else if $path.hasAttribute self._NONE_TOGGLE_ATTRIBUTE\n toggleChecked = true","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmFile'\n\n @_VALUE_SPLITOR: ' '\n @_SELECTOR: '.fm-file'\n @_FILE_SELECTOR: 'input[type=file]'\n @_SIMULATOR_SELECTOR: 'input:not([type=file])'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_VALUE_ATTRIBUTE: 'value'\n\n @_observerConfig:\n childList: true\n subtree: true\n\n _getConfig: ->\n _$file = luda.$child @constructor._FILE_SELECTOR, @_$component\n _$simulator = luda.$child \\\n @constructor._SIMULATOR_SELECTOR, @_$component\n {_$file, _$simulator}\n\n _constructor: ->\n {\n @_$file,\n @_$simulator\n } = @_getConfig()\n @_init()\n\n _onMutations: ->\n @_constructor()\n\n _insertSimulator: ->\n @_$simulator = document.createElement 'input'\n @_$simulator.tabIndex = -1\n luda.$after @_$simulator, @_$file\n\n _setPlaceholderValue: ->\n @_$simulator.placeholder = \\\n @_$file.getAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSimulatorValue: ->\n values = []\n Array.from(@_$file.files).map (file) -> values.push file.name\n if values.length\n @_$simulator.value = values.join @constructor._VALUE_SPLITOR\n else if @_$file.hasAttribute(@constructor._VALUE_ATTRIBUTE)\n @_$simulator.value = @_$file.getAttribute @constructor._VALUE_ATTRIBUTE\n\n _init: ->\n if @_$file\n @_insertSimulator() unless @_$simulator\n if @_$file.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setPlaceholderValue()\n @_setSimulatorValue()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_FILE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setSimulatorValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setSimulatorValue()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmSelect'\n\n @_SELECTOR: '.fm-select'\n @_SELECT_SELECTOR: 'select'\n @_SINGLE_SELECT_SIMULATOR_SELECTOR: 'input'\n @_PLACEHOLDER_ATTRIBUTE: 'placeholder'\n @_MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS: 'fm-select-multiple-placeholder'\n @_DEFAULT_SELECTED_OPTION_ATTRIBUTE: 'data-fm-select-default-selected'\n @_INITED_ATTRIBUTE: 'data-fm-select-inited'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: ['selected']\n\n select: (indexOrIndexArray) ->\n if @_$select.multiple\n if @_$multipleSelectPlaceholder\n selectedIndexes = indexOrIndexArray\n else\n selectedIndexes = indexOrIndexArray.map (index) -> index + 1\n Array.from(@_$select.options).forEach ($option, index) ->\n $option.selected = selectedIndexes.includes index\n @_markSelectedOption()\n else\n @_$select.selectedIndex = selectedIndex\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _getConfig: ->\n _$select = luda.$child @constructor._SELECT_SELECTOR, @_$component\n _$singleSelectSimulator = luda.$child \\\n @constructor._SINGLE_SELECT_SIMULATOR_SELECTOR, @_$component\n _$multipleSelectPlaceholder = luda.$child \\\n \".#{@constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS}\", @_$component\n _$defaultSelectedOptions = luda.$children \\\n \"[#{@constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE}]\", @_$component\n _defaultSelectedOptionMarked = @_$component.hasAttribute \\\n @constructor._INITED_ATTRIBUTE\n {\n _$select,\n _$singleSelectSimulator,\n _$multipleSelectPlaceholder,\n _$defaultSelectedOptions,\n _defaultSelectedOptionMarked\n }\n\n _constructor: ->\n {\n @_$select,\n @_$singleSelectSimulator,\n @_$multipleSelectPlaceholder,\n @_$defaultSelectedOptions,\n @_defaultSelectedOptionMarked\n } = @_getConfig()\n if @_$select\n if @_$select.multiple\n @_initMultipleSelect()\n else\n @_initSingleSelect()\n \n _onMutations: ->\n @_constructor()\n\n _markSelectedOption: ->\n @_disconnect() if @_observer\n Array.from(@_$select.options).forEach ($option) ->\n if $option.selected\n $option.setAttribute 'selected', 'selected'\n else\n $option.removeAttribute 'selected'\n @_observe() unless @_observer\n\n _markDefaultSelectedOption: ->\n @_$component.setAttribute @constructor._INITED_ATTRIBUTE, ''\n Array.from(@_$select.options).forEach ($option) =>\n if $option.selected\n $option.setAttribute @constructor._DEFAULT_SELECTED_OPTION_ATTRIBUTE, ''\n\n _setSingleSelectedDefaultSelectedOption: ->\n hasSelected = Array.from(@_$select.options).some ($option) ->\n $option.getAttribute('selected') is 'selected'\n @_$select.selectedIndex = -1 unless hasSelected\n\n _insertSingleSelectSimulator: ->\n @_$singleSelectSimulator = document.createElement 'input'\n @_$singleSelectSimulator.tabIndex = -1\n luda.$after @_$singleSelectSimulator, @_$select\n\n _setSingleSelectPlaceholderValue: ->\n @_$singleSelectSimulator.placeholder = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _setSingleSelectSimulatorValue: ->\n if $selectedOption = @_$select.options[@_$select.selectedIndex]\n @_$singleSelectSimulator.value = $selectedOption.innerText\n else\n @_$singleSelectSimulator.value = ''\n\n _initSingleSelect: ->\n @_insertSingleSelectSimulator() unless @_$singleSelectSimulator\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_setSingleSelectedDefaultSelectedOption()\n @_setSingleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n @_setSingleSelectSimulatorValue()\n @_markSelectedOption()\n\n _insertMultipleSelectBlankOption: ->\n @_$multipleSelectPlaceholder = document.createElement 'option'\n @_$multipleSelectPlaceholder.className = \\\n @constructor._MULTIPLE_SELECT_PLACEHOLDER_CSS_CLASS\n @_$multipleSelectPlaceholder.disabled = true\n luda.$prepend @_$multipleSelectPlaceholder, @_$select\n\n _setMultipleSelectPlaceholderValue: ->\n @_$multipleSelectPlaceholder.innerText = @_$select.getAttribute \\\n @constructor._PLACEHOLDER_ATTRIBUTE\n\n _initMultipleSelect: ->\n unless @_$multipleSelectPlaceholder\n if @_$select.hasAttribute @constructor._PLACEHOLDER_ATTRIBUTE\n @_insertMultipleSelectBlankOption()\n @_setMultipleSelectPlaceholderValue()\n @_markDefaultSelectedOption() unless @_defaultSelectedOptionMarked\n\n _reset: ->\n if @_$select\n Array.from(@_$select.options).forEach ($option) =>\n $option.selected = @_$defaultSelectedOptions.includes $option\n @_setSingleSelectSimulatorValue() unless @_$select.multiple\n @_markSelectedOption()\n\n @_init: ->\n self = this\n luda.on 'change', \"#{@_SELECTOR} #{@_SELECT_SELECTOR}\", (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._setSingleSelectSimulatorValue() unless this.multiple\n instance._markSelectedOption()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._reset()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'carousel'\n\n @_SELECTOR: '.carousel'\n @_ITEMS_SELECTOR: '.carousel-item'\n @_PREV_CONTROL_SELECTOR: '.carousel-prev'\n @_NEXT_CONTROL_SELECTOR: '.carousel-next'\n @_INDICATORS_SELECTOR: '.carousel-indicators .btn'\n @_INTERVAL_ATTRIBUTE: 'data-carousel-interval'\n @_WRAP_ATTRIBUTE: 'data-carousel-wrap'\n @_ITEM_ACTIVE_CSS_CLASS: 'carousel-item-active'\n @_ITEM_NEXT_CSS_CLASS: 'carousel-item-next'\n @_ITEM_PREV_CSS_CLASS: 'carousel-item-prev'\n @_ACTIVE_INDEX: 0\n @_INTERVAL: 5000\n @_WRAP: true\n @_FALSE: 'false'\n @_ACTIVE_EVENT_TYPE: \"#{@_SCOPE}:active\"\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVE_EVENT_TYPE: \"#{@_SCOPE}:deactive\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [@_INTERVAL_ATTRIBUTE, @_WRAP_ATTRIBUTE]\n \n # public\n active: (index) ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n action = if index < activedIndex then '_slidePrev' else '_slideNext'\n @[action] @_$items[activedIndex], activedIndex\n\n next: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex + 1\n if index > @_$items.length - 1\n return unless @_wrap\n index = 0\n @_transiting = true\n @_activeIndex = index\n @_slideNext @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n prev: ->\n if @_$items.length and not @_transiting\n activedIndex = @_activeIndex\n index = activedIndex - 1\n if index < 0\n return unless @_wrap\n index = @_$items.length - 1\n @_transiting = true\n @_activeIndex = index\n @_slidePrev @_$items[activedIndex], activedIndex\n @_playTimeStamp = Date.now()\n @_pausedRemainTime = @_interval\n\n pause: ->\n if @_intervaling?\n clearInterval @_intervaling\n @_intervaling = null\n @_pausedRemainTime = @_pausedRemainTime - (Date.now() - @_playTimeStamp)\n\n play: ->\n if @_interval and @_$items.length > 1\n @_playTimeStamp = Date.now()\n @pause()\n execute = =>\n @next()\n @_intervaling = setInterval @next.bind(this), @_interval\n @_intervaling = setTimeout execute, @_pausedRemainTime\n\n\n # private\n _getConfig: ->\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATORS_SELECTOR, @_$component, @constructor._SELECTOR\n _$prevControl = luda.$child \\\n @constructor._PREV_CONTROL_SELECTOR, @_$component\n _$nextControl = luda.$child \\\n @constructor._NEXT_CONTROL_SELECTOR, @_$component\n _activeIndex = _$items.indexOf \\\n luda.$child \".#{@constructor._ITEM_ACTIVE_CSS_CLASS}\", @_$component\n _activeIndex = @constructor._ACTIVE_INDEX if _activeIndex is -1\n _interval = @_$component.getAttribute(@constructor._INTERVAL_ATTRIBUTE)\n if _interval is @constructor._FALSE\n _interval = false\n else\n _interval = Math.abs(parseInt _interval, 10) or @constructor._INTERVAL\n _wrap = @_$component.getAttribute(@constructor._WRAP_ATTRIBUTE)\n _wrap = if _wrap is @constructor._FALSE then false else @constructor._WRAP\n {\n _$items,\n _$indicators,\n _$prevControl,\n _$nextControl,\n _activeIndex,\n _interval,\n _wrap\n }\n\n _constructor: ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_transiting = false\n @_intervaling = null\n @_playTimeStamp = 0\n @_pausedRemainTime = @_interval\n @_layout()\n @play()\n\n _onMutations: (mutations) ->\n {\n @_$items,\n @_$indicators,\n @_$prevControl,\n @_$nextControl,\n @_activeIndex,\n @_interval,\n @_wrap\n } = @_getConfig()\n @_setIndicatorsState()\n @_setDirectionControlState()\n @play()\n\n _destroy: ->\n @pause()\n\n _layout: ->\n @_$items.forEach ($item, index) =>\n $item.style.transition = 'none'\n if index > @_activeIndex\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else if index < @_activeIndex\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n else\n luda.dispatch($item, @constructor._ACTIVED_EVENT_TYPE, index)\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow($item)\n $item.style.transition = ''\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slideNext: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_PREV_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _slidePrev: ($activedItem, activedIndex) ->\n if @_$items.length > 1\n $item = @_$items[@_activeIndex]\n luda.dispatch($item, \\\n @constructor._ACTIVE_EVENT_TYPE, @_activeIndex)\n $item.style.transition = 'none'\n $item.classList.remove @constructor._ITEM_NEXT_CSS_CLASS\n $item.classList.add @constructor._ITEM_PREV_CSS_CLASS\n luda.reflow $item\n $item.style.transition = ''\n $item.classList.remove @constructor._ITEM_PREV_CSS_CLASS\n $item.classList.add @constructor._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch($activedItem, \\\n @constructor._DEACTIVE_EVENT_TYPE, activedIndex)\n $activedItem.classList.remove @constructor._ITEM_ACTIVE_CSS_CLASS\n $activedItem.classList.add @constructor._ITEM_NEXT_CSS_CLASS\n @_setIndicatorsState()\n @_setDirectionControlState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n $indicator.disabled = index is @_activeIndex\n\n _setDirectionControlState: ->\n if @_$items.length <= 1\n @_$prevControl?.disabled = @_$nextControl?.disabled = true\n else\n @_$prevControl?.disabled = @_activeIndex is 0 and not @_wrap\n @_$nextControl?.disabled = \\\n @_activeIndex is @_$items.length - 1 and not @_wrap\n \n # static private\n @_init: ->\n self = this\n luda.on 'transitionend', @_ITEMS_SELECTOR, (e) ->\n instance = self.query(luda.$parent self._SELECTOR, this)\n instance._transiting = false\n index = instance._$items.indexOf this\n if this.classList.contains self._ITEM_ACTIVE_CSS_CLASS\n luda.dispatch(this, self._ACTIVED_EVENT_TYPE, index)\n else\n luda.dispatch(this, self._DEACTIVED_EVENT_TYPE, index)\n luda.on 'click', @_INDICATORS_SELECTOR, (e) ->\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this\n luda.on 'touchstart', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'touchend', @_SELECTOR, (e) ->\n setTimeout => self.query(this).play()\n luda.on 'mouseover', @_SELECTOR, (e) ->\n self.query(this).pause()\n luda.on 'mouseout', @_SELECTOR, (e) ->\n self.query(this).play()\n luda.on luda._SWIPE_LEFT_OR_UP, @_SELECTOR, (startE, e) ->\n self.query(this).next()\n luda.on luda._SWIPE_RIGHT_OR_DOWN, @_SELECTOR, (startE, e) ->\n self.query(this).prev()\n luda.on 'click', @_PREV_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).prev()\n luda.on 'click', @_NEXT_CONTROL_SELECTOR, (e) ->\n self.query(luda.$parent self._SELECTOR, this).next()","import '../install.coffee'\nimport '../constants.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'dropdown'\n @_SELECTOR: '.dropdown-fixed,.dropdown-absolute,\n .dropdown-static,.dropdown-absolute-m'\n @_MENU_SELECTOR: '.dropdown-menu'\n @_ITEMS_SELECTOR: 'a[href]:not([disabled]),button:not([disabled]),\n input:not([disabled]),[tabindex]:not([disabled])'\n @_TOGGLE_ATTRIBUTE: 'data-dropdown-toggle'\n @_NONE_TOGGLE_ATTRIBUTE: 'data-dropdown-none-toggle'\n @_STANDALONE_ATTRIBUTE: 'data-dropdown-standalone'\n @_SWITCHES_SELECTOR: \"[#{@_TOGGLE_ATTRIBUTE}]\"\n @_NONE_SWITCHES_SELECTOR: \"[#{@_NONE_TOGGLE_ATTRIBUTE}]\"\n @_ACTIVE_CSS_CLASS: 'dropdown-active'\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n @_TOGGLE_ATTRIBUTE\n @_NONE_TOGGLE_ATTRIBUTE\n @_STANDALONE_ATTRIBUTE\n ]\n\n @_$focused: []\n\n active: ->\n unless @_actived()\n @_$component.classList.add @constructor._ACTIVE_CSS_CLASS\n @constructor._$focused.push document.activeElement\n @_parent?.active()\n luda.dispatch(@_$component, @constructor._ACTIVED_EVENT_TYPE)\n\n deactive: (focus) ->\n if @_actived()\n @_$component.classList.remove @constructor._ACTIVE_CSS_CLASS\n @_children.forEach (child) -> child.deactive()\n if focus\n @constructor._$focused[@constructor._$focused.length - 1]?.focus()\n @constructor._$focused.splice @constructor._$focused.length - 1, 1\n luda.dispatch(@_$component, @constructor._DEACTIVED_EVENT_TYPE)\n\n toggle: (focus) ->\n if @_actived() then @deactive(focus) else @active()\n\n prev: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) - 1\n focusIndex = 0 if focusIndex < 0\n @_$items[focusIndex].focus()\n\n next: ->\n if @_$items.length and @_actived()\n focusIndex = @_$items.indexOf(document.activeElement) + 1\n focusIndex = @_$items.length - 1 if focusIndex > @_$items.length - 1\n @_$items[focusIndex].focus()\n\n _getConfig: ->\n _$menu = luda.$child @constructor._MENU_SELECTOR, @_$component\n _$switches = luda.$unnested( \\\n @constructor._SWITCHES_SELECTOR, @_$component, @constructor._SELECTOR)\n .concat(luda.$unnested \\\n @constructor._SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$noneSwitches = luda.$unnested( \\\n @constructor._NONE_SWITCHES_SELECTOR, \\\n @_$component, @constructor._SELECTOR) \\\n .concat(luda.$unnested \\\n @constructor._NONE_SWITCHES_SELECTOR, _$menu, @constructor._MENU_SELECTOR)\n _$items = luda.$unnested \\\n @constructor._ITEMS_SELECTOR, _$menu, @constructor._MENU_SELECTOR\n _isStandalone = @_$component.hasAttribute @constructor._STANDALONE_ATTRIBUTE\n {_$items, _$switches, _$noneSwitches, _isStandalone}\n\n _constructor: ->\n {\n @_$items,\n @_$switches,\n @_$noneSwitches,\n @_isStandalone\n } = @_getConfig()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _actived: ->\n @_$component.classList.contains @constructor._ACTIVE_CSS_CLASS\n\n _deactiveChildrenExcept: (exceptions) ->\n if exceptions and not (exceptions instanceof Array)\n exceptions = [exceptions]\n if exceptions\n @_children.forEach (child) ->\n child.deactive() if child._actived() and not exceptions.includes child\n else\n @_children.forEach (child) ->\n child.deactive() if child._actived()\n\n @deactiveExcept: (instances$dropdowns) ->\n exceptions = []\n if instances$dropdowns and not (instances$dropdowns instanceof Array)\n instances$dropdowns = [instances$dropdowns]\n if instances$dropdowns\n instances$dropdowns.forEach (instance$dropdown) =>\n exceptions.push exception if exception = @query instance$dropdown\n if exceptions.length\n @_instances.forEach (instance) ->\n instanceIsntInExceptions = not exceptions.includes instance\n instanceHasntExceptionChild = exceptions.every (exception) ->\n not instance._hasDescendant exception\n if instance._actived() \\\n and instanceIsntInExceptions \\\n and instanceHasntExceptionChild\n instance.deactive()\n else\n @_instances.forEach (instance) ->\n instance.deactive() if instance._actived()\n\n @_standaloneInstances: ->\n @_instances.filter (instance) -> instance if instance._isStandalone\n\n @_init: ->\n self = this\n luda.onOpposite 'click', @_SELECTOR, (e) ->\n self.deactiveExcept self._standaloneInstances()\n luda.on 'click', @_SELECTOR, (e) ->\n if instance = self.query this\n toggleChecked = false\n focus = not e.detail\n self.deactiveExcept(self._standaloneInstances().concat instance)\n instance._deactiveChildrenExcept()\n instance._parent._deactiveChildrenExcept(instance) if instance._parent\n if instance._$switches.length or instance._$noneSwitches.length\n luda.eventPath(e).some ($path) ->\n if instance._$switches.includes $path\n instance.toggle focus\n toggleChecked = true\n else if instance._$noneSwitches.includes $path\n toggleChecked = true\n instance.toggle focus unless toggleChecked\n\n luda.onOpposite 'keyup', @_SELECTOR, (e) -> self.deactiveExcept()\n luda.on 'keyup', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_TAB and instance = self.query this\n self.deactiveExcept(instance)\n instance.active()\n luda.on 'keydown', @_SELECTOR, (e) ->\n if e.keyCode is luda.KEY_ESC and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.deactive true\n else\n instance._parent?.deactive true\n luda.on 'keydown', @_SELECTOR, (e) ->\n if [luda.KEY_LEFT, luda.KEY_UP].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.prev()\n else\n instance._parent?.prev()\n else if [luda.KEY_RIGHT, luda.KEY_DOWN].includes(e.keyCode) \\\n and instance = self.query this\n e.preventDefault()\n if instance._actived()\n instance.next()\n else\n instance._parent?.next()","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\nimport '../behaviours/focus.coffee'\nimport '../behaviours/enter-click.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'fmDropdown'\n\n @_SELECTOR: '.fm-dropdown'\n @_VALUE_SPLITOR: ' '\n @_VALUE_ATTRIBUTE: 'data-fm-dropdown-value'\n @_VALUE_SELECTOR: '.dropdown-items .btn-radio input,\n .dropdown-items .btn-check input'\n @_DEFAULT_VALUE_SELECTOR: '.dropdown-items .btn-radio label,\n .dropdown-items .btn-check label'\n @_VALUE_HOLDER_SELECTOR: '.fm input'\n @_ENTER_CLICK_VALUE_HOLDER_SELECTOR: '.fm-dropdown .fm input'\n\n @_observerConfig:\n childList: true\n attributes: true\n subtree: true\n attributeFilter: [\n 'checked'\n @_VALUE_ATTRIBUTE\n ]\n\n _getConfig: ->\n _$values = luda.$children @constructor._VALUE_SELECTOR, @_$component\n _$defaultValues = luda.$children \\\n @constructor._DEFAULT_VALUE_SELECTOR, @_$component\n _$valueHolder = luda.$child \\\n @constructor._VALUE_HOLDER_SELECTOR, @_$component\n {_$values, _$valueHolder, _$defaultValues}\n\n _constructor: ->\n {\n @_$values,\n @_$valueHolder,\n @_$defaultValues\n } = @_getConfig()\n @_setValueHolderAttribute()\n @_setValueHolderValue()\n\n _onMutations: ->\n @_constructor()\n\n _setValueHolderValue: ->\n values = []\n @_$values.forEach ($value, index) =>\n if $value.checked\n if $value.hasAttribute @constructor._VALUE_ATTRIBUTE\n value = $value.getAttribute @constructor._VALUE_ATTRIBUTE\n else\n value = @_$defaultValues[index].innerText\n values.push value if value and not values.includes value\n if @_$valueHolder\n @_$valueHolder.value = values.join @constructor._VALUE_SPLITOR\n\n _setValueHolderAttribute: ->\n @_$valueHolder.setAttribute('readonly', '') if @_$valueHolder\n\n @_init: ->\n self = this\n luda.enterClick._add @_ENTER_CLICK_VALUE_HOLDER_SELECTOR\n luda.on 'change', \"#{@_SELECTOR} #{@_VALUE_SELECTOR}\", (e) ->\n self.query(luda.$parent self._SELECTOR, this)._setValueHolderValue()\n luda.on luda._FORM_RESET, @_SELECTOR, (e) ->\n setTimeout => self.query(this)._setValueHolderValue()\n # prevent ios device pop out wired navigation pannel\n if /iphone/i.test(navigator.userAgent) or /ipad/i.test(navigator.userAgent)\n luda.on 'focusin', @_ENTER_CLICK_VALUE_HOLDER_SELECTOR, (e) ->\n this.blur()\n this.classList.add luda.focus._CSS_CLASS","import '../install.coffee'\nimport '../dom.coffee'\nimport '../event.coffee'\nimport '../component.coffee'\n\n\n\nluda class extends luda.Component\n\n @_SCOPE: 'tab'\n\n @_SELECTOR: '.tab'\n @_PANE_SELECTOR: '.tab-pane'\n @_INDICATOR_SELECTOR: '.tab-indicators .btn-radio input[type=radio]'\n @_PANE_ACTIVE_CSS_CLASS: 'tab-pane-active'\n @_ACTIVE_INDEX: 0\n @_ACTIVED_EVENT_TYPE: \"#{@_SCOPE}:actived\"\n @_DEACTIVED_EVENT_TYPE: \"#{@_SCOPE}:deactived\"\n\n @_observerConfig:\n childList: true\n subtree: true\n \n # public\n active: (index) ->\n if @_$panes.length\n activedIndex = @_activeIndex\n if index? \\\n and index isnt @_activeIndex \\\n and 0 <= index <= @_$panes.length - 1\n @_activeIndex = index\n @_active(activedIndex)\n\n # private\n _getConfig: ->\n _$panes = luda.$unnested \\\n @constructor._PANE_SELECTOR, @_$component, @constructor._SELECTOR\n _$indicators = luda.$unnested \\\n @constructor._INDICATOR_SELECTOR, @_$component, @constructor._SELECTOR\n _activeIndex = @constructor._ACTIVE_INDEX\n _$indicators.some ($indicator, index) ->\n if $indicator.checked\n _activeIndex = index\n true\n {_$panes, _$indicators, _activeIndex}\n\n _constructor: ->\n {\n @_$panes,\n @_$indicators,\n @_activeIndex\n } = @_getConfig()\n @_active()\n\n _onMutations: (mutations) ->\n @_constructor()\n\n _active: (activedIndex) ->\n @_$panes.forEach ($pane, index) =>\n if index is @_activeIndex\n $pane.classList.add @constructor._PANE_ACTIVE_CSS_CLASS\n luda.dispatch($pane, @constructor._ACTIVED_EVENT_TYPE, index)\n else\n $pane.classList.remove @constructor._PANE_ACTIVE_CSS_CLASS\n if index is activedIndex\n luda.dispatch($pane, @constructor._DEACTIVED_EVENT_TYPE, index)\n @_setIndicatorsState()\n\n _setIndicatorsState: ->\n @_$indicators.forEach ($indicator, index) =>\n if index is @_activeIndex\n $indicator.setAttribute 'checked', ''\n else\n $indicator.removeAttribute 'checked'\n\n # static private\n @_init: ->\n self = this\n luda.on 'change', @_INDICATOR_SELECTOR, (e) ->\n if this.checked\n instance = self.query luda.$parent self._SELECTOR, this\n instance.active instance._$indicators.indexOf this"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Luda 0.1.5 | https://luda.dev
2
+ * Luda 0.1.6 | https://luda.dev
3
3
  * Copyright 2018 oatw | https://oatw.blog
4
4
  * MIT license | http://opensource.org/licenses/MIT
5
5
  */
@@ -1,430 +1,430 @@
1
- +install(shared-base)
2
- // sass-lint:disable max-file-line-count
3
-
4
- // Based on sanitize.css v6.0.0 CC0 License
5
- // github.com/csstools/sanitize.css
6
-
7
-
8
-
9
- // Document
10
- // ==========================================================================
11
-
12
- // 1. Remove repeating backgrounds in all browsers (opinionated).
13
- // 2. Add border box sizing in all browsers (opinionated).
14
- *,
15
- ::before,
16
- ::after
17
- box-sizing: border-box // 2
18
- background-repeat: no-repeat // 1
19
-
20
- // 1. Add text decoration inheritance in all browsers (opinionated).
21
- // 2. Add vertical alignment inheritance in all browsers (opinionated).
22
- ::before,
23
- ::after
24
- vertical-align: inherit // 2
25
- text-decoration: inherit // 1
26
-
27
- // change firefox tap highlight default gray background color
28
- a:active,
29
- label:active
30
- background-color: $base-tap-highlight-color
31
-
32
- // 1. Add the default cursor in all browsers (opinionated).
33
- // 2. Breaks words to prevent prevent overflow in all browsers (opinionated).
34
- // 3. Prevent adjustments of font size after orientation changes
35
- // in IE on Windows Phone and in iOS.
36
- html
37
- font-size: _baseline-height-px(1)
38
- word-break: $base-word-break // 2
39
- cursor: $base-cursor // 1
40
- font-family: $typography-main
41
- text-rendering: $base-text-rendering
42
- text-underline-position: $base-text-underline-position
43
- background: $base-html-background
44
- -ms-text-size-adjust: 100% // 3
45
- -webkit-text-size-adjust: 100% // 3
46
- -webkit-font-smoothing: $base-webkit-font-smoothing
47
- -moz-osx-font-smoothing: $base-moz-font-smoothing
48
- -webkit-tap-highlight-color: $base-tap-highlight-color
49
- -webkit-touch-callout: $base-webkit-touch-callout
50
-
51
- // fix ios safari not fire mouse event on some elements
52
- +browser-ios-safari
53
- html
54
- cursor: pointer
55
-
56
- +browser-firefox
57
- html
58
- color: transparent
59
-
60
- body
61
- color: if($typography-main-color, null, initial)
62
-
63
-
64
-
65
- body
66
- min-height: $base-body-min-height
67
- margin: 0 // 1
68
- font-size: px-to-rem($typography-main-size-px)
69
- line-height: $typography-main-line-height-ratio // 2
70
- color: $typography-main-color
71
- background: $base-body-background
72
-
73
- // Correct the font size and margin on `h1` elements
74
- // within `section` and `article` contexts in Chrome, Firefox, and Safari.
75
- h1
76
- margin: 0
77
- font-size: typo-size(1)
78
-
79
- h2,
80
- h3,
81
- h4,
82
- h5,
83
- h6,
84
- p,
85
- blockquote,
86
- figure
87
- margin: 0
88
-
89
-
90
-
91
- // Grouping content
92
- // ==========================================================================
93
-
94
- // 1. Add the correct box sizing in Firefox.
95
- // 2. Show the overflow in Edge and IE.
96
- hr
97
- box-sizing: content-box // 1
98
- flex-shrink: 0
99
- width: 100%
100
- height: 0 // 1
101
- margin: 0
102
- border: none
103
- overflow: visible // 2
104
-
105
- // Add the correct display in IE.
106
- main
107
- display: block
108
-
109
- ul,
110
- ol,
111
- dl,
112
- dd
113
- margin: 0
114
-
115
- ul,
116
- ol
117
- padding: 0
118
-
119
- // Remove the list style on navigation lists in all browsers (opinionated).
120
- nav ol,
121
- nav ul
122
- list-style: none
123
-
124
- // 1. Correct the inheritance and scaling of font size in all browsers.
125
- // 2. Correct the odd `em` font sizing in all browsers.
126
- pre
127
- margin: 0
128
- font-size: 1em // 2
129
- word-break: if($base-word-break, normal, null)
130
- overflow: auto
131
- -webkit-overflow-scrolling: touch
132
- font-family: monospace, monospace // 1
133
-
134
-
135
-
136
- // Text-level semantics
137
- // ==========================================================================
138
-
139
- // 1. Remove the gray background on active links in IE 10.
140
- a
141
- cursor: pointer
142
- background-color: transparent // 1
143
-
144
- // 1. Add the correct text decoration in Edge, IE, Opera, and Safari.
145
- abbr[title]
146
- cursor: help
147
- text-decoration: underline dotted // 1
148
-
149
- // Add the correct font weight in Chrome, Edge, and Safari.
150
- b,
151
- strong
152
- font-weight: 700
153
-
154
- // 1. Correct the inheritance and scaling of font size in all browsers.
155
- // 2. Correct the odd `em` font sizing in all browsers.
156
- code,
157
- kbd,
158
- samp
159
- font-size: 1em // 2
160
- font-family: monospace, monospace // 1
161
-
162
- // Add the correct font size in all browsers.
163
- small
164
- font-size: 100% / $typography-size-scale-ratio
165
-
166
- // Remove the text shadow on text selections in Firefox 61- (opinionated).
167
- // 1. Restore the coloring undone by defining the text shadow
168
- // in all browsers (opinionated).
169
- ::-moz-selection
170
- color: $base-selection-color // 1
171
- text-shadow: none
172
- background-color: $base-selection-background-color // 1
173
-
174
- ::selection
175
- color: $base-selection-color // 1
176
- text-shadow: none
177
- background-color: $base-selection-background-color // 1
178
-
179
-
180
-
181
- // Embedded content
182
- // ==========================================================================
183
-
184
- // Change the alignment on media elements in all browers (opinionated).
185
- audio,
186
- canvas,
187
- iframe,
188
- img,
189
- svg,
190
- video
191
- vertical-align: top
192
-
193
- // Add the correct display in IE 9-.
194
- audio,
195
- video
196
- display: inline-block
197
-
198
- // Add the correct display in iOS 4-7.
199
- audio:not([controls])
200
- display: none
201
- height: 0
202
-
203
- // Remove the border on images inside links in IE 10-.
204
- img
205
- border-style: none
206
-
207
- iframe
208
- border: none
209
-
210
- // Change the fill color to match the text color in all browsers (opinionated).
211
- svg
212
- fill: currentColor
213
-
214
- // Hide the overflow in IE.
215
- svg:not(:root)
216
- overflow: hidden
217
-
218
-
219
-
220
- // Tabular data
221
- // ==========================================================================
222
-
223
- // Collapse border spacing in all browsers (opinionated).
224
- table
225
- border-collapse: collapse
226
-
227
- th,
228
- td
229
- padding: 0
230
-
231
-
232
-
233
- // Forms
234
- // ==========================================================================
235
-
236
- // Remove the margin in Firefox and Safari.
237
- button,
238
- input,
239
- optgroup,
240
- select,
241
- textarea
242
- margin: 0
243
-
244
- // Inherit styling in all browsers (opinionated).
245
- button,
246
- input,
247
- select,
248
- textarea
249
- font-size: inherit
250
- line-height: inherit
251
- color: inherit
252
- font-family: inherit
253
- border-radius: 0
254
-
255
- // prevent word break in safari
256
- button,
257
- input,
258
- select,
259
- textarea,
260
- optgroup,
261
- option
262
- word-break: if($base-word-break, normal, null)
263
-
264
- // 1. Show the overflow in IE.
265
- // 2. Remove the inheritance of text transform in Edge, Firefox, and IE.
266
- button
267
- overflow: visible // 1
268
- text-transform: none // 2
269
-
270
- // Correct the inability to style clickable types in iOS and Safari.
271
- button,
272
- [type=button],
273
- [type=reset],
274
- [type=submit]
275
- -webkit-appearance: button
276
-
277
- // Restore the focus styles unset by the previous rule in Firefox.
278
- button:-moz-focusring,
279
- [type=button]:-moz-focusring,
280
- [type=reset]:-moz-focusring,
281
- [type=submit]:-moz-focusring
282
- outline: 1px dotted ButtonText
283
-
284
- // Remove the inner border and padding in Firefox.
285
- ::-moz-focus-inner
286
- padding: 0
287
- border-style: none
288
-
289
- // 1. Correct the padding in Firefox.
290
- fieldset
291
- padding: 0 // 1
292
- margin: 0
293
- border: none
294
-
295
- // Show the overflow in Edge and IE.
296
- input
297
- overflow: visible
298
-
299
- // 1. Correct the text wrapping in Edge and IE.
300
- // 2. Correct the color inheritance from `fieldset` elements in IE.
301
- // 3. Remove the padding so developers are not caught out
302
- // when they zero out `fieldset` elements in all browsers.
303
- legend
304
- box-sizing: border-box // 1
305
- display: table // 1
306
- max-width: 100% // 1
307
- padding: 0 // 3
308
- white-space: normal // 1
309
- color: inherit // 2
310
-
311
- // 1. Add the correct display in Edge and IE.
312
- // 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
313
- progress
314
- display: inline-block // 1
315
- vertical-align: top // 2
316
-
317
- // Remove the inheritance of text transform in Firefox.
318
- select
319
- text-transform: none
320
-
321
- // 1. Remove the default vertical scrollbar in IE.
322
- // 2. Change the resize direction on textareas in all browsers (opinionated).
323
- textarea
324
- overflow: auto // 1
325
- -webkit-overflow-scrolling: touch
326
- resize: vertical // 2
327
-
328
- // 1. Add the correct box sizing in IE 10-.
329
- // 2. Remove the padding in IE 10-.
330
- [type=checkbox],
331
- [type=radio]
332
- box-sizing: border-box // 1
333
- padding: 0 // 2
334
-
335
- // Correct the cursor style of increment and decrement buttons in Chrome.
336
- ::-webkit-inner-spin-button,
337
- ::-webkit-outer-spin-button
338
- height: auto
339
-
340
- // 1. Correct the odd appearance in Chrome and Safari.
341
- // 2. Correct the outline style in Safari.
342
- [type=search]
343
- -webkit-appearance: textfield // 1
344
- outline-offset: -2px // 2
345
-
346
- // Remove the inner padding in Chrome and Safari on macOS.
347
- ::-webkit-search-decoration
348
- -webkit-appearance: none
349
-
350
- // 1. Correct the inability to style clickable types in iOS and Safari.
351
- // 2. Change font properties to `inherit` in Safari.
352
- ::-webkit-file-upload-button
353
- -webkit-appearance: button // 1
354
- font: inherit // 2
355
-
356
-
357
-
358
- // Interactive
359
- // ==========================================================================
360
-
361
- // Add the correct display in Edge and IE.
362
- details
363
- display: block
364
-
365
- // Add the correct display in all browsers.
366
- summary
367
- display: list-item
368
-
369
-
370
-
371
- // Scripting
372
- // ==========================================================================
373
-
374
- // Add the correct display in IE 9-.
375
- canvas
376
- display: inline-block
377
-
378
- // Add the correct display in IE.
379
- template
380
- display: none
381
-
382
-
383
-
384
- // User interaction
385
- // ==========================================================================
386
-
387
- // 1. Remove the tapping delay on clickable elements
388
- // in all browsers (opinionated).
389
- // 2. Remove the tapping delay in IE 10.
390
- a,
391
- area,
392
- button,
393
- input,
394
- label,
395
- select,
396
- summary,
397
- textarea,
398
- [tabindex]
399
- -ms-touch-action: manipulation // 1
400
- touch-action: manipulation // 2
401
-
402
- // Add the correct display in IE 10-.
403
- [hidden]
404
- display: none
405
-
406
-
407
-
408
- // Accessibility
409
- // ==========================================================================
410
-
411
- // Change the cursor on busy elements in all browsers (opinionated).
412
- [aria-busy=true]
413
- cursor: progress
414
-
415
- // Change the cursor on control elements in all browsers (opinionated).
416
- [aria-controls]
417
- cursor: pointer
418
-
419
- // Change the cursor on disabled, not-editable, or otherwise inoperable elements
420
- // in all browsers (opinionated).
421
- [aria-disabled],
422
- [disabled]
423
- cursor: not-allowed
424
-
425
- // Change the display on visually hidden accessible elements
426
- // in all browsers (opinionated).
427
- [aria-hidden=false][hidden]:not(:focus)
428
- display: inherit
429
- position: absolute
1
+ +install(shared-base)
2
+ // sass-lint:disable max-file-line-count
3
+
4
+ // Based on sanitize.css v6.0.0 CC0 License
5
+ // github.com/csstools/sanitize.css
6
+
7
+
8
+
9
+ // Document
10
+ // ==========================================================================
11
+
12
+ // 1. Remove repeating backgrounds in all browsers (opinionated).
13
+ // 2. Add border box sizing in all browsers (opinionated).
14
+ *,
15
+ ::before,
16
+ ::after
17
+ box-sizing: border-box // 2
18
+ background-repeat: no-repeat // 1
19
+
20
+ // 1. Add text decoration inheritance in all browsers (opinionated).
21
+ // 2. Add vertical alignment inheritance in all browsers (opinionated).
22
+ ::before,
23
+ ::after
24
+ vertical-align: inherit // 2
25
+ text-decoration: inherit // 1
26
+
27
+ // change firefox tap highlight default gray background color
28
+ a:active,
29
+ label:active
30
+ background-color: $base-tap-highlight-color
31
+
32
+ // 1. Add the default cursor in all browsers (opinionated).
33
+ // 2. Breaks words to prevent prevent overflow in all browsers (opinionated).
34
+ // 3. Prevent adjustments of font size after orientation changes
35
+ // in IE on Windows Phone and in iOS.
36
+ html
37
+ font-size: _baseline-height-px(1)
38
+ word-break: $base-word-break // 2
39
+ cursor: $base-cursor // 1
40
+ font-family: $typography-main
41
+ text-rendering: $base-text-rendering
42
+ text-underline-position: $base-text-underline-position
43
+ background: $base-html-background
44
+ -ms-text-size-adjust: 100% // 3
45
+ -webkit-text-size-adjust: 100% // 3
46
+ -webkit-font-smoothing: $base-webkit-font-smoothing
47
+ -moz-osx-font-smoothing: $base-moz-font-smoothing
48
+ -webkit-tap-highlight-color: $base-tap-highlight-color
49
+ -webkit-touch-callout: $base-webkit-touch-callout
50
+
51
+ // fix ios safari not fire mouse event on some elements
52
+ +browser-ios-safari
53
+ html
54
+ cursor: pointer
55
+
56
+ +browser-firefox
57
+ html
58
+ color: transparent
59
+
60
+ body
61
+ color: if($typography-main-color, null, initial)
62
+
63
+
64
+
65
+ body
66
+ min-height: $base-body-min-height
67
+ margin: 0 // 1
68
+ font-size: px-to-rem($typography-main-size-px)
69
+ line-height: $typography-main-line-height-ratio // 2
70
+ color: $typography-main-color
71
+ background: $base-body-background
72
+
73
+ // Correct the font size and margin on `h1` elements
74
+ // within `section` and `article` contexts in Chrome, Firefox, and Safari.
75
+ h1
76
+ margin: 0
77
+ font-size: typo-size(1)
78
+
79
+ h2,
80
+ h3,
81
+ h4,
82
+ h5,
83
+ h6,
84
+ p,
85
+ blockquote,
86
+ figure
87
+ margin: 0
88
+
89
+
90
+
91
+ // Grouping content
92
+ // ==========================================================================
93
+
94
+ // 1. Add the correct box sizing in Firefox.
95
+ // 2. Show the overflow in Edge and IE.
96
+ hr
97
+ box-sizing: content-box // 1
98
+ flex-shrink: 0
99
+ width: 100%
100
+ height: 0 // 1
101
+ margin: 0
102
+ border: none
103
+ overflow: visible // 2
104
+
105
+ // Add the correct display in IE.
106
+ main
107
+ display: block
108
+
109
+ ul,
110
+ ol,
111
+ dl,
112
+ dd
113
+ margin: 0
114
+
115
+ ul,
116
+ ol
117
+ padding: 0
118
+
119
+ // Remove the list style on navigation lists in all browsers (opinionated).
120
+ nav ol,
121
+ nav ul
122
+ list-style: none
123
+
124
+ // 1. Correct the inheritance and scaling of font size in all browsers.
125
+ // 2. Correct the odd `em` font sizing in all browsers.
126
+ pre
127
+ margin: 0
128
+ font-size: 1em // 2
129
+ word-break: if($base-word-break, normal, null)
130
+ overflow: auto
131
+ -webkit-overflow-scrolling: touch
132
+ font-family: monospace, monospace // 1
133
+
134
+
135
+
136
+ // Text-level semantics
137
+ // ==========================================================================
138
+
139
+ // 1. Remove the gray background on active links in IE 10.
140
+ a
141
+ cursor: pointer
142
+ background-color: transparent // 1
143
+
144
+ // 1. Add the correct text decoration in Edge, IE, Opera, and Safari.
145
+ abbr[title]
146
+ cursor: help
147
+ text-decoration: underline dotted // 1
148
+
149
+ // Add the correct font weight in Chrome, Edge, and Safari.
150
+ b,
151
+ strong
152
+ font-weight: 700
153
+
154
+ // 1. Correct the inheritance and scaling of font size in all browsers.
155
+ // 2. Correct the odd `em` font sizing in all browsers.
156
+ code,
157
+ kbd,
158
+ samp
159
+ font-size: 1em // 2
160
+ font-family: monospace, monospace // 1
161
+
162
+ // Add the correct font size in all browsers.
163
+ small
164
+ font-size: 100% / $typography-size-scale-ratio
165
+
166
+ // Remove the text shadow on text selections in Firefox 61- (opinionated).
167
+ // 1. Restore the coloring undone by defining the text shadow
168
+ // in all browsers (opinionated).
169
+ ::-moz-selection
170
+ color: $base-selection-color // 1
171
+ text-shadow: none
172
+ background-color: $base-selection-background-color // 1
173
+
174
+ ::selection
175
+ color: $base-selection-color // 1
176
+ text-shadow: none
177
+ background-color: $base-selection-background-color // 1
178
+
179
+
180
+
181
+ // Embedded content
182
+ // ==========================================================================
183
+
184
+ // Change the alignment on media elements in all browers (opinionated).
185
+ audio,
186
+ canvas,
187
+ iframe,
188
+ img,
189
+ svg,
190
+ video
191
+ vertical-align: top
192
+
193
+ // Add the correct display in IE 9-.
194
+ audio,
195
+ video
196
+ display: inline-block
197
+
198
+ // Add the correct display in iOS 4-7.
199
+ audio:not([controls])
200
+ display: none
201
+ height: 0
202
+
203
+ // Remove the border on images inside links in IE 10-.
204
+ img
205
+ border-style: none
206
+
207
+ iframe
208
+ border: none
209
+
210
+ // Change the fill color to match the text color in all browsers (opinionated).
211
+ svg
212
+ fill: currentColor
213
+
214
+ // Hide the overflow in IE.
215
+ svg:not(:root)
216
+ overflow: hidden
217
+
218
+
219
+
220
+ // Tabular data
221
+ // ==========================================================================
222
+
223
+ // Collapse border spacing in all browsers (opinionated).
224
+ table
225
+ border-collapse: collapse
226
+
227
+ th,
228
+ td
229
+ padding: 0
230
+
231
+
232
+
233
+ // Forms
234
+ // ==========================================================================
235
+
236
+ // Remove the margin in Firefox and Safari.
237
+ button,
238
+ input,
239
+ optgroup,
240
+ select,
241
+ textarea
242
+ margin: 0
243
+
244
+ // Inherit styling in all browsers (opinionated).
245
+ button,
246
+ input,
247
+ select,
248
+ textarea
249
+ font-size: inherit
250
+ line-height: inherit
251
+ color: inherit
252
+ font-family: inherit
253
+ border-radius: 0
254
+
255
+ // prevent word break in safari
256
+ button,
257
+ input,
258
+ select,
259
+ textarea,
260
+ optgroup,
261
+ option
262
+ word-break: if($base-word-break, normal, null)
263
+
264
+ // 1. Show the overflow in IE.
265
+ // 2. Remove the inheritance of text transform in Edge, Firefox, and IE.
266
+ button
267
+ overflow: visible // 1
268
+ text-transform: none // 2
269
+
270
+ // Correct the inability to style clickable types in iOS and Safari.
271
+ button,
272
+ [type=button],
273
+ [type=reset],
274
+ [type=submit]
275
+ -webkit-appearance: button
276
+
277
+ // Restore the focus styles unset by the previous rule in Firefox.
278
+ button:-moz-focusring,
279
+ [type=button]:-moz-focusring,
280
+ [type=reset]:-moz-focusring,
281
+ [type=submit]:-moz-focusring
282
+ outline: 1px dotted ButtonText
283
+
284
+ // Remove the inner border and padding in Firefox.
285
+ ::-moz-focus-inner
286
+ padding: 0
287
+ border-style: none
288
+
289
+ // 1. Correct the padding in Firefox.
290
+ fieldset
291
+ padding: 0 // 1
292
+ margin: 0
293
+ border: none
294
+
295
+ // Show the overflow in Edge and IE.
296
+ input
297
+ overflow: visible
298
+
299
+ // 1. Correct the text wrapping in Edge and IE.
300
+ // 2. Correct the color inheritance from `fieldset` elements in IE.
301
+ // 3. Remove the padding so developers are not caught out
302
+ // when they zero out `fieldset` elements in all browsers.
303
+ legend
304
+ box-sizing: border-box // 1
305
+ display: table // 1
306
+ max-width: 100% // 1
307
+ padding: 0 // 3
308
+ white-space: normal // 1
309
+ color: inherit // 2
310
+
311
+ // 1. Add the correct display in Edge and IE.
312
+ // 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
313
+ progress
314
+ display: inline-block // 1
315
+ vertical-align: top // 2
316
+
317
+ // Remove the inheritance of text transform in Firefox.
318
+ select
319
+ text-transform: none
320
+
321
+ // 1. Remove the default vertical scrollbar in IE.
322
+ // 2. Change the resize direction on textareas in all browsers (opinionated).
323
+ textarea
324
+ overflow: auto // 1
325
+ -webkit-overflow-scrolling: touch
326
+ resize: vertical // 2
327
+
328
+ // 1. Add the correct box sizing in IE 10-.
329
+ // 2. Remove the padding in IE 10-.
330
+ [type=checkbox],
331
+ [type=radio]
332
+ box-sizing: border-box // 1
333
+ padding: 0 // 2
334
+
335
+ // Correct the cursor style of increment and decrement buttons in Chrome.
336
+ ::-webkit-inner-spin-button,
337
+ ::-webkit-outer-spin-button
338
+ height: auto
339
+
340
+ // 1. Correct the odd appearance in Chrome and Safari.
341
+ // 2. Correct the outline style in Safari.
342
+ [type=search]
343
+ -webkit-appearance: textfield // 1
344
+ outline-offset: -2px // 2
345
+
346
+ // Remove the inner padding in Chrome and Safari on macOS.
347
+ ::-webkit-search-decoration
348
+ -webkit-appearance: none
349
+
350
+ // 1. Correct the inability to style clickable types in iOS and Safari.
351
+ // 2. Change font properties to `inherit` in Safari.
352
+ ::-webkit-file-upload-button
353
+ -webkit-appearance: button // 1
354
+ font: inherit // 2
355
+
356
+
357
+
358
+ // Interactive
359
+ // ==========================================================================
360
+
361
+ // Add the correct display in Edge and IE.
362
+ details
363
+ display: block
364
+
365
+ // Add the correct display in all browsers.
366
+ summary
367
+ display: list-item
368
+
369
+
370
+
371
+ // Scripting
372
+ // ==========================================================================
373
+
374
+ // Add the correct display in IE 9-.
375
+ canvas
376
+ display: inline-block
377
+
378
+ // Add the correct display in IE.
379
+ template
380
+ display: none
381
+
382
+
383
+
384
+ // User interaction
385
+ // ==========================================================================
386
+
387
+ // 1. Remove the tapping delay on clickable elements
388
+ // in all browsers (opinionated).
389
+ // 2. Remove the tapping delay in IE 10.
390
+ a,
391
+ area,
392
+ button,
393
+ input,
394
+ label,
395
+ select,
396
+ summary,
397
+ textarea,
398
+ [tabindex]
399
+ -ms-touch-action: manipulation // 1
400
+ touch-action: manipulation // 2
401
+
402
+ // Add the correct display in IE 10-.
403
+ [hidden]
404
+ display: none
405
+
406
+
407
+
408
+ // Accessibility
409
+ // ==========================================================================
410
+
411
+ // Change the cursor on busy elements in all browsers (opinionated).
412
+ [aria-busy=true]
413
+ cursor: progress
414
+
415
+ // Change the cursor on control elements in all browsers (opinionated).
416
+ [aria-controls]
417
+ cursor: pointer
418
+
419
+ // Change the cursor on disabled, not-editable, or otherwise inoperable elements
420
+ // in all browsers (opinionated).
421
+ [aria-disabled],
422
+ [disabled]
423
+ cursor: not-allowed
424
+
425
+ // Change the display on visually hidden accessible elements
426
+ // in all browsers (opinionated).
427
+ [aria-hidden=false][hidden]:not(:focus)
428
+ display: inherit
429
+ position: absolute
430
430
  clip: rect(0, 0, 0, 0)