@public-ui/components 4.5.0-rc.6 → 4.5.0-rc.8

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 (580) 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 +1 -2
  7. package/dist/cjs/{Heading-Bck3PFpH.js → Heading-yiwXjRrz.js} +3 -3
  8. package/dist/cjs/{Heading-Bck3PFpH.js.map → Heading-yiwXjRrz.js.map} +1 -1
  9. package/dist/cjs/{api-BcNl2vZm.js → api-BDT5xkx5.js} +8 -8
  10. package/dist/cjs/{api-BcNl2vZm.js.map → api-BDT5xkx5.js.map} +1 -1
  11. package/dist/cjs/{api-LP3gnw7U.js → api-BI1qXrGa.js} +12 -12
  12. package/dist/cjs/{api-LP3gnw7U.js.map → api-BI1qXrGa.js.map} +1 -1
  13. package/dist/cjs/{app-globals-oR-jEiju.js → app-globals-DPVGNVgE.js} +4 -4
  14. package/dist/cjs/{app-globals-oR-jEiju.js.map → app-globals-DPVGNVgE.js.map} +1 -1
  15. package/dist/cjs/{base-DbfvhKRa.js → base-B_M9Y7nD.js} +4 -4
  16. package/dist/cjs/{base-DbfvhKRa.js.map → base-B_M9Y7nD.js.map} +1 -1
  17. package/dist/cjs/{base-BDGmLWVj.js → base-CaQNXZrN.js} +5 -5
  18. package/dist/cjs/{base-BDGmLWVj.js.map → base-CaQNXZrN.js.map} +1 -1
  19. package/dist/cjs/{base-CwXJywKD.js → base-DlsemYqM.js} +4 -4
  20. package/dist/cjs/{base-CwXJywKD.js.map → base-DlsemYqM.js.map} +1 -1
  21. package/dist/cjs/{base-DaK2F3pq.js → base-FZ2Hemhr.js} +16 -16
  22. package/dist/cjs/{base-DaK2F3pq.js.map → base-FZ2Hemhr.js.map} +1 -1
  23. package/dist/cjs/{base-web-component-C8MLLGxi.js → base-web-component-BK8X1O8C.js} +16 -9
  24. package/dist/cjs/base-web-component-BK8X1O8C.js.map +1 -0
  25. package/dist/cjs/{base-web-component-mmgXJMg0.js → base-web-component-GLk66TOu.js} +7 -7
  26. package/dist/cjs/{base-web-component-mmgXJMg0.js.map → base-web-component-GLk66TOu.js.map} +1 -1
  27. package/dist/cjs/{behavior-DWqrO2yi.js → behavior-BEaXHesG.js} +3 -3
  28. package/dist/cjs/{behavior-DWqrO2yi.js.map → behavior-BEaXHesG.js.map} +1 -1
  29. package/dist/cjs/{color-C9UZwMvC.js → color-CZiNkZFM.js} +3 -3
  30. package/dist/cjs/{color-C9UZwMvC.js.map → color-CZiNkZFM.js.map} +1 -1
  31. package/dist/cjs/{component-ZPvcKmPR.js → component-3EZdZbDH.js} +3 -3
  32. package/dist/cjs/{component-ZPvcKmPR.js.map → component-3EZdZbDH.js.map} +1 -1
  33. package/dist/cjs/{component-DuPEYx7z.js → component-B96XYPtn.js} +4 -4
  34. package/dist/cjs/{component-DuPEYx7z.js.map → component-B96XYPtn.js.map} +1 -1
  35. package/dist/cjs/{component-uHDfV5D8.js → component-BUCx7i5o.js} +7 -7
  36. package/dist/cjs/{component-uHDfV5D8.js.map → component-BUCx7i5o.js.map} +1 -1
  37. package/dist/cjs/{component-DNDfYzXZ.js → component-Bc8fDajy.js} +5 -5
  38. package/dist/cjs/{component-DNDfYzXZ.js.map → component-Bc8fDajy.js.map} +1 -1
  39. package/dist/cjs/{component-CmvG-auD.js → component-Be3QHUyC.js} +3 -3
  40. package/dist/cjs/{component-CmvG-auD.js.map → component-Be3QHUyC.js.map} +1 -1
  41. package/dist/cjs/{component-BT86Nj6R.js → component-Bj4QdlXm.js} +5 -5
  42. package/dist/cjs/{component-BT86Nj6R.js.map → component-Bj4QdlXm.js.map} +1 -1
  43. package/dist/cjs/{component-xIM903qi.js → component-CAkixzEQ.js} +3 -3
  44. package/dist/cjs/{component-xIM903qi.js.map → component-CAkixzEQ.js.map} +1 -1
  45. package/dist/cjs/{component-1NrcvQzp.js → component-CPVFCnaN.js} +7 -7
  46. package/dist/cjs/{component-1NrcvQzp.js.map → component-CPVFCnaN.js.map} +1 -1
  47. package/dist/cjs/{component-o3s7XplI.js → component-Dd-PS3jp.js} +4 -4
  48. package/dist/cjs/{component-o3s7XplI.js.map → component-Dd-PS3jp.js.map} +1 -1
  49. package/dist/cjs/{component-CtNPdMS0.js → component-DjDOgcWW.js} +5 -5
  50. package/dist/cjs/{component-CtNPdMS0.js.map → component-DjDOgcWW.js.map} +1 -1
  51. package/dist/cjs/{component-X_thXnkE.js → component-Du98sklA.js} +3 -3
  52. package/dist/cjs/{component-X_thXnkE.js.map → component-Du98sklA.js.map} +1 -1
  53. package/dist/cjs/{component-GfDUM7Um.js → component-Dw6Tq7Wb.js} +4 -4
  54. package/dist/cjs/{component-GfDUM7Um.js.map → component-Dw6Tq7Wb.js.map} +1 -1
  55. package/dist/cjs/{contrast-kLMuDQLl.js → contrast-CrL_sMV6.js} +3 -12
  56. package/dist/cjs/contrast-CrL_sMV6.js.map +1 -0
  57. package/dist/cjs/{dev.utils-BjrG4FNf.js → dev.utils-DybQ4euF.js} +3 -3
  58. package/dist/cjs/{dev.utils-BjrG4FNf.js.map → dev.utils-DybQ4euF.js.map} +1 -1
  59. package/dist/cjs/{devtools-D_afWgpU.js → devtools-Bw5sQJOl.js} +4 -4
  60. package/dist/cjs/{devtools-D_afWgpU.js.map → devtools-Bw5sQJOl.js.map} +1 -1
  61. package/dist/cjs/{field-control-DAHkvYr4.js → field-control-4CnbMR0i.js} +8 -8
  62. package/dist/cjs/{field-control-DAHkvYr4.js.map → field-control-4CnbMR0i.js.map} +1 -1
  63. package/dist/cjs/{group-DHYxVn2x.js → group-BCkxYeMA.js} +5 -5
  64. package/dist/cjs/{group-DHYxVn2x.js.map → group-BCkxYeMA.js.map} +1 -1
  65. package/dist/cjs/{index-BnEus4Y9.js → index-RAfZF5x0.js} +3 -3
  66. package/dist/cjs/{index-BnEus4Y9.js.map → index-RAfZF5x0.js.map} +1 -1
  67. package/dist/cjs/{input-eDaEE80n.js → input-7t7ZvgAy.js} +5 -5
  68. package/dist/cjs/{input-eDaEE80n.js.map → input-7t7ZvgAy.js.map} +1 -1
  69. package/dist/cjs/{input-container-Cye4qL9S.js → input-container-BUK2Fp_t.js} +7 -7
  70. package/dist/cjs/{input-container-Cye4qL9S.js.map → input-container-BUK2Fp_t.js.map} +1 -1
  71. package/dist/cjs/{item-Dflr47KV.js → item-BInO5rWQ.js} +8 -8
  72. package/dist/cjs/{item-Dflr47KV.js.map → item-BInO5rWQ.js.map} +1 -1
  73. package/dist/cjs/{item-BSdQbEav.js → item-D8Zz2ROC.js} +3 -3
  74. package/dist/cjs/{item-BSdQbEav.js.map → item-D8Zz2ROC.js.map} +1 -1
  75. package/dist/cjs/{item-C0yzJQUg.js → item-DO176juh.js} +4 -4
  76. package/dist/cjs/{item-C0yzJQUg.js.map → item-DO176juh.js.map} +1 -1
  77. package/dist/cjs/{item-wz0gBnmK.js → item-K1SS6pAu.js} +4 -4
  78. package/dist/cjs/{item-wz0gBnmK.js.map → item-K1SS6pAu.js.map} +1 -1
  79. package/dist/cjs/kol-abbr.cjs.entry.js +2 -2
  80. package/dist/cjs/kol-accordion.cjs.entry.js +7 -7
  81. package/dist/cjs/kol-alert.cjs.entry.js +11 -11
  82. package/dist/cjs/kol-avatar.cjs.entry.js +3 -3
  83. package/dist/cjs/kol-badge.cjs.entry.js +12 -12
  84. package/dist/cjs/kol-breadcrumb.cjs.entry.js +9 -9
  85. package/dist/cjs/kol-button-link.cjs.entry.js +10 -10
  86. package/dist/cjs/kol-button.cjs.entry.js +10 -10
  87. package/dist/cjs/kol-card.cjs.entry.js +11 -11
  88. package/dist/cjs/kol-click-button.cjs.entry.js +2 -2
  89. package/dist/cjs/kol-combobox.cjs.entry.js +18 -18
  90. package/dist/cjs/kol-details.cjs.entry.js +7 -7
  91. package/dist/cjs/kol-dialog.cjs.entry.js +13 -13
  92. package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
  93. package/dist/cjs/kol-form.cjs.entry.js +12 -12
  94. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-icon.cjs.entry.js +3 -3
  96. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-checkbox.cjs.entry.js +17 -17
  98. package/dist/cjs/kol-input-color.cjs.entry.js +18 -18
  99. package/dist/cjs/kol-input-date.cjs.entry.js +18 -18
  100. package/dist/cjs/kol-input-email.cjs.entry.js +20 -20
  101. package/dist/cjs/kol-input-file.cjs.entry.js +17 -17
  102. package/dist/cjs/kol-input-number.cjs.entry.js +18 -18
  103. package/dist/cjs/kol-input-password.cjs.entry.js +22 -22
  104. package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
  105. package/dist/cjs/kol-input-radio.cjs.entry.js +17 -17
  106. package/dist/cjs/kol-input-range.cjs.entry.js +18 -18
  107. package/dist/cjs/kol-input-text.cjs.entry.js +20 -20
  108. package/dist/cjs/kol-kolibri.cjs.entry.js +2 -2
  109. package/dist/cjs/kol-link-button.cjs.entry.js +10 -10
  110. package/dist/cjs/kol-link.cjs.entry.js +10 -10
  111. package/dist/cjs/kol-meter.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-modal.cjs.entry.js +13 -13
  113. package/dist/cjs/kol-nav.cjs.entry.js +13 -13
  114. package/dist/cjs/kol-pagination.cjs.entry.js +18 -18
  115. package/dist/cjs/kol-popover-button.cjs.entry.js +12 -13
  116. package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
  117. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-select.cjs.entry.js +17 -17
  120. package/dist/cjs/kol-single-select.cjs.entry.js +18 -18
  121. package/dist/cjs/kol-skeleton.cjs.entry.js +2 -2
  122. package/dist/cjs/kol-skip-nav.cjs.entry.js +9 -9
  123. package/dist/cjs/kol-spin.cjs.entry.js +3 -3
  124. package/dist/cjs/kol-split-button.cjs.entry.js +12 -12
  125. package/dist/cjs/kol-table-stateful.cjs.entry.js +25 -25
  126. package/dist/cjs/kol-table-stateless.cjs.entry.js +19 -19
  127. package/dist/cjs/kol-tabs.cjs.entry.js +9 -9
  128. package/dist/cjs/kol-textarea.cjs.entry.js +20 -20
  129. package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
  130. package/dist/cjs/kol-toast-container.cjs.entry.js +11 -11
  131. package/dist/cjs/kol-toolbar.cjs.entry.js +33 -14
  132. package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
  133. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +4 -4
  134. package/dist/cjs/kol-tree-item.cjs.entry.js +9 -9
  135. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  136. package/dist/cjs/kol-version.cjs.entry.js +10 -10
  137. package/dist/cjs/kolibri.cjs.js +2 -2
  138. package/dist/cjs/loader.cjs.js +2 -2
  139. package/dist/cjs/{resolve-props-DOU1VJNL.js → resolve-props-BBVQo_N5.js} +3 -3
  140. package/dist/cjs/{resolve-props-DOU1VJNL.js.map → resolve-props-BBVQo_N5.js.map} +1 -1
  141. package/dist/cjs/{scroll-lock-C6dUw4on.js → scroll-lock-zJbOf1Xr.js} +3 -3
  142. package/dist/cjs/{scroll-lock-C6dUw4on.js.map → scroll-lock-zJbOf1Xr.js.map} +1 -1
  143. package/dist/cjs/{suggestions-0hcm13gT.js → suggestions-quLXODgi.js} +4 -4
  144. package/dist/cjs/{suggestions-0hcm13gT.js.map → suggestions-quLXODgi.js.map} +1 -1
  145. package/dist/cjs/test-component.cjs.entry.js +1 -1
  146. package/dist/cjs/{toggle-handler-kOflG5om.js → toggle-handler-CENFGRWT.js} +5 -5
  147. package/dist/cjs/{toggle-handler-kOflG5om.js.map → toggle-handler-CENFGRWT.js.map} +1 -1
  148. package/dist/collection/components/accordion/style.css +2 -2
  149. package/dist/collection/components/alert/style.css +2 -2
  150. package/dist/collection/components/badge/style.css +2 -2
  151. package/dist/collection/components/breadcrumb/style.css +2 -2
  152. package/dist/collection/components/button/style.css +2 -2
  153. package/dist/collection/components/button-link/style.css +2 -2
  154. package/dist/collection/components/card/style.css +2 -2
  155. package/dist/collection/components/combobox/style.css +2 -2
  156. package/dist/collection/components/details/style.css +2 -2
  157. package/dist/collection/components/dialog/style.css +2 -2
  158. package/dist/collection/components/drawer/style.css +2 -2
  159. package/dist/collection/components/form/style.css +2 -2
  160. package/dist/collection/components/icon/style.css +2 -2
  161. package/dist/collection/components/input-checkbox/style.css +2 -2
  162. package/dist/collection/components/input-color/style.css +2 -2
  163. package/dist/collection/components/input-date/style.css +2 -2
  164. package/dist/collection/components/input-email/style.css +2 -2
  165. package/dist/collection/components/input-file/style.css +2 -2
  166. package/dist/collection/components/input-number/style.css +2 -2
  167. package/dist/collection/components/input-password/component.js +2 -2
  168. package/dist/collection/components/input-password/component.js.map +1 -1
  169. package/dist/collection/components/input-password/style.css +2 -2
  170. package/dist/collection/components/input-radio/style.css +2 -2
  171. package/dist/collection/components/input-range/style.css +2 -2
  172. package/dist/collection/components/input-text/style.css +2 -2
  173. package/dist/collection/components/link/style.css +2 -2
  174. package/dist/collection/components/link-button/style.css +2 -2
  175. package/dist/collection/components/modal/style.css +2 -2
  176. package/dist/collection/components/nav/style.css +2 -2
  177. package/dist/collection/components/pagination/style.css +2 -2
  178. package/dist/collection/components/popover-button/component.js +2 -4
  179. package/dist/collection/components/popover-button/component.js.map +1 -1
  180. package/dist/collection/components/popover-button/style.css +2 -2
  181. package/dist/collection/components/select/style.css +2 -2
  182. package/dist/collection/components/single-select/style.css +2 -2
  183. package/dist/collection/components/skip-nav/style.css +2 -2
  184. package/dist/collection/components/split-button/style.css +2 -2
  185. package/dist/collection/components/table-stateful/style.css +2 -2
  186. package/dist/collection/components/table-stateless/style.css +2 -2
  187. package/dist/collection/components/tabs/style.css +2 -2
  188. package/dist/collection/components/textarea/component.js +3 -3
  189. package/dist/collection/components/textarea/component.js.map +1 -1
  190. package/dist/collection/components/textarea/style.css +2 -2
  191. package/dist/collection/components/toaster/style.css +2 -2
  192. package/dist/collection/components/toolbar/component.js +1 -1
  193. package/dist/collection/components/toolbar/component.js.map +1 -1
  194. package/dist/collection/components/toolbar/style.css +9 -3
  195. package/dist/collection/components/tree-item/style.css +2 -2
  196. package/dist/collection/components/version/style.css +2 -2
  197. package/dist/collection/internal/functional-components/form-field/select-value.js +3 -1
  198. package/dist/collection/internal/functional-components/form-field/select-value.js.map +1 -1
  199. package/dist/collection/internal/functional-components/form-field/select.js +8 -3
  200. package/dist/collection/internal/functional-components/form-field/select.js.map +1 -1
  201. package/dist/collection/internal/functional-components/form-field/select.test.js +88 -0
  202. package/dist/collection/internal/functional-components/form-field/select.test.js.map +1 -1
  203. package/dist/collection/internal/functional-components/form-field/textarea.js.map +1 -1
  204. package/dist/collection/internal/functional-components/toolbar/api.js.map +1 -1
  205. package/dist/collection/internal/functional-components/toolbar/component.js +1 -1
  206. package/dist/collection/internal/functional-components/toolbar/component.js.map +1 -1
  207. package/dist/collection/internal/functional-components/toolbar/item.js +20 -1
  208. package/dist/collection/internal/functional-components/toolbar/item.js.map +1 -1
  209. package/dist/collection/schema/props/toolbar-items.js.map +1 -1
  210. package/dist/collection/schema/utils/contrast.js +2 -10
  211. package/dist/collection/schema/utils/contrast.js.map +1 -1
  212. package/dist/components/base-web-component4.js +11 -4
  213. package/dist/components/base-web-component4.js.map +1 -1
  214. package/dist/components/contrast.js +1 -10
  215. package/dist/components/contrast.js.map +1 -1
  216. package/dist/components/kol-accordion.js +1 -1
  217. package/dist/components/kol-alert.js +1 -1
  218. package/dist/components/kol-badge.js +1 -1
  219. package/dist/components/kol-breadcrumb.js +1 -1
  220. package/dist/components/kol-button-link.js +1 -1
  221. package/dist/components/kol-button.js +1 -1
  222. package/dist/components/kol-card.js +1 -1
  223. package/dist/components/kol-combobox.js +1 -1
  224. package/dist/components/kol-details.js +1 -1
  225. package/dist/components/kol-dialog.js +1 -1
  226. package/dist/components/kol-drawer.js +1 -1
  227. package/dist/components/kol-form.js +1 -1
  228. package/dist/components/kol-icon.js +1 -1
  229. package/dist/components/kol-input-checkbox.js +1 -1
  230. package/dist/components/kol-input-color.js +1 -1
  231. package/dist/components/kol-input-date.js +1 -1
  232. package/dist/components/kol-input-email.js +1 -1
  233. package/dist/components/kol-input-file.js +1 -1
  234. package/dist/components/kol-input-number.js +1 -1
  235. package/dist/components/kol-input-password.js +3 -3
  236. package/dist/components/kol-input-password.js.map +1 -1
  237. package/dist/components/kol-input-radio.js +1 -1
  238. package/dist/components/kol-input-range.js +1 -1
  239. package/dist/components/kol-input-text.js +1 -1
  240. package/dist/components/kol-link-button.js +1 -1
  241. package/dist/components/kol-link.js +1 -1
  242. package/dist/components/kol-modal.js +1 -1
  243. package/dist/components/kol-nav.js +1 -1
  244. package/dist/components/kol-pagination.js +1 -1
  245. package/dist/components/kol-popover-button.js +2 -3
  246. package/dist/components/kol-popover-button.js.map +1 -1
  247. package/dist/components/kol-select.js +1 -1
  248. package/dist/components/kol-single-select.js +1 -1
  249. package/dist/components/kol-skip-nav.js +1 -1
  250. package/dist/components/kol-split-button.js +1 -1
  251. package/dist/components/kol-table-stateful.js +1 -1
  252. package/dist/components/kol-table-stateless.js +1 -1
  253. package/dist/components/kol-tabs.js +1 -1
  254. package/dist/components/kol-textarea.js +4 -4
  255. package/dist/components/kol-textarea.js.map +1 -1
  256. package/dist/components/kol-toast-container.js +1 -1
  257. package/dist/components/kol-toolbar.js +23 -4
  258. package/dist/components/kol-toolbar.js.map +1 -1
  259. package/dist/components/kol-tree-item.js +1 -1
  260. package/dist/components/kol-version.js +1 -1
  261. package/dist/esm/{Heading-DXl16qig.js → Heading-BctDgC7M.js} +3 -3
  262. package/dist/esm/{Heading-DXl16qig.js.map → Heading-BctDgC7M.js.map} +1 -1
  263. package/dist/esm/{api-C8TfIYlY.js → api-B6fEjFVl.js} +12 -12
  264. package/dist/{kolibri/api-C8TfIYlY.js.map → esm/api-B6fEjFVl.js.map} +1 -1
  265. package/dist/esm/{api-BA-AFr5H.js → api-T-JuZMlj.js} +8 -8
  266. package/dist/esm/{api-BA-AFr5H.js.map → api-T-JuZMlj.js.map} +1 -1
  267. package/dist/esm/{app-globals-lFdBwFG2.js → app-globals-CvvWI2x9.js} +4 -4
  268. package/dist/esm/{app-globals-lFdBwFG2.js.map → app-globals-CvvWI2x9.js.map} +1 -1
  269. package/dist/esm/{base-DiSQvfGU.js → base-BARjFMg1.js} +5 -5
  270. package/dist/esm/{base-DiSQvfGU.js.map → base-BARjFMg1.js.map} +1 -1
  271. package/dist/esm/{base-D8GcFhvD.js → base-BbVXW6YI.js} +4 -4
  272. package/dist/{kolibri/base-D8GcFhvD.js.map → esm/base-BbVXW6YI.js.map} +1 -1
  273. package/dist/esm/{base-B5F8ROuQ.js → base-D8yYjJsn.js} +4 -4
  274. package/dist/esm/{base-B5F8ROuQ.js.map → base-D8yYjJsn.js.map} +1 -1
  275. package/dist/esm/{base-BpqjfzG1.js → base-Dvr4F_Pr.js} +16 -16
  276. package/dist/{kolibri/base-BpqjfzG1.js.map → esm/base-Dvr4F_Pr.js.map} +1 -1
  277. package/dist/esm/{base-web-component-CkaKv7O0.js → base-web-component-BzB5tP9s.js} +16 -9
  278. package/dist/esm/base-web-component-BzB5tP9s.js.map +1 -0
  279. package/dist/esm/{base-web-component-BozlJoj7.js → base-web-component-DU3hnIWD.js} +7 -7
  280. package/dist/esm/{base-web-component-BozlJoj7.js.map → base-web-component-DU3hnIWD.js.map} +1 -1
  281. package/dist/esm/{behavior-BuNqmjz8.js → behavior-CbqCHL6O.js} +3 -3
  282. package/dist/esm/{behavior-BuNqmjz8.js.map → behavior-CbqCHL6O.js.map} +1 -1
  283. package/dist/esm/{color-Du3Ft0XV.js → color-QYuhlVFz.js} +3 -3
  284. package/dist/esm/{color-Du3Ft0XV.js.map → color-QYuhlVFz.js.map} +1 -1
  285. package/dist/esm/{component-Da5dJMKj.js → component-BaD1OTyv.js} +5 -5
  286. package/dist/{kolibri/component-Da5dJMKj.js.map → esm/component-BaD1OTyv.js.map} +1 -1
  287. package/dist/esm/{component-DD5QqT5m.js → component-BjWF1SyZ.js} +7 -7
  288. package/dist/esm/{component-DD5QqT5m.js.map → component-BjWF1SyZ.js.map} +1 -1
  289. package/dist/esm/{component-Bd7PXqOG.js → component-Ch6fss2f.js} +5 -5
  290. package/dist/esm/{component-Bd7PXqOG.js.map → component-Ch6fss2f.js.map} +1 -1
  291. package/dist/esm/{component-C3aqLFK2.js → component-CmBM-Y1C.js} +7 -7
  292. package/dist/esm/{component-C3aqLFK2.js.map → component-CmBM-Y1C.js.map} +1 -1
  293. package/dist/esm/{component-xrrwVuiI.js → component-CvhmYY4a.js} +4 -4
  294. package/dist/esm/{component-xrrwVuiI.js.map → component-CvhmYY4a.js.map} +1 -1
  295. package/dist/esm/{component-De6Do_gt.js → component-D0iTurA_.js} +3 -3
  296. package/dist/esm/{component-De6Do_gt.js.map → component-D0iTurA_.js.map} +1 -1
  297. package/dist/esm/{component-BjH8s4-t.js → component-DKS73hKY.js} +3 -3
  298. package/dist/{kolibri/component-BjH8s4-t.js.map → esm/component-DKS73hKY.js.map} +1 -1
  299. package/dist/esm/{component-BxKN0JbT.js → component-DhBTawyT.js} +3 -3
  300. package/dist/esm/{component-BxKN0JbT.js.map → component-DhBTawyT.js.map} +1 -1
  301. package/dist/esm/{component-CWGVLsSH.js → component-G9vQ1mQA.js} +4 -4
  302. package/dist/{kolibri/component-CWGVLsSH.js.map → esm/component-G9vQ1mQA.js.map} +1 -1
  303. package/dist/esm/{component-D_58mw87.js → component-QCFfSS76.js} +4 -4
  304. package/dist/{kolibri/component-D_58mw87.js.map → esm/component-QCFfSS76.js.map} +1 -1
  305. package/dist/esm/{component-BKOep2WQ.js → component-d1d-AIsY.js} +5 -5
  306. package/dist/{kolibri/component-BKOep2WQ.js.map → esm/component-d1d-AIsY.js.map} +1 -1
  307. package/dist/esm/{component-C9DexidK.js → component-sf_0WjJF.js} +3 -3
  308. package/dist/esm/{component-C9DexidK.js.map → component-sf_0WjJF.js.map} +1 -1
  309. package/dist/esm/{contrast-BKAJJL2K.js → contrast-DMN9saXP.js} +3 -12
  310. package/dist/esm/contrast-DMN9saXP.js.map +1 -0
  311. package/dist/esm/{dev.utils-CYtV9X0K.js → dev.utils-BGy8dbtQ.js} +3 -3
  312. package/dist/esm/{dev.utils-CYtV9X0K.js.map → dev.utils-BGy8dbtQ.js.map} +1 -1
  313. package/dist/esm/{devtools-B0qRaQdp.js → devtools-CZ8Mnmwl.js} +4 -4
  314. package/dist/{kolibri/devtools-B0qRaQdp.js.map → esm/devtools-CZ8Mnmwl.js.map} +1 -1
  315. package/dist/esm/{field-control-C5hjw2Rb.js → field-control-CLnFuMmy.js} +8 -8
  316. package/dist/{kolibri/field-control-C5hjw2Rb.js.map → esm/field-control-CLnFuMmy.js.map} +1 -1
  317. package/dist/esm/{group-2hP8qbvk.js → group-BAOmF5Ok.js} +5 -5
  318. package/dist/esm/{group-2hP8qbvk.js.map → group-BAOmF5Ok.js.map} +1 -1
  319. package/dist/esm/{index-DsCeQ9Ys.js → index-DAKQV03B.js} +3 -3
  320. package/dist/{kolibri/index-DsCeQ9Ys.js.map → esm/index-DAKQV03B.js.map} +1 -1
  321. package/dist/esm/{input-Dp5NBocQ.js → input-D2i1QEbL.js} +5 -5
  322. package/dist/esm/{input-Dp5NBocQ.js.map → input-D2i1QEbL.js.map} +1 -1
  323. package/dist/esm/{input-container-QA8-0_0p.js → input-container-wQm8-W3s.js} +7 -7
  324. package/dist/esm/{input-container-QA8-0_0p.js.map → input-container-wQm8-W3s.js.map} +1 -1
  325. package/dist/esm/{item-BIjqEkyy.js → item-DJ8LXOMv.js} +8 -8
  326. package/dist/{kolibri/item-BIjqEkyy.js.map → esm/item-DJ8LXOMv.js.map} +1 -1
  327. package/dist/esm/{item-CXyolUj2.js → item-DbLIGnc9.js} +4 -4
  328. package/dist/{kolibri/item-CXyolUj2.js.map → esm/item-DbLIGnc9.js.map} +1 -1
  329. package/dist/esm/{item-CaxJw3ad.js → item-Dkm57tce.js} +4 -4
  330. package/dist/esm/{item-CaxJw3ad.js.map → item-Dkm57tce.js.map} +1 -1
  331. package/dist/esm/{item-DY0fVVnj.js → item-DuBSR8BS.js} +3 -3
  332. package/dist/esm/{item-DY0fVVnj.js.map → item-DuBSR8BS.js.map} +1 -1
  333. package/dist/esm/kol-abbr.entry.js +2 -2
  334. package/dist/esm/kol-accordion.entry.js +7 -7
  335. package/dist/esm/kol-alert.entry.js +11 -11
  336. package/dist/esm/kol-avatar.entry.js +3 -3
  337. package/dist/esm/kol-badge.entry.js +12 -12
  338. package/dist/esm/kol-breadcrumb.entry.js +9 -9
  339. package/dist/esm/kol-button-link.entry.js +10 -10
  340. package/dist/esm/kol-button.entry.js +10 -10
  341. package/dist/esm/kol-card.entry.js +11 -11
  342. package/dist/esm/kol-click-button.entry.js +2 -2
  343. package/dist/esm/kol-combobox.entry.js +18 -18
  344. package/dist/esm/kol-details.entry.js +7 -7
  345. package/dist/esm/kol-dialog.entry.js +13 -13
  346. package/dist/esm/kol-drawer.entry.js +12 -12
  347. package/dist/esm/kol-form.entry.js +12 -12
  348. package/dist/esm/kol-heading.entry.js +1 -1
  349. package/dist/esm/kol-icon.entry.js +3 -3
  350. package/dist/esm/kol-image.entry.js +1 -1
  351. package/dist/esm/kol-input-checkbox.entry.js +17 -17
  352. package/dist/esm/kol-input-color.entry.js +18 -18
  353. package/dist/esm/kol-input-date.entry.js +18 -18
  354. package/dist/esm/kol-input-email.entry.js +20 -20
  355. package/dist/esm/kol-input-file.entry.js +17 -17
  356. package/dist/esm/kol-input-number.entry.js +18 -18
  357. package/dist/esm/kol-input-password.entry.js +22 -22
  358. package/dist/esm/kol-input-password.entry.js.map +1 -1
  359. package/dist/esm/kol-input-radio.entry.js +17 -17
  360. package/dist/esm/kol-input-range.entry.js +18 -18
  361. package/dist/esm/kol-input-text.entry.js +20 -20
  362. package/dist/esm/kol-kolibri.entry.js +2 -2
  363. package/dist/esm/kol-link-button.entry.js +10 -10
  364. package/dist/esm/kol-link.entry.js +10 -10
  365. package/dist/esm/kol-meter.entry.js +1 -1
  366. package/dist/esm/kol-modal.entry.js +13 -13
  367. package/dist/esm/kol-nav.entry.js +13 -13
  368. package/dist/esm/kol-pagination.entry.js +18 -18
  369. package/dist/esm/kol-popover-button.entry.js +12 -13
  370. package/dist/esm/kol-popover-button.entry.js.map +1 -1
  371. package/dist/esm/kol-progress.entry.js +1 -1
  372. package/dist/esm/kol-quote.entry.js +1 -1
  373. package/dist/esm/kol-select.entry.js +17 -17
  374. package/dist/esm/kol-single-select.entry.js +18 -18
  375. package/dist/esm/kol-skeleton.entry.js +2 -2
  376. package/dist/esm/kol-skip-nav.entry.js +9 -9
  377. package/dist/esm/kol-spin.entry.js +3 -3
  378. package/dist/esm/kol-split-button.entry.js +12 -12
  379. package/dist/esm/kol-table-stateful.entry.js +25 -25
  380. package/dist/esm/kol-table-stateless.entry.js +19 -19
  381. package/dist/esm/kol-tabs.entry.js +9 -9
  382. package/dist/esm/kol-textarea.entry.js +20 -20
  383. package/dist/esm/kol-textarea.entry.js.map +1 -1
  384. package/dist/esm/kol-toast-container.entry.js +11 -11
  385. package/dist/esm/kol-toolbar.entry.js +33 -14
  386. package/dist/esm/kol-toolbar.entry.js.map +1 -1
  387. package/dist/esm/kol-tooltip-wc.entry.js +4 -4
  388. package/dist/esm/kol-tree-item.entry.js +9 -9
  389. package/dist/esm/kol-tree.entry.js +1 -1
  390. package/dist/esm/kol-version.entry.js +10 -10
  391. package/dist/esm/kolibri.js +3 -3
  392. package/dist/esm/loader.js +3 -3
  393. package/dist/esm/{resolve-props-DJxTzf-G.js → resolve-props-BTiKxg-8.js} +3 -3
  394. package/dist/{kolibri/resolve-props-DJxTzf-G.js.map → esm/resolve-props-BTiKxg-8.js.map} +1 -1
  395. package/dist/esm/{scroll-lock-BN6ZnBdc.js → scroll-lock-DRNyw9qH.js} +3 -3
  396. package/dist/{kolibri/scroll-lock-BN6ZnBdc.js.map → esm/scroll-lock-DRNyw9qH.js.map} +1 -1
  397. package/dist/esm/{suggestions-DlpHvEGv.js → suggestions-CG-TuGC4.js} +4 -4
  398. package/dist/esm/{suggestions-DlpHvEGv.js.map → suggestions-CG-TuGC4.js.map} +1 -1
  399. package/dist/esm/test-component.entry.js +1 -1
  400. package/dist/esm/{toggle-handler-Xex3lIll.js → toggle-handler-aTxO0Wem.js} +5 -5
  401. package/dist/{kolibri/toggle-handler-Xex3lIll.js.map → esm/toggle-handler-aTxO0Wem.js.map} +1 -1
  402. package/dist/kolibri/{Heading-DXl16qig.js → Heading-BctDgC7M.js} +2 -2
  403. package/dist/kolibri/{Heading-DXl16qig.js.map → Heading-BctDgC7M.js.map} +1 -1
  404. package/dist/kolibri/api-B6fEjFVl.js +5 -0
  405. package/dist/{esm/api-C8TfIYlY.js.map → kolibri/api-B6fEjFVl.js.map} +1 -1
  406. package/dist/kolibri/api-T-JuZMlj.js +5 -0
  407. package/dist/kolibri/{api-BA-AFr5H.js.map → api-T-JuZMlj.js.map} +1 -1
  408. package/dist/kolibri/app-globals-CvvWI2x9.js +5 -0
  409. package/dist/kolibri/{app-globals-lFdBwFG2.js.map → app-globals-CvvWI2x9.js.map} +1 -1
  410. package/dist/kolibri/base-BARjFMg1.js +5 -0
  411. package/dist/kolibri/{base-DiSQvfGU.js.map → base-BARjFMg1.js.map} +1 -1
  412. package/dist/kolibri/{base-D8GcFhvD.js → base-BbVXW6YI.js} +2 -2
  413. package/dist/{esm/base-D8GcFhvD.js.map → kolibri/base-BbVXW6YI.js.map} +1 -1
  414. package/dist/kolibri/{base-B5F8ROuQ.js → base-D8yYjJsn.js} +2 -2
  415. package/dist/kolibri/{base-B5F8ROuQ.js.map → base-D8yYjJsn.js.map} +1 -1
  416. package/dist/kolibri/base-Dvr4F_Pr.js +5 -0
  417. package/dist/{esm/base-BpqjfzG1.js.map → kolibri/base-Dvr4F_Pr.js.map} +1 -1
  418. package/dist/kolibri/base-web-component-BzB5tP9s.js +5 -0
  419. package/dist/kolibri/base-web-component-BzB5tP9s.js.map +1 -0
  420. package/dist/kolibri/{base-web-component-BozlJoj7.js → base-web-component-DU3hnIWD.js} +2 -2
  421. package/dist/kolibri/{base-web-component-BozlJoj7.js.map → base-web-component-DU3hnIWD.js.map} +1 -1
  422. package/dist/kolibri/{behavior-BuNqmjz8.js → behavior-CbqCHL6O.js} +2 -2
  423. package/dist/kolibri/{behavior-BuNqmjz8.js.map → behavior-CbqCHL6O.js.map} +1 -1
  424. package/dist/kolibri/{color-Du3Ft0XV.js → color-QYuhlVFz.js} +2 -2
  425. package/dist/kolibri/{color-Du3Ft0XV.js.map → color-QYuhlVFz.js.map} +1 -1
  426. package/dist/kolibri/component-BaD1OTyv.js +5 -0
  427. package/dist/{esm/component-Da5dJMKj.js.map → kolibri/component-BaD1OTyv.js.map} +1 -1
  428. package/dist/kolibri/{component-DD5QqT5m.js → component-BjWF1SyZ.js} +2 -2
  429. package/dist/kolibri/{component-DD5QqT5m.js.map → component-BjWF1SyZ.js.map} +1 -1
  430. package/dist/kolibri/{component-Bd7PXqOG.js → component-Ch6fss2f.js} +2 -2
  431. package/dist/kolibri/{component-Bd7PXqOG.js.map → component-Ch6fss2f.js.map} +1 -1
  432. package/dist/kolibri/component-CmBM-Y1C.js +5 -0
  433. package/dist/kolibri/{component-C3aqLFK2.js.map → component-CmBM-Y1C.js.map} +1 -1
  434. package/dist/kolibri/component-CvhmYY4a.js +5 -0
  435. package/dist/kolibri/{component-xrrwVuiI.js.map → component-CvhmYY4a.js.map} +1 -1
  436. package/dist/kolibri/component-D0iTurA_.js +5 -0
  437. package/dist/kolibri/{component-De6Do_gt.js.map → component-D0iTurA_.js.map} +1 -1
  438. package/dist/kolibri/{component-BjH8s4-t.js → component-DKS73hKY.js} +2 -2
  439. package/dist/{esm/component-BjH8s4-t.js.map → kolibri/component-DKS73hKY.js.map} +1 -1
  440. package/dist/kolibri/component-DhBTawyT.js +5 -0
  441. package/dist/kolibri/{component-BxKN0JbT.js.map → component-DhBTawyT.js.map} +1 -1
  442. package/dist/kolibri/{component-CWGVLsSH.js → component-G9vQ1mQA.js} +2 -2
  443. package/dist/{esm/component-CWGVLsSH.js.map → kolibri/component-G9vQ1mQA.js.map} +1 -1
  444. package/dist/kolibri/{component-D_58mw87.js → component-QCFfSS76.js} +2 -2
  445. package/dist/{esm/component-D_58mw87.js.map → kolibri/component-QCFfSS76.js.map} +1 -1
  446. package/dist/kolibri/{component-BKOep2WQ.js → component-d1d-AIsY.js} +2 -2
  447. package/dist/{esm/component-BKOep2WQ.js.map → kolibri/component-d1d-AIsY.js.map} +1 -1
  448. package/dist/kolibri/{component-C9DexidK.js → component-sf_0WjJF.js} +2 -2
  449. package/dist/kolibri/{component-C9DexidK.js.map → component-sf_0WjJF.js.map} +1 -1
  450. package/dist/kolibri/contrast-DMN9saXP.js +5 -0
  451. package/dist/kolibri/contrast-DMN9saXP.js.map +1 -0
  452. package/dist/kolibri/{dev.utils-CYtV9X0K.js → dev.utils-BGy8dbtQ.js} +2 -2
  453. package/dist/kolibri/{dev.utils-CYtV9X0K.js.map → dev.utils-BGy8dbtQ.js.map} +1 -1
  454. package/dist/kolibri/devtools-CZ8Mnmwl.js +5 -0
  455. package/dist/{esm/devtools-B0qRaQdp.js.map → kolibri/devtools-CZ8Mnmwl.js.map} +1 -1
  456. package/dist/kolibri/field-control-CLnFuMmy.js +5 -0
  457. package/dist/{esm/field-control-C5hjw2Rb.js.map → kolibri/field-control-CLnFuMmy.js.map} +1 -1
  458. package/dist/kolibri/{group-2hP8qbvk.js → group-BAOmF5Ok.js} +2 -2
  459. package/dist/kolibri/{group-2hP8qbvk.js.map → group-BAOmF5Ok.js.map} +1 -1
  460. package/dist/kolibri/{index-DsCeQ9Ys.js → index-DAKQV03B.js} +2 -2
  461. package/dist/{esm/index-DsCeQ9Ys.js.map → kolibri/index-DAKQV03B.js.map} +1 -1
  462. package/dist/kolibri/input-D2i1QEbL.js +5 -0
  463. package/dist/kolibri/{input-Dp5NBocQ.js.map → input-D2i1QEbL.js.map} +1 -1
  464. package/dist/kolibri/{input-container-QA8-0_0p.js → input-container-wQm8-W3s.js} +2 -2
  465. package/dist/kolibri/{input-container-QA8-0_0p.js.map → input-container-wQm8-W3s.js.map} +1 -1
  466. package/dist/kolibri/{item-BIjqEkyy.js → item-DJ8LXOMv.js} +2 -2
  467. package/dist/{esm/item-BIjqEkyy.js.map → kolibri/item-DJ8LXOMv.js.map} +1 -1
  468. package/dist/kolibri/item-DbLIGnc9.js +5 -0
  469. package/dist/{esm/item-CXyolUj2.js.map → kolibri/item-DbLIGnc9.js.map} +1 -1
  470. package/dist/kolibri/{item-CaxJw3ad.js → item-Dkm57tce.js} +2 -2
  471. package/dist/kolibri/{item-CaxJw3ad.js.map → item-Dkm57tce.js.map} +1 -1
  472. package/dist/kolibri/{item-DY0fVVnj.js → item-DuBSR8BS.js} +2 -2
  473. package/dist/kolibri/{item-DY0fVVnj.js.map → item-DuBSR8BS.js.map} +1 -1
  474. package/dist/kolibri/kol-abbr.entry.js +1 -1
  475. package/dist/kolibri/kol-accordion.entry.js +1 -1
  476. package/dist/kolibri/kol-alert.entry.js +1 -1
  477. package/dist/kolibri/kol-avatar.entry.js +1 -1
  478. package/dist/kolibri/kol-badge.entry.js +1 -1
  479. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  480. package/dist/kolibri/kol-button-link.entry.js +1 -1
  481. package/dist/kolibri/kol-button.entry.js +1 -1
  482. package/dist/kolibri/kol-card.entry.js +1 -1
  483. package/dist/kolibri/kol-click-button.entry.js +1 -1
  484. package/dist/kolibri/kol-combobox.entry.js +1 -1
  485. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  486. package/dist/kolibri/kol-details.entry.js +1 -1
  487. package/dist/kolibri/kol-dialog.entry.js +1 -1
  488. package/dist/kolibri/kol-drawer.entry.js +1 -1
  489. package/dist/kolibri/kol-form.entry.js +1 -1
  490. package/dist/kolibri/kol-heading.entry.js +1 -1
  491. package/dist/kolibri/kol-icon.entry.js +1 -1
  492. package/dist/kolibri/kol-image.entry.js +1 -1
  493. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  494. package/dist/kolibri/kol-input-color.entry.js +1 -1
  495. package/dist/kolibri/kol-input-date.entry.js +1 -1
  496. package/dist/kolibri/kol-input-email.entry.js +1 -1
  497. package/dist/kolibri/kol-input-file.entry.js +1 -1
  498. package/dist/kolibri/kol-input-number.entry.js +1 -1
  499. package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
  500. package/dist/kolibri/kol-input-password.entry.js +1 -1
  501. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  502. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  503. package/dist/kolibri/kol-input-range.entry.js +1 -1
  504. package/dist/kolibri/kol-input-text.entry.js +1 -1
  505. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  506. package/dist/kolibri/kol-link-button.entry.js +1 -1
  507. package/dist/kolibri/kol-link.entry.js +1 -1
  508. package/dist/kolibri/kol-meter.entry.js +1 -1
  509. package/dist/kolibri/kol-modal.entry.js +1 -1
  510. package/dist/kolibri/kol-nav.entry.js +1 -1
  511. package/dist/kolibri/kol-pagination.entry.js +1 -1
  512. package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
  513. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  514. package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
  515. package/dist/kolibri/kol-progress.entry.js +1 -1
  516. package/dist/kolibri/kol-quote.entry.js +1 -1
  517. package/dist/kolibri/kol-select.entry.js +1 -1
  518. package/dist/kolibri/kol-single-select.entry.js +1 -1
  519. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  520. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  521. package/dist/kolibri/kol-spin.entry.js +1 -1
  522. package/dist/kolibri/kol-split-button.entry.js +1 -1
  523. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  524. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  525. package/dist/kolibri/kol-tabs.entry.js +1 -1
  526. package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
  527. package/dist/kolibri/kol-textarea.entry.js +1 -1
  528. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  529. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  530. package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
  531. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  532. package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
  533. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  534. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  535. package/dist/kolibri/kol-tree.entry.js +1 -1
  536. package/dist/kolibri/kol-version.entry.js +1 -1
  537. package/dist/kolibri/kol-version.entry.js.map +1 -1
  538. package/dist/kolibri/kolibri.esm.js +1 -1
  539. package/dist/kolibri/resolve-props-BTiKxg-8.js +5 -0
  540. package/dist/{esm/resolve-props-DJxTzf-G.js.map → kolibri/resolve-props-BTiKxg-8.js.map} +1 -1
  541. package/dist/kolibri/{scroll-lock-BN6ZnBdc.js → scroll-lock-DRNyw9qH.js} +2 -2
  542. package/dist/{esm/scroll-lock-BN6ZnBdc.js.map → kolibri/scroll-lock-DRNyw9qH.js.map} +1 -1
  543. package/dist/kolibri/suggestions-CG-TuGC4.js +5 -0
  544. package/dist/kolibri/{suggestions-DlpHvEGv.js.map → suggestions-CG-TuGC4.js.map} +1 -1
  545. package/dist/kolibri/test-component.entry.js +1 -1
  546. package/dist/kolibri/toggle-handler-aTxO0Wem.js +5 -0
  547. package/dist/{esm/toggle-handler-Xex3lIll.js.map → kolibri/toggle-handler-aTxO0Wem.js.map} +1 -1
  548. package/dist/types/components/toolbar/component.d.ts +2 -2
  549. package/dist/types/components.d.ts +0 -2
  550. package/dist/types/internal/functional-components/form-field/textarea.d.ts +1 -0
  551. package/dist/types/internal/functional-components/toolbar/api.d.ts +2 -2
  552. package/dist/types/internal/functional-components/toolbar/item.d.ts +5 -2
  553. package/dist/types/schema/props/toolbar-items.d.ts +3 -1
  554. package/doc/popover-button.md +1 -1
  555. package/package.json +1 -1
  556. package/dist/cjs/base-web-component-C8MLLGxi.js.map +0 -1
  557. package/dist/cjs/contrast-kLMuDQLl.js.map +0 -1
  558. package/dist/esm/base-web-component-CkaKv7O0.js.map +0 -1
  559. package/dist/esm/contrast-BKAJJL2K.js.map +0 -1
  560. package/dist/kolibri/api-BA-AFr5H.js +0 -5
  561. package/dist/kolibri/api-C8TfIYlY.js +0 -5
  562. package/dist/kolibri/app-globals-lFdBwFG2.js +0 -5
  563. package/dist/kolibri/base-BpqjfzG1.js +0 -5
  564. package/dist/kolibri/base-DiSQvfGU.js +0 -5
  565. package/dist/kolibri/base-web-component-CkaKv7O0.js +0 -5
  566. package/dist/kolibri/base-web-component-CkaKv7O0.js.map +0 -1
  567. package/dist/kolibri/component-BxKN0JbT.js +0 -5
  568. package/dist/kolibri/component-C3aqLFK2.js +0 -5
  569. package/dist/kolibri/component-Da5dJMKj.js +0 -5
  570. package/dist/kolibri/component-De6Do_gt.js +0 -5
  571. package/dist/kolibri/component-xrrwVuiI.js +0 -5
  572. package/dist/kolibri/contrast-BKAJJL2K.js +0 -5
  573. package/dist/kolibri/contrast-BKAJJL2K.js.map +0 -1
  574. package/dist/kolibri/devtools-B0qRaQdp.js +0 -5
  575. package/dist/kolibri/field-control-C5hjw2Rb.js +0 -5
  576. package/dist/kolibri/input-Dp5NBocQ.js +0 -5
  577. package/dist/kolibri/item-CXyolUj2.js +0 -5
  578. package/dist/kolibri/resolve-props-DJxTzf-G.js +0 -5
  579. package/dist/kolibri/suggestions-DlpHvEGv.js +0 -5
  580. package/dist/kolibri/toggle-handler-Xex3lIll.js +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"kol-toolbar.entry.cjs.js","sources":["src/internal/props/toolbar-items.ts","src/internal/functional-components/toolbar/api.tsx","src/internal/functional-components/toolbar/component.tsx","src/internal/functional-components/toolbar/item.ts","src/components/toolbar/style.scss?tag=kol-toolbar&mode=default&encapsulation=shadow","src/components/toolbar/component.tsx"],"sourcesContent":["import type { ToolbarItemsPropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeArray } from './helpers/normalizers';\n\n/**\n * Toolbar items prop.\n *\n * Accepts the item array or its JSON string. Item validation mirrors the legacy\n * `validateToolbarItems` predicate: every entry must be a non-null object. One invalid entry\n * rejects the whole value, keeping the previously rendered items — same as the predecessor.\n */\nexport type ToolbarItemsProp = SimpleProp<'items', ToolbarItemsPropType>;\n\nexport const toolbarItemsProp = createPropDefinition<ToolbarItemsProp>(\n\t'items',\n\t[],\n\t(value) => normalizeArray(value) as ToolbarItemsPropType,\n\t(items) => items.every((item) => typeof item === 'object' && item !== null),\n);\n","import type { KolFocusOptions } from '../../../schema';\nimport { labelWithExpertSlotProp, orientationProp, toolbarItemsProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\nimport type { ToolbarButtonItem, ToolbarLinkItem } from './item';\n\n/**\n * Props configuration for the toolbar component.\n *\n * Notes on prop choices:\n * - `labelWithExpertSlotProp`, not `labelProp`: the predecessor's `validateLabel` accepted any\n * string; `labelProp` would reject one-character labels. The toolbar has no expert slot.\n * - `orientationProp` defaults to `'horizontal'`, like the predecessor's `validateOrientation`.\n */\nexport const toolbarPropsConfig = {\n\trequired: [labelWithExpertSlotProp, toolbarItemsProp],\n\toptional: [orientationProp],\n} as const satisfies PropsConfigShape;\n\nexport type ToolbarApi = ApiFromConfig<\n\ttypeof toolbarPropsConfig,\n\t{\n\t\tMethods: {\n\t\t\tclick: () => void;\n\t\t\tfocus: (options?: KolFocusOptions) => void;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * Index of the item carrying the roving tabindex. `-1` while no item is enabled.\n\t\t\t */\n\t\t\tcurrentIndex: number;\n\t\t\t/**\n\t\t\t * Orchestration records for the items (everything `ButtonFC` or `LinkFC` needs, built by\n\t\t\t * `createToolbarItem`), rebuilt whenever `_items` changes.\n\t\t\t */\n\t\t\titemRecords: Array<ToolbarButtonItem | ToolbarLinkItem>;\n\t\t\t/**\n\t\t\t * The current location reported by the aria-current service, `''` until one is reported.\n\t\t\t * Drives the links' `aria-current`.\n\t\t\t */\n\t\t\tlocation: string;\n\t\t};\n\t}\n>;\n","import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport { BemRootNodeFC } from '../bem-root-node/component';\nimport { ButtonFC } from '../button/component';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport { LinkFC } from '../link/component';\nimport type { ToolbarApi } from './api';\nimport type { ToolbarButtonItem, ToolbarLinkItem } from './item';\n\nconst BEM_CLASS_TOOLBAR__ITEM = bem.forBlock('kol-toolbar')('item');\n\ntype ToolbarFCProps = Pick<FunctionalComponentProps<ToolbarApi>, 'currentIndex' | 'itemRecords' | 'label' | 'location' | 'orientation'> & {\n\tclass?: string;\n};\n\n/**\n * Renders one entry. `.kol-toolbar__item` stays on a wrapper around the functional component\n * rather than merging onto its root: the themes address it as an ancestor of the button's and\n * link's inner elements (`.kol-toolbar__item:first-child .kol-button__text`), and a wrapper in\n * the place of the former custom element keeps the flex-item box tree unchanged.\n */\nconst renderItem = (record: ToolbarButtonItem | ToolbarLinkItem, index: number, currentIndex: number, location: string) => {\n\tconst tabIndex = index === currentIndex && !record.disabled ? 0 : -1;\n\n\treturn (\n\t\t<div class={BEM_CLASS_TOOLBAR__ITEM} key={index} ref={record.refWrapper}>\n\t\t\t{record.type === 'link' ? <LinkFC {...record.getFcProps(tabIndex, location)} /> : <ButtonFC {...record.getFcProps(tabIndex)} />}\n\t\t</div>\n\t);\n};\n\nexport const ToolbarFC: FC<ToolbarFCProps> = ({ class: hostClass, currentIndex, itemRecords, label, location, orientation }) => (\n\t<BemRootNodeFC\n\t\tblock=\"kol-toolbar\"\n\t\tclass={hostClass}\n\t\tmodifiers={{ 'orientation-horizontal': orientation === 'horizontal', 'orientation-vertical': orientation === 'vertical' }}\n\t\trole=\"toolbar\"\n\t\taria-label={label}\n\t>\n\t\t{itemRecords.map((record, index) => renderItem(record, index, currentIndex, location))}\n\t</BemRootNodeFC>\n);\n","import { getFeatureFlag } from 'adopted-style-sheets';\n\nimport { propagateResetEventToForm, propagateSubmitEventToForm } from '../../../components/form/controller';\nimport type { ToolbarItemPropType } from '../../../schema';\nimport { setEventTarget } from '../../../schema';\nimport { nonce } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport { BaseWebComponent } from '../base-web-component';\nimport type { ButtonApi } from '../button/api';\nimport { resolveButtonProps } from '../button/resolve-props';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { LinkApi } from '../link/api';\nimport type { EmbeddedLinkProps } from '../link/resolve-props';\nimport { resolveLinkProps } from '../link/resolve-props';\nimport { TooltipBehavior } from '../tooltip/behavior';\n\ntype ToolbarItemBase = {\n\t/** Whether the item refuses interaction; the roving tabindex skips it. */\n\tdisabled: boolean;\n\t/** The item's interactive element, once rendered. */\n\tgetElement(): HTMLAnchorElement | HTMLButtonElement | undefined;\n\t/**\n\t * Ref for the item's wrapper. The public `KolEvent` DOM events are dispatched on it, i.e. on\n\t * the node that the transitional `kol-button-wc`/`kol-link-wc` host occupied before.\n\t */\n\trefWrapper: (element?: HTMLElement) => void;\n\t/** Re-registers the tooltip listeners on the current element. Call from `componentDidRender`. */\n\tsyncListeners(): void;\n\t/** Tears down the tooltip behavior. Call when the item is replaced or the toolbar disconnects. */\n\tdestroy(): void;\n};\n\nexport type ToolbarButtonItem = ToolbarItemBase & {\n\ttype: 'button';\n\t/** Fully resolved `ButtonFC` props for the given roving tabindex. */\n\tgetFcProps(tabIndex: number): FunctionalComponentProps<ButtonApi>;\n};\n\nexport type ToolbarLinkItem = ToolbarItemBase & {\n\ttype: 'link';\n\t/**\n\t * Fully resolved `LinkFC` props for the given roving tabindex and current location (`''` while\n\t * no location has been reported).\n\t */\n\tgetFcProps(tabIndex: number, location: string): FunctionalComponentProps<LinkApi>;\n};\n\n/**\n * One orchestrated toolbar entry: everything `ButtonFC` or `LinkFC` needs to render it, plus the\n * lifecycle hooks the toolbar has to drive — what the transitional `kol-button-wc` and\n * `kol-link-wc` did per entry before the toolbar rendered the functional components directly.\n *\n * A plain object with closures, like `breadcrumb/link-item.ts` and `popover-button/item.ts`, so\n * the toolbar rebuilds it cheaply whenever `_items` changes while tooltip behavior and refs\n * survive by reference.\n *\n * The toolbar's own defaults — `_inline: false` and the theme's `buttonVariantDefault` — apply\n * only where the entry leaves the prop unset, and an entry's own `_tabIndex` wins over the roving\n * tabindex, exactly like the predecessor's `{...defaults} {...item}` spread.\n */\nexport const createToolbarItem = (item: ToolbarItemPropType, getFlagHost: () => HTMLElement | undefined): ToolbarButtonItem | ToolbarLinkItem =>\n\titem.type === 'link' ? createLinkItem(item, getFlagHost) : createButtonItem(item, getFlagHost);\n\nconst createButtonItem = (item: Extract<ToolbarItemPropType, { type: 'button' }>, getFlagHost: () => HTMLElement | undefined): ToolbarButtonItem => {\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLButtonElement>();\n\tconst ariaDescriptionId = nonce();\n\tlet wrapper: HTMLElement | undefined;\n\n\tconst props = resolveButtonProps(item, getFlagHost());\n\tconst value = item._value;\n\n\ttooltipBehavior.componentWillLoad({ label: props.label, align: props.tooltipAlign });\n\n\tconst dispatch = (event: KolEvent, detail?: unknown): void => {\n\t\tif (wrapper) {\n\t\t\tdispatchDomEvent(wrapper, event, detail);\n\t\t}\n\t};\n\n\tconst handleClick = (event: MouseEvent): void => {\n\t\tevent.stopPropagation();\n\t\ttooltipBehavior.hideTooltip();\n\n\t\tif (props.type === 'submit') {\n\t\t\tpropagateSubmitEventToForm({ form: wrapper, ref: ctaRef.el });\n\t\t} else if (props.type === 'reset') {\n\t\t\tpropagateResetEventToForm({ form: wrapper, ref: ctaRef.el });\n\t\t} else if (typeof props.on.onClick === 'function') {\n\t\t\tsetEventTarget(event, ctaRef.el);\n\t\t\tprops.on.onClick(event, value);\n\t\t}\n\n\t\tdispatch(KolEvent.click, value);\n\t};\n\n\tconst handleMouseDown = (event: MouseEvent): void => {\n\t\tprops.on.onMouseDown?.(event);\n\t\tdispatch(KolEvent.mousedown);\n\t};\n\n\tconst handleFocus = (event: FocusEvent): void => {\n\t\tprops.on.onFocus?.(event);\n\t\tdispatch(KolEvent.focus);\n\t};\n\n\tconst handleBlur = (event: FocusEvent): void => {\n\t\tprops.on.onBlur?.(event);\n\t\tdispatch(KolEvent.blur);\n\t};\n\n\treturn {\n\t\ttype: 'button',\n\t\tdisabled: props.disabled,\n\t\tgetElement: () => ctaRef.el,\n\t\tgetFcProps: (tabIndex) => ({\n\t\t\t...props,\n\t\t\tariaDescriptionId,\n\t\t\thandleBlur,\n\t\t\thandleClick,\n\t\t\thandleFocus,\n\t\t\thandleMouseDown,\n\t\t\trefButton: ctaRef,\n\t\t\trefTooltip: tooltipBehavior.setTooltipElementRef,\n\t\t\ttabIndex: typeof item._tabIndex === 'number' ? props.tabIndex : tabIndex,\n\t\t}),\n\t\trefWrapper: (element) => {\n\t\t\twrapper = element;\n\t\t},\n\t\tsyncListeners: () => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t},\n\t\tdestroy: () => tooltipBehavior.destroy(),\n\t};\n};\n\nconst createLinkItem = (item: Extract<ToolbarItemPropType, { type: 'link' }>, getFlagHost: () => HTMLElement | undefined): ToolbarLinkItem => {\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLAnchorElement>();\n\tconst ariaDescriptionId = nonce();\n\tlet wrapper: HTMLElement | undefined;\n\n\tconst link: EmbeddedLinkProps = item;\n\tconst props = resolveLinkProps({\n\t\t...link,\n\t\t_inline: link._inline ?? false,\n\t\t_variant: link._variant ?? getFeatureFlag('buttonVariantDefault', getFlagHost()) ?? 'normal',\n\t});\n\n\t// A link without a label shows its href, and so does its tooltip.\n\ttooltipBehavior.componentWillLoad({ label: props.label.length > 0 ? props.label : props.href, align: props.tooltipAlign });\n\n\tconst handleAnchorClick = (event: Event): void => {\n\t\ttooltipBehavior.hideTooltip();\n\t\tif (props.disabled) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tif (typeof props.on.onClick === 'function') {\n\t\t\tsetEventTarget(event, ctaRef.el);\n\t\t\tprops.on.onClick(event, props.href);\n\t\t}\n\t\tif (wrapper) {\n\t\t\tdispatchDomEvent(wrapper, KolEvent.click, props.href);\n\t\t}\n\t};\n\n\treturn {\n\t\ttype: 'link',\n\t\tdisabled: props.disabled,\n\t\tgetElement: () => ctaRef.el,\n\t\tgetFcProps: (tabIndex, location) => ({\n\t\t\t...props,\n\t\t\tariaCurrent: location !== '' && location === props.href ? props.ariaCurrentValue : '',\n\t\t\tariaDescriptionId,\n\t\t\texpertSlot: item._label === '',\n\t\t\thandleAnchorClick,\n\t\t\trefAnchor: ctaRef,\n\t\t\trefTooltip: tooltipBehavior.setTooltipElementRef,\n\t\t\ttabIndex: typeof item._tabIndex === 'number' ? props.tabIndex : tabIndex,\n\t\t}),\n\t\trefWrapper: (element) => {\n\t\t\twrapper = element;\n\t\t},\n\t\tsyncListeners: () => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t},\n\t\tdestroy: () => tooltipBehavior.destroy(),\n\t};\n};\n","@use '../@shared/mixins' as *;\n@use '../@shared/global' as *;\n@use '../tooltip/style.scss' as *;\n@use '../@shared/button.mixin' as *;\n\n@layer kol-component {\n\t@include kol-button-styles('kol-link');\n\t@include kol-button-styles('kol-button');\n\n\t.kol-toolbar {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\talign-items: center;\n\n\t\t&--orientation-vertical {\n\t\t\tflex-direction: column;\n\t\t\talign-items: stretch;\n\n\t\t\t.kol-span {\n\t\t\t\talign-items: flex-start;\n\t\t\t}\n\t\t}\n\n\t\t&:focus-within {\n\t\t\toutline: 1px solid;\n\t\t\toutline-offset: 2px;\n\t\t}\n\t}\n}\n","import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { WebComponentInterface } from '../../internal/functional-components/generic-types';\nimport type { ToolbarApi } from '../../internal/functional-components/toolbar/api';\nimport { toolbarPropsConfig } from '../../internal/functional-components/toolbar/api';\nimport { ToolbarFC } from '../../internal/functional-components/toolbar/component';\nimport type { ToolbarButtonItem, ToolbarLinkItem } from '../../internal/functional-components/toolbar/item';\nimport { createToolbarItem } from '../../internal/functional-components/toolbar/item';\nimport { labelWithExpertSlotProp, orientationProp, toolbarItemsProp } from '../../internal/props';\nimport type { ClickableElement, FocusableElement, KolFocusOptions, ToolbarItemsPropType, ToolbarProps } from '../../schema';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { delegateClick, setClick } from '../../utils/element-click';\nimport { delegateFocus, setFocus } from '../../utils/element-focus';\nimport type { UnsubscribeFunction } from '../link/ariaCurrentService';\nimport { onLocationChange } from '../link/ariaCurrentService';\n\nconst ARROW_KEYS: KeyboardKey[] = [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown, KeyboardKey.ArrowRight, KeyboardKey.ArrowLeft];\n\n@Component({\n\ttag: 'kol-toolbar',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolToolbar extends BaseWebComponent<ToolbarApi> implements ClickableElement, FocusableElement, ToolbarProps, WebComponentInterface<ToolbarApi> {\n\t@Element() protected readonly host?: HTMLKolToolbarElement;\n\n\t@State() public currentIndex: number = 0;\n\n\t@State() public itemRecords: Array<ToolbarButtonItem | ToolbarLinkItem> = [];\n\n\t@State() public location: string = '';\n\n\tprivate unsubscribeOnLocationChange?: UnsubscribeFunction;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: string;\n\n\t@Watch('_label')\n\tpublic watchLabel(value?: string): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => this.setRenderProp('label', v));\n\t}\n\n\t/**\n\t * Defines the functional elements of toolbar to render (e.g. kol-link, kol-button).\n\t */\n\t@Prop() public _items!: ToolbarItemsPropType;\n\n\t@Watch('_items')\n\tpublic watchItems(value?: ToolbarItemsPropType): void {\n\t\ttoolbarItemsProp.apply(value, (items) => {\n\t\t\tthis.setRenderProp('items', items);\n\t\t\tthis.itemRecords.forEach((record) => record.destroy());\n\t\t\tthis.itemRecords = items.map((item) => createToolbarItem(item, () => this.host));\n\t\t\tthis.setFirstEnabledItemIndex();\n\t\t});\n\t}\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: OrientationPropType;\n\n\t@Watch('_orientation')\n\tpublic watchOrientation(value?: OrientationPropType): void {\n\t\torientationProp.apply(value, (v) => this.setRenderProp('orientation', v));\n\t}\n\n\t/**\n\t * Sets focus on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {\n\t\tconst element = this.getCurrentItemElement();\n\t\tif (element) {\n\t\t\treturn delegateFocus(this.host!, () => setFocus(element, options));\n\t\t}\n\t}\n\n\t/**\n\t * Triggers a click on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async click(): Promise<void> {\n\t\tconst element = this.getCurrentItemElement();\n\t\tif (element) {\n\t\t\treturn delegateClick(this.host!, async () => setClick(element));\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.initRenderProps(toolbarPropsConfig);\n\n\t\tthis.watchLabel(this._label);\n\t\tthis.watchItems(this._items);\n\t\tthis.watchOrientation(this._orientation);\n\n\t\tthis.unsubscribeOnLocationChange = onLocationChange((location) => {\n\t\t\tthis.location = location;\n\t\t});\n\t}\n\n\tpublic componentDidRender(): void {\n\t\tthis.itemRecords.forEach((record) => record.syncListeners());\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.unsubscribeOnLocationChange) {\n\t\t\tthis.unsubscribeOnLocationChange();\n\t\t\tthis.unsubscribeOnLocationChange = undefined;\n\t\t}\n\t\tthis.itemRecords.forEach((record) => record.destroy());\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent): void {\n\t\tconst pressedKey = event.code as KeyboardKey;\n\t\tif (!ARROW_KEYS.includes(pressedKey)) return;\n\t\tevent.preventDefault();\n\n\t\tif (this.itemRecords.length === 0) return;\n\t\tconst step = pressedKey === KeyboardKey.ArrowUp || pressedKey === KeyboardKey.ArrowLeft ? -1 : 1;\n\t\tconst nextIndex = this.findNextEnabledItemIndex(this.currentIndex, step);\n\n\t\tif (nextIndex === undefined || nextIndex === this.currentIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentIndex = nextIndex;\n\t\tvoid this.itemRecords[nextIndex].getElement()?.focus();\n\t}\n\n\t/**\n\t * Resets the roving tabindex to the first enabled item once focus leaves the toolbar.\n\t */\n\t@Listen('focusout', { capture: true })\n\tpublic handleFocusout(event: FocusEvent): void {\n\t\tif (event.target === this.host) this.setFirstEnabledItemIndex();\n\t}\n\n\t/**\n\t * The interactive element the roving tabindex points at, or `undefined` while that item is\n\t * disabled: the index is seeded with the first enabled item, but an item can be disabled again\n\t * while it is current.\n\t */\n\tprivate getCurrentItemElement(): HTMLAnchorElement | HTMLButtonElement | undefined {\n\t\tconst record = this.itemRecords[this.currentIndex];\n\t\treturn record && !record.disabled ? record.getElement() : undefined;\n\t}\n\n\tprivate setFirstEnabledItemIndex(): void {\n\t\tthis.currentIndex = this.itemRecords.findIndex((record) => !record.disabled);\n\t}\n\n\t/**\n\t * Walks the items from `fromIndex` in `step` direction, wrapping around, and returns the first\n\t * enabled one.\n\t *\n\t * Disabled items are skipped rather than blocking the walk: stopping at the first disabled\n\t * neighbour would make every item behind it unreachable by keyboard.\n\t *\n\t * @returns the index to move to, or `undefined` when no other item is enabled.\n\t */\n\tprivate findNextEnabledItemIndex(fromIndex: number, step: -1 | 1): number | undefined {\n\t\tconst itemCount = this.itemRecords.length;\n\t\tfor (let offset = 1; offset <= itemCount; offset++) {\n\t\t\tconst candidate = (((fromIndex + step * offset) % itemCount) + itemCount) % itemCount;\n\t\t\tif (!this.itemRecords[candidate].disabled) {\n\t\t\t\treturn candidate;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<ToolbarFC\n\t\t\t\t\tcurrentIndex={this.currentIndex}\n\t\t\t\t\titemRecords={this.itemRecords}\n\t\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\t\tlocation={this.location}\n\t\t\t\t\torientation={this.getRenderProp('orientation')}\n\t\t\t\t/>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"names":["createPropDefinition","normalizeArray","labelWithExpertSlotProp","orientationProp","bem","index","h","LinkFC","ButtonFC","BemRootNodeFC","TooltipBehavior","BaseWebComponent","createCtaRef","nonce","resolveButtonProps","dispatchDomEvent","propagateSubmitEventToForm","propagateResetEventToForm","setEventTarget","KolEvent","resolveLinkProps","getFeatureFlag","KeyboardKey","delegateFocus","setFocus","delegateClick","setClick","onLocationChange","Host"],"mappings":"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"}
1
+ {"version":3,"file":"kol-toolbar.entry.cjs.js","sources":["src/internal/props/toolbar-items.ts","src/internal/functional-components/toolbar/api.tsx","src/internal/functional-components/toolbar/component.tsx","src/internal/functional-components/toolbar/item.ts","src/components/toolbar/style.scss?tag=kol-toolbar&mode=default&encapsulation=shadow","src/components/toolbar/component.tsx"],"sourcesContent":["import type { ToolbarItemsPropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeArray } from './helpers/normalizers';\n\n/**\n * Toolbar items prop.\n *\n * Accepts the item array or its JSON string. Item validation mirrors the legacy\n * `validateToolbarItems` predicate: every entry must be a non-null object. One invalid entry\n * rejects the whole value, keeping the previously rendered items — same as the predecessor.\n */\nexport type ToolbarItemsProp = SimpleProp<'items', ToolbarItemsPropType>;\n\nexport const toolbarItemsProp = createPropDefinition<ToolbarItemsProp>(\n\t'items',\n\t[],\n\t(value) => normalizeArray(value) as ToolbarItemsPropType,\n\t(items) => items.every((item) => typeof item === 'object' && item !== null),\n);\n","import type { KolFocusOptions } from '../../../schema';\nimport { labelWithExpertSlotProp, orientationProp, toolbarItemsProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\nimport type { ToolbarButtonItem, ToolbarHRItem, ToolbarLinkItem } from './item';\n\n/**\n * Props configuration for the toolbar component.\n *\n * Notes on prop choices:\n * - `labelWithExpertSlotProp`, not `labelProp`: the predecessor's `validateLabel` accepted any\n * string; `labelProp` would reject one-character labels. The toolbar has no expert slot.\n * - `orientationProp` defaults to `'horizontal'`, like the predecessor's `validateOrientation`.\n */\nexport const toolbarPropsConfig = {\n\trequired: [labelWithExpertSlotProp, toolbarItemsProp],\n\toptional: [orientationProp],\n} as const satisfies PropsConfigShape;\n\nexport type ToolbarApi = ApiFromConfig<\n\ttypeof toolbarPropsConfig,\n\t{\n\t\tMethods: {\n\t\t\tclick: () => void;\n\t\t\tfocus: (options?: KolFocusOptions) => void;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * Index of the item carrying the roving tabindex. `-1` while no item is enabled.\n\t\t\t */\n\t\t\tcurrentIndex: number;\n\t\t\t/**\n\t\t\t * Orchestration records for the items (everything `ButtonFC` or `LinkFC` needs, built by\n\t\t\t * `createToolbarItem`), rebuilt whenever `_items` changes.\n\t\t\t */\n\t\t\titemRecords: Array<ToolbarButtonItem | ToolbarLinkItem | ToolbarHRItem>;\n\t\t\t/**\n\t\t\t * The current location reported by the aria-current service, `''` until one is reported.\n\t\t\t * Drives the links' `aria-current`.\n\t\t\t */\n\t\t\tlocation: string;\n\t\t};\n\t}\n>;\n","import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport { BemRootNodeFC } from '../bem-root-node/component';\nimport { ButtonFC } from '../button/component';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport { LinkFC } from '../link/component';\nimport type { ToolbarApi } from './api';\nimport type { ToolbarButtonItem, ToolbarHRItem, ToolbarLinkItem } from './item';\n\nconst BEM_CLASS_TOOLBAR__ITEM = bem.forBlock('kol-toolbar')('item');\n\ntype ToolbarFCProps = Pick<FunctionalComponentProps<ToolbarApi>, 'currentIndex' | 'itemRecords' | 'label' | 'location' | 'orientation'> & {\n\tclass?: string;\n};\n\n/**\n * Renders one entry. `.kol-toolbar__item` stays on a wrapper around the functional component\n * rather than merging onto its root: the themes address it as an ancestor of the button's and\n * link's inner elements (`.kol-toolbar__item:first-child .kol-button__text`), and a wrapper in\n * the place of the former custom element keeps the flex-item box tree unchanged.\n */\nconst renderItem = (record: ToolbarButtonItem | ToolbarLinkItem | ToolbarHRItem, index: number, currentIndex: number, location: string) => {\n\tconst tabIndex = index === currentIndex && !record.disabled ? 0 : -1;\n\n\treturn (\n\t\t<div class={BEM_CLASS_TOOLBAR__ITEM} key={index} ref={record.refWrapper}>\n\t\t\t{record.type === 'link' ? (\n\t\t\t\t<LinkFC {...record.getFcProps(tabIndex, location)} />\n\t\t\t) : record.type === 'button' ? (\n\t\t\t\t<ButtonFC {...record.getFcProps(tabIndex)} />\n\t\t\t) : (\n\t\t\t\t<hr />\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport const ToolbarFC: FC<ToolbarFCProps> = ({ class: hostClass, currentIndex, itemRecords, label, location, orientation }) => (\n\t<BemRootNodeFC\n\t\tblock=\"kol-toolbar\"\n\t\tclass={hostClass}\n\t\tmodifiers={{ 'orientation-horizontal': orientation === 'horizontal', 'orientation-vertical': orientation === 'vertical' }}\n\t\trole=\"toolbar\"\n\t\taria-label={label}\n\t>\n\t\t{itemRecords.map((record, index) => renderItem(record, index, currentIndex, location))}\n\t</BemRootNodeFC>\n);\n","import { getFeatureFlag } from 'adopted-style-sheets';\n\nimport { propagateResetEventToForm, propagateSubmitEventToForm } from '../../../components/form/controller';\nimport type { ToolbarItemPropType } from '../../../schema';\nimport { setEventTarget } from '../../../schema';\nimport { nonce } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport { BaseWebComponent } from '../base-web-component';\nimport type { ButtonApi } from '../button/api';\nimport { resolveButtonProps } from '../button/resolve-props';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { LinkApi } from '../link/api';\nimport type { EmbeddedLinkProps } from '../link/resolve-props';\nimport { resolveLinkProps } from '../link/resolve-props';\nimport { TooltipBehavior } from '../tooltip/behavior';\n\ntype ToolbarItemBase = {\n\t/** Whether the item refuses interaction; the roving tabindex skips it. */\n\tdisabled: boolean;\n\t/** The item's interactive element, once rendered. */\n\tgetElement(): HTMLAnchorElement | HTMLButtonElement | HTMLHRElement | undefined;\n\t/**\n\t * Ref for the item's wrapper. The public `KolEvent` DOM events are dispatched on it, i.e. on\n\t * the node that the transitional `kol-button-wc`/`kol-link-wc` host occupied before.\n\t */\n\trefWrapper: (element?: HTMLElement) => void;\n\t/** Re-registers the tooltip listeners on the current element. Call from `componentDidRender`. */\n\tsyncListeners(): void;\n\t/** Tears down the tooltip behavior. Call when the item is replaced or the toolbar disconnects. */\n\tdestroy(): void;\n};\n\nexport type ToolbarButtonItem = ToolbarItemBase & {\n\ttype: 'button';\n\t/** Fully resolved `ButtonFC` props for the given roving tabindex. */\n\tgetFcProps(tabIndex: number): FunctionalComponentProps<ButtonApi>;\n};\n\nexport type ToolbarLinkItem = ToolbarItemBase & {\n\ttype: 'link';\n\t/**\n\t * Fully resolved `LinkFC` props for the given roving tabindex and current location (`''` while\n\t * no location has been reported).\n\t */\n\tgetFcProps(tabIndex: number, location: string): FunctionalComponentProps<LinkApi>;\n};\n\nexport type ToolbarHRItem = ToolbarItemBase & {\n\ttype: 'hr';\n};\n\n/**\n * One orchestrated toolbar entry: everything `ButtonFC` or `LinkFC` needs to render it, plus the\n * lifecycle hooks the toolbar has to drive — what the transitional `kol-button-wc` and\n * `kol-link-wc` did per entry before the toolbar rendered the functional components directly.\n *\n * A plain object with closures, like `breadcrumb/link-item.ts` and `popover-button/item.ts`, so\n * the toolbar rebuilds it cheaply whenever `_items` changes while tooltip behavior and refs\n * survive by reference.\n *\n * The toolbar's own defaults — `_inline: false` and the theme's `buttonVariantDefault` — apply\n * only where the entry leaves the prop unset, and an entry's own `_tabIndex` wins over the roving\n * tabindex, exactly like the predecessor's `{...defaults} {...item}` spread.\n */\nexport const createToolbarItem = (\n\titem: ToolbarItemPropType,\n\tgetFlagHost: () => HTMLElement | undefined,\n): ToolbarButtonItem | ToolbarLinkItem | ToolbarHRItem => {\n\tif (item.type === 'link') {\n\t\treturn createLinkItem(item, getFlagHost);\n\t} else if (item.type === 'button') {\n\t\treturn createButtonItem(item, getFlagHost);\n\t}\n\treturn createHRItem();\n};\n\nconst createButtonItem = (item: Extract<ToolbarItemPropType, { type: 'button' }>, getFlagHost: () => HTMLElement | undefined): ToolbarButtonItem => {\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLButtonElement>();\n\tconst ariaDescriptionId = nonce();\n\tlet wrapper: HTMLElement | undefined;\n\n\tconst props = resolveButtonProps(item, getFlagHost());\n\tconst value = item._value;\n\n\ttooltipBehavior.componentWillLoad({ label: props.label, align: props.tooltipAlign });\n\n\tconst dispatch = (event: KolEvent, detail?: unknown): void => {\n\t\tif (wrapper) {\n\t\t\tdispatchDomEvent(wrapper, event, detail);\n\t\t}\n\t};\n\n\tconst handleClick = (event: MouseEvent): void => {\n\t\tevent.stopPropagation();\n\t\ttooltipBehavior.hideTooltip();\n\n\t\tif (props.type === 'submit') {\n\t\t\tpropagateSubmitEventToForm({ form: wrapper, ref: ctaRef.el });\n\t\t} else if (props.type === 'reset') {\n\t\t\tpropagateResetEventToForm({ form: wrapper, ref: ctaRef.el });\n\t\t} else if (typeof props.on.onClick === 'function') {\n\t\t\tsetEventTarget(event, ctaRef.el);\n\t\t\tprops.on.onClick(event, value);\n\t\t}\n\n\t\tdispatch(KolEvent.click, value);\n\t};\n\n\tconst handleMouseDown = (event: MouseEvent): void => {\n\t\tprops.on.onMouseDown?.(event);\n\t\tdispatch(KolEvent.mousedown);\n\t};\n\n\tconst handleFocus = (event: FocusEvent): void => {\n\t\tprops.on.onFocus?.(event);\n\t\tdispatch(KolEvent.focus);\n\t};\n\n\tconst handleBlur = (event: FocusEvent): void => {\n\t\tprops.on.onBlur?.(event);\n\t\tdispatch(KolEvent.blur);\n\t};\n\n\treturn {\n\t\ttype: 'button',\n\t\tdisabled: props.disabled,\n\t\tgetElement: () => ctaRef.el,\n\t\tgetFcProps: (tabIndex) => ({\n\t\t\t...props,\n\t\t\tariaDescriptionId,\n\t\t\thandleBlur,\n\t\t\thandleClick,\n\t\t\thandleFocus,\n\t\t\thandleMouseDown,\n\t\t\trefButton: ctaRef,\n\t\t\trefTooltip: tooltipBehavior.setTooltipElementRef,\n\t\t\ttabIndex: typeof item._tabIndex === 'number' ? props.tabIndex : tabIndex,\n\t\t}),\n\t\trefWrapper: (element) => {\n\t\t\twrapper = element;\n\t\t},\n\t\tsyncListeners: () => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t},\n\t\tdestroy: () => tooltipBehavior.destroy(),\n\t};\n};\n\nconst createLinkItem = (item: Extract<ToolbarItemPropType, { type: 'link' }>, getFlagHost: () => HTMLElement | undefined): ToolbarLinkItem => {\n\tconst tooltipBehavior = new TooltipBehavior(BaseWebComponent.stateLess);\n\tconst ctaRef = createCtaRef<HTMLAnchorElement>();\n\tconst ariaDescriptionId = nonce();\n\tlet wrapper: HTMLElement | undefined;\n\n\tconst link: EmbeddedLinkProps = item;\n\tconst props = resolveLinkProps({\n\t\t...link,\n\t\t_inline: link._inline ?? false,\n\t\t_variant: link._variant ?? getFeatureFlag('buttonVariantDefault', getFlagHost()) ?? 'normal',\n\t});\n\n\t// A link without a label shows its href, and so does its tooltip.\n\ttooltipBehavior.componentWillLoad({ label: props.label.length > 0 ? props.label : props.href, align: props.tooltipAlign });\n\n\tconst handleAnchorClick = (event: Event): void => {\n\t\ttooltipBehavior.hideTooltip();\n\t\tif (props.disabled) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tif (typeof props.on.onClick === 'function') {\n\t\t\tsetEventTarget(event, ctaRef.el);\n\t\t\tprops.on.onClick(event, props.href);\n\t\t}\n\t\tif (wrapper) {\n\t\t\tdispatchDomEvent(wrapper, KolEvent.click, props.href);\n\t\t}\n\t};\n\n\treturn {\n\t\ttype: 'link',\n\t\tdisabled: props.disabled,\n\t\tgetElement: () => ctaRef.el,\n\t\tgetFcProps: (tabIndex, location) => ({\n\t\t\t...props,\n\t\t\tariaCurrent: location !== '' && location === props.href ? props.ariaCurrentValue : '',\n\t\t\tariaDescriptionId,\n\t\t\texpertSlot: item._label === '',\n\t\t\thandleAnchorClick,\n\t\t\trefAnchor: ctaRef,\n\t\t\trefTooltip: tooltipBehavior.setTooltipElementRef,\n\t\t\ttabIndex: typeof item._tabIndex === 'number' ? props.tabIndex : tabIndex,\n\t\t}),\n\t\trefWrapper: (element) => {\n\t\t\twrapper = element;\n\t\t},\n\t\tsyncListeners: () => {\n\t\t\tif (ctaRef.el) {\n\t\t\t\ttooltipBehavior.syncListeners(undefined, ctaRef.el, true);\n\t\t\t}\n\t\t},\n\t\tdestroy: () => tooltipBehavior.destroy(),\n\t};\n};\n\nconst createHRItem = (): ToolbarHRItem => {\n\tconst ctaRef = createCtaRef<HTMLHRElement>();\n\n\treturn {\n\t\ttype: 'hr',\n\t\tdisabled: true,\n\t\tgetElement: () => ctaRef.el,\n\t\trefWrapper: () => {},\n\t\tsyncListeners: () => {},\n\t\tdestroy: () => {},\n\t};\n};\n","@use '../@shared/mixins' as *;\n@use '../@shared/global' as *;\n@use '../tooltip/style.scss' as *;\n@use '../@shared/button.mixin' as *;\n\n@layer kol-component {\n\t@include kol-button-styles('kol-link');\n\t@include kol-button-styles('kol-button');\n\n\t.kol-toolbar {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\talign-items: stretch;\n\n\t\t&--orientation-horizontal &__item hr {\n\t\t\theight: 100%;\n\t\t}\n\n\t\t&--orientation-vertical {\n\t\t\tflex-direction: column;\n\t\t\talign-items: stretch;\n\n\t\t\t.kol-span {\n\t\t\t\talign-items: flex-start;\n\t\t\t}\n\t\t}\n\n\t\t&__item hr {\n\t\t\tmargin: 0;\n\t\t}\n\n\t\t&:focus-within {\n\t\t\toutline: 1px solid;\n\t\t\toutline-offset: 2px;\n\t\t}\n\t}\n}\n","import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Listen, Method, Prop, State, Watch } from '@stencil/core';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { WebComponentInterface } from '../../internal/functional-components/generic-types';\nimport type { ToolbarApi } from '../../internal/functional-components/toolbar/api';\nimport { toolbarPropsConfig } from '../../internal/functional-components/toolbar/api';\nimport { ToolbarFC } from '../../internal/functional-components/toolbar/component';\nimport type { ToolbarButtonItem, ToolbarHRItem, ToolbarLinkItem } from '../../internal/functional-components/toolbar/item';\nimport { createToolbarItem } from '../../internal/functional-components/toolbar/item';\nimport { labelWithExpertSlotProp, orientationProp, toolbarItemsProp } from '../../internal/props';\nimport type { ClickableElement, FocusableElement, KolFocusOptions, ToolbarItemsPropType, ToolbarProps } from '../../schema';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { OrientationPropType } from '../../schema/props/orientation';\nimport { delegateClick, setClick } from '../../utils/element-click';\nimport { delegateFocus, setFocus } from '../../utils/element-focus';\nimport type { UnsubscribeFunction } from '../link/ariaCurrentService';\nimport { onLocationChange } from '../link/ariaCurrentService';\n\nconst ARROW_KEYS: KeyboardKey[] = [KeyboardKey.ArrowUp, KeyboardKey.ArrowDown, KeyboardKey.ArrowRight, KeyboardKey.ArrowLeft];\n\n@Component({\n\ttag: 'kol-toolbar',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolToolbar extends BaseWebComponent<ToolbarApi> implements ClickableElement, FocusableElement, ToolbarProps, WebComponentInterface<ToolbarApi> {\n\t@Element() protected readonly host?: HTMLKolToolbarElement;\n\n\t@State() public currentIndex: number = 0;\n\n\t@State() public itemRecords: Array<ToolbarButtonItem | ToolbarLinkItem | ToolbarHRItem> = [];\n\n\t@State() public location: string = '';\n\n\tprivate unsubscribeOnLocationChange?: UnsubscribeFunction;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: string;\n\n\t@Watch('_label')\n\tpublic watchLabel(value?: string): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => this.setRenderProp('label', v));\n\t}\n\n\t/**\n\t * Defines the functional elements of toolbar to render (e.g. kol-link, kol-button).\n\t */\n\t@Prop() public _items!: ToolbarItemsPropType;\n\n\t@Watch('_items')\n\tpublic watchItems(value?: ToolbarItemsPropType): void {\n\t\ttoolbarItemsProp.apply(value, (items) => {\n\t\t\tthis.setRenderProp('items', items);\n\t\t\tthis.itemRecords.forEach((record) => record.destroy());\n\t\t\tthis.itemRecords = items.map((item) => createToolbarItem(item, () => this.host));\n\t\t\tthis.setFirstEnabledItemIndex();\n\t\t});\n\t}\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: OrientationPropType;\n\n\t@Watch('_orientation')\n\tpublic watchOrientation(value?: OrientationPropType): void {\n\t\torientationProp.apply(value, (v) => this.setRenderProp('orientation', v));\n\t}\n\n\t/**\n\t * Sets focus on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {\n\t\tconst element = this.getCurrentItemElement();\n\t\tif (element) {\n\t\t\treturn delegateFocus(this.host!, () => setFocus(element, options));\n\t\t}\n\t}\n\n\t/**\n\t * Triggers a click on the currently active toolbar item.\n\t */\n\t@Method()\n\tpublic async click(): Promise<void> {\n\t\tconst element = this.getCurrentItemElement();\n\t\tif (element) {\n\t\t\treturn delegateClick(this.host!, async () => setClick(element));\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.initRenderProps(toolbarPropsConfig);\n\n\t\tthis.watchLabel(this._label);\n\t\tthis.watchItems(this._items);\n\t\tthis.watchOrientation(this._orientation);\n\n\t\tthis.unsubscribeOnLocationChange = onLocationChange((location) => {\n\t\t\tthis.location = location;\n\t\t});\n\t}\n\n\tpublic componentDidRender(): void {\n\t\tthis.itemRecords.forEach((record) => record.syncListeners());\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.unsubscribeOnLocationChange) {\n\t\t\tthis.unsubscribeOnLocationChange();\n\t\t\tthis.unsubscribeOnLocationChange = undefined;\n\t\t}\n\t\tthis.itemRecords.forEach((record) => record.destroy());\n\t}\n\n\t@Listen('keydown')\n\tpublic handleKeyDown(event: KeyboardEvent): void {\n\t\tconst pressedKey = event.code as KeyboardKey;\n\t\tif (!ARROW_KEYS.includes(pressedKey)) return;\n\t\tevent.preventDefault();\n\n\t\tif (this.itemRecords.length === 0) return;\n\t\tconst step = pressedKey === KeyboardKey.ArrowUp || pressedKey === KeyboardKey.ArrowLeft ? -1 : 1;\n\t\tconst nextIndex = this.findNextEnabledItemIndex(this.currentIndex, step);\n\n\t\tif (nextIndex === undefined || nextIndex === this.currentIndex) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.currentIndex = nextIndex;\n\t\tvoid this.itemRecords[nextIndex].getElement()?.focus();\n\t}\n\n\t/**\n\t * Resets the roving tabindex to the first enabled item once focus leaves the toolbar.\n\t */\n\t@Listen('focusout', { capture: true })\n\tpublic handleFocusout(event: FocusEvent): void {\n\t\tif (event.target === this.host) this.setFirstEnabledItemIndex();\n\t}\n\n\t/**\n\t * The interactive element the roving tabindex points at, or `undefined` while that item is\n\t * disabled: the index is seeded with the first enabled item, but an item can be disabled again\n\t * while it is current.\n\t */\n\tprivate getCurrentItemElement(): HTMLAnchorElement | HTMLButtonElement | HTMLHRElement | undefined {\n\t\tconst record = this.itemRecords[this.currentIndex];\n\t\treturn record && !record.disabled ? record.getElement() : undefined;\n\t}\n\n\tprivate setFirstEnabledItemIndex(): void {\n\t\tthis.currentIndex = this.itemRecords.findIndex((record) => !record.disabled);\n\t}\n\n\t/**\n\t * Walks the items from `fromIndex` in `step` direction, wrapping around, and returns the first\n\t * enabled one.\n\t *\n\t * Disabled items are skipped rather than blocking the walk: stopping at the first disabled\n\t * neighbour would make every item behind it unreachable by keyboard.\n\t *\n\t * @returns the index to move to, or `undefined` when no other item is enabled.\n\t */\n\tprivate findNextEnabledItemIndex(fromIndex: number, step: -1 | 1): number | undefined {\n\t\tconst itemCount = this.itemRecords.length;\n\t\tfor (let offset = 1; offset <= itemCount; offset++) {\n\t\t\tconst candidate = (((fromIndex + step * offset) % itemCount) + itemCount) % itemCount;\n\t\t\tif (!this.itemRecords[candidate].disabled) {\n\t\t\t\treturn candidate;\n\t\t\t}\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<ToolbarFC\n\t\t\t\t\tcurrentIndex={this.currentIndex}\n\t\t\t\t\titemRecords={this.itemRecords}\n\t\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\t\tlocation={this.location}\n\t\t\t\t\torientation={this.getRenderProp('orientation')}\n\t\t\t\t/>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"names":["createPropDefinition","normalizeArray","labelWithExpertSlotProp","orientationProp","bem","index","h","LinkFC","ButtonFC","BemRootNodeFC","TooltipBehavior","BaseWebComponent","createCtaRef","nonce","resolveButtonProps","dispatchDomEvent","propagateSubmitEventToForm","propagateResetEventToForm","setEventTarget","KolEvent","resolveLinkProps","getFeatureFlag","KeyboardKey","delegateFocus","setFocus","delegateClick","setClick","onLocationChange","Host"],"mappings":"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"}
@@ -3,20 +3,20 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
7
  var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
8
8
  var behavior = require('./behavior-DMhnAIvG.js');
9
- var component = require('./component-GfDUM7Um.js');
9
+ var component = require('./component-Dw6Tq7Wb.js');
10
10
  require('./common-B9-LvLNa.js');
11
11
  require('./isArray-BOIOdEQh.js');
12
12
  require('./tooltip-open-tracking-Ba0udJRU.js');
13
13
  require('./align-B87Zdyn2.js');
14
14
  require('./label-DVnpZWVb.js');
15
- require('./component-o3s7XplI.js');
15
+ require('./component-Dd-PS3jp.js');
16
16
  require('./tslib.es6-Cm0ytgPY.js');
17
17
  require('./bem-registry-BDVdt6ar.js');
18
18
  require('./clsx-Bm_HQUnh.js');
19
- require('./component-ZPvcKmPR.js');
19
+ require('./component-3EZdZbDH.js');
20
20
 
21
21
  const KolTooltipWc = class {
22
22
  constructor(hostRef) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
7
  var tslib_es6 = require('./tslib.es6-Cm0ytgPY.js');
8
8
  var componentNames = require('./component-names-EMVnNhTP.js');
9
9
  var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
@@ -11,10 +11,10 @@ require('./common-B9-LvLNa.js');
11
11
  var href = require('./href-C20g573P.js');
12
12
  var labelWithExpertSlot = require('./label-with-expert-slot-BE6OwnkL.js');
13
13
  var bemRegistry = require('./bem-registry-BDVdt6ar.js');
14
- var component = require('./component-ZPvcKmPR.js');
15
- var api = require('./api-BcNl2vZm.js');
14
+ var component = require('./component-3EZdZbDH.js');
15
+ var api = require('./api-BDT5xkx5.js');
16
16
  var open = require('./open-XeILuCji.js');
17
- var dev_utils = require('./dev.utils-BjrG4FNf.js');
17
+ var dev_utils = require('./dev.utils-DybQ4euF.js');
18
18
  var elementInteraction = require('./element-interaction-7FI_z19L.js');
19
19
  var events = require('./events-PISRnO5c.js');
20
20
  var ariaCurrentService = require('./ariaCurrentService-3051l6MI.js');
@@ -23,11 +23,11 @@ require('./isArray-BOIOdEQh.js');
23
23
  require('./clsx-Bm_HQUnh.js');
24
24
  require('./i18n-UGaB-Dwg.js');
25
25
  require('./i18n-B6c-GdHR.js');
26
- require('./component-xIM903qi.js');
27
- require('./component-X_thXnkE.js');
26
+ require('./component-CAkixzEQ.js');
27
+ require('./component-Du98sklA.js');
28
28
  require('./block-bem-D7PDS6kC.js');
29
- require('./component-o3s7XplI.js');
30
- require('./component-GfDUM7Um.js');
29
+ require('./component-Dd-PS3jp.js');
30
+ require('./component-Dw6Tq7Wb.js');
31
31
  require('./variant-wdbSxe--.js');
32
32
  require('./align-B87Zdyn2.js');
33
33
  require('./disabled-B8tOrtj_.js');
@@ -53,7 +53,7 @@ const LINK_DEFAULTS = Object.freeze(baseWebComponent.buildDefaultPropsFromConfig
53
53
  const noop = () => undefined;
54
54
  const TreeItemFC = ({ active, ariaCurrent, groupId, handleAnchorClick, handleSlotchange, handleToggleClick, hasChildren, href, label, level, open, refAnchor, }) => (index.h("li", { class: BEM_CLASS_TREE_ITEM, role: "none", style: { '--level': `${level}` } }, index.h("span", { class: treeItemBem('link', { active, 'first-level': level === 0 }) }, index.h(api.LinkFC, Object.assign({}, LINK_DEFAULTS, { ariaCurrent: ariaCurrent, ariaDescriptionId: "", ariaExpanded: hasChildren ? (open ? 'true' : 'false') : '', ariaOwns: hasChildren ? groupId : '', expertSlot: true, handleAnchorClick: handleAnchorClick, href: href, label: "", refAnchor: refAnchor, refTooltip: noop, role: "treeitem", tabIndex: active ? 0 : -1 }), index.h("span", { class: BEM_CLASS_TREE_ITEM__LINK_INNER }, hasChildren ? (index.h("span", { class: BEM_CLASS_TREE_ITEM__TOGGLE_BUTTON, onClick: handleToggleClick }, index.h(component.IconFC, { class: BEM_CLASS_TREE_ITEM__TOGGLE_BUTTON_ICON, icons: `kolicon kolicon-${open ? 'chevron-down' : 'chevron-right'}`, label: '' }))) : (index.h("span", { class: BEM_CLASS_TREE_ITEM__TOGGLE_BUTTON_PLACEHOLDER })), index.h("span", { class: BEM_CLASS_TREE_ITEM__TEXT }, label)))), index.h("ul", { class: BEM_CLASS_TREE_ITEM__CHILDREN, hidden: !hasChildren || !open, role: "group", id: groupId }, index.h("slot", { onSlotchange: handleSlotchange }))));
55
55
 
56
- const defaultStyleCss = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791360508850\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791360508850#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791360508850\") format(\"woff2\"), url(\"kolicons.woff?t=1791360508850\") format(\"woff\"), url(\"kolicons.ttf?t=1791360508850\") format(\"truetype\"), url(\"kolicons.svg?t=1791360508850#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tree-item__link .kol-link {\n display: inline-flex;\n width: 100%;\n min-height: var(--a11y-min-size);\n align-items: center;\n text-decoration: none;\n /* The interactive element inside the link skeleton carries the UA default underline\n itself and replaces the former full-width anchor, so it has to fill the wrapper. */\n }\n .kol-tree-item__link .kol-link__interactive-element {\n flex: 1 1 auto;\n text-decoration: none;\n }\n .kol-tree-item__link-inner {\n display: flex;\n align-items: center;\n }\n .kol-tree-item__children {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .kol-tree-item .kol-span {\n place-items: unset;\n }\n .kol-tree-item__toggle-button, .kol-tree-item__toggle-button-placeholder {\n display: inline-flex;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n }\n .kol-tree-item__text {\n text-decoration: underline;\n }\n}";
56
+ const defaultStyleCss = "@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791539188494\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791539188494#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791539188494\") format(\"woff2\"), url(\"kolicons.woff?t=1791539188494\") format(\"woff\"), url(\"kolicons.ttf?t=1791539188494\") format(\"truetype\"), url(\"kolicons.svg?t=1791539188494#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-tree-item__link .kol-link {\n display: inline-flex;\n width: 100%;\n min-height: var(--a11y-min-size);\n align-items: center;\n text-decoration: none;\n /* The interactive element inside the link skeleton carries the UA default underline\n itself and replaces the former full-width anchor, so it has to fill the wrapper. */\n }\n .kol-tree-item__link .kol-link__interactive-element {\n flex: 1 1 auto;\n text-decoration: none;\n }\n .kol-tree-item__link-inner {\n display: flex;\n align-items: center;\n }\n .kol-tree-item__children {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .kol-tree-item .kol-span {\n place-items: unset;\n }\n .kol-tree-item__toggle-button, .kol-tree-item__toggle-button-placeholder {\n display: inline-flex;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n }\n .kol-tree-item__text {\n text-decoration: underline;\n }\n}";
57
57
 
58
58
  const KolTreeItem = class extends baseWebComponent.BaseWebComponent {
59
59
  constructor(hostRef) {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
7
  var componentNames = require('./component-names-EMVnNhTP.js');
8
8
  var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
9
9
  require('./common-B9-LvLNa.js');
@@ -3,24 +3,24 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
7
  var i18n = require('./i18n-UGaB-Dwg.js');
8
8
  var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
9
9
  require('./common-B9-LvLNa.js');
10
10
  var label = require('./label-DVnpZWVb.js');
11
- var component = require('./component-BT86Nj6R.js');
12
- var component$1 = require('./component-X_thXnkE.js');
13
- var contrast = require('./contrast-kLMuDQLl.js');
11
+ var component = require('./component-Bj4QdlXm.js');
12
+ var component$1 = require('./component-Du98sklA.js');
13
+ var contrast = require('./contrast-CrL_sMV6.js');
14
14
  require('./i18n-B6c-GdHR.js');
15
15
  require('./isArray-BOIOdEQh.js');
16
16
  require('./bem-registry-BDVdt6ar.js');
17
- require('./component-1NrcvQzp.js');
17
+ require('./component-CPVFCnaN.js');
18
18
  require('./tslib.es6-Cm0ytgPY.js');
19
- require('./component-xIM903qi.js');
19
+ require('./component-CAkixzEQ.js');
20
20
  require('./clsx-Bm_HQUnh.js');
21
- require('./component-o3s7XplI.js');
22
- require('./component-ZPvcKmPR.js');
23
- require('./component-GfDUM7Um.js');
21
+ require('./component-Dd-PS3jp.js');
22
+ require('./component-3EZdZbDH.js');
23
+ require('./component-Dw6Tq7Wb.js');
24
24
  require('./block-bem-D7PDS6kC.js');
25
25
 
26
26
  const versionPropsConfig = {
@@ -31,7 +31,7 @@ const VersionFC = ({ class: hostClass, color, icons, label }) => {
31
31
  return (index.h(component$1.BemRootNodeFC, { block: "kol-version", class: hostClass }, index.h(component.BadgeFC, { color: color, icons: icons, label: label })));
32
32
  };
33
33
 
34
- const defaultStyleCss = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791360508850\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791360508850#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791360508850\") format(\"woff2\"), url(\"kolicons.woff?t=1791360508850\") format(\"woff\"), url(\"kolicons.ttf?t=1791360508850\") format(\"truetype\"), url(\"kolicons.svg?t=1791360508850#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n/*\n * Badge box for every shadow root that renders `BadgeFC` - the badge itself and `kol-version`.\n * Stencil scopes `badge/style.scss` to the `kol-badge` shadow root, so a second consumer has to\n * bring these rules along (same pattern as `kol-link-styles` for `LinkFC`).\n *\n * The smart-button rules stay in `badge/style.scss`: only the badge web component orchestrates one.\n */\n@layer kol-component {\n /* The version renders `BadgeFC` inline, so the badge box has to live in this shadow root too. */\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-badge {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .kol-badge > br {\n user-select: none;\n }\n}";
34
+ const defaultStyleCss = "@charset \"UTF-8\";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791539188494\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791539188494#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791539188494\") format(\"woff2\"), url(\"kolicons.woff?t=1791539188494\") format(\"woff\"), url(\"kolicons.ttf?t=1791539188494\") format(\"truetype\"), url(\"kolicons.svg?t=1791539188494#kolicons\") format(\"svg\"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=\" kolicon-\"] {\n font-family: \"kolicons\";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: \"\\ea01\";\n }\n .kolicon-alert-info::before {\n content: \"\\ea02\";\n }\n .kolicon-alert-success::before {\n content: \"\\ea03\";\n }\n .kolicon-alert-warning::before {\n content: \"\\ea04\";\n }\n .kolicon-check::before {\n content: \"\\ea05\";\n }\n .kolicon-chevron-double-left::before {\n content: \"\\ea06\";\n }\n .kolicon-chevron-double-right::before {\n content: \"\\ea07\";\n }\n .kolicon-chevron-down::before {\n content: \"\\ea08\";\n }\n .kolicon-chevron-left::before {\n content: \"\\ea09\";\n }\n .kolicon-chevron-right::before {\n content: \"\\ea0a\";\n }\n .kolicon-chevron-up::before {\n content: \"\\ea0b\";\n }\n .kolicon-cogwheel::before {\n content: \"\\ea0c\";\n }\n .kolicon-cross::before {\n content: \"\\ea0d\";\n }\n .kolicon-eye-closed::before {\n content: \"\\ea0e\";\n }\n .kolicon-eye::before {\n content: \"\\ea0f\";\n }\n .kolicon-house::before {\n content: \"\\ea10\";\n }\n .kolicon-kolibri::before {\n content: \"\\ea11\";\n }\n .kolicon-link-external::before {\n content: \"\\ea12\";\n }\n .kolicon-link::before {\n content: \"\\ea13\";\n }\n .kolicon-minus::before {\n content: \"\\ea14\";\n }\n .kolicon-pin-pinned::before {\n content: \"\\ea15\";\n }\n .kolicon-pin-unpinned::before {\n content: \"\\ea16\";\n }\n .kolicon-plus::before {\n content: \"\\ea17\";\n }\n .kolicon-settings::before {\n content: \"\\ea18\";\n }\n .kolicon-sort-asc::before {\n content: \"\\ea19\";\n }\n .kolicon-sort-desc::before {\n content: \"\\ea1a\";\n }\n .kolicon-sort-neutral::before {\n content: \"\\ea1b\";\n }\n .kolicon-up::before {\n content: \"\\ea1c\";\n }\n .kolicon-version::before {\n content: \"\\ea1d\";\n }\n}\n/*\n * Badge box for every shadow root that renders `BadgeFC` - the badge itself and `kol-version`.\n * Stencil scopes `badge/style.scss` to the `kol-badge` shadow root, so a second consumer has to\n * bring these rules along (same pattern as `kol-link-styles` for `LinkFC`).\n *\n * The smart-button rules stay in `badge/style.scss`: only the badge web component orchestrates one.\n */\n@layer kol-component {\n /* The version renders `BadgeFC` inline, so the badge box has to live in this shadow root too. */\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-badge {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .kol-badge > br {\n user-select: none;\n }\n}";
35
35
 
36
36
  const VERSION_COLORS = contrast.createContrastColorPair('#bec5c9');
37
37
  const VERSION_COLOR = { backgroundColor: VERSION_COLORS.background, foregroundColor: VERSION_COLORS.foreground };
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
7
- var appGlobals = require('./app-globals-oR-jEiju.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
+ var appGlobals = require('./app-globals-DPVGNVgE.js');
8
8
  require('./common-B9-LvLNa.js');
9
9
 
10
10
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
7
- var appGlobals = require('./app-globals-oR-jEiju.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
+ var appGlobals = require('./app-globals-DPVGNVgE.js');
8
8
  require('./common-B9-LvLNa.js');
9
9
 
10
10
  const defineCustomElements = async (win, options) => {
@@ -6,7 +6,7 @@
6
6
  var accessAndShortKey = require('./access-and-short-key-D40HWCJe.js');
7
7
  require('./common-B9-LvLNa.js');
8
8
  var variant = require('./variant-wdbSxe--.js');
9
- var api = require('./api-BcNl2vZm.js');
9
+ var api = require('./api-BDT5xkx5.js');
10
10
  var disabled = require('./disabled-B8tOrtj_.js');
11
11
  var href = require('./href-C20g573P.js');
12
12
  var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
@@ -58,6 +58,6 @@ function resolveLinkProps(props) {
58
58
  }
59
59
 
60
60
  exports.resolveLinkProps = resolveLinkProps;
61
- //# sourceMappingURL=resolve-props-DOU1VJNL.js.map
61
+ //# sourceMappingURL=resolve-props-BBVQo_N5.js.map
62
62
 
63
- //# sourceMappingURL=resolve-props-DOU1VJNL.js.map
63
+ //# sourceMappingURL=resolve-props-BBVQo_N5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-props-DOU1VJNL.js","sources":["src/internal/functional-components/link/resolve-props.ts"],"sourcesContent":["import type { AriaOwnsPropType, CustomClassPropType, LinkProps, VariantClassNamePropType } from '../../../schema';\nimport { validateAccessAndShortKey } from '../../../schema/validators/access-and-short-key';\nimport {\n\taccessKeyProp,\n\tariaControlsProp,\n\tariaCurrentValueProp,\n\tariaDescriptionProp,\n\tariaExpandedProp,\n\tariaOwnsProp,\n\tcustomClassProp,\n\tdisabledProp,\n\tdownloadProp,\n\thideLabelProp,\n\threfProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkCallbacksProp,\n\tlinkRoleProp,\n\tlinkTargetProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../props';\nimport type { ResolvedProps, StrictFields } from '../generic-types';\nimport { buildDefaultPropsFromConfig } from '../props-from-config';\nimport type { LinkApi } from './api';\nimport { linkPropsConfig } from './api';\n\n/** The fully normalized render props `LinkFC` expects. */\nexport type ResolvedLinkProps = StrictFields<ResolvedProps<LinkApi>>;\n\n/**\n * An embedded link's configuration: the public `LinkProps` plus the internal props that components\n * embedding `LinkFC` may set.\n */\nexport type EmbeddedLinkProps = LinkProps & {\n\t_ariaExpanded?: boolean;\n\t_ariaOwns?: AriaOwnsPropType;\n\t_customClass?: CustomClassPropType;\n\t_variant?: VariantClassNamePropType;\n};\n\n/**\n * The defaults the link elements declare on their `@Prop` fields. `inlineProp` and\n * `tooltipAlignProp` are shared with the button, so they are restated here rather than relied on.\n */\nconst LINK_ELEMENT_DEFAULTS = {\n\tdisabled: false,\n\thideLabel: false,\n\tinline: true,\n\ttooltipAlign: 'right',\n} as const;\n\n/**\n * Normalizes an embedded link's props into the render props `LinkFC` expects — the counterpart\n * of `resolveButtonProps` for a component rendering a link inside its own boundary.\n *\n * Props only. Everything stateful belongs to the composing web component: the `TooltipBehavior`,\n * the click handler dispatching the public DOM event, the anchor ref and the `ariaCurrent`,\n * `ariaDescriptionId` and `expertSlot` states.\n *\n * @param props - The embedded link's configuration, as handed to the host component.\n */\nexport function resolveLinkProps(props: EmbeddedLinkProps): ResolvedLinkProps {\n\tconst resolved = buildDefaultPropsFromConfig(linkPropsConfig) as ResolvedLinkProps;\n\tconst set = <K extends keyof ResolvedLinkProps>(key: K) => {\n\t\treturn (value: ResolvedLinkProps[K]): void => {\n\t\t\tresolved[key] = value;\n\t\t};\n\t};\n\n\threfProp.apply(props._href, set('href'));\n\taccessKeyProp.apply(props._accessKey, set('accessKey'));\n\tariaControlsProp.apply(props._ariaControls, set('ariaControls'));\n\tariaCurrentValueProp.apply(props._ariaCurrentValue, set('ariaCurrentValue'));\n\tariaDescriptionProp.apply(props._ariaDescription, set('ariaDescription'));\n\tariaExpandedProp.apply(props._ariaExpanded, set('ariaExpanded'));\n\tariaOwnsProp.apply(props._ariaOwns, set('ariaOwns'));\n\tcustomClassProp.apply(props._customClass, set('customClass'));\n\tdisabledProp.apply(props._disabled ?? LINK_ELEMENT_DEFAULTS.disabled, set('disabled'));\n\tdownloadProp.apply(props._download, set('download'));\n\thideLabelProp.apply(props._hideLabel ?? LINK_ELEMENT_DEFAULTS.hideLabel, set('hideLabel'));\n\tspanIconsProp.apply(props._icons, set('icons'));\n\tinlineProp.apply(props._inline ?? LINK_ELEMENT_DEFAULTS.inline, set('inline'));\n\tlabelWithExpertSlotProp.apply(props._label, set('label'));\n\tlinkCallbacksProp.apply(props._on, set('on'));\n\tlinkRoleProp.apply(props._role, set('role'));\n\tshortKeyProp.apply(props._shortKey, set('shortKey'));\n\tlinkTargetProp.apply(props._target, set('target'));\n\ttooltipAlignProp.apply(props._tooltipAlign ?? LINK_ELEMENT_DEFAULTS.tooltipAlign, set('tooltipAlign'));\n\tvariantProp.apply(props._variant, set('variant'));\n\n\t// An unset tabindex must not render as `tabindex=\"0\"` — links are natively tabbable and the\n\t// attribute would draw focus outlines the element never had. The props config seeds `0`, so\n\t// anything but an explicit number clears it again.\n\tif (typeof props._tabIndex === 'number') {\n\t\ttabIndexProp.apply(props._tabIndex, set('tabIndex'));\n\t} else {\n\t\tresolved.tabIndex = undefined as unknown as ResolvedLinkProps['tabIndex'];\n\t}\n\n\tvalidateAccessAndShortKey(props._accessKey, props._shortKey);\n\n\treturn resolved;\n}\n"],"names":["buildDefaultPropsFromConfig","linkPropsConfig","hrefProp","accessKeyProp","ariaControlsProp","ariaCurrentValueProp","ariaDescriptionProp","ariaExpandedProp","ariaOwnsProp","customClassProp","disabledProp","downloadProp","hideLabelProp","spanIconsProp","inlineProp","labelWithExpertSlotProp","linkCallbacksProp","linkRoleProp","shortKeyProp","linkTargetProp","tooltipAlignProp","variantProp","tabIndexProp","validateAccessAndShortKey"],"mappings":"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"}
1
+ {"version":3,"file":"resolve-props-BBVQo_N5.js","sources":["src/internal/functional-components/link/resolve-props.ts"],"sourcesContent":["import type { AriaOwnsPropType, CustomClassPropType, LinkProps, VariantClassNamePropType } from '../../../schema';\nimport { validateAccessAndShortKey } from '../../../schema/validators/access-and-short-key';\nimport {\n\taccessKeyProp,\n\tariaControlsProp,\n\tariaCurrentValueProp,\n\tariaDescriptionProp,\n\tariaExpandedProp,\n\tariaOwnsProp,\n\tcustomClassProp,\n\tdisabledProp,\n\tdownloadProp,\n\thideLabelProp,\n\threfProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkCallbacksProp,\n\tlinkRoleProp,\n\tlinkTargetProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../props';\nimport type { ResolvedProps, StrictFields } from '../generic-types';\nimport { buildDefaultPropsFromConfig } from '../props-from-config';\nimport type { LinkApi } from './api';\nimport { linkPropsConfig } from './api';\n\n/** The fully normalized render props `LinkFC` expects. */\nexport type ResolvedLinkProps = StrictFields<ResolvedProps<LinkApi>>;\n\n/**\n * An embedded link's configuration: the public `LinkProps` plus the internal props that components\n * embedding `LinkFC` may set.\n */\nexport type EmbeddedLinkProps = LinkProps & {\n\t_ariaExpanded?: boolean;\n\t_ariaOwns?: AriaOwnsPropType;\n\t_customClass?: CustomClassPropType;\n\t_variant?: VariantClassNamePropType;\n};\n\n/**\n * The defaults the link elements declare on their `@Prop` fields. `inlineProp` and\n * `tooltipAlignProp` are shared with the button, so they are restated here rather than relied on.\n */\nconst LINK_ELEMENT_DEFAULTS = {\n\tdisabled: false,\n\thideLabel: false,\n\tinline: true,\n\ttooltipAlign: 'right',\n} as const;\n\n/**\n * Normalizes an embedded link's props into the render props `LinkFC` expects — the counterpart\n * of `resolveButtonProps` for a component rendering a link inside its own boundary.\n *\n * Props only. Everything stateful belongs to the composing web component: the `TooltipBehavior`,\n * the click handler dispatching the public DOM event, the anchor ref and the `ariaCurrent`,\n * `ariaDescriptionId` and `expertSlot` states.\n *\n * @param props - The embedded link's configuration, as handed to the host component.\n */\nexport function resolveLinkProps(props: EmbeddedLinkProps): ResolvedLinkProps {\n\tconst resolved = buildDefaultPropsFromConfig(linkPropsConfig) as ResolvedLinkProps;\n\tconst set = <K extends keyof ResolvedLinkProps>(key: K) => {\n\t\treturn (value: ResolvedLinkProps[K]): void => {\n\t\t\tresolved[key] = value;\n\t\t};\n\t};\n\n\threfProp.apply(props._href, set('href'));\n\taccessKeyProp.apply(props._accessKey, set('accessKey'));\n\tariaControlsProp.apply(props._ariaControls, set('ariaControls'));\n\tariaCurrentValueProp.apply(props._ariaCurrentValue, set('ariaCurrentValue'));\n\tariaDescriptionProp.apply(props._ariaDescription, set('ariaDescription'));\n\tariaExpandedProp.apply(props._ariaExpanded, set('ariaExpanded'));\n\tariaOwnsProp.apply(props._ariaOwns, set('ariaOwns'));\n\tcustomClassProp.apply(props._customClass, set('customClass'));\n\tdisabledProp.apply(props._disabled ?? LINK_ELEMENT_DEFAULTS.disabled, set('disabled'));\n\tdownloadProp.apply(props._download, set('download'));\n\thideLabelProp.apply(props._hideLabel ?? LINK_ELEMENT_DEFAULTS.hideLabel, set('hideLabel'));\n\tspanIconsProp.apply(props._icons, set('icons'));\n\tinlineProp.apply(props._inline ?? LINK_ELEMENT_DEFAULTS.inline, set('inline'));\n\tlabelWithExpertSlotProp.apply(props._label, set('label'));\n\tlinkCallbacksProp.apply(props._on, set('on'));\n\tlinkRoleProp.apply(props._role, set('role'));\n\tshortKeyProp.apply(props._shortKey, set('shortKey'));\n\tlinkTargetProp.apply(props._target, set('target'));\n\ttooltipAlignProp.apply(props._tooltipAlign ?? LINK_ELEMENT_DEFAULTS.tooltipAlign, set('tooltipAlign'));\n\tvariantProp.apply(props._variant, set('variant'));\n\n\t// An unset tabindex must not render as `tabindex=\"0\"` — links are natively tabbable and the\n\t// attribute would draw focus outlines the element never had. The props config seeds `0`, so\n\t// anything but an explicit number clears it again.\n\tif (typeof props._tabIndex === 'number') {\n\t\ttabIndexProp.apply(props._tabIndex, set('tabIndex'));\n\t} else {\n\t\tresolved.tabIndex = undefined as unknown as ResolvedLinkProps['tabIndex'];\n\t}\n\n\tvalidateAccessAndShortKey(props._accessKey, props._shortKey);\n\n\treturn resolved;\n}\n"],"names":["buildDefaultPropsFromConfig","linkPropsConfig","hrefProp","accessKeyProp","ariaControlsProp","ariaCurrentValueProp","ariaDescriptionProp","ariaExpandedProp","ariaOwnsProp","customClassProp","disabledProp","downloadProp","hideLabelProp","spanIconsProp","inlineProp","labelWithExpertSlotProp","linkCallbacksProp","linkRoleProp","shortKeyProp","linkTargetProp","tooltipAlignProp","variantProp","tabIndexProp","validateAccessAndShortKey"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
7
  var bemRegistry = require('./bem-registry-BDVdt6ar.js');
8
8
  var clsx = require('./clsx-Bm_HQUnh.js');
9
9
 
@@ -68,6 +68,6 @@ exports.DialogFC = DialogFC;
68
68
  exports.dialogBlockClass = dialogBlockClass;
69
69
  exports.lockScroll = lockScroll;
70
70
  exports.unlockScroll = unlockScroll;
71
- //# sourceMappingURL=scroll-lock-C6dUw4on.js.map
71
+ //# sourceMappingURL=scroll-lock-zJbOf1Xr.js.map
72
72
 
73
- //# sourceMappingURL=scroll-lock-C6dUw4on.js.map
73
+ //# sourceMappingURL=scroll-lock-zJbOf1Xr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-lock-C6dUw4on.js","sources":["src/internal/functional-components/dialog/component.tsx","src/utils/scroll-lock.ts"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport type { ModalVariantPropType } from '../../../schema/props/variant/modal';\nimport clsx from '../../../utils/clsx';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { DialogApi } from './api';\n\nconst dialogBem = bem.forBlock('kol-dialog');\nconst modalBem = bem.forBlock('kol-modal');\n\n/**\n * The dialog's own block classes: `kol-dialog`, the deprecated `kol-modal` alias, and the variant\n * of both as an element-style suffix. Every theme addresses all four names, so they are rendered\n * verbatim.\n */\nexport const dialogBlockClass = (variant: ModalVariantPropType): string => clsx(dialogBem(), modalBem(), dialogBem(variant), modalBem(variant));\n\nexport type DialogFCProps = Pick<FunctionalComponentProps<DialogApi>, 'class' | 'handleCancel' | 'handleClose' | 'label' | 'modal' | 'refDialog'> & {\n\t/**\n\t * Class names of the block this dialog belongs to. `kol-dialog` renders its own block, the\n\t * deprecated `kol-modal` alias and the variant of both; `kol-drawer` renders its\n\t * `kol-drawer__dialog` element class. Every theme styles the two differently — a drawer that\n\t * carried the dialog classes would inherit the dialog's background, radius and backdrop — so\n\t * neither is hard-coded here.\n\t */\n\tblockClass: string;\n\t/**\n\t * DOM id of the heading that labels the dialog. Without one the dialog falls back to\n\t * `aria-label`, which is what the blank variant needs: it renders no heading.\n\t */\n\tlabelledBy?: string;\n\t/** Width of the dialog. Left unset, the dialog keeps its intrinsic size. */\n\twidth?: string;\n};\n\n/**\n * The native `<dialog>` shell, shared by `kol-dialog`, the deprecated `kol-modal`, `kol-drawer` and\n * the settings menu of the table.\n *\n * It owns the element that provides `showModal()`, the top layer and the backdrop — and nothing\n * else. What the dialog contains is the consumer's composition, handed in as children: the dialog\n * renders its card or blank contents, the drawer its sliding wrapper around a card.\n *\n * Root from the `<dialog>` itself, not `BemRootNodeFC`: that always renders a `<div>`, and only the\n * native element carries the dialog semantics.\n *\n * `children` rather than a `<slot />`: Stencil derives light-DOM slot relocation from the JSX in the\n * element file, so each element supplies its own slot.\n */\nexport const DialogFC: FC<DialogFCProps> = (props, children) => {\n\tconst { blockClass, class: hostClass, handleCancel, handleClose, label, labelledBy, modal, refDialog, width } = props;\n\n\treturn (\n\t\t<dialog\n\t\t\taria-label={labelledBy ? undefined : label}\n\t\t\taria-labelledby={labelledBy}\n\t\t\taria-modal={modal ? 'true' : 'false'}\n\t\t\tclass={clsx(blockClass, hostClass)}\n\t\t\tonCancel={handleCancel}\n\t\t\tonClose={handleClose}\n\t\t\tref={refDialog}\n\t\t\tstyle={width ? { width } : undefined}\n\t\t>\n\t\t\t{children}\n\t\t</dialog>\n\t);\n};\n","/**\n * This file contains the functions used to lock the background scroll while\n * a modal overlay (dialog, modal, drawer) is open. The native `showModal()`\n * makes the background inert, but does not prevent the document from scrolling.\n */\n\n/**\n * This set contains all owners (component instances) currently holding the lock.\n * The scroll lock is released once the last owner unlocks.\n */\nconst SCROLL_LOCK_OWNERS: Set<unknown> = new Set();\n\nlet previousOverflow: string | null = null;\nlet previousPaddingRight: string | null = null;\n\n/**\n * Locks the document scroll for the given owner. The first lock stores the\n * current inline styles and hides the viewport scrollbar; the removed\n * scrollbar width is compensated with padding to avoid a layout shift.\n *\n * @param owner The component instance requesting the lock\n */\nexport function lockScroll(owner: unknown): void {\n\tif (typeof document === 'undefined' || typeof window === 'undefined') {\n\t\treturn;\n\t}\n\tif (SCROLL_LOCK_OWNERS.has(owner)) {\n\t\treturn;\n\t}\n\n\tif (SCROLL_LOCK_OWNERS.size === 0) {\n\t\tconst docEl = document.documentElement;\n\t\tpreviousOverflow = docEl.style.getPropertyValue('overflow');\n\t\tpreviousPaddingRight = docEl.style.getPropertyValue('padding-right');\n\n\t\t// Measure before hiding the scrollbar; overlay scrollbars yield 0.\n\t\tconst scrollbarWidth = window.innerWidth - docEl.clientWidth;\n\t\tif (scrollbarWidth > 0) {\n\t\t\tconst currentPaddingRight = Number.parseFloat(window.getComputedStyle(docEl).paddingRight) || 0;\n\t\t\tdocEl.style.setProperty('padding-right', `${currentPaddingRight + scrollbarWidth}px`);\n\t\t}\n\t\tdocEl.style.setProperty('overflow', 'hidden');\n\t}\n\n\tSCROLL_LOCK_OWNERS.add(owner);\n}\n\n/**\n * Releases the scroll lock for the given owner. Calling it for an owner that\n * does not hold a lock is a no-op, so unlocking is idempotent per owner. The\n * previous inline styles are restored once the last owner unlocks.\n *\n * @param owner The component instance releasing the lock\n */\nexport function unlockScroll(owner: unknown): void {\n\tif (typeof document === 'undefined' || typeof window === 'undefined') {\n\t\treturn;\n\t}\n\tif (!SCROLL_LOCK_OWNERS.delete(owner)) {\n\t\treturn;\n\t}\n\n\tif (SCROLL_LOCK_OWNERS.size === 0) {\n\t\tconst docEl = document.documentElement;\n\t\tif (previousOverflow) {\n\t\t\tdocEl.style.setProperty('overflow', previousOverflow);\n\t\t} else {\n\t\t\tdocEl.style.removeProperty('overflow');\n\t\t}\n\t\tif (previousPaddingRight) {\n\t\t\tdocEl.style.setProperty('padding-right', previousPaddingRight);\n\t\t} else {\n\t\t\tdocEl.style.removeProperty('padding-right');\n\t\t}\n\t\tpreviousOverflow = null;\n\t\tpreviousPaddingRight = null;\n\t}\n}\n"],"names":["bem","clsx","h"],"mappings":"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"}
1
+ {"version":3,"file":"scroll-lock-zJbOf1Xr.js","sources":["src/internal/functional-components/dialog/component.tsx","src/utils/scroll-lock.ts"],"sourcesContent":["import type { FunctionalComponent as FC } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { bem } from '../../../schema/bem-registry';\nimport type { ModalVariantPropType } from '../../../schema/props/variant/modal';\nimport clsx from '../../../utils/clsx';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { DialogApi } from './api';\n\nconst dialogBem = bem.forBlock('kol-dialog');\nconst modalBem = bem.forBlock('kol-modal');\n\n/**\n * The dialog's own block classes: `kol-dialog`, the deprecated `kol-modal` alias, and the variant\n * of both as an element-style suffix. Every theme addresses all four names, so they are rendered\n * verbatim.\n */\nexport const dialogBlockClass = (variant: ModalVariantPropType): string => clsx(dialogBem(), modalBem(), dialogBem(variant), modalBem(variant));\n\nexport type DialogFCProps = Pick<FunctionalComponentProps<DialogApi>, 'class' | 'handleCancel' | 'handleClose' | 'label' | 'modal' | 'refDialog'> & {\n\t/**\n\t * Class names of the block this dialog belongs to. `kol-dialog` renders its own block, the\n\t * deprecated `kol-modal` alias and the variant of both; `kol-drawer` renders its\n\t * `kol-drawer__dialog` element class. Every theme styles the two differently — a drawer that\n\t * carried the dialog classes would inherit the dialog's background, radius and backdrop — so\n\t * neither is hard-coded here.\n\t */\n\tblockClass: string;\n\t/**\n\t * DOM id of the heading that labels the dialog. Without one the dialog falls back to\n\t * `aria-label`, which is what the blank variant needs: it renders no heading.\n\t */\n\tlabelledBy?: string;\n\t/** Width of the dialog. Left unset, the dialog keeps its intrinsic size. */\n\twidth?: string;\n};\n\n/**\n * The native `<dialog>` shell, shared by `kol-dialog`, the deprecated `kol-modal`, `kol-drawer` and\n * the settings menu of the table.\n *\n * It owns the element that provides `showModal()`, the top layer and the backdrop — and nothing\n * else. What the dialog contains is the consumer's composition, handed in as children: the dialog\n * renders its card or blank contents, the drawer its sliding wrapper around a card.\n *\n * Root from the `<dialog>` itself, not `BemRootNodeFC`: that always renders a `<div>`, and only the\n * native element carries the dialog semantics.\n *\n * `children` rather than a `<slot />`: Stencil derives light-DOM slot relocation from the JSX in the\n * element file, so each element supplies its own slot.\n */\nexport const DialogFC: FC<DialogFCProps> = (props, children) => {\n\tconst { blockClass, class: hostClass, handleCancel, handleClose, label, labelledBy, modal, refDialog, width } = props;\n\n\treturn (\n\t\t<dialog\n\t\t\taria-label={labelledBy ? undefined : label}\n\t\t\taria-labelledby={labelledBy}\n\t\t\taria-modal={modal ? 'true' : 'false'}\n\t\t\tclass={clsx(blockClass, hostClass)}\n\t\t\tonCancel={handleCancel}\n\t\t\tonClose={handleClose}\n\t\t\tref={refDialog}\n\t\t\tstyle={width ? { width } : undefined}\n\t\t>\n\t\t\t{children}\n\t\t</dialog>\n\t);\n};\n","/**\n * This file contains the functions used to lock the background scroll while\n * a modal overlay (dialog, modal, drawer) is open. The native `showModal()`\n * makes the background inert, but does not prevent the document from scrolling.\n */\n\n/**\n * This set contains all owners (component instances) currently holding the lock.\n * The scroll lock is released once the last owner unlocks.\n */\nconst SCROLL_LOCK_OWNERS: Set<unknown> = new Set();\n\nlet previousOverflow: string | null = null;\nlet previousPaddingRight: string | null = null;\n\n/**\n * Locks the document scroll for the given owner. The first lock stores the\n * current inline styles and hides the viewport scrollbar; the removed\n * scrollbar width is compensated with padding to avoid a layout shift.\n *\n * @param owner The component instance requesting the lock\n */\nexport function lockScroll(owner: unknown): void {\n\tif (typeof document === 'undefined' || typeof window === 'undefined') {\n\t\treturn;\n\t}\n\tif (SCROLL_LOCK_OWNERS.has(owner)) {\n\t\treturn;\n\t}\n\n\tif (SCROLL_LOCK_OWNERS.size === 0) {\n\t\tconst docEl = document.documentElement;\n\t\tpreviousOverflow = docEl.style.getPropertyValue('overflow');\n\t\tpreviousPaddingRight = docEl.style.getPropertyValue('padding-right');\n\n\t\t// Measure before hiding the scrollbar; overlay scrollbars yield 0.\n\t\tconst scrollbarWidth = window.innerWidth - docEl.clientWidth;\n\t\tif (scrollbarWidth > 0) {\n\t\t\tconst currentPaddingRight = Number.parseFloat(window.getComputedStyle(docEl).paddingRight) || 0;\n\t\t\tdocEl.style.setProperty('padding-right', `${currentPaddingRight + scrollbarWidth}px`);\n\t\t}\n\t\tdocEl.style.setProperty('overflow', 'hidden');\n\t}\n\n\tSCROLL_LOCK_OWNERS.add(owner);\n}\n\n/**\n * Releases the scroll lock for the given owner. Calling it for an owner that\n * does not hold a lock is a no-op, so unlocking is idempotent per owner. The\n * previous inline styles are restored once the last owner unlocks.\n *\n * @param owner The component instance releasing the lock\n */\nexport function unlockScroll(owner: unknown): void {\n\tif (typeof document === 'undefined' || typeof window === 'undefined') {\n\t\treturn;\n\t}\n\tif (!SCROLL_LOCK_OWNERS.delete(owner)) {\n\t\treturn;\n\t}\n\n\tif (SCROLL_LOCK_OWNERS.size === 0) {\n\t\tconst docEl = document.documentElement;\n\t\tif (previousOverflow) {\n\t\t\tdocEl.style.setProperty('overflow', previousOverflow);\n\t\t} else {\n\t\t\tdocEl.style.removeProperty('overflow');\n\t\t}\n\t\tif (previousPaddingRight) {\n\t\t\tdocEl.style.setProperty('padding-right', previousPaddingRight);\n\t\t} else {\n\t\t\tdocEl.style.removeProperty('padding-right');\n\t\t}\n\t\tpreviousOverflow = null;\n\t\tpreviousPaddingRight = null;\n\t}\n}\n"],"names":["bem","clsx","h"],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
 
6
6
  var baseWebComponent = require('./base-web-component-DK5Y-vq5.js');
7
7
  var tslib_es6 = require('./tslib.es6-Cm0ytgPY.js');
8
- var index = require('./index-BnEus4Y9.js');
9
- var dev_utils = require('./dev.utils-BjrG4FNf.js');
8
+ var index = require('./index-RAfZF5x0.js');
9
+ var dev_utils = require('./dev.utils-DybQ4euF.js');
10
10
 
11
11
  const autoCompleteProp = baseWebComponent.createPropDefinition('autoComplete', 'off', baseWebComponent.normalizeString, (value) => value.length > 0);
12
12
 
@@ -20,6 +20,6 @@ const SuggestionsFC = (_a) => {
20
20
 
21
21
  exports.SuggestionsFC = SuggestionsFC;
22
22
  exports.autoCompleteProp = autoCompleteProp;
23
- //# sourceMappingURL=suggestions-0hcm13gT.js.map
23
+ //# sourceMappingURL=suggestions-quLXODgi.js.map
24
24
 
25
- //# sourceMappingURL=suggestions-0hcm13gT.js.map
25
+ //# sourceMappingURL=suggestions-quLXODgi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"suggestions-0hcm13gT.js","sources":["src/internal/props/auto-complete.ts","src/internal/functional-components/form-field/suggestions.tsx"],"sourcesContent":["import type { AutoCompletePropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Auto complete prop for form fields\n *\n * Description:\n * The value of the native `autocomplete` attribute: `'on'`, `'off'` or an autofill token such as\n * `'email'`. Any non-empty string is accepted, the default is `'off'`.\n *\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill\n * @see https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html\n */\nexport type AutoCompleteProp = SimpleProp<'autoComplete', AutoCompletePropType>;\nexport const autoCompleteProp = createPropDefinition<AutoCompleteProp>('autoComplete', 'off', normalizeString, (value) => value.length > 0);\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../../schema';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\n\nexport type SuggestionsFCProps = JSXBase.HTMLAttributes<HTMLDataListElement> & {\n\t/** ID of the input; the datalist gets the related `list` ID. */\n\tid: string;\n\tsuggestions: W3CInputValue[];\n};\n\n/** Datalist with the suggested values of an input. */\nexport const SuggestionsFC: FC<SuggestionsFCProps> = ({ id, suggestions, ...other }) => {\n\tif (!suggestions) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<datalist id={createRelatedUniqueId(id, 'list')} {...other}>\n\t\t\t{suggestions.map((option: W3CInputValue) => (\n\t\t\t\t<option value={option} />\n\t\t\t))}\n\t\t</datalist>\n\t);\n};\n"],"names":["createPropDefinition","normalizeString","__rest","h","createRelatedUniqueId"],"mappings":";;;;;;;;;;MAgBa,gBAAgB,GAAGA,qCAAoB,CAAmB,cAAc,EAAE,KAAK,EAAEC,gCAAe,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;;ACJ7H,MAAA,aAAa,GAA2B,CAAC,EAA6B,KAAI;QAAjC,EAAE,EAAE,EAAE,WAAW,EAAA,GAAA,EAAY,EAAP,KAAK,GAAAC,gBAAA,CAAA,EAAA,EAA3B,qBAA6B,CAAF;IAChF,IAAI,CAAC,WAAW,EAAE;AACjB,QAAA,OAAO,IAAI;;IAGZ,QACCC,OAAA,CAAA,UAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAU,EAAE,EAAEC,+BAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAA,EAAM,KAAK,CAAA,EACxD,WAAW,CAAC,GAAG,CAAC,CAAC,MAAqB,MACtCD,OAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,MAAM,EAAI,CAAA,CACzB,CAAC,CACQ;AAEb;;;;;"}
1
+ {"version":3,"file":"suggestions-quLXODgi.js","sources":["src/internal/props/auto-complete.ts","src/internal/functional-components/form-field/suggestions.tsx"],"sourcesContent":["import type { AutoCompletePropType } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Auto complete prop for form fields\n *\n * Description:\n * The value of the native `autocomplete` attribute: `'on'`, `'off'` or an autofill token such as\n * `'email'`. Any non-empty string is accepted, the default is `'off'`.\n *\n * @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill\n * @see https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html\n */\nexport type AutoCompleteProp = SimpleProp<'autoComplete', AutoCompletePropType>;\nexport const autoCompleteProp = createPropDefinition<AutoCompleteProp>('autoComplete', 'off', normalizeString, (value) => value.length > 0);\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase } from '@stencil/core/internal';\nimport type { W3CInputValue } from '../../../schema';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\n\nexport type SuggestionsFCProps = JSXBase.HTMLAttributes<HTMLDataListElement> & {\n\t/** ID of the input; the datalist gets the related `list` ID. */\n\tid: string;\n\tsuggestions: W3CInputValue[];\n};\n\n/** Datalist with the suggested values of an input. */\nexport const SuggestionsFC: FC<SuggestionsFCProps> = ({ id, suggestions, ...other }) => {\n\tif (!suggestions) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<datalist id={createRelatedUniqueId(id, 'list')} {...other}>\n\t\t\t{suggestions.map((option: W3CInputValue) => (\n\t\t\t\t<option value={option} />\n\t\t\t))}\n\t\t</datalist>\n\t);\n};\n"],"names":["createPropDefinition","normalizeString","__rest","h","createRelatedUniqueId"],"mappings":";;;;;;;;;;MAgBa,gBAAgB,GAAGA,qCAAoB,CAAmB,cAAc,EAAE,KAAK,EAAEC,gCAAe,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;;ACJ7H,MAAA,aAAa,GAA2B,CAAC,EAA6B,KAAI;QAAjC,EAAE,EAAE,EAAE,WAAW,EAAA,GAAA,EAAY,EAAP,KAAK,GAAAC,gBAAA,CAAA,EAAA,EAA3B,qBAA6B,CAAF;IAChF,IAAI,CAAC,WAAW,EAAE;AACjB,QAAA,OAAO,IAAI;;IAGZ,QACCC,OAAA,CAAA,UAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAU,EAAE,EAAEC,+BAAqB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAA,EAAM,KAAK,CAAA,EACxD,WAAW,CAAC,GAAG,CAAC,CAAC,MAAqB,MACtCD,OAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,MAAM,EAAI,CAAA,CACzB,CAAC,CACQ;AAEb;;;;;"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var index = require('./index-BnEus4Y9.js');
6
+ var index = require('./index-RAfZF5x0.js');
7
7
  require('./common-B9-LvLNa.js');
8
8
 
9
9
  const TestComponent = class {