@limetech/lime-elements 37.1.0-next.1 → 37.1.0-next.10

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 (307) 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 +1 -1
  6. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +9 -1
  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 +1 -1
  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 +4 -3
  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 +1 -1
  29. package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
  30. package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  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 +14 -2
  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 +1 -1
  46. package/dist/cjs/limel-list_2.cjs.entry.js +2 -2
  47. package/dist/cjs/limel-menu_2.cjs.entry.js +1 -1
  48. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  49. package/dist/cjs/limel-popover_2.cjs.entry.js +1 -1
  50. package/dist/cjs/limel-portal.cjs.entry.js +1 -1
  51. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  52. package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  55. package/dist/cjs/limel-slider.cjs.entry.js +1 -1
  56. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  57. package/dist/cjs/limel-spinner.cjs.entry.js +1 -1
  58. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-switch.cjs.entry.js +6 -1
  60. package/dist/cjs/limel-switch.cjs.entry.js.map +1 -1
  61. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  62. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  63. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-tooltip_2.cjs.entry.js +1 -1
  65. package/dist/cjs/loader.cjs.js +1 -1
  66. package/dist/cjs/makeEnterClickable-aa2ed75b.js +68 -0
  67. package/dist/cjs/makeEnterClickable-aa2ed75b.js.map +1 -0
  68. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +9 -1
  69. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js.map +1 -1
  70. package/dist/collection/components/action-bar/action-bar.js +0 -1
  71. package/dist/collection/components/action-bar/action-bar.js.map +1 -1
  72. package/dist/collection/components/button/button.js +8 -0
  73. package/dist/collection/components/button/button.js.map +1 -1
  74. package/dist/collection/components/checkbox/checkbox.js +18 -1
  75. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  76. package/dist/collection/components/checkbox/checkbox.template.js +3 -3
  77. package/dist/collection/components/checkbox/checkbox.template.js.map +1 -1
  78. package/dist/collection/components/collapsible-section/collapsible-section.js +11 -1
  79. package/dist/collection/components/collapsible-section/collapsible-section.js.map +1 -1
  80. package/dist/collection/components/color-picker/color-picker-palette.css +46 -21
  81. package/dist/collection/components/color-picker/color-picker-palette.js +1 -1
  82. package/dist/collection/components/color-picker/color-picker-palette.js.map +1 -1
  83. package/dist/collection/components/color-picker/color-picker.css +29 -21
  84. package/dist/collection/components/color-picker/color-picker.js +1 -1
  85. package/dist/collection/components/color-picker/color-picker.js.map +1 -1
  86. package/dist/collection/components/form/fields/schema-field.js +13 -1
  87. package/dist/collection/components/form/fields/schema-field.js.map +1 -1
  88. package/dist/collection/components/icon/icon.js +1 -1
  89. package/dist/collection/components/icon/icon.js.map +1 -1
  90. package/dist/collection/components/icon-button/icon-button.js +7 -0
  91. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  92. package/dist/collection/components/switch/switch.js +14 -0
  93. package/dist/collection/components/switch/switch.js.map +1 -1
  94. package/dist/collection/global/{icon-cache.js → icon-cache/cache-storage-icon-cache.js} +4 -9
  95. package/dist/collection/global/icon-cache/cache-storage-icon-cache.js.map +1 -0
  96. package/dist/collection/global/icon-cache/factory.js +16 -0
  97. package/dist/collection/global/icon-cache/factory.js.map +1 -0
  98. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +73 -0
  99. package/dist/collection/global/icon-cache/in-memory-icon-cache.js.map +1 -0
  100. package/dist/collection/util/makeEnterClickable.js +61 -0
  101. package/dist/collection/util/makeEnterClickable.js.map +1 -0
  102. package/dist/esm/{checkbox.template-c838ee7b.js → checkbox.template-c2d0fa10.js} +5 -5
  103. package/dist/esm/checkbox.template-c2d0fa10.js.map +1 -0
  104. package/dist/esm/{index-9bd6d7c6.js → index-232e9616.js} +14 -2
  105. package/dist/{lime-elements/p-c8818b66.js.map → esm/index-232e9616.js.map} +1 -1
  106. package/dist/esm/lime-elements.js +2 -2
  107. package/dist/esm/limel-action-bar-item_2.entry.js +9 -1
  108. package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -1
  109. package/dist/esm/limel-action-bar.entry.js +1 -1
  110. package/dist/esm/limel-action-bar.entry.js.map +1 -1
  111. package/dist/esm/limel-badge.entry.js +1 -1
  112. package/dist/esm/limel-banner.entry.js +1 -1
  113. package/dist/esm/limel-button-group.entry.js +1 -1
  114. package/dist/esm/limel-button.entry.js +9 -1
  115. package/dist/esm/limel-button.entry.js.map +1 -1
  116. package/dist/esm/limel-callout.entry.js +1 -1
  117. package/dist/esm/limel-checkbox.entry.js +4 -3
  118. package/dist/esm/limel-checkbox.entry.js.map +1 -1
  119. package/dist/esm/limel-chip-set.entry.js +1 -1
  120. package/dist/esm/limel-circular-progress_2.entry.js +1 -1
  121. package/dist/esm/limel-code-editor.entry.js +1 -1
  122. package/dist/esm/limel-collapsible-section.entry.js +11 -1
  123. package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
  124. package/dist/esm/limel-color-picker-palette.entry.js +3 -3
  125. package/dist/esm/limel-color-picker-palette.entry.js.map +1 -1
  126. package/dist/esm/limel-color-picker.entry.js +3 -3
  127. package/dist/esm/limel-color-picker.entry.js.map +1 -1
  128. package/dist/esm/limel-config.entry.js +1 -1
  129. package/dist/esm/limel-date-picker.entry.js +1 -1
  130. package/dist/esm/limel-dialog.entry.js +1 -1
  131. package/dist/esm/limel-dock-button.entry.js +1 -1
  132. package/dist/esm/limel-dock.entry.js +1 -1
  133. package/dist/esm/limel-file.entry.js +1 -1
  134. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  135. package/dist/esm/limel-flex-container.entry.js +1 -1
  136. package/dist/esm/limel-form.entry.js +14 -2
  137. package/dist/esm/limel-form.entry.js.map +1 -1
  138. package/dist/esm/limel-grid.entry.js +1 -1
  139. package/dist/esm/limel-header.entry.js +1 -1
  140. package/dist/esm/limel-helper-line.entry.js +1 -1
  141. package/dist/esm/limel-icon-button.entry.js +8 -1
  142. package/dist/esm/limel-icon-button.entry.js.map +1 -1
  143. package/dist/esm/limel-icon.entry.js +91 -9
  144. package/dist/esm/limel-icon.entry.js.map +1 -1
  145. package/dist/esm/limel-info-tile.entry.js +1 -1
  146. package/dist/esm/limel-input-field.entry.js +1 -1
  147. package/dist/esm/limel-list_2.entry.js +2 -2
  148. package/dist/esm/limel-menu_2.entry.js +1 -1
  149. package/dist/esm/limel-picker.entry.js +1 -1
  150. package/dist/esm/limel-popover_2.entry.js +1 -1
  151. package/dist/esm/limel-portal.entry.js +1 -1
  152. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  153. package/dist/esm/limel-progress-flow.entry.js +1 -1
  154. package/dist/esm/limel-select.entry.js +1 -1
  155. package/dist/esm/limel-shortcut.entry.js +1 -1
  156. package/dist/esm/limel-slider.entry.js +1 -1
  157. package/dist/esm/limel-snackbar.entry.js +1 -1
  158. package/dist/esm/limel-spinner.entry.js +1 -1
  159. package/dist/esm/limel-split-button.entry.js +1 -1
  160. package/dist/esm/limel-switch.entry.js +6 -1
  161. package/dist/esm/limel-switch.entry.js.map +1 -1
  162. package/dist/esm/limel-tab-bar.entry.js +1 -1
  163. package/dist/esm/limel-tab-panel.entry.js +1 -1
  164. package/dist/esm/limel-table.entry.js +1 -1
  165. package/dist/esm/limel-tooltip_2.entry.js +1 -1
  166. package/dist/esm/loader.js +2 -2
  167. package/dist/esm/makeEnterClickable-b5ad939a.js +65 -0
  168. package/dist/esm/makeEnterClickable-b5ad939a.js.map +1 -0
  169. package/dist/lime-elements/lime-elements.esm.js +1 -1
  170. package/dist/lime-elements/{p-9aab2892.entry.js → p-095e03af.entry.js} +2 -2
  171. package/dist/lime-elements/{p-e0fa49ca.entry.js → p-0d823554.entry.js} +2 -2
  172. package/dist/lime-elements/p-0d823554.entry.js.map +1 -0
  173. package/dist/lime-elements/{p-40b7d717.entry.js → p-0edcca0b.entry.js} +2 -2
  174. package/dist/lime-elements/{p-ca9b383b.entry.js → p-1754c5ae.entry.js} +2 -2
  175. package/dist/lime-elements/{p-a3bea367.entry.js → p-1bdc524d.entry.js} +2 -2
  176. package/dist/lime-elements/{p-c8818b66.js → p-3075aa67.js} +3 -3
  177. package/dist/lime-elements/p-3075aa67.js.map +1 -0
  178. package/dist/lime-elements/{p-13ed01eb.entry.js → p-32127a17.entry.js} +2 -2
  179. package/dist/lime-elements/{p-daa9f6d7.entry.js → p-378bb196.entry.js} +3 -3
  180. package/dist/lime-elements/{p-daa9f6d7.entry.js.map → p-378bb196.entry.js.map} +1 -1
  181. package/dist/lime-elements/{p-17ac8cca.entry.js → p-42f06b16.entry.js} +2 -2
  182. package/dist/lime-elements/{p-8b339748.entry.js → p-455edb30.entry.js} +2 -2
  183. package/dist/lime-elements/p-4607900f.entry.js +2 -0
  184. package/dist/lime-elements/p-4607900f.entry.js.map +1 -0
  185. package/dist/lime-elements/{p-9fe3bc64.entry.js → p-4a04ede1.entry.js} +2 -2
  186. package/dist/lime-elements/{p-a8714655.entry.js → p-4fc7e0df.entry.js} +2 -2
  187. package/dist/lime-elements/p-5235c79f.entry.js +2 -0
  188. package/dist/lime-elements/p-5235c79f.entry.js.map +1 -0
  189. package/dist/lime-elements/{p-1a80da5e.entry.js → p-550cae4a.entry.js} +2 -2
  190. package/dist/lime-elements/{p-623d09d9.entry.js → p-552fd521.entry.js} +2 -2
  191. package/dist/lime-elements/{p-42a24572.entry.js → p-55dcbc35.entry.js} +2 -2
  192. package/dist/lime-elements/{p-30df2bb6.entry.js → p-5afea754.entry.js} +2 -2
  193. package/dist/lime-elements/{p-c647b197.entry.js → p-5fb4402e.entry.js} +2 -2
  194. package/dist/lime-elements/{p-050ef1eb.entry.js → p-6762616d.entry.js} +2 -2
  195. package/dist/lime-elements/p-6f2fad3a.entry.js +2 -0
  196. package/dist/lime-elements/p-6f2fad3a.entry.js.map +1 -0
  197. package/dist/lime-elements/{p-2b0c6ccd.entry.js → p-7972528a.entry.js} +2 -2
  198. package/dist/lime-elements/p-7cfc8998.js +2 -0
  199. package/dist/lime-elements/p-7cfc8998.js.map +1 -0
  200. package/dist/lime-elements/{p-27c18e12.entry.js → p-7d159ddf.entry.js} +2 -2
  201. package/dist/lime-elements/{p-cad6b8c6.entry.js → p-8d44ea19.entry.js} +2 -2
  202. package/dist/lime-elements/{p-848437f8.entry.js → p-94cb40fb.entry.js} +2 -2
  203. package/dist/lime-elements/{p-795079c9.entry.js → p-95ed1b9b.entry.js} +2 -2
  204. package/dist/lime-elements/{p-4ae7932a.entry.js → p-97d9a355.entry.js} +8 -8
  205. package/dist/lime-elements/{p-4ae7932a.entry.js.map → p-97d9a355.entry.js.map} +1 -1
  206. package/dist/lime-elements/{p-d228fd62.entry.js → p-9a5745e5.entry.js} +2 -2
  207. package/dist/lime-elements/{p-4114c214.entry.js → p-9c1db0e7.entry.js} +2 -2
  208. package/dist/lime-elements/{p-4d0f4018.entry.js → p-9f5250a0.entry.js} +2 -2
  209. package/dist/lime-elements/{p-780e8903.entry.js → p-a4c39571.entry.js} +2 -2
  210. package/dist/lime-elements/{p-591dd6e0.entry.js → p-add09e7d.entry.js} +2 -2
  211. package/dist/lime-elements/{p-e59e0040.entry.js → p-af374a0c.entry.js} +2 -2
  212. package/dist/lime-elements/{p-37b76830.entry.js → p-b3ff8fef.entry.js} +2 -2
  213. package/dist/lime-elements/{p-715d3252.entry.js → p-b70f517e.entry.js} +2 -2
  214. package/dist/lime-elements/{p-da25e94d.entry.js → p-b714596f.entry.js} +2 -2
  215. package/dist/lime-elements/p-b714596f.entry.js.map +1 -0
  216. package/dist/lime-elements/{p-7760ecc1.entry.js → p-b897fe1f.entry.js} +2 -2
  217. package/dist/lime-elements/{p-de0d53f0.entry.js → p-b9698f79.entry.js} +2 -2
  218. package/dist/lime-elements/{p-5b374246.entry.js → p-bc23beb6.entry.js} +2 -2
  219. package/dist/lime-elements/{p-f1d9723a.entry.js → p-bd62071d.entry.js} +2 -2
  220. package/dist/lime-elements/{p-a6e1d26f.entry.js → p-c6f8ea40.entry.js} +6 -6
  221. package/dist/lime-elements/p-c6f8ea40.entry.js.map +1 -0
  222. package/dist/lime-elements/p-c9bdda85.js +2 -0
  223. package/dist/lime-elements/p-c9bdda85.js.map +1 -0
  224. package/dist/lime-elements/{p-e914b074.entry.js → p-ce1fca54.entry.js} +2 -2
  225. package/dist/lime-elements/{p-18b060d8.entry.js → p-cf61ac34.entry.js} +2 -2
  226. package/dist/lime-elements/{p-6b77e64d.entry.js → p-d419c102.entry.js} +3 -3
  227. package/dist/lime-elements/{p-7a3f58cd.entry.js → p-dd14b927.entry.js} +2 -2
  228. package/dist/lime-elements/p-e0a0065f.entry.js +2 -0
  229. package/dist/lime-elements/p-e0a0065f.entry.js.map +1 -0
  230. package/dist/lime-elements/{p-2118b9ae.entry.js → p-eae4f1ed.entry.js} +2 -2
  231. package/dist/lime-elements/p-ee887c40.entry.js +2 -0
  232. package/dist/lime-elements/p-ee887c40.entry.js.map +1 -0
  233. package/dist/lime-elements/p-f4ff7ecc.entry.js +2 -0
  234. package/dist/lime-elements/p-f4ff7ecc.entry.js.map +1 -0
  235. package/dist/types/components/action-bar/action-bar-item/action-bar-item.d.ts +3 -0
  236. package/dist/types/components/action-bar/action-bar.d.ts +0 -1
  237. package/dist/types/components/button/button.d.ts +3 -0
  238. package/dist/types/components/checkbox/checkbox.d.ts +17 -0
  239. package/dist/types/components/checkbox/checkbox.template.d.ts +1 -0
  240. package/dist/types/components/collapsible-section/collapsible-section.d.ts +3 -0
  241. package/dist/types/components/icon-button/icon-button.d.ts +2 -0
  242. package/dist/types/components/switch/switch.d.ts +10 -0
  243. package/dist/types/components.d.ts +76 -4
  244. package/dist/types/global/{icon-cache.d.ts → icon-cache/cache-storage-icon-cache.d.ts} +2 -4
  245. package/dist/types/global/icon-cache/factory.d.ts +4 -0
  246. package/dist/types/global/icon-cache/in-memory-icon-cache.d.ts +15 -0
  247. package/dist/types/util/makeEnterClickable.d.ts +7 -0
  248. package/package.json +9 -9
  249. package/dist/cjs/checkbox.template-234f4813.js.map +0 -1
  250. package/dist/cjs/index-aafa56ee.js.map +0 -1
  251. package/dist/collection/global/icon-cache.js.map +0 -1
  252. package/dist/esm/checkbox.template-c838ee7b.js.map +0 -1
  253. package/dist/esm/index-9bd6d7c6.js.map +0 -1
  254. package/dist/lime-elements/p-1dc042e5.entry.js +0 -2
  255. package/dist/lime-elements/p-1dc042e5.entry.js.map +0 -1
  256. package/dist/lime-elements/p-28da3c47.entry.js +0 -2
  257. package/dist/lime-elements/p-28da3c47.entry.js.map +0 -1
  258. package/dist/lime-elements/p-5b6d2d55.js +0 -2
  259. package/dist/lime-elements/p-5b6d2d55.js.map +0 -1
  260. package/dist/lime-elements/p-63111b62.entry.js +0 -2
  261. package/dist/lime-elements/p-63111b62.entry.js.map +0 -1
  262. package/dist/lime-elements/p-896043d6.entry.js +0 -2
  263. package/dist/lime-elements/p-896043d6.entry.js.map +0 -1
  264. package/dist/lime-elements/p-a026bdeb.entry.js +0 -2
  265. package/dist/lime-elements/p-a026bdeb.entry.js.map +0 -1
  266. package/dist/lime-elements/p-a6e1d26f.entry.js.map +0 -1
  267. package/dist/lime-elements/p-da25e94d.entry.js.map +0 -1
  268. package/dist/lime-elements/p-e0fa49ca.entry.js.map +0 -1
  269. package/dist/lime-elements/p-fb799569.entry.js +0 -2
  270. package/dist/lime-elements/p-fb799569.entry.js.map +0 -1
  271. /package/dist/lime-elements/{p-9aab2892.entry.js.map → p-095e03af.entry.js.map} +0 -0
  272. /package/dist/lime-elements/{p-40b7d717.entry.js.map → p-0edcca0b.entry.js.map} +0 -0
  273. /package/dist/lime-elements/{p-ca9b383b.entry.js.map → p-1754c5ae.entry.js.map} +0 -0
  274. /package/dist/lime-elements/{p-a3bea367.entry.js.map → p-1bdc524d.entry.js.map} +0 -0
  275. /package/dist/lime-elements/{p-13ed01eb.entry.js.map → p-32127a17.entry.js.map} +0 -0
  276. /package/dist/lime-elements/{p-17ac8cca.entry.js.map → p-42f06b16.entry.js.map} +0 -0
  277. /package/dist/lime-elements/{p-8b339748.entry.js.map → p-455edb30.entry.js.map} +0 -0
  278. /package/dist/lime-elements/{p-9fe3bc64.entry.js.map → p-4a04ede1.entry.js.map} +0 -0
  279. /package/dist/lime-elements/{p-a8714655.entry.js.map → p-4fc7e0df.entry.js.map} +0 -0
  280. /package/dist/lime-elements/{p-1a80da5e.entry.js.map → p-550cae4a.entry.js.map} +0 -0
  281. /package/dist/lime-elements/{p-623d09d9.entry.js.map → p-552fd521.entry.js.map} +0 -0
  282. /package/dist/lime-elements/{p-42a24572.entry.js.map → p-55dcbc35.entry.js.map} +0 -0
  283. /package/dist/lime-elements/{p-30df2bb6.entry.js.map → p-5afea754.entry.js.map} +0 -0
  284. /package/dist/lime-elements/{p-c647b197.entry.js.map → p-5fb4402e.entry.js.map} +0 -0
  285. /package/dist/lime-elements/{p-050ef1eb.entry.js.map → p-6762616d.entry.js.map} +0 -0
  286. /package/dist/lime-elements/{p-2b0c6ccd.entry.js.map → p-7972528a.entry.js.map} +0 -0
  287. /package/dist/lime-elements/{p-27c18e12.entry.js.map → p-7d159ddf.entry.js.map} +0 -0
  288. /package/dist/lime-elements/{p-cad6b8c6.entry.js.map → p-8d44ea19.entry.js.map} +0 -0
  289. /package/dist/lime-elements/{p-848437f8.entry.js.map → p-94cb40fb.entry.js.map} +0 -0
  290. /package/dist/lime-elements/{p-795079c9.entry.js.map → p-95ed1b9b.entry.js.map} +0 -0
  291. /package/dist/lime-elements/{p-d228fd62.entry.js.map → p-9a5745e5.entry.js.map} +0 -0
  292. /package/dist/lime-elements/{p-4114c214.entry.js.map → p-9c1db0e7.entry.js.map} +0 -0
  293. /package/dist/lime-elements/{p-4d0f4018.entry.js.map → p-9f5250a0.entry.js.map} +0 -0
  294. /package/dist/lime-elements/{p-780e8903.entry.js.map → p-a4c39571.entry.js.map} +0 -0
  295. /package/dist/lime-elements/{p-591dd6e0.entry.js.map → p-add09e7d.entry.js.map} +0 -0
  296. /package/dist/lime-elements/{p-e59e0040.entry.js.map → p-af374a0c.entry.js.map} +0 -0
  297. /package/dist/lime-elements/{p-37b76830.entry.js.map → p-b3ff8fef.entry.js.map} +0 -0
  298. /package/dist/lime-elements/{p-715d3252.entry.js.map → p-b70f517e.entry.js.map} +0 -0
  299. /package/dist/lime-elements/{p-7760ecc1.entry.js.map → p-b897fe1f.entry.js.map} +0 -0
  300. /package/dist/lime-elements/{p-de0d53f0.entry.js.map → p-b9698f79.entry.js.map} +0 -0
  301. /package/dist/lime-elements/{p-5b374246.entry.js.map → p-bc23beb6.entry.js.map} +0 -0
  302. /package/dist/lime-elements/{p-f1d9723a.entry.js.map → p-bd62071d.entry.js.map} +0 -0
  303. /package/dist/lime-elements/{p-e914b074.entry.js.map → p-ce1fca54.entry.js.map} +0 -0
  304. /package/dist/lime-elements/{p-18b060d8.entry.js.map → p-cf61ac34.entry.js.map} +0 -0
  305. /package/dist/lime-elements/{p-6b77e64d.entry.js.map → p-d419c102.entry.js.map} +0 -0
  306. /package/dist/lime-elements/{p-7a3f58cd.entry.js.map → p-dd14b927.entry.js.map} +0 -0
  307. /package/dist/lime-elements/{p-2118b9ae.entry.js.map → p-eae4f1ed.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/components/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,SAAS,MAAM,yBAAyB,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAMH,MAAM,OAAO,IAAI;;;;;;EAuBN,gBAAgB;IACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7B,CAAC;EAEM,MAAM;IACT,OAAO,WAAK,KAAK,EAAC,WAAW,GAAG,CAAC;EACrC,CAAC;EAGS,KAAK,CAAC,QAAQ,CAAC,IAAY;IACjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE;MACnC,OAAO;KACV;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;EAC5B,CAAC;EAED;;;;KAIG;EACK,OAAO,CAAC,IAAY;IACxB,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;EAChD,CAAC;EAED;;;;;KAKG;EACK,SAAS,CAAC,OAAe;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,SAAS,EAAE;MACX,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;KACjC;EACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["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"]}
1
+ {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/components/icon/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,SAAS,MAAM,iCAAiC,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAMH,MAAM,OAAO,IAAI;;;;;;EAuBN,gBAAgB;IACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7B,CAAC;EAEM,MAAM;IACT,OAAO,WAAK,KAAK,EAAC,WAAW,GAAG,CAAC;EACrC,CAAC;EAGS,KAAK,CAAC,QAAQ,CAAC,IAAY;IACjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE;MACnC,OAAO;KACV;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;EAC5B,CAAC;EAED;;;;KAIG;EACK,OAAO,CAAC,IAAY;IACxB,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;EAChD,CAAC;EAED;;;;;KAKG;EACK,SAAS,CAAC,OAAe;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,SAAS,EAAE;MACX,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC;KACjC;EACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Element, h, Prop, Watch } from '@stencil/core';\nimport config from '../../global/config';\nimport iconCache from '../../global/icon-cache/factory';\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"]}
@@ -1,4 +1,5 @@
1
1
  import { h } from '@stencil/core';
2
+ import { makeEnterClickable, removeEnterClickable, } from 'src/util/makeEnterClickable';
2
3
  /**
3
4
  * @exampleComponent limel-example-icon-button-basic
4
5
  * @exampleComponent limel-example-icon-button-disabled
@@ -16,6 +17,12 @@ export class IconButton {
16
17
  connectedCallback() {
17
18
  this.initialize();
18
19
  }
20
+ componentWillLoad() {
21
+ makeEnterClickable(this.host);
22
+ }
23
+ disconnectedCallback() {
24
+ removeEnterClickable(this.host);
25
+ }
19
26
  componentDidLoad() {
20
27
  this.initialize();
21
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE5D;;;;;;GAMG;AAMH,MAAM,OAAO,UAAU;;;oBAYD,KAAK;;oBAYL,KAAK;;EAKhB,iBAAiB;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEO,UAAU;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE;MACV,OAAO;KACV;EACL,CAAC;EAEM,MAAM;IACT,MAAM,gBAAgB,GAA0B,EAAE,CAAC;IACnD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;MACpC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KAClE;IAED,OAAO,CACH,4BACI,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,gBACX,IAAI,CAAC,KAAK,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,IACb,gBAAgB;MAEpB,kBAAY,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAI,CACvC,CACZ,CAAC;EACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Element, h, Prop } from '@stencil/core';\n\n/**\n * @exampleComponent limel-example-icon-button-basic\n * @exampleComponent limel-example-icon-button-disabled\n * @exampleComponent limel-example-icon-button-elevated\n * @exampleComponent limel-example-icon-button-toggle-state\n * @exampleComponent limel-example-icon-button-composite\n */\n@Component({\n tag: 'limel-icon-button',\n shadow: true,\n styleUrl: 'icon-button.scss',\n})\nexport class IconButton {\n /**\n * The icon to display.\n */\n @Prop({ reflect: true })\n public icon: string;\n\n /**\n * Set to `true` to give the button our standard \"elevated\" look, lifting\n * it off the flat layout.\n */\n @Prop({ reflect: true })\n public elevated = false;\n\n /**\n * The text to show to screenreaders and other assistive tech.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Set to `true` to disable the button.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n @Element()\n private host: HTMLLimelIconButtonElement;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector('.mdc-icon-button');\n if (!element) {\n return;\n }\n }\n\n public render() {\n const buttonAttributes: { tabindex?: string } = {};\n if (this.host.hasAttribute('tabindex')) {\n buttonAttributes.tabindex = this.host.getAttribute('tabindex');\n }\n\n return (\n <button\n class=\"mdc-icon-button\"\n disabled={this.disabled}\n aria-label={this.label}\n title={this.label}\n {...buttonAttributes}\n >\n <limel-icon name={this.icon} badge={true} />\n </button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,6BAA6B,CAAC;AAErC;;;;;;GAMG;AAMH,MAAM,OAAO,UAAU;;;oBAYD,KAAK;;oBAYL,KAAK;;EAKhB,iBAAiB;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEM,iBAAiB;IACpB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClC,CAAC;EAEM,oBAAoB;IACvB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACpC,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEO,UAAU;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE;MACV,OAAO;KACV;EACL,CAAC;EAEM,MAAM;IACT,MAAM,gBAAgB,GAA0B,EAAE,CAAC;IACnD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;MACpC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KAClE;IAED,OAAO,CACH,4BACI,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,gBACX,IAAI,CAAC,KAAK,EACtB,KAAK,EAAE,IAAI,CAAC,KAAK,IACb,gBAAgB;MAEpB,kBAAY,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAI,CACvC,CACZ,CAAC;EACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Element, h, Prop } from '@stencil/core';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from 'src/util/makeEnterClickable';\n\n/**\n * @exampleComponent limel-example-icon-button-basic\n * @exampleComponent limel-example-icon-button-disabled\n * @exampleComponent limel-example-icon-button-elevated\n * @exampleComponent limel-example-icon-button-toggle-state\n * @exampleComponent limel-example-icon-button-composite\n */\n@Component({\n tag: 'limel-icon-button',\n shadow: true,\n styleUrl: 'icon-button.scss',\n})\nexport class IconButton {\n /**\n * The icon to display.\n */\n @Prop({ reflect: true })\n public icon: string;\n\n /**\n * Set to `true` to give the button our standard \"elevated\" look, lifting\n * it off the flat layout.\n */\n @Prop({ reflect: true })\n public elevated = false;\n\n /**\n * The text to show to screenreaders and other assistive tech.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Set to `true` to disable the button.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n @Element()\n private host: HTMLLimelIconButtonElement;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector('.mdc-icon-button');\n if (!element) {\n return;\n }\n }\n\n public render() {\n const buttonAttributes: { tabindex?: string } = {};\n if (this.host.hasAttribute('tabindex')) {\n buttonAttributes.tabindex = this.host.getAttribute('tabindex');\n }\n\n return (\n <button\n class=\"mdc-icon-button\"\n disabled={this.disabled}\n aria-label={this.label}\n title={this.label}\n {...buttonAttributes}\n >\n <limel-icon name={this.icon} badge={true} />\n </button>\n );\n }\n}\n"]}
@@ -1,7 +1,17 @@
1
1
  import { MDCSwitch } from '@material/switch';
2
2
  import { h, } from '@stencil/core';
3
3
  import { createRandomString } from '../../util/random-string';
4
+ import { makeEnterClickable, removeEnterClickable, } from 'src/util/makeEnterClickable';
4
5
  /**
6
+ * The Switch component is a fundamental element in UI design that serves as a toggle switch
7
+ * to control the state of a specific setting or option in an application or website.
8
+ * The two distinct positions of the Switch are visually indicative of the two states:
9
+ * ON and OFF; making it easy for users to understand the current state of the controlled feature.
10
+ *
11
+ * The Switch component is widely used in user interfaces to enable users to
12
+ * quickly and intuitively change binary settings.
13
+ *
14
+ * <limel-example-switch-vs-checkbox />
5
15
  * @exampleComponent limel-example-switch
6
16
  */
7
17
  export class Switch {
@@ -19,6 +29,9 @@ export class Switch {
19
29
  connectedCallback() {
20
30
  this.initialize();
21
31
  }
32
+ componentWillLoad() {
33
+ makeEnterClickable(this.host);
34
+ }
22
35
  componentDidLoad() {
23
36
  this.initialize();
24
37
  }
@@ -31,6 +44,7 @@ export class Switch {
31
44
  }
32
45
  disconnectedCallback() {
33
46
  var _a;
47
+ removeEnterClickable(this.host);
34
48
  (_a = this.mdcSwitch) === null || _a === void 0 ? void 0 : _a.destroy();
35
49
  }
36
50
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/components/switch/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACH,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;GAEG;AAMH,MAAM,OAAO,MAAM;;IA6HP,gBAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;MACxC,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;;oBAlHgB,KAAK;oBAQL,KAAK;iBAMR,KAAK;mBAYF,kBAAkB,EAAE;;EAI/B,iBAAiB;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEO,UAAU;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9C,aAAa,CACK,CAAC;IACvB,IAAI,CAAC,OAAO,EAAE;MACV,OAAO;KACV;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;EAC5C,CAAC;EAEM,oBAAoB;;IACvB,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,EAAE,CAAC;EAC9B,CAAC;EAEM,MAAM;IACT,OAAO;MACH,cACI,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAE;UACH,YAAY,EAAE,IAAI;UAClB,uBAAuB,EAAE,IAAI,CAAC,QAAQ;UACtC,wBAAwB,EAAE,CAAC,IAAI,CAAC,KAAK;UACrC,sBAAsB,EAAE,IAAI,CAAC,KAAK;SACrC,EACD,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,kBACC,IAAI,CAAC,KAAK,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EACxC,OAAO,EAAE,IAAI,CAAC,WAAW;QAEzB,WAAK,KAAK,EAAC,mBAAmB,GAAG;QACjC,WAAK,KAAK,EAAC,0BAA0B;UACjC,WAAK,KAAK,EAAC,oBAAoB;YAC3B,WAAK,KAAK,EAAC,oBAAoB;cAC3B,WAAK,KAAK,EAAC,uBAAuB,GAAO,CACvC;YACN,WAAK,KAAK,EAAC,oBAAoB,GAAO;YACtC,WAAK,KAAK,EAAC,mBAAmB;cAC1B,WACI,KAAK,EAAC,uCAAuC,EAC7C,OAAO,EAAC,WAAW;gBAEnB,YAAM,CAAC,EAAC,qEAAqE,GAAG,CAC9E;cACN,WACI,KAAK,EAAC,wCAAwC,EAC9C,OAAO,EAAC,WAAW;gBAEnB,YAAM,CAAC,EAAC,mBAAmB,GAAG,CAC5B,CACJ,CACJ,CACJ,CACD;MACT,aACI,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,KAAK,CACP;KACX,CAAC;EACN,CAAC;EAGS,YAAY,CAAC,QAAiB;IACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;MACjB,OAAO;KACV;IAED,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;EACvC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMJ","sourcesContent":["import { MDCSwitch } from '@material/switch';\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';\n\n/**\n * @exampleComponent limel-example-switch\n */\n@Component({\n tag: 'limel-switch',\n shadow: true,\n styleUrl: 'switch.scss',\n})\nexport class Switch {\n /**\n * Label to display next to the switch\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Disables the switch when `true`,\n * and visually shows that the switch is editable but disabled.\n * This tells the users that if certain requirements are met,\n * the switch may become interactable.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Disables the switch when `true`. This visualizes the switch slightly differently.\n * But shows no visual sign indicating that the switch is disabled\n * or can ever become interactable.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * The value of the switch\n */\n @Prop({ reflect: true })\n public value = false;\n\n /**\n * Emitted when the value has changed\n */\n @Event()\n private change: EventEmitter<boolean>;\n\n @Element()\n private host: HTMLLimelSwitchElement;\n\n @State()\n private fieldId = createRandomString();\n\n private mdcSwitch: MDCSwitch;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector(\n '.mdc-switch'\n ) as HTMLButtonElement;\n if (!element) {\n return;\n }\n\n this.mdcSwitch = new MDCSwitch(element);\n }\n\n public disconnectedCallback() {\n this.mdcSwitch?.destroy();\n }\n\n public render() {\n return [\n <button\n id={this.fieldId}\n class={{\n 'mdc-switch': true,\n 'lime-switch--readonly': this.readonly,\n 'mdc-switch--unselected': !this.value,\n 'mdc-switch--selected': this.value,\n }}\n type=\"button\"\n role=\"switch\"\n aria-checked={this.value}\n disabled={this.disabled || this.readonly}\n onClick={this.handleClick}\n >\n <div class=\"mdc-switch__track\" />\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\"></div>\n <div class=\"mdc-switch__icons\">\n <svg\n class=\"mdc-switch__icon mdc-switch__icon--on\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg\n class=\"mdc-switch__icon mdc-switch__icon--off\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>,\n <label\n class={`${this.disabled || this.readonly ? 'disabled' : ''}`}\n htmlFor={this.fieldId}\n >\n {this.label}\n </label>,\n ];\n }\n\n @Watch('value')\n protected valueWatcher(newValue: boolean) {\n if (!this.mdcSwitch) {\n return;\n }\n\n this.mdcSwitch.selected = newValue;\n }\n\n private handleClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.change.emit(!this.value);\n };\n}\n"]}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/components/switch/switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACH,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACH,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,6BAA6B,CAAC;AAErC;;;;;;;;;;;GAWG;AAMH,MAAM,OAAO,MAAM;;IAkIP,gBAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;MACxC,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC;;oBAvHgB,KAAK;oBAQL,KAAK;iBAMR,KAAK;mBAYF,kBAAkB,EAAE;;EAI/B,iBAAiB;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEM,iBAAiB;IACpB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClC,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEO,UAAU;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9C,aAAa,CACK,CAAC;IACvB,IAAI,CAAC,OAAO,EAAE;MACV,OAAO;KACV;IAED,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;EAC5C,CAAC;EAEM,oBAAoB;;IACvB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAA,IAAI,CAAC,SAAS,0CAAE,OAAO,EAAE,CAAC;EAC9B,CAAC;EAEM,MAAM;IACT,OAAO;MACH,cACI,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAE;UACH,YAAY,EAAE,IAAI;UAClB,uBAAuB,EAAE,IAAI,CAAC,QAAQ;UACtC,wBAAwB,EAAE,CAAC,IAAI,CAAC,KAAK;UACrC,sBAAsB,EAAE,IAAI,CAAC,KAAK;SACrC,EACD,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,kBACC,IAAI,CAAC,KAAK,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EACxC,OAAO,EAAE,IAAI,CAAC,WAAW;QAEzB,WAAK,KAAK,EAAC,mBAAmB,GAAG;QACjC,WAAK,KAAK,EAAC,0BAA0B;UACjC,WAAK,KAAK,EAAC,oBAAoB;YAC3B,WAAK,KAAK,EAAC,oBAAoB;cAC3B,WAAK,KAAK,EAAC,uBAAuB,GAAO,CACvC;YACN,WAAK,KAAK,EAAC,oBAAoB,GAAO;YACtC,WAAK,KAAK,EAAC,mBAAmB;cAC1B,WACI,KAAK,EAAC,uCAAuC,EAC7C,OAAO,EAAC,WAAW;gBAEnB,YAAM,CAAC,EAAC,qEAAqE,GAAG,CAC9E;cACN,WACI,KAAK,EAAC,wCAAwC,EAC9C,OAAO,EAAC,WAAW;gBAEnB,YAAM,CAAC,EAAC,mBAAmB,GAAG,CAC5B,CACJ,CACJ,CACJ,CACD;MACT,aACI,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,EAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,IAEpB,IAAI,CAAC,KAAK,CACP;KACX,CAAC;EACN,CAAC;EAGS,YAAY,CAAC,QAAiB;IACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;MACjB,OAAO;KACV;IAED,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;EACvC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMJ","sourcesContent":["import { MDCSwitch } from '@material/switch';\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 {\n makeEnterClickable,\n removeEnterClickable,\n} from 'src/util/makeEnterClickable';\n\n/**\n * The Switch component is a fundamental element in UI design that serves as a toggle switch\n * to control the state of a specific setting or option in an application or website.\n * The two distinct positions of the Switch are visually indicative of the two states:\n * ON and OFF; making it easy for users to understand the current state of the controlled feature.\n *\n * The Switch component is widely used in user interfaces to enable users to\n * quickly and intuitively change binary settings.\n *\n * <limel-example-switch-vs-checkbox />\n * @exampleComponent limel-example-switch\n */\n@Component({\n tag: 'limel-switch',\n shadow: true,\n styleUrl: 'switch.scss',\n})\nexport class Switch {\n /**\n * Label to display next to the switch\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Disables the switch when `true`,\n * and visually shows that the switch is editable but disabled.\n * This tells the users that if certain requirements are met,\n * the switch may become interactable.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Disables the switch when `true`. This visualizes the switch slightly differently.\n * But shows no visual sign indicating that the switch is disabled\n * or can ever become interactable.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * The value of the switch\n */\n @Prop({ reflect: true })\n public value = false;\n\n /**\n * Emitted when the value has changed\n */\n @Event()\n private change: EventEmitter<boolean>;\n\n @Element()\n private host: HTMLLimelSwitchElement;\n\n @State()\n private fieldId = createRandomString();\n\n private mdcSwitch: MDCSwitch;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector(\n '.mdc-switch'\n ) as HTMLButtonElement;\n if (!element) {\n return;\n }\n\n this.mdcSwitch = new MDCSwitch(element);\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n this.mdcSwitch?.destroy();\n }\n\n public render() {\n return [\n <button\n id={this.fieldId}\n class={{\n 'mdc-switch': true,\n 'lime-switch--readonly': this.readonly,\n 'mdc-switch--unselected': !this.value,\n 'mdc-switch--selected': this.value,\n }}\n type=\"button\"\n role=\"switch\"\n aria-checked={this.value}\n disabled={this.disabled || this.readonly}\n onClick={this.handleClick}\n >\n <div class=\"mdc-switch__track\" />\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\"></div>\n <div class=\"mdc-switch__icons\">\n <svg\n class=\"mdc-switch__icon mdc-switch__icon--on\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg\n class=\"mdc-switch__icon mdc-switch__icon--off\"\n viewBox=\"0 0 24 24\"\n >\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>,\n <label\n class={`${this.disabled || this.readonly ? 'disabled' : ''}`}\n htmlFor={this.fieldId}\n >\n {this.label}\n </label>,\n ];\n }\n\n @Watch('value')\n protected valueWatcher(newValue: boolean) {\n if (!this.mdcSwitch) {\n return;\n }\n\n this.mdcSwitch.selected = newValue;\n }\n\n private handleClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.change.emit(!this.value);\n };\n}\n"]}
@@ -1,8 +1,7 @@
1
- const CACHE_NAME = '@limetech/lime-elements/icons';
2
- export class IconCache {
3
- constructor() {
1
+ export class CacheStorageIconCache {
2
+ constructor(cache) {
4
3
  this.promises = {};
5
- this.cache = caches.open(CACHE_NAME);
4
+ this.cache = cache;
6
5
  }
7
6
  /**
8
7
  * Get icon data from the cache
@@ -57,8 +56,4 @@ export class IconCache {
57
56
  return `${iconPath}assets/icons/${name}.svg`;
58
57
  }
59
58
  }
60
- const iconCache = new IconCache();
61
- export default (() => {
62
- return iconCache;
63
- })();
64
- //# sourceMappingURL=icon-cache.js.map
59
+ //# sourceMappingURL=cache-storage-icon-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-storage-icon-cache.js","sourceRoot":"","sources":["../../../src/global/icon-cache/cache-storage-icon-cache.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;EAQ9B,YAAY,KAAqB;IAFzB,aAAQ,GAAkC,EAAE,CAAC;IAGjD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACvB,CAAC;EAED;;;;;KAKG;EACI,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE;IAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEpC,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE;MACX,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC/C;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;EAClC,CAAC;EAEO,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,KAAY;IAC7C,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,cAAc,KAAK,SAAS,EAAE;MAC9B,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;MAChC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;KACvC;IAED,MAAM,cAAc,CAAC;IAErB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;EAC5B,CAAC;EAED;;KAEG;EACK,KAAK,CAAC,OAAO,CAAC,QAAkB;IACpC,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEpC,4FAA4F;IAC5F,8EAA8E;IAC9E,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEtD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;MACzB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAClC;IAED,OAAO,OAAO,CAAC;EACnB,CAAC;EAED;;KAEG;EACK,QAAQ,CAAC,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;EAClE,CAAC;EAEO,MAAM,CAAC,IAAY,EAAE,IAAY;IACrC,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC7B,QAAQ,GAAG,GAAG,IAAI,GAAG,CAAC;KACzB;IAED,OAAO,GAAG,QAAQ,gBAAgB,IAAI,MAAM,CAAC;EACjD,CAAC;CACJ","sourcesContent":["export class CacheStorageIconCache {\n /*\n * Cache of all loaded SVGs\n */\n private cache: Promise<Cache>;\n\n private promises: Record<string, Promise<void>> = {};\n\n constructor(cache: Promise<Cache>) {\n this.cache = cache;\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"]}
@@ -0,0 +1,16 @@
1
+ import { CacheStorageIconCache } from './cache-storage-icon-cache';
2
+ import { InMemoryIconCache } from './in-memory-icon-cache';
3
+ const CACHE_NAME = '@limetech/lime-elements/icons';
4
+ function createIconCache() {
5
+ try {
6
+ const cache = caches.open(CACHE_NAME);
7
+ return new CacheStorageIconCache(cache);
8
+ }
9
+ catch (_a) {
10
+ return new InMemoryIconCache();
11
+ }
12
+ }
13
+ export default (() => {
14
+ return createIconCache();
15
+ })();
16
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/global/icon-cache/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,GAAG,+BAA+B,CAAC;AAEnD,SAAS,eAAe;EACpB,IAAI;IACA,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEtC,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;GAC3C;EAAC,WAAM;IACJ,OAAO,IAAI,iBAAiB,EAAE,CAAC;GAClC;AACL,CAAC;AAED,eAAe,CAAC,GAAG,EAAE;EACjB,OAAO,eAAe,EAAE,CAAC;AAC7B,CAAC,CAAC,EAAE,CAAC","sourcesContent":["import { CacheStorageIconCache } from './cache-storage-icon-cache';\nimport { InMemoryIconCache } from './in-memory-icon-cache';\n\nconst CACHE_NAME = '@limetech/lime-elements/icons';\n\nfunction createIconCache() {\n try {\n const cache = caches.open(CACHE_NAME);\n\n return new CacheStorageIconCache(cache);\n } catch {\n return new InMemoryIconCache();\n }\n}\n\nexport default (() => {\n return createIconCache();\n})();\n"]}
@@ -0,0 +1,73 @@
1
+ export class InMemoryIconCache {
2
+ constructor() {
3
+ /*
4
+ * Cache of all loaded SVGs
5
+ */
6
+ this.cache = {};
7
+ /*
8
+ * Contains resolve functions for all unresolved promises that are waiting for SVG data.
9
+ */
10
+ this.resolveFunctions = {};
11
+ }
12
+ /**
13
+ * Get icon data from the cache
14
+ * @param {string} name name of the icon
15
+ * @param {string} path path on the server where the assets are located
16
+ * @returns {string} svg markup
17
+ */
18
+ async get(name, path = '') {
19
+ if (!this.cache[name]) {
20
+ this.cache[name] = await this.getIcon(name, path);
21
+ }
22
+ return this.cache[name];
23
+ }
24
+ /*
25
+ * Creates and returns a promise that will be resolved when SVG data is available
26
+ */
27
+ getIcon(name, path) {
28
+ return new Promise((resolve) => {
29
+ if (!this.resolveFunctions[name]) {
30
+ this.resolveFunctions[name] = [];
31
+ this.fetchData(name, path);
32
+ }
33
+ this.resolveFunctions[name].push(resolve);
34
+ });
35
+ }
36
+ /*
37
+ * Fetch SVG data from the server
38
+ */
39
+ async fetchData(name, path) {
40
+ let iconPath = path || '';
41
+ if (path && !path.endsWith('/')) {
42
+ iconPath = `${path}/`;
43
+ }
44
+ const response = await fetch(`${iconPath}assets/icons/${name}.svg`);
45
+ let svgData = await response.text();
46
+ // Some of the icons in the Icons8 library have hard coded black color on some of the paths.
47
+ // In order to apply coloring with CSS, these have to be set to 'currentColor'
48
+ svgData = svgData.replace(/#000000/g, 'currentColor');
49
+ if (!this.validSvg(svgData)) {
50
+ throw new Error('Invalid SVG');
51
+ }
52
+ this.resolvePromises(name, svgData);
53
+ }
54
+ /*
55
+ * Check if the given data is a valid SVG document
56
+ */
57
+ validSvg(data) {
58
+ const parser = new DOMParser();
59
+ const svgDoc = parser.parseFromString(data, 'image/svg+xml');
60
+ return svgDoc.documentElement.tagName.toLowerCase() === 'svg';
61
+ }
62
+ /*
63
+ * Resolve all promises waiting for data for a specific icon
64
+ */
65
+ resolvePromises(name, svgData) {
66
+ const resolves = this.resolveFunctions[name];
67
+ resolves.forEach((resolve) => {
68
+ resolve(svgData);
69
+ });
70
+ this.resolveFunctions[name] = null;
71
+ }
72
+ }
73
+ //# sourceMappingURL=in-memory-icon-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-icon-cache.js","sourceRoot":"","sources":["../../../src/global/icon-cache/in-memory-icon-cache.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;EAA9B;IACI;;OAEG;IACK,UAAK,GAAG,EAAE,CAAC;IAEnB;;OAEG;IACK,qBAAgB,GAAG,EAAE,CAAC;EAyElC,CAAC;EAvEG;;;;;KAKG;EACI,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE;IAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;MACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACrD;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;EAC5B,CAAC;EAED;;KAEG;EACK,OAAO,CAAC,IAAI,EAAE,IAAI;IACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;MAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;QAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OAC9B;MAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;EACP,CAAC;EAED;;KAEG;EACK,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI;IAC9B,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAC1B,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;MAC7B,QAAQ,GAAG,GAAG,IAAI,GAAG,CAAC;KACzB;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,gBAAgB,IAAI,MAAM,CAAC,CAAC;IAEpE,IAAI,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEpC,4FAA4F;IAC5F,8EAA8E;IAC9E,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;MACzB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;KAClC;IAED,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;EACxC,CAAC;EAED;;KAEG;EACK,QAAQ,CAAC,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAE7D,OAAO,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;EAClE,CAAC;EAED;;KAEG;EACK,eAAe,CAAC,IAAI,EAAE,OAAO;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;MACzB,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;EACvC,CAAC;CACJ","sourcesContent":["export class InMemoryIconCache {\n /*\n * Cache of all loaded SVGs\n */\n private cache = {};\n\n /*\n * Contains resolve functions for all unresolved promises that are waiting for SVG data.\n */\n private resolveFunctions = {};\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 {string} svg markup\n */\n public async get(name, path = '') {\n if (!this.cache[name]) {\n this.cache[name] = await this.getIcon(name, path);\n }\n\n return this.cache[name];\n }\n\n /*\n * Creates and returns a promise that will be resolved when SVG data is available\n */\n private getIcon(name, path) {\n return new Promise((resolve) => {\n if (!this.resolveFunctions[name]) {\n this.resolveFunctions[name] = [];\n this.fetchData(name, path);\n }\n\n this.resolveFunctions[name].push(resolve);\n });\n }\n\n /*\n * Fetch SVG data from the server\n */\n private async fetchData(name, path) {\n let iconPath = path || '';\n if (path && !path.endsWith('/')) {\n iconPath = `${path}/`;\n }\n\n const response = await fetch(`${iconPath}assets/icons/${name}.svg`);\n\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 if (!this.validSvg(svgData)) {\n throw new Error('Invalid SVG');\n }\n\n this.resolvePromises(name, 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 /*\n * Resolve all promises waiting for data for a specific icon\n */\n private resolvePromises(name, svgData) {\n const resolves = this.resolveFunctions[name];\n resolves.forEach((resolve) => {\n resolve(svgData);\n });\n this.resolveFunctions[name] = null;\n }\n}\n"]}
@@ -0,0 +1,61 @@
1
+ import { forceUpdate } from '@stencil/core';
2
+ const eventHandlers = new WeakMap();
3
+ /**
4
+ * Overrides the default browser behavior for clickable elements
5
+ * When focused and pressing down enter, avoids calling onClick repeatedly
6
+ * @param {HTMLElement} element the clickable element
7
+ */
8
+ // eslint-disable-next-line sonarjs/cognitive-complexity
9
+ export function makeEnterClickable(element) {
10
+ if (eventHandlers.has(element)) {
11
+ return;
12
+ }
13
+ let isActive = false;
14
+ let hasJustReleasedEnter = true;
15
+ const keydownHandler = (event) => {
16
+ if (event.key === 'Enter' && !isActive) {
17
+ isActive = true;
18
+ if (element === null || element === void 0 ? void 0 : element.shadowRoot) {
19
+ forceUpdate(element);
20
+ }
21
+ }
22
+ };
23
+ const keyupHandler = (event) => {
24
+ if (event.key === 'Enter' && isActive) {
25
+ isActive = false;
26
+ hasJustReleasedEnter = true;
27
+ if (element === null || element === void 0 ? void 0 : element.shadowRoot) {
28
+ forceUpdate(element);
29
+ }
30
+ }
31
+ };
32
+ const clickHandler = (event) => {
33
+ if (!isActive) {
34
+ return;
35
+ }
36
+ if (hasJustReleasedEnter) {
37
+ hasJustReleasedEnter = false;
38
+ return;
39
+ }
40
+ event.stopImmediatePropagation();
41
+ };
42
+ eventHandlers.set(element, {
43
+ keydownHandler: keydownHandler,
44
+ keyupHandler: keyupHandler,
45
+ clickHandler: clickHandler,
46
+ });
47
+ element.addEventListener('keydown', keydownHandler);
48
+ element.addEventListener('keyup', keyupHandler);
49
+ element.addEventListener('click', clickHandler, true);
50
+ }
51
+ export function removeEnterClickable(element) {
52
+ const callBacks = eventHandlers.get(element);
53
+ if (!callBacks || !eventHandlers.has(element)) {
54
+ return;
55
+ }
56
+ element.removeEventListener('keydown', callBacks.keydownHandler);
57
+ element.removeEventListener('keyup', callBacks.keyupHandler);
58
+ element.removeEventListener('click', callBacks.clickHandler, true);
59
+ eventHandlers.delete(element);
60
+ }
61
+ //# sourceMappingURL=makeEnterClickable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeEnterClickable.js","sourceRoot":"","sources":["../../src/util/makeEnterClickable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,aAAa,GAAoC,IAAI,OAAO,EAAE,CAAC;AAErE;;;;GAIG;AACH,wDAAwD;AACxD,MAAM,UAAU,kBAAkB,CAAC,OAAoB;EACnD,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;IAC5B,OAAO;GACV;EAED,IAAI,QAAQ,GAAG,KAAK,CAAC;EACrB,IAAI,oBAAoB,GAAG,IAAI,CAAC;EAEhC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC5C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,QAAQ,EAAE;MACpC,QAAQ,GAAG,IAAI,CAAC;MAEhB,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;QACrB,WAAW,CAAC,OAAO,CAAC,CAAC;OACxB;KACJ;EACL,CAAC,CAAC;EAEF,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC1C,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,QAAQ,EAAE;MACnC,QAAQ,GAAG,KAAK,CAAC;MACjB,oBAAoB,GAAG,IAAI,CAAC;MAE5B,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE;QACrB,WAAW,CAAC,OAAO,CAAC,CAAC;OACxB;KACJ;EACL,CAAC,CAAC;EAEF,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,EAAE;IACvC,IAAI,CAAC,QAAQ,EAAE;MACX,OAAO;KACV;IAED,IAAI,oBAAoB,EAAE;MACtB,oBAAoB,GAAG,KAAK,CAAC;MAE7B,OAAO;KACV;IAED,KAAK,CAAC,wBAAwB,EAAE,CAAC;EACrC,CAAC,CAAC;EAEF,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE;IACvB,cAAc,EAAE,cAAc;IAC9B,YAAY,EAAE,YAAY;IAC1B,YAAY,EAAE,YAAY;GAC7B,CAAC,CAAC;EAEH,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;EACpD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;EAChD,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoB;EACrD,MAAM,SAAS,GAAc,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;EAExD,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;IAC3C,OAAO;GACV;EAED,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;EACjE,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;EAC7D,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;EAEnE,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC","sourcesContent":["import { forceUpdate } from '@stencil/core';\n\nconst eventHandlers: WeakMap<HTMLElement, CallBacks> = new WeakMap();\n\n/**\n * Overrides the default browser behavior for clickable elements\n * When focused and pressing down enter, avoids calling onClick repeatedly\n * @param {HTMLElement} element the clickable element\n */\n// eslint-disable-next-line sonarjs/cognitive-complexity\nexport function makeEnterClickable(element: HTMLElement) {\n if (eventHandlers.has(element)) {\n return;\n }\n\n let isActive = false;\n let hasJustReleasedEnter = true;\n\n const keydownHandler = (event: KeyboardEvent) => {\n if (event.key === 'Enter' && !isActive) {\n isActive = true;\n\n if (element?.shadowRoot) {\n forceUpdate(element);\n }\n }\n };\n\n const keyupHandler = (event: KeyboardEvent) => {\n if (event.key === 'Enter' && isActive) {\n isActive = false;\n hasJustReleasedEnter = true;\n\n if (element?.shadowRoot) {\n forceUpdate(element);\n }\n }\n };\n\n const clickHandler = (event: MouseEvent) => {\n if (!isActive) {\n return;\n }\n\n if (hasJustReleasedEnter) {\n hasJustReleasedEnter = false;\n\n return;\n }\n\n event.stopImmediatePropagation();\n };\n\n eventHandlers.set(element, {\n keydownHandler: keydownHandler,\n keyupHandler: keyupHandler,\n clickHandler: clickHandler,\n });\n\n element.addEventListener('keydown', keydownHandler);\n element.addEventListener('keyup', keyupHandler);\n element.addEventListener('click', clickHandler, true);\n}\n\nexport function removeEnterClickable(element: HTMLElement) {\n const callBacks: CallBacks = eventHandlers.get(element);\n\n if (!callBacks || !eventHandlers.has(element)) {\n return;\n }\n\n element.removeEventListener('keydown', callBacks.keydownHandler);\n element.removeEventListener('keyup', callBacks.keyupHandler);\n element.removeEventListener('click', callBacks.clickHandler, true);\n\n eventHandlers.delete(element);\n}\n\ninterface CallBacks {\n keydownHandler: (arg: KeyboardEvent) => void;\n keyupHandler: (arg: KeyboardEvent) => void;\n clickHandler: (arg: MouseEvent) => void;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { h } from './index-9bd6d7c6.js';
1
+ import { h } from './index-232e9616.js';
2
2
 
3
3
  const CheckboxTemplate = (props) => {
4
4
  const inputProps = {};
@@ -15,7 +15,7 @@ const CheckboxTemplate = (props) => {
15
15
  'mdc-checkbox--indeterminate': props.indeterminate,
16
16
  'lime-checkbox--readonly': props.readonly,
17
17
  } },
18
- h("input", Object.assign({ type: "checkbox", class: "mdc-checkbox__native-control", id: props.id, checked: props.checked, disabled: props.disabled || props.readonly, required: props.required, onChange: props.onChange }, inputProps)),
18
+ h("input", Object.assign({ type: "checkbox", class: "mdc-checkbox__native-control", id: props.id, checked: props.checked, disabled: props.disabled || props.readonly, required: props.required, onChange: props.onChange, "aria-controls": props.helperTextId, "aria-describedby": props.helperTextId }, inputProps)),
19
19
  h("div", { class: "mdc-checkbox__background" },
20
20
  h("svg", { class: "mdc-checkbox__checkmark", viewBox: "0 0 24 24" },
21
21
  h("path", { class: "mdc-checkbox__checkmark-path", fill: "none", d: "M1.73,12.91 8.1,19.28 22.79,4.59" })),
@@ -27,16 +27,16 @@ const CheckboxTemplate = (props) => {
27
27
  'mdc-checkbox--indeterminate': props.indeterminate,
28
28
  'lime-checkbox--readonly': props.readonly,
29
29
  }, htmlFor: props.id }, props.label)),
30
- h(HelperText, { text: props.helperText }),
30
+ h(HelperText, { text: props.helperText, helperTextId: props.helperTextId }),
31
31
  ];
32
32
  };
33
33
  const HelperText = (props) => {
34
34
  if (typeof props.text !== 'string') {
35
35
  return;
36
36
  }
37
- return h("limel-helper-line", { helperText: props.text.trim() });
37
+ return (h("limel-helper-line", { helperText: props.text.trim(), helperTextId: props.helperTextId }));
38
38
  };
39
39
 
40
40
  export { CheckboxTemplate as C };
41
41
 
42
- //# sourceMappingURL=checkbox.template-c838ee7b.js.map
42
+ //# sourceMappingURL=checkbox.template-c2d0fa10.js.map
@@ -0,0 +1 @@
1
+ {"file":"checkbox.template-c2d0fa10.js","mappings":";;MAgBa,gBAAgB,GAA+C,CACxE,KAAK;EAEL,MAAM,UAAU,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,aAAa,EAAE;IACrB,UAAU,CAAC,oBAAoB,CAAC,GAAG,MAAM,CAAC;GAC7C;EAED,OAAO;IACH,WAAK,KAAK,EAAC,iBAAiB;MACxB,WACI,KAAK,EAAE;UACH,cAAc,EAAE,IAAI;UACpB,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C;QAED,2BACI,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,8BAA8B,EACpC,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,mBACT,KAAK,CAAC,YAAY,sBACf,KAAK,CAAC,YAAY,IAChC,UAAU,EAChB;QACF,WAAK,KAAK,EAAC,0BAA0B;UACjC,WAAK,KAAK,EAAC,yBAAyB,EAAC,OAAO,EAAC,WAAW;YACpD,YACI,KAAK,EAAC,8BAA8B,EACpC,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,kCAAkC,GACtC,CACA;UACN,WAAK,KAAK,EAAC,yBAAyB,GAAG,CACrC,CACJ;MACN,aACI,KAAK,EAAE;UACH,uBAAuB,EAAE,KAAK,CAAC,OAAO;UACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,wBAAwB,EAAE,KAAK,CAAC,QAAQ;UACxC,6BAA6B,EAAE,KAAK,CAAC,aAAa;UAClD,yBAAyB,EAAE,KAAK,CAAC,QAAQ;SAC5C,EACD,OAAO,EAAE,KAAK,CAAC,EAAE,IAEhB,KAAK,CAAC,KAAK,CACR,CACN;IACN,EAAC,UAAU,IACP,IAAI,EAAE,KAAK,CAAC,UAAU,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,GAClC;GACL,CAAC;AACN,EAAE;AAEF,MAAM,UAAU,GAGX,CAAC,KAAK;EACP,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;IAChC,OAAO;GACV;EAED,QACI,yBACI,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,GAClC,EACJ;AACN,CAAC;;;;","names":[],"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 helperTextId?: 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 aria-controls={props.helperTextId}\n aria-describedby={props.helperTextId}\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\n text={props.helperText}\n helperTextId={props.helperTextId}\n />,\n ];\n};\n\nconst HelperText: FunctionalComponent<{\n helperTextId: string;\n text: string;\n}> = (props) => {\n if (typeof props.text !== 'string') {\n return;\n }\n\n return (\n <limel-helper-line\n helperText={props.text.trim()}\n helperTextId={props.helperTextId}\n />\n );\n};\n"],"version":3}
@@ -1218,6 +1218,18 @@ const postUpdateComponent = (hostRef) => {
1218
1218
  // ( •_•)>⌐■-■
1219
1219
  // (⌐■_■)
1220
1220
  };
1221
+ const forceUpdate = (ref) => {
1222
+ {
1223
+ const hostRef = getHostRef(ref);
1224
+ const isConnected = hostRef.$hostElement$.isConnected;
1225
+ if (isConnected &&
1226
+ (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1227
+ scheduleUpdate(hostRef, false);
1228
+ }
1229
+ // Returns "true" when the forced update was successfully scheduled
1230
+ return isConnected;
1231
+ }
1232
+ };
1221
1233
  const appDidLoad = (who) => {
1222
1234
  // on appload
1223
1235
  // we have finish the first big initial render
@@ -1800,6 +1812,6 @@ const flush = () => {
1800
1812
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1801
1813
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1802
1814
 
1803
- export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1815
+ export { Host as H, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1804
1816
 
1805
- //# sourceMappingURL=index-9bd6d7c6.js.map
1817
+ //# sourceMappingURL=index-232e9616.js.map