@public-ui/components 4.2.0 → 4.3.0-rc.0

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 (1563) hide show
  1. package/assets/kolicons/kolicons.eot +0 -0
  2. package/assets/kolicons/kolicons.ttf +0 -0
  3. package/assets/kolicons/kolicons.woff +0 -0
  4. package/assets/kolicons/kolicons.woff2 +0 -0
  5. package/assets/kolicons/style.css +6 -6
  6. package/custom-elements.json +30 -30
  7. package/dist/cjs/Alert-CVPzTxE7.js +93 -0
  8. package/dist/cjs/Alert-CVPzTxE7.js.map +1 -0
  9. package/dist/cjs/Collapsible-DgZrS8sE.js +27 -0
  10. package/dist/cjs/Collapsible-DgZrS8sE.js.map +1 -0
  11. package/dist/cjs/CustomSuggestionsOptionsGroup-Cu-DKRH_.js +31 -0
  12. package/dist/cjs/CustomSuggestionsOptionsGroup-Cu-DKRH_.js.map +1 -0
  13. package/dist/cjs/FieldControlStateWrapper-CElQn7sN.js +123 -0
  14. package/dist/cjs/FieldControlStateWrapper-CElQn7sN.js.map +1 -0
  15. package/dist/cjs/FormFieldStateWrapper-C93KLp60.js +848 -0
  16. package/dist/cjs/FormFieldStateWrapper-C93KLp60.js.map +1 -0
  17. package/dist/cjs/Heading-Cswcjs5-.js +41 -0
  18. package/dist/cjs/Heading-Cswcjs5-.js.map +1 -0
  19. package/dist/cjs/Input-BmS5OT6F.js +29 -0
  20. package/dist/cjs/Input-BmS5OT6F.js.map +1 -0
  21. package/dist/cjs/InputStateWrapper-79jr7rz8.js +86 -0
  22. package/dist/cjs/InputStateWrapper-79jr7rz8.js.map +1 -0
  23. package/dist/cjs/access-and-short-key-B_Jn8UfN.js +41 -0
  24. package/dist/cjs/access-and-short-key-B_Jn8UfN.js.map +1 -0
  25. package/dist/cjs/align-e4FQ7dUp.js +26 -0
  26. package/dist/cjs/align-e4FQ7dUp.js.map +1 -0
  27. package/dist/cjs/align-floating-elements-DfUaAAqe.js +1672 -0
  28. package/dist/cjs/align-floating-elements-DfUaAAqe.js.map +1 -0
  29. package/dist/cjs/app-globals-x09whKfp.js +36 -0
  30. package/dist/cjs/app-globals-x09whKfp.js.map +1 -0
  31. package/dist/cjs/aria-expanded-DVEjetkn.js +31 -0
  32. package/dist/cjs/aria-expanded-DVEjetkn.js.map +1 -0
  33. package/dist/cjs/aria-labelledby-BhnM3OnL.js +60 -0
  34. package/dist/cjs/aria-labelledby-BhnM3OnL.js.map +1 -0
  35. package/dist/cjs/associated.controller-CUvZCmFF.js +190 -0
  36. package/dist/cjs/associated.controller-CUvZCmFF.js.map +1 -0
  37. package/dist/cjs/auto-complete-ByyIPPbm.js +18 -0
  38. package/dist/cjs/auto-complete-ByyIPPbm.js.map +1 -0
  39. package/dist/cjs/bem-registry-D9uDM1GJ.js +163 -0
  40. package/dist/cjs/bem-registry-D9uDM1GJ.js.map +1 -0
  41. package/dist/cjs/bootstrap-De2npoa_.js +36 -0
  42. package/dist/cjs/bootstrap-De2npoa_.js.map +1 -0
  43. package/dist/cjs/color-1N4YnPDO.js +101 -0
  44. package/dist/cjs/color-1N4YnPDO.js.map +1 -0
  45. package/dist/cjs/common-DAAt5YQ7.js +1769 -0
  46. package/dist/cjs/common-DAAt5YQ7.js.map +1 -0
  47. package/dist/cjs/component-4yrnT9ww.js +9153 -0
  48. package/dist/cjs/component-4yrnT9ww.js.map +1 -0
  49. package/dist/cjs/component-C1vBQDN-.js +23 -0
  50. package/dist/cjs/component-C1vBQDN-.js.map +1 -0
  51. package/dist/cjs/component-CYZTV5r0.js +16 -0
  52. package/dist/cjs/component-CYZTV5r0.js.map +1 -0
  53. package/dist/cjs/component-EJOcQRXl.js +17 -0
  54. package/dist/cjs/component-EJOcQRXl.js.map +1 -0
  55. package/dist/cjs/contrast-CWF2pSYV.js +100 -0
  56. package/dist/cjs/contrast-CWF2pSYV.js.map +1 -0
  57. package/dist/cjs/controller-3DispTOw.js +93 -0
  58. package/dist/cjs/controller-3DispTOw.js.map +1 -0
  59. package/dist/cjs/controller-CShnVKSd.js +55 -0
  60. package/dist/cjs/controller-CShnVKSd.js.map +1 -0
  61. package/dist/cjs/controller-DHsc-8t1.js +241 -0
  62. package/dist/cjs/controller-DHsc-8t1.js.map +1 -0
  63. package/dist/cjs/controller-DNlov9_q.js +99 -0
  64. package/dist/cjs/controller-DNlov9_q.js.map +1 -0
  65. package/dist/cjs/controller-P5D-ZKaP.js +126 -0
  66. package/dist/cjs/controller-P5D-ZKaP.js.map +1 -0
  67. package/dist/cjs/controller-icon-BfIYzDZs.js +169 -0
  68. package/dist/cjs/controller-icon-BfIYzDZs.js.map +1 -0
  69. package/dist/cjs/custom-class-C8GDf7By.js +17 -0
  70. package/dist/cjs/custom-class-C8GDf7By.js.map +1 -0
  71. package/dist/cjs/dev.utils-Cdn-EtYb.js +86 -0
  72. package/dist/cjs/dev.utils-Cdn-EtYb.js.map +1 -0
  73. package/dist/cjs/devtools-BQj_-O6G.js +103 -0
  74. package/dist/cjs/devtools-BQj_-O6G.js.map +1 -0
  75. package/dist/cjs/disabled-D8jGjcwY.js +23 -0
  76. package/dist/cjs/disabled-D8jGjcwY.js.map +1 -0
  77. package/dist/cjs/element-focus-B4BhAkh_.js +164 -0
  78. package/dist/cjs/element-focus-B4BhAkh_.js.map +1 -0
  79. package/dist/cjs/element-interaction-CmOQWzhR.js +70 -0
  80. package/dist/cjs/element-interaction-CmOQWzhR.js.map +1 -0
  81. package/dist/cjs/events-DN9qldnr.js +45 -0
  82. package/dist/cjs/events-DN9qldnr.js.map +1 -0
  83. package/dist/cjs/has-closer-CuErOOct.js +15 -0
  84. package/dist/cjs/has-closer-CuErOOct.js.map +1 -0
  85. package/dist/cjs/hide-label-CO4GBDgf.js +15 -0
  86. package/dist/cjs/hide-label-CO4GBDgf.js.map +1 -0
  87. package/dist/cjs/href-DoBpb9Pl.js +15 -0
  88. package/dist/cjs/href-DoBpb9Pl.js.map +1 -0
  89. package/dist/cjs/i18n-DL7vJXNn.js +19 -0
  90. package/dist/cjs/i18n-DL7vJXNn.js.map +1 -0
  91. package/dist/cjs/icons-D80xUBDS.js +86 -0
  92. package/dist/cjs/icons-D80xUBDS.js.map +1 -0
  93. package/dist/cjs/index-DBbl8tEq.js +2908 -0
  94. package/dist/cjs/index-DBbl8tEq.js.map +1 -0
  95. package/dist/cjs/index.cjs.js +4 -4
  96. package/dist/cjs/inline-1X3ssV6v.js +15 -0
  97. package/dist/cjs/inline-1X3ssV6v.js.map +1 -0
  98. package/dist/cjs/kol-abbr.cjs.entry.js +14 -14
  99. package/dist/cjs/kol-accordion.cjs.entry.js +17 -17
  100. package/dist/cjs/kol-accordion.entry.cjs.js.map +1 -1
  101. package/dist/cjs/kol-alert-wc.cjs.entry.js +13 -13
  102. package/dist/cjs/kol-alert.cjs.entry.js +3 -3
  103. package/dist/cjs/kol-avatar.cjs.entry.js +9 -9
  104. package/dist/cjs/kol-badge.cjs.entry.js +15 -15
  105. package/dist/cjs/kol-badge.entry.cjs.js.map +1 -1
  106. package/dist/cjs/kol-breadcrumb.cjs.entry.js +8 -8
  107. package/dist/cjs/kol-button-link.cjs.entry.js +7 -7
  108. package/dist/cjs/kol-button-link.entry.cjs.js.map +1 -1
  109. package/dist/cjs/kol-button-wc.cjs.entry.js +31 -31
  110. package/dist/cjs/kol-button-wc.entry.cjs.js.map +1 -1
  111. package/dist/cjs/kol-button.cjs.entry.js +7 -7
  112. package/dist/cjs/kol-button.entry.cjs.js.map +1 -1
  113. package/dist/cjs/kol-card-wc.cjs.entry.js +16 -16
  114. package/dist/cjs/kol-card.cjs.entry.js +3 -3
  115. package/dist/cjs/kol-click-button.cjs.entry.js +40 -13
  116. package/dist/cjs/kol-click-button.entry.cjs.js.map +1 -1
  117. package/dist/cjs/kol-combobox.cjs.entry.js +48 -42
  118. package/dist/cjs/kol-combobox.entry.cjs.js.map +1 -1
  119. package/dist/cjs/kol-details.cjs.entry.js +17 -17
  120. package/dist/cjs/kol-details.entry.cjs.js.map +1 -1
  121. package/dist/cjs/kol-dialog-wc.cjs.entry.js +8 -8
  122. package/dist/cjs/kol-dialog.cjs.entry.js +3 -3
  123. package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
  124. package/dist/cjs/kol-form.cjs.entry.js +9 -9
  125. package/dist/cjs/kol-heading.cjs.entry.js +5 -5
  126. package/dist/cjs/kol-icon.cjs.entry.js +8 -8
  127. package/dist/cjs/kol-image.cjs.entry.js +24 -8
  128. package/dist/cjs/kol-image.entry.cjs.js.map +1 -1
  129. package/dist/cjs/kol-input-checkbox.cjs.entry.js +37 -37
  130. package/dist/cjs/kol-input-checkbox.entry.cjs.js.map +1 -1
  131. package/dist/cjs/kol-input-color.cjs.entry.js +37 -37
  132. package/dist/cjs/kol-input-color.entry.cjs.js.map +1 -1
  133. package/dist/cjs/kol-input-date.cjs.entry.js +40 -40
  134. package/dist/cjs/kol-input-date.entry.cjs.js.map +1 -1
  135. package/dist/cjs/kol-input-email.cjs.entry.js +46 -46
  136. package/dist/cjs/kol-input-email.entry.cjs.js.map +1 -1
  137. package/dist/cjs/kol-input-file.cjs.entry.js +37 -37
  138. package/dist/cjs/kol-input-file.entry.cjs.js.map +1 -1
  139. package/dist/cjs/kol-input-number.cjs.entry.js +41 -41
  140. package/dist/cjs/kol-input-number.entry.cjs.js.map +1 -1
  141. package/dist/cjs/kol-input-password.cjs.entry.js +42 -42
  142. package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
  143. package/dist/cjs/kol-input-radio.cjs.entry.js +38 -37
  144. package/dist/cjs/kol-input-radio.entry.cjs.js.map +1 -1
  145. package/dist/cjs/kol-input-range.cjs.entry.js +38 -38
  146. package/dist/cjs/kol-input-range.entry.cjs.js.map +1 -1
  147. package/dist/cjs/kol-input-text.cjs.entry.js +45 -45
  148. package/dist/cjs/kol-input-text.entry.cjs.js.map +1 -1
  149. package/dist/cjs/kol-kolibri.cjs.entry.js +5 -5
  150. package/dist/cjs/kol-link-button.cjs.entry.js +7 -7
  151. package/dist/cjs/kol-link-button.entry.cjs.js.map +1 -1
  152. package/dist/cjs/kol-link-wc.cjs.entry.js +30 -30
  153. package/dist/cjs/kol-link-wc.entry.cjs.js.map +1 -1
  154. package/dist/cjs/kol-link.cjs.entry.js +7 -7
  155. package/dist/cjs/kol-link.entry.cjs.js.map +1 -1
  156. package/dist/cjs/kol-meter.cjs.entry.js +10 -35
  157. package/dist/cjs/kol-meter.entry.cjs.js.map +1 -1
  158. package/dist/cjs/kol-modal.cjs.entry.js +3 -3
  159. package/dist/cjs/kol-nav.cjs.entry.js +9 -9
  160. package/dist/cjs/kol-pagination-wc.cjs.entry.js +10 -10
  161. package/dist/cjs/kol-pagination.cjs.entry.js +3 -3
  162. package/dist/cjs/kol-pagination.entry.cjs.js.map +1 -1
  163. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +11 -11
  164. package/dist/cjs/kol-popover-button-wc.entry.cjs.js.map +1 -1
  165. package/dist/cjs/kol-popover-button.cjs.entry.js +7 -7
  166. package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
  167. package/dist/cjs/kol-progress.cjs.entry.js +7 -7
  168. package/dist/cjs/kol-quote.cjs.entry.js +6 -6
  169. package/dist/cjs/kol-select-wc.cjs.entry.js +39 -39
  170. package/dist/cjs/kol-select-wc.entry.cjs.js.map +1 -1
  171. package/dist/cjs/kol-select.cjs.entry.js +7 -7
  172. package/dist/cjs/kol-select.entry.cjs.js.map +1 -1
  173. package/dist/cjs/kol-single-select.cjs.entry.js +42 -42
  174. package/dist/cjs/kol-single-select.entry.cjs.js.map +1 -1
  175. package/dist/cjs/kol-skeleton.cjs.entry.js +23 -19
  176. package/dist/cjs/kol-skeleton.entry.cjs.js.map +1 -1
  177. package/dist/cjs/kol-skip-nav.cjs.entry.js +10 -10
  178. package/dist/cjs/kol-skip-nav.entry.cjs.js.map +1 -1
  179. package/dist/cjs/kol-spin.cjs.entry.js +6 -6
  180. package/dist/cjs/kol-split-button.cjs.entry.js +9 -9
  181. package/dist/cjs/kol-split-button.entry.cjs.js.map +1 -1
  182. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +4 -4
  183. package/dist/cjs/kol-table-stateful.cjs.entry.js +71 -14
  184. package/dist/cjs/kol-table-stateful.entry.cjs.js.map +1 -1
  185. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +45 -58
  186. package/dist/cjs/kol-table-stateless-wc.entry.cjs.js.map +1 -1
  187. package/dist/cjs/kol-table-stateless.cjs.entry.js +4 -4
  188. package/dist/cjs/kol-table-stateless.entry.cjs.js.map +1 -1
  189. package/dist/cjs/kol-tabs.cjs.entry.js +12 -12
  190. package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
  191. package/dist/cjs/kol-textarea.cjs.entry.js +39 -39
  192. package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
  193. package/dist/cjs/kol-toast-container.cjs.entry.js +28 -19
  194. package/dist/cjs/kol-toast-container.entry.cjs.js.map +1 -1
  195. package/dist/cjs/kol-toolbar.cjs.entry.js +9 -9
  196. package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
  197. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +12 -12
  198. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +13 -13
  199. package/dist/cjs/kol-tree-item-wc.entry.cjs.js.map +1 -1
  200. package/dist/cjs/kol-tree-item.cjs.entry.js +6 -6
  201. package/dist/cjs/kol-tree-item.entry.cjs.js.map +1 -1
  202. package/dist/cjs/kol-tree-wc.cjs.entry.js +6 -6
  203. package/dist/cjs/kol-tree-wc.entry.cjs.js.map +1 -1
  204. package/dist/cjs/kol-tree.cjs.entry.js +6 -6
  205. package/dist/cjs/kol-tree.entry.cjs.js.map +1 -1
  206. package/dist/cjs/kol-version.cjs.entry.js +4 -4
  207. package/dist/cjs/kolibri.cjs.js +4 -4
  208. package/dist/cjs/label-CrUhy8f0.js +13 -0
  209. package/dist/cjs/label-CrUhy8f0.js.map +1 -0
  210. package/dist/cjs/label-VzToxIES.js +50 -0
  211. package/dist/cjs/label-VzToxIES.js.map +1 -0
  212. package/dist/cjs/level-VjfppjxT.js +15 -0
  213. package/dist/cjs/level-VjfppjxT.js.map +1 -0
  214. package/dist/cjs/loader.cjs.js +4 -4
  215. package/dist/cjs/max-length-behavior-BjqOHcK6.js +26 -0
  216. package/dist/cjs/max-length-behavior-BjqOHcK6.js.map +1 -0
  217. package/dist/cjs/multiple-_6n58n0B.js +15 -0
  218. package/dist/cjs/multiple-_6n58n0B.js.map +1 -0
  219. package/dist/cjs/normalizers-R90MJyQR.js +648 -0
  220. package/dist/cjs/normalizers-R90MJyQR.js.map +1 -0
  221. package/dist/cjs/open-CLOzqgir.js +15 -0
  222. package/dist/cjs/open-CLOzqgir.js.map +1 -0
  223. package/dist/cjs/orientation-BUQ3VvMw.js +18 -0
  224. package/dist/cjs/orientation-BUQ3VvMw.js.map +1 -0
  225. package/dist/cjs/placeholder-B7I3KNtq.js +15 -0
  226. package/dist/cjs/placeholder-B7I3KNtq.js.map +1 -0
  227. package/dist/cjs/read-only-BFoDOTZu.js +15 -0
  228. package/dist/cjs/read-only-BFoDOTZu.js.map +1 -0
  229. package/dist/cjs/required-QyEHP_gi.js +15 -0
  230. package/dist/cjs/required-QyEHP_gi.js.map +1 -0
  231. package/dist/cjs/rows-BT28uo_I.js +15 -0
  232. package/dist/cjs/rows-BT28uo_I.js.map +1 -0
  233. package/dist/cjs/spell-check-CnmPp0It.js +17 -0
  234. package/dist/cjs/spell-check-CnmPp0It.js.map +1 -0
  235. package/dist/cjs/src-oMcBX9Z5.js +13 -0
  236. package/dist/cjs/src-oMcBX9Z5.js.map +1 -0
  237. package/dist/cjs/suggestions-hTUeCecL.js +23 -0
  238. package/dist/cjs/suggestions-hTUeCecL.js.map +1 -0
  239. package/dist/cjs/table-selection-BzjiHUz6.js +93 -0
  240. package/dist/cjs/table-selection-BzjiHUz6.js.map +1 -0
  241. package/dist/cjs/test-component.cjs.entry.js +2 -2
  242. package/dist/cjs/tooltip-align-C2v_joNk.js +16 -0
  243. package/dist/cjs/tooltip-align-C2v_joNk.js.map +1 -0
  244. package/dist/cjs/unique-nav-labels-ZxWa1D5d.js +25 -0
  245. package/dist/cjs/unique-nav-labels-ZxWa1D5d.js.map +1 -0
  246. package/dist/cjs/validation-D2EuAues.js +16 -0
  247. package/dist/cjs/validation-D2EuAues.js.map +1 -0
  248. package/dist/cjs/validation-DwarFcC9.js +19 -0
  249. package/dist/cjs/validation-DwarFcC9.js.map +1 -0
  250. package/dist/cjs/value-number-clamped-B6AfADe2.js +28 -0
  251. package/dist/cjs/value-number-clamped-B6AfADe2.js.map +1 -0
  252. package/dist/cjs/variant-class-name-DsZdGPeK.js +18 -0
  253. package/dist/cjs/variant-class-name-DsZdGPeK.js.map +1 -0
  254. package/dist/cjs/variant-quote-DUWZtljE.js +41 -0
  255. package/dist/cjs/variant-quote-DUWZtljE.js.map +1 -0
  256. package/dist/collection/components/_skeleton/web-components/click-button/component.js +19 -6
  257. package/dist/collection/components/_skeleton/web-components/click-button/component.js.map +1 -1
  258. package/dist/collection/components/_skeleton/web-components/skeleton/component.js +22 -6
  259. package/dist/collection/components/_skeleton/web-components/skeleton/component.js.map +1 -1
  260. package/dist/collection/components/abbr/style.css +2 -2
  261. package/dist/collection/components/accordion/shadow.js +13 -4
  262. package/dist/collection/components/accordion/shadow.js.map +1 -1
  263. package/dist/collection/components/accordion/style.css +2 -2
  264. package/dist/collection/components/alert/style.css +2 -2
  265. package/dist/collection/components/badge/shadow.js +14 -5
  266. package/dist/collection/components/badge/shadow.js.map +1 -1
  267. package/dist/collection/components/badge/style.css +2 -2
  268. package/dist/collection/components/breadcrumb/style.css +2 -2
  269. package/dist/collection/components/button/component.js +14 -5
  270. package/dist/collection/components/button/component.js.map +1 -1
  271. package/dist/collection/components/button/shadow.js +13 -4
  272. package/dist/collection/components/button/shadow.js.map +1 -1
  273. package/dist/collection/components/button/style.css +2 -2
  274. package/dist/collection/components/button-link/shadow.js +13 -4
  275. package/dist/collection/components/button-link/shadow.js.map +1 -1
  276. package/dist/collection/components/button-link/style.css +2 -2
  277. package/dist/collection/components/card/style.css +2 -2
  278. package/dist/collection/components/combobox/shadow.js +22 -7
  279. package/dist/collection/components/combobox/shadow.js.map +1 -1
  280. package/dist/collection/components/combobox/style.css +4 -2
  281. package/dist/collection/components/details/shadow.js +13 -4
  282. package/dist/collection/components/details/shadow.js.map +1 -1
  283. package/dist/collection/components/details/style.css +2 -2
  284. package/dist/collection/components/dialog/style.css +2 -2
  285. package/dist/collection/components/drawer/style.css +2 -2
  286. package/dist/collection/components/form/style.css +2 -2
  287. package/dist/collection/components/icon/style.css +2 -2
  288. package/dist/collection/components/image/component.js +40 -1
  289. package/dist/collection/components/image/component.js.map +1 -1
  290. package/dist/collection/components/input-adapter-leanup/associated.controller.js +6 -3
  291. package/dist/collection/components/input-adapter-leanup/associated.controller.js.map +1 -1
  292. package/dist/collection/components/input-checkbox/shadow.js +13 -4
  293. package/dist/collection/components/input-checkbox/shadow.js.map +1 -1
  294. package/dist/collection/components/input-checkbox/style.css +2 -2
  295. package/dist/collection/components/input-color/shadow.js +13 -4
  296. package/dist/collection/components/input-color/shadow.js.map +1 -1
  297. package/dist/collection/components/input-color/style.css +4 -2
  298. package/dist/collection/components/input-date/shadow.js +13 -4
  299. package/dist/collection/components/input-date/shadow.js.map +1 -1
  300. package/dist/collection/components/input-date/style.css +4 -2
  301. package/dist/collection/components/input-email/shadow.js +13 -4
  302. package/dist/collection/components/input-email/shadow.js.map +1 -1
  303. package/dist/collection/components/input-email/style.css +4 -2
  304. package/dist/collection/components/input-file/shadow.js +13 -4
  305. package/dist/collection/components/input-file/shadow.js.map +1 -1
  306. package/dist/collection/components/input-file/style.css +4 -2
  307. package/dist/collection/components/input-number/shadow.js +13 -4
  308. package/dist/collection/components/input-number/shadow.js.map +1 -1
  309. package/dist/collection/components/input-number/style.css +4 -2
  310. package/dist/collection/components/input-password/shadow.js +13 -4
  311. package/dist/collection/components/input-password/shadow.js.map +1 -1
  312. package/dist/collection/components/input-password/style.css +4 -2
  313. package/dist/collection/components/input-radio/shadow.js +15 -5
  314. package/dist/collection/components/input-radio/shadow.js.map +1 -1
  315. package/dist/collection/components/input-radio/style.css +4 -2
  316. package/dist/collection/components/input-range/shadow.js +13 -4
  317. package/dist/collection/components/input-range/shadow.js.map +1 -1
  318. package/dist/collection/components/input-range/style.css +4 -2
  319. package/dist/collection/components/input-text/shadow.js +13 -4
  320. package/dist/collection/components/input-text/shadow.js.map +1 -1
  321. package/dist/collection/components/input-text/style.css +4 -2
  322. package/dist/collection/components/link/component.js +14 -5
  323. package/dist/collection/components/link/component.js.map +1 -1
  324. package/dist/collection/components/link/shadow.js +13 -4
  325. package/dist/collection/components/link/shadow.js.map +1 -1
  326. package/dist/collection/components/link/style.css +2 -2
  327. package/dist/collection/components/link-button/shadow.js +13 -4
  328. package/dist/collection/components/link-button/shadow.js.map +1 -1
  329. package/dist/collection/components/link-button/style.css +2 -2
  330. package/dist/collection/components/meter/component.js +1 -10
  331. package/dist/collection/components/meter/component.js.map +1 -1
  332. package/dist/collection/components/modal/style.css +2 -2
  333. package/dist/collection/components/nav/style.css +2 -2
  334. package/dist/collection/components/pagination/style.css +4 -2
  335. package/dist/collection/components/popover-button/component.js +14 -5
  336. package/dist/collection/components/popover-button/component.js.map +1 -1
  337. package/dist/collection/components/popover-button/shadow.js +13 -4
  338. package/dist/collection/components/popover-button/shadow.js.map +1 -1
  339. package/dist/collection/components/popover-button/style.css +2 -2
  340. package/dist/collection/components/select/component.js +14 -5
  341. package/dist/collection/components/select/component.js.map +1 -1
  342. package/dist/collection/components/select/shadow.js +13 -4
  343. package/dist/collection/components/select/shadow.js.map +1 -1
  344. package/dist/collection/components/select/style.css +4 -2
  345. package/dist/collection/components/single-select/shadow.js +15 -6
  346. package/dist/collection/components/single-select/shadow.js.map +1 -1
  347. package/dist/collection/components/single-select/style.css +4 -2
  348. package/dist/collection/components/skip-nav/shadow.js +13 -4
  349. package/dist/collection/components/skip-nav/shadow.js.map +1 -1
  350. package/dist/collection/components/skip-nav/style.css +2 -2
  351. package/dist/collection/components/split-button/shadow.js +14 -5
  352. package/dist/collection/components/split-button/shadow.js.map +1 -1
  353. package/dist/collection/components/split-button/style.css +2 -2
  354. package/dist/collection/components/table-stateful/shadow.js +64 -6
  355. package/dist/collection/components/table-stateful/shadow.js.map +1 -1
  356. package/dist/collection/components/table-stateful/style.css +8 -2
  357. package/dist/collection/components/table-stateless/component.js +33 -46
  358. package/dist/collection/components/table-stateless/component.js.map +1 -1
  359. package/dist/collection/components/table-stateless/style.css +6 -2
  360. package/dist/collection/components/tabs/shadow.js +14 -5
  361. package/dist/collection/components/tabs/shadow.js.map +1 -1
  362. package/dist/collection/components/tabs/style.css +11 -2
  363. package/dist/collection/components/textarea/shadow.js +13 -4
  364. package/dist/collection/components/textarea/shadow.js.map +1 -1
  365. package/dist/collection/components/textarea/style.css +4 -2
  366. package/dist/collection/components/toaster/shadow.js +17 -7
  367. package/dist/collection/components/toaster/shadow.js.map +1 -1
  368. package/dist/collection/components/toaster/style.css +2 -2
  369. package/dist/collection/components/toolbar/shadow.js +14 -5
  370. package/dist/collection/components/toolbar/shadow.js.map +1 -1
  371. package/dist/collection/components/toolbar/style.css +2 -2
  372. package/dist/collection/components/tree/component.js +14 -5
  373. package/dist/collection/components/tree/component.js.map +1 -1
  374. package/dist/collection/components/tree/shadow.js +13 -4
  375. package/dist/collection/components/tree/shadow.js.map +1 -1
  376. package/dist/collection/components/tree-item/component.js +16 -7
  377. package/dist/collection/components/tree-item/component.js.map +1 -1
  378. package/dist/collection/components/tree-item/shadow.js +14 -5
  379. package/dist/collection/components/tree-item/shadow.js.map +1 -1
  380. package/dist/collection/components/tree-item/style.css +2 -2
  381. package/dist/collection/functional-components/ToastItem/ToastItem.js.map +1 -1
  382. package/dist/collection/internal/functional-components/click-button/controller.js +1 -8
  383. package/dist/collection/internal/functional-components/click-button/controller.js.map +1 -1
  384. package/dist/collection/internal/functional-components/generic-types.js.map +1 -1
  385. package/dist/collection/internal/functional-components/image/component.js +2 -2
  386. package/dist/collection/internal/functional-components/image/component.js.map +1 -1
  387. package/dist/collection/internal/functional-components/meter/api.js.map +1 -1
  388. package/dist/collection/internal/functional-components/meter/component.js +2 -7
  389. package/dist/collection/internal/functional-components/meter/component.js.map +1 -1
  390. package/dist/collection/internal/functional-components/meter/controller.js +0 -16
  391. package/dist/collection/internal/functional-components/meter/controller.js.map +1 -1
  392. package/dist/collection/internal/functional-components/skeleton/api.js.map +1 -1
  393. package/dist/collection/internal/functional-components/skeleton/controller.js +6 -9
  394. package/dist/collection/internal/functional-components/skeleton/controller.js.map +1 -1
  395. package/dist/collection/schema/components/image.js.map +1 -1
  396. package/dist/collection/schema/components/input-password.js.map +1 -1
  397. package/dist/collection/schema/components/toaster.js.map +1 -1
  398. package/dist/collection/schema/interfaces/FocusableElement.js.map +1 -1
  399. package/dist/collection/schema/utils/prop.validators.js +21 -32
  400. package/dist/collection/schema/utils/prop.validators.js.map +1 -1
  401. package/dist/collection/utils/element-focus.js +65 -2
  402. package/dist/collection/utils/element-focus.js.map +1 -1
  403. package/dist/collection/utils/element-interaction.js +29 -7
  404. package/dist/collection/utils/element-interaction.js.map +1 -1
  405. package/dist/collection/utils/events.js +2 -0
  406. package/dist/collection/utils/events.js.map +1 -1
  407. package/dist/components/FieldControlStateWrapper.js +1 -1
  408. package/dist/components/Input.js +1 -1
  409. package/dist/components/InputStateWrapper.js +1 -1
  410. package/dist/components/associated.controller.js +6 -3
  411. package/dist/components/associated.controller.js.map +1 -1
  412. package/dist/components/component4.js +15 -0
  413. package/dist/components/component4.js.map +1 -0
  414. package/dist/components/controller-icon.js +1 -1
  415. package/dist/components/controller3.js +825 -34
  416. package/dist/components/controller3.js.map +1 -1
  417. package/dist/components/controller4.js +77 -796
  418. package/dist/components/controller4.js.map +1 -1
  419. package/dist/components/controller5.js +22 -90
  420. package/dist/components/controller5.js.map +1 -1
  421. package/dist/components/controller6.js +67 -28
  422. package/dist/components/controller6.js.map +1 -1
  423. package/dist/components/element-focus.js +67 -3
  424. package/dist/components/element-focus.js.map +1 -1
  425. package/dist/components/element-interaction.js +23 -8
  426. package/dist/components/element-interaction.js.map +1 -1
  427. package/dist/components/events.js +2 -0
  428. package/dist/components/events.js.map +1 -1
  429. package/dist/components/kol-abbr.js +1 -1
  430. package/dist/components/kol-accordion.js +3 -3
  431. package/dist/components/kol-accordion.js.map +1 -1
  432. package/dist/components/kol-alert.js +1 -1
  433. package/dist/components/kol-badge.js +4 -4
  434. package/dist/components/kol-badge.js.map +1 -1
  435. package/dist/components/kol-breadcrumb.js +1 -1
  436. package/dist/components/kol-button-link.js +3 -3
  437. package/dist/components/kol-button-link.js.map +1 -1
  438. package/dist/components/kol-button-wc.js +3 -3
  439. package/dist/components/kol-button-wc.js.map +1 -1
  440. package/dist/components/kol-button.js +3 -3
  441. package/dist/components/kol-button.js.map +1 -1
  442. package/dist/components/kol-card.js +1 -1
  443. package/dist/components/kol-click-button.js +35 -5
  444. package/dist/components/kol-click-button.js.map +1 -1
  445. package/dist/components/kol-combobox.js +13 -7
  446. package/dist/components/kol-combobox.js.map +1 -1
  447. package/dist/components/kol-details.js +3 -3
  448. package/dist/components/kol-details.js.map +1 -1
  449. package/dist/components/kol-dialog.js +1 -1
  450. package/dist/components/kol-drawer.js +1 -1
  451. package/dist/components/kol-form.js +1 -1
  452. package/dist/components/kol-icon.js +1 -1
  453. package/dist/components/kol-image.js +21 -4
  454. package/dist/components/kol-image.js.map +1 -1
  455. package/dist/components/kol-input-checkbox.js +5 -5
  456. package/dist/components/kol-input-checkbox.js.map +1 -1
  457. package/dist/components/kol-input-color.js +4 -4
  458. package/dist/components/kol-input-color.js.map +1 -1
  459. package/dist/components/kol-input-date.js +4 -4
  460. package/dist/components/kol-input-date.js.map +1 -1
  461. package/dist/components/kol-input-email.js +5 -5
  462. package/dist/components/kol-input-email.js.map +1 -1
  463. package/dist/components/kol-input-file.js +4 -4
  464. package/dist/components/kol-input-file.js.map +1 -1
  465. package/dist/components/kol-input-number.js +4 -4
  466. package/dist/components/kol-input-number.js.map +1 -1
  467. package/dist/components/kol-input-password.js +5 -5
  468. package/dist/components/kol-input-password.js.map +1 -1
  469. package/dist/components/kol-input-radio.js +8 -7
  470. package/dist/components/kol-input-radio.js.map +1 -1
  471. package/dist/components/kol-input-range.js +4 -4
  472. package/dist/components/kol-input-range.js.map +1 -1
  473. package/dist/components/kol-input-text.js +5 -5
  474. package/dist/components/kol-input-text.js.map +1 -1
  475. package/dist/components/kol-link-button.js +3 -3
  476. package/dist/components/kol-link-button.js.map +1 -1
  477. package/dist/components/kol-link-wc.js +3 -3
  478. package/dist/components/kol-link-wc.js.map +1 -1
  479. package/dist/components/kol-link.js +3 -3
  480. package/dist/components/kol-link.js.map +1 -1
  481. package/dist/components/kol-meter.js +4 -30
  482. package/dist/components/kol-meter.js.map +1 -1
  483. package/dist/components/kol-modal.js +1 -1
  484. package/dist/components/kol-nav.js +1 -1
  485. package/dist/components/kol-pagination.js +1 -1
  486. package/dist/components/kol-pagination.js.map +1 -1
  487. package/dist/components/kol-popover-button-wc.js +3 -3
  488. package/dist/components/kol-popover-button-wc.js.map +1 -1
  489. package/dist/components/kol-popover-button.js +3 -3
  490. package/dist/components/kol-popover-button.js.map +1 -1
  491. package/dist/components/kol-select-wc.js +5 -5
  492. package/dist/components/kol-select-wc.js.map +1 -1
  493. package/dist/components/kol-select.js +3 -3
  494. package/dist/components/kol-select.js.map +1 -1
  495. package/dist/components/kol-single-select.js +7 -7
  496. package/dist/components/kol-single-select.js.map +1 -1
  497. package/dist/components/kol-skeleton.js +17 -12
  498. package/dist/components/kol-skeleton.js.map +1 -1
  499. package/dist/components/kol-skip-nav.js +3 -3
  500. package/dist/components/kol-skip-nav.js.map +1 -1
  501. package/dist/components/kol-split-button.js +4 -4
  502. package/dist/components/kol-split-button.js.map +1 -1
  503. package/dist/components/kol-table-stateful.js +65 -7
  504. package/dist/components/kol-table-stateful.js.map +1 -1
  505. package/dist/components/kol-table-stateless-wc.js +33 -46
  506. package/dist/components/kol-table-stateless-wc.js.map +1 -1
  507. package/dist/components/kol-table-stateless.js +1 -1
  508. package/dist/components/kol-table-stateless.js.map +1 -1
  509. package/dist/components/kol-tabs.js +4 -4
  510. package/dist/components/kol-tabs.js.map +1 -1
  511. package/dist/components/kol-textarea.js +4 -4
  512. package/dist/components/kol-textarea.js.map +1 -1
  513. package/dist/components/kol-toast-container.js +18 -9
  514. package/dist/components/kol-toast-container.js.map +1 -1
  515. package/dist/components/kol-toolbar.js +5 -5
  516. package/dist/components/kol-toolbar.js.map +1 -1
  517. package/dist/components/kol-tree-item-wc.js +5 -5
  518. package/dist/components/kol-tree-item-wc.js.map +1 -1
  519. package/dist/components/kol-tree-item.js +4 -4
  520. package/dist/components/kol-tree-item.js.map +1 -1
  521. package/dist/components/kol-tree-wc.js +3 -3
  522. package/dist/components/kol-tree-wc.js.map +1 -1
  523. package/dist/components/kol-tree.js +2 -2
  524. package/dist/components/kol-tree.js.map +1 -1
  525. package/dist/components/prop.validators.js +21 -32
  526. package/dist/components/prop.validators.js.map +1 -1
  527. package/dist/esm/Alert-COvq80W3.js +91 -0
  528. package/dist/esm/Alert-COvq80W3.js.map +1 -0
  529. package/dist/esm/Collapsible-7IQAII4d.js +25 -0
  530. package/dist/esm/Collapsible-7IQAII4d.js.map +1 -0
  531. package/dist/esm/CustomSuggestionsOptionsGroup-CUxWnoxh.js +28 -0
  532. package/dist/esm/CustomSuggestionsOptionsGroup-CUxWnoxh.js.map +1 -0
  533. package/dist/esm/FieldControlStateWrapper-CCrS0kX3.js +121 -0
  534. package/dist/esm/FieldControlStateWrapper-CCrS0kX3.js.map +1 -0
  535. package/dist/esm/FormFieldStateWrapper-DCXQnRBu.js +839 -0
  536. package/dist/esm/FormFieldStateWrapper-DCXQnRBu.js.map +1 -0
  537. package/dist/esm/Heading-Hh3eykel.js +39 -0
  538. package/dist/esm/Heading-Hh3eykel.js.map +1 -0
  539. package/dist/esm/Input-Chj5JCQv.js +27 -0
  540. package/dist/esm/Input-Chj5JCQv.js.map +1 -0
  541. package/dist/esm/InputStateWrapper-DA1rfFPc.js +83 -0
  542. package/dist/esm/InputStateWrapper-DA1rfFPc.js.map +1 -0
  543. package/dist/esm/access-and-short-key-CnWGdP5U.js +36 -0
  544. package/dist/esm/access-and-short-key-CnWGdP5U.js.map +1 -0
  545. package/dist/esm/align-ChLoh-Dq.js +22 -0
  546. package/dist/esm/align-ChLoh-Dq.js.map +1 -0
  547. package/dist/esm/align-floating-elements-DTTpkCAK.js +1669 -0
  548. package/dist/esm/align-floating-elements-DTTpkCAK.js.map +1 -0
  549. package/dist/esm/app-globals-CpkHeTen.js +34 -0
  550. package/dist/esm/app-globals-CpkHeTen.js.map +1 -0
  551. package/dist/esm/aria-expanded--y6Ce39-.js +26 -0
  552. package/dist/esm/aria-expanded--y6Ce39-.js.map +1 -0
  553. package/dist/esm/aria-labelledby-BUOJRaGL.js +57 -0
  554. package/dist/esm/aria-labelledby-BUOJRaGL.js.map +1 -0
  555. package/dist/esm/associated.controller-D55JWKjs.js +188 -0
  556. package/dist/esm/associated.controller-D55JWKjs.js.map +1 -0
  557. package/dist/esm/auto-complete-CrQJr3SH.js +16 -0
  558. package/dist/esm/auto-complete-CrQJr3SH.js.map +1 -0
  559. package/dist/esm/bem-registry-B9CzNnO1.js +160 -0
  560. package/dist/esm/bem-registry-B9CzNnO1.js.map +1 -0
  561. package/dist/esm/bootstrap-UOb6OarC.js +31 -0
  562. package/dist/esm/bootstrap-UOb6OarC.js.map +1 -0
  563. package/dist/esm/color-Df2awjVY.js +98 -0
  564. package/dist/esm/color-Df2awjVY.js.map +1 -0
  565. package/dist/esm/common-DEEjER7G.js +1715 -0
  566. package/dist/esm/common-DEEjER7G.js.map +1 -0
  567. package/dist/esm/component-CQaxTS4u.js +9148 -0
  568. package/dist/esm/component-CQaxTS4u.js.map +1 -0
  569. package/dist/esm/component-DHo2YdSx.js +21 -0
  570. package/dist/esm/component-DHo2YdSx.js.map +1 -0
  571. package/dist/esm/component-DTx6ZVqq.js +14 -0
  572. package/dist/esm/component-DTx6ZVqq.js.map +1 -0
  573. package/dist/esm/component-DohIJBPw.js +15 -0
  574. package/dist/esm/component-DohIJBPw.js.map +1 -0
  575. package/dist/esm/contrast-C0oqtcfU.js +97 -0
  576. package/dist/esm/contrast-C0oqtcfU.js.map +1 -0
  577. package/dist/esm/controller-D0y9uwX0.js +96 -0
  578. package/dist/esm/controller-D0y9uwX0.js.map +1 -0
  579. package/dist/esm/controller-DNx_ULdZ.js +120 -0
  580. package/dist/esm/controller-DNx_ULdZ.js.map +1 -0
  581. package/dist/esm/controller-DR9zGh9W.js +52 -0
  582. package/dist/esm/controller-DR9zGh9W.js.map +1 -0
  583. package/dist/esm/controller-eoW_d0fK.js +91 -0
  584. package/dist/esm/controller-eoW_d0fK.js.map +1 -0
  585. package/dist/esm/controller-icon-ClFIXmW5.js +165 -0
  586. package/dist/esm/controller-icon-ClFIXmW5.js.map +1 -0
  587. package/dist/esm/controller-oT8Y98Yc.js +239 -0
  588. package/dist/esm/controller-oT8Y98Yc.js.map +1 -0
  589. package/dist/esm/custom-class-RTVG26D_.js +15 -0
  590. package/dist/esm/custom-class-RTVG26D_.js.map +1 -0
  591. package/dist/esm/dev.utils-HhhlYW_9.js +81 -0
  592. package/dist/esm/dev.utils-HhhlYW_9.js.map +1 -0
  593. package/dist/esm/devtools-CnPiO1UI.js +101 -0
  594. package/dist/esm/devtools-CnPiO1UI.js.map +1 -0
  595. package/dist/esm/disabled-CtaJsBT2.js +21 -0
  596. package/dist/esm/disabled-CtaJsBT2.js.map +1 -0
  597. package/dist/esm/element-focus-BQXzaLL9.js +159 -0
  598. package/dist/esm/element-focus-BQXzaLL9.js.map +1 -0
  599. package/dist/esm/element-interaction-C5-6aPzz.js +64 -0
  600. package/dist/esm/element-interaction-C5-6aPzz.js.map +1 -0
  601. package/dist/esm/events-BhfZTW2e.js +43 -0
  602. package/dist/esm/events-BhfZTW2e.js.map +1 -0
  603. package/dist/esm/has-closer-GBI76y-L.js +13 -0
  604. package/dist/esm/has-closer-GBI76y-L.js.map +1 -0
  605. package/dist/esm/hide-label-CWFMK5Iz.js +13 -0
  606. package/dist/esm/hide-label-CWFMK5Iz.js.map +1 -0
  607. package/dist/esm/href-yQN98Z4F.js +13 -0
  608. package/dist/esm/href-yQN98Z4F.js.map +1 -0
  609. package/dist/esm/i18n-CaL2ODdQ.js +19 -0
  610. package/dist/esm/i18n-CaL2ODdQ.js.map +1 -0
  611. package/dist/esm/icons-DOGnS2Iv.js +84 -0
  612. package/dist/esm/icons-DOGnS2Iv.js.map +1 -0
  613. package/dist/esm/index-Brmny3Vg.js +2878 -0
  614. package/dist/esm/index-Brmny3Vg.js.map +1 -0
  615. package/dist/esm/index.js +6 -6
  616. package/dist/esm/inline-D3v7pifU.js +13 -0
  617. package/dist/esm/inline-D3v7pifU.js.map +1 -0
  618. package/dist/esm/kol-abbr.entry.js +14 -14
  619. package/dist/esm/kol-accordion.entry.js +17 -17
  620. package/dist/esm/kol-accordion.entry.js.map +1 -1
  621. package/dist/esm/kol-alert-wc.entry.js +13 -13
  622. package/dist/esm/kol-alert.entry.js +3 -3
  623. package/dist/esm/kol-avatar.entry.js +9 -9
  624. package/dist/esm/kol-badge.entry.js +15 -15
  625. package/dist/esm/kol-badge.entry.js.map +1 -1
  626. package/dist/esm/kol-breadcrumb.entry.js +8 -8
  627. package/dist/esm/kol-button-link.entry.js +7 -7
  628. package/dist/esm/kol-button-link.entry.js.map +1 -1
  629. package/dist/esm/kol-button-wc.entry.js +31 -31
  630. package/dist/esm/kol-button-wc.entry.js.map +1 -1
  631. package/dist/esm/kol-button.entry.js +7 -7
  632. package/dist/esm/kol-button.entry.js.map +1 -1
  633. package/dist/esm/kol-card-wc.entry.js +16 -16
  634. package/dist/esm/kol-card.entry.js +3 -3
  635. package/dist/esm/kol-click-button.entry.js +39 -12
  636. package/dist/esm/kol-click-button.entry.js.map +1 -1
  637. package/dist/esm/kol-combobox.entry.js +48 -42
  638. package/dist/esm/kol-combobox.entry.js.map +1 -1
  639. package/dist/esm/kol-details.entry.js +17 -17
  640. package/dist/esm/kol-details.entry.js.map +1 -1
  641. package/dist/esm/kol-dialog-wc.entry.js +8 -8
  642. package/dist/esm/kol-dialog.entry.js +3 -3
  643. package/dist/esm/kol-drawer.entry.js +12 -12
  644. package/dist/esm/kol-form.entry.js +9 -9
  645. package/dist/esm/kol-heading.entry.js +5 -5
  646. package/dist/esm/kol-icon.entry.js +8 -8
  647. package/dist/esm/kol-image.entry.js +24 -8
  648. package/dist/esm/kol-image.entry.js.map +1 -1
  649. package/dist/esm/kol-input-checkbox.entry.js +37 -37
  650. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  651. package/dist/esm/kol-input-color.entry.js +37 -37
  652. package/dist/esm/kol-input-color.entry.js.map +1 -1
  653. package/dist/esm/kol-input-date.entry.js +40 -40
  654. package/dist/esm/kol-input-date.entry.js.map +1 -1
  655. package/dist/esm/kol-input-email.entry.js +46 -46
  656. package/dist/esm/kol-input-email.entry.js.map +1 -1
  657. package/dist/esm/kol-input-file.entry.js +37 -37
  658. package/dist/esm/kol-input-file.entry.js.map +1 -1
  659. package/dist/esm/kol-input-number.entry.js +41 -41
  660. package/dist/esm/kol-input-number.entry.js.map +1 -1
  661. package/dist/esm/kol-input-password.entry.js +42 -42
  662. package/dist/esm/kol-input-password.entry.js.map +1 -1
  663. package/dist/esm/kol-input-radio.entry.js +38 -37
  664. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  665. package/dist/esm/kol-input-range.entry.js +38 -38
  666. package/dist/esm/kol-input-range.entry.js.map +1 -1
  667. package/dist/esm/kol-input-text.entry.js +45 -45
  668. package/dist/esm/kol-input-text.entry.js.map +1 -1
  669. package/dist/esm/kol-kolibri.entry.js +5 -5
  670. package/dist/esm/kol-link-button.entry.js +7 -7
  671. package/dist/esm/kol-link-button.entry.js.map +1 -1
  672. package/dist/esm/kol-link-wc.entry.js +30 -30
  673. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  674. package/dist/esm/kol-link.entry.js +7 -7
  675. package/dist/esm/kol-link.entry.js.map +1 -1
  676. package/dist/esm/kol-meter.entry.js +10 -35
  677. package/dist/esm/kol-meter.entry.js.map +1 -1
  678. package/dist/esm/kol-modal.entry.js +3 -3
  679. package/dist/esm/kol-nav.entry.js +9 -9
  680. package/dist/esm/kol-pagination-wc.entry.js +10 -10
  681. package/dist/esm/kol-pagination.entry.js +3 -3
  682. package/dist/esm/kol-pagination.entry.js.map +1 -1
  683. package/dist/esm/kol-popover-button-wc.entry.js +11 -11
  684. package/dist/esm/kol-popover-button-wc.entry.js.map +1 -1
  685. package/dist/esm/kol-popover-button.entry.js +7 -7
  686. package/dist/esm/kol-popover-button.entry.js.map +1 -1
  687. package/dist/esm/kol-progress.entry.js +7 -7
  688. package/dist/esm/kol-quote.entry.js +6 -6
  689. package/dist/esm/kol-select-wc.entry.js +39 -39
  690. package/dist/esm/kol-select-wc.entry.js.map +1 -1
  691. package/dist/esm/kol-select.entry.js +7 -7
  692. package/dist/esm/kol-select.entry.js.map +1 -1
  693. package/dist/esm/kol-single-select.entry.js +42 -42
  694. package/dist/esm/kol-single-select.entry.js.map +1 -1
  695. package/dist/esm/kol-skeleton.entry.js +22 -18
  696. package/dist/esm/kol-skeleton.entry.js.map +1 -1
  697. package/dist/esm/kol-skip-nav.entry.js +10 -10
  698. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  699. package/dist/esm/kol-spin.entry.js +6 -6
  700. package/dist/esm/kol-split-button.entry.js +9 -9
  701. package/dist/esm/kol-split-button.entry.js.map +1 -1
  702. package/dist/esm/kol-table-settings-wc.entry.js +4 -4
  703. package/dist/esm/kol-table-stateful.entry.js +71 -14
  704. package/dist/esm/kol-table-stateful.entry.js.map +1 -1
  705. package/dist/esm/kol-table-stateless-wc.entry.js +45 -58
  706. package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
  707. package/dist/esm/kol-table-stateless.entry.js +4 -4
  708. package/dist/esm/kol-table-stateless.entry.js.map +1 -1
  709. package/dist/esm/kol-tabs.entry.js +12 -12
  710. package/dist/esm/kol-tabs.entry.js.map +1 -1
  711. package/dist/esm/kol-textarea.entry.js +39 -39
  712. package/dist/esm/kol-textarea.entry.js.map +1 -1
  713. package/dist/esm/kol-toast-container.entry.js +28 -19
  714. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  715. package/dist/esm/kol-toolbar.entry.js +9 -9
  716. package/dist/esm/kol-toolbar.entry.js.map +1 -1
  717. package/dist/esm/kol-tooltip-wc.entry.js +12 -12
  718. package/dist/esm/kol-tree-item-wc.entry.js +13 -13
  719. package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
  720. package/dist/esm/kol-tree-item.entry.js +6 -6
  721. package/dist/esm/kol-tree-item.entry.js.map +1 -1
  722. package/dist/esm/kol-tree-wc.entry.js +6 -6
  723. package/dist/esm/kol-tree-wc.entry.js.map +1 -1
  724. package/dist/esm/kol-tree.entry.js +6 -6
  725. package/dist/esm/kol-tree.entry.js.map +1 -1
  726. package/dist/esm/kol-version.entry.js +4 -4
  727. package/dist/esm/kolibri.js +5 -5
  728. package/dist/esm/label-Cg7TG_7b.js +45 -0
  729. package/dist/esm/label-Cg7TG_7b.js.map +1 -0
  730. package/dist/esm/label-DPd4-fag.js +11 -0
  731. package/dist/esm/label-DPd4-fag.js.map +1 -0
  732. package/dist/esm/level-CfQolHx4.js +12 -0
  733. package/dist/esm/level-CfQolHx4.js.map +1 -0
  734. package/dist/esm/loader.js +5 -5
  735. package/dist/esm/max-length-behavior-426q5CU6.js +22 -0
  736. package/dist/esm/max-length-behavior-426q5CU6.js.map +1 -0
  737. package/dist/esm/multiple-LEiooHN4.js +13 -0
  738. package/dist/esm/multiple-LEiooHN4.js.map +1 -0
  739. package/dist/esm/normalizers-pgU77mXp.js +641 -0
  740. package/dist/esm/normalizers-pgU77mXp.js.map +1 -0
  741. package/dist/esm/open-Djbpz6kg.js +13 -0
  742. package/dist/esm/open-Djbpz6kg.js.map +1 -0
  743. package/dist/esm/orientation-BzQXB0-V.js +16 -0
  744. package/dist/esm/orientation-BzQXB0-V.js.map +1 -0
  745. package/dist/esm/placeholder-CSgrK1Zh.js +13 -0
  746. package/dist/esm/placeholder-CSgrK1Zh.js.map +1 -0
  747. package/dist/esm/read-only-DyuIPHMt.js +13 -0
  748. package/dist/esm/read-only-DyuIPHMt.js.map +1 -0
  749. package/dist/esm/required-DAsW5lI1.js +13 -0
  750. package/dist/esm/required-DAsW5lI1.js.map +1 -0
  751. package/dist/esm/rows-Bdp885AQ.js +13 -0
  752. package/dist/esm/rows-Bdp885AQ.js.map +1 -0
  753. package/dist/esm/spell-check-CSnDB95u.js +15 -0
  754. package/dist/esm/spell-check-CSnDB95u.js.map +1 -0
  755. package/dist/esm/src-C8dP-FLK.js +11 -0
  756. package/dist/esm/src-C8dP-FLK.js.map +1 -0
  757. package/dist/esm/suggestions-Cnn1r8zc.js +21 -0
  758. package/dist/esm/suggestions-Cnn1r8zc.js.map +1 -0
  759. package/dist/esm/table-selection-DlaNrAWM.js +85 -0
  760. package/dist/esm/table-selection-DlaNrAWM.js.map +1 -0
  761. package/dist/esm/test-component.entry.js +2 -2
  762. package/dist/esm/tooltip-align-DzHPWEpv.js +14 -0
  763. package/dist/esm/tooltip-align-DzHPWEpv.js.map +1 -0
  764. package/dist/esm/unique-nav-labels-7ifGcuBZ.js +22 -0
  765. package/dist/esm/unique-nav-labels-7ifGcuBZ.js.map +1 -0
  766. package/dist/esm/validation-B8MhupBp.js +14 -0
  767. package/dist/esm/validation-B8MhupBp.js.map +1 -0
  768. package/dist/esm/validation-VhuthteS.js +17 -0
  769. package/dist/esm/validation-VhuthteS.js.map +1 -0
  770. package/dist/esm/value-number-clamped-BQ9jw4HR.js +24 -0
  771. package/dist/esm/value-number-clamped-BQ9jw4HR.js.map +1 -0
  772. package/dist/esm/variant-class-name-CkfE8oGZ.js +16 -0
  773. package/dist/esm/variant-class-name-CkfE8oGZ.js.map +1 -0
  774. package/dist/esm/variant-quote-BMV8GZX8.js +37 -0
  775. package/dist/esm/variant-quote-BMV8GZX8.js.map +1 -0
  776. package/dist/kolibri/Alert-COvq80W3.js +5 -0
  777. package/dist/kolibri/Alert-COvq80W3.js.map +1 -0
  778. package/dist/kolibri/Collapsible-7IQAII4d.js +5 -0
  779. package/dist/kolibri/Collapsible-7IQAII4d.js.map +1 -0
  780. package/dist/kolibri/CustomSuggestionsOptionsGroup-CUxWnoxh.js +5 -0
  781. package/dist/kolibri/CustomSuggestionsOptionsGroup-CUxWnoxh.js.map +1 -0
  782. package/dist/kolibri/FieldControlStateWrapper-CCrS0kX3.js +5 -0
  783. package/dist/kolibri/FieldControlStateWrapper-CCrS0kX3.js.map +1 -0
  784. package/dist/kolibri/FormFieldStateWrapper-DCXQnRBu.js +5 -0
  785. package/dist/kolibri/FormFieldStateWrapper-DCXQnRBu.js.map +1 -0
  786. package/dist/kolibri/Heading-Hh3eykel.js +5 -0
  787. package/dist/kolibri/Heading-Hh3eykel.js.map +1 -0
  788. package/dist/kolibri/Input-Chj5JCQv.js +5 -0
  789. package/dist/kolibri/Input-Chj5JCQv.js.map +1 -0
  790. package/dist/kolibri/InputStateWrapper-DA1rfFPc.js +5 -0
  791. package/dist/kolibri/InputStateWrapper-DA1rfFPc.js.map +1 -0
  792. package/dist/kolibri/access-and-short-key-CnWGdP5U.js +5 -0
  793. package/dist/kolibri/access-and-short-key-CnWGdP5U.js.map +1 -0
  794. package/dist/kolibri/align-ChLoh-Dq.js +5 -0
  795. package/dist/kolibri/align-ChLoh-Dq.js.map +1 -0
  796. package/dist/kolibri/align-floating-elements-DTTpkCAK.js +5 -0
  797. package/dist/kolibri/align-floating-elements-DTTpkCAK.js.map +1 -0
  798. package/dist/kolibri/app-globals-CpkHeTen.js +5 -0
  799. package/dist/kolibri/app-globals-CpkHeTen.js.map +1 -0
  800. package/dist/kolibri/aria-expanded--y6Ce39-.js +5 -0
  801. package/dist/kolibri/aria-expanded--y6Ce39-.js.map +1 -0
  802. package/dist/kolibri/aria-labelledby-BUOJRaGL.js +5 -0
  803. package/dist/kolibri/aria-labelledby-BUOJRaGL.js.map +1 -0
  804. package/dist/kolibri/associated.controller-D55JWKjs.js +5 -0
  805. package/dist/kolibri/associated.controller-D55JWKjs.js.map +1 -0
  806. package/dist/kolibri/auto-complete-CrQJr3SH.js +5 -0
  807. package/dist/kolibri/auto-complete-CrQJr3SH.js.map +1 -0
  808. package/dist/kolibri/bem-registry-B9CzNnO1.js +5 -0
  809. package/dist/kolibri/bem-registry-B9CzNnO1.js.map +1 -0
  810. package/dist/kolibri/bootstrap-UOb6OarC.js +5 -0
  811. package/dist/kolibri/bootstrap-UOb6OarC.js.map +1 -0
  812. package/dist/kolibri/color-Df2awjVY.js +5 -0
  813. package/dist/kolibri/color-Df2awjVY.js.map +1 -0
  814. package/dist/kolibri/common-DEEjER7G.js +5 -0
  815. package/dist/kolibri/common-DEEjER7G.js.map +1 -0
  816. package/dist/kolibri/component-CQaxTS4u.js +5 -0
  817. package/dist/kolibri/component-CQaxTS4u.js.map +1 -0
  818. package/dist/kolibri/component-DHo2YdSx.js +5 -0
  819. package/dist/kolibri/component-DHo2YdSx.js.map +1 -0
  820. package/dist/kolibri/component-DTx6ZVqq.js +5 -0
  821. package/dist/kolibri/component-DTx6ZVqq.js.map +1 -0
  822. package/dist/kolibri/component-DohIJBPw.js +5 -0
  823. package/dist/kolibri/component-DohIJBPw.js.map +1 -0
  824. package/dist/kolibri/contrast-C0oqtcfU.js +5 -0
  825. package/dist/kolibri/contrast-C0oqtcfU.js.map +1 -0
  826. package/dist/kolibri/controller-D0y9uwX0.js +5 -0
  827. package/dist/kolibri/controller-D0y9uwX0.js.map +1 -0
  828. package/dist/kolibri/controller-DNx_ULdZ.js +5 -0
  829. package/dist/kolibri/controller-DNx_ULdZ.js.map +1 -0
  830. package/dist/kolibri/controller-DR9zGh9W.js +5 -0
  831. package/dist/kolibri/controller-DR9zGh9W.js.map +1 -0
  832. package/dist/kolibri/controller-eoW_d0fK.js +5 -0
  833. package/dist/kolibri/controller-eoW_d0fK.js.map +1 -0
  834. package/dist/kolibri/controller-icon-ClFIXmW5.js +5 -0
  835. package/dist/kolibri/controller-icon-ClFIXmW5.js.map +1 -0
  836. package/dist/kolibri/controller-oT8Y98Yc.js +5 -0
  837. package/dist/kolibri/controller-oT8Y98Yc.js.map +1 -0
  838. package/dist/kolibri/custom-class-RTVG26D_.js +5 -0
  839. package/dist/kolibri/custom-class-RTVG26D_.js.map +1 -0
  840. package/dist/kolibri/dev.utils-HhhlYW_9.js +5 -0
  841. package/dist/kolibri/dev.utils-HhhlYW_9.js.map +1 -0
  842. package/dist/kolibri/devtools-CnPiO1UI.js +5 -0
  843. package/dist/kolibri/devtools-CnPiO1UI.js.map +1 -0
  844. package/dist/kolibri/disabled-CtaJsBT2.js +5 -0
  845. package/dist/kolibri/disabled-CtaJsBT2.js.map +1 -0
  846. package/dist/kolibri/element-focus-BQXzaLL9.js +5 -0
  847. package/dist/kolibri/element-focus-BQXzaLL9.js.map +1 -0
  848. package/dist/kolibri/element-interaction-C5-6aPzz.js +5 -0
  849. package/dist/kolibri/element-interaction-C5-6aPzz.js.map +1 -0
  850. package/dist/kolibri/events-BhfZTW2e.js +5 -0
  851. package/dist/kolibri/events-BhfZTW2e.js.map +1 -0
  852. package/dist/kolibri/has-closer-GBI76y-L.js +5 -0
  853. package/dist/kolibri/has-closer-GBI76y-L.js.map +1 -0
  854. package/dist/kolibri/hide-label-CWFMK5Iz.js +5 -0
  855. package/dist/kolibri/hide-label-CWFMK5Iz.js.map +1 -0
  856. package/dist/kolibri/href-yQN98Z4F.js +5 -0
  857. package/dist/kolibri/href-yQN98Z4F.js.map +1 -0
  858. package/dist/kolibri/i18n-CaL2ODdQ.js +5 -0
  859. package/dist/kolibri/i18n-CaL2ODdQ.js.map +1 -0
  860. package/dist/kolibri/icons-DOGnS2Iv.js +5 -0
  861. package/dist/kolibri/icons-DOGnS2Iv.js.map +1 -0
  862. package/dist/kolibri/index-Brmny3Vg.js +6 -0
  863. package/dist/kolibri/index-Brmny3Vg.js.map +1 -0
  864. package/dist/kolibri/index.esm.js +1 -1
  865. package/dist/kolibri/inline-D3v7pifU.js +5 -0
  866. package/dist/kolibri/inline-D3v7pifU.js.map +1 -0
  867. package/dist/kolibri/kol-abbr.entry.js +1 -1
  868. package/dist/kolibri/kol-accordion.entry.esm.js.map +1 -1
  869. package/dist/kolibri/kol-accordion.entry.js +1 -1
  870. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  871. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  872. package/dist/kolibri/kol-alert.entry.js +1 -1
  873. package/dist/kolibri/kol-avatar.entry.js +1 -1
  874. package/dist/kolibri/kol-badge.entry.esm.js.map +1 -1
  875. package/dist/kolibri/kol-badge.entry.js +1 -1
  876. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  877. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  878. package/dist/kolibri/kol-button-link.entry.esm.js.map +1 -1
  879. package/dist/kolibri/kol-button-link.entry.js +1 -1
  880. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  881. package/dist/kolibri/kol-button-wc.entry.esm.js.map +1 -1
  882. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  883. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  884. package/dist/kolibri/kol-button.entry.esm.js.map +1 -1
  885. package/dist/kolibri/kol-button.entry.js +1 -1
  886. package/dist/kolibri/kol-button.entry.js.map +1 -1
  887. package/dist/kolibri/kol-card-wc.entry.js +1 -1
  888. package/dist/kolibri/kol-card.entry.js +1 -1
  889. package/dist/kolibri/kol-click-button.entry.esm.js.map +1 -1
  890. package/dist/kolibri/kol-click-button.entry.js +1 -1
  891. package/dist/kolibri/kol-click-button.entry.js.map +1 -1
  892. package/dist/kolibri/kol-combobox.entry.esm.js.map +1 -1
  893. package/dist/kolibri/kol-combobox.entry.js +1 -1
  894. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  895. package/dist/kolibri/kol-details.entry.esm.js.map +1 -1
  896. package/dist/kolibri/kol-details.entry.js +1 -1
  897. package/dist/kolibri/kol-details.entry.js.map +1 -1
  898. package/dist/kolibri/kol-dialog-wc.entry.js +1 -1
  899. package/dist/kolibri/kol-dialog.entry.js +1 -1
  900. package/dist/kolibri/kol-drawer.entry.js +1 -1
  901. package/dist/kolibri/kol-form.entry.js +1 -1
  902. package/dist/kolibri/kol-heading.entry.js +1 -1
  903. package/dist/kolibri/kol-icon.entry.js +1 -1
  904. package/dist/kolibri/kol-image.entry.esm.js.map +1 -1
  905. package/dist/kolibri/kol-image.entry.js +1 -1
  906. package/dist/kolibri/kol-image.entry.js.map +1 -1
  907. package/dist/kolibri/kol-input-checkbox.entry.esm.js.map +1 -1
  908. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  909. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  910. package/dist/kolibri/kol-input-color.entry.esm.js.map +1 -1
  911. package/dist/kolibri/kol-input-color.entry.js +1 -1
  912. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  913. package/dist/kolibri/kol-input-date.entry.esm.js.map +1 -1
  914. package/dist/kolibri/kol-input-date.entry.js +1 -1
  915. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  916. package/dist/kolibri/kol-input-email.entry.esm.js.map +1 -1
  917. package/dist/kolibri/kol-input-email.entry.js +1 -1
  918. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  919. package/dist/kolibri/kol-input-file.entry.esm.js.map +1 -1
  920. package/dist/kolibri/kol-input-file.entry.js +1 -1
  921. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  922. package/dist/kolibri/kol-input-number.entry.esm.js.map +1 -1
  923. package/dist/kolibri/kol-input-number.entry.js +1 -1
  924. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  925. package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
  926. package/dist/kolibri/kol-input-password.entry.js +1 -1
  927. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  928. package/dist/kolibri/kol-input-radio.entry.esm.js.map +1 -1
  929. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  930. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  931. package/dist/kolibri/kol-input-range.entry.esm.js.map +1 -1
  932. package/dist/kolibri/kol-input-range.entry.js +1 -1
  933. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  934. package/dist/kolibri/kol-input-text.entry.esm.js.map +1 -1
  935. package/dist/kolibri/kol-input-text.entry.js +1 -1
  936. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  937. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  938. package/dist/kolibri/kol-link-button.entry.esm.js.map +1 -1
  939. package/dist/kolibri/kol-link-button.entry.js +1 -1
  940. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  941. package/dist/kolibri/kol-link-wc.entry.esm.js.map +1 -1
  942. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  943. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  944. package/dist/kolibri/kol-link.entry.esm.js.map +1 -1
  945. package/dist/kolibri/kol-link.entry.js +1 -1
  946. package/dist/kolibri/kol-link.entry.js.map +1 -1
  947. package/dist/kolibri/kol-meter.entry.esm.js.map +1 -1
  948. package/dist/kolibri/kol-meter.entry.js +1 -1
  949. package/dist/kolibri/kol-meter.entry.js.map +1 -1
  950. package/dist/kolibri/kol-modal.entry.js +1 -1
  951. package/dist/kolibri/kol-nav.entry.js +1 -1
  952. package/dist/kolibri/kol-pagination-wc.entry.js +1 -1
  953. package/dist/kolibri/kol-pagination.entry.esm.js.map +1 -1
  954. package/dist/kolibri/kol-pagination.entry.js +1 -1
  955. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  956. package/dist/kolibri/kol-popover-button-wc.entry.esm.js.map +1 -1
  957. package/dist/kolibri/kol-popover-button-wc.entry.js +1 -1
  958. package/dist/kolibri/kol-popover-button-wc.entry.js.map +1 -1
  959. package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
  960. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  961. package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
  962. package/dist/kolibri/kol-progress.entry.js +1 -1
  963. package/dist/kolibri/kol-quote.entry.js +1 -1
  964. package/dist/kolibri/kol-select-wc.entry.esm.js.map +1 -1
  965. package/dist/kolibri/kol-select-wc.entry.js +1 -1
  966. package/dist/kolibri/kol-select-wc.entry.js.map +1 -1
  967. package/dist/kolibri/kol-select.entry.esm.js.map +1 -1
  968. package/dist/kolibri/kol-select.entry.js +1 -1
  969. package/dist/kolibri/kol-select.entry.js.map +1 -1
  970. package/dist/kolibri/kol-single-select.entry.esm.js.map +1 -1
  971. package/dist/kolibri/kol-single-select.entry.js +1 -1
  972. package/dist/kolibri/kol-single-select.entry.js.map +1 -1
  973. package/dist/kolibri/kol-skeleton.entry.esm.js.map +1 -1
  974. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  975. package/dist/kolibri/kol-skeleton.entry.js.map +1 -1
  976. package/dist/kolibri/kol-skip-nav.entry.esm.js.map +1 -1
  977. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  978. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  979. package/dist/kolibri/kol-spin.entry.js +1 -1
  980. package/dist/kolibri/kol-split-button.entry.esm.js.map +1 -1
  981. package/dist/kolibri/kol-split-button.entry.js +1 -1
  982. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  983. package/dist/kolibri/kol-table-settings-wc.entry.js +1 -1
  984. package/dist/kolibri/kol-table-stateful.entry.esm.js.map +1 -1
  985. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  986. package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
  987. package/dist/kolibri/kol-table-stateless-wc.entry.esm.js.map +1 -1
  988. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  989. package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
  990. package/dist/kolibri/kol-table-stateless.entry.esm.js.map +1 -1
  991. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  992. package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
  993. package/dist/kolibri/kol-tabs.entry.esm.js.map +1 -1
  994. package/dist/kolibri/kol-tabs.entry.js +1 -1
  995. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  996. package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
  997. package/dist/kolibri/kol-textarea.entry.js +1 -1
  998. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  999. package/dist/kolibri/kol-toast-container.entry.esm.js.map +1 -1
  1000. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  1001. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  1002. package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
  1003. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  1004. package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
  1005. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  1006. package/dist/kolibri/kol-tree-item-wc.entry.esm.js.map +1 -1
  1007. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  1008. package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
  1009. package/dist/kolibri/kol-tree-item.entry.esm.js.map +1 -1
  1010. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  1011. package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
  1012. package/dist/kolibri/kol-tree-wc.entry.esm.js.map +1 -1
  1013. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  1014. package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
  1015. package/dist/kolibri/kol-tree.entry.esm.js.map +1 -1
  1016. package/dist/kolibri/kol-tree.entry.js +1 -1
  1017. package/dist/kolibri/kol-tree.entry.js.map +1 -1
  1018. package/dist/kolibri/kol-version.entry.js +1 -1
  1019. package/dist/kolibri/kolibri.esm.js +1 -1
  1020. package/dist/kolibri/label-Cg7TG_7b.js +5 -0
  1021. package/dist/kolibri/label-Cg7TG_7b.js.map +1 -0
  1022. package/dist/kolibri/label-DPd4-fag.js +5 -0
  1023. package/dist/kolibri/label-DPd4-fag.js.map +1 -0
  1024. package/dist/kolibri/level-CfQolHx4.js +5 -0
  1025. package/dist/kolibri/level-CfQolHx4.js.map +1 -0
  1026. package/dist/kolibri/max-length-behavior-426q5CU6.js +5 -0
  1027. package/dist/kolibri/max-length-behavior-426q5CU6.js.map +1 -0
  1028. package/dist/kolibri/multiple-LEiooHN4.js +5 -0
  1029. package/dist/kolibri/multiple-LEiooHN4.js.map +1 -0
  1030. package/dist/kolibri/normalizers-pgU77mXp.js +5 -0
  1031. package/dist/kolibri/normalizers-pgU77mXp.js.map +1 -0
  1032. package/dist/kolibri/open-Djbpz6kg.js +5 -0
  1033. package/dist/kolibri/open-Djbpz6kg.js.map +1 -0
  1034. package/dist/kolibri/orientation-BzQXB0-V.js +5 -0
  1035. package/dist/kolibri/orientation-BzQXB0-V.js.map +1 -0
  1036. package/dist/kolibri/placeholder-CSgrK1Zh.js +5 -0
  1037. package/dist/kolibri/placeholder-CSgrK1Zh.js.map +1 -0
  1038. package/dist/kolibri/read-only-DyuIPHMt.js +5 -0
  1039. package/dist/kolibri/read-only-DyuIPHMt.js.map +1 -0
  1040. package/dist/kolibri/required-DAsW5lI1.js +5 -0
  1041. package/dist/kolibri/required-DAsW5lI1.js.map +1 -0
  1042. package/dist/kolibri/rows-Bdp885AQ.js +5 -0
  1043. package/dist/kolibri/rows-Bdp885AQ.js.map +1 -0
  1044. package/dist/kolibri/spell-check-CSnDB95u.js +5 -0
  1045. package/dist/kolibri/spell-check-CSnDB95u.js.map +1 -0
  1046. package/dist/kolibri/src-C8dP-FLK.js +5 -0
  1047. package/dist/kolibri/src-C8dP-FLK.js.map +1 -0
  1048. package/dist/kolibri/suggestions-Cnn1r8zc.js +5 -0
  1049. package/dist/kolibri/suggestions-Cnn1r8zc.js.map +1 -0
  1050. package/dist/kolibri/table-selection-DlaNrAWM.js +5 -0
  1051. package/dist/kolibri/table-selection-DlaNrAWM.js.map +1 -0
  1052. package/dist/kolibri/test-component.entry.js +1 -1
  1053. package/dist/kolibri/tooltip-align-DzHPWEpv.js +5 -0
  1054. package/dist/kolibri/tooltip-align-DzHPWEpv.js.map +1 -0
  1055. package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js +5 -0
  1056. package/dist/kolibri/unique-nav-labels-7ifGcuBZ.js.map +1 -0
  1057. package/dist/kolibri/validation-B8MhupBp.js +5 -0
  1058. package/dist/kolibri/validation-B8MhupBp.js.map +1 -0
  1059. package/dist/kolibri/validation-VhuthteS.js +5 -0
  1060. package/dist/kolibri/validation-VhuthteS.js.map +1 -0
  1061. package/dist/kolibri/value-number-clamped-BQ9jw4HR.js +5 -0
  1062. package/dist/kolibri/value-number-clamped-BQ9jw4HR.js.map +1 -0
  1063. package/dist/kolibri/variant-class-name-CkfE8oGZ.js +5 -0
  1064. package/dist/kolibri/variant-class-name-CkfE8oGZ.js.map +1 -0
  1065. package/dist/kolibri/variant-quote-BMV8GZX8.js +5 -0
  1066. package/dist/kolibri/variant-quote-BMV8GZX8.js.map +1 -0
  1067. package/dist/types/components/_skeleton/web-components/click-button/component.d.ts +3 -1
  1068. package/dist/types/components/_skeleton/web-components/skeleton/component.d.ts +3 -1
  1069. package/dist/types/components/accordion/shadow.d.ts +2 -2
  1070. package/dist/types/components/badge/shadow.d.ts +2 -2
  1071. package/dist/types/components/button/component.d.ts +2 -2
  1072. package/dist/types/components/button/shadow.d.ts +2 -2
  1073. package/dist/types/components/button-link/shadow.d.ts +2 -2
  1074. package/dist/types/components/combobox/shadow.d.ts +2 -2
  1075. package/dist/types/components/details/shadow.d.ts +2 -2
  1076. package/dist/types/components/image/component.d.ts +5 -0
  1077. package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +2 -2
  1078. package/dist/types/components/input-checkbox/shadow.d.ts +2 -2
  1079. package/dist/types/components/input-color/shadow.d.ts +2 -2
  1080. package/dist/types/components/input-date/shadow.d.ts +2 -2
  1081. package/dist/types/components/input-email/shadow.d.ts +2 -2
  1082. package/dist/types/components/input-file/shadow.d.ts +2 -2
  1083. package/dist/types/components/input-number/shadow.d.ts +2 -2
  1084. package/dist/types/components/input-password/shadow.d.ts +2 -2
  1085. package/dist/types/components/input-radio/shadow.d.ts +2 -2
  1086. package/dist/types/components/input-range/shadow.d.ts +2 -2
  1087. package/dist/types/components/input-text/shadow.d.ts +2 -2
  1088. package/dist/types/components/link/component.d.ts +2 -2
  1089. package/dist/types/components/link/shadow.d.ts +2 -2
  1090. package/dist/types/components/link-button/shadow.d.ts +2 -2
  1091. package/dist/types/components/meter/component.d.ts +0 -2
  1092. package/dist/types/components/popover-button/component.d.ts +2 -2
  1093. package/dist/types/components/popover-button/shadow.d.ts +2 -2
  1094. package/dist/types/components/select/component.d.ts +2 -2
  1095. package/dist/types/components/select/shadow.d.ts +2 -2
  1096. package/dist/types/components/single-select/shadow.d.ts +2 -2
  1097. package/dist/types/components/skip-nav/shadow.d.ts +2 -2
  1098. package/dist/types/components/split-button/shadow.d.ts +2 -2
  1099. package/dist/types/components/table-stateful/shadow.d.ts +5 -0
  1100. package/dist/types/components/table-stateless/component.d.ts +5 -0
  1101. package/dist/types/components/tabs/shadow.d.ts +2 -2
  1102. package/dist/types/components/textarea/shadow.d.ts +2 -2
  1103. package/dist/types/components/toaster/shadow.d.ts +1 -0
  1104. package/dist/types/components/toolbar/shadow.d.ts +2 -2
  1105. package/dist/types/components/tree/component.d.ts +2 -2
  1106. package/dist/types/components/tree/shadow.d.ts +2 -2
  1107. package/dist/types/components/tree-item/component.d.ts +2 -2
  1108. package/dist/types/components/tree-item/shadow.d.ts +2 -2
  1109. package/dist/types/components.d.ts +84 -74
  1110. package/dist/types/internal/functional-components/click-button/controller.d.ts +0 -3
  1111. package/dist/types/internal/functional-components/generic-types.d.ts +1 -4
  1112. package/dist/types/internal/functional-components/image/component.d.ts +12 -3
  1113. package/dist/types/internal/functional-components/meter/api.d.ts +0 -3
  1114. package/dist/types/internal/functional-components/meter/controller.d.ts +0 -3
  1115. package/dist/types/internal/functional-components/skeleton/api.d.ts +2 -1
  1116. package/dist/types/internal/functional-components/skeleton/controller.d.ts +3 -2
  1117. package/dist/types/schema/components/image.d.ts +5 -10
  1118. package/dist/types/schema/components/input-password.d.ts +1 -1
  1119. package/dist/types/schema/interfaces/FocusableElement.d.ts +7 -1
  1120. package/dist/types/utils/element-focus.d.ts +2 -1
  1121. package/dist/types/utils/element-interaction.d.ts +1 -0
  1122. package/dist/types/utils/events.d.ts +3 -1
  1123. package/doc/accordion.md +7 -1
  1124. package/doc/badge.md +7 -1
  1125. package/doc/button-link.md +7 -1
  1126. package/doc/button.md +7 -1
  1127. package/doc/combobox.md +7 -1
  1128. package/doc/details.md +7 -1
  1129. package/doc/image.md +8 -7
  1130. package/doc/input-checkbox.md +7 -1
  1131. package/doc/input-color.md +7 -1
  1132. package/doc/input-date.md +7 -1
  1133. package/doc/input-email.md +7 -1
  1134. package/doc/input-file.md +7 -1
  1135. package/doc/input-number.md +7 -1
  1136. package/doc/input-password.md +7 -1
  1137. package/doc/input-radio.md +7 -1
  1138. package/doc/input-range.md +7 -1
  1139. package/doc/input-text.md +7 -1
  1140. package/doc/link-button.md +7 -1
  1141. package/doc/link.md +7 -1
  1142. package/doc/popover-button.md +7 -1
  1143. package/doc/select.md +7 -1
  1144. package/doc/single-select.md +7 -1
  1145. package/doc/skeleton.md +7 -1
  1146. package/doc/skip-nav.md +7 -1
  1147. package/doc/split-button.md +7 -1
  1148. package/doc/tabs.md +7 -1
  1149. package/doc/textarea.md +7 -1
  1150. package/doc/toolbar.md +7 -1
  1151. package/doc/tree-item.md +7 -1
  1152. package/doc/tree.md +7 -1
  1153. package/package.json +2 -2
  1154. package/dist/cjs/Alert-Cy9d-joU.js +0 -93
  1155. package/dist/cjs/Alert-Cy9d-joU.js.map +0 -1
  1156. package/dist/cjs/Collapsible-DbrUzuhe.js +0 -27
  1157. package/dist/cjs/Collapsible-DbrUzuhe.js.map +0 -1
  1158. package/dist/cjs/CustomSuggestionsOptionsGroup-CgodZy6V.js +0 -31
  1159. package/dist/cjs/CustomSuggestionsOptionsGroup-CgodZy6V.js.map +0 -1
  1160. package/dist/cjs/FieldControlStateWrapper-BWnEaOwQ.js +0 -123
  1161. package/dist/cjs/FieldControlStateWrapper-BWnEaOwQ.js.map +0 -1
  1162. package/dist/cjs/FormFieldStateWrapper-xKgz9kgd.js +0 -848
  1163. package/dist/cjs/FormFieldStateWrapper-xKgz9kgd.js.map +0 -1
  1164. package/dist/cjs/Heading-CNgs_ljX.js +0 -41
  1165. package/dist/cjs/Heading-CNgs_ljX.js.map +0 -1
  1166. package/dist/cjs/Input-Dx6jCScj.js +0 -29
  1167. package/dist/cjs/Input-Dx6jCScj.js.map +0 -1
  1168. package/dist/cjs/InputStateWrapper-BS5DQ4uh.js +0 -86
  1169. package/dist/cjs/InputStateWrapper-BS5DQ4uh.js.map +0 -1
  1170. package/dist/cjs/access-and-short-key-CspEpGOV.js +0 -41
  1171. package/dist/cjs/access-and-short-key-CspEpGOV.js.map +0 -1
  1172. package/dist/cjs/align-B8NMKvjk.js +0 -26
  1173. package/dist/cjs/align-B8NMKvjk.js.map +0 -1
  1174. package/dist/cjs/align-floating-elements-BkrTeMF3.js +0 -1672
  1175. package/dist/cjs/align-floating-elements-BkrTeMF3.js.map +0 -1
  1176. package/dist/cjs/app-globals-BolTKmLR.js +0 -36
  1177. package/dist/cjs/app-globals-BolTKmLR.js.map +0 -1
  1178. package/dist/cjs/aria-expanded-CVaHNiQi.js +0 -31
  1179. package/dist/cjs/aria-expanded-CVaHNiQi.js.map +0 -1
  1180. package/dist/cjs/aria-labelledby-DdlFZwyS.js +0 -60
  1181. package/dist/cjs/aria-labelledby-DdlFZwyS.js.map +0 -1
  1182. package/dist/cjs/associated.controller-DLy6rpeW.js +0 -187
  1183. package/dist/cjs/associated.controller-DLy6rpeW.js.map +0 -1
  1184. package/dist/cjs/auto-complete-DkzHjXc-.js +0 -18
  1185. package/dist/cjs/auto-complete-DkzHjXc-.js.map +0 -1
  1186. package/dist/cjs/bem-registry-DevvgGUu.js +0 -163
  1187. package/dist/cjs/bem-registry-DevvgGUu.js.map +0 -1
  1188. package/dist/cjs/bootstrap-ByVQ9oF5.js +0 -36
  1189. package/dist/cjs/bootstrap-ByVQ9oF5.js.map +0 -1
  1190. package/dist/cjs/color-BVcCYLDJ.js +0 -101
  1191. package/dist/cjs/color-BVcCYLDJ.js.map +0 -1
  1192. package/dist/cjs/common-DPb6NWR4.js +0 -1780
  1193. package/dist/cjs/common-DPb6NWR4.js.map +0 -1
  1194. package/dist/cjs/component-BQbWAek4.js +0 -9153
  1195. package/dist/cjs/component-BQbWAek4.js.map +0 -1
  1196. package/dist/cjs/component-BTiffIUs.js +0 -16
  1197. package/dist/cjs/component-BTiffIUs.js.map +0 -1
  1198. package/dist/cjs/component-DVM4X_90.js +0 -23
  1199. package/dist/cjs/component-DVM4X_90.js.map +0 -1
  1200. package/dist/cjs/contrast-BdZHneMx.js +0 -100
  1201. package/dist/cjs/contrast-BdZHneMx.js.map +0 -1
  1202. package/dist/cjs/controller-B19W-1W7.js +0 -55
  1203. package/dist/cjs/controller-B19W-1W7.js.map +0 -1
  1204. package/dist/cjs/controller-BMDxsRHs.js +0 -99
  1205. package/dist/cjs/controller-BMDxsRHs.js.map +0 -1
  1206. package/dist/cjs/controller-BWkj9kx1.js +0 -51
  1207. package/dist/cjs/controller-BWkj9kx1.js.map +0 -1
  1208. package/dist/cjs/controller-CWXWuD8g.js +0 -126
  1209. package/dist/cjs/controller-CWXWuD8g.js.map +0 -1
  1210. package/dist/cjs/controller-CcHSeAl3.js +0 -93
  1211. package/dist/cjs/controller-CcHSeAl3.js.map +0 -1
  1212. package/dist/cjs/controller-DiB9pVnb.js +0 -241
  1213. package/dist/cjs/controller-DiB9pVnb.js.map +0 -1
  1214. package/dist/cjs/controller-icon-B1ExPwMm.js +0 -169
  1215. package/dist/cjs/controller-icon-B1ExPwMm.js.map +0 -1
  1216. package/dist/cjs/custom-class-6BetCmYR.js +0 -17
  1217. package/dist/cjs/custom-class-6BetCmYR.js.map +0 -1
  1218. package/dist/cjs/dev.utils-DepwV5XY.js +0 -86
  1219. package/dist/cjs/dev.utils-DepwV5XY.js.map +0 -1
  1220. package/dist/cjs/devtools-DpHET-Dl.js +0 -103
  1221. package/dist/cjs/devtools-DpHET-Dl.js.map +0 -1
  1222. package/dist/cjs/disabled-GY6LfYNH.js +0 -23
  1223. package/dist/cjs/disabled-GY6LfYNH.js.map +0 -1
  1224. package/dist/cjs/element-focus-DeVevBcF.js +0 -100
  1225. package/dist/cjs/element-focus-DeVevBcF.js.map +0 -1
  1226. package/dist/cjs/element-interaction-CXkAVgKs.js +0 -55
  1227. package/dist/cjs/element-interaction-CXkAVgKs.js.map +0 -1
  1228. package/dist/cjs/events-Jc2wxPjR.js +0 -43
  1229. package/dist/cjs/events-Jc2wxPjR.js.map +0 -1
  1230. package/dist/cjs/has-closer-DdfOvOk6.js +0 -15
  1231. package/dist/cjs/has-closer-DdfOvOk6.js.map +0 -1
  1232. package/dist/cjs/hide-label-BnMTmbm4.js +0 -15
  1233. package/dist/cjs/hide-label-BnMTmbm4.js.map +0 -1
  1234. package/dist/cjs/href-D8FMmJ7i.js +0 -15
  1235. package/dist/cjs/href-D8FMmJ7i.js.map +0 -1
  1236. package/dist/cjs/i18n-Cjy0vgJA.js +0 -19
  1237. package/dist/cjs/i18n-Cjy0vgJA.js.map +0 -1
  1238. package/dist/cjs/icons-C4O3H4TU.js +0 -86
  1239. package/dist/cjs/icons-C4O3H4TU.js.map +0 -1
  1240. package/dist/cjs/index-BC70J7jU.js +0 -2908
  1241. package/dist/cjs/index-BC70J7jU.js.map +0 -1
  1242. package/dist/cjs/inline-D-XZg3UD.js +0 -15
  1243. package/dist/cjs/inline-D-XZg3UD.js.map +0 -1
  1244. package/dist/cjs/label-8vcJJEVI.js +0 -50
  1245. package/dist/cjs/label-8vcJJEVI.js.map +0 -1
  1246. package/dist/cjs/label-DRrPbj-j.js +0 -13
  1247. package/dist/cjs/label-DRrPbj-j.js.map +0 -1
  1248. package/dist/cjs/level-DmIt1w-r.js +0 -15
  1249. package/dist/cjs/level-DmIt1w-r.js.map +0 -1
  1250. package/dist/cjs/max-length-behavior-CqAwfrV8.js +0 -26
  1251. package/dist/cjs/max-length-behavior-CqAwfrV8.js.map +0 -1
  1252. package/dist/cjs/multiple-BEGQDyov.js +0 -15
  1253. package/dist/cjs/multiple-BEGQDyov.js.map +0 -1
  1254. package/dist/cjs/normalizers-BCLslVaT.js +0 -648
  1255. package/dist/cjs/normalizers-BCLslVaT.js.map +0 -1
  1256. package/dist/cjs/open-D-HUKrqZ.js +0 -15
  1257. package/dist/cjs/open-D-HUKrqZ.js.map +0 -1
  1258. package/dist/cjs/orientation-CZeybVrr.js +0 -18
  1259. package/dist/cjs/orientation-CZeybVrr.js.map +0 -1
  1260. package/dist/cjs/placeholder-DrjxGUF5.js +0 -15
  1261. package/dist/cjs/placeholder-DrjxGUF5.js.map +0 -1
  1262. package/dist/cjs/read-only-Dwp456Yc.js +0 -15
  1263. package/dist/cjs/read-only-Dwp456Yc.js.map +0 -1
  1264. package/dist/cjs/required-DriHzqmx.js +0 -15
  1265. package/dist/cjs/required-DriHzqmx.js.map +0 -1
  1266. package/dist/cjs/rows-DS0wBUTI.js +0 -15
  1267. package/dist/cjs/rows-DS0wBUTI.js.map +0 -1
  1268. package/dist/cjs/spell-check-DIEJiRbq.js +0 -17
  1269. package/dist/cjs/spell-check-DIEJiRbq.js.map +0 -1
  1270. package/dist/cjs/src-q91473CI.js +0 -13
  1271. package/dist/cjs/src-q91473CI.js.map +0 -1
  1272. package/dist/cjs/suggestions-CjIs1OMC.js +0 -23
  1273. package/dist/cjs/suggestions-CjIs1OMC.js.map +0 -1
  1274. package/dist/cjs/table-selection-B0zvrQJg.js +0 -93
  1275. package/dist/cjs/table-selection-B0zvrQJg.js.map +0 -1
  1276. package/dist/cjs/tooltip-align-BeYhiCq6.js +0 -16
  1277. package/dist/cjs/tooltip-align-BeYhiCq6.js.map +0 -1
  1278. package/dist/cjs/unique-nav-labels-DEtWDagf.js +0 -25
  1279. package/dist/cjs/unique-nav-labels-DEtWDagf.js.map +0 -1
  1280. package/dist/cjs/validation-4QVpAFd9.js +0 -19
  1281. package/dist/cjs/validation-4QVpAFd9.js.map +0 -1
  1282. package/dist/cjs/validation-DvL99Z_V.js +0 -16
  1283. package/dist/cjs/validation-DvL99Z_V.js.map +0 -1
  1284. package/dist/cjs/value-number-clamped-Ahfs15Fl.js +0 -28
  1285. package/dist/cjs/value-number-clamped-Ahfs15Fl.js.map +0 -1
  1286. package/dist/cjs/variant-class-name-BCWuCRd0.js +0 -18
  1287. package/dist/cjs/variant-class-name-BCWuCRd0.js.map +0 -1
  1288. package/dist/cjs/variant-quote-DpNzmCtr.js +0 -41
  1289. package/dist/cjs/variant-quote-DpNzmCtr.js.map +0 -1
  1290. package/dist/components/controller7.js +0 -92
  1291. package/dist/components/controller7.js.map +0 -1
  1292. package/dist/esm/Alert-AJTL0L55.js +0 -91
  1293. package/dist/esm/Alert-AJTL0L55.js.map +0 -1
  1294. package/dist/esm/Collapsible-BEdxs_wj.js +0 -25
  1295. package/dist/esm/Collapsible-BEdxs_wj.js.map +0 -1
  1296. package/dist/esm/CustomSuggestionsOptionsGroup-uPltJ6yX.js +0 -28
  1297. package/dist/esm/CustomSuggestionsOptionsGroup-uPltJ6yX.js.map +0 -1
  1298. package/dist/esm/FieldControlStateWrapper-KGmMzp9r.js +0 -121
  1299. package/dist/esm/FieldControlStateWrapper-KGmMzp9r.js.map +0 -1
  1300. package/dist/esm/FormFieldStateWrapper-BFjE8Awx.js +0 -839
  1301. package/dist/esm/FormFieldStateWrapper-BFjE8Awx.js.map +0 -1
  1302. package/dist/esm/Heading-Cib6ofVf.js +0 -39
  1303. package/dist/esm/Heading-Cib6ofVf.js.map +0 -1
  1304. package/dist/esm/Input-BDjgq2lD.js +0 -27
  1305. package/dist/esm/Input-BDjgq2lD.js.map +0 -1
  1306. package/dist/esm/InputStateWrapper-D-gNNDSo.js +0 -83
  1307. package/dist/esm/InputStateWrapper-D-gNNDSo.js.map +0 -1
  1308. package/dist/esm/access-and-short-key-D734WtlX.js +0 -36
  1309. package/dist/esm/access-and-short-key-D734WtlX.js.map +0 -1
  1310. package/dist/esm/align-DxZmRFcp.js +0 -22
  1311. package/dist/esm/align-DxZmRFcp.js.map +0 -1
  1312. package/dist/esm/align-floating-elements-D5XJiLiU.js +0 -1669
  1313. package/dist/esm/align-floating-elements-D5XJiLiU.js.map +0 -1
  1314. package/dist/esm/app-globals-C53387A0.js +0 -34
  1315. package/dist/esm/app-globals-C53387A0.js.map +0 -1
  1316. package/dist/esm/aria-expanded-hGdEA1jy.js +0 -26
  1317. package/dist/esm/aria-expanded-hGdEA1jy.js.map +0 -1
  1318. package/dist/esm/aria-labelledby-CEzR68x-.js +0 -57
  1319. package/dist/esm/aria-labelledby-CEzR68x-.js.map +0 -1
  1320. package/dist/esm/associated.controller-Bagx9pCw.js +0 -185
  1321. package/dist/esm/associated.controller-Bagx9pCw.js.map +0 -1
  1322. package/dist/esm/auto-complete-BbMivzAV.js +0 -16
  1323. package/dist/esm/auto-complete-BbMivzAV.js.map +0 -1
  1324. package/dist/esm/bem-registry-CWvl2xho.js +0 -160
  1325. package/dist/esm/bem-registry-CWvl2xho.js.map +0 -1
  1326. package/dist/esm/bootstrap-DPKvOz00.js +0 -31
  1327. package/dist/esm/bootstrap-DPKvOz00.js.map +0 -1
  1328. package/dist/esm/color-CAVnI0e-.js +0 -98
  1329. package/dist/esm/color-CAVnI0e-.js.map +0 -1
  1330. package/dist/esm/common-Cx_AGO_M.js +0 -1726
  1331. package/dist/esm/common-Cx_AGO_M.js.map +0 -1
  1332. package/dist/esm/component-BNiJg__a.js +0 -9148
  1333. package/dist/esm/component-BNiJg__a.js.map +0 -1
  1334. package/dist/esm/component-BxbVDypQ.js +0 -14
  1335. package/dist/esm/component-BxbVDypQ.js.map +0 -1
  1336. package/dist/esm/component-C8TLynUj.js +0 -21
  1337. package/dist/esm/component-C8TLynUj.js.map +0 -1
  1338. package/dist/esm/contrast-DlURrMX4.js +0 -97
  1339. package/dist/esm/contrast-DlURrMX4.js.map +0 -1
  1340. package/dist/esm/controller-3V2_laGc.js +0 -48
  1341. package/dist/esm/controller-3V2_laGc.js.map +0 -1
  1342. package/dist/esm/controller-BZzYBR3Y.js +0 -120
  1343. package/dist/esm/controller-BZzYBR3Y.js.map +0 -1
  1344. package/dist/esm/controller-Bdve6A-Q.js +0 -239
  1345. package/dist/esm/controller-Bdve6A-Q.js.map +0 -1
  1346. package/dist/esm/controller-DRE7PRMK.js +0 -96
  1347. package/dist/esm/controller-DRE7PRMK.js.map +0 -1
  1348. package/dist/esm/controller-Dbt1n-71.js +0 -91
  1349. package/dist/esm/controller-Dbt1n-71.js.map +0 -1
  1350. package/dist/esm/controller-Dmg3gec7.js +0 -52
  1351. package/dist/esm/controller-Dmg3gec7.js.map +0 -1
  1352. package/dist/esm/controller-icon-tRwi0agJ.js +0 -165
  1353. package/dist/esm/controller-icon-tRwi0agJ.js.map +0 -1
  1354. package/dist/esm/custom-class-DlT-QmWF.js +0 -15
  1355. package/dist/esm/custom-class-DlT-QmWF.js.map +0 -1
  1356. package/dist/esm/dev.utils-BekwJpl6.js +0 -81
  1357. package/dist/esm/dev.utils-BekwJpl6.js.map +0 -1
  1358. package/dist/esm/devtools-Dpq7zJde.js +0 -101
  1359. package/dist/esm/devtools-Dpq7zJde.js.map +0 -1
  1360. package/dist/esm/disabled-gyBUQRnY.js +0 -21
  1361. package/dist/esm/disabled-gyBUQRnY.js.map +0 -1
  1362. package/dist/esm/element-focus-CRwW4N4R.js +0 -95
  1363. package/dist/esm/element-focus-CRwW4N4R.js.map +0 -1
  1364. package/dist/esm/element-interaction-Bv-mPSBn.js +0 -49
  1365. package/dist/esm/element-interaction-Bv-mPSBn.js.map +0 -1
  1366. package/dist/esm/events-VVvk1win.js +0 -41
  1367. package/dist/esm/events-VVvk1win.js.map +0 -1
  1368. package/dist/esm/has-closer-B8w7bVjx.js +0 -13
  1369. package/dist/esm/has-closer-B8w7bVjx.js.map +0 -1
  1370. package/dist/esm/hide-label-6Bx1MH20.js +0 -13
  1371. package/dist/esm/hide-label-6Bx1MH20.js.map +0 -1
  1372. package/dist/esm/href-Dp4go7zq.js +0 -13
  1373. package/dist/esm/href-Dp4go7zq.js.map +0 -1
  1374. package/dist/esm/i18n-Br16IAnY.js +0 -19
  1375. package/dist/esm/i18n-Br16IAnY.js.map +0 -1
  1376. package/dist/esm/icons-oAzMYWgV.js +0 -84
  1377. package/dist/esm/icons-oAzMYWgV.js.map +0 -1
  1378. package/dist/esm/index-BX3wS_TZ.js +0 -2878
  1379. package/dist/esm/index-BX3wS_TZ.js.map +0 -1
  1380. package/dist/esm/inline-DnwpECF8.js +0 -13
  1381. package/dist/esm/inline-DnwpECF8.js.map +0 -1
  1382. package/dist/esm/label-Fyi30H9j.js +0 -45
  1383. package/dist/esm/label-Fyi30H9j.js.map +0 -1
  1384. package/dist/esm/label-KTv-zMW0.js +0 -11
  1385. package/dist/esm/label-KTv-zMW0.js.map +0 -1
  1386. package/dist/esm/level-1jyaYIAE.js +0 -12
  1387. package/dist/esm/level-1jyaYIAE.js.map +0 -1
  1388. package/dist/esm/max-length-behavior-CpaNmMus.js +0 -22
  1389. package/dist/esm/max-length-behavior-CpaNmMus.js.map +0 -1
  1390. package/dist/esm/multiple-DqCQ-txe.js +0 -13
  1391. package/dist/esm/multiple-DqCQ-txe.js.map +0 -1
  1392. package/dist/esm/normalizers-m3s9sgmq.js +0 -641
  1393. package/dist/esm/normalizers-m3s9sgmq.js.map +0 -1
  1394. package/dist/esm/open-Dw4Y2dzo.js +0 -13
  1395. package/dist/esm/open-Dw4Y2dzo.js.map +0 -1
  1396. package/dist/esm/orientation-CjNmUJp-.js +0 -16
  1397. package/dist/esm/orientation-CjNmUJp-.js.map +0 -1
  1398. package/dist/esm/placeholder-DTOUrN5s.js +0 -13
  1399. package/dist/esm/placeholder-DTOUrN5s.js.map +0 -1
  1400. package/dist/esm/read-only-DUMeby7s.js +0 -13
  1401. package/dist/esm/read-only-DUMeby7s.js.map +0 -1
  1402. package/dist/esm/required-DFzRSWky.js +0 -13
  1403. package/dist/esm/required-DFzRSWky.js.map +0 -1
  1404. package/dist/esm/rows-htbnIG9G.js +0 -13
  1405. package/dist/esm/rows-htbnIG9G.js.map +0 -1
  1406. package/dist/esm/spell-check-BtaQyLZc.js +0 -15
  1407. package/dist/esm/spell-check-BtaQyLZc.js.map +0 -1
  1408. package/dist/esm/src-DkLxm4tr.js +0 -11
  1409. package/dist/esm/src-DkLxm4tr.js.map +0 -1
  1410. package/dist/esm/suggestions-DEcHprcz.js +0 -21
  1411. package/dist/esm/suggestions-DEcHprcz.js.map +0 -1
  1412. package/dist/esm/table-selection-DmmUo33G.js +0 -85
  1413. package/dist/esm/table-selection-DmmUo33G.js.map +0 -1
  1414. package/dist/esm/tooltip-align-mwhvx9nK.js +0 -14
  1415. package/dist/esm/tooltip-align-mwhvx9nK.js.map +0 -1
  1416. package/dist/esm/unique-nav-labels-ZepmMUSu.js +0 -22
  1417. package/dist/esm/unique-nav-labels-ZepmMUSu.js.map +0 -1
  1418. package/dist/esm/validation-D6nATCh8.js +0 -17
  1419. package/dist/esm/validation-D6nATCh8.js.map +0 -1
  1420. package/dist/esm/validation-DGQ9Zja2.js +0 -14
  1421. package/dist/esm/validation-DGQ9Zja2.js.map +0 -1
  1422. package/dist/esm/value-number-clamped-47tM199y.js +0 -24
  1423. package/dist/esm/value-number-clamped-47tM199y.js.map +0 -1
  1424. package/dist/esm/variant-class-name-BCcQYpIV.js +0 -16
  1425. package/dist/esm/variant-class-name-BCcQYpIV.js.map +0 -1
  1426. package/dist/esm/variant-quote-y0Z1TRdz.js +0 -37
  1427. package/dist/esm/variant-quote-y0Z1TRdz.js.map +0 -1
  1428. package/dist/kolibri/Alert-AJTL0L55.js +0 -5
  1429. package/dist/kolibri/Alert-AJTL0L55.js.map +0 -1
  1430. package/dist/kolibri/Collapsible-BEdxs_wj.js +0 -5
  1431. package/dist/kolibri/Collapsible-BEdxs_wj.js.map +0 -1
  1432. package/dist/kolibri/CustomSuggestionsOptionsGroup-uPltJ6yX.js +0 -5
  1433. package/dist/kolibri/CustomSuggestionsOptionsGroup-uPltJ6yX.js.map +0 -1
  1434. package/dist/kolibri/FieldControlStateWrapper-KGmMzp9r.js +0 -5
  1435. package/dist/kolibri/FieldControlStateWrapper-KGmMzp9r.js.map +0 -1
  1436. package/dist/kolibri/FormFieldStateWrapper-BFjE8Awx.js +0 -5
  1437. package/dist/kolibri/FormFieldStateWrapper-BFjE8Awx.js.map +0 -1
  1438. package/dist/kolibri/Heading-Cib6ofVf.js +0 -5
  1439. package/dist/kolibri/Heading-Cib6ofVf.js.map +0 -1
  1440. package/dist/kolibri/Input-BDjgq2lD.js +0 -5
  1441. package/dist/kolibri/Input-BDjgq2lD.js.map +0 -1
  1442. package/dist/kolibri/InputStateWrapper-D-gNNDSo.js +0 -5
  1443. package/dist/kolibri/InputStateWrapper-D-gNNDSo.js.map +0 -1
  1444. package/dist/kolibri/access-and-short-key-D734WtlX.js +0 -5
  1445. package/dist/kolibri/access-and-short-key-D734WtlX.js.map +0 -1
  1446. package/dist/kolibri/align-DxZmRFcp.js +0 -5
  1447. package/dist/kolibri/align-DxZmRFcp.js.map +0 -1
  1448. package/dist/kolibri/align-floating-elements-D5XJiLiU.js +0 -5
  1449. package/dist/kolibri/align-floating-elements-D5XJiLiU.js.map +0 -1
  1450. package/dist/kolibri/app-globals-C53387A0.js +0 -5
  1451. package/dist/kolibri/app-globals-C53387A0.js.map +0 -1
  1452. package/dist/kolibri/aria-expanded-hGdEA1jy.js +0 -5
  1453. package/dist/kolibri/aria-expanded-hGdEA1jy.js.map +0 -1
  1454. package/dist/kolibri/aria-labelledby-CEzR68x-.js +0 -5
  1455. package/dist/kolibri/aria-labelledby-CEzR68x-.js.map +0 -1
  1456. package/dist/kolibri/associated.controller-Bagx9pCw.js +0 -5
  1457. package/dist/kolibri/associated.controller-Bagx9pCw.js.map +0 -1
  1458. package/dist/kolibri/auto-complete-BbMivzAV.js +0 -5
  1459. package/dist/kolibri/auto-complete-BbMivzAV.js.map +0 -1
  1460. package/dist/kolibri/bem-registry-CWvl2xho.js +0 -5
  1461. package/dist/kolibri/bem-registry-CWvl2xho.js.map +0 -1
  1462. package/dist/kolibri/bootstrap-DPKvOz00.js +0 -5
  1463. package/dist/kolibri/bootstrap-DPKvOz00.js.map +0 -1
  1464. package/dist/kolibri/color-CAVnI0e-.js +0 -5
  1465. package/dist/kolibri/color-CAVnI0e-.js.map +0 -1
  1466. package/dist/kolibri/common-Cx_AGO_M.js +0 -5
  1467. package/dist/kolibri/common-Cx_AGO_M.js.map +0 -1
  1468. package/dist/kolibri/component-BNiJg__a.js +0 -5
  1469. package/dist/kolibri/component-BNiJg__a.js.map +0 -1
  1470. package/dist/kolibri/component-BxbVDypQ.js +0 -5
  1471. package/dist/kolibri/component-BxbVDypQ.js.map +0 -1
  1472. package/dist/kolibri/component-C8TLynUj.js +0 -5
  1473. package/dist/kolibri/component-C8TLynUj.js.map +0 -1
  1474. package/dist/kolibri/contrast-DlURrMX4.js +0 -5
  1475. package/dist/kolibri/contrast-DlURrMX4.js.map +0 -1
  1476. package/dist/kolibri/controller-3V2_laGc.js +0 -5
  1477. package/dist/kolibri/controller-3V2_laGc.js.map +0 -1
  1478. package/dist/kolibri/controller-BZzYBR3Y.js +0 -5
  1479. package/dist/kolibri/controller-BZzYBR3Y.js.map +0 -1
  1480. package/dist/kolibri/controller-Bdve6A-Q.js +0 -5
  1481. package/dist/kolibri/controller-Bdve6A-Q.js.map +0 -1
  1482. package/dist/kolibri/controller-DRE7PRMK.js +0 -5
  1483. package/dist/kolibri/controller-DRE7PRMK.js.map +0 -1
  1484. package/dist/kolibri/controller-Dbt1n-71.js +0 -5
  1485. package/dist/kolibri/controller-Dbt1n-71.js.map +0 -1
  1486. package/dist/kolibri/controller-Dmg3gec7.js +0 -5
  1487. package/dist/kolibri/controller-Dmg3gec7.js.map +0 -1
  1488. package/dist/kolibri/controller-icon-tRwi0agJ.js +0 -5
  1489. package/dist/kolibri/controller-icon-tRwi0agJ.js.map +0 -1
  1490. package/dist/kolibri/custom-class-DlT-QmWF.js +0 -5
  1491. package/dist/kolibri/custom-class-DlT-QmWF.js.map +0 -1
  1492. package/dist/kolibri/dev.utils-BekwJpl6.js +0 -5
  1493. package/dist/kolibri/dev.utils-BekwJpl6.js.map +0 -1
  1494. package/dist/kolibri/devtools-Dpq7zJde.js +0 -5
  1495. package/dist/kolibri/devtools-Dpq7zJde.js.map +0 -1
  1496. package/dist/kolibri/disabled-gyBUQRnY.js +0 -5
  1497. package/dist/kolibri/disabled-gyBUQRnY.js.map +0 -1
  1498. package/dist/kolibri/element-focus-CRwW4N4R.js +0 -5
  1499. package/dist/kolibri/element-focus-CRwW4N4R.js.map +0 -1
  1500. package/dist/kolibri/element-interaction-Bv-mPSBn.js +0 -5
  1501. package/dist/kolibri/element-interaction-Bv-mPSBn.js.map +0 -1
  1502. package/dist/kolibri/events-VVvk1win.js +0 -5
  1503. package/dist/kolibri/events-VVvk1win.js.map +0 -1
  1504. package/dist/kolibri/has-closer-B8w7bVjx.js +0 -5
  1505. package/dist/kolibri/has-closer-B8w7bVjx.js.map +0 -1
  1506. package/dist/kolibri/hide-label-6Bx1MH20.js +0 -5
  1507. package/dist/kolibri/hide-label-6Bx1MH20.js.map +0 -1
  1508. package/dist/kolibri/href-Dp4go7zq.js +0 -5
  1509. package/dist/kolibri/href-Dp4go7zq.js.map +0 -1
  1510. package/dist/kolibri/i18n-Br16IAnY.js +0 -5
  1511. package/dist/kolibri/i18n-Br16IAnY.js.map +0 -1
  1512. package/dist/kolibri/icons-oAzMYWgV.js +0 -5
  1513. package/dist/kolibri/icons-oAzMYWgV.js.map +0 -1
  1514. package/dist/kolibri/index-BX3wS_TZ.js +0 -6
  1515. package/dist/kolibri/index-BX3wS_TZ.js.map +0 -1
  1516. package/dist/kolibri/inline-DnwpECF8.js +0 -5
  1517. package/dist/kolibri/inline-DnwpECF8.js.map +0 -1
  1518. package/dist/kolibri/label-Fyi30H9j.js +0 -5
  1519. package/dist/kolibri/label-Fyi30H9j.js.map +0 -1
  1520. package/dist/kolibri/label-KTv-zMW0.js +0 -5
  1521. package/dist/kolibri/label-KTv-zMW0.js.map +0 -1
  1522. package/dist/kolibri/level-1jyaYIAE.js +0 -5
  1523. package/dist/kolibri/level-1jyaYIAE.js.map +0 -1
  1524. package/dist/kolibri/max-length-behavior-CpaNmMus.js +0 -5
  1525. package/dist/kolibri/max-length-behavior-CpaNmMus.js.map +0 -1
  1526. package/dist/kolibri/multiple-DqCQ-txe.js +0 -5
  1527. package/dist/kolibri/multiple-DqCQ-txe.js.map +0 -1
  1528. package/dist/kolibri/normalizers-m3s9sgmq.js +0 -5
  1529. package/dist/kolibri/normalizers-m3s9sgmq.js.map +0 -1
  1530. package/dist/kolibri/open-Dw4Y2dzo.js +0 -5
  1531. package/dist/kolibri/open-Dw4Y2dzo.js.map +0 -1
  1532. package/dist/kolibri/orientation-CjNmUJp-.js +0 -5
  1533. package/dist/kolibri/orientation-CjNmUJp-.js.map +0 -1
  1534. package/dist/kolibri/placeholder-DTOUrN5s.js +0 -5
  1535. package/dist/kolibri/placeholder-DTOUrN5s.js.map +0 -1
  1536. package/dist/kolibri/read-only-DUMeby7s.js +0 -5
  1537. package/dist/kolibri/read-only-DUMeby7s.js.map +0 -1
  1538. package/dist/kolibri/required-DFzRSWky.js +0 -5
  1539. package/dist/kolibri/required-DFzRSWky.js.map +0 -1
  1540. package/dist/kolibri/rows-htbnIG9G.js +0 -5
  1541. package/dist/kolibri/rows-htbnIG9G.js.map +0 -1
  1542. package/dist/kolibri/spell-check-BtaQyLZc.js +0 -5
  1543. package/dist/kolibri/spell-check-BtaQyLZc.js.map +0 -1
  1544. package/dist/kolibri/src-DkLxm4tr.js +0 -5
  1545. package/dist/kolibri/src-DkLxm4tr.js.map +0 -1
  1546. package/dist/kolibri/suggestions-DEcHprcz.js +0 -5
  1547. package/dist/kolibri/suggestions-DEcHprcz.js.map +0 -1
  1548. package/dist/kolibri/table-selection-DmmUo33G.js +0 -5
  1549. package/dist/kolibri/table-selection-DmmUo33G.js.map +0 -1
  1550. package/dist/kolibri/tooltip-align-mwhvx9nK.js +0 -5
  1551. package/dist/kolibri/tooltip-align-mwhvx9nK.js.map +0 -1
  1552. package/dist/kolibri/unique-nav-labels-ZepmMUSu.js +0 -5
  1553. package/dist/kolibri/unique-nav-labels-ZepmMUSu.js.map +0 -1
  1554. package/dist/kolibri/validation-D6nATCh8.js +0 -5
  1555. package/dist/kolibri/validation-D6nATCh8.js.map +0 -1
  1556. package/dist/kolibri/validation-DGQ9Zja2.js +0 -5
  1557. package/dist/kolibri/validation-DGQ9Zja2.js.map +0 -1
  1558. package/dist/kolibri/value-number-clamped-47tM199y.js +0 -5
  1559. package/dist/kolibri/value-number-clamped-47tM199y.js.map +0 -1
  1560. package/dist/kolibri/variant-class-name-BCcQYpIV.js +0 -5
  1561. package/dist/kolibri/variant-class-name-BCcQYpIV.js.map +0 -1
  1562. package/dist/kolibri/variant-quote-y0Z1TRdz.js +0 -5
  1563. package/dist/kolibri/variant-quote-y0Z1TRdz.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\nimport type { TranslationKey } from '../../../i18n';\nimport { translate } from '../../../i18n';\n\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { MeterApi } from './api';\n\ntype MeterState = 'optimum' | 'suboptimal' | 'critical';\n\nfunction getMeterState(value: number, min: number, max: number, low: number | undefined, high: number | undefined, optimum: number | undefined): MeterState {\n\tconst effectiveLow = low ?? min;\n\tconst effectiveHigh = high ?? max;\n\n\tif (optimum === undefined) {\n\t\tconst inMidRegion = value >= effectiveLow && value <= effectiveHigh;\n\t\treturn inMidRegion ? 'optimum' : 'suboptimal';\n\t}\n\n\tconst inLowRegion = value < effectiveLow;\n\tconst inHighRegion = value > effectiveHigh;\n\tconst inMidRegion = !inLowRegion && !inHighRegion;\n\n\tconst optimumInLow = optimum < effectiveLow;\n\tconst optimumInHigh = optimum > effectiveHigh;\n\n\tif (optimumInLow) {\n\t\tif (inLowRegion) return 'optimum';\n\t\tif (inMidRegion) return 'suboptimal';\n\t\treturn 'critical';\n\t} else if (optimumInHigh) {\n\t\tif (inHighRegion) return 'optimum';\n\t\tif (inMidRegion) return 'suboptimal';\n\t\treturn 'critical';\n\t} else {\n\t\tif (inMidRegion) return 'optimum';\n\t\treturn 'suboptimal';\n\t}\n}\n\ntype MeterFCProps = Omit<FunctionalComponentProps<MeterApi>, 'high' | 'low' | 'optimum'> & {\n\thigh: number | undefined;\n\tlow: number | undefined;\n\toptimum: number | undefined;\n};\n\nexport const MeterFC: FC<MeterFCProps> = (props) => {\n\tconst { high, label, low, liveValue, max, min, optimum, orientation, unit, value } = props;\n\n\tconst isVertical = orientation === 'vertical';\n\tconst isPercentage = unit === '%';\n\tconst displayValue = isPercentage ? Math.round(((value - min) / (max - min)) * 100) : value;\n\tconst liveMeterValue = isPercentage ? `${Math.round(((liveValue - min) / (max - min)) * 100)}` : liveValue;\n\tconst state = getMeterState(value, min, max, low, high, optimum);\n\n\t// State classification is only meaningful when low or high boundaries are defined\n\tconst hasStateClassification = low !== undefined || high !== undefined;\n\tconst stateLabel = hasStateClassification ? translate(`kol-meter-state-${state}` as TranslationKey) : '';\n\n\tconst liveValueText = isPercentage\n\t\t? translate('kol-live-value', { placeholders: { value: String(liveMeterValue), unit } })\n\t\t: translate('kol-live-value-bounded', { placeholders: { value: String(liveMeterValue), max: String(max), unit } });\n\tconst liveValueWithState = hasStateClassification ? `${liveValueText} – ${stateLabel}` : liveValueText;\n\n\tconst charCount = max.toString().length > min.toString().length ? max.toString().length + 'ch' : min.toString().length + 'ch';\n\n\treturn (\n\t\t<div class={{ 'kol-meter': true, 'kol-meter--vertical': isVertical }}>\n\t\t\t<div class=\"kol-meter__bar\">\n\t\t\t\t<div class=\"kol-meter__bar-label\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{hasStateClassification && (\n\t\t\t\t\t\t<span class={`kol-meter__bar-state kol-meter__bar-state--${state}`}>\n\t\t\t\t\t\t\t{' – '}\n\t\t\t\t\t\t\t{stateLabel}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"kol-meter__bar-track\">\n\t\t\t\t\t<meter aria-label={label} high={high} low={low} max={max} min={min} optimum={optimum} value={value}></meter>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"kol-meter__value-unit\">\n\t\t\t\t\t<span class=\"kol-meter__value\" style={{ 'min-width': charCount }}>\n\t\t\t\t\t\t{displayValue}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"kol-meter__unit\">{unit}</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\n\t\t\t<span aria-live=\"polite\" aria-relevant=\"additions text\" class=\"visually-hidden\">\n\t\t\t\t{liveValueWithState}\n\t\t\t</span>\n\t\t</div>\n\t);\n};\n"]}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\nimport type { TranslationKey } from '../../../i18n';\nimport { translate } from '../../../i18n';\n\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { MeterApi } from './api';\n\ntype MeterState = 'optimum' | 'suboptimal' | 'critical';\n\nfunction getMeterState(value: number, min: number, max: number, low: number | undefined, high: number | undefined, optimum: number | undefined): MeterState {\n\tconst effectiveLow = low ?? min;\n\tconst effectiveHigh = high ?? max;\n\n\tif (optimum === undefined) {\n\t\tconst inMidRegion = value >= effectiveLow && value <= effectiveHigh;\n\t\treturn inMidRegion ? 'optimum' : 'suboptimal';\n\t}\n\n\tconst inLowRegion = value < effectiveLow;\n\tconst inHighRegion = value > effectiveHigh;\n\tconst inMidRegion = !inLowRegion && !inHighRegion;\n\n\tconst optimumInLow = optimum < effectiveLow;\n\tconst optimumInHigh = optimum > effectiveHigh;\n\n\tif (optimumInLow) {\n\t\tif (inLowRegion) return 'optimum';\n\t\tif (inMidRegion) return 'suboptimal';\n\t\treturn 'critical';\n\t} else if (optimumInHigh) {\n\t\tif (inHighRegion) return 'optimum';\n\t\tif (inMidRegion) return 'suboptimal';\n\t\treturn 'critical';\n\t} else {\n\t\tif (inMidRegion) return 'optimum';\n\t\treturn 'suboptimal';\n\t}\n}\n\ntype MeterFCProps = Omit<FunctionalComponentProps<MeterApi>, 'high' | 'low' | 'optimum'> & {\n\thigh: number | undefined;\n\tlow: number | undefined;\n\toptimum: number | undefined;\n};\n\nexport const MeterFC: FC<MeterFCProps> = (props) => {\n\tconst { high, label, low, max, min, optimum, orientation, unit, value } = props;\n\n\tconst isVertical = orientation === 'vertical';\n\tconst isPercentage = unit === '%';\n\tconst displayValue = isPercentage ? Math.round(((value - min) / (max - min)) * 100) : value;\n\tconst state = getMeterState(value, min, max, low, high, optimum);\n\n\t// State classification is only meaningful when low or high boundaries are defined\n\tconst hasStateClassification = low !== undefined || high !== undefined;\n\tconst stateLabel = hasStateClassification ? translate(`kol-meter-state-${state}` as TranslationKey) : '';\n\n\tconst charCount = max.toString().length > min.toString().length ? max.toString().length + 'ch' : min.toString().length + 'ch';\n\n\treturn (\n\t\t<div class={{ 'kol-meter': true, 'kol-meter--vertical': isVertical }}>\n\t\t\t<div class=\"kol-meter__bar\">\n\t\t\t\t<div class=\"kol-meter__bar-label\">\n\t\t\t\t\t{label}\n\t\t\t\t\t{hasStateClassification && (\n\t\t\t\t\t\t<span class={`kol-meter__bar-state kol-meter__bar-state--${state}`}>\n\t\t\t\t\t\t\t{' – '}\n\t\t\t\t\t\t\t{stateLabel}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"kol-meter__bar-track\">\n\t\t\t\t\t<meter aria-label={label} high={high} low={low} max={max} min={min} optimum={optimum} value={value}></meter>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"kol-meter__value-unit\">\n\t\t\t\t\t<span class=\"kol-meter__value\" style={{ 'min-width': charCount }}>\n\t\t\t\t\t\t{displayValue}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span class=\"kol-meter__unit\">{unit}</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n"]}
@@ -20,14 +20,6 @@ export class MeterController extends BaseController {
20
20
  this.watchOrientation(orientation);
21
21
  this.watchUnit(unit);
22
22
  this.watchValue(value);
23
- this.setState('liveValue', this.getRenderProp('value'));
24
- this.startLiveValueInterval();
25
- }
26
- destroy() {
27
- if (this.interval) {
28
- clearInterval(this.interval);
29
- this.interval = undefined;
30
- }
31
23
  }
32
24
  getMeterData() {
33
25
  return this.meterData;
@@ -95,13 +87,5 @@ export class MeterController extends BaseController {
95
87
  this.setRenderProp('value', v);
96
88
  }, { min: this.getRenderProp('min'), max: this.getRenderProp('max') });
97
89
  }
98
- startLiveValueInterval() {
99
- this.interval = setInterval(() => {
100
- const value = this.getRenderProp('value');
101
- if (this.getState('liveValue') !== value) {
102
- this.setState('liveValue', value);
103
- }
104
- }, 5000);
105
- }
106
90
  }
107
91
  //# sourceMappingURL=controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { clampedNumberValueProp, highProp, labelProp, lowProp, maxProp, minProp, optimumProp, orientationProp, unitProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { MeterApi } from './api';\nimport { meterPropsConfig } from './api';\n\ntype MeterData = {\n\thigh: number | undefined;\n\tlow: number | undefined;\n\toptimum: number | undefined;\n};\n\nexport class MeterController extends BaseController<MeterApi> implements ControllerInterface<MeterApi> {\n\tprivate interval?: ReturnType<typeof setInterval>;\n\tprivate meterData: MeterData = { high: undefined, low: undefined, optimum: undefined };\n\n\tpublic constructor(stateAccess: StateAccess<MeterApi>) {\n\t\tsuper(stateAccess, meterPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<MeterApi>): void {\n\t\tconst { high, label, low, max, min, optimum, orientation, unit, value } = props;\n\t\tthis.watchHigh(high);\n\t\tthis.watchLabel(label);\n\t\tthis.watchLow(low);\n\t\tthis.watchMax(max);\n\t\tthis.watchMin(min);\n\t\tthis.watchOptimum(optimum);\n\t\tthis.watchOrientation(orientation);\n\t\tthis.watchUnit(unit);\n\t\tthis.watchValue(value);\n\n\t\tthis.setState('liveValue', this.getRenderProp('value'));\n\t\tthis.startLiveValueInterval();\n\t}\n\n\tpublic destroy(): void {\n\t\tif (this.interval) {\n\t\t\tclearInterval(this.interval);\n\t\t\tthis.interval = undefined;\n\t\t}\n\t}\n\n\tpublic getMeterData(): MeterData {\n\t\treturn this.meterData;\n\t}\n\n\tpublic watchHigh(value?: number): void {\n\t\tif (value === undefined) {\n\t\t\tthis.meterData.high = undefined;\n\t\t} else {\n\t\t\thighProp.apply(value, (v) => {\n\t\t\t\tthis.meterData.high = v;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic watchLabel(value?: string): void {\n\t\tlabelProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t});\n\t}\n\n\tpublic watchLow(value?: number): void {\n\t\tif (value === undefined) {\n\t\t\tthis.meterData.low = undefined;\n\t\t} else {\n\t\t\tlowProp.apply(value, (v) => {\n\t\t\t\tthis.meterData.low = v;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic watchMax(value?: number): void {\n\t\tmaxProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('max', v);\n\t\t\tthis.watchValue(this.getRawProp('value'));\n\t\t});\n\t}\n\n\tpublic watchMin(value?: number): void {\n\t\tminProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('min', v);\n\t\t\tthis.watchValue(this.getRawProp('value'));\n\t\t});\n\t}\n\n\tpublic watchOptimum(value?: number): void {\n\t\tif (value === undefined) {\n\t\t\tthis.meterData.optimum = undefined;\n\t\t} else {\n\t\t\toptimumProp.apply(value, (v) => {\n\t\t\t\tthis.meterData.optimum = v;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic watchOrientation(value?: string): void {\n\t\torientationProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('orientation', v);\n\t\t});\n\t}\n\n\tpublic watchUnit(value?: string): void {\n\t\tunitProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('unit', v);\n\t\t});\n\t}\n\n\tpublic watchValue(value?: number): void {\n\t\tthis.setRawProp('value', value);\n\t\tclampedNumberValueProp.apply(\n\t\t\tvalue,\n\t\t\t(v) => {\n\t\t\t\tthis.setRenderProp('value', v);\n\t\t\t},\n\t\t\t{ min: this.getRenderProp('min'), max: this.getRenderProp('max') },\n\t\t);\n\t}\n\n\tprivate startLiveValueInterval(): void {\n\t\tthis.interval = setInterval(() => {\n\t\t\tconst value = this.getRenderProp('value');\n\t\t\tif (this.getState('liveValue') !== value) {\n\t\t\t\tthis.setState('liveValue', value);\n\t\t\t}\n\t\t}, 5000);\n\t}\n}\n"]}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/meter/controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { clampedNumberValueProp, highProp, labelProp, lowProp, maxProp, minProp, optimumProp, orientationProp, unitProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { MeterApi } from './api';\nimport { meterPropsConfig } from './api';\n\ntype MeterData = {\n\thigh: number | undefined;\n\tlow: number | undefined;\n\toptimum: number | undefined;\n};\n\nexport class MeterController extends BaseController<MeterApi> implements ControllerInterface<MeterApi> {\n\tprivate meterData: MeterData = { high: undefined, low: undefined, optimum: undefined };\n\n\tpublic constructor(stateAccess: StateAccess<MeterApi>) {\n\t\tsuper(stateAccess, meterPropsConfig);\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<MeterApi>): void {\n\t\tconst { high, label, low, max, min, optimum, orientation, unit, value } = props;\n\t\tthis.watchHigh(high);\n\t\tthis.watchLabel(label);\n\t\tthis.watchLow(low);\n\t\tthis.watchMax(max);\n\t\tthis.watchMin(min);\n\t\tthis.watchOptimum(optimum);\n\t\tthis.watchOrientation(orientation);\n\t\tthis.watchUnit(unit);\n\t\tthis.watchValue(value);\n\t}\n\n\tpublic getMeterData(): MeterData {\n\t\treturn this.meterData;\n\t}\n\n\tpublic watchHigh(value?: number): void {\n\t\tif (value === undefined) {\n\t\t\tthis.meterData.high = undefined;\n\t\t} else {\n\t\t\thighProp.apply(value, (v) => {\n\t\t\t\tthis.meterData.high = v;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic watchLabel(value?: string): void {\n\t\tlabelProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t});\n\t}\n\n\tpublic watchLow(value?: number): void {\n\t\tif (value === undefined) {\n\t\t\tthis.meterData.low = undefined;\n\t\t} else {\n\t\t\tlowProp.apply(value, (v) => {\n\t\t\t\tthis.meterData.low = v;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic watchMax(value?: number): void {\n\t\tmaxProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('max', v);\n\t\t\tthis.watchValue(this.getRawProp('value'));\n\t\t});\n\t}\n\n\tpublic watchMin(value?: number): void {\n\t\tminProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('min', v);\n\t\t\tthis.watchValue(this.getRawProp('value'));\n\t\t});\n\t}\n\n\tpublic watchOptimum(value?: number): void {\n\t\tif (value === undefined) {\n\t\t\tthis.meterData.optimum = undefined;\n\t\t} else {\n\t\t\toptimumProp.apply(value, (v) => {\n\t\t\t\tthis.meterData.optimum = v;\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic watchOrientation(value?: string): void {\n\t\torientationProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('orientation', v);\n\t\t});\n\t}\n\n\tpublic watchUnit(value?: string): void {\n\t\tunitProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('unit', v);\n\t\t});\n\t}\n\n\tpublic watchValue(value?: number): void {\n\t\tthis.setRawProp('value', value);\n\t\tclampedNumberValueProp.apply(\n\t\t\tvalue,\n\t\t\t(v) => {\n\t\t\t\tthis.setRenderProp('value', v);\n\t\t\t},\n\t\t\t{ min: this.getRenderProp('min'), max: this.getRenderProp('max') },\n\t\t);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/skeleton/api.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACgB,CAAC","sourcesContent":["import { nameProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const skeletonPropsConfig = {\n\trequired: [nameProp],\n} as const satisfies PropsConfigShape;\n\nexport type SkeletonApi = ApiFromConfig<\n\ttypeof skeletonPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\tclick: () => void;\n\t\t};\n\t\tEmitters: {\n\t\t\tloaded: number;\n\t\t\trendered: void;\n\t\t};\n\t\tListeners: {\n\t\t\tkeydown: KeyboardEvent;\n\t\t};\n\t\tMethods: {\n\t\t\tfocus: () => void;\n\t\t\ttoggle: () => void;\n\t\t};\n\t\tRefs: {\n\t\t\tbutton: HTMLButtonElement;\n\t\t};\n\t\tStates: {\n\t\t\tcount: number;\n\t\t\tlabel: string;\n\t\t\tshow: boolean;\n\t\t};\n\t}\n>;\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/skeleton/api.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,QAAQ,EAAE,CAAC,QAAQ,CAAC;CACgB,CAAC","sourcesContent":["import type { KolFocusOptions } from '../../../schema';\nimport { nameProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\nexport const skeletonPropsConfig = {\n\trequired: [nameProp],\n} as const satisfies PropsConfigShape;\n\nexport type SkeletonApi = ApiFromConfig<\n\ttypeof skeletonPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\tclick: () => void;\n\t\t};\n\t\tEmitters: {\n\t\t\tloaded: number;\n\t\t\trendered: void;\n\t\t};\n\t\tListeners: {\n\t\t\tkeydown: KeyboardEvent;\n\t\t};\n\t\tMethods: {\n\t\t\tfocus: (options?: KolFocusOptions) => void;\n\t\t\ttoggle: () => void;\n\t\t};\n\t\tRefs: {\n\t\t\tbutton: HTMLButtonElement;\n\t\t};\n\t\tStates: {\n\t\t\tcount: number;\n\t\t\tlabel: string;\n\t\t\tshow: boolean;\n\t\t};\n\t}\n>;\n"]}
@@ -2,14 +2,15 @@
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
4
  import { Log } from "../../../schema";
5
+ import { setFocus } from "../../../utils/element-focus";
6
+ import { createCtaRef } from "../../../utils/element-interaction";
5
7
  import { nameProp } from "../../props";
6
8
  import { BaseController } from "../base-controller";
7
- import { BaseWebComponent } from "../base-web-component";
8
- import { ClickButtonController } from "../click-button/controller";
9
9
  import { skeletonPropsConfig } from "./api";
10
10
  export class SkeletonController extends BaseController {
11
11
  constructor(stateAccess) {
12
12
  super(stateAccess, skeletonPropsConfig);
13
+ this.buttonRef = createCtaRef();
13
14
  this.onKeydown = (event) => {
14
15
  if (event.key === 'Escape') {
15
16
  console.log('Show should be toggled');
@@ -22,17 +23,13 @@ export class SkeletonController extends BaseController {
22
23
  this.setState('count', ((_b = (_a = this.getState) === null || _a === void 0 ? void 0 : _a.call(this, 'count')) !== null && _b !== void 0 ? _b : 0) + 1);
23
24
  };
24
25
  this.setButtonRef = (element) => {
25
- this.clickButtonCtrl.setButtonRef(element);
26
+ this.buttonRef(element);
26
27
  };
27
- this.clickButtonCtrl = new ClickButtonController(BaseWebComponent.stateLess);
28
28
  this.startLoadedEventInterval();
29
29
  }
30
30
  componentWillLoad(props) {
31
31
  const { name } = props;
32
32
  this.watchName(name);
33
- this.clickButtonCtrl.componentWillLoad({
34
- label: 'Click me',
35
- });
36
33
  }
37
34
  watchName(value) {
38
35
  nameProp.apply(value, (v) => {
@@ -43,8 +40,8 @@ export class SkeletonController extends BaseController {
43
40
  var _a, _b;
44
41
  this.setState('show', !((_b = (_a = this.getState) === null || _a === void 0 ? void 0 : _a.call(this, 'show')) !== null && _b !== void 0 ? _b : false));
45
42
  }
46
- focus() {
47
- return this.clickButtonCtrl.focus();
43
+ focus(options) {
44
+ void setFocus(this.buttonRef.el, options);
48
45
  }
49
46
  startLoadedEventInterval() {
50
47
  this.intervalId = setInterval(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/skeleton/controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Log } from '../../../schema';\nimport { nameProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport { BaseWebComponent } from '../base-web-component';\nimport { ClickButtonController } from '../click-button/controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { SkeletonApi } from './api';\nimport { skeletonPropsConfig } from './api';\n\nexport class SkeletonController extends BaseController<SkeletonApi> implements ControllerInterface<SkeletonApi> {\n\tprivate readonly clickButtonCtrl: ClickButtonController;\n\tprivate intervalId?: ReturnType<typeof setTimeout>;\n\n\tpublic constructor(stateAccess: StateAccess<SkeletonApi>) {\n\t\tsuper(stateAccess, skeletonPropsConfig);\n\n\t\tthis.clickButtonCtrl = new ClickButtonController(BaseWebComponent.stateLess);\n\t\tthis.startLoadedEventInterval();\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<SkeletonApi>): void {\n\t\tconst { name } = props;\n\t\tthis.watchName(name);\n\n\t\tthis.clickButtonCtrl.componentWillLoad({\n\t\t\tlabel: 'Click me',\n\t\t});\n\t}\n\n\tpublic watchName(value?: string): void {\n\t\tnameProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('name', v);\n\t\t});\n\t}\n\n\tpublic toggle(): void {\n\t\tthis.setState('show', !(this.getState?.('show') ?? false));\n\t}\n\n\tpublic onKeydown = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log('Show should be toggled');\n\t\t\tvoid this.toggle();\n\t\t}\n\t};\n\n\tpublic handleClick = (): void => {\n\t\tLog.debug('Button clicked, count should be increased');\n\t\tthis.setState('count', (this.getState?.('count') ?? 0) + 1);\n\t};\n\n\tpublic focus(): void {\n\t\treturn this.clickButtonCtrl.focus();\n\t}\n\n\tpublic setButtonRef = (element?: HTMLButtonElement): void => {\n\t\tthis.clickButtonCtrl.setButtonRef(element);\n\t};\n\n\tprivate startLoadedEventInterval(): void {\n\t\t// Emit loaded event every 2 seconds with current count value\n\t\tthis.intervalId = setInterval(() => {\n\t\t\tthis.emitLoaded(this.getState?.('count') ?? 0);\n\t\t}, 2000);\n\t}\n\n\tprivate emitLoaded(count: number): void {\n\t\t// This method will be used by the web component to emit the loaded event\n\t\t// The web component needs to call this method to actually emit the event\n\t\t// We use a callback approach to let the web component handle the emission\n\t\tif (this.onLoadedCallback) {\n\t\t\tthis.onLoadedCallback(count);\n\t\t}\n\t}\n\n\tprivate onLoadedCallback?: (count: number) => void;\n\n\tpublic setOnLoadedCallback(callback: (count: number) => void): void {\n\t\tthis.onLoadedCallback = callback;\n\t}\n\n\tpublic destroy(): void {\n\t\tif (this.intervalId) {\n\t\t\tclearInterval(this.intervalId);\n\t\t\tthis.intervalId = undefined;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/internal/functional-components/skeleton/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,OAAO,kBAAmB,SAAQ,cAA2B;IAIlE,YAAmB,WAAqC;QACvD,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAJxB,cAAS,GAAG,YAAY,EAAqB,CAAC;QAuBxD,cAAS,GAAG,CAAC,KAAoB,EAAQ,EAAE;YACjD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAE5B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;gBACtC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC;QACF,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;;YAC/B,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,qDAAG,OAAO,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC;QAMK,iBAAY,GAAG,CAAC,OAA2B,EAAQ,EAAE;YAC3D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC;QArCD,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACjC,CAAC;IAEM,iBAAiB,CAAC,KAAsC;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEM,SAAS,CAAC,KAAc;QAC9B,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,MAAM;;QACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,qDAAG,MAAM,CAAC,mCAAI,KAAK,CAAC,CAAC,CAAC;IAC5D,CAAC;IAeM,KAAK,CAAC,OAAyB;QACrC,KAAK,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAMO,wBAAwB;QAE/B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;;YAClC,IAAI,CAAC,UAAU,CAAC,MAAA,MAAA,IAAI,CAAC,QAAQ,qDAAG,OAAO,CAAC,mCAAI,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,IAAI,CAAC,CAAC;IACV,CAAC;IAEO,UAAU,CAAC,KAAa;QAI/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAIM,mBAAmB,CAAC,QAAiC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAClC,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,CAAC;IACF,CAAC;CACD","sourcesContent":["import type { KolFocusOptions } from '../../../schema';\nimport { Log } from '../../../schema';\nimport { setFocus } from '../../../utils/element-focus';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { nameProp } from '../../props';\nimport { BaseController } from '../base-controller';\nimport type { ControllerInterface, ResolvedInputProps, StateAccess } from '../generic-types';\nimport type { SkeletonApi } from './api';\nimport { skeletonPropsConfig } from './api';\n\nexport class SkeletonController extends BaseController<SkeletonApi> implements ControllerInterface<SkeletonApi> {\n\tprivate readonly buttonRef = createCtaRef<HTMLButtonElement>();\n\tprivate intervalId?: ReturnType<typeof setTimeout>;\n\n\tpublic constructor(stateAccess: StateAccess<SkeletonApi>) {\n\t\tsuper(stateAccess, skeletonPropsConfig);\n\t\tthis.startLoadedEventInterval();\n\t}\n\n\tpublic componentWillLoad(props: ResolvedInputProps<SkeletonApi>): void {\n\t\tconst { name } = props;\n\t\tthis.watchName(name);\n\t}\n\n\tpublic watchName(value?: string): void {\n\t\tnameProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('name', v);\n\t\t});\n\t}\n\n\tpublic toggle(): void {\n\t\tthis.setState('show', !(this.getState?.('show') ?? false));\n\t}\n\n\tpublic onKeydown = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.log('Show should be toggled');\n\t\t\tvoid this.toggle();\n\t\t}\n\t};\n\n\tpublic handleClick = (): void => {\n\t\tLog.debug('Button clicked, count should be increased');\n\t\tthis.setState('count', (this.getState?.('count') ?? 0) + 1);\n\t};\n\n\tpublic focus(options?: KolFocusOptions): void {\n\t\tvoid setFocus(this.buttonRef.el, options);\n\t}\n\n\tpublic setButtonRef = (element?: HTMLButtonElement): void => {\n\t\tthis.buttonRef(element);\n\t};\n\n\tprivate startLoadedEventInterval(): void {\n\t\t// Emit loaded event every 2 seconds with current count value\n\t\tthis.intervalId = setInterval(() => {\n\t\t\tthis.emitLoaded(this.getState?.('count') ?? 0);\n\t\t}, 2000);\n\t}\n\n\tprivate emitLoaded(count: number): void {\n\t\t// This method will be used by the web component to emit the loaded event\n\t\t// The web component needs to call this method to actually emit the event\n\t\t// We use a callback approach to let the web component handle the emission\n\t\tif (this.onLoadedCallback) {\n\t\t\tthis.onLoadedCallback(count);\n\t\t}\n\t}\n\n\tprivate onLoadedCallback?: (count: number) => void;\n\n\tpublic setOnLoadedCallback(callback: (count: number) => void): void {\n\t\tthis.onLoadedCallback = callback;\n\t}\n\n\tpublic destroy(): void {\n\t\tif (this.intervalId) {\n\t\t\tclearInterval(this.intervalId);\n\t\t\tthis.intervalId = undefined;\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/schema/components/image.ts"],"names":[],"mappings":"","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { PropAlt, PropImageSizes, PropImageSource, PropImageSrcset, PropLoading } from '../props';\n\ntype RequiredProps = PropAlt & PropImageSource;\ntype OptionalProps = PropLoading & PropImageSizes & PropImageSrcset;\n\ntype RequiredStates = RequiredProps & PropLoading;\ntype OptionalStates = PropImageSizes & PropImageSrcset;\n\nexport type ImageProps = Generic.Element.Members<RequiredProps, OptionalProps>;\nexport type ImageStates = Generic.Element.Members<RequiredStates, OptionalStates>;\nexport type ImageAPI = Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates>;\n"]}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/schema/components/image.ts"],"names":[],"mappings":"","sourcesContent":["import type { EventCallback } from '../types';\n\nexport type KoliBriImageEventCallbacks = {\n\tonError?: EventCallback<Event>;\n\tonLoad?: EventCallback<Event>;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"input-password.js","sourceRoot":"","sources":["../../../src/schema/components/input-password.ts"],"names":[],"mappings":"","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type {\n\tMsgPropType,\n\tPropAccessKey,\n\tPropAutoComplete,\n\tPropDisabled,\n\tPropHasCounter,\n\tPropHideLabel,\n\tPropHideMsg,\n\tPropHint,\n\tPropHorizontalIcons,\n\tPropId,\n\tPropLabelWithExpertSlot,\n\tPropMaxLengthBehavior,\n\tPropMsg,\n\tPropName,\n\tPropReadOnly,\n\tPropRequired,\n\tPropShortKey,\n\tPropSyncValueBySelector,\n\tPropTouched,\n\tPropVariantClassName,\n} from '../props';\nimport { PropVisibilityToggle } from '../props/visibility-toggle';\nimport type { InputTypeOnDefault, KoliBriHIcons, Stringified } from '../types';\nimport type { InternalButtonProps } from './button';\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\tmaxLength: number;\n\ton: InputTypeOnDefault;\n\tpattern: string;\n\tplaceholder: string;\n\tsmartButton: Stringified<InternalButtonProps>;\n\tvalue: string;\n\tmsg: Stringified<MsgPropType>;\n} & PropAccessKey &\n\tPropAutoComplete &\n\tPropDisabled &\n\tPropHasCounter &\n\tPropHideMsg &\n\tPropHideLabel &\n\tPropHint &\n\tPropHorizontalIcons &\n\tPropMaxLengthBehavior &\n\tPropName &\n\tPropReadOnly &\n\tPropRequired &\n\tPropShortKey &\n\tPropSyncValueBySelector &\n\tPropTouched &\n\tPropVariantClassName &\n\tPropVisibilityToggle;\n\ntype RequiredStates = {\n\tcurrentLength: number;\n\tcurrentLengthDebounced: number;\n\thasValue: boolean;\n} & PropId &\n\tPropHideMsg &\n\tPropLabelWithExpertSlot;\ntype OptionalStates = {\n\tmaxLength: number;\n\ton: InputTypeOnDefault;\n\tpattern: string;\n\tplaceholder: string;\n\tsmartButton: InternalButtonProps;\n\tvalue: string | null;\n} & PropAccessKey &\n\tPropAutoComplete &\n\tPropDisabled &\n\tPropHasCounter &\n\tPropHideLabel &\n\tPropHint &\n\tKoliBriHIcons &\n\tPropMaxLengthBehavior &\n\tPropMsg &\n\tPropName &\n\tPropReadOnly &\n\tPropRequired &\n\tPropShortKey &\n\tPropSyncValueBySelector &\n\tPropTouched &\n\tPropVariantClassName &\n\tPropVisibilityToggle;\n\nexport type InputPasswordProps = Generic.Element.Members<RequiredProps, OptionalProps>;\nexport type InputPasswordStates = Generic.Element.Members<RequiredStates, OptionalStates>;\nexport type InputPasswordWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\nexport type InputPasswordAPI = Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates>;\n"]}
1
+ {"version":3,"file":"input-password.js","sourceRoot":"","sources":["../../../src/schema/components/input-password.ts"],"names":[],"mappings":"","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type {\n\tMsgPropType,\n\tPropAccessKey,\n\tPropAutoComplete,\n\tPropDisabled,\n\tPropHasCounter,\n\tPropHideLabel,\n\tPropHideMsg,\n\tPropHint,\n\tPropHorizontalIcons,\n\tPropId,\n\tPropLabelWithExpertSlot,\n\tPropMaxLengthBehavior,\n\tPropMsg,\n\tPropName,\n\tPropReadOnly,\n\tPropRequired,\n\tPropShortKey,\n\tPropSyncValueBySelector,\n\tPropTouched,\n\tPropVariantClassName,\n} from '../props';\nimport type { PropVisibilityToggle } from '../props/visibility-toggle';\nimport type { InputTypeOnDefault, KoliBriHIcons, Stringified } from '../types';\nimport type { InternalButtonProps } from './button';\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\tmaxLength: number;\n\ton: InputTypeOnDefault;\n\tpattern: string;\n\tplaceholder: string;\n\tsmartButton: Stringified<InternalButtonProps>;\n\tvalue: string;\n\tmsg: Stringified<MsgPropType>;\n} & PropAccessKey &\n\tPropAutoComplete &\n\tPropDisabled &\n\tPropHasCounter &\n\tPropHideMsg &\n\tPropHideLabel &\n\tPropHint &\n\tPropHorizontalIcons &\n\tPropMaxLengthBehavior &\n\tPropName &\n\tPropReadOnly &\n\tPropRequired &\n\tPropShortKey &\n\tPropSyncValueBySelector &\n\tPropTouched &\n\tPropVariantClassName &\n\tPropVisibilityToggle;\n\ntype RequiredStates = {\n\tcurrentLength: number;\n\tcurrentLengthDebounced: number;\n\thasValue: boolean;\n} & PropId &\n\tPropHideMsg &\n\tPropLabelWithExpertSlot;\ntype OptionalStates = {\n\tmaxLength: number;\n\ton: InputTypeOnDefault;\n\tpattern: string;\n\tplaceholder: string;\n\tsmartButton: InternalButtonProps;\n\tvalue: string | null;\n} & PropAccessKey &\n\tPropAutoComplete &\n\tPropDisabled &\n\tPropHasCounter &\n\tPropHideLabel &\n\tPropHint &\n\tKoliBriHIcons &\n\tPropMaxLengthBehavior &\n\tPropMsg &\n\tPropName &\n\tPropReadOnly &\n\tPropRequired &\n\tPropShortKey &\n\tPropSyncValueBySelector &\n\tPropTouched &\n\tPropVariantClassName &\n\tPropVisibilityToggle;\n\nexport type InputPasswordProps = Generic.Element.Members<RequiredProps, OptionalProps>;\nexport type InputPasswordStates = Generic.Element.Members<RequiredStates, OptionalStates>;\nexport type InputPasswordWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\nexport type InputPasswordAPI = Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toaster.js","sourceRoot":"","sources":["../../../src/schema/components/toaster.ts"],"names":[],"mappings":"","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { AlertTypePropType, LabelPropType } from '../props';\n\ntype ToastStatus = 'adding' | 'removing' | 'settled';\n\nexport type ToastRenderFunction = (nodeRef: HTMLElement, options: { close: () => void }) => void;\n\nexport type Toast = {\n\tdescription?: string;\n\trender?: ToastRenderFunction;\n\tlabel: LabelPropType;\n\ttype: AlertTypePropType;\n\t/**\n\t * @deprecated Use `ToasterOptions.defaultVariant` when initializing the service instead.\n\t */\n\tvariant?: 'card';\n\tonClose?: () => void;\n};\n\nexport type ToastState = {\n\ttoast: Toast;\n\tstatus: ToastStatus;\n\tid: string;\n};\n\nexport type ToasterOptions = {\n\t/**\n\t * @deprecated Use `ToasterOptions.defaultVariant` when initializing the service instead.\n\t */\n\tdefaultVariant: 'card';\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = NonNullable<unknown>;\n\ntype RequiredStates = RequiredProps & {\n\ttoastStates: ToastState[];\n};\ntype OptionalStates = OptionalProps;\n\nexport type ToasterProps = Generic.Element.Members<RequiredProps, OptionalProps>;\nexport type ToasterStates = Generic.Element.Members<RequiredStates, OptionalStates>;\nexport type ToasterAPI = Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates>;\n"]}
1
+ {"version":3,"file":"toaster.js","sourceRoot":"","sources":["../../../src/schema/components/toaster.ts"],"names":[],"mappings":"","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { AlertTypePropType, LabelPropType } from '../props';\n\ntype ToastStatus = 'adding' | 'removing' | 'settled';\n\n/**\n * @deprecated Will be removed in the next major version. Use `kol-alert` for inline notifications or `kol-dialog` for interactive messages instead. See https://github.com/public-ui/kolibri/issues/8372\n */\nexport type ToastRenderFunction = (nodeRef: HTMLElement, options: { close: () => void }) => void;\n\n/**\n * @deprecated Will be removed in the next major version. Use `kol-alert` for inline notifications or `kol-dialog` for interactive messages instead. See https://github.com/public-ui/kolibri/issues/8372\n */\nexport type Toast = {\n\tdescription?: string;\n\trender?: ToastRenderFunction;\n\tlabel: LabelPropType;\n\ttype: AlertTypePropType;\n\t/**\n\t * @deprecated Use `ToasterOptions.defaultVariant` when initializing the service instead.\n\t */\n\tvariant?: 'card';\n\tonClose?: () => void;\n};\n\n/**\n * @deprecated Will be removed in the next major version. See https://github.com/public-ui/kolibri/issues/8372\n */\nexport type ToastState = {\n\ttoast: Toast;\n\tstatus: ToastStatus;\n\tid: string;\n};\n\n/**\n * @deprecated Will be removed in the next major version. Use `kol-alert` for inline notifications or `kol-dialog` for interactive messages instead. See https://github.com/public-ui/kolibri/issues/8372\n */\nexport type ToasterOptions = {\n\t/**\n\t * @deprecated Use `ToasterOptions.defaultVariant` when initializing the service instead.\n\t */\n\tdefaultVariant: 'card';\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = NonNullable<unknown>;\n\ntype RequiredStates = RequiredProps & {\n\ttoastStates: ToastState[];\n};\ntype OptionalStates = OptionalProps;\n\n/** @deprecated Will be removed in the next major version. See https://github.com/public-ui/kolibri/issues/8372 */\nexport type ToasterProps = Generic.Element.Members<RequiredProps, OptionalProps>;\n/** @deprecated Will be removed in the next major version. See https://github.com/public-ui/kolibri/issues/8372 */\nexport type ToasterStates = Generic.Element.Members<RequiredStates, OptionalStates>;\n/** @deprecated Will be removed in the next major version. See https://github.com/public-ui/kolibri/issues/8372 */\nexport type ToasterAPI = Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FocusableElement.js","sourceRoot":"","sources":["../../../src/schema/interfaces/FocusableElement.ts"],"names":[],"mappings":"","sourcesContent":["export interface FocusableElement {\n\tfocus(): Promise<void>;\n}\n"]}
1
+ {"version":3,"file":"FocusableElement.js","sourceRoot":"","sources":["../../../src/schema/interfaces/FocusableElement.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Scroll options for the {@link FocusableElement.focus} method.\n * Merges scroll-into-view options ({@link Element.scrollIntoView}).\n *\n * Note: `preventScroll` and `focusVisible` are always enabled internally for consistent focus behavior.\n * They are intentionally typed as `true` only: callers may omit them or explicitly opt in with `true`,\n * but `false` is not supported by this API contract.\n */\nexport type KolFocusOptions = {\n\t/** Prevents the browser from scrolling when focus is set — scroll is then handled manually. */\n\tpreventScroll?: true;\n\t/** Hints whether focus should be visible (e.g. focus ring). */\n\tfocusVisible?: true;\n} & ScrollIntoViewOptions & {\n\t\t/**\n\t\t * Callback invoked after focus and (if smooth scroll is requested) after scrolling settles.\n\t\t * Waits for smooth scroll completion only if `behavior: 'smooth'` is explicitly provided.\n\t\t */\n\t\tafterFocus?: () => void;\n\t};\n\nexport interface FocusableElement {\n\tfocus(options?: KolFocusOptions): Promise<void>;\n}\n"]}
@@ -173,7 +173,10 @@ export const mapBoolean2String = (value) => {
173
173
  export const mapStringOrBoolean2String = (value) => {
174
174
  return typeof value === 'string' ? value : mapBoolean2String(value);
175
175
  };
176
- const querySelectorShadow = (selector, rootNode) => {
176
+ const traverseShadowDom = (rootNode, onNode) => {
177
+ if (!rootNode) {
178
+ return;
179
+ }
177
180
  const visited = new Set();
178
181
  const queue = [rootNode];
179
182
  let index = 0;
@@ -183,8 +186,8 @@ const querySelectorShadow = (selector, rootNode) => {
183
186
  continue;
184
187
  }
185
188
  visited.add(current);
186
- if (current instanceof Element && current.matches(selector)) {
187
- return current;
189
+ if (onNode(current)) {
190
+ return;
188
191
  }
189
192
  const children = Array.from(current.children || []);
190
193
  for (let i = 0; i < children.length; i++) {
@@ -202,40 +205,26 @@ const querySelectorShadow = (selector, rootNode) => {
202
205
  }
203
206
  }
204
207
  }
205
- return null;
208
+ };
209
+ const querySelectorShadow = (selector, rootNode) => {
210
+ let result = null;
211
+ traverseShadowDom(rootNode, (current) => {
212
+ if (current instanceof Element && current.matches(selector)) {
213
+ result = current;
214
+ return true;
215
+ }
216
+ return false;
217
+ });
218
+ return result;
206
219
  };
207
220
  const querySelectorAllShadow = (selector, rootNode) => {
208
- const visited = new Set();
209
221
  const results = [];
210
- const resultSet = new Set();
211
- const queue = [rootNode];
212
- let index = 0;
213
- while (index < queue.length) {
214
- const current = queue[index++];
215
- if (visited.has(current)) {
216
- continue;
217
- }
218
- visited.add(current);
219
- if (current instanceof Element && current.matches(selector) && !resultSet.has(current)) {
222
+ traverseShadowDom(rootNode, (current) => {
223
+ if (current instanceof Element && current.matches(selector)) {
220
224
  results.push(current);
221
- resultSet.add(current);
222
- }
223
- const children = Array.from(current.children || []);
224
- for (let i = 0; i < children.length; i++) {
225
- queue.push(children[i]);
226
- }
227
- if (current instanceof HTMLElement && current.shadowRoot) {
228
- queue.push(current.shadowRoot);
229
- }
230
- if (current instanceof HTMLSlotElement) {
231
- const assigned = current.assignedNodes({ flatten: true });
232
- for (let i = 0; i < assigned.length; i++) {
233
- if (assigned[i] instanceof Element) {
234
- queue.push(assigned[i]);
235
- }
236
- }
237
225
  }
238
- }
226
+ return false;
227
+ });
239
228
  return results;
240
229
  };
241
230
  export const koliBriQuerySelector = (selector, node) => querySelectorShadow(selector, node || getDocument());
@@ -1 +1 @@
1
- {"version":3,"file":"prop.validators.js","sourceRoot":"","sources":["../../../src/schema/utils/prop.validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGpE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAOvC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAc,EAAQ,EAAE;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO;IACR,CAAC;IACD,EAAE,EAAE,CAAC;AACN,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAAE,EAAc,EAAQ,EAAE;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC/C,OAAO;IACR,CAAC;IACD,EAAE,EAAE,CAAC;AACN,CAAC,CAAC;AAUF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,MAAoB,EAAQ,EAAE;IAC1E,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAE3B,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;QACtC,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,KAAK;KACf,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,SAAoC,EAAQ,EAAE;;IACjE,MAAA,SAAS,CAAC,SAAS,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;QAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAA2C,CAAC;QACvF,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;YACvC,WAAW,CAAC,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,SAAiC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QACzG,CAAC;IACF,CAAC,CAAC,CAAC;IAMH,IAAI,CAAA,MAAC,SAAS,CAAC,SAAkC,0CAAE,IAAI,IAAG,CAAC,EAAE,CAAC;QAC7D,SAAS,CAAC,KAAK,mCACX,SAAS,CAAC,KAAK,GACf,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAiC,CAAC,CAClE,CAAC;QACF,OAAO,SAAS,CAAC,SAAS,CAAC;QAE3B,MAAA,SAAS,CAAC,SAAS,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAuC,CAAC;YACjF,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;gBACtC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YACnE,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC,SAAS,CAAC;AAC5B,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAI,SAAoC,EAAE,QAAgB,EAAE,KAA4B,EAAE,QAAuB,EAAE,EAAQ,EAAE;;IACpJ,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACvC,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,SAAS,YAAY,GAAG,KAAK,KAAK,EAAE,CAAC;QACxC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC7C,MAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IACD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAYzC,UAAU,CAAC,SAAS,CAAC,CAAC;AAEvB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAc,EAAE,eAA+C,EAAQ,EAAE;IACjJ,OAAO,CACN,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,0BAA0B,KAAe,UAAU,QAAQ,uCAAuC,KAAK,CAAC,IAAI,CACzI,eAAe,CACf,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;AACH,CAAC,CAAC;AAwBF,MAAM,UAAU,cAAc,CAC7B,SAAoC,EACpC,QAAgB,EAChB,kBAA0C,EAC1C,eAA+C,EAC/C,KAAS,EACT,UAAwB,EAAE;IAE1B,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAI/B,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,YAAiB,CAAC,EAAE,CAAC;QAO9G,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QAIP,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACtD,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAe,EAAE,OAA6B,EAAQ,EAAE;IAC5I,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAW,EAAE,CAAC,OAAO,KAAK,KAAK,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzI,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAc,EAAE,UAA8B,EAAE,EAAQ,EAAE;IAC7I,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjF,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,EAAW,EAAE,CAClB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,CAAC,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAA,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,EAC3I,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EACnB,KAAK,EACL,OAAO,CACP,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAc,EAAE,OAA4B,EAAQ,EAAE;IACzI,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,EAAW,EAAE,CAClB,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,WAAW,IAAI,CAAC,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QACnG,CAAC,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,WAAW,IAAI,CAAC,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EACpG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EACnB,KAAK,EACL,OAAO,CACP,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,SAAoC,EACpC,QAAgB,EAChB,cAAoC,EACpC,KAAwB,EACxB,kBAA2C,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,EAC1E,UAAwB,EAAE,EACnB,EAAE;IACT,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE;QACrC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE;YAC/B,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;gBAClC,KAAK,GAAG,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,CAAC;gBACJ,IAAI,CAAC;oBACJ,KAAK,GAAG,SAAS,CAAM,KAAK,CAAC,CAAC;gBAC/B,CAAC;gBAAC,WAAM,CAAC;gBAET,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAO,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/D,IAAI,OAAO,KAAK,SAAS,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrD,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBACrD,CAAC;yBAAM,CAAC;wBACP,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE;4BACjC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACnB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;wBAC1G,CAAC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE;wBAC/B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;oBAC1G,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAIhB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAElB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAU,EAAE;IACvD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAAC,WAAM,CAAC;QACR,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;QACnC,GAAG,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;QAC9F,MAAM,IAAI,KAAK,EAAE,CAAC;IACnB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAI,KAAc,EAAK,EAAE;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC;YAEJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,WAAM,CAAC;YACR,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACJ,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,WAAM,CAAC;oBACR,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC/B,GAAG,CAAC,KAAK,CAAC,wGAAwG,CAAC,CAAC;gBACrH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,IAAI,KAAK,EAAE,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAe,EAAsB,EAAE;IACxE,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,KAAwB,EAAsB,EAAE;IACzF,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAoB,QAAgB,EAAE,QAA6C,EAAY,EAAE;IAC5H,MAAM,OAAO,GAAG,IAAI,GAAG,EAAQ,CAAC;IAChC,MAAM,KAAK,GAAiB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,SAAS;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,YAAY,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,OAAO,OAAY,CAAC;QACrB,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,YAAY,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,YAAY,eAAe,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC,CAAC;gBACxC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAoB,QAAgB,EAAE,QAA6C,EAAO,EAAE;IAC1H,MAAM,OAAO,GAAG,IAAI,GAAG,EAAQ,CAAC;IAChC,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAW,CAAC;IACrC,MAAM,KAAK,GAAiB,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,SAAS;QACV,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,YAAY,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,OAAY,CAAC,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,OAAO,YAAY,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,OAAO,YAAY,eAAe,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAgB,CAAC,CAAC;gBACxC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAoB,QAAgB,EAAE,IAA0C,EAAY,EAAE,CACjI,mBAAmB,CAAI,QAAQ,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAoB,QAAgB,EAAE,IAA0C,EAAO,EAAE,CAC/H,sBAAsB,CAAI,QAAQ,EAAE,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;AAU5D,IAAI,sBAAsB,GAA6B,IAAI,CAAC;AAC5D,MAAM,uBAAuB,GAAG,GAAsB,EAAE;IACvD,sBAAsB,GAAG,sBAAsB,IAAI;QAClD,eAAe,EAAE,WAAW;QAC5B,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,WAAW,EAAE,CAAC,IAAI;QAC3B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,CAAC;KACR,CAAC;IACF,OAAO,sBAAsB,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,OAAoB,EAAE,oBAAuC,uBAAuB,EAAE,EAAqB,EAAE;IACrJ,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAW,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAC3J,MAAM,IAAI,GAAW,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5H,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG;QAChB,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,IAAI;QACX,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;QAClB,KAAK,EAAE,IAAI;KACX,CAAC;IACF,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC;YACT,sBAAsB;YACtB;gBACC,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACrB;YACD,QAAQ,CAAC,OAAO;SAChB,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAgB,EAAE,oBAAuC,uBAAuB,EAAE,EAAqB,EAAE;IACnJ,IAAI,iBAAiB,CAAC,OAAO,YAAY,WAAW,EAAE,CAAC;QACtD,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,YAAY,GAAuB,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAc,QAAQ,CAAC,CAAC;IACxG,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAA4B,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAc,oBAAoB,CAAC,CAAC;QACxH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAM1C,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxC,iBAAiB,GAAG,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAE5E,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBACxC,MAAM;YACP,CAAC;QACF,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC1B,CAAC;SAAM,CAAC;QACP,OAAO,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,OAAO,YAAY;IAGjB,MAAM,CAAC,sBAAsB,CAAC,UAAuB,EAAE,iBAAoC,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,GAAG,IAAI;QAChI,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,SAAS,KAAK,IAAI,IAAI,YAAY,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YAChE,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;gBACzB,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC3B,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;gBACrE,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;gBAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBAClB,GAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBAChE,CAAC;YACF,CAAC;YAED,IAAI,UAAU,KAAK,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9C,WAAW,GAAG,iBAAiB,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACP,MAAM,QAAQ,GAAiB,IAAI,GAAG,EAAW,CAAC;gBAClD,IAAI,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC1C,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;oBACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAChD,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjC,CAAC;gBACF,CAAC;gBACD,MAAM,WAAW,GAAoB,iBAAiB,CAAC,OAA0B,CAAC;gBAClF,IAAI,OAAO,WAAW,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;oBACrD,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;oBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC9C,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,WAAW,EAAE,CAAC;4BAC5C,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAgB,CAAC,CAAC;wBAC9C,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9B,CAAC;gBACD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/C,IAAI,aAAa,GAAkC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5F,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBACjC,aAAa,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAgB,EAAE,iBAAiB,CAAC,CAAC;oBAC9F,CAAC;oBACD,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;oBACxD,MAAM,MAAM,GAA6B,YAAY,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBACrH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACrB,WAAW,GAAG,MAAM,CAAC;wBACrB,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClB,GAAG,CAAC,KAAK,CAAC,oDAAoD,YAAY,CAAC,KAAK,CAAC,IAAI,8BAA8B,CAAC,CAAC;YACtH,CAAC;YACD,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC;YACnC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,WAAW,CAAC;IACpB,CAAC;;AA9Dc,0BAAa,GAAG,KAAK,CAAC;AACtB,kBAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;AAgE9D,MAAM,OAAO,gBAAgB;;AACL,4BAAW,GAAG,WAAW,CAAC;AAC1B,2BAAU,GAAG,UAAU,CAAC;AACxB,8BAAa,GAAG,aAAa,CAAC;AAC9B,8BAAa,GAAG,oBAAoB,CAAC;AACrC,iCAAgB,GAAG,uBAAuB,CAAC;AAC3C,8BAAa,GAAG,aAAa,CAAC","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\nimport { getCssStyle, patchTheme, patchThemeTag } from 'adopted-style-sheets';\nimport rgba from 'rgba-convert';\nimport { hex, score } from 'wcag-contrast';\n\nimport { getDocument, getExperimentalMode, Log } from './dev.utils';\n\nimport type { Stringified } from '../types/common';\nimport { devHint } from './a11y.tipps';\n// https://regex101.com/r/lSYLO9/1\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines komplexer Objekte\n * der String \"[object Object]\" an die Web Component übergeben wird. Um den Neben-\n * effekt abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nconst OBJECT_OBJECT = /\\[object Object\\]/;\nexport const objectObjectHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && OBJECT_OBJECT.test(value)) {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines leeren Array's\n * ein leerer String an die Web Component übergeben wird. Um den Nebeneffekt\n * abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nexport const emptyStringByArrayHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && value === '') {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei interaktiven HTML-Elementen kommt es vor, dass der Event an einem nicht\n * interaktiven HTML-Element \"lostriggert\" und dann den DOM-Baum hoch propagiert.\n * Zu unterschiedlichen Zeitpunkten sind an dem einen Event somit immer unterschiedliche\n * HTML-Elemente.\n * Damit wir das \"richtige\" interaktive HTML-Element an das Event binden, setzen\n * wir das Target explizit und stoppen die Propagation.\n */\nexport const setEventTarget = (event: Event, target?: HTMLElement): void => {\n\tif (getExperimentalMode()) {\n\t\t// event.preventDefault(); /* WHY? */\n\t\tLog.debug([event, target]);\n\t\tLog.debug(`↑ We propagate the (submit) event to this target.`);\n\t}\n\tObject.defineProperty(event, 'target', {\n\t\tvalue: target,\n\t\twritable: false,\n\t});\n};\n\nconst patchState = (component: Generic.Element.Component): void => {\n\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\tconst beforePatch = hooks.get('beforePatch') as Generic.Element.NextStateHooksCallback;\n\t\tif (typeof beforePatch === 'function') {\n\t\t\tbeforePatch(component.nextState?.get(key), component.nextState as Map<string, unknown>, component, key);\n\t\t}\n\t});\n\t/**\n\t * Wenn in beforePatch Methoden die Änderung verworfen wird,\n\t * muss auch nicht der State aktualisiert und neu gerendert\n\t * werden.\n\t */\n\tif ((component.nextState as Map<string, unknown>)?.size > 0) {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t...Object.fromEntries(component.nextState as Map<string, unknown>),\n\t\t};\n\t\tdelete component.nextState;\n\n\t\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\t\tconst afterPatch = hooks.get('afterPatch') as Generic.Element.StateHooksCallback;\n\t\t\tif (typeof afterPatch === 'function') {\n\t\t\t\tafterPatch(component.state[key], component.state, component, key);\n\t\t\t}\n\t\t});\n\t}\n\tdelete component.nextHooks;\n};\n\nexport type SetStateHooks = {\n\tafterPatch?: Generic.Element.StateHooksCallback;\n\tbeforePatch?: Generic.Element.NextStateHooksCallback;\n};\n\nexport const setState = <T>(component: Generic.Element.Component, propName: string, value?: T | null | undefined, hooks: SetStateHooks = {}): void => {\n\tif (component.nextHooks === undefined) {\n\t\tcomponent.nextHooks = new Map();\n\t}\n\tif (component.nextState === undefined) {\n\t\tcomponent.nextState = new Map();\n\t}\n\tconst nextHooks = component.nextHooks.get(propName);\n\tif (nextHooks instanceof Map === false) {\n\t\tcomponent.nextHooks.set(propName, new Map());\n\t}\n\tif (typeof hooks.afterPatch === 'function') {\n\t\tcomponent.nextHooks.get(propName)?.set('afterPatch', hooks.afterPatch);\n\t}\n\tif (typeof hooks.beforePatch === 'function') {\n\t\tcomponent.nextHooks.get(propName)?.set('beforePatch', hooks.beforePatch);\n\t}\n\tcomponent.nextState.set(propName, value);\n\t/**\n\t * Muss erst einmal in sync bleiben, da sonst der\n\t * Tooltip nicht korrekt ausgerichtet wird.\n\t */\n\t// if (component.hydrated === true || !isTestMode()) {\n\t// clearTimeout(component.timeout as NodeJS.Timeout);\n\t// component.timeout = setTimeout(() => {\n\t// \tclearTimeout(component.timeout as NodeJS.Timeout);\n\t// \tpatchState(component);\n\t// }, 50);\n\t// } else {\n\tpatchState(component);\n\t// }\n};\n\nconst logWarn = (component: Generic.Element.Component, propName: string, value: unknown, requiredGeneric: Set<string | null | undefined>): void => {\n\tdevHint(\n\t\t`[${component.constructor.name}] The property value: (${value as string}) for '${propName}' is not valid. Allowed values are: ${Array.from(\n\t\t\trequiredGeneric,\n\t\t).join(', ')}`,\n\t);\n};\n\nexport type WatchOptions = {\n\tdefaultValue?: unknown;\n\thooks?: SetStateHooks;\n\trequired?: boolean;\n};\n\nexport type WatchBooleanOptions = WatchOptions & {\n\tdefaultValue?: boolean | null;\n};\n\nexport type WatchStringOptions = WatchOptions & {\n\tdefaultValue?: string | null;\n\tmaxLength?: number;\n\tminLength?: number;\n};\n\nexport type WatchNumberOptions = WatchOptions & {\n\tdefaultValue?: number | null;\n\tmin?: number;\n\tmax?: number;\n};\n\nexport function watchValidator<T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\tvalidationFunction: (value?: T) => boolean,\n\trequiredGeneric: Set<string | null | undefined>,\n\tvalue?: T,\n\toptions: WatchOptions = {},\n): void {\n\tif (validationFunction(value)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert VALIDE ist.\n\t\t */\n\t\tsetState(component, propName, value, options.hooks);\n\t} else if (value === undefined && options.required !== true && validationFunction(options.defaultValue as T)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert entweder ...\n\t\t * - UNDEFINED oder NULL\n\t\t * - und NICHT REQUIRED\n\t\t * ... ist.\n\t\t */\n\t\tsetState(component, propName, options.defaultValue, options.hooks);\n\t} else {\n\t\t/**\n\t\t * Triff zu, wenn der Wert NICHT valide ist.\n\t\t */\n\t\tif (!options.required) {\n\t\t\trequiredGeneric.add(null);\n\t\t}\n\t\tlogWarn(component, propName, value, requiredGeneric);\n\t}\n}\n\nexport const watchBoolean = (component: Generic.Element.Component, propName: string, value?: boolean, options?: WatchBooleanOptions): void => {\n\twatchValidator(component, propName, (value): boolean => typeof value === 'boolean', new Set(['Boolean {true, false}']), value, options);\n};\n\nexport const watchString = (component: Generic.Element.Component, propName: string, value?: string, options: WatchStringOptions = {}): void => {\n\tconst minLength = typeof options.minLength === 'number' ? options?.minLength : 0;\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'string' && value.length >= minLength && (typeof options?.maxLength === 'undefined' || value.length <= options.maxLength),\n\t\tnew Set([`String`]),\n\t\tvalue,\n\t\toptions,\n\t);\n};\n\nexport const watchNumber = (component: Generic.Element.Component, propName: string, value?: number, options?: WatchNumberOptions): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'number' &&\n\t\t\t(typeof options?.min === 'undefined' || (typeof options?.min === 'number' && value >= options.min)) &&\n\t\t\t(typeof options?.max === 'undefined' || (typeof options?.max === 'number' && value <= options.max)),\n\t\tnew Set(['Number']),\n\t\tvalue,\n\t\toptions,\n\t);\n};\n\nexport const watchJsonArrayString = <T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\titemValidation: (item: T) => boolean,\n\tvalue?: Stringified<T[]>,\n\tarrayValidation: (items: T[]) => boolean = (items: T[]) => items === items, // nochmal hirnen\n\toptions: WatchOptions = {},\n): void => {\n\temptyStringByArrayHandler(value, () => {\n\t\tobjectObjectHandler(value, () => {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\tvalue = [];\n\t\t\t}\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<T[]>(value);\n\t\t\t\t} catch {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst invalid = value.find((item: T) => !itemValidation(item));\n\t\t\t\t\tif (invalid === undefined && arrayValidation(value)) {\n\t\t\t\t\t\tsetState(component, propName, value, options.hooks);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobjectObjectHandler(invalid, () => {\n\t\t\t\t\t\t\tLog.debug(invalid);\n\t\t\t\t\t\t\tthrow new Error(`↑ The schema for the property (_options) is not valid. The value will not be changed.`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\t\t\tLog.debug(value);\n\t\t\t\t\t\tthrow new Error(`↑ The schema for the property (_options) is not valid. The value will not be changed.`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/**\n\t\t\t\t * TODO: Wir haben einen Known-Bug beim Propergieren von Zeichenkettenliste (string[]).\n\t\t\t\t */\n\t\t\t\tLog.debug(error);\n\t\t\t\t// devHint(`Known bug: String array (string[])`);\n\t\t\t}\n\t\t});\n\t});\n};\n\nexport const stringifyJson = (value: unknown): string => {\n\ttry {\n\t\treturn JSON.stringify(value).replace(/\"/g, \"'\");\n\t} catch {\n\t\tLog.warn(['stringifyJson', value]);\n\t\tLog.error(`↑ The JSON could not be converted to a string. A stringifiable JSON is expected.`);\n\t\tthrow new Error();\n\t}\n};\n\nconst JSON_CHARS = /^[{[]/; // string starts with { or [\nexport const parseJson = <T>(value: unknown): T => {\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\t// \"null\", \"true\", \"false\", \"0\" works too\n\t\t\treturn JSON.parse(value);\n\t\t} catch {\n\t\t\tif (JSON_CHARS.test(value)) {\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(value.replace(/'/g, '\"'));\n\t\t\t\t} catch {\n\t\t\t\t\tLog.warn(['parseJson', value]);\n\t\t\t\t\tLog.error(`↑ The JSON string could not be parsed. Make sure that single quotes in the text are escaped (&#8216;).`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tthrow new Error();\n};\n\nexport const mapBoolean2String = (value?: boolean): string | undefined => {\n\treturn typeof value === 'boolean' ? (value === true ? 'true' : 'false') : undefined;\n};\n\nexport const mapStringOrBoolean2String = (value?: string | boolean): string | undefined => {\n\treturn typeof value === 'string' ? value : mapBoolean2String(value);\n};\n\nconst querySelectorShadow = <T extends Element>(selector: string, rootNode: Document | HTMLElement | ShadowRoot): T | null => {\n\tconst visited = new Set<Node>();\n\tconst queue: ParentNode[] = [rootNode];\n\tlet index = 0;\n\twhile (index < queue.length) {\n\t\tconst current = queue[index++];\n\t\tif (visited.has(current)) {\n\t\t\tcontinue;\n\t\t}\n\t\tvisited.add(current);\n\t\tif (current instanceof Element && current.matches(selector)) {\n\t\t\treturn current as T;\n\t\t}\n\t\tconst children = Array.from(current.children || []);\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tqueue.push(children[i]);\n\t\t}\n\t\tif (current instanceof HTMLElement && current.shadowRoot) {\n\t\t\tqueue.push(current.shadowRoot);\n\t\t}\n\t\tif (current instanceof HTMLSlotElement) {\n\t\t\tconst assigned = current.assignedNodes({ flatten: true });\n\t\t\tfor (let i = 0; i < assigned.length; i++) {\n\t\t\t\tif (assigned[i] instanceof Element) {\n\t\t\t\t\tqueue.push(assigned[i] as HTMLElement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n};\n\nconst querySelectorAllShadow = <T extends Element>(selector: string, rootNode: Document | HTMLElement | ShadowRoot): T[] => {\n\tconst visited = new Set<Node>();\n\tconst results: T[] = [];\n\tconst resultSet = new Set<Element>();\n\tconst queue: ParentNode[] = [rootNode];\n\tlet index = 0;\n\twhile (index < queue.length) {\n\t\tconst current = queue[index++];\n\t\tif (visited.has(current)) {\n\t\t\tcontinue;\n\t\t}\n\t\tvisited.add(current);\n\t\tif (current instanceof Element && current.matches(selector) && !resultSet.has(current)) {\n\t\t\tresults.push(current as T);\n\t\t\tresultSet.add(current);\n\t\t}\n\t\tconst children = Array.from(current.children || []);\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tqueue.push(children[i]);\n\t\t}\n\t\tif (current instanceof HTMLElement && current.shadowRoot) {\n\t\t\tqueue.push(current.shadowRoot);\n\t\t}\n\t\tif (current instanceof HTMLSlotElement) {\n\t\t\tconst assigned = current.assignedNodes({ flatten: true });\n\t\t\tfor (let i = 0; i < assigned.length; i++) {\n\t\t\t\tif (assigned[i] instanceof Element) {\n\t\t\t\t\tqueue.push(assigned[i] as HTMLElement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn results;\n};\n\nexport const koliBriQuerySelector = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T | null =>\n\tquerySelectorShadow<T>(selector, node || getDocument());\n\nexport const koliBriQuerySelectorAll = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T[] =>\n\tquerySelectorAllShadow<T>(selector, node || getDocument());\n\ninterface A11yColorContrast {\n\tbackgroundColor: string;\n\tcolor: string;\n\tdomNode: HTMLElement | HTMLSlotElement;\n\tlevel: string;\n\tscore: number;\n}\n\nlet DEFAULT_COLOR_CONTRAST: A11yColorContrast | null = null;\nconst getDefaultColorContrast = (): A11yColorContrast => {\n\tDEFAULT_COLOR_CONTRAST = DEFAULT_COLOR_CONTRAST || {\n\t\tbackgroundColor: '#00000000',\n\t\tcolor: '#00000000',\n\t\tdomNode: getDocument().body,\n\t\tlevel: 'Fail',\n\t\tscore: 1,\n\t};\n\treturn DEFAULT_COLOR_CONTRAST;\n};\n\nconst TRANSPARENT_REGEXP = /(\\d+, ){3}0\\)/;\nexport const koliBriA11yColorContrast = (domNode: HTMLElement, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tconst computedStyle = getComputedStyle(domNode);\n\tconst hexBG: string = TRANSPARENT_REGEXP.test(computedStyle.backgroundColor) ? a11yColorContrast.backgroundColor : rgba.hex(computedStyle.backgroundColor);\n\tconst hexC: string = TRANSPARENT_REGEXP.test(computedStyle.color) ? a11yColorContrast.color : rgba.hex(computedStyle.color);\n\tconst diff = hex(hexBG, hexC);\n\tconst contrast = {\n\t\tbackgroundColor: hexBG,\n\t\tcolor: hexC,\n\t\tdomNode: domNode,\n\t\tlevel: score(diff),\n\t\tscore: diff,\n\t};\n\tif (diff < 4.5) {\n\t\tLog.error([\n\t\t\t'Color-Contrast-Error',\n\t\t\t{\n\t\t\t\tbackgroundColor: contrast.backgroundColor,\n\t\t\t\tcolor: contrast.color,\n\t\t\t\tlevel: contrast.level,\n\t\t\t\tscore: contrast.score,\n\t\t\t},\n\t\t\tcontrast.domNode,\n\t\t]);\n\t}\n\treturn contrast;\n};\n\nexport const koliBriQuerySelectorColors = (selector: string, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tif (a11yColorContrast.domNode instanceof HTMLElement) {\n\t\ta11yColorContrast = koliBriA11yColorContrast(a11yColorContrast.domNode, a11yColorContrast);\n\t}\n\tconst selectedNode: HTMLElement | null = a11yColorContrast.domNode.querySelector<HTMLElement>(selector);\n\tif (selectedNode === null) {\n\t\tconst nodeList: NodeListOf<HTMLElement> = a11yColorContrast.domNode.querySelectorAll<HTMLElement>('[class=\"hydrated\"]');\n\t\tfor (let i = 0; i < nodeList.length; i++) {\n\t\t\t// const shadowRoot: ShadowRoot = nodeList[i].shadowRoot as ShadowRoot;\n\t\t\t// if (typeof shadowRoot === 'object' && shadowRoot !== null) {\n\t\t\t// a11yColorContrast.domNode = shadowRoot;\n\t\t\t// a11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// } else {\n\t\t\ta11yColorContrast.domNode = nodeList[i];\n\t\t\ta11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// }\n\t\t\tif (a11yColorContrast.domNode !== null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn a11yColorContrast;\n\t} else {\n\t\treturn koliBriA11yColorContrast(selectedNode, a11yColorContrast);\n\t}\n};\n\nexport class KoliBriUtils {\n\tprivate static executionLock = false;\n\tprivate static cache = new Map<Element, A11yColorContrast>();\n\tpublic static queryHtmlElementColors(targetNode: HTMLElement, a11yColorContrast: A11yColorContrast, recursion = false, log = true): A11yColorContrast | null {\n\t\tlet returnValue = null;\n\t\tif (recursion === true || KoliBriUtils.executionLock === false) {\n\t\t\tif (recursion === false) {\n\t\t\t\tKoliBriUtils.cache.clear();\n\t\t\t\tKoliBriUtils.cache.set(a11yColorContrast.domNode, a11yColorContrast);\n\t\t\t\tKoliBriUtils.executionLock = true;\n\t\t\t\tif (log === true) {\n\t\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis started...`);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Log.debug(a11yColorContrast.domNode);\n\t\t\tif (targetNode === a11yColorContrast.domNode) {\n\t\t\t\treturnValue = a11yColorContrast;\n\t\t\t} else {\n\t\t\t\tconst children: Set<Element> = new Set<Element>();\n\t\t\t\tif (a11yColorContrast.domNode.shadowRoot) {\n\t\t\t\t\tconst shadowChildren = a11yColorContrast.domNode.shadowRoot.children;\n\t\t\t\t\tfor (let i = 0; i < shadowChildren.length; i++) {\n\t\t\t\t\t\tchildren.add(shadowChildren[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst slotElement: HTMLSlotElement = a11yColorContrast.domNode as HTMLSlotElement;\n\t\t\t\tif (typeof slotElement.assignedNodes === 'function') {\n\t\t\t\t\tconst slotChildren = slotElement.assignedNodes();\n\t\t\t\t\tfor (let i = 0; i < slotChildren.length; i++) {\n\t\t\t\t\t\tif (slotChildren[i] instanceof HTMLElement) {\n\t\t\t\t\t\t\tchildren.add(slotChildren[i] as HTMLElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst domChildren = a11yColorContrast.domNode.children;\n\t\t\t\tfor (let i = 0; i < domChildren.length; i++) {\n\t\t\t\t\tchildren.add(domChildren[i]);\n\t\t\t\t}\n\t\t\t\tconst arrayChildren = Array.from(children);\n\t\t\t\tfor (let i = 0; i < arrayChildren.length; i++) {\n\t\t\t\t\tlet colorContrast: A11yColorContrast | undefined = KoliBriUtils.cache.get(arrayChildren[i]);\n\t\t\t\t\tif (colorContrast === undefined) {\n\t\t\t\t\t\tcolorContrast = koliBriA11yColorContrast(arrayChildren[i] as HTMLElement, a11yColorContrast);\n\t\t\t\t\t}\n\t\t\t\t\tKoliBriUtils.cache.set(arrayChildren[i], colorContrast);\n\t\t\t\t\tconst colors: A11yColorContrast | null = KoliBriUtils.queryHtmlElementColors(targetNode, colorContrast, true, false);\n\t\t\t\t\tif (colors !== null) {\n\t\t\t\t\t\treturnValue = colors;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tLog.debug(`[KoliBriUtils] Call aborted because a color contrast analysis is currently being executed.`);\n\t\t}\n\t\tif (recursion === false) {\n\t\t\tif (log === true) {\n\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis finished (${KoliBriUtils.cache.size} DOM elements are analysed).`);\n\t\t\t}\n\t\t\tKoliBriUtils.executionLock = false;\n\t\t\tKoliBriUtils.cache.clear();\n\t\t}\n\t\treturn returnValue;\n\t}\n}\n\nexport class KoliBriDevHelper {\n\tpublic static readonly getCssStyle = getCssStyle;\n\tpublic static readonly patchTheme = patchTheme;\n\tpublic static readonly patchThemeTag = patchThemeTag;\n\tpublic static readonly querySelector = koliBriQuerySelector;\n\tpublic static readonly querySelectorAll = koliBriQuerySelectorAll;\n\tpublic static readonly stringifyJson = stringifyJson;\n}\n"]}
1
+ {"version":3,"file":"prop.validators.js","sourceRoot":"","sources":["../../../src/schema/utils/prop.validators.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Generic } from 'adopted-style-sheets';\nimport { getCssStyle, patchTheme, patchThemeTag } from 'adopted-style-sheets';\nimport rgba from 'rgba-convert';\nimport { hex, score } from 'wcag-contrast';\n\nimport { getDocument, getExperimentalMode, Log } from './dev.utils';\n\nimport type { Stringified } from '../types/common';\nimport { devHint } from './a11y.tipps';\n// https://regex101.com/r/lSYLO9/1\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines komplexer Objekte\n * der String \"[object Object]\" an die Web Component übergeben wird. Um den Neben-\n * effekt abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nconst OBJECT_OBJECT = /\\[object Object\\]/;\nexport const objectObjectHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && OBJECT_OBJECT.test(value)) {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines leeren Array's\n * ein leerer String an die Web Component übergeben wird. Um den Nebeneffekt\n * abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nexport const emptyStringByArrayHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && value === '') {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei interaktiven HTML-Elementen kommt es vor, dass der Event an einem nicht\n * interaktiven HTML-Element \"lostriggert\" und dann den DOM-Baum hoch propagiert.\n * Zu unterschiedlichen Zeitpunkten sind an dem einen Event somit immer unterschiedliche\n * HTML-Elemente.\n * Damit wir das \"richtige\" interaktive HTML-Element an das Event binden, setzen\n * wir das Target explizit und stoppen die Propagation.\n */\nexport const setEventTarget = (event: Event, target?: HTMLElement): void => {\n\tif (getExperimentalMode()) {\n\t\t// event.preventDefault(); /* WHY? */\n\t\tLog.debug([event, target]);\n\t\tLog.debug(`↑ We propagate the (submit) event to this target.`);\n\t}\n\tObject.defineProperty(event, 'target', {\n\t\tvalue: target,\n\t\twritable: false,\n\t});\n};\n\nconst patchState = (component: Generic.Element.Component): void => {\n\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\tconst beforePatch = hooks.get('beforePatch') as Generic.Element.NextStateHooksCallback;\n\t\tif (typeof beforePatch === 'function') {\n\t\t\tbeforePatch(component.nextState?.get(key), component.nextState as Map<string, unknown>, component, key);\n\t\t}\n\t});\n\t/**\n\t * Wenn in beforePatch Methoden die Änderung verworfen wird,\n\t * muss auch nicht der State aktualisiert und neu gerendert\n\t * werden.\n\t */\n\tif ((component.nextState as Map<string, unknown>)?.size > 0) {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t...Object.fromEntries(component.nextState as Map<string, unknown>),\n\t\t};\n\t\tdelete component.nextState;\n\n\t\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\t\tconst afterPatch = hooks.get('afterPatch') as Generic.Element.StateHooksCallback;\n\t\t\tif (typeof afterPatch === 'function') {\n\t\t\t\tafterPatch(component.state[key], component.state, component, key);\n\t\t\t}\n\t\t});\n\t}\n\tdelete component.nextHooks;\n};\n\nexport type SetStateHooks = {\n\tafterPatch?: Generic.Element.StateHooksCallback;\n\tbeforePatch?: Generic.Element.NextStateHooksCallback;\n};\n\nexport const setState = <T>(component: Generic.Element.Component, propName: string, value?: T | null | undefined, hooks: SetStateHooks = {}): void => {\n\tif (component.nextHooks === undefined) {\n\t\tcomponent.nextHooks = new Map();\n\t}\n\tif (component.nextState === undefined) {\n\t\tcomponent.nextState = new Map();\n\t}\n\tconst nextHooks = component.nextHooks.get(propName);\n\tif (nextHooks instanceof Map === false) {\n\t\tcomponent.nextHooks.set(propName, new Map());\n\t}\n\tif (typeof hooks.afterPatch === 'function') {\n\t\tcomponent.nextHooks.get(propName)?.set('afterPatch', hooks.afterPatch);\n\t}\n\tif (typeof hooks.beforePatch === 'function') {\n\t\tcomponent.nextHooks.get(propName)?.set('beforePatch', hooks.beforePatch);\n\t}\n\tcomponent.nextState.set(propName, value);\n\t/**\n\t * Muss erst einmal in sync bleiben, da sonst der\n\t * Tooltip nicht korrekt ausgerichtet wird.\n\t */\n\t// if (component.hydrated === true || !isTestMode()) {\n\t// clearTimeout(component.timeout as NodeJS.Timeout);\n\t// component.timeout = setTimeout(() => {\n\t// \tclearTimeout(component.timeout as NodeJS.Timeout);\n\t// \tpatchState(component);\n\t// }, 50);\n\t// } else {\n\tpatchState(component);\n\t// }\n};\n\nconst logWarn = (component: Generic.Element.Component, propName: string, value: unknown, requiredGeneric: Set<string | null | undefined>): void => {\n\tdevHint(\n\t\t`[${component.constructor.name}] The property value: (${value as string}) for '${propName}' is not valid. Allowed values are: ${Array.from(\n\t\t\trequiredGeneric,\n\t\t).join(', ')}`,\n\t);\n};\n\nexport type WatchOptions = {\n\tdefaultValue?: unknown;\n\thooks?: SetStateHooks;\n\trequired?: boolean;\n};\n\nexport type WatchBooleanOptions = WatchOptions & {\n\tdefaultValue?: boolean | null;\n};\n\nexport type WatchStringOptions = WatchOptions & {\n\tdefaultValue?: string | null;\n\tmaxLength?: number;\n\tminLength?: number;\n};\n\nexport type WatchNumberOptions = WatchOptions & {\n\tdefaultValue?: number | null;\n\tmin?: number;\n\tmax?: number;\n};\n\nexport function watchValidator<T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\tvalidationFunction: (value?: T) => boolean,\n\trequiredGeneric: Set<string | null | undefined>,\n\tvalue?: T,\n\toptions: WatchOptions = {},\n): void {\n\tif (validationFunction(value)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert VALIDE ist.\n\t\t */\n\t\tsetState(component, propName, value, options.hooks);\n\t} else if (value === undefined && options.required !== true && validationFunction(options.defaultValue as T)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert entweder ...\n\t\t * - UNDEFINED oder NULL\n\t\t * - und NICHT REQUIRED\n\t\t * ... ist.\n\t\t */\n\t\tsetState(component, propName, options.defaultValue, options.hooks);\n\t} else {\n\t\t/**\n\t\t * Triff zu, wenn der Wert NICHT valide ist.\n\t\t */\n\t\tif (!options.required) {\n\t\t\trequiredGeneric.add(null);\n\t\t}\n\t\tlogWarn(component, propName, value, requiredGeneric);\n\t}\n}\n\nexport const watchBoolean = (component: Generic.Element.Component, propName: string, value?: boolean, options?: WatchBooleanOptions): void => {\n\twatchValidator(component, propName, (value): boolean => typeof value === 'boolean', new Set(['Boolean {true, false}']), value, options);\n};\n\nexport const watchString = (component: Generic.Element.Component, propName: string, value?: string, options: WatchStringOptions = {}): void => {\n\tconst minLength = typeof options.minLength === 'number' ? options?.minLength : 0;\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'string' && value.length >= minLength && (typeof options?.maxLength === 'undefined' || value.length <= options.maxLength),\n\t\tnew Set([`String`]),\n\t\tvalue,\n\t\toptions,\n\t);\n};\n\nexport const watchNumber = (component: Generic.Element.Component, propName: string, value?: number, options?: WatchNumberOptions): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'number' &&\n\t\t\t(typeof options?.min === 'undefined' || (typeof options?.min === 'number' && value >= options.min)) &&\n\t\t\t(typeof options?.max === 'undefined' || (typeof options?.max === 'number' && value <= options.max)),\n\t\tnew Set(['Number']),\n\t\tvalue,\n\t\toptions,\n\t);\n};\n\nexport const watchJsonArrayString = <T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\titemValidation: (item: T) => boolean,\n\tvalue?: Stringified<T[]>,\n\tarrayValidation: (items: T[]) => boolean = (items: T[]) => items === items, // nochmal hirnen\n\toptions: WatchOptions = {},\n): void => {\n\temptyStringByArrayHandler(value, () => {\n\t\tobjectObjectHandler(value, () => {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\tvalue = [];\n\t\t\t}\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<T[]>(value);\n\t\t\t\t} catch {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst invalid = value.find((item: T) => !itemValidation(item));\n\t\t\t\t\tif (invalid === undefined && arrayValidation(value)) {\n\t\t\t\t\t\tsetState(component, propName, value, options.hooks);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobjectObjectHandler(invalid, () => {\n\t\t\t\t\t\t\tLog.debug(invalid);\n\t\t\t\t\t\t\tthrow new Error(`↑ The schema for the property (_options) is not valid. The value will not be changed.`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\t\t\tLog.debug(value);\n\t\t\t\t\t\tthrow new Error(`↑ The schema for the property (_options) is not valid. The value will not be changed.`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/**\n\t\t\t\t * TODO: Wir haben einen Known-Bug beim Propergieren von Zeichenkettenliste (string[]).\n\t\t\t\t */\n\t\t\t\tLog.debug(error);\n\t\t\t\t// devHint(`Known bug: String array (string[])`);\n\t\t\t}\n\t\t});\n\t});\n};\n\nexport const stringifyJson = (value: unknown): string => {\n\ttry {\n\t\treturn JSON.stringify(value).replace(/\"/g, \"'\");\n\t} catch {\n\t\tLog.warn(['stringifyJson', value]);\n\t\tLog.error(`↑ The JSON could not be converted to a string. A stringifiable JSON is expected.`);\n\t\tthrow new Error();\n\t}\n};\n\nconst JSON_CHARS = /^[{[]/; // string starts with { or [\nexport const parseJson = <T>(value: unknown): T => {\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\t// \"null\", \"true\", \"false\", \"0\" works too\n\t\t\treturn JSON.parse(value);\n\t\t} catch {\n\t\t\tif (JSON_CHARS.test(value)) {\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(value.replace(/'/g, '\"'));\n\t\t\t\t} catch {\n\t\t\t\t\tLog.warn(['parseJson', value]);\n\t\t\t\t\tLog.error(`↑ The JSON string could not be parsed. Make sure that single quotes in the text are escaped (&#8216;).`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tthrow new Error();\n};\n\nexport const mapBoolean2String = (value?: boolean): string | undefined => {\n\treturn typeof value === 'boolean' ? (value === true ? 'true' : 'false') : undefined;\n};\n\nexport const mapStringOrBoolean2String = (value?: string | boolean): string | undefined => {\n\treturn typeof value === 'string' ? value : mapBoolean2String(value);\n};\n\n/**\n * Traverses the DOM including shadow roots and slotted elements via BFS.\n * `onNode` is called once per node; returning `true` stops traversal early.\n */\nconst traverseShadowDom = (rootNode: ParentNode, onNode: (node: ParentNode) => boolean): void => {\n\tif (!rootNode) {\n\t\treturn;\n\t}\n\tconst visited = new Set<Node>();\n\tconst queue: ParentNode[] = [rootNode];\n\tlet index = 0;\n\twhile (index < queue.length) {\n\t\tconst current = queue[index++];\n\t\tif (visited.has(current)) {\n\t\t\tcontinue;\n\t\t}\n\t\tvisited.add(current);\n\t\tif (onNode(current)) {\n\t\t\treturn;\n\t\t}\n\t\tconst children = Array.from(current.children || []);\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tqueue.push(children[i]);\n\t\t}\n\t\tif (current instanceof HTMLElement && current.shadowRoot) {\n\t\t\tqueue.push(current.shadowRoot);\n\t\t}\n\t\tif (current instanceof HTMLSlotElement) {\n\t\t\tconst assigned = current.assignedNodes({ flatten: true });\n\t\t\tfor (let i = 0; i < assigned.length; i++) {\n\t\t\t\tif (assigned[i] instanceof Element) {\n\t\t\t\t\tqueue.push(assigned[i] as HTMLElement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst querySelectorShadow = <T extends Element>(selector: string, rootNode: ParentNode): T | null => {\n\tlet result: T | null = null;\n\ttraverseShadowDom(rootNode, (current) => {\n\t\tif (current instanceof Element && current.matches(selector)) {\n\t\t\tresult = current as T;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t});\n\treturn result;\n};\n\nconst querySelectorAllShadow = <T extends Element>(selector: string, rootNode: ParentNode): T[] => {\n\tconst results: T[] = [];\n\ttraverseShadowDom(rootNode, (current) => {\n\t\tif (current instanceof Element && current.matches(selector)) {\n\t\t\tresults.push(current as T);\n\t\t}\n\t\treturn false;\n\t});\n\treturn results;\n};\n\nexport const koliBriQuerySelector = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T | null =>\n\tquerySelectorShadow<T>(selector, node || getDocument());\n\nexport const koliBriQuerySelectorAll = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T[] =>\n\tquerySelectorAllShadow<T>(selector, node || getDocument());\n\ninterface A11yColorContrast {\n\tbackgroundColor: string;\n\tcolor: string;\n\tdomNode: HTMLElement | HTMLSlotElement;\n\tlevel: string;\n\tscore: number;\n}\n\nlet DEFAULT_COLOR_CONTRAST: A11yColorContrast | null = null;\nconst getDefaultColorContrast = (): A11yColorContrast => {\n\tDEFAULT_COLOR_CONTRAST = DEFAULT_COLOR_CONTRAST || {\n\t\tbackgroundColor: '#00000000',\n\t\tcolor: '#00000000',\n\t\tdomNode: getDocument().body,\n\t\tlevel: 'Fail',\n\t\tscore: 1,\n\t};\n\treturn DEFAULT_COLOR_CONTRAST;\n};\n\nconst TRANSPARENT_REGEXP = /(\\d+, ){3}0\\)/;\nexport const koliBriA11yColorContrast = (domNode: HTMLElement, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tconst computedStyle = getComputedStyle(domNode);\n\tconst hexBG: string = TRANSPARENT_REGEXP.test(computedStyle.backgroundColor) ? a11yColorContrast.backgroundColor : rgba.hex(computedStyle.backgroundColor);\n\tconst hexC: string = TRANSPARENT_REGEXP.test(computedStyle.color) ? a11yColorContrast.color : rgba.hex(computedStyle.color);\n\tconst diff = hex(hexBG, hexC);\n\tconst contrast = {\n\t\tbackgroundColor: hexBG,\n\t\tcolor: hexC,\n\t\tdomNode: domNode,\n\t\tlevel: score(diff),\n\t\tscore: diff,\n\t};\n\tif (diff < 4.5) {\n\t\tLog.error([\n\t\t\t'Color-Contrast-Error',\n\t\t\t{\n\t\t\t\tbackgroundColor: contrast.backgroundColor,\n\t\t\t\tcolor: contrast.color,\n\t\t\t\tlevel: contrast.level,\n\t\t\t\tscore: contrast.score,\n\t\t\t},\n\t\t\tcontrast.domNode,\n\t\t]);\n\t}\n\treturn contrast;\n};\n\nexport const koliBriQuerySelectorColors = (selector: string, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tif (a11yColorContrast.domNode instanceof HTMLElement) {\n\t\ta11yColorContrast = koliBriA11yColorContrast(a11yColorContrast.domNode, a11yColorContrast);\n\t}\n\tconst selectedNode: HTMLElement | null = a11yColorContrast.domNode.querySelector<HTMLElement>(selector);\n\tif (selectedNode === null) {\n\t\tconst nodeList: NodeListOf<HTMLElement> = a11yColorContrast.domNode.querySelectorAll<HTMLElement>('[class=\"hydrated\"]');\n\t\tfor (let i = 0; i < nodeList.length; i++) {\n\t\t\t// const shadowRoot: ShadowRoot = nodeList[i].shadowRoot as ShadowRoot;\n\t\t\t// if (typeof shadowRoot === 'object' && shadowRoot !== null) {\n\t\t\t// a11yColorContrast.domNode = shadowRoot;\n\t\t\t// a11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// } else {\n\t\t\ta11yColorContrast.domNode = nodeList[i];\n\t\t\ta11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// }\n\t\t\tif (a11yColorContrast.domNode !== null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn a11yColorContrast;\n\t} else {\n\t\treturn koliBriA11yColorContrast(selectedNode, a11yColorContrast);\n\t}\n};\n\nexport class KoliBriUtils {\n\tprivate static executionLock = false;\n\tprivate static cache = new Map<Element, A11yColorContrast>();\n\tpublic static queryHtmlElementColors(targetNode: HTMLElement, a11yColorContrast: A11yColorContrast, recursion = false, log = true): A11yColorContrast | null {\n\t\tlet returnValue = null;\n\t\tif (recursion === true || KoliBriUtils.executionLock === false) {\n\t\t\tif (recursion === false) {\n\t\t\t\tKoliBriUtils.cache.clear();\n\t\t\t\tKoliBriUtils.cache.set(a11yColorContrast.domNode, a11yColorContrast);\n\t\t\t\tKoliBriUtils.executionLock = true;\n\t\t\t\tif (log === true) {\n\t\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis started...`);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Log.debug(a11yColorContrast.domNode);\n\t\t\tif (targetNode === a11yColorContrast.domNode) {\n\t\t\t\treturnValue = a11yColorContrast;\n\t\t\t} else {\n\t\t\t\tconst children: Set<Element> = new Set<Element>();\n\t\t\t\tif (a11yColorContrast.domNode.shadowRoot) {\n\t\t\t\t\tconst shadowChildren = a11yColorContrast.domNode.shadowRoot.children;\n\t\t\t\t\tfor (let i = 0; i < shadowChildren.length; i++) {\n\t\t\t\t\t\tchildren.add(shadowChildren[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst slotElement: HTMLSlotElement = a11yColorContrast.domNode as HTMLSlotElement;\n\t\t\t\tif (typeof slotElement.assignedNodes === 'function') {\n\t\t\t\t\tconst slotChildren = slotElement.assignedNodes();\n\t\t\t\t\tfor (let i = 0; i < slotChildren.length; i++) {\n\t\t\t\t\t\tif (slotChildren[i] instanceof HTMLElement) {\n\t\t\t\t\t\t\tchildren.add(slotChildren[i] as HTMLElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst domChildren = a11yColorContrast.domNode.children;\n\t\t\t\tfor (let i = 0; i < domChildren.length; i++) {\n\t\t\t\t\tchildren.add(domChildren[i]);\n\t\t\t\t}\n\t\t\t\tconst arrayChildren = Array.from(children);\n\t\t\t\tfor (let i = 0; i < arrayChildren.length; i++) {\n\t\t\t\t\tlet colorContrast: A11yColorContrast | undefined = KoliBriUtils.cache.get(arrayChildren[i]);\n\t\t\t\t\tif (colorContrast === undefined) {\n\t\t\t\t\t\tcolorContrast = koliBriA11yColorContrast(arrayChildren[i] as HTMLElement, a11yColorContrast);\n\t\t\t\t\t}\n\t\t\t\t\tKoliBriUtils.cache.set(arrayChildren[i], colorContrast);\n\t\t\t\t\tconst colors: A11yColorContrast | null = KoliBriUtils.queryHtmlElementColors(targetNode, colorContrast, true, false);\n\t\t\t\t\tif (colors !== null) {\n\t\t\t\t\t\treturnValue = colors;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tLog.debug(`[KoliBriUtils] Call aborted because a color contrast analysis is currently being executed.`);\n\t\t}\n\t\tif (recursion === false) {\n\t\t\tif (log === true) {\n\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis finished (${KoliBriUtils.cache.size} DOM elements are analysed).`);\n\t\t\t}\n\t\t\tKoliBriUtils.executionLock = false;\n\t\t\tKoliBriUtils.cache.clear();\n\t\t}\n\t\treturn returnValue;\n\t}\n}\n\nexport class KoliBriDevHelper {\n\tpublic static readonly getCssStyle = getCssStyle;\n\tpublic static readonly patchTheme = patchTheme;\n\tpublic static readonly patchThemeTag = patchThemeTag;\n\tpublic static readonly querySelector = koliBriQuerySelector;\n\tpublic static readonly querySelectorAll = koliBriQuerySelectorAll;\n\tpublic static readonly stringifyJson = stringifyJson;\n}\n"]}
@@ -1,8 +1,52 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
+ import { __rest } from "tslib";
4
5
  import { waitForThemed } from "./element-themed";
5
6
  const MAX_FOCUS_ATTEMPTS = 10;
7
+ function waitForElementInViewport(element, timeoutMs = 2000) {
8
+ return new Promise((resolve) => {
9
+ let resolved = false;
10
+ let observer;
11
+ let removeScrollEndListener;
12
+ const done = () => {
13
+ if (resolved) {
14
+ return;
15
+ }
16
+ resolved = true;
17
+ clearTimeout(timeoutId);
18
+ removeScrollEndListener === null || removeScrollEndListener === void 0 ? void 0 : removeScrollEndListener();
19
+ removeScrollEndListener = undefined;
20
+ observer === null || observer === void 0 ? void 0 : observer.disconnect();
21
+ resolve();
22
+ };
23
+ const timeoutId = setTimeout(done, timeoutMs);
24
+ if (typeof window !== 'undefined' && 'onscrollend' in window) {
25
+ const handleScrollEnd = (event) => {
26
+ const target = event.target;
27
+ if (!(target instanceof Node) || !target.contains(element)) {
28
+ return;
29
+ }
30
+ done();
31
+ };
32
+ document.addEventListener('scrollend', handleScrollEnd, { capture: true });
33
+ removeScrollEndListener = () => {
34
+ document.removeEventListener('scrollend', handleScrollEnd, { capture: true });
35
+ };
36
+ return;
37
+ }
38
+ if (typeof IntersectionObserver === 'undefined') {
39
+ done();
40
+ return;
41
+ }
42
+ observer = new IntersectionObserver((entries) => {
43
+ if (entries.some((entry) => entry.isIntersecting)) {
44
+ done();
45
+ }
46
+ }, { threshold: 0 });
47
+ observer.observe(element);
48
+ });
49
+ }
6
50
  export async function delegateFocus(host, callback) {
7
51
  try {
8
52
  if (!host.hasAttribute('data-themed')) {
@@ -21,14 +65,33 @@ function isActiveElement(element) {
21
65
  }
22
66
  return document.activeElement === element;
23
67
  }
24
- export async function setFocus(element) {
68
+ const FOCUS_OPTIONS = {
69
+ preventScroll: true,
70
+ };
71
+ export async function setFocus(element, options) {
72
+ if (!element) {
73
+ return;
74
+ }
75
+ const _a = options !== null && options !== void 0 ? options : {}, { afterFocus } = _a, scrollOptions = __rest(_a, ["afterFocus"]);
76
+ const hasScrollOptions = options && ('behavior' in scrollOptions || 'block' in scrollOptions || 'inline' in scrollOptions);
25
77
  let attempts = 0;
26
78
  do {
27
79
  if (element) {
28
- element.focus();
80
+ element.focus(FOCUS_OPTIONS);
29
81
  }
30
82
  await new Promise((r) => requestAnimationFrame(r));
31
83
  attempts++;
32
84
  } while (!isActiveElement(element) && attempts < MAX_FOCUS_ATTEMPTS);
85
+ const focused = isActiveElement(element);
86
+ if (hasScrollOptions) {
87
+ const scrollIntoViewOptions = Object.assign(Object.assign({}, scrollOptions), { behavior: scrollOptions.behavior });
88
+ element.scrollIntoView(scrollIntoViewOptions);
89
+ }
90
+ if (afterFocus && focused) {
91
+ if (hasScrollOptions && scrollOptions.behavior === 'smooth') {
92
+ await waitForElementInViewport(element);
93
+ }
94
+ afterFocus();
95
+ }
33
96
  }
34
97
  //# sourceMappingURL=element-focus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"element-focus.js","sourceRoot":"","sources":["../../src/utils/element-focus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAU9B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAiB,EAAE,QAA6B;IACnF,IAAI,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,QAAQ,EAAE,CAAC;IAClB,CAAC;IAAC,WAAM,CAAC;QACR,MAAM,IAAI,KAAK,CACd,6JAA6J,CAC7J,CAAC;IACH,CAAC;AACF,CAAC;AASD,SAAS,eAAe,CAAC,OAAoB;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC;AAC3C,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAoB;IAClD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,QAAQ,EAAE,CAAC;IACZ,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE;AACtE,CAAC","sourcesContent":["import { waitForThemed } from './element-themed';\n\nconst MAX_FOCUS_ATTEMPTS = 10;\n\n/**\n * Delegates focus after the component is themed and ready.\n * Waits for the `data-themed` attribute on the host element before invoking the callback.\n *\n * @param host - The Stencil host element\n * @param callback - Async function that applies focus to the desired inner element\n * @throws {Error} If theming times out or the callback fails\n */\nexport async function delegateFocus(host: HTMLElement, callback: () => Promise<void>): Promise<void> {\n\ttry {\n\t\tif (!host.hasAttribute('data-themed')) {\n\t\t\tawait waitForThemed(host);\n\t\t}\n\t\tawait callback();\n\t} catch {\n\t\tthrow new Error(\n\t\t\t`The interactive element inside the KoliBri web component could not be focused. Try calling the focus method on the web component after a short delay again.`,\n\t\t);\n\t}\n}\n\n/**\n * Checks whether the given element is currently the active element.\n * Handles elements inside a Shadow DOM by querying the shadow root's `activeElement`\n * instead of `document.activeElement`, which only reflects the shadow host in that case.\n *\n * @param element - The element to check\n */\nfunction isActiveElement(element: HTMLElement): boolean {\n\tconst root = element.getRootNode();\n\tif (root instanceof ShadowRoot) {\n\t\treturn root.activeElement === element;\n\t}\n\treturn document.activeElement === element;\n}\n\n/**\n * Attempts to focus the given element on each animation frame until\n * it becomes the active element or the maximum number of attempts is reached.\n * Uses {@link isActiveElement} to correctly detect focus inside Shadow DOM.\n *\n * @param element - The element to focus\n * @see MAX_FOCUS_ATTEMPTS\n */\nexport async function setFocus(element: HTMLElement): Promise<void> {\n\tlet attempts = 0;\n\tdo {\n\t\tif (element) {\n\t\t\telement.focus();\n\t\t}\n\t\tawait new Promise((r) => requestAnimationFrame(r));\n\t\tattempts++;\n\t} while (!isActiveElement(element) && attempts < MAX_FOCUS_ATTEMPTS);\n}\n"]}
1
+ {"version":3,"file":"element-focus.js","sourceRoot":"","sources":["../../src/utils/element-focus.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAW9B,SAAS,wBAAwB,CAAC,OAAoB,EAAE,SAAS,GAAG,IAAI;IACvE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAA0C,CAAC;QAC/C,IAAI,uBAAiD,CAAC;QAEtD,MAAM,IAAI,GAAG,GAAG,EAAE;YACjB,IAAI,QAAQ,EAAE,CAAC;gBACd,OAAO;YACR,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,EAAI,CAAC;YAC5B,uBAAuB,GAAG,SAAS,CAAC;YACpC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE9C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC9D,MAAM,eAAe,GAAG,CAAC,KAAY,EAAQ,EAAE;gBAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5D,OAAO;gBACR,CAAC;gBACD,IAAI,EAAE,CAAC;YACR,CAAC,CAAC;YAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,uBAAuB,GAAG,GAAG,EAAE;gBAC9B,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,OAAO,oBAAoB,KAAK,WAAW,EAAE,CAAC;YACjD,IAAI,EAAE,CAAC;YACP,OAAO;QACR,CAAC;QAED,QAAQ,GAAG,IAAI,oBAAoB,CAClC,CAAC,OAAO,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;gBACnD,IAAI,EAAE,CAAC;YACR,CAAC;QACF,CAAC,EACD,EAAE,SAAS,EAAE,CAAC,EAAE,CAChB,CAAC;QAEF,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACJ,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAiB,EAAE,QAA6B;IACnF,IAAI,CAAC;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACvC,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,QAAQ,EAAE,CAAC;IAClB,CAAC;IAAC,WAAM,CAAC;QACR,MAAM,IAAI,KAAK,CACd,6JAA6J,CAC7J,CAAC;IACH,CAAC;AACF,CAAC;AASD,SAAS,eAAe,CAAC,OAAoB;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC;AAC3C,CAAC;AAED,MAAM,aAAa,GAAG;IACrB,aAAa,EAAE,IAAI;CACI,CAAC;AAiBzB,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAuC,EAAE,OAAyB;IAChG,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;IACR,CAAC;IACD,MAAM,KAAmC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAhD,EAAE,UAAU,OAAoC,EAA/B,aAAa,cAA9B,cAAgC,CAAgB,CAAC;IACvD,MAAM,gBAAgB,GAAG,OAAO,IAAI,CAAC,UAAU,IAAI,aAAa,IAAI,OAAO,IAAI,aAAa,IAAI,QAAQ,IAAI,aAAa,CAAC,CAAC;IAE3H,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,GAAG,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,QAAQ,EAAE,CAAC;IACZ,CAAC,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,QAAQ,GAAG,kBAAkB,EAAE;IAErE,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,gBAAgB,EAAE,CAAC;QACtB,MAAM,qBAAqB,mCAA+B,aAAa,KAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,GAAE,CAAC;QAC5G,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,gBAAgB,IAAI,aAAa,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,EAAE,CAAC;IACd,CAAC;AACF,CAAC","sourcesContent":["import type { KolFocusOptions } from '../schema';\nimport { waitForThemed } from './element-themed';\n\nconst MAX_FOCUS_ATTEMPTS = 10;\n\n/**\n * Waits for scroll completion affecting the given element.\n * Uses the native `scrollend` event when available and falls back to viewport\n * intersection detection via {@link IntersectionObserver}.\n * A safety timeout guarantees the promise always resolves.\n *\n * @param element - The element to observe\n * @param timeoutMs - Maximum time to wait before resolving regardless of visibility (default 2000 ms)\n */\nfunction waitForElementInViewport(element: HTMLElement, timeoutMs = 2000): Promise<void> {\n\treturn new Promise<void>((resolve) => {\n\t\tlet resolved = false;\n\t\tlet observer: IntersectionObserver | undefined;\n\t\tlet removeScrollEndListener: (() => void) | undefined;\n\n\t\tconst done = () => {\n\t\t\tif (resolved) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tresolved = true;\n\t\t\tclearTimeout(timeoutId);\n\t\t\tremoveScrollEndListener?.();\n\t\t\tremoveScrollEndListener = undefined;\n\t\t\tobserver?.disconnect();\n\t\t\tresolve();\n\t\t};\n\n\t\tconst timeoutId = setTimeout(done, timeoutMs);\n\n\t\tif (typeof window !== 'undefined' && 'onscrollend' in window) {\n\t\t\tconst handleScrollEnd = (event: Event): void => {\n\t\t\t\tconst target = event.target;\n\t\t\t\tif (!(target instanceof Node) || !target.contains(element)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdone();\n\t\t\t};\n\n\t\t\tdocument.addEventListener('scrollend', handleScrollEnd, { capture: true });\n\t\t\tremoveScrollEndListener = () => {\n\t\t\t\tdocument.removeEventListener('scrollend', handleScrollEnd, { capture: true });\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\tif (typeof IntersectionObserver === 'undefined') {\n\t\t\tdone();\n\t\t\treturn;\n\t\t}\n\n\t\tobserver = new IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tif (entries.some((entry) => entry.isIntersecting)) {\n\t\t\t\t\tdone();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ threshold: 0 },\n\t\t);\n\n\t\tobserver.observe(element);\n\t});\n}\n\n/**\n * Delegates focus after the component is themed and ready.\n * Waits for the `data-themed` attribute on the host element before invoking the callback.\n *\n * @param host - The Stencil host element\n * @param callback - Async function that applies focus to the desired inner element\n * @throws {Error} If theming times out or the callback fails\n */\nexport async function delegateFocus(host: HTMLElement, callback: () => Promise<void>): Promise<void> {\n\ttry {\n\t\tif (!host.hasAttribute('data-themed')) {\n\t\t\tawait waitForThemed(host);\n\t\t}\n\t\tawait callback();\n\t} catch {\n\t\tthrow new Error(\n\t\t\t`The interactive element inside the KoliBri web component could not be focused. Try calling the focus method on the web component after a short delay again.`,\n\t\t);\n\t}\n}\n\n/**\n * Checks whether the given element is currently the active element.\n * Handles elements inside a Shadow DOM by querying the shadow root's `activeElement`\n * instead of `document.activeElement`, which only reflects the shadow host in that case.\n *\n * @param element - The element to check\n */\nfunction isActiveElement(element: HTMLElement): boolean {\n\tconst root = element.getRootNode();\n\tif (root instanceof ShadowRoot) {\n\t\treturn root.activeElement === element;\n\t}\n\treturn document.activeElement === element;\n}\n\nconst FOCUS_OPTIONS = {\n\tpreventScroll: true,\n} satisfies FocusOptions;\n\n/**\n * Attempts to focus the given element on each animation frame until\n * it becomes the active element or the maximum number of attempts is reached.\n * Uses {@link isActiveElement} to correctly detect focus inside Shadow DOM.\n *\n * When `options` are provided the element is scrolled into view using the supplied\n * {@link ScrollIntoViewOptions} (preventing the browser's default scroll triggered by\n * `focus()` to avoid a double-scroll). If `options.afterFocus` is set, the callback is\n * invoked after the element is focused and – for smooth-scroll transitions – after\n * scrolling settles (`scrollend`, with {@link IntersectionObserver} fallback).\n *\n * @param element - The element to focus\n * @param options - Optional scroll behaviour and completion callback\n * @see MAX_FOCUS_ATTEMPTS\n */\nexport async function setFocus(element: HTMLElement | undefined | null, options?: KolFocusOptions): Promise<void> {\n\tif (!element) {\n\t\treturn;\n\t}\n\tconst { afterFocus, ...scrollOptions } = options ?? {};\n\tconst hasScrollOptions = options && ('behavior' in scrollOptions || 'block' in scrollOptions || 'inline' in scrollOptions);\n\n\tlet attempts = 0;\n\tdo {\n\t\tif (element) {\n\t\t\telement.focus(FOCUS_OPTIONS);\n\t\t}\n\t\tawait new Promise((r) => requestAnimationFrame(r));\n\t\tattempts++;\n\t} while (!isActiveElement(element) && attempts < MAX_FOCUS_ATTEMPTS);\n\n\tconst focused = isActiveElement(element);\n\n\tif (hasScrollOptions) {\n\t\tconst scrollIntoViewOptions: ScrollIntoViewOptions = { ...scrollOptions, behavior: scrollOptions.behavior };\n\t\telement.scrollIntoView(scrollIntoViewOptions);\n\t}\n\n\tif (afterFocus && focused) {\n\t\tif (hasScrollOptions && scrollOptions.behavior === 'smooth') {\n\t\t\tawait waitForElementInViewport(element);\n\t\t}\n\t\tafterFocus();\n\t}\n}\n"]}