@limetech/lime-elements 37.0.0 → 37.1.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/dist/cjs/{checkbox.template-234f4813.js → checkbox.template-df6fc114.js} +5 -5
  2. package/dist/cjs/checkbox.template-df6fc114.js.map +1 -0
  3. package/dist/cjs/{index-aafa56ee.js → index-38eb64b5.js} +14 -1
  4. package/dist/cjs/index-38eb64b5.js.map +1 -0
  5. package/dist/cjs/lime-elements.cjs.js +2 -2
  6. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +10 -2
  7. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/limel-action-bar.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-action-bar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-button-group.cjs.entry.js +2 -2
  13. package/dist/cjs/limel-button.cjs.entry.js +9 -1
  14. package/dist/cjs/limel-button.cjs.entry.js.map +1 -1
  15. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-checkbox.cjs.entry.js +5 -4
  17. package/dist/cjs/limel-checkbox.cjs.entry.js.map +1 -1
  18. package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-circular-progress_2.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-collapsible-section.cjs.entry.js +11 -1
  22. package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -1
  23. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
  24. package/dist/cjs/limel-color-picker-palette.cjs.entry.js.map +1 -1
  25. package/dist/cjs/limel-color-picker.cjs.entry.js +3 -3
  26. package/dist/cjs/limel-color-picker.cjs.entry.js.map +1 -1
  27. package/dist/cjs/limel-config.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-date-picker.cjs.entry.js +2 -2
  29. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-dock-button.cjs.entry.js +2 -2
  31. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-file.cjs.entry.js +2 -2
  33. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-form.cjs.entry.js +15 -3
  36. package/dist/cjs/limel-form.cjs.entry.js.map +1 -1
  37. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  39. package/dist/cjs/limel-helper-line.cjs.entry.js +1 -1
  40. package/dist/cjs/limel-icon-button.cjs.entry.js +8 -1
  41. package/dist/cjs/limel-icon-button.cjs.entry.js.map +1 -1
  42. package/dist/cjs/limel-icon.cjs.entry.js +91 -9
  43. package/dist/cjs/limel-icon.cjs.entry.js.map +1 -1
  44. package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-input-field.cjs.entry.js +11 -11
  46. package/dist/cjs/limel-input-field.cjs.entry.js.map +1 -1
  47. package/dist/cjs/limel-list_2.cjs.entry.js +2 -2
  48. package/dist/cjs/limel-menu_2.cjs.entry.js +2 -2
  49. package/dist/cjs/limel-picker.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-portal.cjs.entry.js +1 -1
  52. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-select.cjs.entry.js +2 -2
  55. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  56. package/dist/cjs/limel-slider.cjs.entry.js +138 -129
  57. package/dist/cjs/limel-slider.cjs.entry.js.map +1 -1
  58. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-spinner.cjs.entry.js +1 -1
  60. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  61. package/dist/cjs/limel-switch.cjs.entry.js +25 -12
  62. package/dist/cjs/limel-switch.cjs.entry.js.map +1 -1
  63. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  65. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  66. package/dist/cjs/limel-tooltip_2.cjs.entry.js +2 -2
  67. package/dist/cjs/loader.cjs.js +2 -2
  68. package/dist/cjs/makeEnterClickable-aa2ed75b.js +68 -0
  69. package/dist/cjs/makeEnterClickable-aa2ed75b.js.map +1 -0
  70. package/dist/cjs/{random-string-4c3b7f1c.js → random-string-c8445652.js} +10 -2
  71. package/dist/cjs/random-string-c8445652.js.map +1 -0
  72. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +9 -1
  73. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js.map +1 -1
  74. package/dist/collection/components/action-bar/action-bar.js +0 -1
  75. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  76. package/dist/collection/components/button/button.js +8 -0
  77. package/dist/collection/components/button/button.js.map +1 -1
  78. package/dist/collection/components/checkbox/checkbox.js +18 -1
  79. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  80. package/dist/collection/components/checkbox/checkbox.template.js +3 -3
  81. package/dist/collection/components/checkbox/checkbox.template.js.map +1 -1
  82. package/dist/collection/components/collapsible-section/collapsible-section.js +11 -1
  83. package/dist/collection/components/collapsible-section/collapsible-section.js.map +1 -1
  84. package/dist/collection/components/color-picker/color-picker-palette.css +46 -21
  85. package/dist/collection/components/color-picker/color-picker-palette.js +1 -1
  86. package/dist/collection/components/color-picker/color-picker-palette.js.map +1 -1
  87. package/dist/collection/components/color-picker/color-picker.css +29 -21
  88. package/dist/collection/components/color-picker/color-picker.js +1 -1
  89. package/dist/collection/components/color-picker/color-picker.js.map +1 -1
  90. package/dist/collection/components/form/fields/schema-field.js +13 -1
  91. package/dist/collection/components/form/fields/schema-field.js.map +1 -1
  92. package/dist/collection/components/icon/icon.js +1 -1
  93. package/dist/collection/components/icon/icon.js.map +1 -1
  94. package/dist/collection/components/icon-button/icon-button.js +7 -0
  95. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  96. package/dist/collection/components/input-field/input-field.js +9 -9
  97. package/dist/collection/components/input-field/input-field.js.map +1 -1
  98. package/dist/collection/components/slider/slider.js +140 -131
  99. package/dist/collection/components/slider/slider.js.map +1 -1
  100. package/dist/collection/components/switch/switch.css +22 -1
  101. package/dist/collection/components/switch/switch.js +50 -10
  102. package/dist/collection/components/switch/switch.js.map +1 -1
  103. package/dist/collection/global/{icon-cache.js → icon-cache/cache-storage-icon-cache.js} +4 -9
  104. package/dist/collection/global/icon-cache/cache-storage-icon-cache.js.map +1 -0
  105. package/dist/collection/global/icon-cache/factory.js +16 -0
  106. package/dist/collection/global/icon-cache/factory.js.map +1 -0
  107. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +73 -0
  108. package/dist/collection/global/icon-cache/in-memory-icon-cache.js.map +1 -0
  109. package/dist/collection/util/makeEnterClickable.js +61 -0
  110. package/dist/collection/util/makeEnterClickable.js.map +1 -0
  111. package/dist/collection/util/random-string.js +9 -1
  112. package/dist/collection/util/random-string.js.map +1 -1
  113. package/dist/esm/{checkbox.template-c838ee7b.js → checkbox.template-c2d0fa10.js} +5 -5
  114. package/dist/esm/checkbox.template-c2d0fa10.js.map +1 -0
  115. package/dist/esm/{index-9bd6d7c6.js → index-232e9616.js} +14 -2
  116. package/dist/{lime-elements/p-c8818b66.js.map → esm/index-232e9616.js.map} +1 -1
  117. package/dist/esm/lime-elements.js +3 -3
  118. package/dist/esm/limel-action-bar-item_2.entry.js +10 -2
  119. package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -1
  120. package/dist/esm/limel-action-bar.entry.js +1 -1
  121. package/dist/esm/limel-action-bar.entry.js.map +1 -1
  122. package/dist/esm/limel-badge.entry.js +1 -1
  123. package/dist/esm/limel-banner.entry.js +1 -1
  124. package/dist/esm/limel-button-group.entry.js +2 -2
  125. package/dist/esm/limel-button.entry.js +9 -1
  126. package/dist/esm/limel-button.entry.js.map +1 -1
  127. package/dist/esm/limel-callout.entry.js +1 -1
  128. package/dist/esm/limel-checkbox.entry.js +5 -4
  129. package/dist/esm/limel-checkbox.entry.js.map +1 -1
  130. package/dist/esm/limel-chip-set.entry.js +1 -1
  131. package/dist/esm/limel-circular-progress_2.entry.js +1 -1
  132. package/dist/esm/limel-code-editor.entry.js +1 -1
  133. package/dist/esm/limel-collapsible-section.entry.js +11 -1
  134. package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
  135. package/dist/esm/limel-color-picker-palette.entry.js +3 -3
  136. package/dist/esm/limel-color-picker-palette.entry.js.map +1 -1
  137. package/dist/esm/limel-color-picker.entry.js +3 -3
  138. package/dist/esm/limel-color-picker.entry.js.map +1 -1
  139. package/dist/esm/limel-config.entry.js +1 -1
  140. package/dist/esm/limel-date-picker.entry.js +2 -2
  141. package/dist/esm/limel-dialog.entry.js +2 -2
  142. package/dist/esm/limel-dock-button.entry.js +2 -2
  143. package/dist/esm/limel-dock.entry.js +1 -1
  144. package/dist/esm/limel-file.entry.js +2 -2
  145. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  146. package/dist/esm/limel-flex-container.entry.js +1 -1
  147. package/dist/esm/limel-form.entry.js +15 -3
  148. package/dist/esm/limel-form.entry.js.map +1 -1
  149. package/dist/esm/limel-grid.entry.js +1 -1
  150. package/dist/esm/limel-header.entry.js +1 -1
  151. package/dist/esm/limel-helper-line.entry.js +1 -1
  152. package/dist/esm/limel-icon-button.entry.js +8 -1
  153. package/dist/esm/limel-icon-button.entry.js.map +1 -1
  154. package/dist/esm/limel-icon.entry.js +91 -9
  155. package/dist/esm/limel-icon.entry.js.map +1 -1
  156. package/dist/esm/limel-info-tile.entry.js +1 -1
  157. package/dist/esm/limel-input-field.entry.js +11 -11
  158. package/dist/esm/limel-input-field.entry.js.map +1 -1
  159. package/dist/esm/limel-list_2.entry.js +2 -2
  160. package/dist/esm/limel-menu_2.entry.js +2 -2
  161. package/dist/esm/limel-picker.entry.js +2 -2
  162. package/dist/esm/limel-popover_2.entry.js +2 -2
  163. package/dist/esm/limel-portal.entry.js +1 -1
  164. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  165. package/dist/esm/limel-progress-flow.entry.js +1 -1
  166. package/dist/esm/limel-select.entry.js +2 -2
  167. package/dist/esm/limel-shortcut.entry.js +1 -1
  168. package/dist/esm/limel-slider.entry.js +138 -129
  169. package/dist/esm/limel-slider.entry.js.map +1 -1
  170. package/dist/esm/limel-snackbar.entry.js +1 -1
  171. package/dist/esm/limel-spinner.entry.js +1 -1
  172. package/dist/esm/limel-split-button.entry.js +1 -1
  173. package/dist/esm/limel-switch.entry.js +25 -12
  174. package/dist/esm/limel-switch.entry.js.map +1 -1
  175. package/dist/esm/limel-tab-bar.entry.js +1 -1
  176. package/dist/esm/limel-tab-panel.entry.js +1 -1
  177. package/dist/esm/limel-table.entry.js +1 -1
  178. package/dist/esm/limel-tooltip_2.entry.js +2 -2
  179. package/dist/esm/loader.js +3 -3
  180. package/dist/esm/makeEnterClickable-b5ad939a.js +65 -0
  181. package/dist/esm/makeEnterClickable-b5ad939a.js.map +1 -0
  182. package/dist/esm/{random-string-2246b81e.js → random-string-812b1c35.js} +10 -2
  183. package/dist/esm/random-string-812b1c35.js.map +1 -0
  184. package/dist/lime-elements/lime-elements.esm.js +1 -1
  185. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  186. package/dist/lime-elements/{p-9aab2892.entry.js → p-095e03af.entry.js} +2 -2
  187. package/dist/lime-elements/{p-e0fa49ca.entry.js → p-0d823554.entry.js} +2 -2
  188. package/dist/lime-elements/p-0d823554.entry.js.map +1 -0
  189. package/dist/lime-elements/{p-40b7d717.entry.js → p-0edcca0b.entry.js} +2 -2
  190. package/dist/lime-elements/{p-ca9b383b.entry.js → p-1754c5ae.entry.js} +2 -2
  191. package/dist/lime-elements/{p-a3bea367.entry.js → p-1bdc524d.entry.js} +2 -2
  192. package/dist/lime-elements/{p-c8818b66.js → p-3075aa67.js} +3 -3
  193. package/dist/lime-elements/p-3075aa67.js.map +1 -0
  194. package/dist/lime-elements/{p-13ed01eb.entry.js → p-32127a17.entry.js} +2 -2
  195. package/dist/lime-elements/{p-2565927b.entry.js → p-378bb196.entry.js} +3 -3
  196. package/dist/lime-elements/{p-2565927b.entry.js.map → p-378bb196.entry.js.map} +1 -1
  197. package/dist/lime-elements/p-3ccdc4a3.js +2 -0
  198. package/dist/lime-elements/p-3ccdc4a3.js.map +1 -0
  199. package/dist/lime-elements/{p-17ac8cca.entry.js → p-42f06b16.entry.js} +2 -2
  200. package/dist/lime-elements/{p-8b339748.entry.js → p-455edb30.entry.js} +2 -2
  201. package/dist/lime-elements/p-4607900f.entry.js +2 -0
  202. package/dist/lime-elements/p-4607900f.entry.js.map +1 -0
  203. package/dist/lime-elements/{p-9fe3bc64.entry.js → p-4a04ede1.entry.js} +2 -2
  204. package/dist/lime-elements/{p-a8714655.entry.js → p-4fc7e0df.entry.js} +2 -2
  205. package/dist/lime-elements/p-5235c79f.entry.js +2 -0
  206. package/dist/lime-elements/p-5235c79f.entry.js.map +1 -0
  207. package/dist/lime-elements/{p-1a80da5e.entry.js → p-550cae4a.entry.js} +2 -2
  208. package/dist/lime-elements/{p-623d09d9.entry.js → p-552fd521.entry.js} +2 -2
  209. package/dist/lime-elements/{p-42a24572.entry.js → p-55dcbc35.entry.js} +2 -2
  210. package/dist/lime-elements/{p-30df2bb6.entry.js → p-5afea754.entry.js} +2 -2
  211. package/dist/lime-elements/{p-c647b197.entry.js → p-5fb4402e.entry.js} +2 -2
  212. package/dist/lime-elements/{p-3670f018.entry.js → p-6762616d.entry.js} +2 -2
  213. package/dist/lime-elements/{p-d7c39d02.entry.js → p-6f09978e.entry.js} +8 -8
  214. package/dist/lime-elements/p-6f09978e.entry.js.map +1 -0
  215. package/dist/lime-elements/p-6f2fad3a.entry.js +2 -0
  216. package/dist/lime-elements/p-6f2fad3a.entry.js.map +1 -0
  217. package/dist/lime-elements/{p-2b0c6ccd.entry.js → p-7972528a.entry.js} +2 -2
  218. package/dist/lime-elements/p-7cfc8998.js +2 -0
  219. package/dist/lime-elements/p-7cfc8998.js.map +1 -0
  220. package/dist/lime-elements/{p-a40e05c3.entry.js → p-7d159ddf.entry.js} +2 -2
  221. package/dist/lime-elements/{p-6b952164.entry.js → p-8d44ea19.entry.js} +2 -2
  222. package/dist/lime-elements/{p-848437f8.entry.js → p-94cb40fb.entry.js} +2 -2
  223. package/dist/lime-elements/{p-795079c9.entry.js → p-95ed1b9b.entry.js} +2 -2
  224. package/dist/lime-elements/{p-d228fd62.entry.js → p-9a5745e5.entry.js} +2 -2
  225. package/dist/lime-elements/{p-4114c214.entry.js → p-9c1db0e7.entry.js} +2 -2
  226. package/dist/lime-elements/{p-55a09930.entry.js → p-9f5250a0.entry.js} +2 -2
  227. package/dist/lime-elements/{p-d07f1a1f.entry.js → p-add09e7d.entry.js} +2 -2
  228. package/dist/lime-elements/{p-e59e0040.entry.js → p-af374a0c.entry.js} +2 -2
  229. package/dist/lime-elements/{p-648d9057.entry.js → p-b3ff8fef.entry.js} +2 -2
  230. package/dist/lime-elements/{p-715d3252.entry.js → p-b70f517e.entry.js} +2 -2
  231. package/dist/lime-elements/{p-da25e94d.entry.js → p-b714596f.entry.js} +2 -2
  232. package/dist/lime-elements/p-b714596f.entry.js.map +1 -0
  233. package/dist/lime-elements/{p-753f500b.entry.js → p-b897fe1f.entry.js} +2 -2
  234. package/dist/lime-elements/{p-2359d139.entry.js → p-b9698f79.entry.js} +2 -2
  235. package/dist/lime-elements/{p-5b374246.entry.js → p-bc23beb6.entry.js} +2 -2
  236. package/dist/lime-elements/{p-f1d9723a.entry.js → p-bd62071d.entry.js} +2 -2
  237. package/dist/lime-elements/{p-4ed75a11.entry.js → p-c6f8ea40.entry.js} +6 -6
  238. package/dist/lime-elements/p-c6f8ea40.entry.js.map +1 -0
  239. package/dist/lime-elements/p-c9bdda85.js +2 -0
  240. package/dist/lime-elements/p-c9bdda85.js.map +1 -0
  241. package/dist/lime-elements/{p-b8ed25b3.entry.js → p-ce1fca54.entry.js} +2 -2
  242. package/dist/lime-elements/p-ce1fca54.entry.js.map +1 -0
  243. package/dist/lime-elements/{p-a11a971e.entry.js → p-cf61ac34.entry.js} +2 -2
  244. package/dist/lime-elements/{p-9e78a21c.entry.js → p-d419c102.entry.js} +3 -3
  245. package/dist/lime-elements/{p-9e78a21c.entry.js.map → p-d419c102.entry.js.map} +1 -1
  246. package/dist/lime-elements/{p-7a3f58cd.entry.js → p-dd14b927.entry.js} +2 -2
  247. package/dist/lime-elements/p-e0a0065f.entry.js +2 -0
  248. package/dist/lime-elements/p-e0a0065f.entry.js.map +1 -0
  249. package/dist/lime-elements/{p-2118b9ae.entry.js → p-eae4f1ed.entry.js} +2 -2
  250. package/dist/lime-elements/p-ee887c40.entry.js +2 -0
  251. package/dist/lime-elements/p-ee887c40.entry.js.map +1 -0
  252. package/dist/lime-elements/{p-461b5f85.entry.js → p-f1b0951f.entry.js} +5 -5
  253. package/dist/lime-elements/p-f1b0951f.entry.js.map +1 -0
  254. package/dist/lime-elements/p-f4ff7ecc.entry.js +2 -0
  255. package/dist/lime-elements/p-f4ff7ecc.entry.js.map +1 -0
  256. package/dist/types/components/action-bar/action-bar-item/action-bar-item.d.ts +3 -0
  257. package/dist/types/components/action-bar/action-bar.d.ts +0 -1
  258. package/dist/types/components/button/button.d.ts +3 -0
  259. package/dist/types/components/checkbox/checkbox.d.ts +17 -0
  260. package/dist/types/components/checkbox/checkbox.template.d.ts +1 -0
  261. package/dist/types/components/collapsible-section/collapsible-section.d.ts +3 -0
  262. package/dist/types/components/icon-button/icon-button.d.ts +2 -0
  263. package/dist/types/components/input-field/input-field.d.ts +2 -0
  264. package/dist/types/components/slider/slider.d.ts +13 -11
  265. package/dist/types/components/switch/switch.d.ts +19 -1
  266. package/dist/types/components.d.ts +92 -8
  267. package/dist/types/global/{icon-cache.d.ts → icon-cache/cache-storage-icon-cache.d.ts} +2 -4
  268. package/dist/types/global/icon-cache/factory.d.ts +4 -0
  269. package/dist/types/global/icon-cache/in-memory-icon-cache.d.ts +15 -0
  270. package/dist/types/util/makeEnterClickable.d.ts +7 -0
  271. package/package.json +11 -11
  272. package/dist/cjs/checkbox.template-234f4813.js.map +0 -1
  273. package/dist/cjs/index-aafa56ee.js.map +0 -1
  274. package/dist/cjs/random-string-4c3b7f1c.js.map +0 -1
  275. package/dist/collection/global/icon-cache.js.map +0 -1
  276. package/dist/esm/checkbox.template-c838ee7b.js.map +0 -1
  277. package/dist/esm/index-9bd6d7c6.js.map +0 -1
  278. package/dist/esm/random-string-2246b81e.js.map +0 -1
  279. package/dist/lime-elements/p-0137d2fb.entry.js +0 -2
  280. package/dist/lime-elements/p-0137d2fb.entry.js.map +0 -1
  281. package/dist/lime-elements/p-1dc042e5.entry.js +0 -2
  282. package/dist/lime-elements/p-1dc042e5.entry.js.map +0 -1
  283. package/dist/lime-elements/p-28da3c47.entry.js +0 -2
  284. package/dist/lime-elements/p-28da3c47.entry.js.map +0 -1
  285. package/dist/lime-elements/p-461b5f85.entry.js.map +0 -1
  286. package/dist/lime-elements/p-4ed75a11.entry.js.map +0 -1
  287. package/dist/lime-elements/p-5b6d2d55.js +0 -2
  288. package/dist/lime-elements/p-5b6d2d55.js.map +0 -1
  289. package/dist/lime-elements/p-63111b62.entry.js +0 -2
  290. package/dist/lime-elements/p-63111b62.entry.js.map +0 -1
  291. package/dist/lime-elements/p-6c094f3f.js +0 -2
  292. package/dist/lime-elements/p-6c094f3f.js.map +0 -1
  293. package/dist/lime-elements/p-896043d6.entry.js +0 -2
  294. package/dist/lime-elements/p-896043d6.entry.js.map +0 -1
  295. package/dist/lime-elements/p-b8ed25b3.entry.js.map +0 -1
  296. package/dist/lime-elements/p-d7c39d02.entry.js.map +0 -1
  297. package/dist/lime-elements/p-da25e94d.entry.js.map +0 -1
  298. package/dist/lime-elements/p-e0fa49ca.entry.js.map +0 -1
  299. package/dist/lime-elements/p-fb799569.entry.js +0 -2
  300. package/dist/lime-elements/p-fb799569.entry.js.map +0 -1
  301. /package/dist/lime-elements/{p-9aab2892.entry.js.map → p-095e03af.entry.js.map} +0 -0
  302. /package/dist/lime-elements/{p-40b7d717.entry.js.map → p-0edcca0b.entry.js.map} +0 -0
  303. /package/dist/lime-elements/{p-ca9b383b.entry.js.map → p-1754c5ae.entry.js.map} +0 -0
  304. /package/dist/lime-elements/{p-a3bea367.entry.js.map → p-1bdc524d.entry.js.map} +0 -0
  305. /package/dist/lime-elements/{p-13ed01eb.entry.js.map → p-32127a17.entry.js.map} +0 -0
  306. /package/dist/lime-elements/{p-17ac8cca.entry.js.map → p-42f06b16.entry.js.map} +0 -0
  307. /package/dist/lime-elements/{p-8b339748.entry.js.map → p-455edb30.entry.js.map} +0 -0
  308. /package/dist/lime-elements/{p-9fe3bc64.entry.js.map → p-4a04ede1.entry.js.map} +0 -0
  309. /package/dist/lime-elements/{p-a8714655.entry.js.map → p-4fc7e0df.entry.js.map} +0 -0
  310. /package/dist/lime-elements/{p-1a80da5e.entry.js.map → p-550cae4a.entry.js.map} +0 -0
  311. /package/dist/lime-elements/{p-623d09d9.entry.js.map → p-552fd521.entry.js.map} +0 -0
  312. /package/dist/lime-elements/{p-42a24572.entry.js.map → p-55dcbc35.entry.js.map} +0 -0
  313. /package/dist/lime-elements/{p-30df2bb6.entry.js.map → p-5afea754.entry.js.map} +0 -0
  314. /package/dist/lime-elements/{p-c647b197.entry.js.map → p-5fb4402e.entry.js.map} +0 -0
  315. /package/dist/lime-elements/{p-3670f018.entry.js.map → p-6762616d.entry.js.map} +0 -0
  316. /package/dist/lime-elements/{p-2b0c6ccd.entry.js.map → p-7972528a.entry.js.map} +0 -0
  317. /package/dist/lime-elements/{p-a40e05c3.entry.js.map → p-7d159ddf.entry.js.map} +0 -0
  318. /package/dist/lime-elements/{p-6b952164.entry.js.map → p-8d44ea19.entry.js.map} +0 -0
  319. /package/dist/lime-elements/{p-848437f8.entry.js.map → p-94cb40fb.entry.js.map} +0 -0
  320. /package/dist/lime-elements/{p-795079c9.entry.js.map → p-95ed1b9b.entry.js.map} +0 -0
  321. /package/dist/lime-elements/{p-d228fd62.entry.js.map → p-9a5745e5.entry.js.map} +0 -0
  322. /package/dist/lime-elements/{p-4114c214.entry.js.map → p-9c1db0e7.entry.js.map} +0 -0
  323. /package/dist/lime-elements/{p-55a09930.entry.js.map → p-9f5250a0.entry.js.map} +0 -0
  324. /package/dist/lime-elements/{p-d07f1a1f.entry.js.map → p-add09e7d.entry.js.map} +0 -0
  325. /package/dist/lime-elements/{p-e59e0040.entry.js.map → p-af374a0c.entry.js.map} +0 -0
  326. /package/dist/lime-elements/{p-648d9057.entry.js.map → p-b3ff8fef.entry.js.map} +0 -0
  327. /package/dist/lime-elements/{p-715d3252.entry.js.map → p-b70f517e.entry.js.map} +0 -0
  328. /package/dist/lime-elements/{p-753f500b.entry.js.map → p-b897fe1f.entry.js.map} +0 -0
  329. /package/dist/lime-elements/{p-2359d139.entry.js.map → p-b9698f79.entry.js.map} +0 -0
  330. /package/dist/lime-elements/{p-5b374246.entry.js.map → p-bc23beb6.entry.js.map} +0 -0
  331. /package/dist/lime-elements/{p-f1d9723a.entry.js.map → p-bd62071d.entry.js.map} +0 -0
  332. /package/dist/lime-elements/{p-a11a971e.entry.js.map → p-cf61ac34.entry.js.map} +0 -0
  333. /package/dist/lime-elements/{p-7a3f58cd.entry.js.map → p-dd14b927.entry.js.map} +0 -0
  334. /package/dist/lime-elements/{p-2118b9ae.entry.js.map → p-eae4f1ed.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__values","o","Symbol","iterator","m","next","value","done","cssClasses","ANIM_CHECKED_INDETERMINATE","ANIM_CHECKED_UNCHECKED","ANIM_INDETERMINATE_CHECKED","ANIM_INDETERMINATE_UNCHECKED","ANIM_UNCHECKED_CHECKED","ANIM_UNCHECKED_INDETERMINATE","BACKGROUND","CHECKED","CHECKMARK","CHECKMARK_PATH","DISABLED","INDETERMINATE","MIXEDMARK","NATIVE_CONTROL","ROOT","SELECTED","UPGRADED","strings","ARIA_CHECKED_ATTR","ARIA_CHECKED_INDETERMINATE_VALUE","DATA_INDETERMINATE_ATTR","NATIVE_CONTROL_SELECTOR","TRANSITION_STATE_CHECKED","TRANSITION_STATE_INDETERMINATE","TRANSITION_STATE_INIT","TRANSITION_STATE_UNCHECKED","numbers","ANIM_END_LATCH_MS","MDCCheckboxFoundation","_super","adapter","_this","defaultAdapter","currentCheckState","currentAnimationClass","animEndLatchTimer","enableAnimationEndHandler","defineProperty","get","enumerable","configurable","addClass","undefined","forceLayout","hasNativeControl","isAttachedToDOM","isChecked","isIndeterminate","removeClass","removeNativeControlAttr","setNativeControlAttr","setNativeControlDisabled","init","determineCheckState","updateAriaChecked","destroy","clearTimeout","setDisabled","disabled","handleAnimationEnd","setTimeout","handleChange","transitionCheckState","oldState","newState","getTransitionAnimationClass","_a","MDCFoundation","CB_PROTO_PROPS","MDCCheckbox","rippleSurface","createRipple","attachTo","root","getNativeControl","checked","set","indeterminate","foundation","initialize","getAttribute","removeAttribute","initialSyncWithDOM","addEventListener","listen","getCorrectEventName","window","installPropertyChangeHooks","removeEventListener","unlisten","uninstallPropertyChangeHooks","getDefaultFoundation","className","classList","add","offsetWidth","Boolean","parentNode","remove","attr","setAttribute","MDCRipple","createAdapter","deregisterInteractionHandler","evtType","handler","applyPassive","isSurfaceActive","matches","isUnbounded","registerInteractionHandler","MDCRippleFoundation","e_1","nativeCb","cbProto","getPrototypeOf","_loop_1","controlState","desc","getOwnPropertyDescriptor","validDescriptor","nativeGetter","nativeCbDesc","state","CB_PROTO_PROPS_1","CB_PROTO_PROPS_1_1","state_1","e_1_1","error","return","e_2","CB_PROTO_PROPS_2","CB_PROTO_PROPS_2_1","e_2_1","el","querySelector","Error","MDCComponent","inputPropDesc","LABEL_SELECTOR","MDCFormFieldFoundation","click","handleClick","activateInputRipple","deactivateInputRipple","requestAnimationFrame","MDCFormField","labelEl","input","ripple","activate","deactivate","checkboxCss","Checkbox","id","createRandomString","element","limelCheckbox","shadowRoot","formField","mdcCheckbox","getCheckboxElement","onChange","event","stopPropagation","change","emit","modified","handleCheckedChange","newValue","handleIndeterminateChange","connectedCallback","componentDidLoad","disconnectedCallback","_b","checkboxElement","render","h","CheckboxTemplate","readonly","label","helperText","required","invalid"],"sources":["./node_modules/@material/checkbox/node_modules/tslib/tslib.es6.js","./node_modules/@material/checkbox/constants.js","./node_modules/@material/checkbox/foundation.js","./node_modules/@material/checkbox/component.js","./node_modules/@material/form-field/node_modules/tslib/tslib.es6.js","./node_modules/@material/form-field/constants.js","./node_modules/@material/form-field/foundation.js","./node_modules/@material/form-field/component.js","./src/components/checkbox/checkbox.scss?tag=limel-checkbox&encapsulation=shadow","./src/components/checkbox/checkbox.tsx"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var cssClasses = {\n ANIM_CHECKED_INDETERMINATE: 'mdc-checkbox--anim-checked-indeterminate',\n ANIM_CHECKED_UNCHECKED: 'mdc-checkbox--anim-checked-unchecked',\n ANIM_INDETERMINATE_CHECKED: 'mdc-checkbox--anim-indeterminate-checked',\n ANIM_INDETERMINATE_UNCHECKED: 'mdc-checkbox--anim-indeterminate-unchecked',\n ANIM_UNCHECKED_CHECKED: 'mdc-checkbox--anim-unchecked-checked',\n ANIM_UNCHECKED_INDETERMINATE: 'mdc-checkbox--anim-unchecked-indeterminate',\n BACKGROUND: 'mdc-checkbox__background',\n CHECKED: 'mdc-checkbox--checked',\n CHECKMARK: 'mdc-checkbox__checkmark',\n CHECKMARK_PATH: 'mdc-checkbox__checkmark-path',\n DISABLED: 'mdc-checkbox--disabled',\n INDETERMINATE: 'mdc-checkbox--indeterminate',\n MIXEDMARK: 'mdc-checkbox__mixedmark',\n NATIVE_CONTROL: 'mdc-checkbox__native-control',\n ROOT: 'mdc-checkbox',\n SELECTED: 'mdc-checkbox--selected',\n UPGRADED: 'mdc-checkbox--upgraded',\n};\nexport var strings = {\n ARIA_CHECKED_ATTR: 'aria-checked',\n ARIA_CHECKED_INDETERMINATE_VALUE: 'mixed',\n DATA_INDETERMINATE_ATTR: 'data-indeterminate',\n NATIVE_CONTROL_SELECTOR: '.mdc-checkbox__native-control',\n TRANSITION_STATE_CHECKED: 'checked',\n TRANSITION_STATE_INDETERMINATE: 'indeterminate',\n TRANSITION_STATE_INIT: 'init',\n TRANSITION_STATE_UNCHECKED: 'unchecked',\n};\nexport var numbers = {\n ANIM_END_LATCH_MS: 250,\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, numbers, strings } from './constants';\nvar MDCCheckboxFoundation = /** @class */ (function (_super) {\n __extends(MDCCheckboxFoundation, _super);\n function MDCCheckboxFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCCheckboxFoundation.defaultAdapter), adapter)) || this;\n _this.currentCheckState = strings.TRANSITION_STATE_INIT;\n _this.currentAnimationClass = '';\n _this.animEndLatchTimer = 0;\n _this.enableAnimationEndHandler = false;\n return _this;\n }\n Object.defineProperty(MDCCheckboxFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckboxFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckboxFoundation, \"numbers\", {\n get: function () {\n return numbers;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckboxFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n addClass: function () { return undefined; },\n forceLayout: function () { return undefined; },\n hasNativeControl: function () { return false; },\n isAttachedToDOM: function () { return false; },\n isChecked: function () { return false; },\n isIndeterminate: function () { return false; },\n removeClass: function () { return undefined; },\n removeNativeControlAttr: function () { return undefined; },\n setNativeControlAttr: function () { return undefined; },\n setNativeControlDisabled: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCCheckboxFoundation.prototype.init = function () {\n this.currentCheckState = this.determineCheckState();\n this.updateAriaChecked();\n this.adapter.addClass(cssClasses.UPGRADED);\n };\n MDCCheckboxFoundation.prototype.destroy = function () {\n clearTimeout(this.animEndLatchTimer);\n };\n MDCCheckboxFoundation.prototype.setDisabled = function (disabled) {\n this.adapter.setNativeControlDisabled(disabled);\n if (disabled) {\n this.adapter.addClass(cssClasses.DISABLED);\n }\n else {\n this.adapter.removeClass(cssClasses.DISABLED);\n }\n };\n /**\n * Handles the animationend event for the checkbox\n */\n MDCCheckboxFoundation.prototype.handleAnimationEnd = function () {\n var _this = this;\n if (!this.enableAnimationEndHandler) {\n return;\n }\n clearTimeout(this.animEndLatchTimer);\n this.animEndLatchTimer = setTimeout(function () {\n _this.adapter.removeClass(_this.currentAnimationClass);\n _this.enableAnimationEndHandler = false;\n }, numbers.ANIM_END_LATCH_MS);\n };\n /**\n * Handles the change event for the checkbox\n */\n MDCCheckboxFoundation.prototype.handleChange = function () {\n this.transitionCheckState();\n };\n MDCCheckboxFoundation.prototype.transitionCheckState = function () {\n if (!this.adapter.hasNativeControl()) {\n return;\n }\n var oldState = this.currentCheckState;\n var newState = this.determineCheckState();\n if (oldState === newState) {\n return;\n }\n this.updateAriaChecked();\n var TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\n var SELECTED = cssClasses.SELECTED;\n if (newState === TRANSITION_STATE_UNCHECKED) {\n this.adapter.removeClass(SELECTED);\n }\n else {\n this.adapter.addClass(SELECTED);\n }\n // Check to ensure that there isn't a previously existing animation class, in case for example\n // the user interacted with the checkbox before the animation was finished.\n if (this.currentAnimationClass.length > 0) {\n clearTimeout(this.animEndLatchTimer);\n this.adapter.forceLayout();\n this.adapter.removeClass(this.currentAnimationClass);\n }\n this.currentAnimationClass =\n this.getTransitionAnimationClass(oldState, newState);\n this.currentCheckState = newState;\n // Check for parentNode so that animations are only run when the element is attached\n // to the DOM.\n if (this.adapter.isAttachedToDOM() &&\n this.currentAnimationClass.length > 0) {\n this.adapter.addClass(this.currentAnimationClass);\n this.enableAnimationEndHandler = true;\n }\n };\n MDCCheckboxFoundation.prototype.determineCheckState = function () {\n var TRANSITION_STATE_INDETERMINATE = strings.TRANSITION_STATE_INDETERMINATE, TRANSITION_STATE_CHECKED = strings.TRANSITION_STATE_CHECKED, TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\n if (this.adapter.isIndeterminate()) {\n return TRANSITION_STATE_INDETERMINATE;\n }\n return this.adapter.isChecked() ? TRANSITION_STATE_CHECKED :\n TRANSITION_STATE_UNCHECKED;\n };\n MDCCheckboxFoundation.prototype.getTransitionAnimationClass = function (oldState, newState) {\n var TRANSITION_STATE_INIT = strings.TRANSITION_STATE_INIT, TRANSITION_STATE_CHECKED = strings.TRANSITION_STATE_CHECKED, TRANSITION_STATE_UNCHECKED = strings.TRANSITION_STATE_UNCHECKED;\n var _a = MDCCheckboxFoundation.cssClasses, ANIM_UNCHECKED_CHECKED = _a.ANIM_UNCHECKED_CHECKED, ANIM_UNCHECKED_INDETERMINATE = _a.ANIM_UNCHECKED_INDETERMINATE, ANIM_CHECKED_UNCHECKED = _a.ANIM_CHECKED_UNCHECKED, ANIM_CHECKED_INDETERMINATE = _a.ANIM_CHECKED_INDETERMINATE, ANIM_INDETERMINATE_CHECKED = _a.ANIM_INDETERMINATE_CHECKED, ANIM_INDETERMINATE_UNCHECKED = _a.ANIM_INDETERMINATE_UNCHECKED;\n switch (oldState) {\n case TRANSITION_STATE_INIT:\n if (newState === TRANSITION_STATE_UNCHECKED) {\n return '';\n }\n return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;\n case TRANSITION_STATE_UNCHECKED:\n return newState === TRANSITION_STATE_CHECKED ? ANIM_UNCHECKED_CHECKED : ANIM_UNCHECKED_INDETERMINATE;\n case TRANSITION_STATE_CHECKED:\n return newState === TRANSITION_STATE_UNCHECKED ? ANIM_CHECKED_UNCHECKED : ANIM_CHECKED_INDETERMINATE;\n default: // TRANSITION_STATE_INDETERMINATE\n return newState === TRANSITION_STATE_CHECKED ? ANIM_INDETERMINATE_CHECKED : ANIM_INDETERMINATE_UNCHECKED;\n }\n };\n MDCCheckboxFoundation.prototype.updateAriaChecked = function () {\n // Ensure aria-checked is set to mixed if checkbox is in indeterminate state.\n if (this.adapter.isIndeterminate()) {\n this.adapter.setNativeControlAttr(strings.ARIA_CHECKED_ATTR, strings.ARIA_CHECKED_INDETERMINATE_VALUE);\n }\n else {\n // The on/off state does not need to keep track of aria-checked, since\n // the screenreader uses the checked property on the checkbox element.\n this.adapter.removeNativeControlAttr(strings.ARIA_CHECKED_ATTR);\n }\n };\n return MDCCheckboxFoundation;\n}(MDCFoundation));\nexport { MDCCheckboxFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCCheckboxFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2016 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends, __values } from \"tslib\";\nimport { getCorrectEventName } from '@material/animation/util';\nimport { MDCComponent } from '@material/base/component';\nimport { applyPassive } from '@material/dom/events';\nimport { matches } from '@material/dom/ponyfill';\nimport { MDCRipple } from '@material/ripple/component';\nimport { MDCRippleFoundation } from '@material/ripple/foundation';\nimport { strings } from './constants';\nimport { MDCCheckboxFoundation } from './foundation';\nvar CB_PROTO_PROPS = ['checked', 'indeterminate'];\nvar MDCCheckbox = /** @class */ (function (_super) {\n __extends(MDCCheckbox, _super);\n function MDCCheckbox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rippleSurface = _this.createRipple();\n return _this;\n }\n MDCCheckbox.attachTo = function (root) {\n return new MDCCheckbox(root);\n };\n Object.defineProperty(MDCCheckbox.prototype, \"ripple\", {\n get: function () {\n return this.rippleSurface;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"checked\", {\n get: function () {\n return this.getNativeControl().checked;\n },\n set: function (checked) {\n this.getNativeControl().checked = checked;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"indeterminate\", {\n get: function () {\n return this.getNativeControl().indeterminate;\n },\n set: function (indeterminate) {\n this.getNativeControl().indeterminate = indeterminate;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"disabled\", {\n get: function () {\n return this.getNativeControl().disabled;\n },\n set: function (disabled) {\n this.foundation.setDisabled(disabled);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCCheckbox.prototype, \"value\", {\n get: function () {\n return this.getNativeControl().value;\n },\n set: function (value) {\n this.getNativeControl().value = value;\n },\n enumerable: false,\n configurable: true\n });\n MDCCheckbox.prototype.initialize = function () {\n var DATA_INDETERMINATE_ATTR = strings.DATA_INDETERMINATE_ATTR;\n this.getNativeControl().indeterminate =\n this.getNativeControl().getAttribute(DATA_INDETERMINATE_ATTR) ===\n 'true';\n this.getNativeControl().removeAttribute(DATA_INDETERMINATE_ATTR);\n };\n MDCCheckbox.prototype.initialSyncWithDOM = function () {\n var _this = this;\n this.handleChange = function () {\n _this.foundation.handleChange();\n };\n this.handleAnimationEnd = function () {\n _this.foundation.handleAnimationEnd();\n };\n this.getNativeControl().addEventListener('change', this.handleChange);\n this.listen(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd);\n this.installPropertyChangeHooks();\n };\n MDCCheckbox.prototype.destroy = function () {\n this.rippleSurface.destroy();\n this.getNativeControl().removeEventListener('change', this.handleChange);\n this.unlisten(getCorrectEventName(window, 'animationend'), this.handleAnimationEnd);\n this.uninstallPropertyChangeHooks();\n _super.prototype.destroy.call(this);\n };\n MDCCheckbox.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n addClass: function (className) { return _this.root.classList.add(className); },\n forceLayout: function () { return _this.root.offsetWidth; },\n hasNativeControl: function () { return !!_this.getNativeControl(); },\n isAttachedToDOM: function () { return Boolean(_this.root.parentNode); },\n isChecked: function () { return _this.checked; },\n isIndeterminate: function () { return _this.indeterminate; },\n removeClass: function (className) {\n _this.root.classList.remove(className);\n },\n removeNativeControlAttr: function (attr) {\n _this.getNativeControl().removeAttribute(attr);\n },\n setNativeControlAttr: function (attr, value) {\n _this.getNativeControl().setAttribute(attr, value);\n },\n setNativeControlDisabled: function (disabled) {\n _this.getNativeControl().disabled = disabled;\n },\n };\n return new MDCCheckboxFoundation(adapter);\n };\n MDCCheckbox.prototype.createRipple = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = __assign(__assign({}, MDCRipple.createAdapter(this)), { deregisterInteractionHandler: function (evtType, handler) {\n _this.getNativeControl().removeEventListener(evtType, handler, applyPassive());\n }, isSurfaceActive: function () { return matches(_this.getNativeControl(), ':active'); }, isUnbounded: function () { return true; }, registerInteractionHandler: function (evtType, handler) {\n _this.getNativeControl().addEventListener(evtType, handler, applyPassive());\n } });\n return new MDCRipple(this.root, new MDCRippleFoundation(adapter));\n };\n MDCCheckbox.prototype.installPropertyChangeHooks = function () {\n var e_1, _a;\n var _this = this;\n var nativeCb = this.getNativeControl();\n var cbProto = Object.getPrototypeOf(nativeCb);\n var _loop_1 = function (controlState) {\n var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);\n // We have to check for this descriptor, since some browsers (Safari) don't support its return.\n // See: https://bugs.webkit.org/show_bug.cgi?id=49739\n if (!validDescriptor(desc)) {\n return { value: void 0 };\n }\n // Type cast is needed for compatibility with Closure Compiler.\n var nativeGetter = desc.get;\n var nativeCbDesc = {\n configurable: desc.configurable,\n enumerable: desc.enumerable,\n get: nativeGetter,\n set: function (state) {\n desc.set.call(nativeCb, state);\n _this.foundation.handleChange();\n },\n };\n Object.defineProperty(nativeCb, controlState, nativeCbDesc);\n };\n try {\n for (var CB_PROTO_PROPS_1 = __values(CB_PROTO_PROPS), CB_PROTO_PROPS_1_1 = CB_PROTO_PROPS_1.next(); !CB_PROTO_PROPS_1_1.done; CB_PROTO_PROPS_1_1 = CB_PROTO_PROPS_1.next()) {\n var controlState = CB_PROTO_PROPS_1_1.value;\n var state_1 = _loop_1(controlState);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (CB_PROTO_PROPS_1_1 && !CB_PROTO_PROPS_1_1.done && (_a = CB_PROTO_PROPS_1.return)) _a.call(CB_PROTO_PROPS_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n MDCCheckbox.prototype.uninstallPropertyChangeHooks = function () {\n var e_2, _a;\n var nativeCb = this.getNativeControl();\n var cbProto = Object.getPrototypeOf(nativeCb);\n try {\n for (var CB_PROTO_PROPS_2 = __values(CB_PROTO_PROPS), CB_PROTO_PROPS_2_1 = CB_PROTO_PROPS_2.next(); !CB_PROTO_PROPS_2_1.done; CB_PROTO_PROPS_2_1 = CB_PROTO_PROPS_2.next()) {\n var controlState = CB_PROTO_PROPS_2_1.value;\n var desc = Object.getOwnPropertyDescriptor(cbProto, controlState);\n if (!validDescriptor(desc)) {\n return;\n }\n Object.defineProperty(nativeCb, controlState, desc);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (CB_PROTO_PROPS_2_1 && !CB_PROTO_PROPS_2_1.done && (_a = CB_PROTO_PROPS_2.return)) _a.call(CB_PROTO_PROPS_2);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n MDCCheckbox.prototype.getNativeControl = function () {\n var NATIVE_CONTROL_SELECTOR = strings.NATIVE_CONTROL_SELECTOR;\n var el = this.root.querySelector(NATIVE_CONTROL_SELECTOR);\n if (!el) {\n throw new Error(\"Checkbox component requires a \" + NATIVE_CONTROL_SELECTOR + \" element\");\n }\n return el;\n };\n return MDCCheckbox;\n}(MDCComponent));\nexport { MDCCheckbox };\nfunction validDescriptor(inputPropDesc) {\n return !!inputPropDesc && typeof inputPropDesc.set === 'function';\n}\n//# sourceMappingURL=component.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nexport var cssClasses = {\n ROOT: 'mdc-form-field',\n};\nexport var strings = {\n LABEL_SELECTOR: '.mdc-form-field > label',\n};\n//# sourceMappingURL=constants.js.map","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __assign, __extends } from \"tslib\";\nimport { MDCFoundation } from '@material/base/foundation';\nimport { cssClasses, strings } from './constants';\nvar MDCFormFieldFoundation = /** @class */ (function (_super) {\n __extends(MDCFormFieldFoundation, _super);\n function MDCFormFieldFoundation(adapter) {\n var _this = _super.call(this, __assign(__assign({}, MDCFormFieldFoundation.defaultAdapter), adapter)) || this;\n _this.click = function () {\n _this.handleClick();\n };\n return _this;\n }\n Object.defineProperty(MDCFormFieldFoundation, \"cssClasses\", {\n get: function () {\n return cssClasses;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFormFieldFoundation, \"strings\", {\n get: function () {\n return strings;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MDCFormFieldFoundation, \"defaultAdapter\", {\n get: function () {\n return {\n activateInputRipple: function () { return undefined; },\n deactivateInputRipple: function () { return undefined; },\n deregisterInteractionHandler: function () { return undefined; },\n registerInteractionHandler: function () { return undefined; },\n };\n },\n enumerable: false,\n configurable: true\n });\n MDCFormFieldFoundation.prototype.init = function () {\n this.adapter.registerInteractionHandler('click', this.click);\n };\n MDCFormFieldFoundation.prototype.destroy = function () {\n this.adapter.deregisterInteractionHandler('click', this.click);\n };\n MDCFormFieldFoundation.prototype.handleClick = function () {\n var _this = this;\n this.adapter.activateInputRipple();\n requestAnimationFrame(function () {\n _this.adapter.deactivateInputRipple();\n });\n };\n return MDCFormFieldFoundation;\n}(MDCFoundation));\nexport { MDCFormFieldFoundation };\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCFormFieldFoundation;\n//# sourceMappingURL=foundation.js.map","/**\n * @license\n * Copyright 2017 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\nimport { __extends } from \"tslib\";\nimport { MDCComponent } from '@material/base/component';\nimport { MDCFormFieldFoundation } from './foundation';\nvar MDCFormField = /** @class */ (function (_super) {\n __extends(MDCFormField, _super);\n function MDCFormField() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MDCFormField.attachTo = function (root) {\n return new MDCFormField(root);\n };\n MDCFormField.prototype.labelEl = function () {\n var LABEL_SELECTOR = MDCFormFieldFoundation.strings.LABEL_SELECTOR;\n return this.root.querySelector(LABEL_SELECTOR);\n };\n MDCFormField.prototype.getDefaultFoundation = function () {\n var _this = this;\n // DO NOT INLINE this variable. For backward compatibility, foundations take a Partial<MDCFooAdapter>.\n // To ensure we don't accidentally omit any methods, we need a separate, strongly typed adapter variable.\n var adapter = {\n activateInputRipple: function () {\n if (_this.input && _this.input.ripple) {\n _this.input.ripple.activate();\n }\n },\n deactivateInputRipple: function () {\n if (_this.input && _this.input.ripple) {\n _this.input.ripple.deactivate();\n }\n },\n deregisterInteractionHandler: function (evtType, handler) {\n var labelEl = _this.labelEl();\n if (labelEl) {\n labelEl.removeEventListener(evtType, handler);\n }\n },\n registerInteractionHandler: function (evtType, handler) {\n var labelEl = _this.labelEl();\n if (labelEl) {\n labelEl.addEventListener(evtType, handler);\n }\n },\n };\n return new MDCFormFieldFoundation(adapter);\n };\n return MDCFormField;\n}(MDCComponent));\nexport { MDCFormField };\n//# sourceMappingURL=component.js.map","@use '../../style/internal/lime-theme';\n@use '@material/checkbox';\n@use '@material/form-field';\n\n/**\n* @prop --checkbox-unchecked-border-color: Affects the border color of the default state of the checkbox (when it is not checked). Defaults to `--contrast-900`.\n*/\n\n@mixin custom-checkbox-styles {\n // This is used in other components too, such as `limel-list`\n --mdc-checkbox-checked-color: var(--mdc-theme-primary);\n --mdc-checkbox-unchecked-color: var(\n --checkbox-unchecked-border-color,\n rgb(var(--contrast-900))\n );\n --lime-checkbox-unchecked-color: rgb(var(--contrast-300));\n}\n\n:host(limel-checkbox) {\n @include custom-checkbox-styles;\n}\n\n@include checkbox.core-styles;\n@include form-field.core-styles;\n\n.mdc-form-field {\n display: flex;\n\n .mdc-checkbox {\n .mdc-checkbox__native-control {\n &[disabled],\n &:enabled {\n &:not(:checked):not(:indeterminate) {\n ~ .mdc-checkbox__background {\n background-color: var(--lime-checkbox-unchecked-color);\n }\n }\n }\n }\n\n &.mdc-checkbox--invalid {\n .mdc-checkbox__native-control:enabled:not(:checked):not(\n :indeterminate\n )\n ~ .mdc-checkbox__background {\n border-color: var(--lime-error-text-color);\n }\n }\n .mdc-checkbox__native-control {\n &:focus-visible {\n + .mdc-checkbox__background {\n &:after {\n content: '';\n display: block;\n position: absolute;\n inset: -0.25rem;\n border-radius: 0.25rem;\n box-shadow: var(--shadow-depth-8-focused);\n }\n }\n }\n }\n }\n .mdc-checkbox--disabled {\n opacity: 0.5;\n }\n\n label {\n cursor: pointer;\n line-height: normal;\n padding-left: 0;\n\n &.mdc-checkbox--required::after {\n margin-left: 0.0625rem;\n content: '*';\n }\n\n &.mdc-checkbox--invalid {\n color: var(--lime-error-text-color);\n }\n }\n}\n\n@import './partial-styles/_helper-text.scss';\n@import './partial-styles/_readonly.scss';\n","import { MDCCheckbox, cssClasses } from '@material/checkbox';\nimport { MDCFormField } from '@material/form-field';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { createRandomString } from '../../util/random-string';\nimport { CheckboxTemplate } from './checkbox.template';\n\n/**\n * @exampleComponent limel-example-checkbox\n * @exampleComponent limel-example-checkbox-helper-text\n */\n@Component({\n tag: 'limel-checkbox',\n shadow: true,\n styleUrl: 'checkbox.scss',\n})\nexport class Checkbox {\n /**\n * Disables the checkbox when `true`. Works exactly the same as `readonly`.\n * If either property is `true`, the checkbox will be disabled.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Disables the checkbox when `true`. This visualizes the checkbox slightly differently.\n * But shows no visual sign indicating that the checkbox is disabled\n * or can ever become interactable.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * The checkbox label.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Optional helper text to display below the checkbox\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * The value of the checkbox. Set to `true` to make the checkbox checked.\n */\n @Prop({ reflect: true })\n public checked = false;\n\n /**\n * Enables indeterminate state. Set to `true` to signal indeterminate check.\n */\n @Prop({ reflect: true })\n public indeterminate = false;\n\n /**\n * Set to `true` to indicate that the checkbox must be checked.\n */\n @Prop({ reflect: true })\n public required: boolean = false;\n\n @State()\n private modified = false;\n\n /**\n * Emitted when the input value is changed.\n */\n @Event()\n private change: EventEmitter<boolean>;\n\n @Element()\n private limelCheckbox: HTMLLimelCheckboxElement;\n\n private formField: MDCFormField;\n private mdcCheckbox: MDCCheckbox;\n private id: string = createRandomString();\n\n @Watch('checked')\n protected handleCheckedChange(newValue: boolean) {\n this.mdcCheckbox.checked = newValue;\n }\n\n @Watch('indeterminate')\n protected handleIndeterminateChange(newValue: boolean) {\n this.mdcCheckbox.checked = this.checked;\n this.mdcCheckbox.indeterminate = newValue;\n }\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n public disconnectedCallback() {\n this.mdcCheckbox?.destroy();\n this.formField?.destroy();\n\n const checkboxElement = this.getCheckboxElement();\n if (checkboxElement) {\n checkboxElement.classList.remove(\n cssClasses.ANIM_CHECKED_INDETERMINATE,\n cssClasses.ANIM_CHECKED_UNCHECKED,\n cssClasses.ANIM_INDETERMINATE_CHECKED,\n cssClasses.ANIM_INDETERMINATE_UNCHECKED,\n cssClasses.ANIM_UNCHECKED_CHECKED,\n cssClasses.ANIM_UNCHECKED_INDETERMINATE\n );\n }\n }\n\n public render() {\n return (\n <CheckboxTemplate\n disabled={this.disabled || this.readonly}\n label={this.label}\n helperText={this.helperText}\n checked={this.checked || this.indeterminate}\n indeterminate={this.indeterminate}\n required={this.required}\n readonly={this.readonly}\n invalid={this.required && this.modified && !this.checked}\n onChange={this.onChange}\n id={this.id}\n />\n );\n }\n\n private initialize = () => {\n const element =\n this.limelCheckbox.shadowRoot.querySelector('.mdc-form-field');\n if (!element) {\n return;\n }\n\n this.formField = new MDCFormField(element);\n this.mdcCheckbox = new MDCCheckbox(this.getCheckboxElement());\n this.formField.input = this.mdcCheckbox;\n };\n\n private getCheckboxElement = () => {\n return this.limelCheckbox.shadowRoot.querySelector('.mdc-checkbox');\n };\n\n private onChange = (event: Event) => {\n event.stopPropagation();\n this.change.emit(this.mdcCheckbox.checked);\n this.modified = true;\n };\n}\n"],"mappings":";;;;;;;;;;;;;;gFAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAC5BF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAE,GACzE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAG,GAAIC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,GAAIN,EAAEM,GAAKL,EAAEK,EAAG,EACnG,OAAOP,EAAcC,EAAGC,EAC5B,EAEO,SAASS,EAAUV,EAAGC,GACzB,UAAWA,IAAM,YAAcA,IAAM,KACjC,MAAM,IAAIU,UAAU,uBAAyBC,OAAOX,GAAK,iCAC7DF,EAAcC,EAAGC,GACjB,SAASY,IAAOC,KAAKC,YAAcf,CAAE,CACrCA,EAAEO,UAAYN,IAAM,KAAOC,OAAOc,OAAOf,IAAMY,EAAGN,UAAYN,EAAEM,UAAW,IAAIM,EACnF,CAEO,IAAII,EAAW,WAClBA,EAAWf,OAAOgB,QAAU,SAASD,EAASE,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAAK,CACjDD,EAAIG,UAAUF,GACd,IAAK,IAAIf,KAAKc,EAAG,GAAIlB,OAAOK,UAAUC,eAAeC,KAAKW,EAAGd,GAAIa,EAAEb,GAAKc,EAAEd,EACtF,CACQ,OAAOa,CACf,EACI,OAAOF,EAASQ,MAAMX,KAAMS,UAChC,EA+EO,SAASG,EAASC,GACrB,IAAIP,SAAWQ,SAAW,YAAcA,OAAOC,SAAUC,EAAIV,GAAKO,EAAEP,GAAIC,EAAI,EAC5E,GAAIS,EAAG,OAAOA,EAAErB,KAAKkB,GACrB,GAAIA,UAAYA,EAAEH,SAAW,SAAU,MAAO,CAC1CO,KAAM,WACF,GAAIJ,GAAKN,GAAKM,EAAEH,OAAQG,OAAS,EACjC,MAAO,CAAEK,MAAOL,GAAKA,EAAEN,KAAMY,MAAON,EAChD,GAEI,MAAM,IAAIhB,UAAUS,EAAI,0BAA4B,kCACxD;;;;;;;;;;;;;;;;;;;;;;GC3GO,IAAIc,EAAa,CACpBC,2BAA4B,2CAC5BC,uBAAwB,uCACxBC,2BAA4B,2CAC5BC,6BAA8B,6CAC9BC,uBAAwB,uCACxBC,6BAA8B,6CAC9BC,WAAY,2BACZC,QAAS,wBACTC,UAAW,0BACXC,eAAgB,+BAChBC,SAAU,yBACVC,cAAe,8BACfC,UAAW,0BACXC,eAAgB,+BAChBC,KAAM,eACNC,SAAU,yBACVC,SAAU,0BAEP,IAAIC,EAAU,CACjBC,kBAAmB,eACnBC,iCAAkC,QAClCC,wBAAyB,qBACzBC,wBAAyB,gCACzBC,yBAA0B,UAC1BC,+BAAgC,gBAChCC,sBAAuB,OACvBC,2BAA4B,aAEzB,IAAIC,EAAU,CACjBC,kBAAmB;;;;;;;;;;;;;;;;;;;;;;GC3BvB,IAAIC,EAAuC,SAAUC,GACjDtD,EAAUqD,EAAuBC,GACjC,SAASD,EAAsBE,GAC3B,IAAIC,EAAQF,EAAOvD,KAAKK,KAAMG,EAASA,EAAS,GAAI8C,EAAsBI,gBAAiBF,KAAanD,KACxGoD,EAAME,kBAAoBhB,EAAQO,sBAClCO,EAAMG,sBAAwB,GAC9BH,EAAMI,kBAAoB,EAC1BJ,EAAMK,0BAA4B,MAClC,OAAOL,CACf,CACIhE,OAAOsE,eAAeT,EAAuB,aAAc,CACvDU,IAAK,WACD,OAAOvC,CACnB,EACQwC,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAeT,EAAuB,UAAW,CACpDU,IAAK,WACD,OAAOrB,CACnB,EACQsB,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAeT,EAAuB,UAAW,CACpDU,IAAK,WACD,OAAOZ,CACnB,EACQa,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAeT,EAAuB,iBAAkB,CAC3DU,IAAK,WACD,MAAO,CACHG,SAAU,WAAc,OAAOC,SAAU,EACzCC,YAAa,WAAc,OAAOD,SAAU,EAC5CE,iBAAkB,WAAc,OAAO,KAAM,EAC7CC,gBAAiB,WAAc,OAAO,KAAM,EAC5CC,UAAW,WAAc,OAAO,KAAM,EACtCC,gBAAiB,WAAc,OAAO,KAAM,EAC5CC,YAAa,WAAc,OAAON,SAAU,EAC5CO,wBAAyB,WAAc,OAAOP,SAAU,EACxDQ,qBAAsB,WAAc,OAAOR,SAAU,EACrDS,yBAA0B,WAAc,OAAOT,SAAU,EAEzE,EACQH,WAAY,MACZC,aAAc,OAElBZ,EAAsBxD,UAAUgF,KAAO,WACnCzE,KAAKsD,kBAAoBtD,KAAK0E,sBAC9B1E,KAAK2E,oBACL3E,KAAKmD,QAAQW,SAAS1C,EAAWiB,SACzC,EACIY,EAAsBxD,UAAUmF,QAAU,WACtCC,aAAa7E,KAAKwD,kBAC1B,EACIP,EAAsBxD,UAAUqF,YAAc,SAAUC,GACpD/E,KAAKmD,QAAQqB,yBAAyBO,GACtC,GAAIA,EAAU,CACV/E,KAAKmD,QAAQW,SAAS1C,EAAWW,SAC7C,KACa,CACD/B,KAAKmD,QAAQkB,YAAYjD,EAAWW,SAChD,CACA,EAIIkB,EAAsBxD,UAAUuF,mBAAqB,WACjD,IAAI5B,EAAQpD,KACZ,IAAKA,KAAKyD,0BAA2B,CACjC,MACZ,CACQoB,aAAa7E,KAAKwD,mBAClBxD,KAAKwD,kBAAoByB,YAAW,WAChC7B,EAAMD,QAAQkB,YAAYjB,EAAMG,uBAChCH,EAAMK,0BAA4B,KAC9C,GAAWV,EAAQC,kBACnB,EAIIC,EAAsBxD,UAAUyF,aAAe,WAC3ClF,KAAKmF,sBACb,EACIlC,EAAsBxD,UAAU0F,qBAAuB,WACnD,IAAKnF,KAAKmD,QAAQc,mBAAoB,CAClC,MACZ,CACQ,IAAImB,EAAWpF,KAAKsD,kBACpB,IAAI+B,EAAWrF,KAAK0E,sBACpB,GAAIU,IAAaC,EAAU,CACvB,MACZ,CACQrF,KAAK2E,oBACL,IAAI7B,EAA6BR,EAAQQ,2BACzC,IAAIV,EAAWhB,EAAWgB,SAC1B,GAAIiD,IAAavC,EAA4B,CACzC9C,KAAKmD,QAAQkB,YAAYjC,EACrC,KACa,CACDpC,KAAKmD,QAAQW,SAAS1B,EAClC,CAGQ,GAAIpC,KAAKuD,sBAAsB7C,OAAS,EAAG,CACvCmE,aAAa7E,KAAKwD,mBAClBxD,KAAKmD,QAAQa,cACbhE,KAAKmD,QAAQkB,YAAYrE,KAAKuD,sBAC1C,CACQvD,KAAKuD,sBACDvD,KAAKsF,4BAA4BF,EAAUC,GAC/CrF,KAAKsD,kBAAoB+B,EAGzB,GAAIrF,KAAKmD,QAAQe,mBACblE,KAAKuD,sBAAsB7C,OAAS,EAAG,CACvCV,KAAKmD,QAAQW,SAAS9D,KAAKuD,uBAC3BvD,KAAKyD,0BAA4B,IAC7C,CACA,EACIR,EAAsBxD,UAAUiF,oBAAsB,WAClD,IAAI9B,EAAiCN,EAAQM,+BAAgCD,EAA2BL,EAAQK,yBAA0BG,EAA6BR,EAAQQ,2BAC/K,GAAI9C,KAAKmD,QAAQiB,kBAAmB,CAChC,OAAOxB,CACnB,CACQ,OAAO5C,KAAKmD,QAAQgB,YAAcxB,EAC9BG,CACZ,EACIG,EAAsBxD,UAAU6F,4BAA8B,SAAUF,EAAUC,GAC9E,IAAIxC,EAAwBP,EAAQO,sBAAuBF,EAA2BL,EAAQK,yBAA0BG,EAA6BR,EAAQQ,2BAC7J,IAAIyC,EAAKtC,EAAsB7B,WAAYK,EAAyB8D,EAAG9D,uBAAwBC,EAA+B6D,EAAG7D,6BAA8BJ,EAAyBiE,EAAGjE,uBAAwBD,EAA6BkE,EAAGlE,2BAA4BE,EAA6BgE,EAAGhE,2BAA4BC,EAA+B+D,EAAG/D,6BAC7W,OAAQ4D,GACJ,KAAKvC,EACD,GAAIwC,IAAavC,EAA4B,CACzC,MAAO,EAC3B,CACgB,OAAOuC,IAAa1C,EAA2BpB,EAA6BC,EAChF,KAAKsB,EACD,OAAOuC,IAAa1C,EAA2BlB,EAAyBC,EAC5E,KAAKiB,EACD,OAAO0C,IAAavC,EAA6BxB,EAAyBD,EAC9E,QACI,OAAOgE,IAAa1C,EAA2BpB,EAA6BC,EAE5F,EACIyB,EAAsBxD,UAAUkF,kBAAoB,WAEhD,GAAI3E,KAAKmD,QAAQiB,kBAAmB,CAChCpE,KAAKmD,QAAQoB,qBAAqBjC,EAAQC,kBAAmBD,EAAQE,iCACjF,KACa,CAGDxC,KAAKmD,QAAQmB,wBAAwBhC,EAAQC,kBACzD,CACA,EACI,OAAOU,CACX,CA/JyB,CA+JvBuC;;;;;;;;;;;;;;;;;;;;;;GCzJF,IAAIC,EAAiB,CAAC,UAAW,iBACjC,IAAIC,EAA6B,SAAUxC,GACvCtD,EAAU8F,EAAaxC,GACvB,SAASwC,IACL,IAAItC,EAAQF,IAAW,MAAQA,EAAOvC,MAAMX,KAAMS,YAAcT,KAChEoD,EAAMuC,cAAgBvC,EAAMwC,eAC5B,OAAOxC,CACf,CACIsC,EAAYG,SAAW,SAAUC,GAC7B,OAAO,IAAIJ,EAAYI,EAC/B,EACI1G,OAAOsE,eAAegC,EAAYjG,UAAW,SAAU,CACnDkE,IAAK,WACD,OAAO3D,KAAK2F,aACxB,EACQ/B,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAegC,EAAYjG,UAAW,UAAW,CACpDkE,IAAK,WACD,OAAO3D,KAAK+F,mBAAmBC,OAC3C,EACQC,IAAK,SAAUD,GACXhG,KAAK+F,mBAAmBC,QAAUA,CAC9C,EACQpC,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAegC,EAAYjG,UAAW,gBAAiB,CAC1DkE,IAAK,WACD,OAAO3D,KAAK+F,mBAAmBG,aAC3C,EACQD,IAAK,SAAUC,GACXlG,KAAK+F,mBAAmBG,cAAgBA,CACpD,EACQtC,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAegC,EAAYjG,UAAW,WAAY,CACrDkE,IAAK,WACD,OAAO3D,KAAK+F,mBAAmBhB,QAC3C,EACQkB,IAAK,SAAUlB,GACX/E,KAAKmG,WAAWrB,YAAYC,EACxC,EACQnB,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAegC,EAAYjG,UAAW,QAAS,CAClDkE,IAAK,WACD,OAAO3D,KAAK+F,mBAAmB7E,KAC3C,EACQ+E,IAAK,SAAU/E,GACXlB,KAAK+F,mBAAmB7E,MAAQA,CAC5C,EACQ0C,WAAY,MACZC,aAAc,OAElB6B,EAAYjG,UAAU2G,WAAa,WAC/B,IAAI3D,EAA0BH,EAAQG,wBACtCzC,KAAK+F,mBAAmBG,cACpBlG,KAAK+F,mBAAmBM,aAAa5D,KACjC,OACRzC,KAAK+F,mBAAmBO,gBAAgB7D,EAChD,EACIiD,EAAYjG,UAAU8G,mBAAqB,WACvC,IAAInD,EAAQpD,KACZA,KAAKkF,aAAe,WAChB9B,EAAM+C,WAAWjB,cAC7B,EACQlF,KAAKgF,mBAAqB,WACtB5B,EAAM+C,WAAWnB,oBAC7B,EACQhF,KAAK+F,mBAAmBS,iBAAiB,SAAUxG,KAAKkF,cACxDlF,KAAKyG,OAAOC,EAAoBC,OAAQ,gBAAiB3G,KAAKgF,oBAC9DhF,KAAK4G,4BACb,EACIlB,EAAYjG,UAAUmF,QAAU,WAC5B5E,KAAK2F,cAAcf,UACnB5E,KAAK+F,mBAAmBc,oBAAoB,SAAU7G,KAAKkF,cAC3DlF,KAAK8G,SAASJ,EAAoBC,OAAQ,gBAAiB3G,KAAKgF,oBAChEhF,KAAK+G,+BACL7D,EAAOzD,UAAUmF,QAAQjF,KAAKK,KACtC,EACI0F,EAAYjG,UAAUuH,qBAAuB,WACzC,IAAI5D,EAAQpD,KAGZ,IAAImD,EAAU,CACVW,SAAU,SAAUmD,GAAa,OAAO7D,EAAM0C,KAAKoB,UAAUC,IAAIF,EAAW,EAC5EjD,YAAa,WAAc,OAAOZ,EAAM0C,KAAKsB,WAAY,EACzDnD,iBAAkB,WAAc,QAASb,EAAM2C,kBAAmB,EAClE7B,gBAAiB,WAAc,OAAOmD,QAAQjE,EAAM0C,KAAKwB,WAAY,EACrEnD,UAAW,WAAc,OAAOf,EAAM4C,OAAQ,EAC9C5B,gBAAiB,WAAc,OAAOhB,EAAM8C,aAAc,EAC1D7B,YAAa,SAAU4C,GACnB7D,EAAM0C,KAAKoB,UAAUK,OAAON,EAC5C,EACY3C,wBAAyB,SAAUkD,GAC/BpE,EAAM2C,mBAAmBO,gBAAgBkB,EACzD,EACYjD,qBAAsB,SAAUiD,EAAMtG,GAClCkC,EAAM2C,mBAAmB0B,aAAaD,EAAMtG,EAC5D,EACYsD,yBAA0B,SAAUO,GAChC3B,EAAM2C,mBAAmBhB,SAAWA,CACpD,GAEQ,OAAO,IAAI9B,EAAsBE,EACzC,EACIuC,EAAYjG,UAAUmG,aAAe,WACjC,IAAIxC,EAAQpD,KAGZ,IAAImD,EAAUhD,EAASA,EAAS,GAAIuH,EAAUC,cAAc3H,OAAQ,CAAE4H,6BAA8B,SAAUC,EAASC,GAC/G1E,EAAM2C,mBAAmBc,oBAAoBgB,EAASC,EAASC,IAC/E,EAAeC,gBAAiB,WAAc,OAAOC,EAAQ7E,EAAM2C,mBAAoB,UAAW,EAAImC,YAAa,WAAc,OAAO,IAAK,EAAIC,2BAA4B,SAAUN,EAASC,GAChL1E,EAAM2C,mBAAmBS,iBAAiBqB,EAASC,EAASC,IAC5E,IACQ,OAAO,IAAIL,EAAU1H,KAAK8F,KAAM,IAAIsC,EAAoBjF,GAChE,EACIuC,EAAYjG,UAAUmH,2BAA6B,WAC/C,IAAIyB,EAAK9C,EACT,IAAInC,EAAQpD,KACZ,IAAIsI,EAAWtI,KAAK+F,mBACpB,IAAIwC,EAAUnJ,OAAOoJ,eAAeF,GACpC,IAAIG,EAAU,SAAUC,GACpB,IAAIC,EAAOvJ,OAAOwJ,yBAAyBL,EAASG,GAGpD,IAAKG,EAAgBF,GAAO,CACxB,MAAO,CAAEzH,WAAY,EACrC,CAEY,IAAI4H,EAAeH,EAAKhF,IACxB,IAAIoF,EAAe,CACflF,aAAc8E,EAAK9E,aACnBD,WAAY+E,EAAK/E,WACjBD,IAAKmF,EACL7C,IAAK,SAAU+C,GACXL,EAAK1C,IAAItG,KAAK2I,EAAUU,GACxB5F,EAAM+C,WAAWjB,cACrC,GAEY9F,OAAOsE,eAAe4E,EAAUI,EAAcK,EAC1D,EACQ,IACI,IAAK,IAAIE,EAAmBrI,EAAS6E,GAAiByD,EAAqBD,EAAiBhI,QAASiI,EAAmB/H,KAAM+H,EAAqBD,EAAiBhI,OAAQ,CACxK,IAAIyH,EAAeQ,EAAmBhI,MACtC,IAAIiI,EAAUV,EAAQC,GACtB,UAAWS,IAAY,SACnB,OAAOA,EAAQjI,KACnC,CACA,CACQ,MAAOkI,GAASf,EAAM,CAAEgB,MAAOD,EAAQ,CAC/C,QACY,IACI,GAAIF,IAAuBA,EAAmB/H,OAASoE,EAAK0D,EAAiBK,QAAS/D,EAAG5F,KAAKsJ,EAC9G,CACA,QAAsB,GAAIZ,EAAK,MAAMA,EAAIgB,KAAM,CAC/C,CACA,EACI3D,EAAYjG,UAAUsH,6BAA+B,WACjD,IAAIwC,EAAKhE,EACT,IAAI+C,EAAWtI,KAAK+F,mBACpB,IAAIwC,EAAUnJ,OAAOoJ,eAAeF,GACpC,IACI,IAAK,IAAIkB,EAAmB5I,EAAS6E,GAAiBgE,EAAqBD,EAAiBvI,QAASwI,EAAmBtI,KAAMsI,EAAqBD,EAAiBvI,OAAQ,CACxK,IAAIyH,EAAee,EAAmBvI,MACtC,IAAIyH,EAAOvJ,OAAOwJ,yBAAyBL,EAASG,GACpD,IAAKG,EAAgBF,GAAO,CACxB,MACpB,CACgBvJ,OAAOsE,eAAe4E,EAAUI,EAAcC,EAC9D,CACA,CACQ,MAAOe,GAASH,EAAM,CAAEF,MAAOK,EAAQ,CAC/C,QACY,IACI,GAAID,IAAuBA,EAAmBtI,OAASoE,EAAKiE,EAAiBF,QAAS/D,EAAG5F,KAAK6J,EAC9G,CACA,QAAsB,GAAID,EAAK,MAAMA,EAAIF,KAAM,CAC/C,CACA,EACI3D,EAAYjG,UAAUsG,iBAAmB,WACrC,IAAIrD,EAA0BJ,EAAQI,wBACtC,IAAIiH,EAAK3J,KAAK8F,KAAK8D,cAAclH,GACjC,IAAKiH,EAAI,CACL,MAAM,IAAIE,MAAM,iCAAmCnH,EAA0B,WACzF,CACQ,OAAOiH,CACf,EACI,OAAOjE,CACX,CAhMe,CAgMboE,GAEF,SAASjB,EAAgBkB,GACrB,QAASA,UAAwBA,EAAc9D,MAAQ,UAC3D;;;;;;;;;;;;;;gFCpNA,IAAIhH,EAAgB,SAASC,EAAGC,GAC5BF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAE,GACzE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAG,GAAIC,OAAOK,UAAUC,eAAeC,KAAKR,EAAGK,GAAIN,EAAEM,GAAKL,EAAEK,EAAG,EACnG,OAAOP,EAAcC,EAAGC,EAC5B,EAEO,SAASS,EAAUV,EAAGC,GACzB,UAAWA,IAAM,YAAcA,IAAM,KACjC,MAAM,IAAIU,UAAU,uBAAyBC,OAAOX,GAAK,iCAC7DF,EAAcC,EAAGC,GACjB,SAASY,IAAOC,KAAKC,YAAcf,CAAE,CACrCA,EAAEO,UAAYN,IAAM,KAAOC,OAAOc,OAAOf,IAAMY,EAAGN,UAAYN,EAAEM,UAAW,IAAIM,EACnF,CAEO,IAAII,EAAW,WAClBA,EAAWf,OAAOgB,QAAU,SAASD,EAASE,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAAK,CACjDD,EAAIG,UAAUF,GACd,IAAK,IAAIf,KAAKc,EAAG,GAAIlB,OAAOK,UAAUC,eAAeC,KAAKW,EAAGd,GAAIa,EAAEb,GAAKc,EAAEd,EACtF,CACQ,OAAOa,CACf,EACI,OAAOF,EAASQ,MAAMX,KAAMS,UAChC;;;;;;;;;;;;;;;;;;;;;;GClBO,IAAIW,EAAa,CACpBe,KAAM,kBAEH,IAAIG,EAAU,CACjB0H,eAAgB;;;;;;;;;;;;;;;;;;;;;;GCDpB,IAAIC,EAAwC,SAAU/G,GAClDtD,EAAUqK,EAAwB/G,GAClC,SAAS+G,EAAuB9G,GAC5B,IAAIC,EAAQF,EAAOvD,KAAKK,KAAMG,EAASA,EAAS,GAAI8J,EAAuB5G,gBAAiBF,KAAanD,KACzGoD,EAAM8G,MAAQ,WACV9G,EAAM+G,aAClB,EACQ,OAAO/G,CACf,CACIhE,OAAOsE,eAAeuG,EAAwB,aAAc,CACxDtG,IAAK,WACD,OAAOvC,CACnB,EACQwC,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAeuG,EAAwB,UAAW,CACrDtG,IAAK,WACD,OAAOrB,CACnB,EACQsB,WAAY,MACZC,aAAc,OAElBzE,OAAOsE,eAAeuG,EAAwB,iBAAkB,CAC5DtG,IAAK,WACD,MAAO,CACHyG,oBAAqB,WAAc,OAAOrG,SAAU,EACpDsG,sBAAuB,WAAc,OAAOtG,SAAU,EACtD6D,6BAA8B,WAAc,OAAO7D,SAAU,EAC7DoE,2BAA4B,WAAc,OAAOpE,SAAU,EAE3E,EACQH,WAAY,MACZC,aAAc,OAElBoG,EAAuBxK,UAAUgF,KAAO,WACpCzE,KAAKmD,QAAQgF,2BAA2B,QAASnI,KAAKkK,MAC9D,EACID,EAAuBxK,UAAUmF,QAAU,WACvC5E,KAAKmD,QAAQyE,6BAA6B,QAAS5H,KAAKkK,MAChE,EACID,EAAuBxK,UAAU0K,YAAc,WAC3C,IAAI/G,EAAQpD,KACZA,KAAKmD,QAAQiH,sBACbE,uBAAsB,WAClBlH,EAAMD,QAAQkH,uBAC1B,GACA,EACI,OAAOJ,CACX,CAjD0B,CAiDxBzE;;;;;;;;;;;;;;;;;;;;;;GCjDF,IAAI+E,EAA8B,SAAUrH,GACxCtD,EAAU2K,EAAcrH,GACxB,SAASqH,IACL,OAAOrH,IAAW,MAAQA,EAAOvC,MAAMX,KAAMS,YAAcT,IACnE,CACIuK,EAAa1E,SAAW,SAAUC,GAC9B,OAAO,IAAIyE,EAAazE,EAChC,EACIyE,EAAa9K,UAAU+K,QAAU,WAC7B,IAAIR,EAAiBC,EAAuB3H,QAAQ0H,eACpD,OAAOhK,KAAK8F,KAAK8D,cAAcI,EACvC,EACIO,EAAa9K,UAAUuH,qBAAuB,WAC1C,IAAI5D,EAAQpD,KAGZ,IAAImD,EAAU,CACViH,oBAAqB,WACjB,GAAIhH,EAAMqH,OAASrH,EAAMqH,MAAMC,OAAQ,CACnCtH,EAAMqH,MAAMC,OAAOC,UACvC,CACA,EACYN,sBAAuB,WACnB,GAAIjH,EAAMqH,OAASrH,EAAMqH,MAAMC,OAAQ,CACnCtH,EAAMqH,MAAMC,OAAOE,YACvC,CACA,EACYhD,6BAA8B,SAAUC,EAASC,GAC7C,IAAI0C,EAAUpH,EAAMoH,UACpB,GAAIA,EAAS,CACTA,EAAQ3D,oBAAoBgB,EAASC,EACzD,CACA,EACYK,2BAA4B,SAAUN,EAASC,GAC3C,IAAI0C,EAAUpH,EAAMoH,UACpB,GAAIA,EAAS,CACTA,EAAQhE,iBAAiBqB,EAASC,EACtD,CACA,GAEQ,OAAO,IAAImC,EAAuB9G,EAC1C,EACI,OAAOoH,CACX,CA3CgB,CA2CdT,GCpEF,MAAMe,EAAc,68sB,MCwBPC,EAAQ,M,wDA4DT9K,KAAA+K,GAAaC,IAuDbhL,KAAAoG,WAAa,KACjB,MAAM6E,EACFjL,KAAKkL,cAAcC,WAAWvB,cAAc,mBAChD,IAAKqB,EAAS,CACV,M,CAGJjL,KAAKoL,UAAY,IAAIb,EAAaU,GAClCjL,KAAKqL,YAAc,IAAI3F,EAAY1F,KAAKsL,sBACxCtL,KAAKoL,UAAUX,MAAQzK,KAAKqL,WAAW,EAGnCrL,KAAAsL,mBAAqB,IAClBtL,KAAKkL,cAAcC,WAAWvB,cAAc,iBAG/C5J,KAAAuL,SAAYC,IAChBA,EAAMC,kBACNzL,KAAK0L,OAAOC,KAAK3L,KAAKqL,YAAYrF,SAClChG,KAAK4L,SAAW,IAAI,E,cAhIN,M,cAQA,M,4DAkBD,M,mBAMM,M,cAMI,M,cAGR,K,CAgBTC,oBAAoBC,GAC1B9L,KAAKqL,YAAYrF,QAAU8F,C,CAIrBC,0BAA0BD,GAChC9L,KAAKqL,YAAYrF,QAAUhG,KAAKgG,QAChChG,KAAKqL,YAAYnF,cAAgB4F,C,CAG9BE,oBACHhM,KAAKoG,Y,CAGF6F,mBACHjM,KAAKoG,Y,CAGF8F,uB,SACH3G,EAAAvF,KAAKqL,eAAW,MAAA9F,SAAA,SAAAA,EAAEX,WAClBuH,EAAAnM,KAAKoL,aAAS,MAAAe,SAAA,SAAAA,EAAEvH,UAEhB,MAAMwH,EAAkBpM,KAAKsL,qBAC7B,GAAIc,EAAiB,CACjBA,EAAgBlF,UAAUK,OACtBnG,EAAWC,2BACXD,EAAWE,uBACXF,EAAWG,2BACXH,EAAWI,6BACXJ,EAAWK,uBACXL,EAAWM,6B,EAKhB2K,SACH,OACIC,EAACC,EAAgB,CACbxH,SAAU/E,KAAK+E,UAAY/E,KAAKwM,SAChCC,MAAOzM,KAAKyM,MACZC,WAAY1M,KAAK0M,WACjB1G,QAAShG,KAAKgG,SAAWhG,KAAKkG,cAC9BA,cAAelG,KAAKkG,cACpByG,SAAU3M,KAAK2M,SACfH,SAAUxM,KAAKwM,SACfI,QAAS5M,KAAK2M,UAAY3M,KAAK4L,WAAa5L,KAAKgG,QACjDuF,SAAUvL,KAAKuL,SACfR,GAAI/K,KAAK+K,I"}
@@ -1,2 +0,0 @@
1
- import{h as c}from"./p-c8818b66.js";const e=e=>{const o={};if(e.indeterminate){o["data-indeterminate"]="true"}return[c("div",{class:"mdc-form-field "},c("div",{class:{"mdc-checkbox":true,"mdc-checkbox--invalid":e.invalid,"mdc-checkbox--disabled":e.disabled,"mdc-checkbox--required":e.required,"mdc-checkbox--indeterminate":e.indeterminate,"lime-checkbox--readonly":e.readonly}},c("input",Object.assign({type:"checkbox",class:"mdc-checkbox__native-control",id:e.id,checked:e.checked,disabled:e.disabled||e.readonly,required:e.required,onChange:e.onChange},o)),c("div",{class:"mdc-checkbox__background"},c("svg",{class:"mdc-checkbox__checkmark",viewBox:"0 0 24 24"},c("path",{class:"mdc-checkbox__checkmark-path",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"})),c("div",{class:"mdc-checkbox__mixedmark"}))),c("label",{class:{"mdc-checkbox--invalid":e.invalid,"mdc-checkbox--disabled":e.disabled,"mdc-checkbox--required":e.required,"mdc-checkbox--indeterminate":e.indeterminate,"lime-checkbox--readonly":e.readonly},htmlFor:e.id},e.label)),c(d,{text:e.helperText})]};const d=e=>{if(typeof e.text!=="string"){return}return c("limel-helper-line",{helperText:e.text.trim()})};export{e as C};
2
- //# sourceMappingURL=p-5b6d2d55.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CheckboxTemplate","props","inputProps","indeterminate","h","class","invalid","disabled","required","readonly","Object","assign","type","id","checked","onChange","viewBox","fill","d","htmlFor","label","HelperText","text","helperText","trim"],"sources":["./src/components/checkbox/checkbox.template.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\n\ninterface CheckboxTemplateProps {\n disabled?: boolean;\n id: string;\n checked?: boolean;\n readonly?: boolean;\n indeterminate?: boolean;\n required?: boolean;\n invalid?: boolean;\n onChange?: (event: Event) => void;\n label?: string;\n helperText?: string;\n}\n\nexport const CheckboxTemplate: FunctionalComponent<CheckboxTemplateProps> = (\n props\n) => {\n const inputProps = {};\n if (props.indeterminate) {\n inputProps['data-indeterminate'] = 'true';\n }\n\n return [\n <div class=\"mdc-form-field \">\n <div\n class={{\n 'mdc-checkbox': true,\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"mdc-checkbox__native-control\"\n id={props.id}\n checked={props.checked}\n disabled={props.disabled || props.readonly}\n required={props.required}\n onChange={props.onChange}\n {...inputProps}\n />\n <div class=\"mdc-checkbox__background\">\n <svg class=\"mdc-checkbox__checkmark\" viewBox=\"0 0 24 24\">\n <path\n class=\"mdc-checkbox__checkmark-path\"\n fill=\"none\"\n d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"\n />\n </svg>\n <div class=\"mdc-checkbox__mixedmark\" />\n </div>\n </div>\n <label\n class={{\n 'mdc-checkbox--invalid': props.invalid,\n 'mdc-checkbox--disabled': props.disabled,\n 'mdc-checkbox--required': props.required,\n 'mdc-checkbox--indeterminate': props.indeterminate,\n 'lime-checkbox--readonly': props.readonly,\n }}\n htmlFor={props.id}\n >\n {props.label}\n </label>\n </div>,\n <HelperText text={props.helperText} />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{ text: string }> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return <limel-helper-line helperText={props.text.trim()} />;\n};\n"],"mappings":"0CAeaA,EACTC,IAEA,MAAMC,EAAa,GACnB,GAAID,EAAME,cAAe,CACrBD,EAAW,sBAAwB,M,CAGvC,MAAO,CACHE,EAAA,OAAKC,MAAM,mBACPD,EAAA,OACIC,MAAO,CACH,eAAgB,KAChB,wBAAyBJ,EAAMK,QAC/B,yBAA0BL,EAAMM,SAChC,yBAA0BN,EAAMO,SAChC,8BAA+BP,EAAME,cACrC,0BAA2BF,EAAMQ,WAGrCL,EAAA,QAAAM,OAAAC,OAAA,CACIC,KAAK,WACLP,MAAM,+BACNQ,GAAIZ,EAAMY,GACVC,QAASb,EAAMa,QACfP,SAAUN,EAAMM,UAAYN,EAAMQ,SAClCD,SAAUP,EAAMO,SAChBO,SAAUd,EAAMc,UACZb,IAERE,EAAA,OAAKC,MAAM,4BACPD,EAAA,OAAKC,MAAM,0BAA0BW,QAAQ,aACzCZ,EAAA,QACIC,MAAM,+BACNY,KAAK,OACLC,EAAE,sCAGVd,EAAA,OAAKC,MAAM,8BAGnBD,EAAA,SACIC,MAAO,CACH,wBAAyBJ,EAAMK,QAC/B,yBAA0BL,EAAMM,SAChC,yBAA0BN,EAAMO,SAChC,8BAA+BP,EAAME,cACrC,0BAA2BF,EAAMQ,UAErCU,QAASlB,EAAMY,IAEdZ,EAAMmB,QAGfhB,EAACiB,EAAU,CAACC,KAAMrB,EAAMsB,aAC3B,EAGL,MAAMF,EAAqDpB,IACvD,UAAWA,EAAMqB,OAAS,SAAU,CAChC,M,CAGJ,OAAOlB,EAAA,qBAAmBmB,WAAYtB,EAAMqB,KAAKE,QAAU,S"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,g as i}from"./p-c8818b66.js";import{c as r}from"./p-240fda3b.js";const s="@limetech/lime-elements/icons";class n{constructor(){this.promises={};this.cache=caches.open(s)}async get(t,e=""){const i=await this.cache;const r=this.getUrl(t,e);let s=await i.match(r);if(!s){s=await this.fetchData(r,i)}return this.getIcon(s)}async fetchData(t,e){let i=this.promises[t];if(i===undefined){i=e.add(t);this.promises[t]=i}await i;return e.match(t)}async getIcon(t){let e=await t.text();e=e.replace(/#000000/g,"currentColor");if(!this.validSvg(e)){throw new Error("Invalid SVG")}return e}validSvg(t){const e=new DOMParser;const i=e.parseFromString(t,"image/svg+xml");return i.documentElement.tagName.toLowerCase()==="svg"}getUrl(t,e){let i=e||"";if(e&&!e.endsWith("/")){i=`${e}/`}return`${i}assets/icons/${t}.svg`}}const o=new n;const a=(()=>o)();const h=":host{background-color:var(--icon-background-color, transparent);border-radius:50%;display:inline-block;line-height:0;box-sizing:border-box}:host svg{fill:currentColor;height:100%;pointer-events:none;width:100%}:host([hidden]){display:none}:host([size=x-small]){height:0.9375rem !important;width:0.9375rem !important}:host([size=small]){height:1.25rem !important;width:1.25rem !important}:host([size=medium]){height:1.5625rem !important;width:1.5625rem !important}:host([size=large]){height:1.875rem !important;width:1.875rem !important}:host([badge][size=x-small]){height:1.4375rem !important;width:1.4375rem !important}:host([badge][size=x-small])>div{margin:0.25rem}:host([badge][size=small]){height:1.875rem !important;width:1.875rem !important}:host([badge][size=small])>div{margin:0.3125rem}:host([badge][size=medium]){height:2.5rem !important;width:2.5rem !important}:host([badge][size=medium])>div{margin:0.5rem}:host([badge][size=large]){height:2.875rem !important;width:2.875rem !important}:host([badge][size=large])>div{margin:0.5rem}";const m=class{constructor(e){t(this,e);this.size=undefined;this.name=undefined;this.badge=undefined}componentDidLoad(){this.loadIcon(this.name)}render(){return e("div",{class:"container"})}async loadIcon(t){if(t===undefined||t===""){return}const e=await this.loadSvg(t);this.renderSvg(e)}loadSvg(t){return a.get(t,r.iconPath)}renderSvg(t){const e=this.host.shadowRoot.querySelector("div.container");if(e){e.innerHTML=t}}get host(){return i(this)}static get watchers(){return{name:["loadIcon"]}}};m.style=h;export{m as limel_icon};
2
- //# sourceMappingURL=p-63111b62.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CACHE_NAME","IconCache","constructor","this","promises","cache","caches","open","async","name","path","url","getUrl","response","match","fetchData","getIcon","requestPromise","undefined","add","svgData","text","replace","validSvg","Error","data","parser","DOMParser","svgDoc","parseFromString","documentElement","tagName","toLowerCase","iconPath","endsWith","iconCache","iconCache$1","iconCss","Icon","componentDidLoad","loadIcon","render","h","class","loadSvg","renderSvg","get","config","container","host","shadowRoot","querySelector","innerHTML"],"sources":["./src/global/icon-cache.ts","./src/components/icon/icon.scss?tag=limel-icon&encapsulation=shadow","./src/components/icon/icon.tsx"],"sourcesContent":["const CACHE_NAME = '@limetech/lime-elements/icons';\n\nexport class IconCache {\n /*\n * Cache of all loaded SVGs\n */\n private cache: Promise<Cache>;\n\n private promises: Record<string, Promise<void>> = {};\n\n constructor() {\n this.cache = caches.open(CACHE_NAME);\n }\n\n /**\n * Get icon data from the cache\n * @param {string} name name of the icon\n * @param {string} path path on the server where the assets are located\n * @returns {Promise<string>} svg markup\n */\n public async get(name: string, path: string = ''): Promise<string> {\n const cache = await this.cache;\n const url = this.getUrl(name, path);\n\n let response = await cache.match(url);\n if (!response) {\n response = await this.fetchData(url, cache);\n }\n\n return this.getIcon(response);\n }\n\n private async fetchData(url: string, cache: Cache): Promise<Response> {\n let requestPromise = this.promises[url];\n if (requestPromise === undefined) {\n requestPromise = cache.add(url);\n this.promises[url] = requestPromise;\n }\n\n await requestPromise;\n\n return cache.match(url);\n }\n\n /*\n * Get icon data from a response\n */\n private async getIcon(response: Response): Promise<string> {\n let svgData = await response.text();\n\n // Some of the icons in the Icons8 library have hard coded black color on some of the paths.\n // In order to apply coloring with CSS, these have to be set to 'currentColor'\n svgData = svgData.replace(/#000000/g, 'currentColor');\n\n if (!this.validSvg(svgData)) {\n throw new Error('Invalid SVG');\n }\n\n return svgData;\n }\n\n /*\n * Check if the given data is a valid SVG document\n */\n private validSvg(data) {\n const parser = new DOMParser();\n const svgDoc = parser.parseFromString(data, 'image/svg+xml');\n\n return svgDoc.documentElement.tagName.toLowerCase() === 'svg';\n }\n\n private getUrl(name: string, path: string): string {\n let iconPath = path || '';\n if (path && !path.endsWith('/')) {\n iconPath = `${path}/`;\n }\n\n return `${iconPath}assets/icons/${name}.svg`;\n }\n}\n\nconst iconCache = new IconCache();\nexport default (() => {\n return iconCache;\n})();\n","@use '../../style/functions';\n\n/**\n * @prop --icon-background-color: Background color when attribute `badge` is set to `true`. Defaults to `transparent`.\n */\n\n:host {\n background-color: var(--icon-background-color, transparent);\n border-radius: 50%;\n display: inline-block;\n line-height: 0;\n box-sizing: border-box;\n\n svg {\n fill: currentColor;\n height: 100%;\n pointer-events: none;\n width: 100%;\n }\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([size='x-small']) {\n height: functions.pxToRem(15) !important;\n width: functions.pxToRem(15) !important;\n}\n:host([size='small']) {\n height: functions.pxToRem(20) !important;\n width: functions.pxToRem(20) !important;\n}\n:host([size='medium']) {\n height: functions.pxToRem(25) !important;\n width: functions.pxToRem(25) !important;\n}\n:host([size='large']) {\n height: functions.pxToRem(30) !important;\n width: functions.pxToRem(30) !important;\n}\n\n:host([badge][size='x-small']) {\n height: functions.pxToRem(23) !important;\n width: functions.pxToRem(23) !important;\n\n > div {\n margin: functions.pxToRem(4);\n }\n}\n:host([badge][size='small']) {\n height: functions.pxToRem(30) !important;\n width: functions.pxToRem(30) !important;\n\n > div {\n margin: functions.pxToRem(5);\n }\n}\n:host([badge][size='medium']) {\n height: functions.pxToRem(40) !important;\n width: functions.pxToRem(40) !important;\n\n > div {\n margin: functions.pxToRem(8);\n }\n}\n:host([badge][size='large']) {\n height: functions.pxToRem(46) !important;\n width: functions.pxToRem(46) !important;\n\n > div {\n margin: functions.pxToRem(8);\n }\n}\n","import { Component, Element, h, Prop, Watch } from '@stencil/core';\nimport config from '../../global/config';\nimport iconCache from '../../global/icon-cache';\nimport { IconSize } from './icon.types';\n\n/**\n * The recommended icon library for use with Lime Elements is the Windows 10 set\n * from Icons8 (https://icons8.com/icons/windows). This set is included in the\n * relevant Lime products. If you are using Lime Elements in a non-Lime product,\n * you will have to supply your own icons.\n *\n * The size and color of the icon is set in CSS, however there are a few\n * standard sizes defined that can be used with the `size` property.\n *\n * ### Setup\n * To use **@lundalogik/lime-icons8**, the `/assets` folder from\n * __@lundalogik/lime-icons8__ must be made available on the webserver.\n * To use a different icon set, the icons must be placed in a folder structure\n * that looks like this: `assets/icons/<name-of-icon>.svg`\n *\n * If `assets` is placed in the root, no other setup is needed. The icons will\n * be fetched with a relative URL from `/assets/icons/<name-of-icon>.svg`.\n *\n * If `assets` is placed in a sub-folder somewhere, the easiest way to make the\n * icons available is to use the HTML `base` element:\n *\n * ```\n * <base href=\"/my/parent/path/\">\n * ```\n *\n * If this is not enough, or if the `base` element is already in use for\n * something else, a global icon path can be configured with the `limel-config`\n * element:\n * ```\n * <limel-config config={{iconPath: '/my/parent/path/'}} />\n * ```\n *\n * ### Lime icons\n * There are icons included in the **@lundalogik/lime-icons8** package which are\n * designed by our designers at Lime.\n * The names of these icons start with `-lime-`, which makes them easy to\n * find using the Icon Finder tool below.\n * :::note\n * Some of the `-lime-` icons have multiple colors and use our own CSS variables\n * instead of HEX or RGB values to visualize their colors. Thus, you must import\n * our color palette css files into your project to render the icons properly.\n * Read more about our [Color System](#/DesignGuidelines/color-system.md/)\n * and how to do this.\n * :::\n *\n * ### Icon Finder\n *\n * Search for an icon and **click on it to copy its name to clipboard**.\n *\n * <limel-example-icon-finder />\n * @exampleComponent limel-example-icon\n * @exampleComponent limel-example-icon-background\n */\n@Component({\n tag: 'limel-icon',\n shadow: true,\n styleUrl: 'icon.scss',\n})\nexport class Icon {\n /**\n * Size of the icon\n */\n @Prop({ reflect: true })\n public size: IconSize;\n\n /**\n * Name of the icon\n */\n @Prop({ reflect: true })\n public name: string;\n\n /**\n * Set to `true` to give the icon a round background with some padding.\n * Only works when the `size` attribute is also set.\n */\n @Prop({ reflect: true })\n public badge: boolean;\n\n @Element()\n private host: HTMLLimelIconElement;\n\n public componentDidLoad() {\n this.loadIcon(this.name);\n }\n\n public render() {\n return <div class=\"container\" />;\n }\n\n @Watch('name')\n protected async loadIcon(name: string) {\n if (name === undefined || name === '') {\n return;\n }\n\n const svgData = await this.loadSvg(name);\n this.renderSvg(svgData);\n }\n\n /**\n * Load the SVG data for the icon from the icon cache\n * @param {string} name name of the icon\n * @returns {string} the icon SVG data\n */\n private loadSvg(name: string) {\n return iconCache.get(name, config.iconPath);\n }\n\n /*\n * There is no way to style external SVG files with CSS, i.e. SVGs loaded\n * with <img src=\"file.svg\" /> or <object data=\"file.svg\" type=\"image/svg+xml\" />\n * will remain the way they look in the file.\n * Therefore we inject the svg as inline markup instead.\n */\n private renderSvg(svgData: string) {\n const container = this.host.shadowRoot.querySelector('div.container');\n if (container) {\n container.innerHTML = svgData;\n }\n }\n}\n"],"mappings":"sFAAA,MAAMA,EAAa,gC,MAENC,EAQTC,cAFQC,KAAAC,SAA0C,GAG9CD,KAAKE,MAAQC,OAAOC,KAAKP,E,CAStBQ,UAAUC,EAAcC,EAAe,IAC1C,MAAML,QAAcF,KAAKE,MACzB,MAAMM,EAAMR,KAAKS,OAAOH,EAAMC,GAE9B,IAAIG,QAAiBR,EAAMS,MAAMH,GACjC,IAAKE,EAAU,CACXA,QAAiBV,KAAKY,UAAUJ,EAAKN,E,CAGzC,OAAOF,KAAKa,QAAQH,E,CAGhBL,gBAAgBG,EAAaN,GACjC,IAAIY,EAAiBd,KAAKC,SAASO,GACnC,GAAIM,IAAmBC,UAAW,CAC9BD,EAAiBZ,EAAMc,IAAIR,GAC3BR,KAAKC,SAASO,GAAOM,C,OAGnBA,EAEN,OAAOZ,EAAMS,MAAMH,E,CAMfH,cAAcK,GAClB,IAAIO,QAAgBP,EAASQ,OAI7BD,EAAUA,EAAQE,QAAQ,WAAY,gBAEtC,IAAKnB,KAAKoB,SAASH,GAAU,CACzB,MAAM,IAAII,MAAM,c,CAGpB,OAAOJ,C,CAMHG,SAASE,GACb,MAAMC,EAAS,IAAIC,UACnB,MAAMC,EAASF,EAAOG,gBAAgBJ,EAAM,iBAE5C,OAAOG,EAAOE,gBAAgBC,QAAQC,gBAAkB,K,CAGpDpB,OAAOH,EAAcC,GACzB,IAAIuB,EAAWvB,GAAQ,GACvB,GAAIA,IAASA,EAAKwB,SAAS,KAAM,CAC7BD,EAAW,GAAGvB,I,CAGlB,MAAO,GAAGuB,iBAAwBxB,O,EAI1C,MAAM0B,EAAY,IAAIlC,EACtB,MAAAmC,EAAe,KACJD,EADI,GClFf,MAAME,EAAU,whC,MC+DHC,EAAI,M,sFAuBNC,mBACHpC,KAAKqC,SAASrC,KAAKM,K,CAGhBgC,SACH,OAAOC,EAAA,OAAKC,MAAM,a,CAIZnC,eAAeC,GACrB,GAAIA,IAASS,WAAaT,IAAS,GAAI,CACnC,M,CAGJ,MAAMW,QAAgBjB,KAAKyC,QAAQnC,GACnCN,KAAK0C,UAAUzB,E,CAQXwB,QAAQnC,GACZ,OAAO0B,EAAUW,IAAIrC,EAAMsC,EAAOd,S,CAS9BY,UAAUzB,GACd,MAAM4B,EAAY7C,KAAK8C,KAAKC,WAAWC,cAAc,iBACrD,GAAIH,EAAW,CACXA,EAAUI,UAAYhC,C"}
@@ -1,2 +0,0 @@
1
- const t=()=>{const t=36;const n=2;const c=97;const o=26;return String.fromCharCode(c+Math.floor(Math.random()*o))+Math.random().toString(t).substring(n)+Math.random().toString(t).substring(n)};export{t as c};
2
- //# sourceMappingURL=p-6c094f3f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createRandomString","USE_HEX","SKIP_LEADING_ZERODOT","ASCII_A","NUMBER_OF_LETTERS","String","fromCharCode","Math","floor","random","toString","substring"],"sources":["./src/util/random-string.ts"],"sourcesContent":["export const createRandomString = () => {\n const USE_HEX = 36;\n const SKIP_LEADING_ZERODOT = 2;\n const ASCII_A = 97;\n const NUMBER_OF_LETTERS = 26;\n\n return (\n String.fromCharCode(\n ASCII_A + Math.floor(Math.random() * NUMBER_OF_LETTERS)\n ) +\n Math.random().toString(USE_HEX).substring(SKIP_LEADING_ZERODOT) +\n Math.random().toString(USE_HEX).substring(SKIP_LEADING_ZERODOT)\n );\n};\n"],"mappings":"MAAaA,EAAqB,KAC9B,MAAMC,EAAU,GAChB,MAAMC,EAAuB,EAC7B,MAAMC,EAAU,GAChB,MAAMC,EAAoB,GAE1B,OACIC,OAAOC,aACHH,EAAUI,KAAKC,MAAMD,KAAKE,SAAWL,IAEzCG,KAAKE,SAASC,SAAST,GAASU,UAAUT,GAC1CK,KAAKE,SAASC,SAAST,GAASU,UAAUT,EAAqB,S"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as o,h as t}from"./p-c8818b66.js";import{d as r}from"./p-c70b1ea3.js";const n=':host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-collapsible-section){--border-radius-of-header:0.75rem;display:block}:host([hidden]){display:none}:host([disabled]){pointer-events:none}.open-close-toggle{all:unset;position:absolute;inset:0;width:100%;transition:background-color 0.4s ease, border-radius 0.1s ease;cursor:pointer;z-index:-1;background-color:var(--closed-header-background-color, rgb(var(--contrast-200)));border-radius:var(--border-radius-of-header)}.open-close-toggle:focus{outline:none}.open-close-toggle:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.open-close-toggle:hover{background-color:var(--open-header-background-color, rgb(var(--contrast-300)))}section.open .open-close-toggle{background-color:var(--open-header-background-color, rgb(var(--contrast-100)));border-radius:var(--border-radius-of-header) var(--border-radius-of-header) 0 0}section.open .open-close-toggle:hover{background-color:var(--open-header-background-color, rgb(var(--contrast-300)))}.title,.divider-line,.expand-icon{pointer-events:none}header{isolation:isolate;position:relative;align-items:center;display:flex;justify-content:space-between;padding-left:0.625rem;padding-right:0.625rem;height:3rem}.title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-headline2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-headline2-font-size, 1rem);line-height:0.875rem;line-height:var(--mdc-typography-headline2-line-height, 0.875rem);font-weight:300;font-weight:var(--mdc-typography-headline2-font-weight, 300);letter-spacing:-0.0083333333em;letter-spacing:var(--mdc-typography-headline2-letter-spacing, -0.0083333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-headline2-text-decoration, inherit);text-transform:inherit;text-transform:var(--mdc-typography-headline2-text-transform, inherit);color:var(--mdc-theme-on-surface);justify-self:flex-start;padding-right:0.75rem;user-select:none;padding-right:0.5rem;height:auto;max-height:3rem;line-height:1.2rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.divider-line{transition:opacity 0.3s ease 0.3s;flex-grow:1;height:0.125rem;border-radius:0.0625rem;background-color:var(--header-stroke-color, rgb(var(--contrast-900)));margin-right:0.5rem;opacity:0}section.open .divider-line{opacity:0.16}.actions{justify-self:flex-end;flex-shrink:0}@keyframes fade-in-body{0%{opacity:0}100%{opacity:1}}.body{animation:fade-in-body 0.3s ease-in forwards;background-color:var(--body-background-color, var(--contrast-100));padding-left:var(--body-padding, 1.25rem);padding-right:var(--body-padding, 1.25rem);margin-bottom:1.5rem;border-radius:0 0 var(--border-radius-of-header) var(--border-radius-of-header);display:none;opacity:0}section.open .body{display:block}.body:before,.body:after{content:" ";display:table}.body:after{clear:both}.expand-icon{position:relative;height:1.875rem;margin:0 1rem 0 0.5rem;width:0.75rem;flex-shrink:0}.line{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;border-radius:1rem;height:0.125rem;background-color:var(--header-stroke-color, rgb(var(--contrast-900)))}.line:first-of-type,.line:last-of-type{transition:opacity 0.2s ease 0.1s, transform 0.4s ease 0.3s}.line:first-of-type{transform:rotate3d(0, 0, 1, 90deg)}.line:last-of-type{transform:rotate3d(0, 0, 1, -90deg)}.line:nth-of-type(2),.line:nth-of-type(3){transition:opacity 0.2s ease, transform 0.18s ease}section.open .line:first-of-type,section.open .line:last-of-type{transition:opacity 0.2s ease 0.1s, transform 0.4s ease 0.3s}section.open .line:first-of-type{transform:rotate3d(0, 0, 1, 0deg)}section.open .line:last-of-type{transform:rotate3d(0, 0, 1, 0deg)}section.open .line:nth-of-type(2),section.open .line:nth-of-type(3){transition:opacity 1s ease, transform 0.4s ease}section.open .line:nth-of-type(2){transform:translate3d(0, -1rem, 0);opacity:0}section.open .line:nth-of-type(3){transform:translate3d(0, 1rem, 0);opacity:0}.open-close-toggle:hover+.expand-icon .line:first-of-type{transform:rotate3d(0, 0, 1, 0deg)}.open-close-toggle:hover+.expand-icon .line:last-of-type{transform:rotate3d(0, 0, 1, 0deg)}.open-close-toggle:hover+.expand-icon .line:nth-of-type(2),.open-close-toggle:hover+.expand-icon .line:nth-of-type(3){transition:opacity 0.5s ease 0.4s, transform 0.7s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s}.open-close-toggle:hover+.expand-icon .line:nth-of-type(2){transform:translate3d(0, -0.5rem, 0);opacity:0.4}.open-close-toggle:hover+.expand-icon .line:nth-of-type(3){transform:translate3d(0, 0.5rem, 0);opacity:0.4}section.open .open-close-toggle:hover+.expand-icon .line:first-of-type,section.open .open-close-toggle:hover+.expand-icon .line:last-of-type{transition:opacity 0.2s ease 0.4s, transform 0.4s cubic-bezier(0.85, 0.11, 0.14, 1.35) 0.2s}section.open .open-close-toggle:hover+.expand-icon .line:first-of-type{transform:rotate3d(0, 0, 1, 45deg)}section.open .open-close-toggle:hover+.expand-icon .line:last-of-type{transform:rotate3d(0, 0, 1, -45deg)}section.open .open-close-toggle:hover+.expand-icon .line:nth-of-type(2){transform:translate3d(0, -1rem, 0);opacity:0}section.open .open-close-toggle:hover+.expand-icon .line:nth-of-type(3){transform:translate3d(0, 1rem, 0);opacity:0}';const a=class{constructor(n){e(this,n);this.open=o(this,"open",7);this.close=o(this,"close",7);this.action=o(this,"action",7);this.onClick=()=>{this.handleInteraction()};this.handleInteraction=()=>{this.isOpen=!this.isOpen;if(this.isOpen){this.open.emit();const e=100;setTimeout(r,e)}else{this.close.emit()}};this.renderActions=()=>{if(!this.actions){return}return t("div",{class:"actions"},this.actions.map(this.renderActionButton))};this.renderActionButton=e=>t("limel-icon-button",{icon:e.icon,label:e.label,disabled:e.disabled,onClick:this.handleActionClick(e)});this.handleActionClick=e=>o=>{o.stopPropagation();this.action.emit(e)};this.isOpen=false;this.header=undefined;this.actions=undefined}render(){return t("section",{class:`${this.isOpen?"open":""}`},t("header",null,t("button",{class:"open-close-toggle",onClick:this.onClick}),t("div",{class:"expand-icon"},t("div",{class:"line"}),t("div",{class:"line"}),t("div",{class:"line"}),t("div",{class:"line"})),t("h2",{class:"title mdc-typography mdc-typography--headline2"},this.header),t("div",{class:"divider-line"}),this.renderActions()),t("div",{class:"body"},t("slot",null)))}};a.style=n;export{a as limel_collapsible_section};
2
- //# sourceMappingURL=p-896043d6.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["collapsibleSectionCss","CollapsibleSection","this","onClick","handleInteraction","isOpen","open","emit","waitForUiToRender","setTimeout","dispatchResizeEvent","close","renderActions","actions","h","class","map","renderActionButton","action","icon","label","disabled","handleActionClick","event","stopPropagation","render","header"],"sources":["./src/components/collapsible-section/collapsible-section.scss?tag=limel-collapsible-section&encapsulation=shadow","./src/components/collapsible-section/collapsible-section.tsx"],"sourcesContent":["@use '../../style/internal/lime-theme';\n@use '../../style/internal/lime-typography';\n@use '../../style/functions';\n@use '../../style/mixins';\n\n/**\n * @prop --closed-header-background-color: background color for header when closed\n * @prop --open-header-background-color: background color for header when open\n * @prop --header-stroke-color: color of the animated icons that visualize collapsed or normal states of the headers, as well as the divider line on headers\n * @prop --body-background-color: background color for body\n * @prop --body-padding: space around content of the body\n */\n\n:host(limel-collapsible-section) {\n --border-radius-of-header: 0.75rem;\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([disabled]) {\n pointer-events: none;\n}\n\n.open-close-toggle {\n all: unset;\n position: absolute;\n inset: 0;\n width: 100%; // for Firefox\n @include mixins.visualize-keyboard-focus;\n transition: background-color 0.4s ease, border-radius 0.1s ease;\n cursor: pointer;\n z-index: -1;\n\n background-color: var(\n --closed-header-background-color,\n rgb(var(--contrast-200))\n );\n border-radius: var(--border-radius-of-header);\n\n &:hover {\n background-color: var(\n --open-header-background-color,\n rgb(var(--contrast-300))\n );\n }\n\n section.open & {\n background-color: var(\n --open-header-background-color,\n rgb(var(--contrast-100))\n );\n border-radius: var(--border-radius-of-header)\n var(--border-radius-of-header) 0 0;\n &:hover {\n background-color: var(\n --open-header-background-color,\n rgb(var(--contrast-300))\n );\n }\n }\n}\n\n.title,\n.divider-line,\n.expand-icon {\n pointer-events: none;\n}\n\nheader {\n isolation: isolate;\n position: relative;\n\n align-items: center;\n display: flex;\n justify-content: space-between;\n\n padding-left: functions.pxToRem(10);\n padding-right: functions.pxToRem(10);\n height: functions.pxToRem(48);\n}\n\n.title {\n @include lime-typography.typography(headline2);\n color: var(--mdc-theme-on-surface);\n\n justify-self: flex-start;\n padding-right: functions.pxToRem(12);\n\n user-select: none; // mostly to improve experience on Android, where tapping on sections selects the text too\n\n padding-right: functions.pxToRem(8);\n\n // Below tries to render text in two lines,\n // and then truncate if there is no more space\n height: auto;\n max-height: 3rem;\n line-height: 1.2rem;\n white-space: normal;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.divider-line {\n transition: opacity 0.3s ease 0.3s;\n flex-grow: 1;\n height: functions.pxToRem(2);\n border-radius: functions.pxToRem(1);\n background-color: var(--header-stroke-color, rgb(var(--contrast-900)));\n margin-right: functions.pxToRem(8);\n\n opacity: 0;\n\n section.open & {\n opacity: 0.16;\n }\n}\n\n.actions {\n justify-self: flex-end;\n flex-shrink: 0;\n}\n\n@keyframes fade-in-body {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n.body {\n animation: fade-in-body 0.3s ease-in forwards;\n background-color: var(--body-background-color, var(--contrast-100));\n padding-left: var(--body-padding, functions.pxToRem(20));\n padding-right: var(--body-padding, functions.pxToRem(20));\n margin-bottom: functions.pxToRem(24);\n border-radius: 0 0 var(--border-radius-of-header)\n var(--border-radius-of-header);\n\n display: none;\n opacity: 0;\n section.open & {\n display: block;\n }\n\n &:before,\n &:after {\n content: ' ';\n display: table;\n }\n\n &:after {\n clear: both;\n }\n}\n\n@import './partial-styles/expand-icon.scss';\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\nimport { dispatchResizeEvent } from '../../util/dispatch-resize-event';\nimport { Action } from './action';\n\n/**\n * @slot - Content to put inside the collapsible section\n * @exampleComponent limel-example-collapsible-section\n * @exampleComponent limel-example-collapsible-section-actions\n * @exampleComponent limel-example-collapsible-section-css-props\n * @exampleComponent limel-example-collapsible-section-external-control\n * @exampleComponent limel-example-collapsible-section-with-slider\n */\n@Component({\n tag: 'limel-collapsible-section',\n shadow: true,\n styleUrl: 'collapsible-section.scss',\n})\nexport class CollapsibleSection {\n /**\n * `true` if the section is expanded, `false` if collapsed.\n */\n @Prop({ mutable: true, reflect: true })\n public isOpen: boolean = false;\n\n /**\n * Text to display in the header of the section\n */\n @Prop({ reflect: true })\n public header: string;\n\n /**\n * Actions to place to the far right inside the header\n */\n @Prop()\n public actions: Action[];\n\n /**\n * Emitted when the section is expanded\n */\n @Event()\n private open: EventEmitter<void>;\n\n /**\n * Emitted when the section is collapsed\n */\n @Event()\n private close: EventEmitter<void>;\n\n /**\n * Emitted when an action is clicked inside the header\n */\n @Event()\n private action: EventEmitter<Action>;\n\n public render() {\n return (\n <section class={`${this.isOpen ? 'open' : ''}`}>\n <header>\n <button class=\"open-close-toggle\" onClick={this.onClick} />\n <div class=\"expand-icon\">\n <div class=\"line\" />\n <div class=\"line\" />\n <div class=\"line\" />\n <div class=\"line\" />\n </div>\n <h2 class=\"title mdc-typography mdc-typography--headline2\">\n {this.header}\n </h2>\n <div class=\"divider-line\" />\n {this.renderActions()}\n </header>\n <div class=\"body\">\n <slot />\n </div>\n </section>\n );\n }\n\n private onClick = () => {\n this.handleInteraction();\n };\n\n private handleInteraction = () => {\n this.isOpen = !this.isOpen;\n\n if (this.isOpen) {\n this.open.emit();\n const waitForUiToRender = 100;\n setTimeout(dispatchResizeEvent, waitForUiToRender);\n } else {\n this.close.emit();\n }\n };\n\n private renderActions = () => {\n if (!this.actions) {\n return;\n }\n\n return (\n <div class=\"actions\">\n {this.actions.map(this.renderActionButton)}\n </div>\n );\n };\n\n private renderActionButton = (action: Action) => {\n return (\n <limel-icon-button\n icon={action.icon}\n label={action.label}\n disabled={action.disabled}\n onClick={this.handleActionClick(action)}\n />\n );\n };\n\n private handleActionClick = (action: Action) => (event: MouseEvent) => {\n event.stopPropagation();\n this.action.emit(action);\n };\n}\n"],"mappings":"sFAAA,MAAMA,EAAwB,o5M,MCiBjBC,EAAkB,M,gHA6DnBC,KAAAC,QAAU,KACdD,KAAKE,mBAAmB,EAGpBF,KAAAE,kBAAoB,KACxBF,KAAKG,QAAUH,KAAKG,OAEpB,GAAIH,KAAKG,OAAQ,CACbH,KAAKI,KAAKC,OACV,MAAMC,EAAoB,IAC1BC,WAAWC,EAAqBF,E,KAC7B,CACHN,KAAKS,MAAMJ,M,GAIXL,KAAAU,cAAgB,KACpB,IAAKV,KAAKW,QAAS,CACf,M,CAGJ,OACIC,EAAA,OAAKC,MAAM,WACNb,KAAKW,QAAQG,IAAId,KAAKe,oBACrB,EAINf,KAAAe,mBAAsBC,GAEtBJ,EAAA,qBACIK,KAAMD,EAAOC,KACbC,MAAOF,EAAOE,MACdC,SAAUH,EAAOG,SACjBlB,QAASD,KAAKoB,kBAAkBJ,KAKpChB,KAAAoB,kBAAqBJ,GAAoBK,IAC7CA,EAAMC,kBACNtB,KAAKgB,OAAOX,KAAKW,EAAO,E,YAjGH,M,6CAgClBO,SACH,OACIX,EAAA,WAASC,MAAO,GAAGb,KAAKG,OAAS,OAAS,MACtCS,EAAA,cACIA,EAAA,UAAQC,MAAM,oBAAoBZ,QAASD,KAAKC,UAChDW,EAAA,OAAKC,MAAM,eACPD,EAAA,OAAKC,MAAM,SACXD,EAAA,OAAKC,MAAM,SACXD,EAAA,OAAKC,MAAM,SACXD,EAAA,OAAKC,MAAM,UAEfD,EAAA,MAAIC,MAAM,kDACLb,KAAKwB,QAEVZ,EAAA,OAAKC,MAAM,iBACVb,KAAKU,iBAEVE,EAAA,OAAKC,MAAM,QACPD,EAAA,c"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["now","root","Date","FUNC_ERROR_TEXT","nativeMax","Math","max","nativeMin","min","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","toNumber","isObject","invokeFunc","time","args","thisArg","undefined","apply","leadingEdge","setTimeout","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","this","inputFieldCss","helperTextId","InputField","constructor","hostRef","completionsList","initialize","element","limelInputField","shadowRoot","querySelector","mdcTextField","MDCTextField","completions","map","item","text","window","addEventListener","layout","passive","setFocus","focus","getContainerClassList","classList","label","isInvalid","disabled","readonly","required","value","hasPrefix","hasSuffix","type","helperText","maxlength","leadingIcon","getTrailingIcon","renderInput","properties","h","Object","assign","pattern","onWheel","handleWheel","onKeyDown","placeholder","renderTextarea","class","_a","getAdditionalProps","props","step","Number","isInteger","minlength","onFocus","isFocused","showCompletions","onBlur","isModified","renderHelperLine","length","hasHelperText","maxLength","invalid","renderEmptyValueForReadonly","renderSuffix","suffix","renderPrefix","prefix","getInputElement","checkValidity","elementName","renderLabel","labelId","labelClassList","id","renderLeadingIcon","name","renderTrailingLinkOrButton","html","trailingIcon","hasLink","push","renderLinkIcon","getLink","renderTrailingIcon","showLink","includes","href","getHref","target","getTarget","linkProps","icon","tabindex","role","tabIndex","onKeyPress","handleIconKeyPress","onClick","handleIconClick","renderFormattedNumber","renderValue","formatNumber","Intl","NumberFormat","navigator","language","format","event","isForwardTab","key","TAB","keyCode","TAB_KEY_CODE","altKey","metaKey","shiftKey","isUp","ARROW_UP","ARROW_UP_KEY_CODE","isDown","ARROW_DOWN","ARROW_DOWN_KEY_CODE","list","document","portalId","preventDefault","listElement","handleCompletionChange","stopPropagation","detail","changeEmitter","renderAutocompleteList","renderDropdown","renderPortal","content","dropdownZIndex","getComputedStyle","getPropertyValue","visible","containerId","inheritParentWidth","containerStyle","open","allowClicksElement","style","display","onDismiss","handleCloseMenu","renderListResult","filteredCompletions","filterCompletions","onChange","handleKeyDownInDropdown","items","keyFound","ESCAPE","ENTER","keyCodeFound","ESCAPE_KEY_CODE","ENTER_KEY_CODE","filter","completion","toLowerCase","indexOf","handleChange","data","change","emit","action","isEnter","isSpace","SPACE","SPACE_KEY_CODE","debounceTimeout","createRandomString","connectedCallback","componentDidLoad","disconnectedCallback","destroy","removeEventListener","componentDidUpdate","valid","render","onInput","valueWatcher","newValue"],"sources":["./node_modules/lodash-es/now.js","./node_modules/lodash-es/debounce.js","./src/components/input-field/input-field.scss?tag=limel-input-field&encapsulation=shadow","./src/components/input-field/input-field.tsx"],"sourcesContent":["import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","@use '../../style/internal/z-index';\n@use '../../style/functions';\n@use '../../style/internal/shared_input-select-picker';\n@use '../../style/mixins';\n\n@use '../../style/internal/lime-theme';\n\n@use '@material/textfield';\n@use '@material/textfield/icon';\n@use '@material/notched-outline/mdc-notched-outline';\n@use '@material/floating-label';\n@use '@material/floating-label/mdc-floating-label';\n@use '@material/ripple';\n@use '@material/list';\n@use '@material/elevation';\n@use '@material/menu-surface';\n\n/**\n * @prop --textarea-height: Height of the field when type is set to `textarea`\n */\n\n:host {\n position: relative;\n display: block;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([type='textarea']) {\n height: var(--textarea-height, 100%);\n\n .mdc-text-field.mdc-text-field--textarea {\n height: var(--textarea-height, 100%);\n\n .mdc-text-field__input {\n margin-top: functions.pxToRem(8);\n margin-bottom: 0;\n }\n\n &.has-helper-line {\n // TODO: remove this when helper-line is displayed in portal\n --heightOfHelperText: 0.9375rem;\n height: calc(\n var(--textarea-height, 100%) - var(--heightOfHelperText)\n );\n }\n }\n}\n\n@include textfield.core-styles;\n@include icon.icon-core-styles;\n\n@include shared_input-select-picker.outlined-style-overrides;\n@include shared_input-select-picker.readonly-overrides;\n@include shared_input-select-picker.cropped-label-hack;\n@include shared_input-select-picker.disabled-overrides;\n@include shared_input-select-picker.leading-icon;\n@include shared_input-select-picker.trailing-icon;\n@include shared_input-select-picker.floating-label-overrides;\n@include shared_input-select-picker.helper-text-color;\n@include shared_input-select-picker.lime-empty-value-for-readonly;\n@include shared_input-select-picker.lime-looks-like-input-value;\n\n.mdc-text-field--with-trailing-icon {\n .mdc-text-field__icon--trailing {\n margin-right: functions.pxToRem(8);\n }\n}\n\n.lime-text-field--empty {\n .mdc-text-field__icon--trailing {\n @include shared_input-select-picker.looks-disabled;\n box-shadow: none !important;\n }\n}\n\n.mdc-text-field {\n width: 100%;\n\n &:not(.mdc-text-field--disabled) {\n .mdc-text-field__affix,\n .mdc-text-field__icon {\n color: rgb(var(--contrast-900));\n }\n }\n &.mdc-text-field--disabled {\n .mdc-text-field__affix,\n .mdc-text-field__icon {\n color: rgb(var(--contrast-700));\n }\n }\n}\n\n.lime-formatted-input {\n display: none;\n width: calc(100% - #{functions.pxToRem(20)});\n z-index: z-index.$input-field--formatted-value;\n\n pointer-events: none;\n\n :not(.mdc-text-field--focused):not(.mdc-text-field--invalid) & {\n display: block;\n }\n\n + .mdc-text-field__input {\n z-index: z-index.$input-field--input-with-formatted-value;\n }\n}\n\n:not(.mdc-text-field--focused):not(.mdc-text-field--invalid) {\n + limel-helper-line {\n // TODO: remove when helper-line is displayed in portal\n opacity: 0;\n }\n\n .mdc-text-field__input[type='number'] {\n color: transparent;\n -webkit-text-fill-color: transparent;\n }\n\n &.lime-text-field--readonly {\n .mdc-text-field__input[type='number'] {\n visibility: hidden;\n // Not having `visibility: hidden;` makes the unformatted\n // value selectable; which is not so nice when users\n // click drag to select content on the screen.\n // The reason to have it only on `readonly` mode is\n // 1. This is the use case where it makes most sense\n // 2. We don't want to repeat the same thing in the\n // accessibility tree, and make it readable for assistive\n // technologies.\n // 3. When not readonly, clicking on the `<input />`\n // element sets the focus and activates the edit mode.\n // So we cannot always have it `hidden` on.\n // which is why we have instead\n // `color: transparent` a few lines before this.\n }\n }\n}\n\n.autocomplete-list-container {\n position: relative;\n}\n\n.autocomplete-list {\n background-color: var(--lime-elevated-surface-background-color);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n max-height: functions.pxToRem(200);\n overflow-y: auto;\n}\n\n.mdc-deprecated-list-item {\n cursor: pointer;\n}\n\ninput.mdc-text-field__input {\n @include shared_input-select-picker.input-field-placeholder;\n\n &::-webkit-search-cancel-button {\n @include mixins.clear-all-button;\n\n -webkit-appearance: none;\n\n position: absolute;\n right: 0;\n top: 0;\n bottom: 0;\n margin: auto;\n\n &:active {\n transform: none; //Makes the \"clear-all button\" work\n }\n .mdc-text-field--label-floating & {\n opacity: 1;\n }\n }\n}\n\n@import './partial-styles/trailing-icon.scss';\n@import './partial-styles/readonly';\n","import { MDCTextField } from '@material/textfield';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { debounce } from 'lodash-es';\nimport {\n ARROW_DOWN,\n ARROW_DOWN_KEY_CODE,\n ARROW_UP,\n ARROW_UP_KEY_CODE,\n ENTER,\n ENTER_KEY_CODE,\n ESCAPE,\n ESCAPE_KEY_CODE,\n SPACE,\n SPACE_KEY_CODE,\n TAB,\n TAB_KEY_CODE,\n} from '../../util/keycodes';\nimport { InputType } from './input-field.types';\nimport { LimelListCustomEvent, ListItem } from '@limetech/lime-elements';\nimport { getHref, getTarget } from '../../util/link-helper';\nimport { JSXBase } from '@stencil/core/internal';\nimport { createRandomString } from '../../util/random-string';\n\ninterface LinkProperties {\n href: string;\n target?: string;\n}\n\nconst helperTextId = 'tf-helper-text';\n\n/**\n * @exampleComponent limel-example-input-field-text\n * @exampleComponent limel-example-input-field-placeholder\n * @exampleComponent limel-example-input-field-text-multiple\n * @exampleComponent limel-example-input-field-number\n * @exampleComponent limel-example-input-field-autocomplete\n * @exampleComponent limel-example-input-field-icon-leading\n * @exampleComponent limel-example-input-field-icon-trailing\n * @exampleComponent limel-example-input-field-icon-both\n * @exampleComponent limel-example-input-field-showlink\n * @exampleComponent limel-example-input-field-error-icon\n * @exampleComponent limel-example-input-field-textarea\n * @exampleComponent limel-example-input-field-suffix\n * @exampleComponent limel-example-input-field-prefix\n * @exampleComponent limel-example-input-field-search\n * @exampleComponent limel-example-input-field-pattern\n * @exampleComponent limel-example-input-field-focus\n */\n@Component({\n tag: 'limel-input-field',\n shadow: true,\n styleUrl: 'input-field.scss',\n})\nexport class InputField {\n /**\n * Set to `true` to disable the field.\n * Use `disabled` to indicate that the field can normally be interacted\n * with, but is currently disabled. This tells the user that if certain\n * requirements are met, the field may become enabled again.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Set to `true` to make the field read-only.\n * Use `readonly` when the field is only there to present the data it holds,\n * and will not become possible for the current user to edit.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * Set to `true` to indicate that the current value of the input field is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid = false;\n\n /**\n * The input label.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * The placeholder text shown inside the input field, when the field is focused and empty.\n */\n @Prop({ reflect: true })\n public placeholder: string;\n\n /**\n * Optional helper text to display below the input field when it has focus\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * A short piece of text to display before the value inside the input field.\n * Displayed for all types except `textarea`.\n */\n @Prop({ reflect: true })\n public prefix: string;\n\n /**\n * A short piece of text to display after the value inside the input field.\n * Displayed for all types except `textarea`.\n */\n @Prop({ reflect: true })\n public suffix: string;\n\n /**\n * Set to `true` to indicate that the field is required.\n */\n @Prop({ reflect: true })\n public required = false;\n\n /**\n * The value of the field.\n */\n @Prop({ reflect: true })\n public value: string;\n\n /**\n * Trailing icon to show to the far right in the field.\n */\n @Prop({ reflect: true })\n public trailingIcon: string;\n\n /**\n * Leading icon to show to the far left in the field.\n */\n @Prop({ reflect: true })\n public leadingIcon: string;\n\n /**\n * Regular expression that the current value of the input field must match.\n * No forward slashes should be specified around the pattern.\n * Only used if type is `text`, `tel`, `email`, `url`, `urlAsText`,\n * `password`, or `search`.\n */\n @Prop({ reflect: true })\n public pattern: string;\n\n /**\n * Type of input.\n *\n * Note** regarding type `url`: `limel-input` uses the native validation\n * built into the browser for many types of input fields. The native\n * validation for `url` is very strict, and does not allow relative urls,\n * nor any other formats that are not a \"fully qualified\" url. To allow\n * such urls, use the type `urlAsText` instead. `urlAsText` works exactly\n * like `text` in all regards, except that it enables use of the `showLink`\n * property.\n */\n @Prop({ reflect: true })\n public type: InputType = 'text';\n\n /**\n * Set to `true` to format the current value of the input field only\n * if the field is of type number.\n * The number format is determined by the current language of the browser.\n */\n @Prop({ reflect: true })\n public formatNumber = true;\n\n /**\n * Incremental values that are valid if the field type is `number`.\n */\n @Prop({ reflect: true })\n public step: number | 'any' = 'any';\n\n /**\n * Maximum allowed value if input type is `number`.\n */\n @Prop({ reflect: true })\n public max: number;\n\n /**\n * Minimum allowed value if input type is `number`.\n */\n @Prop({ reflect: true })\n public min: number;\n\n /**\n * Maximum length of the value if type is `password`, `search`, `tel`,\n * `text`, `url`, or `urlAsText`.\n */\n @Prop({ reflect: true })\n public maxlength: number;\n\n /**\n * Minimum length of the value if type is `password`, `search`, `tel`,\n * `text`, `url`, or `urlAsText`.\n */\n @Prop({ reflect: true })\n public minlength: number;\n\n /**\n * list of suggestions `value` can autocomplete to.\n */\n @Prop()\n public completions: string[] = [];\n\n /**\n * For inputs of type `email`, `tel`, `url`, and `urlAsText`, set this to\n * `true` to show a trailing icon with a `mailto:`,`tel:`, or normal link,\n * respectively. The default icon can be overridden using the `trailingIcon`\n * property.\n */\n @Prop({ reflect: true })\n public showLink = false;\n\n /**\n * Emitted when the input value is changed.\n */\n @Event()\n private change: EventEmitter<string>;\n\n /**\n * Emitted when `trailingIcon` or `leadingIcon` is set\n * and the icon is interacted with.\n */\n @Event()\n private action: EventEmitter<void>;\n\n @Element()\n private limelInputField: HTMLLimelInputFieldElement;\n\n @State()\n private isFocused: boolean = false;\n\n @State()\n private isModified: boolean = false;\n\n @State()\n public showCompletions: boolean = false;\n\n private mdcTextField: MDCTextField;\n private completionsList: ListItem[] = [];\n private portalId: string;\n\n constructor() {\n const debounceTimeout = 300;\n this.changeEmitter = debounce(this.changeEmitter, debounceTimeout);\n\n this.portalId = createRandomString();\n }\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n public disconnectedCallback() {\n if (this.mdcTextField) {\n this.mdcTextField.destroy();\n }\n\n window.removeEventListener('resize', this.layout);\n this.limelInputField.removeEventListener('focus', this.setFocus);\n }\n\n public componentDidUpdate() {\n if (this.invalid) {\n this.mdcTextField.valid = false;\n }\n }\n\n public render() {\n const labelId = 'tf-input-label';\n const properties = this.getAdditionalProps();\n properties['aria-labelledby'] = labelId;\n properties.class = 'mdc-text-field__input';\n properties.onInput = this.handleChange;\n properties.onFocus = this.onFocus;\n properties.onBlur = this.onBlur;\n properties.required = this.required;\n properties.readonly = this.readonly;\n properties.disabled = this.disabled || this.readonly;\n\n if (this.hasHelperText()) {\n properties['aria-controls'] = helperTextId;\n properties['aria-describedby'] = helperTextId;\n }\n\n return [\n <label class={this.getContainerClassList()}>\n <span class=\"mdc-notched-outline\" tabindex=\"-1\">\n <span class=\"mdc-notched-outline__leading\"></span>\n {this.renderLabel(labelId)}\n <span class=\"mdc-notched-outline__trailing\"></span>\n </span>\n {this.renderLeadingIcon()}\n {this.renderEmptyValueForReadonly()}\n {this.renderPrefix()}\n {this.renderFormattedNumber()}\n {this.renderInput(properties)}\n {this.renderSuffix()}\n {this.renderTextarea(properties)}\n {this.renderTrailingLinkOrButton()}\n </label>,\n this.renderHelperLine(),\n this.renderAutocompleteList(),\n ];\n }\n\n @Watch('value')\n protected valueWatcher(newValue: string) {\n if (!this.mdcTextField) {\n return;\n }\n\n if (newValue !== this.mdcTextField.value) {\n this.mdcTextField.value = newValue || '';\n }\n }\n\n private initialize = () => {\n const element =\n this.limelInputField.shadowRoot.querySelector('.mdc-text-field');\n if (!element) {\n return;\n }\n\n this.mdcTextField = new MDCTextField(element);\n\n this.completionsList = [...this.completions].map((item) => {\n return { text: item };\n });\n\n window.addEventListener('resize', this.layout, { passive: true });\n this.limelInputField.addEventListener('focus', this.setFocus);\n };\n\n private setFocus = () => {\n this.mdcTextField.focus();\n };\n\n private getContainerClassList = () => {\n const classList = {\n 'mdc-text-field': true,\n 'mdc-text-field--no-label': !this.label,\n 'mdc-text-field--outlined': true,\n 'mdc-text-field--invalid': this.isInvalid(),\n 'mdc-text-field--disabled': this.disabled || this.readonly,\n 'lime-text-field--readonly': this.readonly,\n 'mdc-text-field--required': this.required,\n 'lime-text-field--empty': !this.value,\n 'lime-has-prefix': this.hasPrefix(),\n 'lime-has-suffix': this.hasSuffix(),\n };\n\n if (this.type === 'textarea') {\n classList['mdc-text-field--textarea'] = true;\n classList['has-helper-line'] =\n !!this.helperText || !!this.maxlength;\n } else {\n classList['mdc-text-field--with-leading-icon'] = !!this.leadingIcon;\n classList['mdc-text-field--with-trailing-icon'] =\n !!this.getTrailingIcon();\n }\n\n return classList;\n };\n\n private renderInput = (\n properties: JSXBase.InputHTMLAttributes<HTMLInputElement>\n ) => {\n if (this.type === 'textarea') {\n return;\n }\n\n const type = this.type === 'urlAsText' ? 'text' : this.type;\n\n return (\n <input\n {...properties}\n type={type}\n pattern={this.pattern}\n onWheel={this.handleWheel}\n onKeyDown={this.onKeyDown}\n value={this.value}\n placeholder={this.placeholder}\n />\n );\n };\n\n private renderTextarea = (\n properties: JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement>\n ) => {\n if (this.type !== 'textarea') {\n return;\n }\n\n return (\n <span class=\"mdc-text-field__resizer\">\n <textarea {...properties} placeholder={this.placeholder}>\n {this.value}\n </textarea>\n </span>\n );\n };\n\n private layout = () => {\n this.mdcTextField?.layout();\n };\n\n private getAdditionalProps = () => {\n const props: any = {};\n\n if (this.type === 'number') {\n props.step = this.step;\n }\n\n if (this.type === 'number' && Number.isInteger(this.min)) {\n props.min = this.min;\n }\n\n if (this.type === 'number' && Number.isInteger(this.max)) {\n props.max = this.max;\n }\n\n if (this.minlength) {\n props.minlength = this.minlength;\n }\n\n if (this.maxlength) {\n props.maxlength = this.maxlength;\n }\n\n return props;\n };\n\n private onFocus = () => {\n this.isFocused = true;\n this.showCompletions = true;\n };\n\n private onBlur = () => {\n this.isFocused = false;\n this.isModified = true;\n };\n\n private renderHelperLine = () => {\n const text: string = this.value || '';\n const length = text.length;\n\n if (!this.maxlength && !this.hasHelperText()) {\n return;\n }\n\n return (\n <limel-helper-line\n helperTextId={helperTextId}\n helperText={this.helperText}\n length={length}\n maxLength={this.maxlength}\n invalid={this.isInvalid()}\n />\n );\n };\n\n private renderEmptyValueForReadonly = () => {\n if (this.readonly && !this.value) {\n return (\n <span class=\"lime-empty-value-for-readonly lime-looks-like-input-value\">\n –\n </span>\n );\n }\n };\n\n private hasHelperText = () => {\n return this.helperText !== null && this.helperText !== undefined;\n };\n\n private renderSuffix = () => {\n if (!this.hasSuffix() || this.type === 'textarea') {\n return;\n }\n\n const classList = {\n 'mdc-text-field__affix': true,\n 'mdc-text-field__affix--suffix': true,\n };\n\n return <span class={classList}>{this.suffix}</span>;\n };\n\n private hasSuffix = () => {\n return this.suffix !== null && this.suffix !== undefined;\n };\n\n private renderPrefix = () => {\n if (!this.hasPrefix() || this.type === 'textarea') {\n return;\n }\n\n const classList = {\n 'mdc-text-field__affix': true,\n 'mdc-text-field__affix--prefix': true,\n };\n\n return <span class={classList}>{this.prefix}</span>;\n };\n\n private hasPrefix = () => {\n return this.prefix !== null && this.prefix !== undefined;\n };\n\n private isInvalid = () => {\n if (this.readonly) {\n // A readonly field can never be invalid.\n return false;\n }\n\n if (this.invalid) {\n // `this.invalid` is set by the consumer. If the consumer explicitly\n // told us to consider the field invalid, we consider it invalid\n // regardless of what our internal validation thinks, and regardless\n // of whether the field has been modified.\n return true;\n }\n\n if (!this.isModified) {\n return false;\n }\n\n const element = this.getInputElement();\n\n return !(element && element.checkValidity());\n };\n\n private getInputElement = (): HTMLInputElement | HTMLTextAreaElement => {\n let elementName = 'input';\n if (this.type === 'textarea') {\n elementName = 'textarea';\n }\n\n return this.limelInputField.shadowRoot.querySelector(elementName);\n };\n\n private renderLabel = (labelId: string) => {\n const labelClassList = {\n 'mdc-floating-label': true,\n 'mdc-floating-label--float-above':\n !!this.value || this.isFocused || this.readonly,\n };\n\n if (!this.label) {\n return;\n }\n\n return (\n <span class=\"mdc-notched-outline__notch\">\n <span class={labelClassList} id={labelId}>\n {this.label}\n </span>\n </span>\n );\n };\n\n private renderLeadingIcon = () => {\n if (this.type === 'textarea') {\n return;\n }\n\n if (this.leadingIcon) {\n return (\n <i class=\"material-icons mdc-text-field__icon mdc-text-field__icon--leading\">\n <limel-icon name={this.leadingIcon} />\n </i>\n );\n }\n };\n\n private renderTrailingLinkOrButton = () => {\n if (this.type === 'textarea') {\n return;\n }\n\n const html = [];\n\n const trailingIcon = this.getTrailingIcon();\n\n if (!this.isInvalid() && this.hasLink()) {\n html.push(this.renderLinkIcon(this.getLink(), trailingIcon));\n } else if (trailingIcon) {\n html.push(this.renderTrailingIcon(trailingIcon));\n }\n\n return html;\n };\n\n private hasLink = () => {\n return (\n this.showLink &&\n ['email', 'tel', 'url', 'urlAsText'].includes(this.type)\n );\n };\n\n private getLink = () => {\n const props: LinkProperties = { href: '' };\n switch (this.type) {\n case 'email':\n props.href = `mailto:${this.value}`;\n break;\n case 'tel':\n props.href = `tel:${this.value}`;\n break;\n default:\n props.href = getHref(this.value);\n props.target = getTarget(this.value);\n }\n\n return props;\n };\n\n private renderLinkIcon = (linkProps: LinkProperties, icon: string) => {\n // If the trailing icon uses the class `mdc-text-field__icon--trailing`,\n // MDC attaches a click handler to it, which apparently runs\n // `preventDefault()` on the event. For links, we don't want that,\n // so instead of `mdc-text-field__icon--trailing`, we use our own class\n // `lime-trailing-icon-for-link`, which uses all the same styling. /Ads\n return (\n <a\n {...linkProps}\n class=\"material-icons mdc-text-field__icon lime-trailing-icon-for-link\"\n tabindex={this.disabled || !this.value ? '-1' : '0'}\n role=\"button\"\n >\n <limel-icon name={icon} />\n </a>\n );\n };\n\n private renderTrailingIcon = (icon: string) => {\n const props: any = {\n tabIndex: this.isInvalid() ? '-1' : '0',\n };\n if (!this.isInvalid()) {\n props.onKeyPress = this.handleIconKeyPress;\n props.onClick = this.handleIconClick;\n props.role = 'button';\n }\n\n return (\n <i\n class=\"material-icons mdc-text-field__icon mdc-text-field__icon--trailing\"\n {...props}\n >\n <limel-icon name={icon} />\n </i>\n );\n };\n\n private getTrailingIcon = () => {\n if (this.isInvalid()) {\n return 'high_importance';\n }\n\n if (this.trailingIcon) {\n return this.trailingIcon;\n }\n\n if (this.showLink && this.type === 'email') {\n return 'filled_message';\n }\n\n if (this.showLink && this.type === 'tel') {\n return 'phone';\n }\n\n if (\n this.showLink &&\n (this.type === 'url' || this.type === 'urlAsText')\n ) {\n return 'external_link';\n }\n };\n\n private renderFormattedNumber = () => {\n if (this.type !== 'number') {\n return;\n }\n\n let renderValue = this.value;\n if (this.formatNumber && this.value) {\n renderValue = new Intl.NumberFormat(navigator.language).format(\n Number(this.value)\n );\n }\n\n return (\n <span class=\"lime-formatted-input lime-looks-like-input-value\">\n {renderValue}\n </span>\n );\n };\n\n /**\n * Key handler for the input field\n * Will change focus to the first/last item in the dropdown list to enable selection with the keyboard\n * @param {KeyboardEvent} event event\n * @returns {void}\n */\n\n private onKeyDown = (event: KeyboardEvent): void => {\n this.showCompletions = true;\n const isForwardTab =\n (event.key === TAB || event.keyCode === TAB_KEY_CODE) &&\n !event.altKey &&\n !event.metaKey &&\n !event.shiftKey;\n const isUp =\n event.key === ARROW_UP || event.keyCode === ARROW_UP_KEY_CODE;\n const isDown =\n event.key === ARROW_DOWN || event.keyCode === ARROW_DOWN_KEY_CODE;\n\n if (event.keyCode === TAB_KEY_CODE && event.shiftKey) {\n this.showCompletions = false;\n }\n\n if (!isForwardTab && !isUp && !isDown) {\n return;\n }\n\n const list = document.querySelector(` #${this.portalId} limel-list`);\n\n if (!list) {\n return;\n }\n\n event.preventDefault();\n if (isForwardTab || isDown) {\n const listElement: HTMLElement = list.shadowRoot.querySelector(\n '.mdc-deprecated-list-item:first-child'\n );\n listElement.focus();\n\n return;\n }\n\n if (isUp) {\n const listElement: HTMLElement = list.shadowRoot.querySelector(\n '.mdc-deprecated-list-item:last-child'\n );\n listElement.focus();\n }\n };\n\n private handleCompletionChange = (\n event: LimelListCustomEvent<ListItem>\n ) => {\n event.stopPropagation();\n if (!event.detail) {\n return;\n }\n\n this.showCompletions = false;\n\n /*\n This change event doesn't need to be debounced in itself, but we want\n to make absolutely sure that an earlier change event that *has* been\n debounced doesn't emit after this one. Therefore, we run this through\n the same debounced emitter function. /Ads\n */\n this.changeEmitter(event.detail.text);\n };\n\n private renderAutocompleteList = () => {\n if (this.type === 'textarea' || !this.completions.length) {\n return;\n }\n\n return this.renderDropdown();\n };\n\n private renderPortal = (content = null) => {\n const dropdownZIndex = getComputedStyle(\n this.limelInputField\n ).getPropertyValue('--dropdown-z-index');\n\n return (\n <limel-portal\n visible={this.showCompletions}\n containerId={this.portalId}\n inheritParentWidth={true}\n containerStyle={{ 'z-index': dropdownZIndex }}\n >\n <limel-menu-surface\n open={this.showCompletions}\n allowClicksElement={this.limelInputField}\n style={{\n '--mdc-menu-min-width': '100%',\n 'max-height': 'inherit',\n display: 'flex',\n }}\n onDismiss={this.handleCloseMenu}\n >\n {content}\n </limel-menu-surface>\n </limel-portal>\n );\n };\n\n private renderDropdown = () => {\n const content = this.renderListResult();\n\n return this.renderPortal(content);\n };\n\n private renderListResult = () => {\n const filteredCompletions: ListItem[] = this.filterCompletions(\n this.value\n );\n if (!filteredCompletions || filteredCompletions.length === 0) {\n return null;\n }\n\n return (\n <limel-list\n onChange={this.handleCompletionChange}\n onKeyDown={this.handleKeyDownInDropdown}\n type=\"selectable\"\n items={filteredCompletions}\n />\n );\n };\n\n private handleKeyDownInDropdown = (event: KeyboardEvent) => {\n const keyFound = [TAB, ESCAPE, ENTER].includes(event.key);\n const keyCodeFound = [\n TAB_KEY_CODE,\n ESCAPE_KEY_CODE,\n ENTER_KEY_CODE,\n ].includes(event.keyCode);\n if (keyFound || keyCodeFound) {\n this.setFocus();\n }\n };\n\n private handleCloseMenu = () => {\n this.showCompletions = false;\n };\n\n private filterCompletions = (filter: string) => {\n if (!filter) {\n return this.completionsList;\n }\n\n return this.completionsList.filter(\n (completion) =>\n completion.text.toLowerCase().indexOf(filter.toLowerCase()) > -1\n );\n };\n\n private handleChange = (event) => {\n event.stopPropagation();\n let value = event.target.value;\n\n if (this.type === 'number') {\n if (!value && event.data) {\n event.stopPropagation();\n\n return;\n }\n\n if (value) {\n value = Number(value);\n }\n }\n\n this.changeEmitter(value);\n };\n\n private changeEmitter = (value: string) => {\n this.change.emit(value);\n };\n\n private handleIconClick = () => {\n if (!this.isInvalid()) {\n this.action.emit();\n }\n };\n\n private handleIconKeyPress = (event: KeyboardEvent) => {\n const isEnter = event.key === ENTER || event.keyCode === ENTER_KEY_CODE;\n const isSpace = event.key === SPACE || event.keyCode === SPACE_KEY_CODE;\n\n if ((isSpace || isEnter) && !this.isInvalid()) {\n this.action.emit();\n }\n };\n\n private handleWheel = () => {\n // This empty event handler is here to circumvent a bug.\n // In some browsers (Chrome for example), hovering the input with\n // the input focused, and scrolling, will both change the value\n // AND scroll the page. We would prefer to never change the value\n // on scroll, instead always scrolling the page, but since we\n // haven't found a way to do that, this is the next best thing, as\n // it prevents the page from being scrolled, but only in the\n // circumstances when the value is changed by the scrolling.\n // Please test THOROUGHLY if you remove this event handler 😄\n };\n}\n"],"mappings":"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"}