@public-ui/components 4.5.0-rc.4 → 4.5.0-rc.5

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 (516) 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 -1
  7. package/dist/cjs/{Heading-CmJwWzTx.js → Heading-DG2wWECB.js} +3 -3
  8. package/dist/cjs/{Heading-CmJwWzTx.js.map → Heading-DG2wWECB.js.map} +1 -1
  9. package/dist/cjs/{api-CimiLGvb.js → api-8kjgnnU3.js} +8 -8
  10. package/dist/cjs/{api-CimiLGvb.js.map → api-8kjgnnU3.js.map} +1 -1
  11. package/dist/cjs/{api-CGIOreYK.js → api-C2rTkOz2.js} +12 -12
  12. package/dist/cjs/{api-CGIOreYK.js.map → api-C2rTkOz2.js.map} +1 -1
  13. package/dist/cjs/{app-globals-DXKl7Bxk.js → app-globals-B1xqi4rZ.js} +4 -4
  14. package/dist/cjs/{app-globals-DXKl7Bxk.js.map → app-globals-B1xqi4rZ.js.map} +1 -1
  15. package/dist/cjs/{base-3S-emPWZ.js → base-BMrlvKIO.js} +16 -16
  16. package/dist/cjs/{base-3S-emPWZ.js.map → base-BMrlvKIO.js.map} +1 -1
  17. package/dist/cjs/{base-BCEIzc57.js → base-Cea-xkFy.js} +5 -5
  18. package/dist/cjs/{base-BCEIzc57.js.map → base-Cea-xkFy.js.map} +1 -1
  19. package/dist/cjs/{base-DD2zVHk7.js → base-OMJLjz5u.js} +4 -4
  20. package/dist/cjs/{base-DD2zVHk7.js.map → base-OMJLjz5u.js.map} +1 -1
  21. package/dist/cjs/{base-web-component-8qVyDl6W.js → base-web-component-BCEKzbV3.js} +7 -7
  22. package/dist/cjs/{base-web-component-8qVyDl6W.js.map → base-web-component-BCEKzbV3.js.map} +1 -1
  23. package/dist/cjs/{base-web-component-CtQdH3PJ.js → base-web-component-CpH4iN97.js} +5 -5
  24. package/dist/cjs/{base-web-component-CtQdH3PJ.js.map → base-web-component-CpH4iN97.js.map} +1 -1
  25. package/dist/cjs/{base-CVLHbu6O.js → base-xR4eDUJg.js} +4 -4
  26. package/dist/cjs/{base-CVLHbu6O.js.map → base-xR4eDUJg.js.map} +1 -1
  27. package/dist/cjs/{behavior-B9JuvM3I.js → behavior-XywM4z8h.js} +3 -3
  28. package/dist/cjs/{behavior-B9JuvM3I.js.map → behavior-XywM4z8h.js.map} +1 -1
  29. package/dist/cjs/{component-CCZ7pXRv.js → component-04gQVLQ1.js} +4 -4
  30. package/dist/cjs/{component-CCZ7pXRv.js.map → component-04gQVLQ1.js.map} +1 -1
  31. package/dist/cjs/{component-B18PknAn.js → component-BB3YHW86.js} +3 -3
  32. package/dist/cjs/{component-B18PknAn.js.map → component-BB3YHW86.js.map} +1 -1
  33. package/dist/cjs/{component-GzpJi_tI.js → component-BLnwCgKh.js} +7 -7
  34. package/dist/cjs/{component-GzpJi_tI.js.map → component-BLnwCgKh.js.map} +1 -1
  35. package/dist/cjs/{component-BT9bnLTG.js → component-Bprn2Dws.js} +4 -4
  36. package/dist/cjs/{component-BT9bnLTG.js.map → component-Bprn2Dws.js.map} +1 -1
  37. package/dist/cjs/{component-B368JCB7.js → component-CJDDp8K2.js} +3 -3
  38. package/dist/cjs/{component-B368JCB7.js.map → component-CJDDp8K2.js.map} +1 -1
  39. package/dist/cjs/{component-D0N2WBmH.js → component-ClYrtAkb.js} +5 -5
  40. package/dist/cjs/{component-D0N2WBmH.js.map → component-ClYrtAkb.js.map} +1 -1
  41. package/dist/cjs/{component-BzMxgoHU.js → component-DAfsN5m4.js} +5 -5
  42. package/dist/cjs/{component-BzMxgoHU.js.map → component-DAfsN5m4.js.map} +1 -1
  43. package/dist/cjs/{component-BCFL2G_g.js → component-DDlbarYZ.js} +4 -4
  44. package/dist/cjs/{component-BCFL2G_g.js.map → component-DDlbarYZ.js.map} +1 -1
  45. package/dist/cjs/{component-DXv0HPeN.js → component-DlN2bfiT.js} +5 -5
  46. package/dist/cjs/{component-DXv0HPeN.js.map → component-DlN2bfiT.js.map} +1 -1
  47. package/dist/cjs/{component-DlgM4oEf.js → component-KIiCY2eY.js} +7 -7
  48. package/dist/cjs/{component-DlgM4oEf.js.map → component-KIiCY2eY.js.map} +1 -1
  49. package/dist/cjs/{component-CH432A4c.js → component-i9zUYU8M.js} +3 -3
  50. package/dist/cjs/{component-CH432A4c.js.map → component-i9zUYU8M.js.map} +1 -1
  51. package/dist/cjs/{component-C7NI5Iy5.js → component-sZUV7dBr.js} +3 -3
  52. package/dist/cjs/{component-C7NI5Iy5.js.map → component-sZUV7dBr.js.map} +1 -1
  53. package/dist/cjs/{dev.utils-BoFqqn8Y.js → dev.utils-BVqwixuA.js} +3 -3
  54. package/dist/cjs/{dev.utils-BoFqqn8Y.js.map → dev.utils-BVqwixuA.js.map} +1 -1
  55. package/dist/cjs/{devtools-C-m9X0nz.js → devtools-DxqqXOxW.js} +4 -4
  56. package/dist/cjs/{devtools-C-m9X0nz.js.map → devtools-DxqqXOxW.js.map} +1 -1
  57. package/dist/cjs/{field-control-MhWSen3X.js → field-control-CTOjt7vn.js} +8 -8
  58. package/dist/cjs/{field-control-MhWSen3X.js.map → field-control-CTOjt7vn.js.map} +1 -1
  59. package/dist/cjs/{group-7951SxEA.js → group-VoBXFtaB.js} +5 -5
  60. package/dist/cjs/{group-7951SxEA.js.map → group-VoBXFtaB.js.map} +1 -1
  61. package/dist/cjs/{index-DO9lYEcH.js → index-Dv7OF9AY.js} +3 -3
  62. package/dist/cjs/{index-DO9lYEcH.js.map → index-Dv7OF9AY.js.map} +1 -1
  63. package/dist/cjs/{input-DCNSFlzf.js → input-BeQNLD9x.js} +5 -5
  64. package/dist/cjs/{input-DCNSFlzf.js.map → input-BeQNLD9x.js.map} +1 -1
  65. package/dist/cjs/{input-container-AUYMUXlO.js → input-container-BXz_irj1.js} +7 -7
  66. package/dist/cjs/{input-container-AUYMUXlO.js.map → input-container-BXz_irj1.js.map} +1 -1
  67. package/dist/cjs/{item-C63M9WqZ.js → item-C_mVKQHN.js} +4 -4
  68. package/dist/cjs/{item-C63M9WqZ.js.map → item-C_mVKQHN.js.map} +1 -1
  69. package/dist/cjs/{item-CAtWa-Nr.js → item-Caz7PzHo.js} +4 -4
  70. package/dist/cjs/{item-CAtWa-Nr.js.map → item-Caz7PzHo.js.map} +1 -1
  71. package/dist/cjs/{item-CXS6hLg9.js → item-DksElMyT.js} +8 -8
  72. package/dist/cjs/{item-CXS6hLg9.js.map → item-DksElMyT.js.map} +1 -1
  73. package/dist/cjs/{item-BPM40Vsi.js → item-P6pvO7ia.js} +3 -3
  74. package/dist/cjs/{item-BPM40Vsi.js.map → item-P6pvO7ia.js.map} +1 -1
  75. package/dist/cjs/kol-abbr.cjs.entry.js +2 -2
  76. package/dist/cjs/kol-accordion.cjs.entry.js +7 -7
  77. package/dist/cjs/kol-alert.cjs.entry.js +11 -11
  78. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-badge.cjs.entry.js +10 -10
  80. package/dist/cjs/kol-breadcrumb.cjs.entry.js +9 -9
  81. package/dist/cjs/kol-button-link.cjs.entry.js +10 -10
  82. package/dist/cjs/kol-button.cjs.entry.js +10 -10
  83. package/dist/cjs/kol-card.cjs.entry.js +11 -11
  84. package/dist/cjs/kol-click-button.cjs.entry.js +2 -2
  85. package/dist/cjs/kol-combobox.cjs.entry.js +18 -18
  86. package/dist/cjs/kol-details.cjs.entry.js +7 -7
  87. package/dist/cjs/kol-dialog.cjs.entry.js +13 -13
  88. package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
  89. package/dist/cjs/kol-form.cjs.entry.js +12 -12
  90. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-icon.cjs.entry.js +3 -3
  92. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-input-checkbox.cjs.entry.js +17 -17
  94. package/dist/cjs/kol-input-color.cjs.entry.js +18 -18
  95. package/dist/cjs/kol-input-date.cjs.entry.js +18 -18
  96. package/dist/cjs/kol-input-email.cjs.entry.js +20 -20
  97. package/dist/cjs/kol-input-file.cjs.entry.js +17 -17
  98. package/dist/cjs/kol-input-number.cjs.entry.js +18 -18
  99. package/dist/cjs/kol-input-password.cjs.entry.js +20 -20
  100. package/dist/cjs/kol-input-radio.cjs.entry.js +17 -17
  101. package/dist/cjs/kol-input-range.cjs.entry.js +18 -18
  102. package/dist/cjs/kol-input-text.cjs.entry.js +20 -20
  103. package/dist/cjs/kol-kolibri.cjs.entry.js +2 -2
  104. package/dist/cjs/kol-link-button.cjs.entry.js +10 -10
  105. package/dist/cjs/kol-link.cjs.entry.js +10 -10
  106. package/dist/cjs/kol-meter.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-modal.cjs.entry.js +13 -13
  108. package/dist/cjs/kol-nav.cjs.entry.js +13 -13
  109. package/dist/cjs/kol-pagination.cjs.entry.js +18 -18
  110. package/dist/cjs/kol-popover-button.cjs.entry.js +11 -11
  111. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-select.cjs.entry.js +17 -17
  114. package/dist/cjs/kol-single-select.cjs.entry.js +18 -18
  115. package/dist/cjs/kol-skeleton.cjs.entry.js +2 -2
  116. package/dist/cjs/kol-skip-nav.cjs.entry.js +9 -9
  117. package/dist/cjs/kol-spin.cjs.entry.js +3 -3
  118. package/dist/cjs/kol-split-button.cjs.entry.js +12 -12
  119. package/dist/cjs/kol-table-stateful.cjs.entry.js +25 -25
  120. package/dist/cjs/kol-table-stateless.cjs.entry.js +19 -19
  121. package/dist/cjs/kol-tabs.cjs.entry.js +14 -26
  122. package/dist/cjs/kol-tabs.entry.cjs.js.map +1 -1
  123. package/dist/cjs/kol-textarea.cjs.entry.js +17 -17
  124. package/dist/cjs/kol-toast-container.cjs.entry.js +11 -11
  125. package/dist/cjs/kol-toolbar.cjs.entry.js +11 -11
  126. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +4 -4
  127. package/dist/cjs/kol-tree-item.cjs.entry.js +9 -9
  128. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-version.cjs.entry.js +9 -9
  130. package/dist/cjs/kolibri.cjs.js +2 -2
  131. package/dist/cjs/loader.cjs.js +2 -2
  132. package/dist/cjs/{resolve-props-DrG_HqJv.js → resolve-props-DS3EE-fd.js} +3 -3
  133. package/dist/cjs/{resolve-props-DrG_HqJv.js.map → resolve-props-DS3EE-fd.js.map} +1 -1
  134. package/dist/cjs/{scroll-lock-oNylqons.js → scroll-lock-B8N6TEH3.js} +3 -3
  135. package/dist/cjs/{scroll-lock-oNylqons.js.map → scroll-lock-B8N6TEH3.js.map} +1 -1
  136. package/dist/cjs/{suggestions-Dtu6i-Ff.js → suggestions-CC1tzlom.js} +4 -4
  137. package/dist/cjs/{suggestions-Dtu6i-Ff.js.map → suggestions-CC1tzlom.js.map} +1 -1
  138. package/dist/cjs/test-component.cjs.entry.js +1 -1
  139. package/dist/cjs/{toggle-handler-CE-IOVjQ.js → toggle-handler-BzdKX5H6.js} +5 -5
  140. package/dist/cjs/{toggle-handler-CE-IOVjQ.js.map → toggle-handler-BzdKX5H6.js.map} +1 -1
  141. package/dist/collection/components/accordion/style.css +2 -2
  142. package/dist/collection/components/alert/style.css +2 -2
  143. package/dist/collection/components/badge/style.css +2 -2
  144. package/dist/collection/components/breadcrumb/style.css +2 -2
  145. package/dist/collection/components/button/style.css +2 -2
  146. package/dist/collection/components/button-link/style.css +2 -2
  147. package/dist/collection/components/card/style.css +2 -2
  148. package/dist/collection/components/combobox/style.css +2 -2
  149. package/dist/collection/components/details/style.css +2 -2
  150. package/dist/collection/components/dialog/style.css +2 -2
  151. package/dist/collection/components/drawer/style.css +2 -2
  152. package/dist/collection/components/form/style.css +2 -2
  153. package/dist/collection/components/icon/style.css +2 -2
  154. package/dist/collection/components/input-checkbox/style.css +2 -2
  155. package/dist/collection/components/input-color/style.css +2 -2
  156. package/dist/collection/components/input-date/style.css +2 -2
  157. package/dist/collection/components/input-email/style.css +2 -2
  158. package/dist/collection/components/input-file/style.css +2 -2
  159. package/dist/collection/components/input-number/style.css +2 -2
  160. package/dist/collection/components/input-password/style.css +2 -2
  161. package/dist/collection/components/input-radio/style.css +2 -2
  162. package/dist/collection/components/input-range/style.css +2 -2
  163. package/dist/collection/components/input-text/style.css +2 -2
  164. package/dist/collection/components/link/style.css +2 -2
  165. package/dist/collection/components/link-button/style.css +2 -2
  166. package/dist/collection/components/modal/style.css +2 -2
  167. package/dist/collection/components/nav/style.css +2 -2
  168. package/dist/collection/components/pagination/style.css +2 -2
  169. package/dist/collection/components/popover-button/style.css +2 -2
  170. package/dist/collection/components/select/style.css +2 -2
  171. package/dist/collection/components/single-select/style.css +2 -2
  172. package/dist/collection/components/skip-nav/style.css +2 -2
  173. package/dist/collection/components/split-button/style.css +2 -2
  174. package/dist/collection/components/table-stateful/style.css +2 -2
  175. package/dist/collection/components/table-stateless/style.css +2 -2
  176. package/dist/collection/components/tabs/component.js +5 -17
  177. package/dist/collection/components/tabs/component.js.map +1 -1
  178. package/dist/collection/components/tabs/style.css +2 -2
  179. package/dist/collection/components/textarea/style.css +2 -2
  180. package/dist/collection/components/toaster/style.css +2 -2
  181. package/dist/collection/components/toolbar/style.css +2 -2
  182. package/dist/collection/components/tree-item/style.css +2 -2
  183. package/dist/collection/components/version/style.css +2 -2
  184. package/dist/components/kol-accordion.js +1 -1
  185. package/dist/components/kol-alert.js +1 -1
  186. package/dist/components/kol-badge.js +1 -1
  187. package/dist/components/kol-breadcrumb.js +1 -1
  188. package/dist/components/kol-button-link.js +1 -1
  189. package/dist/components/kol-button.js +1 -1
  190. package/dist/components/kol-card.js +1 -1
  191. package/dist/components/kol-combobox.js +1 -1
  192. package/dist/components/kol-details.js +1 -1
  193. package/dist/components/kol-dialog.js +1 -1
  194. package/dist/components/kol-drawer.js +1 -1
  195. package/dist/components/kol-form.js +1 -1
  196. package/dist/components/kol-icon.js +1 -1
  197. package/dist/components/kol-input-checkbox.js +1 -1
  198. package/dist/components/kol-input-color.js +1 -1
  199. package/dist/components/kol-input-date.js +1 -1
  200. package/dist/components/kol-input-email.js +1 -1
  201. package/dist/components/kol-input-file.js +1 -1
  202. package/dist/components/kol-input-number.js +1 -1
  203. package/dist/components/kol-input-password.js +1 -1
  204. package/dist/components/kol-input-radio.js +1 -1
  205. package/dist/components/kol-input-range.js +1 -1
  206. package/dist/components/kol-input-text.js +1 -1
  207. package/dist/components/kol-link-button.js +1 -1
  208. package/dist/components/kol-link.js +1 -1
  209. package/dist/components/kol-modal.js +1 -1
  210. package/dist/components/kol-nav.js +1 -1
  211. package/dist/components/kol-pagination.js +1 -1
  212. package/dist/components/kol-popover-button.js +1 -1
  213. package/dist/components/kol-select.js +1 -1
  214. package/dist/components/kol-single-select.js +1 -1
  215. package/dist/components/kol-skip-nav.js +1 -1
  216. package/dist/components/kol-split-button.js +1 -1
  217. package/dist/components/kol-table-stateful.js +1 -1
  218. package/dist/components/kol-table-stateless.js +1 -1
  219. package/dist/components/kol-tabs.js +6 -18
  220. package/dist/components/kol-tabs.js.map +1 -1
  221. package/dist/components/kol-textarea.js +1 -1
  222. package/dist/components/kol-toast-container.js +1 -1
  223. package/dist/components/kol-toolbar.js +1 -1
  224. package/dist/components/kol-tree-item.js +1 -1
  225. package/dist/components/kol-version.js +1 -1
  226. package/dist/esm/{Heading-D2EH5Vz9.js → Heading-DAPZwXCt.js} +3 -3
  227. package/dist/esm/{Heading-D2EH5Vz9.js.map → Heading-DAPZwXCt.js.map} +1 -1
  228. package/dist/esm/{api-DScxu3ou.js → api-DueenSkb.js} +12 -12
  229. package/dist/{kolibri/api-DScxu3ou.js.map → esm/api-DueenSkb.js.map} +1 -1
  230. package/dist/esm/{api-CN_pBHgH.js → api-zFp24D1x.js} +8 -8
  231. package/dist/esm/{api-CN_pBHgH.js.map → api-zFp24D1x.js.map} +1 -1
  232. package/dist/esm/{app-globals-CddJRb3M.js → app-globals-CYRfyhVc.js} +4 -4
  233. package/dist/esm/{app-globals-CddJRb3M.js.map → app-globals-CYRfyhVc.js.map} +1 -1
  234. package/dist/esm/{base-DHBpPWDW.js → base-AvIGo8Mp.js} +16 -16
  235. package/dist/{kolibri/base-DHBpPWDW.js.map → esm/base-AvIGo8Mp.js.map} +1 -1
  236. package/dist/esm/{base-B4XSDJBd.js → base-BU2iT3jv.js} +5 -5
  237. package/dist/{kolibri/base-B4XSDJBd.js.map → esm/base-BU2iT3jv.js.map} +1 -1
  238. package/dist/esm/{base-DFtj5G32.js → base-BUu1gNpy.js} +4 -4
  239. package/dist/{kolibri/base-DFtj5G32.js.map → esm/base-BUu1gNpy.js.map} +1 -1
  240. package/dist/esm/{base-Jvi_AWqL.js → base-CjlYs5Fb.js} +4 -4
  241. package/dist/{kolibri/base-Jvi_AWqL.js.map → esm/base-CjlYs5Fb.js.map} +1 -1
  242. package/dist/esm/{base-web-component-D_VU8SGY.js → base-web-component-BEf83bnu.js} +7 -7
  243. package/dist/esm/{base-web-component-D_VU8SGY.js.map → base-web-component-BEf83bnu.js.map} +1 -1
  244. package/dist/esm/{base-web-component-t9oDjRt3.js → base-web-component-C2q-dSOg.js} +5 -5
  245. package/dist/esm/{base-web-component-t9oDjRt3.js.map → base-web-component-C2q-dSOg.js.map} +1 -1
  246. package/dist/esm/{behavior-Dpui_R-v.js → behavior-DCpLHoHs.js} +3 -3
  247. package/dist/{kolibri/behavior-Dpui_R-v.js.map → esm/behavior-DCpLHoHs.js.map} +1 -1
  248. package/dist/esm/{component-DSKwp72M.js → component-9XV7ykPK.js} +4 -4
  249. package/dist/{kolibri/component-DSKwp72M.js.map → esm/component-9XV7ykPK.js.map} +1 -1
  250. package/dist/esm/{component-BauANlCU.js → component-B5MUeex-.js} +3 -3
  251. package/dist/{kolibri/component-BauANlCU.js.map → esm/component-B5MUeex-.js.map} +1 -1
  252. package/dist/esm/{component-B5OmtChm.js → component-BR-6tKab.js} +3 -3
  253. package/dist/esm/{component-B5OmtChm.js.map → component-BR-6tKab.js.map} +1 -1
  254. package/dist/esm/{component-ArZwqu6c.js → component-Bj13sPTL.js} +4 -4
  255. package/dist/esm/{component-ArZwqu6c.js.map → component-Bj13sPTL.js.map} +1 -1
  256. package/dist/esm/{component-DWiKUdpa.js → component-BrOA7gRZ.js} +7 -7
  257. package/dist/esm/{component-DWiKUdpa.js.map → component-BrOA7gRZ.js.map} +1 -1
  258. package/dist/esm/{component-CoN6ZwTo.js → component-CQJ_jIZm.js} +7 -7
  259. package/dist/esm/{component-CoN6ZwTo.js.map → component-CQJ_jIZm.js.map} +1 -1
  260. package/dist/esm/{component-D6Z14V5i.js → component-Cqcw7JSO.js} +5 -5
  261. package/dist/{kolibri/component-D6Z14V5i.js.map → esm/component-Cqcw7JSO.js.map} +1 -1
  262. package/dist/esm/{component-GqGXpjMZ.js → component-Cy_xOMLd.js} +3 -3
  263. package/dist/esm/{component-GqGXpjMZ.js.map → component-Cy_xOMLd.js.map} +1 -1
  264. package/dist/esm/{component-6cLprNJZ.js → component-DCK-2RQ3.js} +3 -3
  265. package/dist/esm/{component-6cLprNJZ.js.map → component-DCK-2RQ3.js.map} +1 -1
  266. package/dist/esm/{component-D0Coq_zE.js → component-DRUoRfdO.js} +5 -5
  267. package/dist/{kolibri/component-D0Coq_zE.js.map → esm/component-DRUoRfdO.js.map} +1 -1
  268. package/dist/esm/{component-DbsunX7x.js → component-D_xOkOl6.js} +4 -4
  269. package/dist/{kolibri/component-DbsunX7x.js.map → esm/component-D_xOkOl6.js.map} +1 -1
  270. package/dist/esm/{component-CChFD3b2.js → component-Droc76Vh.js} +5 -5
  271. package/dist/{kolibri/component-CChFD3b2.js.map → esm/component-Droc76Vh.js.map} +1 -1
  272. package/dist/esm/{dev.utils-DVPKJwhh.js → dev.utils-CWEYl26B.js} +3 -3
  273. package/dist/{kolibri/dev.utils-DVPKJwhh.js.map → esm/dev.utils-CWEYl26B.js.map} +1 -1
  274. package/dist/esm/{devtools-Ctvg6SnM.js → devtools-BfiT_Mej.js} +4 -4
  275. package/dist/{kolibri/devtools-Ctvg6SnM.js.map → esm/devtools-BfiT_Mej.js.map} +1 -1
  276. package/dist/esm/{field-control-CJ-9C7AK.js → field-control-BvFIxA5C.js} +8 -8
  277. package/dist/{kolibri/field-control-CJ-9C7AK.js.map → esm/field-control-BvFIxA5C.js.map} +1 -1
  278. package/dist/esm/{group-6LOQ2Eed.js → group-DzNZiu3R.js} +5 -5
  279. package/dist/esm/{group-6LOQ2Eed.js.map → group-DzNZiu3R.js.map} +1 -1
  280. package/dist/esm/{index-BtYjJomD.js → index-CyLMYdnq.js} +3 -3
  281. package/dist/{kolibri/index-BtYjJomD.js.map → esm/index-CyLMYdnq.js.map} +1 -1
  282. package/dist/esm/{input-DispvARh.js → input-C55z9I-y.js} +5 -5
  283. package/dist/esm/{input-DispvARh.js.map → input-C55z9I-y.js.map} +1 -1
  284. package/dist/esm/{input-container-CVU5Y0-o.js → input-container-28E-ib9E.js} +7 -7
  285. package/dist/{kolibri/input-container-CVU5Y0-o.js.map → esm/input-container-28E-ib9E.js.map} +1 -1
  286. package/dist/esm/{item-BShglo-p.js → item-Bwz4OUrI.js} +4 -4
  287. package/dist/esm/{item-BShglo-p.js.map → item-Bwz4OUrI.js.map} +1 -1
  288. package/dist/esm/{item-CD8r4zxe.js → item-CuhPkC8A.js} +4 -4
  289. package/dist/esm/{item-CD8r4zxe.js.map → item-CuhPkC8A.js.map} +1 -1
  290. package/dist/esm/{item-Cj7w26xK.js → item-HQBfKHr0.js} +3 -3
  291. package/dist/esm/{item-Cj7w26xK.js.map → item-HQBfKHr0.js.map} +1 -1
  292. package/dist/esm/{item-CIIV_ncI.js → item-aP2OcbwT.js} +8 -8
  293. package/dist/esm/{item-CIIV_ncI.js.map → item-aP2OcbwT.js.map} +1 -1
  294. package/dist/esm/kol-abbr.entry.js +2 -2
  295. package/dist/esm/kol-accordion.entry.js +7 -7
  296. package/dist/esm/kol-alert.entry.js +11 -11
  297. package/dist/esm/kol-avatar.entry.js +1 -1
  298. package/dist/esm/kol-badge.entry.js +10 -10
  299. package/dist/esm/kol-breadcrumb.entry.js +9 -9
  300. package/dist/esm/kol-button-link.entry.js +10 -10
  301. package/dist/esm/kol-button.entry.js +10 -10
  302. package/dist/esm/kol-card.entry.js +11 -11
  303. package/dist/esm/kol-click-button.entry.js +2 -2
  304. package/dist/esm/kol-combobox.entry.js +18 -18
  305. package/dist/esm/kol-details.entry.js +7 -7
  306. package/dist/esm/kol-dialog.entry.js +13 -13
  307. package/dist/esm/kol-drawer.entry.js +12 -12
  308. package/dist/esm/kol-form.entry.js +12 -12
  309. package/dist/esm/kol-heading.entry.js +1 -1
  310. package/dist/esm/kol-icon.entry.js +3 -3
  311. package/dist/esm/kol-image.entry.js +1 -1
  312. package/dist/esm/kol-input-checkbox.entry.js +17 -17
  313. package/dist/esm/kol-input-color.entry.js +18 -18
  314. package/dist/esm/kol-input-date.entry.js +18 -18
  315. package/dist/esm/kol-input-email.entry.js +20 -20
  316. package/dist/esm/kol-input-file.entry.js +17 -17
  317. package/dist/esm/kol-input-number.entry.js +18 -18
  318. package/dist/esm/kol-input-password.entry.js +20 -20
  319. package/dist/esm/kol-input-radio.entry.js +17 -17
  320. package/dist/esm/kol-input-range.entry.js +18 -18
  321. package/dist/esm/kol-input-text.entry.js +20 -20
  322. package/dist/esm/kol-kolibri.entry.js +2 -2
  323. package/dist/esm/kol-link-button.entry.js +10 -10
  324. package/dist/esm/kol-link.entry.js +10 -10
  325. package/dist/esm/kol-meter.entry.js +1 -1
  326. package/dist/esm/kol-modal.entry.js +13 -13
  327. package/dist/esm/kol-nav.entry.js +13 -13
  328. package/dist/esm/kol-pagination.entry.js +18 -18
  329. package/dist/esm/kol-popover-button.entry.js +11 -11
  330. package/dist/esm/kol-progress.entry.js +1 -1
  331. package/dist/esm/kol-quote.entry.js +1 -1
  332. package/dist/esm/kol-select.entry.js +17 -17
  333. package/dist/esm/kol-single-select.entry.js +18 -18
  334. package/dist/esm/kol-skeleton.entry.js +2 -2
  335. package/dist/esm/kol-skip-nav.entry.js +9 -9
  336. package/dist/esm/kol-spin.entry.js +3 -3
  337. package/dist/esm/kol-split-button.entry.js +12 -12
  338. package/dist/esm/kol-table-stateful.entry.js +25 -25
  339. package/dist/esm/kol-table-stateless.entry.js +19 -19
  340. package/dist/esm/kol-tabs.entry.js +14 -26
  341. package/dist/esm/kol-tabs.entry.js.map +1 -1
  342. package/dist/esm/kol-textarea.entry.js +17 -17
  343. package/dist/esm/kol-toast-container.entry.js +11 -11
  344. package/dist/esm/kol-toolbar.entry.js +11 -11
  345. package/dist/esm/kol-tooltip-wc.entry.js +4 -4
  346. package/dist/esm/kol-tree-item.entry.js +9 -9
  347. package/dist/esm/kol-tree.entry.js +1 -1
  348. package/dist/esm/kol-version.entry.js +9 -9
  349. package/dist/esm/kolibri.js +3 -3
  350. package/dist/esm/loader.js +3 -3
  351. package/dist/esm/{resolve-props-USwvESw_.js → resolve-props-D0-62io3.js} +3 -3
  352. package/dist/{kolibri/resolve-props-USwvESw_.js.map → esm/resolve-props-D0-62io3.js.map} +1 -1
  353. package/dist/esm/{scroll-lock-CKJqGGmP.js → scroll-lock-DYMGa60u.js} +3 -3
  354. package/dist/{kolibri/scroll-lock-CKJqGGmP.js.map → esm/scroll-lock-DYMGa60u.js.map} +1 -1
  355. package/dist/esm/{suggestions-PclKnJ2U.js → suggestions-Cm-RWrWm.js} +4 -4
  356. package/dist/esm/{suggestions-PclKnJ2U.js.map → suggestions-Cm-RWrWm.js.map} +1 -1
  357. package/dist/esm/test-component.entry.js +1 -1
  358. package/dist/esm/{toggle-handler-BIUmTJk5.js → toggle-handler-D5L4pnQ5.js} +5 -5
  359. package/dist/esm/{toggle-handler-BIUmTJk5.js.map → toggle-handler-D5L4pnQ5.js.map} +1 -1
  360. package/dist/kolibri/Heading-DAPZwXCt.js +5 -0
  361. package/dist/kolibri/{Heading-D2EH5Vz9.js.map → Heading-DAPZwXCt.js.map} +1 -1
  362. package/dist/kolibri/api-DueenSkb.js +5 -0
  363. package/dist/{esm/api-DScxu3ou.js.map → kolibri/api-DueenSkb.js.map} +1 -1
  364. package/dist/kolibri/api-zFp24D1x.js +5 -0
  365. package/dist/kolibri/{api-CN_pBHgH.js.map → api-zFp24D1x.js.map} +1 -1
  366. package/dist/kolibri/app-globals-CYRfyhVc.js +5 -0
  367. package/dist/kolibri/{app-globals-CddJRb3M.js.map → app-globals-CYRfyhVc.js.map} +1 -1
  368. package/dist/kolibri/{base-DHBpPWDW.js → base-AvIGo8Mp.js} +2 -2
  369. package/dist/{esm/base-DHBpPWDW.js.map → kolibri/base-AvIGo8Mp.js.map} +1 -1
  370. package/dist/kolibri/{base-B4XSDJBd.js → base-BU2iT3jv.js} +2 -2
  371. package/dist/{esm/base-B4XSDJBd.js.map → kolibri/base-BU2iT3jv.js.map} +1 -1
  372. package/dist/kolibri/{base-DFtj5G32.js → base-BUu1gNpy.js} +2 -2
  373. package/dist/{esm/base-DFtj5G32.js.map → kolibri/base-BUu1gNpy.js.map} +1 -1
  374. package/dist/kolibri/base-CjlYs5Fb.js +5 -0
  375. package/dist/{esm/base-Jvi_AWqL.js.map → kolibri/base-CjlYs5Fb.js.map} +1 -1
  376. package/dist/kolibri/{base-web-component-D_VU8SGY.js → base-web-component-BEf83bnu.js} +2 -2
  377. package/dist/kolibri/{base-web-component-D_VU8SGY.js.map → base-web-component-BEf83bnu.js.map} +1 -1
  378. package/dist/kolibri/{base-web-component-t9oDjRt3.js → base-web-component-C2q-dSOg.js} +2 -2
  379. package/dist/kolibri/{base-web-component-t9oDjRt3.js.map → base-web-component-C2q-dSOg.js.map} +1 -1
  380. package/dist/kolibri/{behavior-Dpui_R-v.js → behavior-DCpLHoHs.js} +2 -2
  381. package/dist/{esm/behavior-Dpui_R-v.js.map → kolibri/behavior-DCpLHoHs.js.map} +1 -1
  382. package/dist/kolibri/{component-DSKwp72M.js → component-9XV7ykPK.js} +2 -2
  383. package/dist/{esm/component-DSKwp72M.js.map → kolibri/component-9XV7ykPK.js.map} +1 -1
  384. package/dist/kolibri/{component-BauANlCU.js → component-B5MUeex-.js} +2 -2
  385. package/dist/{esm/component-BauANlCU.js.map → kolibri/component-B5MUeex-.js.map} +1 -1
  386. package/dist/kolibri/component-BR-6tKab.js +5 -0
  387. package/dist/kolibri/{component-B5OmtChm.js.map → component-BR-6tKab.js.map} +1 -1
  388. package/dist/kolibri/{component-ArZwqu6c.js → component-Bj13sPTL.js} +2 -2
  389. package/dist/kolibri/{component-ArZwqu6c.js.map → component-Bj13sPTL.js.map} +1 -1
  390. package/dist/kolibri/component-BrOA7gRZ.js +5 -0
  391. package/dist/kolibri/{component-DWiKUdpa.js.map → component-BrOA7gRZ.js.map} +1 -1
  392. package/dist/kolibri/component-CQJ_jIZm.js +5 -0
  393. package/dist/kolibri/{component-CoN6ZwTo.js.map → component-CQJ_jIZm.js.map} +1 -1
  394. package/dist/kolibri/component-Cqcw7JSO.js +5 -0
  395. package/dist/{esm/component-D6Z14V5i.js.map → kolibri/component-Cqcw7JSO.js.map} +1 -1
  396. package/dist/kolibri/component-Cy_xOMLd.js +5 -0
  397. package/dist/kolibri/{component-GqGXpjMZ.js.map → component-Cy_xOMLd.js.map} +1 -1
  398. package/dist/kolibri/component-DCK-2RQ3.js +5 -0
  399. package/dist/kolibri/{component-6cLprNJZ.js.map → component-DCK-2RQ3.js.map} +1 -1
  400. package/dist/kolibri/{component-D0Coq_zE.js → component-DRUoRfdO.js} +2 -2
  401. package/dist/{esm/component-D0Coq_zE.js.map → kolibri/component-DRUoRfdO.js.map} +1 -1
  402. package/dist/kolibri/{component-DbsunX7x.js → component-D_xOkOl6.js} +2 -2
  403. package/dist/{esm/component-DbsunX7x.js.map → kolibri/component-D_xOkOl6.js.map} +1 -1
  404. package/dist/kolibri/{component-CChFD3b2.js → component-Droc76Vh.js} +2 -2
  405. package/dist/{esm/component-CChFD3b2.js.map → kolibri/component-Droc76Vh.js.map} +1 -1
  406. package/dist/kolibri/dev.utils-CWEYl26B.js +5 -0
  407. package/dist/{esm/dev.utils-DVPKJwhh.js.map → kolibri/dev.utils-CWEYl26B.js.map} +1 -1
  408. package/dist/kolibri/{devtools-Ctvg6SnM.js → devtools-BfiT_Mej.js} +2 -2
  409. package/dist/{esm/devtools-Ctvg6SnM.js.map → kolibri/devtools-BfiT_Mej.js.map} +1 -1
  410. package/dist/kolibri/field-control-BvFIxA5C.js +5 -0
  411. package/dist/{esm/field-control-CJ-9C7AK.js.map → kolibri/field-control-BvFIxA5C.js.map} +1 -1
  412. package/dist/kolibri/{group-6LOQ2Eed.js → group-DzNZiu3R.js} +2 -2
  413. package/dist/kolibri/{group-6LOQ2Eed.js.map → group-DzNZiu3R.js.map} +1 -1
  414. package/dist/kolibri/{index-BtYjJomD.js → index-CyLMYdnq.js} +2 -2
  415. package/dist/{esm/index-BtYjJomD.js.map → kolibri/index-CyLMYdnq.js.map} +1 -1
  416. package/dist/kolibri/input-C55z9I-y.js +5 -0
  417. package/dist/kolibri/{input-DispvARh.js.map → input-C55z9I-y.js.map} +1 -1
  418. package/dist/kolibri/{input-container-CVU5Y0-o.js → input-container-28E-ib9E.js} +2 -2
  419. package/dist/{esm/input-container-CVU5Y0-o.js.map → kolibri/input-container-28E-ib9E.js.map} +1 -1
  420. package/dist/kolibri/item-Bwz4OUrI.js +5 -0
  421. package/dist/kolibri/{item-BShglo-p.js.map → item-Bwz4OUrI.js.map} +1 -1
  422. package/dist/kolibri/item-CuhPkC8A.js +5 -0
  423. package/dist/kolibri/{item-CD8r4zxe.js.map → item-CuhPkC8A.js.map} +1 -1
  424. package/dist/kolibri/{item-Cj7w26xK.js → item-HQBfKHr0.js} +2 -2
  425. package/dist/kolibri/{item-Cj7w26xK.js.map → item-HQBfKHr0.js.map} +1 -1
  426. package/dist/kolibri/item-aP2OcbwT.js +5 -0
  427. package/dist/kolibri/{item-CIIV_ncI.js.map → item-aP2OcbwT.js.map} +1 -1
  428. package/dist/kolibri/kol-abbr.entry.js +1 -1
  429. package/dist/kolibri/kol-accordion.entry.js +1 -1
  430. package/dist/kolibri/kol-alert.entry.js +1 -1
  431. package/dist/kolibri/kol-avatar.entry.js +1 -1
  432. package/dist/kolibri/kol-badge.entry.js +1 -1
  433. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  434. package/dist/kolibri/kol-button-link.entry.js +1 -1
  435. package/dist/kolibri/kol-button.entry.js +1 -1
  436. package/dist/kolibri/kol-card.entry.js +1 -1
  437. package/dist/kolibri/kol-click-button.entry.js +1 -1
  438. package/dist/kolibri/kol-combobox.entry.js +1 -1
  439. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  440. package/dist/kolibri/kol-details.entry.js +1 -1
  441. package/dist/kolibri/kol-dialog.entry.js +1 -1
  442. package/dist/kolibri/kol-drawer.entry.js +1 -1
  443. package/dist/kolibri/kol-form.entry.js +1 -1
  444. package/dist/kolibri/kol-heading.entry.js +1 -1
  445. package/dist/kolibri/kol-icon.entry.js +1 -1
  446. package/dist/kolibri/kol-image.entry.js +1 -1
  447. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  448. package/dist/kolibri/kol-input-color.entry.js +1 -1
  449. package/dist/kolibri/kol-input-date.entry.js +1 -1
  450. package/dist/kolibri/kol-input-email.entry.js +1 -1
  451. package/dist/kolibri/kol-input-file.entry.js +1 -1
  452. package/dist/kolibri/kol-input-number.entry.js +1 -1
  453. package/dist/kolibri/kol-input-password.entry.js +1 -1
  454. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  455. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  456. package/dist/kolibri/kol-input-range.entry.js +1 -1
  457. package/dist/kolibri/kol-input-text.entry.js +1 -1
  458. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  459. package/dist/kolibri/kol-link-button.entry.js +1 -1
  460. package/dist/kolibri/kol-link.entry.js +1 -1
  461. package/dist/kolibri/kol-meter.entry.js +1 -1
  462. package/dist/kolibri/kol-modal.entry.js +1 -1
  463. package/dist/kolibri/kol-nav.entry.js +1 -1
  464. package/dist/kolibri/kol-pagination.entry.js +1 -1
  465. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  466. package/dist/kolibri/kol-progress.entry.js +1 -1
  467. package/dist/kolibri/kol-quote.entry.js +1 -1
  468. package/dist/kolibri/kol-select.entry.js +1 -1
  469. package/dist/kolibri/kol-single-select.entry.js +1 -1
  470. package/dist/kolibri/kol-single-select.entry.js.map +1 -1
  471. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  472. package/dist/kolibri/kol-skeleton.entry.js.map +1 -1
  473. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  474. package/dist/kolibri/kol-spin.entry.js +1 -1
  475. package/dist/kolibri/kol-split-button.entry.js +1 -1
  476. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  477. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  478. package/dist/kolibri/kol-tabs.entry.esm.js.map +1 -1
  479. package/dist/kolibri/kol-tabs.entry.js +1 -1
  480. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  481. package/dist/kolibri/kol-textarea.entry.js +1 -1
  482. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  483. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  484. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  485. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  486. package/dist/kolibri/kol-tree.entry.js +1 -1
  487. package/dist/kolibri/kol-version.entry.js +1 -1
  488. package/dist/kolibri/kolibri.esm.js +1 -1
  489. package/dist/kolibri/resolve-props-D0-62io3.js +5 -0
  490. package/dist/{esm/resolve-props-USwvESw_.js.map → kolibri/resolve-props-D0-62io3.js.map} +1 -1
  491. package/dist/kolibri/{scroll-lock-CKJqGGmP.js → scroll-lock-DYMGa60u.js} +2 -2
  492. package/dist/{esm/scroll-lock-CKJqGGmP.js.map → kolibri/scroll-lock-DYMGa60u.js.map} +1 -1
  493. package/dist/kolibri/{suggestions-PclKnJ2U.js → suggestions-Cm-RWrWm.js} +2 -2
  494. package/dist/kolibri/{suggestions-PclKnJ2U.js.map → suggestions-Cm-RWrWm.js.map} +1 -1
  495. package/dist/kolibri/test-component.entry.js +1 -1
  496. package/dist/kolibri/{toggle-handler-BIUmTJk5.js → toggle-handler-D5L4pnQ5.js} +2 -2
  497. package/dist/kolibri/{toggle-handler-BIUmTJk5.js.map → toggle-handler-D5L4pnQ5.js.map} +1 -1
  498. package/package.json +4 -4
  499. package/dist/kolibri/Heading-D2EH5Vz9.js +0 -5
  500. package/dist/kolibri/api-CN_pBHgH.js +0 -5
  501. package/dist/kolibri/api-DScxu3ou.js +0 -5
  502. package/dist/kolibri/app-globals-CddJRb3M.js +0 -5
  503. package/dist/kolibri/base-Jvi_AWqL.js +0 -5
  504. package/dist/kolibri/component-6cLprNJZ.js +0 -5
  505. package/dist/kolibri/component-B5OmtChm.js +0 -5
  506. package/dist/kolibri/component-CoN6ZwTo.js +0 -5
  507. package/dist/kolibri/component-D6Z14V5i.js +0 -5
  508. package/dist/kolibri/component-DWiKUdpa.js +0 -5
  509. package/dist/kolibri/component-GqGXpjMZ.js +0 -5
  510. package/dist/kolibri/dev.utils-DVPKJwhh.js +0 -5
  511. package/dist/kolibri/field-control-CJ-9C7AK.js +0 -5
  512. package/dist/kolibri/input-DispvARh.js +0 -5
  513. package/dist/kolibri/item-BShglo-p.js +0 -5
  514. package/dist/kolibri/item-CD8r4zxe.js +0 -5
  515. package/dist/kolibri/item-CIIV_ncI.js +0 -5
  516. package/dist/kolibri/resolve-props-USwvESw_.js +0 -5
@@ -23,30 +23,18 @@ export class KolTabs extends BaseWebComponent {
23
23
  this.createButtonItem = createTabsButtonItem();
24
24
  this.nextPossibleTabIndex = (tabs, offset, step = 1) => {
25
25
  const nextOffset = offset + step;
26
- if (nextOffset < tabs.length) {
27
- if (tabs[nextOffset]._disabled) {
28
- return this.nextPossibleTabIndex(tabs, offset, step + 1);
29
- }
30
- return nextOffset;
31
- }
32
- return offset;
26
+ return this.selectNextNotDisabledTab(nextOffset, tabs, true);
33
27
  };
34
28
  this.prevPossibleTabIndex = (tabs, offset, step = 1) => {
35
29
  const nextOffset = offset - step;
36
- if (nextOffset >= 0) {
37
- if (tabs[nextOffset]._disabled) {
38
- return this.prevPossibleTabIndex(tabs, offset, step + 1);
39
- }
40
- return nextOffset;
41
- }
42
- return offset;
30
+ return this.selectNextNotDisabledTab(nextOffset, tabs, false);
43
31
  };
44
32
  this.selectNextNotDisabledTab = (selected, tabs, upOrDown = true, initialSelected) => {
45
33
  if (selected > tabs.length - 1) {
46
- selected = tabs.length - 1;
34
+ selected = 0;
47
35
  }
48
36
  if (selected < 0) {
49
- selected = 0;
37
+ selected = tabs.length - 1;
50
38
  }
51
39
  if (Array.isArray(tabs) && tabs[selected]) {
52
40
  if (tabs[selected]._disabled) {
@@ -267,7 +255,7 @@ export class KolTabs extends BaseWebComponent {
267
255
  }, this.host);
268
256
  }
269
257
  render() {
270
- return (h(Host, { key: '6c74d6f12e9405328c75302a1fb0a03c2e3ef61f' }, h(TabsFC, { key: 'd63e3067ffa5d0726673a38e7224fe058f1732ee', align: this.getRenderProp('align'), behavior: this.getRenderProp('behavior'), createButton: this.createButton, handleBlur: this.handleBlur, handleKeyDown: this.handleKeyDown, hasCreateButton: this.getRenderProp('hasCreateButton'), label: this.getRenderProp('label'), on: this.getRenderProp('on'), refContent: this.setContentRef, refRoot: this.setRootRef, selected: this.getRenderProp('selected'), tabButtons: this.tabButtons, tabs: this.getRenderProp('tabs') })));
258
+ return (h(Host, { key: 'd818c82612d4d04df61bee406855c130b6dff407' }, h(TabsFC, { key: 'd812f905e015583f3cef8e55faa4327bf8e5038c', align: this.getRenderProp('align'), behavior: this.getRenderProp('behavior'), createButton: this.createButton, handleBlur: this.handleBlur, handleKeyDown: this.handleKeyDown, hasCreateButton: this.getRenderProp('hasCreateButton'), label: this.getRenderProp('label'), on: this.getRenderProp('on'), refContent: this.setContentRef, refRoot: this.setRootRef, selected: this.getRenderProp('selected'), tabButtons: this.tabButtons, tabs: this.getRenderProp('tabs') })));
271
259
  }
272
260
  watchAlign(value) {
273
261
  alignProp.apply(value, (v) => this.setRenderProp('align', v));
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/tabs/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Method, Prop, 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 { TabsApi } from '../../internal/functional-components/tabs/api';\nimport { tabsPropsConfig } from '../../internal/functional-components/tabs/api';\nimport type { TabsButton, TabsButtonItem } from '../../internal/functional-components/tabs/button-item';\nimport { createTabsButtonItem } from '../../internal/functional-components/tabs/button-item';\nimport { TabsFC } from '../../internal/functional-components/tabs/component';\nimport { alignProp, hasCreateButtonProp, labelWithExpertSlotProp, selectedProp, tabBehaviorProp, tabsCallbacksProp, tabsProp } from '../../internal/props';\nimport type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tClickableElement,\n\tFocusableElement,\n\tKolFocusOptions,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsProps,\n} from '../../schema';\nimport { devHint, koliBriQuerySelector } from '../../schema';\n\nimport { translate } from '../../i18n';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { createUniqueId } from '../../utils/dev.utils';\nimport { createCtaRef, delegateClick, delegateFocus } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n/**\n * The **Tabs** component is used to organize related content on the same page and navigate between them. Tabs ensure that large amounts of content can be more easily organized for users.\n */\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs extends BaseWebComponent<TabsApi> implements ClickableElement, FocusableElement, TabsProps, WebComponentInterface<TabsApi> {\n\t@Element() protected readonly host?: HTMLKolTabsElement;\n\n\tprivate rootElement?: HTMLDivElement;\n\tprivate tabPanelHost?: HTMLDivElement;\n\tprivate readonly onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\n\t/** Points at the button of the selected tab; `focus()` and `click()` delegate to it. */\n\tprotected readonly ctaRef = createCtaRef<HTMLButtonElement>();\n\n\t/**\n\t * Instance-unique prefix for all tab button and tabpanel ids (`id`, `aria-controls`,\n\t * `aria-labelledby`, `focusTabById` selector). Must not be derived from `_label`:\n\t * label characters (e.g. commas, which split CSS selector lists) would break the\n\t * `button#...` lookup, and identical labels on multiple `<kol-tabs>` would collide.\n\t */\n\tprivate readonly id = createUniqueId('tabs');\n\n\t/** One orchestrated button per tab, rebuilt whenever `_tabs` changes. */\n\tprivate tabButtonItems: TabsButtonItem[] = [];\n\tprivate readonly createButtonItem = createTabsButtonItem();\n\n\t// --- Lifecycle ---\n\n\tpublic componentWillLoad(): void {\n\t\tthis.initRenderProps(tabsPropsConfig);\n\t\talignProp.apply(this._align, (v) => this.setRenderProp('align', v));\n\t\ttabBehaviorProp.apply(this._behavior, (v) => this.setRenderProp('behavior', v));\n\t\thasCreateButtonProp.apply(this._hasCreateButton, (v) => this.setRenderProp('hasCreateButton', v));\n\t\tlabelWithExpertSlotProp.apply(this._label, (v) => this.setRenderProp('label', v));\n\t\ttabsCallbacksProp.apply(this._on, (v) => this.setRenderProp('on', v));\n\t\tthis.applySelected(this._selected);\n\t\tthis.applyTabs(this._tabs);\n\t}\n\n\tpublic componentWillRender(): void {\n\t\tthis.resolveButtons();\n\t}\n\n\tpublic componentDidRender(): void {\n\t\tthis.ctaRef(this.tabButtonItems[this.getRenderProp('selected')]?.getButtonElement());\n\t\tthis.tabButtonItems.forEach((item) => item.syncListeners());\n\t\tthis.createButtonItem.syncListeners();\n\t\tthis.refreshTabPanels();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.tabButtonItems.forEach((item) => item.destroy());\n\t\tthis.createButtonItem.destroy();\n\t}\n\n\t// --- Public methods ---\n\n\t/**\n\t * Sets focus on the current tab button.\n\t */\n\t@Method()\n\t@delegateFocus('ctaRef')\n\t// @ts-expect-error: options parameter will be implemented by the decorator.\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {}\n\n\t/**\n\t * Triggers a click on the currently selected tab.\n\t */\n\t@Method()\n\t@delegateClick('ctaRef')\n\tpublic async click(): Promise<void> {}\n\n\t// --- Selection ---\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\n\t\tif (nextOffset < tabs.length) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.nextPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\n\t\tif (nextOffset >= 0) {\n\t\t\tif (tabs[nextOffset]._disabled) {\n\t\t\t\treturn this.prevPossibleTabIndex(tabs, offset, step + 1);\n\t\t\t}\n\t\t\treturn nextOffset;\n\t\t}\n\n\t\treturn offset;\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\t/**\n\t * Moves the selection off a disabled or out-of-range tab. Runs after `_selected` and after\n\t * `_tabs`, because the result depends on both.\n\t */\n\tprivate syncSelected(): void {\n\t\tconst tabs = this.getRenderProp('tabs');\n\t\tif (tabs.length > 0) {\n\t\t\tthis.setRenderProp('selected', this.selectNextNotDisabledTab(this.getRenderProp('selected'), tabs));\n\t\t}\n\t}\n\n\t// --- Event handling ---\n\n\tprivate readonly handleKeyDown = (event: KeyboardEvent): void => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate readonly handleBlur = (): void => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.getRenderProp('selected');\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this.getRenderProp('behavior') === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.getRenderProp('tabs'), this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.getRenderProp('tabs'), this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.getRenderProp('tabs')[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly tabButtonCallbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.rootElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.id}-tab-${index}`, this.rootElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis.getRenderProp('on').onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate readonly onCreate = (event: Event): void => {\n\t\tevent.preventDefault();\n\t\tthis.getRenderProp('on').onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\t// --- Tab panels ---\n\n\tprivate readonly setRootRef = (element?: HTMLDivElement): void => {\n\t\tthis.rootElement = element;\n\t};\n\n\tprivate readonly setContentRef = (element?: HTMLDivElement): void => {\n\t\tthis.tabPanelHost = element;\n\t};\n\n\t/**\n\t * Recreates one panel per tab. Each panel projects the light-DOM child with the same index\n\t * through a named slot, which is why the panels are built imperatively rather than rendered.\n\t */\n\tprivate refreshTabPanels(): void {\n\t\tif (!this.tabPanelHost) return;\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tconst tabs = this.getRenderProp('tabs');\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.id}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `${this.id}-panel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\t// Panels are not tabbable, see https://github.com/public-ui/kolibri/issues/10082\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t}\n\n\tprivate updateVisiblePanel(): void {\n\t\tif (!this.tabPanelHost) return;\n\t\tconst selected = this.getRenderProp('selected');\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t}\n\n\t// --- Render ---\n\n\t/**\n\t * Resolves the embedded buttons against the current selection. The props are the ones the\n\t * predecessor handed its `kol-button-wc` elements.\n\t */\n\tprivate resolveButtons(): void {\n\t\tconst selected = this.getRenderProp('selected');\n\t\tconst tabs = this.getRenderProp('tabs');\n\n\t\tthis.tabButtons = this.tabButtonItems.map((item, index) => {\n\t\t\tconst tab = tabs[index];\n\t\t\tconst isSelected = selected === index;\n\t\t\treturn item.getButton(\n\t\t\t\t{\n\t\t\t\t\t_ariaControls: `${this.id}-panel-${index}`,\n\t\t\t\t\t_ariaSelected: isSelected,\n\t\t\t\t\t_customClass: isSelected ? 'selected' : '',\n\t\t\t\t\t_disabled: tab._disabled,\n\t\t\t\t\t_hideLabel: tab._hideLabel,\n\t\t\t\t\t_icons: tab._icons,\n\t\t\t\t\t_id: `${this.id}-tab-${index}`,\n\t\t\t\t\t_label: tab._label, // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t_on: this.tabButtonCallbacks as ButtonCallbacksPropType<StencilUnknown>,\n\t\t\t\t\t_role: 'tab',\n\t\t\t\t\t_tabIndex: isSelected ? 0 : -1,\n\t\t\t\t\t_tooltipAlign: tab._tooltipAlign,\n\t\t\t\t\t_value: index,\n\t\t\t\t\t_variant: isSelected ? 'custom' : undefined,\n\t\t\t\t},\n\t\t\t\tthis.host,\n\t\t\t);\n\t\t});\n\n\t\tthis.createButton = this.createButtonItem.getButton(\n\t\t\t{\n\t\t\t\t_icons: 'kolicon-plus',\n\t\t\t\t_label: this.onCreateLabel,\n\t\t\t\t_on: { onClick: this.onCreate },\n\t\t\t},\n\t\t\tthis.host,\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<TabsFC\n\t\t\t\t\talign={this.getRenderProp('align')}\n\t\t\t\t\tbehavior={this.getRenderProp('behavior')}\n\t\t\t\t\tcreateButton={this.createButton}\n\t\t\t\t\thandleBlur={this.handleBlur}\n\t\t\t\t\thandleKeyDown={this.handleKeyDown}\n\t\t\t\t\thasCreateButton={this.getRenderProp('hasCreateButton')}\n\t\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\t\ton={this.getRenderProp('on')}\n\t\t\t\t\trefContent={this.setContentRef}\n\t\t\t\t\trefRoot={this.setRootRef}\n\t\t\t\t\tselected={this.getRenderProp('selected')}\n\t\t\t\t\ttabButtons={this.tabButtons}\n\t\t\t\t\ttabs={this.getRenderProp('tabs')}\n\t\t\t\t/>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t// --- Resolved per render pass (see `resolveButtons`) ---\n\n\t/**\n\t * Deliberately not `@State`: both are derived from props in `componentWillRender`, so a prop\n\t * change already schedules the render that refreshes them.\n\t */\n\tpublic createButton!: TabsButton;\n\tpublic tabButtons: TabsButton[] = [];\n\n\t// --- Props + Watchers ---\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\t@Watch('_align')\n\tpublic watchAlign(value?: AlignPropType): void {\n\t\talignProp.apply(value, (v) => this.setRenderProp('align', v));\n\t}\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\t@Watch('_behavior')\n\tpublic watchBehavior(value?: TabBehaviorPropType): void {\n\t\ttabBehaviorProp.apply(value, (v) => this.setRenderProp('behavior', v));\n\t}\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\t@Watch('_hasCreateButton')\n\tpublic watchHasCreateButton(value?: HasCreateButtonPropType): void {\n\t\thasCreateButtonProp.apply(value, (v) => this.setRenderProp('hasCreateButton', v));\n\t}\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!: LabelPropType;\n\t@Watch('_label')\n\tpublic watchLabel(value?: LabelPropType): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => this.setRenderProp('label', v));\n\t}\n\n\t/**\n\t * Defines the callback functions for tabs events.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\t@Watch('_on')\n\tpublic watchOn(value?: KoliBriTabsCallbacks): void {\n\t\ttabsCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\t@Watch('_selected')\n\tpublic watchSelected(value?: number): void {\n\t\tthis.applySelected(value);\n\t}\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\t@Watch('_tabs')\n\tpublic watchTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\tthis.applyTabs(value);\n\t}\n\n\tprivate applySelected(value?: number): void {\n\t\tselectedProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('selected', v);\n\t\t\tthis.syncSelected();\n\t\t});\n\t}\n\n\tprivate applyTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\ttabsProp.apply(value, (tabs) => {\n\t\t\tthis.setRenderProp('tabs', tabs);\n\t\t\tthis.tabButtonItems.forEach((item) => item.destroy());\n\t\t\tthis.tabButtonItems = tabs.map(() => createTabsButtonItem());\n\t\t\tthis.syncSelected();\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../src/components/tabs/component.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Method, Prop, 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 { TabsApi } from '../../internal/functional-components/tabs/api';\nimport { tabsPropsConfig } from '../../internal/functional-components/tabs/api';\nimport type { TabsButton, TabsButtonItem } from '../../internal/functional-components/tabs/button-item';\nimport { createTabsButtonItem } from '../../internal/functional-components/tabs/button-item';\nimport { TabsFC } from '../../internal/functional-components/tabs/component';\nimport { alignProp, hasCreateButtonProp, labelWithExpertSlotProp, selectedProp, tabBehaviorProp, tabsCallbacksProp, tabsProp } from '../../internal/props';\nimport type {\n\tAlignPropType,\n\tButtonCallbacksPropType,\n\tClickableElement,\n\tFocusableElement,\n\tKolFocusOptions,\n\tKoliBriTabsCallbacks,\n\tLabelPropType,\n\tStencilUnknown,\n\tStringified,\n\tTabBehaviorPropType,\n\tTabButtonProps,\n\tTabsProps,\n} from '../../schema';\nimport { devHint, koliBriQuerySelector } from '../../schema';\n\nimport { translate } from '../../i18n';\nimport { KeyboardKey } from '../../schema/enums';\nimport type { HasCreateButtonPropType } from '../../schema/props/has-create-button';\nimport { createUniqueId } from '../../utils/dev.utils';\nimport { createCtaRef, delegateClick, delegateFocus } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n// https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-2/tabs.html\n\n/**\n * The **Tabs** component is used to organize related content on the same page and navigate between them. Tabs ensure that large amounts of content can be more easily organized for users.\n */\n@Component({\n\ttag: 'kol-tabs',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolTabs extends BaseWebComponent<TabsApi> implements ClickableElement, FocusableElement, TabsProps, WebComponentInterface<TabsApi> {\n\t@Element() protected readonly host?: HTMLKolTabsElement;\n\n\tprivate rootElement?: HTMLDivElement;\n\tprivate tabPanelHost?: HTMLDivElement;\n\tprivate readonly onCreateLabel = `${translate('kol-new')} …`;\n\tprivate currentFocusIndex: number | undefined;\n\n\t/** Points at the button of the selected tab; `focus()` and `click()` delegate to it. */\n\tprotected readonly ctaRef = createCtaRef<HTMLButtonElement>();\n\n\t/**\n\t * Instance-unique prefix for all tab button and tabpanel ids (`id`, `aria-controls`,\n\t * `aria-labelledby`, `focusTabById` selector). Must not be derived from `_label`:\n\t * label characters (e.g. commas, which split CSS selector lists) would break the\n\t * `button#...` lookup, and identical labels on multiple `<kol-tabs>` would collide.\n\t */\n\tprivate readonly id = createUniqueId('tabs');\n\n\t/** One orchestrated button per tab, rebuilt whenever `_tabs` changes. */\n\tprivate tabButtonItems: TabsButtonItem[] = [];\n\tprivate readonly createButtonItem = createTabsButtonItem();\n\n\t// --- Lifecycle ---\n\n\tpublic componentWillLoad(): void {\n\t\tthis.initRenderProps(tabsPropsConfig);\n\t\talignProp.apply(this._align, (v) => this.setRenderProp('align', v));\n\t\ttabBehaviorProp.apply(this._behavior, (v) => this.setRenderProp('behavior', v));\n\t\thasCreateButtonProp.apply(this._hasCreateButton, (v) => this.setRenderProp('hasCreateButton', v));\n\t\tlabelWithExpertSlotProp.apply(this._label, (v) => this.setRenderProp('label', v));\n\t\ttabsCallbacksProp.apply(this._on, (v) => this.setRenderProp('on', v));\n\t\tthis.applySelected(this._selected);\n\t\tthis.applyTabs(this._tabs);\n\t}\n\n\tpublic componentWillRender(): void {\n\t\tthis.resolveButtons();\n\t}\n\n\tpublic componentDidRender(): void {\n\t\tthis.ctaRef(this.tabButtonItems[this.getRenderProp('selected')]?.getButtonElement());\n\t\tthis.tabButtonItems.forEach((item) => item.syncListeners());\n\t\tthis.createButtonItem.syncListeners();\n\t\tthis.refreshTabPanels();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.tabButtonItems.forEach((item) => item.destroy());\n\t\tthis.createButtonItem.destroy();\n\t}\n\n\t// --- Public methods ---\n\n\t/**\n\t * Sets focus on the current tab button.\n\t */\n\t@Method()\n\t@delegateFocus('ctaRef')\n\t// @ts-expect-error: options parameter will be implemented by the decorator.\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic async focus(options?: KolFocusOptions): Promise<void> {}\n\n\t/**\n\t * Triggers a click on the currently selected tab.\n\t */\n\t@Method()\n\t@delegateClick('ctaRef')\n\tpublic async click(): Promise<void> {}\n\n\t// --- Selection ---\n\n\tprivate nextPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset + step;\n\t\treturn this.selectNextNotDisabledTab(nextOffset, tabs, true);\n\t};\n\n\tprivate prevPossibleTabIndex = (tabs: TabButtonProps[], offset: number, step = 1): number => {\n\t\tconst nextOffset = offset - step;\n\t\treturn this.selectNextNotDisabledTab(nextOffset, tabs, false);\n\t};\n\n\tprivate selectNextNotDisabledTab = (selected: number, tabs: TabButtonProps[], upOrDown = true, initialSelected?: number): number => {\n\t\tif (selected > tabs.length - 1) {\n\t\t\tselected = 0;\n\t\t}\n\t\tif (selected < 0) {\n\t\t\tselected = tabs.length - 1;\n\t\t}\n\n\t\tif (Array.isArray(tabs) && tabs[selected]) {\n\t\t\tif (tabs[selected]._disabled) {\n\t\t\t\tif (upOrDown === true) {\n\t\t\t\t\tif (selected < tabs.length - 1) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected + 1, tabs, true, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tselected = initialSelected || selected;\n\t\t\t\t\t\tupOrDown = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (upOrDown === false) {\n\t\t\t\t\tif (selected > 0) {\n\t\t\t\t\t\treturn this.selectNextNotDisabledTab(selected - 1, tabs, false, initialSelected || selected);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdevHint(`[KolTabs] All tabs are disabled, and therefore no tab can be displayed.`);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn selected;\n\t};\n\n\t/**\n\t * Moves the selection off a disabled or out-of-range tab. Runs after `_selected` and after\n\t * `_tabs`, because the result depends on both.\n\t */\n\tprivate syncSelected(): void {\n\t\tconst tabs = this.getRenderProp('tabs');\n\t\tif (tabs.length > 0) {\n\t\t\tthis.setRenderProp('selected', this.selectNextNotDisabledTab(this.getRenderProp('selected'), tabs));\n\t\t}\n\t}\n\n\t// --- Event handling ---\n\n\tprivate readonly handleKeyDown = (event: KeyboardEvent): void => {\n\t\tswitch (event.key as KeyboardKey) {\n\t\t\tcase KeyboardKey.ArrowRight:\n\t\t\t\tthis.goToNextTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.ArrowLeft:\n\t\t\t\tthis.goToPreviousTab(event);\n\t\t\t\tbreak;\n\t\t\tcase KeyboardKey.Space:\n\t\t\tcase KeyboardKey.Enter:\n\t\t\t\tthis.activateFocusedTab(event);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tprivate readonly handleBlur = (): void => {\n\t\tthis.currentFocusIndex = undefined;\n\t};\n\n\tprivate getCurrentFocusIndex(): number {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\treturn this.currentFocusIndex;\n\t\t}\n\n\t\treturn this.getRenderProp('selected');\n\t}\n\n\tprivate getKeyboardTabChangeMode(): 'selectFocusOnly' | 'activateCompletely' {\n\t\tif (this.getRenderProp('behavior') === 'select-manual') {\n\t\t\treturn 'selectFocusOnly';\n\t\t}\n\n\t\treturn 'activateCompletely';\n\t}\n\n\tprivate goToNextTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.nextPossibleTabIndex(this.getRenderProp('tabs'), this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate goToPreviousTab(event: KeyboardEvent) {\n\t\tconst nextFocusIndex = this.prevPossibleTabIndex(this.getRenderProp('tabs'), this.getCurrentFocusIndex());\n\t\tthis.selectNextTabEvent(event, nextFocusIndex, this.getKeyboardTabChangeMode());\n\t}\n\n\tprivate activateFocusedTab(event: KeyboardEvent) {\n\t\tif (typeof this.currentFocusIndex === 'number') {\n\t\t\tthis.onSelect(event, this.currentFocusIndex);\n\t\t}\n\t}\n\n\tprivate readonly onClickSelect = (event: MouseEvent, index: number): void => {\n\t\tthis.selectNextTabEvent(event, index);\n\t};\n\n\tprivate selectNextTabEvent(\n\t\tevent: KeyboardEvent | MouseEvent,\n\t\tnextTabIndex: number,\n\t\tchangeMode: 'selectFocusOnly' | 'activateCompletely' = 'activateCompletely',\n\t): void {\n\t\tthis.currentFocusIndex = nextTabIndex;\n\n\t\tthis.focusTabById(nextTabIndex);\n\n\t\tif (changeMode === 'activateCompletely') {\n\t\t\tthis._selected = nextTabIndex;\n\n\t\t\tconst tab = this.getRenderProp('tabs')[nextTabIndex];\n\t\t\ttab._on?.onSelect?.(event, nextTabIndex);\n\n\t\t\tthis.onSelect(event, nextTabIndex);\n\t\t}\n\t}\n\n\tprivate readonly onMouseDown = (event: Event): void => {\n\t\tevent.preventDefault();\n\t};\n\n\tprivate readonly tabButtonCallbacks: ButtonCallbacksPropType<number> = {\n\t\tonClick: this.onClickSelect,\n\t\tonMouseDown: this.onMouseDown,\n\t};\n\n\tprivate focusTabById(index: number): void {\n\t\tif (this.rootElement /* SSR instanceof HTMLElement */) {\n\t\t\tconst button: HTMLElement | null = koliBriQuerySelector(`button#${this.id}-tab-${index}`, this.rootElement);\n\t\t\tbutton?.focus();\n\t\t}\n\t}\n\n\tprivate onSelect(event: CustomEvent | KeyboardEvent | MouseEvent | PointerEvent, index: number): void {\n\t\tthis.getRenderProp('on').onSelect?.(event, index);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.select, index);\n\t\t}\n\n\t\tthis.focusTabById(index);\n\t}\n\n\tprivate readonly onCreate = (event: Event): void => {\n\t\tevent.preventDefault();\n\t\tthis.getRenderProp('on').onCreate?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.create);\n\t\t}\n\t};\n\n\t// --- Tab panels ---\n\n\tprivate readonly setRootRef = (element?: HTMLDivElement): void => {\n\t\tthis.rootElement = element;\n\t};\n\n\tprivate readonly setContentRef = (element?: HTMLDivElement): void => {\n\t\tthis.tabPanelHost = element;\n\t};\n\n\t/**\n\t * Recreates one panel per tab. Each panel projects the light-DOM child with the same index\n\t * through a named slot, which is why the panels are built imperatively rather than rendered.\n\t */\n\tprivate refreshTabPanels(): void {\n\t\tif (!this.tabPanelHost) return;\n\t\twhile (this.tabPanelHost.firstChild) {\n\t\t\tthis.tabPanelHost.removeChild(this.tabPanelHost.firstChild);\n\t\t}\n\t\tconst tabs = this.getRenderProp('tabs');\n\t\tfor (let i = 0; i < tabs.length; i++) {\n\t\t\tconst div = document.createElement('div');\n\t\t\tdiv.setAttribute('aria-labelledby', `${this.id}-tab-${i}`);\n\t\t\tdiv.setAttribute('id', `${this.id}-panel-${i}`);\n\t\t\tdiv.setAttribute('role', 'tabpanel');\n\t\t\tdiv.setAttribute('hidden', '');\n\t\t\t// Panels are not tabbable, see https://github.com/public-ui/kolibri/issues/10082\n\t\t\tconst slot = document.createElement('slot');\n\t\t\tslot.setAttribute('name', `tabpanel-slot-${i}`);\n\t\t\tdiv.appendChild(slot);\n\t\t\tthis.tabPanelHost.appendChild(div);\n\n\t\t\tif (typeof HTMLCollection !== 'undefined' && this.host?.children instanceof HTMLCollection && this.host?.children[i] /* SSR instanceof HTMLElement */) {\n\t\t\t\tthis.host.children[i].setAttribute('slot', `tabpanel-slot-${i}`);\n\t\t\t}\n\t\t}\n\t\tthis.updateVisiblePanel();\n\t}\n\n\tprivate updateVisiblePanel(): void {\n\t\tif (!this.tabPanelHost) return;\n\t\tconst selected = this.getRenderProp('selected');\n\t\tArray.from(this.tabPanelHost.children).forEach((child, i) => {\n\t\t\tif (i === selected) {\n\t\t\t\tchild.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tchild.setAttribute('hidden', '');\n\t\t\t}\n\t\t});\n\t}\n\n\t// --- Render ---\n\n\t/**\n\t * Resolves the embedded buttons against the current selection. The props are the ones the\n\t * predecessor handed its `kol-button-wc` elements.\n\t */\n\tprivate resolveButtons(): void {\n\t\tconst selected = this.getRenderProp('selected');\n\t\tconst tabs = this.getRenderProp('tabs');\n\n\t\tthis.tabButtons = this.tabButtonItems.map((item, index) => {\n\t\t\tconst tab = tabs[index];\n\t\t\tconst isSelected = selected === index;\n\t\t\treturn item.getButton(\n\t\t\t\t{\n\t\t\t\t\t_ariaControls: `${this.id}-panel-${index}`,\n\t\t\t\t\t_ariaSelected: isSelected,\n\t\t\t\t\t_customClass: isSelected ? 'selected' : '',\n\t\t\t\t\t_disabled: tab._disabled,\n\t\t\t\t\t_hideLabel: tab._hideLabel,\n\t\t\t\t\t_icons: tab._icons,\n\t\t\t\t\t_id: `${this.id}-tab-${index}`,\n\t\t\t\t\t_label: tab._label, // TODO: ariaLabel-Konzept prüfen\n\t\t\t\t\t_on: this.tabButtonCallbacks as ButtonCallbacksPropType<StencilUnknown>,\n\t\t\t\t\t_role: 'tab',\n\t\t\t\t\t_tabIndex: isSelected ? 0 : -1,\n\t\t\t\t\t_tooltipAlign: tab._tooltipAlign,\n\t\t\t\t\t_value: index,\n\t\t\t\t\t_variant: isSelected ? 'custom' : undefined,\n\t\t\t\t},\n\t\t\t\tthis.host,\n\t\t\t);\n\t\t});\n\n\t\tthis.createButton = this.createButtonItem.getButton(\n\t\t\t{\n\t\t\t\t_icons: 'kolicon-plus',\n\t\t\t\t_label: this.onCreateLabel,\n\t\t\t\t_on: { onClick: this.onCreate },\n\t\t\t},\n\t\t\tthis.host,\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<TabsFC\n\t\t\t\t\talign={this.getRenderProp('align')}\n\t\t\t\t\tbehavior={this.getRenderProp('behavior')}\n\t\t\t\t\tcreateButton={this.createButton}\n\t\t\t\t\thandleBlur={this.handleBlur}\n\t\t\t\t\thandleKeyDown={this.handleKeyDown}\n\t\t\t\t\thasCreateButton={this.getRenderProp('hasCreateButton')}\n\t\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\t\ton={this.getRenderProp('on')}\n\t\t\t\t\trefContent={this.setContentRef}\n\t\t\t\t\trefRoot={this.setRootRef}\n\t\t\t\t\tselected={this.getRenderProp('selected')}\n\t\t\t\t\ttabButtons={this.tabButtons}\n\t\t\t\t\ttabs={this.getRenderProp('tabs')}\n\t\t\t\t/>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t// --- Resolved per render pass (see `resolveButtons`) ---\n\n\t/**\n\t * Deliberately not `@State`: both are derived from props in `componentWillRender`, so a prop\n\t * change already schedules the render that refreshes them.\n\t */\n\tpublic createButton!: TabsButton;\n\tpublic tabButtons: TabsButton[] = [];\n\n\t// --- Props + Watchers ---\n\n\t/**\n\t * Defines the visual orientation of the component.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\t@Watch('_align')\n\tpublic watchAlign(value?: AlignPropType): void {\n\t\talignProp.apply(value, (v) => this.setRenderProp('align', v));\n\t}\n\n\t/**\n\t * Defines which behavior is active.\n\t */\n\t@Prop() public _behavior?: TabBehaviorPropType;\n\t@Watch('_behavior')\n\tpublic watchBehavior(value?: TabBehaviorPropType): void {\n\t\ttabBehaviorProp.apply(value, (v) => this.setRenderProp('behavior', v));\n\t}\n\n\t/**\n\t * Defines whether the element has a create button.\n\t */\n\t@Prop() public _hasCreateButton?: HasCreateButtonPropType = false;\n\t@Watch('_hasCreateButton')\n\tpublic watchHasCreateButton(value?: HasCreateButtonPropType): void {\n\t\thasCreateButtonProp.apply(value, (v) => this.setRenderProp('hasCreateButton', v));\n\t}\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!: LabelPropType;\n\t@Watch('_label')\n\tpublic watchLabel(value?: LabelPropType): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => this.setRenderProp('label', v));\n\t}\n\n\t/**\n\t * Defines the callback functions for tabs events.\n\t */\n\t@Prop() public _on?: KoliBriTabsCallbacks;\n\t@Watch('_on')\n\tpublic watchOn(value?: KoliBriTabsCallbacks): void {\n\t\ttabsCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\t/**\n\t * Defines which tab is active.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _selected?: number = 0;\n\t@Watch('_selected')\n\tpublic watchSelected(value?: number): void {\n\t\tthis.applySelected(value);\n\t}\n\n\t/**\n\t * Defines the tab captions.\n\t */\n\t@Prop() public _tabs!: Stringified<TabButtonProps[]>;\n\t@Watch('_tabs')\n\tpublic watchTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\tthis.applyTabs(value);\n\t}\n\n\tprivate applySelected(value?: number): void {\n\t\tselectedProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('selected', v);\n\t\t\tthis.syncSelected();\n\t\t});\n\t}\n\n\tprivate applyTabs(value?: Stringified<TabButtonProps[]>): void {\n\t\ttabsProp.apply(value, (tabs) => {\n\t\t\tthis.setRenderProp('tabs', tabs);\n\t\t\tthis.tabButtonItems.forEach((item) => item.destroy());\n\t\t\tthis.tabButtonItems = tabs.map(() => createTabsButtonItem());\n\t\t\tthis.syncSelected();\n\t\t});\n\t}\n}\n"]}
@@ -286,8 +286,8 @@
286
286
  }
287
287
  @font-face {
288
288
  font-family: "kolicons";
289
- src: url("kolicons.eot?t=1791283887610"); /* IE9*/
290
- src: url("kolicons.eot?t=1791283887610#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791283887610") format("woff2"), url("kolicons.woff?t=1791283887610") format("woff"), url("kolicons.ttf?t=1791283887610") format("truetype"), url("kolicons.svg?t=1791283887610#kolicons") format("svg"); /* iOS 4.1- */
289
+ src: url("kolicons.eot?t=1791294643544"); /* IE9*/
290
+ src: url("kolicons.eot?t=1791294643544#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791294643544") format("woff2"), url("kolicons.woff?t=1791294643544") format("woff"), url("kolicons.ttf?t=1791294643544") format("truetype"), url("kolicons.svg?t=1791294643544#kolicons") format("svg"); /* iOS 4.1- */
291
291
  }
292
292
  @layer kol-component {
293
293
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -286,8 +286,8 @@
286
286
  }
287
287
  @font-face {
288
288
  font-family: "kolicons";
289
- src: url("kolicons.eot?t=1791283887610"); /* IE9*/
290
- src: url("kolicons.eot?t=1791283887610#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791283887610") format("woff2"), url("kolicons.woff?t=1791283887610") format("woff"), url("kolicons.ttf?t=1791283887610") format("truetype"), url("kolicons.svg?t=1791283887610#kolicons") format("svg"); /* iOS 4.1- */
289
+ src: url("kolicons.eot?t=1791294643544"); /* IE9*/
290
+ src: url("kolicons.eot?t=1791294643544#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791294643544") format("woff2"), url("kolicons.woff?t=1791294643544") format("woff"), url("kolicons.ttf?t=1791294643544") format("truetype"), url("kolicons.svg?t=1791294643544#kolicons") format("svg"); /* iOS 4.1- */
291
291
  }
292
292
  @layer kol-component {
293
293
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -286,8 +286,8 @@
286
286
  }
287
287
  @font-face {
288
288
  font-family: "kolicons";
289
- src: url("kolicons.eot?t=1791283887610"); /* IE9*/
290
- src: url("kolicons.eot?t=1791283887610#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791283887610") format("woff2"), url("kolicons.woff?t=1791283887610") format("woff"), url("kolicons.ttf?t=1791283887610") format("truetype"), url("kolicons.svg?t=1791283887610#kolicons") format("svg"); /* iOS 4.1- */
289
+ src: url("kolicons.eot?t=1791294643544"); /* IE9*/
290
+ src: url("kolicons.eot?t=1791294643544#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791294643544") format("woff2"), url("kolicons.woff?t=1791294643544") format("woff"), url("kolicons.ttf?t=1791294643544") format("truetype"), url("kolicons.svg?t=1791294643544#kolicons") format("svg"); /* iOS 4.1- */
291
291
  }
292
292
  @layer kol-component {
293
293
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -281,8 +281,8 @@
281
281
  }
282
282
  @font-face {
283
283
  font-family: "kolicons";
284
- src: url("kolicons.eot?t=1791283887610"); /* IE9*/
285
- src: url("kolicons.eot?t=1791283887610#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791283887610") format("woff2"), url("kolicons.woff?t=1791283887610") format("woff"), url("kolicons.ttf?t=1791283887610") format("truetype"), url("kolicons.svg?t=1791283887610#kolicons") format("svg"); /* iOS 4.1- */
284
+ src: url("kolicons.eot?t=1791294643544"); /* IE9*/
285
+ src: url("kolicons.eot?t=1791294643544#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791294643544") format("woff2"), url("kolicons.woff?t=1791294643544") format("woff"), url("kolicons.ttf?t=1791294643544") format("truetype"), url("kolicons.svg?t=1791294643544#kolicons") format("svg"); /* iOS 4.1- */
286
286
  }
287
287
  @layer kol-component {
288
288
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -281,8 +281,8 @@
281
281
  }
282
282
  @font-face {
283
283
  font-family: "kolicons";
284
- src: url("kolicons.eot?t=1791283887610"); /* IE9*/
285
- src: url("kolicons.eot?t=1791283887610#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791283887610") format("woff2"), url("kolicons.woff?t=1791283887610") format("woff"), url("kolicons.ttf?t=1791283887610") format("truetype"), url("kolicons.svg?t=1791283887610#kolicons") format("svg"); /* iOS 4.1- */
284
+ src: url("kolicons.eot?t=1791294643544"); /* IE9*/
285
+ src: url("kolicons.eot?t=1791294643544#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791294643544") format("woff2"), url("kolicons.woff?t=1791294643544") format("woff"), url("kolicons.ttf?t=1791294643544") format("truetype"), url("kolicons.svg?t=1791294643544#kolicons") format("svg"); /* iOS 4.1- */
286
286
  }
287
287
  @layer kol-component {
288
288
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -281,8 +281,8 @@
281
281
  }
282
282
  @font-face {
283
283
  font-family: "kolicons";
284
- src: url("kolicons.eot?t=1791283887610"); /* IE9*/
285
- src: url("kolicons.eot?t=1791283887610#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791283887610") format("woff2"), url("kolicons.woff?t=1791283887610") format("woff"), url("kolicons.ttf?t=1791283887610") format("truetype"), url("kolicons.svg?t=1791283887610#kolicons") format("svg"); /* iOS 4.1- */
284
+ src: url("kolicons.eot?t=1791294643544"); /* IE9*/
285
+ src: url("kolicons.eot?t=1791294643544#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791294643544") format("woff2"), url("kolicons.woff?t=1791294643544") format("woff"), url("kolicons.ttf?t=1791294643544") format("truetype"), url("kolicons.svg?t=1791294643544#kolicons") format("svg"); /* iOS 4.1- */
286
286
  }
287
287
  @layer kol-component {
288
288
  [class^=kolicon-], [class*=" kolicon-"] {
@@ -13,7 +13,7 @@ import { o as openProp } from './open.js';
13
13
  import { c as createUniqueId, a as createRelatedUniqueId } from './dev.utils.js';
14
14
  import { c as createCtaRef, d as delegateFocus, a as delegateClick } from './element-interaction.js';
15
15
 
16
- 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 .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]: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@layer kol-component {\n :host {\n display: block;\n }\n}\n/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n/*\n * Base styles for a collapsible built on `<details>`/`<summary>`: `kol-accordion` and `kol-details`\n * render the same DOM under their own block, so each includes this mixin with its block name.\n *\n * The transition duration comes from the theme's `collapsibleTransitionMs` feature flag, which the\n * component writes to `--collapsible-transition-duration` on `<details>`.\n */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791283887610\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791283887610#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791283887610\") format(\"woff2\"), url(\"kolicons.woff?t=1791283887610\") format(\"woff\"), url(\"kolicons.ttf?t=1791283887610\") format(\"truetype\"), url(\"kolicons.svg?t=1791283887610#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-accordion {\n /* `<summary>` is the toggle control and carries the box of the button it stands in for. */\n }\n .kol-accordion__heading {\n display: flex;\n min-height: var(--a11y-min-size);\n /* The `not-allowed` reset for disabled controls lives in `kol-global`, which loses to\n `kol-component` whatever the specificity (see `_layer-order.scss`). The pointer has to\n exclude the disabled summary itself, or it wins and a dead control looks clickable. */\n }\n .kol-accordion__heading:not([aria-disabled=true]) {\n cursor: pointer;\n }\n .kol-accordion__heading {\n /* Baseline box for the flex container; without it the surrounding inline flow shifts by 1px. */\n }\n .kol-accordion__heading::before {\n content: \"​\";\n }\n .kol-accordion__heading {\n /* The heading fills the row; the label span is the flex container inside it. */\n }\n .kol-accordion__heading > .kol-headline {\n display: flex;\n flex: 1;\n margin: 0;\n text-align: left;\n /* Form controls do not inherit font-weight (see `a11y.scss`); themes weight the label further in. */\n font-weight: 400;\n }\n .kol-accordion__heading > .kol-headline > .kol-span {\n flex: 1 0 100%;\n /* `.kol-span` centres its column (`_global.scss`); the summary label is start-aligned. */\n align-items: flex-start;\n }\n @media (prefers-reduced-motion) {\n .kol-accordion__wrapper-animation, .kol-accordion__wrapper {\n transition: none !important;\n }\n }\n .kol-accordion {\n /* @see https://github.com/public-ui/kolibri/issues/5952 */\n }\n @media print {\n .kol-accordion:not(.kol-accordion--open) .kol-accordion__wrapper-animation {\n display: none;\n }\n }\n .kol-accordion__wrapper {\n /* Forces the element into its own GPU compositing layer (via 3D transform). Helps prevent rendering/layout bugs (e.g. #7511) and may improve animation performance. */\n transform: translateZ(0);\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion__wrapper-animation {\n opacity: 0;\n transform: scaleY(0);\n transform-origin: top;\n min-height: 0;\n /* This property is important to keep in sync with the visual transition (template-rows). Without it interactive elements within the accordion would stay focusable. */\n visibility: hidden;\n transition: transform var(--collapsible-transition-duration, 0.3s), opacity var(--collapsible-transition-duration, 0.3s), visibility var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion--open .kol-accordion__wrapper {\n grid-template-rows: 1fr;\n }\n .kol-accordion--open .kol-accordion__wrapper-animation {\n opacity: 1;\n transform: scaleY(1);\n visibility: visible;\n }\n .kol-accordion--open:focus-within {\n position: relative;\n z-index: 100;\n }\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n}";
16
+ 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 .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]: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@layer kol-component {\n :host {\n display: block;\n }\n}\n/* For animation technique see https://css-tricks.com/css-grid-can-do-auto-height-transitions/ */\n/*\n * Base styles for a collapsible built on `<details>`/`<summary>`: `kol-accordion` and `kol-details`\n * render the same DOM under their own block, so each includes this mixin with its block name.\n *\n * The transition duration comes from the theme's `collapsibleTransitionMs` feature flag, which the\n * component writes to `--collapsible-transition-duration` on `<details>`.\n */\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791294643544\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791294643544#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791294643544\") format(\"woff2\"), url(\"kolicons.woff?t=1791294643544\") format(\"woff\"), url(\"kolicons.ttf?t=1791294643544\") format(\"truetype\"), url(\"kolicons.svg?t=1791294643544#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-accordion {\n /* `<summary>` is the toggle control and carries the box of the button it stands in for. */\n }\n .kol-accordion__heading {\n display: flex;\n min-height: var(--a11y-min-size);\n /* The `not-allowed` reset for disabled controls lives in `kol-global`, which loses to\n `kol-component` whatever the specificity (see `_layer-order.scss`). The pointer has to\n exclude the disabled summary itself, or it wins and a dead control looks clickable. */\n }\n .kol-accordion__heading:not([aria-disabled=true]) {\n cursor: pointer;\n }\n .kol-accordion__heading {\n /* Baseline box for the flex container; without it the surrounding inline flow shifts by 1px. */\n }\n .kol-accordion__heading::before {\n content: \"​\";\n }\n .kol-accordion__heading {\n /* The heading fills the row; the label span is the flex container inside it. */\n }\n .kol-accordion__heading > .kol-headline {\n display: flex;\n flex: 1;\n margin: 0;\n text-align: left;\n /* Form controls do not inherit font-weight (see `a11y.scss`); themes weight the label further in. */\n font-weight: 400;\n }\n .kol-accordion__heading > .kol-headline > .kol-span {\n flex: 1 0 100%;\n /* `.kol-span` centres its column (`_global.scss`); the summary label is start-aligned. */\n align-items: flex-start;\n }\n @media (prefers-reduced-motion) {\n .kol-accordion__wrapper-animation, .kol-accordion__wrapper {\n transition: none !important;\n }\n }\n .kol-accordion {\n /* @see https://github.com/public-ui/kolibri/issues/5952 */\n }\n @media print {\n .kol-accordion:not(.kol-accordion--open) .kol-accordion__wrapper-animation {\n display: none;\n }\n }\n .kol-accordion__wrapper {\n /* Forces the element into its own GPU compositing layer (via 3D transform). Helps prevent rendering/layout bugs (e.g. #7511) and may improve animation performance. */\n transform: translateZ(0);\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion__wrapper-animation {\n opacity: 0;\n transform: scaleY(0);\n transform-origin: top;\n min-height: 0;\n /* This property is important to keep in sync with the visual transition (template-rows). Without it interactive elements within the accordion would stay focusable. */\n visibility: hidden;\n transition: transform var(--collapsible-transition-duration, 0.3s), opacity var(--collapsible-transition-duration, 0.3s), visibility var(--collapsible-transition-duration, 0.3s);\n }\n .kol-accordion--open .kol-accordion__wrapper {\n grid-template-rows: 1fr;\n }\n .kol-accordion--open .kol-accordion__wrapper-animation {\n opacity: 1;\n transform: scaleY(1);\n visibility: visible;\n }\n .kol-accordion--open:focus-within {\n position: relative;\n z-index: 100;\n }\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n}";
17
17
 
18
18
  const KolAccordion$1 = proxyCustomElement(class KolAccordion extends BaseWebComponent {
19
19
  constructor(registerHost) {
@@ -42,7 +42,7 @@ const alertPropsConfig = {
42
42
  optional: [alertCallbacksProp, alertProp, alertTypeProp, alertVariantProp, hasCloserProp, labelProp, levelProp],
43
43
  };
44
44
 
45
- 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 .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]: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@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791283887610\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791283887610#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791283887610\") format(\"woff2\"), url(\"kolicons.woff?t=1791283887610\") format(\"woff\"), url(\"kolicons.ttf?t=1791283887610\") format(\"truetype\"), url(\"kolicons.svg?t=1791283887610#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-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\n */\n@layer kol-component {\n .kol-alert .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n height: 100%;\n min-height: var(--a11y-min-size);\n text-decoration-line: none;\n /* The interactive element is the flex container positioning the text, so it carries the\n box the root element used to be. The UA default underline sits on that element too,\n so suppressing `text-decoration` on the wrapper alone is not enough. */\n }\n .kol-alert .kol-button__interactive-element {\n display: flex;\n flex: 1;\n text-align: left;\n text-decoration-line: none;\n /* A flex container only exposes a baseline if it has an in-flow text box to derive one\n from; without it the surrounding inline formatting context falls back to the bottom\n margin edge and everything after the element shifts by 1px. The zero-width space\n supplies that box. Measured, not assumed: removing it turns `popover-button/inline`\n and `input-file/basic` red against the develop baseline (the box grows 179→180px). */\n }\n .kol-alert .kol-button__interactive-element::before {\n content: \"​\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert .kol-button {\n /* The tooltip wrapper holds only the absolutely positioned floating tooltip. In the legacy\n DOM it sat in a block flow and collapsed to zero height; as a flex/grid item it would\n stretch to the container height instead, adding phantom rows to the layout. */\n }\n .kol-alert .kol-button__tooltip {\n height: 0;\n }\n .kol-alert .kol-button--external-link > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert .kol-button--external-link .kol-button__interactive-element > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert {\n display: grid;\n grid-template-areas: \"icon heading close\" \"icon content close\";\n grid-template-columns: min-content 1fr min-content;\n grid-template-rows: min-content min-content;\n }\n .kol-alert__icon {\n grid-area: icon;\n }\n .kol-alert__heading {\n grid-area: heading;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n grid-area: close;\n }\n .kol-alert__content {\n grid-area: content;\n }\n}";
45
+ 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 .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]: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@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: \"kolicons\";\n src: url(\"kolicons.eot?t=1791294643544\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791294643544#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791294643544\") format(\"woff2\"), url(\"kolicons.woff?t=1791294643544\") format(\"woff\"), url(\"kolicons.ttf?t=1791294643544\") format(\"truetype\"), url(\"kolicons.svg?t=1791294643544#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-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}\n/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\n */\n@layer kol-component {\n .kol-alert .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-alert :host {\n display: inline-block;\n }\n .kol-alert .kol-button {\n display: flex;\n height: 100%;\n min-height: var(--a11y-min-size);\n text-decoration-line: none;\n /* The interactive element is the flex container positioning the text, so it carries the\n box the root element used to be. The UA default underline sits on that element too,\n so suppressing `text-decoration` on the wrapper alone is not enough. */\n }\n .kol-alert .kol-button__interactive-element {\n display: flex;\n flex: 1;\n text-align: left;\n text-decoration-line: none;\n /* A flex container only exposes a baseline if it has an in-flow text box to derive one\n from; without it the surrounding inline formatting context falls back to the bottom\n margin edge and everything after the element shifts by 1px. The zero-width space\n supplies that box. Measured, not assumed: removing it turns `popover-button/inline`\n and `input-file/basic` red against the develop baseline (the box grows 179→180px). */\n }\n .kol-alert .kol-button__interactive-element::before {\n content: \"​\";\n }\n .kol-alert .kol-button__text {\n flex: 1 0 100%;\n }\n .kol-alert .kol-button {\n /* The tooltip wrapper holds only the absolutely positioned floating tooltip. In the legacy\n DOM it sat in a block flow and collapsed to zero height; as a flex/grid item it would\n stretch to the container height instead, adding phantom rows to the layout. */\n }\n .kol-alert .kol-button__tooltip {\n height: 0;\n }\n .kol-alert .kol-button--external-link > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert .kol-button--external-link .kol-button__interactive-element > .kolicon-link-external::before {\n content: none;\n }\n .kol-alert {\n display: grid;\n grid-template-areas: \"icon heading close\" \"icon content close\";\n grid-template-columns: min-content 1fr min-content;\n grid-template-rows: min-content min-content;\n }\n .kol-alert__icon {\n grid-area: icon;\n }\n .kol-alert__heading {\n grid-area: heading;\n }\n .kol-alert__closer {\n /* Visible with forced colors */\n outline: transparent solid calc(1 * 1rem / var(--kolibri-root-font-size, 16));\n grid-area: close;\n }\n .kol-alert__content {\n grid-area: content;\n }\n}";
46
46
 
47
47
  const KolAlert$1 = proxyCustomElement(class KolAlert extends BaseWebComponent {
48
48
  constructor(registerHost) {
@@ -21,7 +21,7 @@ const badgePropsConfig = {
21
21
  optional: [colorProp, smartButtonProp, spanIconsProp],
22
22
  };
23
23
 
24
- 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 .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]: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=1791283887610\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791283887610#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791283887610\") format(\"woff2\"), url(\"kolicons.woff?t=1791283887610\") format(\"woff\"), url(\"kolicons.ttf?t=1791283887610\") format(\"truetype\"), url(\"kolicons.svg?t=1791283887610#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-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\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/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\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-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 .kol-button {\n background-color: transparent;\n display: inline-block;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n margin: 0;\n padding: 0;\n /* The user-agent stylesheet centers text on `button`, but not on `div`. The wrapper now\n carries the class, so that UA default has to be restated here for the inner content to\n sit where it did when the button element itself was the class carrier. */\n text-align: center;\n /* Replicate the reset the real button received: width stays at the initial `medium`, only\n the style becomes `none`. Consumer rules that flip e.g. `border-bottom-style` back to\n `solid` (tabs) must therefore target the inner button (see the `__interactive-element`\n override below), because Firefox vertically centers button content inside the content box,\n which shrinks by the border — exactly as it did when the real button carried these rules. */\n }\n .kol-button__interactive-element {\n border-style: none;\n display: block;\n border-width: medium;\n /* The UA pins `text-align: center` and (in Firefox) `font-weight: 400` directly on every\n `button`, which would beat any alignment or font styling inherited through the wrapper\n (e.g. nav's `text-align: left`, or a bold active entry that used to apply to the button\n element itself). Inheriting all three restores the old flow. */\n font-weight: inherit;\n font-style: inherit;\n text-align: inherit;\n }\n .kol-button {\n /* See kol-button-styles: the tooltip wrapper must stay zero-height, also when the wrapper\n div is a flex or grid item (e.g. nav entry rows). */\n }\n .kol-button__tooltip {\n height: 0;\n }\n .kol-badge .kol-badge__smart-button {\n width: auto;\n order: 3;\n }\n}";
24
+ 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 .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]: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=1791294643544\"); /* IE9*/\n src: url(\"kolicons.eot?t=1791294643544#iefix\") format(\"embedded-opentype\"), url(\"kolicons.woff2?t=1791294643544\") format(\"woff2\"), url(\"kolicons.woff?t=1791294643544\") format(\"woff\"), url(\"kolicons.ttf?t=1791294643544\") format(\"truetype\"), url(\"kolicons.svg?t=1791294643544#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-tooltip {\n display: contents;\n }\n .kol-tooltip__floating {\n opacity: 0;\n display: none;\n position: fixed;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width, max-content);\n min-width: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n max-width: 90vw;\n max-height: 90vh;\n animation-direction: normal;\n /* Can be used to specify the animation duration from the outside. 250ms by default. */\n animation-duration: var(--kolibri-tooltip-animation-duration, 250ms);\n animation-fill-mode: forwards;\n animation-iteration-count: 1;\n animation-timing-function: ease-in;\n }\n .kol-tooltip__floating.hide {\n animation-name: hideTooltip;\n }\n .kol-tooltip__floating.show {\n animation-name: showTooltip;\n }\n .kol-tooltip__arrow {\n transform: rotate(45deg);\n color: black;\n background-color: white;\n position: absolute;\n z-index: 999;\n width: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(10 * 1rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip__content {\n color: black;\n background-color: white;\n position: relative;\n z-index: 1000;\n }\n @keyframes hideTooltip {\n 0% {\n opacity: 1;\n }\n 100% {\n opacity: 0;\n display: none;\n }\n }\n @keyframes showTooltip {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\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/*\n * Button styles for a skeleton block whose interactive element sits inside the BEM root:\n * `kol-button` renders `<div class=\"kol-button\"><button class=\"kol-button__interactive-element\">`,\n * `kol-link` renders `<div class=\"kol-link\"><a class=\"kol-link__interactive-element\">`.\n *\n * Overlaps with `kol-embedded-button-box-styles` below: both target the block class itself and disagree\n * on `display` and `text-align`. A stylesheet that includes both therefore depends on order or\n * specificity — today that only happens where the caller nests one of them (e.g. `_alert.mixin`\n * nests this one under `.kol-alert`, which wins). Include only one per block unless the nesting\n * makes the winner explicit.\n */\n/*\n * Minimal box replication for shadow trees that render `ButtonFC` without including\n * `kol-button-styles`. The `kol-global` reset (`background`, `width`, `margin`, `padding`,\n * `border`) and the a11y layer `min-height`/`min-width` apply to the native button, on top of the\n * UA `inline-block`, but not to the `div` root that carries the `kol-button` class. This mixin\n * replicates that outer box on the root, while the inner `kol-button__interactive-element` degrades\n * to a plain block container to avoid the inline-level baseline gap the UA `inline-block` would add\n * below it.\n *\n * Mutually exclusive with `kol-button-styles` above — see the collision note there.\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-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 .kol-button {\n background-color: transparent;\n display: inline-block;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n margin: 0;\n padding: 0;\n /* The user-agent stylesheet centers text on `button`, but not on `div`. The wrapper now\n carries the class, so that UA default has to be restated here for the inner content to\n sit where it did when the button element itself was the class carrier. */\n text-align: center;\n /* Replicate the reset the real button received: width stays at the initial `medium`, only\n the style becomes `none`. Consumer rules that flip e.g. `border-bottom-style` back to\n `solid` (tabs) must therefore target the inner button (see the `__interactive-element`\n override below), because Firefox vertically centers button content inside the content box,\n which shrinks by the border — exactly as it did when the real button carried these rules. */\n }\n .kol-button__interactive-element {\n border-style: none;\n display: block;\n border-width: medium;\n /* The UA pins `text-align: center` and (in Firefox) `font-weight: 400` directly on every\n `button`, which would beat any alignment or font styling inherited through the wrapper\n (e.g. nav's `text-align: left`, or a bold active entry that used to apply to the button\n element itself). Inheriting all three restores the old flow. */\n font-weight: inherit;\n font-style: inherit;\n text-align: inherit;\n }\n .kol-button {\n /* See kol-button-styles: the tooltip wrapper must stay zero-height, also when the wrapper\n div is a flex or grid item (e.g. nav entry rows). */\n }\n .kol-button__tooltip {\n height: 0;\n }\n .kol-badge .kol-badge__smart-button {\n width: auto;\n order: 3;\n }\n}";
25
25
 
26
26
  featureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);
27
27
  const KolBadge$1 = proxyCustomElement(class KolBadge extends BaseWebComponent {