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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) 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-yiwXjRrz.js → Heading-CFe7VL6f.js} +3 -3
  8. package/dist/cjs/{Heading-yiwXjRrz.js.map → Heading-CFe7VL6f.js.map} +1 -1
  9. package/dist/cjs/{api-BDT5xkx5.js → api-kNqVTMqf.js} +8 -8
  10. package/dist/cjs/{api-BDT5xkx5.js.map → api-kNqVTMqf.js.map} +1 -1
  11. package/dist/cjs/{api-BI1qXrGa.js → api-n8IopicV.js} +12 -12
  12. package/dist/cjs/{api-BI1qXrGa.js.map → api-n8IopicV.js.map} +1 -1
  13. package/dist/cjs/{app-globals-DPVGNVgE.js → app-globals-KA8S4Kl9.js} +4 -4
  14. package/dist/cjs/{app-globals-DPVGNVgE.js.map → app-globals-KA8S4Kl9.js.map} +1 -1
  15. package/dist/cjs/{base-CaQNXZrN.js → base-B07RMt0-.js} +5 -5
  16. package/dist/cjs/{base-CaQNXZrN.js.map → base-B07RMt0-.js.map} +1 -1
  17. package/dist/cjs/{base-DlsemYqM.js → base-Bw44v5Il.js} +4 -4
  18. package/dist/cjs/{base-DlsemYqM.js.map → base-Bw44v5Il.js.map} +1 -1
  19. package/dist/cjs/{base-FZ2Hemhr.js → base-DGx5qxja.js} +16 -16
  20. package/dist/cjs/{base-FZ2Hemhr.js.map → base-DGx5qxja.js.map} +1 -1
  21. package/dist/cjs/{base-B_M9Y7nD.js → base-Og0FJHrO.js} +4 -4
  22. package/dist/cjs/{base-B_M9Y7nD.js.map → base-Og0FJHrO.js.map} +1 -1
  23. package/dist/cjs/{base-web-component-BK8X1O8C.js → base-web-component-9l9kVbBw.js} +5 -5
  24. package/dist/cjs/{base-web-component-BK8X1O8C.js.map → base-web-component-9l9kVbBw.js.map} +1 -1
  25. package/dist/cjs/{base-web-component-GLk66TOu.js → base-web-component-MA3Hmf00.js} +7 -7
  26. package/dist/cjs/{base-web-component-GLk66TOu.js.map → base-web-component-MA3Hmf00.js.map} +1 -1
  27. package/dist/cjs/{behavior-BEaXHesG.js → behavior-CddJDVDz.js} +3 -3
  28. package/dist/cjs/{behavior-BEaXHesG.js.map → behavior-CddJDVDz.js.map} +1 -1
  29. package/dist/cjs/{component-Bc8fDajy.js → component-8M23HGR8.js} +5 -5
  30. package/dist/cjs/{component-Bc8fDajy.js.map → component-8M23HGR8.js.map} +1 -1
  31. package/dist/cjs/{component-CPVFCnaN.js → component-B1t_MP4V.js} +7 -7
  32. package/dist/cjs/{component-CPVFCnaN.js.map → component-B1t_MP4V.js.map} +1 -1
  33. package/dist/cjs/{component-Dw6Tq7Wb.js → component-B92xMW4N.js} +4 -4
  34. package/dist/cjs/{component-Dw6Tq7Wb.js.map → component-B92xMW4N.js.map} +1 -1
  35. package/dist/cjs/{component-3EZdZbDH.js → component-BGdViN9u.js} +3 -3
  36. package/dist/cjs/{component-3EZdZbDH.js.map → component-BGdViN9u.js.map} +1 -1
  37. package/dist/cjs/{component-Bj4QdlXm.js → component-BZKcc9iM.js} +5 -5
  38. package/dist/cjs/{component-Bj4QdlXm.js.map → component-BZKcc9iM.js.map} +1 -1
  39. package/dist/cjs/{component-CAkixzEQ.js → component-C8WDkeRK.js} +3 -3
  40. package/dist/cjs/{component-CAkixzEQ.js.map → component-C8WDkeRK.js.map} +1 -1
  41. package/dist/cjs/{component-Du98sklA.js → component-CESKZB76.js} +3 -3
  42. package/dist/cjs/{component-Du98sklA.js.map → component-CESKZB76.js.map} +1 -1
  43. package/dist/cjs/{component-Be3QHUyC.js → component-CQRRF1jV.js} +3 -3
  44. package/dist/cjs/{component-Be3QHUyC.js.map → component-CQRRF1jV.js.map} +1 -1
  45. package/dist/cjs/{component-B96XYPtn.js → component-D7IXFVHR.js} +4 -4
  46. package/dist/cjs/{component-B96XYPtn.js.map → component-D7IXFVHR.js.map} +1 -1
  47. package/dist/cjs/{component-BUCx7i5o.js → component-Dzx6SM5K.js} +7 -7
  48. package/dist/cjs/{component-BUCx7i5o.js.map → component-Dzx6SM5K.js.map} +1 -1
  49. package/dist/cjs/{component-Dd-PS3jp.js → component-K9JCKLMC.js} +4 -4
  50. package/dist/cjs/{component-Dd-PS3jp.js.map → component-K9JCKLMC.js.map} +1 -1
  51. package/dist/cjs/{component-DjDOgcWW.js → component-inHq7qad.js} +5 -5
  52. package/dist/cjs/{component-DjDOgcWW.js.map → component-inHq7qad.js.map} +1 -1
  53. package/dist/cjs/{dev.utils-DybQ4euF.js → dev.utils-CIsKrkDZ.js} +3 -3
  54. package/dist/cjs/{dev.utils-DybQ4euF.js.map → dev.utils-CIsKrkDZ.js.map} +1 -1
  55. package/dist/cjs/{devtools-Bw5sQJOl.js → devtools-DEHRYx1J.js} +4 -4
  56. package/dist/cjs/{devtools-Bw5sQJOl.js.map → devtools-DEHRYx1J.js.map} +1 -1
  57. package/dist/cjs/{field-control-4CnbMR0i.js → field-control-gMhh35Xz.js} +8 -8
  58. package/dist/cjs/{field-control-4CnbMR0i.js.map → field-control-gMhh35Xz.js.map} +1 -1
  59. package/dist/cjs/{group-BCkxYeMA.js → group-eUk7QHkH.js} +5 -5
  60. package/dist/cjs/{group-BCkxYeMA.js.map → group-eUk7QHkH.js.map} +1 -1
  61. package/dist/cjs/{index-RAfZF5x0.js → index-CjTDipy9.js} +3 -3
  62. package/dist/cjs/index-CjTDipy9.js.map +1 -0
  63. package/dist/cjs/{input-7t7ZvgAy.js → input-D1hDtOel.js} +5 -5
  64. package/dist/cjs/{input-7t7ZvgAy.js.map → input-D1hDtOel.js.map} +1 -1
  65. package/dist/cjs/{input-container-BUK2Fp_t.js → input-container-C9wW0ZFj.js} +7 -7
  66. package/dist/cjs/{input-container-BUK2Fp_t.js.map → input-container-C9wW0ZFj.js.map} +1 -1
  67. package/dist/cjs/{item-K1SS6pAu.js → item-C6TgTi4l.js} +4 -4
  68. package/dist/cjs/{item-K1SS6pAu.js.map → item-C6TgTi4l.js.map} +1 -1
  69. package/dist/cjs/{item-DO176juh.js → item-D2TI8Iec.js} +4 -4
  70. package/dist/cjs/{item-DO176juh.js.map → item-D2TI8Iec.js.map} +1 -1
  71. package/dist/cjs/{item-D8Zz2ROC.js → item-DoAJ6Wmk.js} +3 -3
  72. package/dist/cjs/{item-D8Zz2ROC.js.map → item-DoAJ6Wmk.js.map} +1 -1
  73. package/dist/cjs/{item-BInO5rWQ.js → item-se0KVw5y.js} +8 -8
  74. package/dist/cjs/{item-BInO5rWQ.js.map → item-se0KVw5y.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 +9 -9
  122. package/dist/cjs/kol-textarea.cjs.entry.js +17 -17
  123. package/dist/cjs/kol-toast-container.cjs.entry.js +11 -11
  124. package/dist/cjs/kol-toolbar.cjs.entry.js +11 -11
  125. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +4 -4
  126. package/dist/cjs/kol-tree-item.cjs.entry.js +9 -9
  127. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  128. package/dist/cjs/kol-version.cjs.entry.js +9 -9
  129. package/dist/cjs/kolibri.cjs.js +2 -2
  130. package/dist/cjs/loader.cjs.js +2 -2
  131. package/dist/cjs/{resolve-props-BBVQo_N5.js → resolve-props-JqnN_2MF.js} +3 -3
  132. package/dist/cjs/{resolve-props-BBVQo_N5.js.map → resolve-props-JqnN_2MF.js.map} +1 -1
  133. package/dist/cjs/{scroll-lock-zJbOf1Xr.js → scroll-lock-CxkP-oj1.js} +3 -3
  134. package/dist/cjs/{scroll-lock-zJbOf1Xr.js.map → scroll-lock-CxkP-oj1.js.map} +1 -1
  135. package/dist/cjs/{suggestions-quLXODgi.js → suggestions-BDfdREI5.js} +4 -4
  136. package/dist/cjs/{suggestions-quLXODgi.js.map → suggestions-BDfdREI5.js.map} +1 -1
  137. package/dist/cjs/test-component.cjs.entry.js +1 -1
  138. package/dist/cjs/{toggle-handler-CENFGRWT.js → toggle-handler-Bm0e15f-.js} +5 -5
  139. package/dist/cjs/{toggle-handler-CENFGRWT.js.map → toggle-handler-Bm0e15f-.js.map} +1 -1
  140. package/dist/collection/components/accordion/style.css +2 -2
  141. package/dist/collection/components/alert/style.css +2 -2
  142. package/dist/collection/components/badge/style.css +2 -2
  143. package/dist/collection/components/breadcrumb/style.css +2 -2
  144. package/dist/collection/components/button/style.css +2 -2
  145. package/dist/collection/components/button-link/style.css +2 -2
  146. package/dist/collection/components/card/style.css +2 -2
  147. package/dist/collection/components/combobox/style.css +2 -2
  148. package/dist/collection/components/details/style.css +2 -2
  149. package/dist/collection/components/dialog/style.css +2 -2
  150. package/dist/collection/components/drawer/style.css +2 -2
  151. package/dist/collection/components/form/style.css +2 -2
  152. package/dist/collection/components/icon/style.css +2 -2
  153. package/dist/collection/components/input-checkbox/style.css +2 -2
  154. package/dist/collection/components/input-color/style.css +2 -2
  155. package/dist/collection/components/input-date/style.css +2 -2
  156. package/dist/collection/components/input-email/style.css +2 -2
  157. package/dist/collection/components/input-file/style.css +2 -2
  158. package/dist/collection/components/input-number/style.css +2 -2
  159. package/dist/collection/components/input-password/style.css +2 -2
  160. package/dist/collection/components/input-radio/style.css +2 -2
  161. package/dist/collection/components/input-range/style.css +2 -2
  162. package/dist/collection/components/input-text/style.css +2 -2
  163. package/dist/collection/components/link/style.css +2 -2
  164. package/dist/collection/components/link-button/style.css +2 -2
  165. package/dist/collection/components/modal/style.css +2 -2
  166. package/dist/collection/components/nav/style.css +2 -2
  167. package/dist/collection/components/pagination/style.css +2 -2
  168. package/dist/collection/components/popover-button/style.css +2 -2
  169. package/dist/collection/components/select/style.css +2 -2
  170. package/dist/collection/components/single-select/style.css +2 -2
  171. package/dist/collection/components/skip-nav/style.css +2 -2
  172. package/dist/collection/components/split-button/style.css +2 -2
  173. package/dist/collection/components/table-stateful/style.css +2 -2
  174. package/dist/collection/components/table-stateless/style.css +2 -2
  175. package/dist/collection/components/tabs/style.css +2 -2
  176. package/dist/collection/components/textarea/style.css +2 -2
  177. package/dist/collection/components/toaster/style.css +2 -2
  178. package/dist/collection/components/toolbar/style.css +2 -2
  179. package/dist/collection/components/tree-item/style.css +2 -2
  180. package/dist/collection/components/version/style.css +2 -2
  181. package/dist/components/kol-accordion.js +1 -1
  182. package/dist/components/kol-alert.js +1 -1
  183. package/dist/components/kol-badge.js +1 -1
  184. package/dist/components/kol-breadcrumb.js +1 -1
  185. package/dist/components/kol-button-link.js +1 -1
  186. package/dist/components/kol-button.js +1 -1
  187. package/dist/components/kol-card.js +1 -1
  188. package/dist/components/kol-combobox.js +1 -1
  189. package/dist/components/kol-details.js +1 -1
  190. package/dist/components/kol-dialog.js +1 -1
  191. package/dist/components/kol-drawer.js +1 -1
  192. package/dist/components/kol-form.js +1 -1
  193. package/dist/components/kol-icon.js +1 -1
  194. package/dist/components/kol-input-checkbox.js +1 -1
  195. package/dist/components/kol-input-color.js +1 -1
  196. package/dist/components/kol-input-date.js +1 -1
  197. package/dist/components/kol-input-email.js +1 -1
  198. package/dist/components/kol-input-file.js +1 -1
  199. package/dist/components/kol-input-number.js +1 -1
  200. package/dist/components/kol-input-password.js +1 -1
  201. package/dist/components/kol-input-radio.js +1 -1
  202. package/dist/components/kol-input-range.js +1 -1
  203. package/dist/components/kol-input-text.js +1 -1
  204. package/dist/components/kol-link-button.js +1 -1
  205. package/dist/components/kol-link.js +1 -1
  206. package/dist/components/kol-modal.js +1 -1
  207. package/dist/components/kol-nav.js +1 -1
  208. package/dist/components/kol-pagination.js +1 -1
  209. package/dist/components/kol-popover-button.js +1 -1
  210. package/dist/components/kol-select.js +1 -1
  211. package/dist/components/kol-single-select.js +1 -1
  212. package/dist/components/kol-skip-nav.js +1 -1
  213. package/dist/components/kol-split-button.js +1 -1
  214. package/dist/components/kol-table-stateful.js +1 -1
  215. package/dist/components/kol-table-stateless.js +1 -1
  216. package/dist/components/kol-tabs.js +1 -1
  217. package/dist/components/kol-textarea.js +1 -1
  218. package/dist/components/kol-toast-container.js +1 -1
  219. package/dist/components/kol-toolbar.js +1 -1
  220. package/dist/components/kol-tree-item.js +1 -1
  221. package/dist/components/kol-version.js +1 -1
  222. package/dist/esm/{Heading-BctDgC7M.js → Heading-DYEtnAIe.js} +3 -3
  223. package/dist/{kolibri/Heading-BctDgC7M.js.map → esm/Heading-DYEtnAIe.js.map} +1 -1
  224. package/dist/esm/{api-B6fEjFVl.js → api-Bhr2ic7C.js} +12 -12
  225. package/dist/{kolibri/api-B6fEjFVl.js.map → esm/api-Bhr2ic7C.js.map} +1 -1
  226. package/dist/esm/{api-T-JuZMlj.js → api-DwdE0qU0.js} +8 -8
  227. package/dist/esm/{api-T-JuZMlj.js.map → api-DwdE0qU0.js.map} +1 -1
  228. package/dist/esm/{app-globals-CvvWI2x9.js → app-globals-DlrwRj26.js} +4 -4
  229. package/dist/esm/{app-globals-CvvWI2x9.js.map → app-globals-DlrwRj26.js.map} +1 -1
  230. package/dist/esm/{base-Dvr4F_Pr.js → base-BwsdAVVP.js} +16 -16
  231. package/dist/{kolibri/base-Dvr4F_Pr.js.map → esm/base-BwsdAVVP.js.map} +1 -1
  232. package/dist/esm/{base-BbVXW6YI.js → base-CQQKxfxv.js} +4 -4
  233. package/dist/{kolibri/base-BbVXW6YI.js.map → esm/base-CQQKxfxv.js.map} +1 -1
  234. package/dist/esm/{base-BARjFMg1.js → base-CdUYL1Y_.js} +5 -5
  235. package/dist/esm/{base-BARjFMg1.js.map → base-CdUYL1Y_.js.map} +1 -1
  236. package/dist/esm/{base-D8yYjJsn.js → base-D5a-Ls-4.js} +4 -4
  237. package/dist/{kolibri/base-D8yYjJsn.js.map → esm/base-D5a-Ls-4.js.map} +1 -1
  238. package/dist/esm/{base-web-component-DU3hnIWD.js → base-web-component-6IoFcVM9.js} +7 -7
  239. package/dist/{kolibri/base-web-component-DU3hnIWD.js.map → esm/base-web-component-6IoFcVM9.js.map} +1 -1
  240. package/dist/esm/{base-web-component-BzB5tP9s.js → base-web-component-CyCs0EpM.js} +5 -5
  241. package/dist/{kolibri/base-web-component-BzB5tP9s.js.map → esm/base-web-component-CyCs0EpM.js.map} +1 -1
  242. package/dist/esm/{behavior-CbqCHL6O.js → behavior-COQhqcG7.js} +3 -3
  243. package/dist/{kolibri/behavior-CbqCHL6O.js.map → esm/behavior-COQhqcG7.js.map} +1 -1
  244. package/dist/esm/{component-d1d-AIsY.js → component-BOFlST8N.js} +5 -5
  245. package/dist/{kolibri/component-d1d-AIsY.js.map → esm/component-BOFlST8N.js.map} +1 -1
  246. package/dist/esm/{component-DKS73hKY.js → component-C4dhT4Ba.js} +3 -3
  247. package/dist/{kolibri/component-DKS73hKY.js.map → esm/component-C4dhT4Ba.js.map} +1 -1
  248. package/dist/esm/{component-BaD1OTyv.js → component-C9cJK7Cf.js} +5 -5
  249. package/dist/esm/{component-BaD1OTyv.js.map → component-C9cJK7Cf.js.map} +1 -1
  250. package/dist/esm/{component-BjWF1SyZ.js → component-CBkrKKXd.js} +7 -7
  251. package/dist/esm/{component-BjWF1SyZ.js.map → component-CBkrKKXd.js.map} +1 -1
  252. package/dist/esm/{component-Ch6fss2f.js → component-CHz6TLzY.js} +5 -5
  253. package/dist/esm/{component-Ch6fss2f.js.map → component-CHz6TLzY.js.map} +1 -1
  254. package/dist/esm/{component-CmBM-Y1C.js → component-CODtL04S.js} +7 -7
  255. package/dist/esm/{component-CmBM-Y1C.js.map → component-CODtL04S.js.map} +1 -1
  256. package/dist/esm/{component-DhBTawyT.js → component-D30YHxgS.js} +3 -3
  257. package/dist/esm/{component-DhBTawyT.js.map → component-D30YHxgS.js.map} +1 -1
  258. package/dist/esm/{component-G9vQ1mQA.js → component-DXmRJdLc.js} +4 -4
  259. package/dist/{kolibri/component-G9vQ1mQA.js.map → esm/component-DXmRJdLc.js.map} +1 -1
  260. package/dist/esm/{component-QCFfSS76.js → component-DoCNds1d.js} +4 -4
  261. package/dist/{kolibri/component-QCFfSS76.js.map → esm/component-DoCNds1d.js.map} +1 -1
  262. package/dist/esm/{component-CvhmYY4a.js → component-fK2EUkFf.js} +4 -4
  263. package/dist/esm/{component-CvhmYY4a.js.map → component-fK2EUkFf.js.map} +1 -1
  264. package/dist/esm/{component-sf_0WjJF.js → component-kDR4_xf0.js} +3 -3
  265. package/dist/{kolibri/component-sf_0WjJF.js.map → esm/component-kDR4_xf0.js.map} +1 -1
  266. package/dist/esm/{component-D0iTurA_.js → component-kxFmDVse.js} +3 -3
  267. package/dist/esm/{component-D0iTurA_.js.map → component-kxFmDVse.js.map} +1 -1
  268. package/dist/esm/{dev.utils-BGy8dbtQ.js → dev.utils-DDqySnXB.js} +3 -3
  269. package/dist/{kolibri/dev.utils-BGy8dbtQ.js.map → esm/dev.utils-DDqySnXB.js.map} +1 -1
  270. package/dist/esm/{devtools-CZ8Mnmwl.js → devtools-CjmOcVsT.js} +4 -4
  271. package/dist/{kolibri/devtools-CZ8Mnmwl.js.map → esm/devtools-CjmOcVsT.js.map} +1 -1
  272. package/dist/esm/{field-control-CLnFuMmy.js → field-control-Dkru7B-M.js} +8 -8
  273. package/dist/esm/{field-control-CLnFuMmy.js.map → field-control-Dkru7B-M.js.map} +1 -1
  274. package/dist/esm/{group-BAOmF5Ok.js → group-CXJiUqKv.js} +5 -5
  275. package/dist/{kolibri/group-BAOmF5Ok.js.map → esm/group-CXJiUqKv.js.map} +1 -1
  276. package/dist/esm/{index-DAKQV03B.js → index-wY4pHWJG.js} +3 -3
  277. package/dist/esm/index-wY4pHWJG.js.map +1 -0
  278. package/dist/esm/{input-D2i1QEbL.js → input-C_ZwHs-7.js} +5 -5
  279. package/dist/esm/{input-D2i1QEbL.js.map → input-C_ZwHs-7.js.map} +1 -1
  280. package/dist/esm/{input-container-wQm8-W3s.js → input-container-CBl9xcK-.js} +7 -7
  281. package/dist/{kolibri/input-container-wQm8-W3s.js.map → esm/input-container-CBl9xcK-.js.map} +1 -1
  282. package/dist/esm/{item-Dkm57tce.js → item-BacIXvMT.js} +4 -4
  283. package/dist/esm/{item-Dkm57tce.js.map → item-BacIXvMT.js.map} +1 -1
  284. package/dist/esm/{item-DbLIGnc9.js → item-DewHrd_f.js} +4 -4
  285. package/dist/{kolibri/item-DbLIGnc9.js.map → esm/item-DewHrd_f.js.map} +1 -1
  286. package/dist/esm/{item-DuBSR8BS.js → item-lEB6GAqe.js} +3 -3
  287. package/dist/esm/{item-DuBSR8BS.js.map → item-lEB6GAqe.js.map} +1 -1
  288. package/dist/esm/{item-DJ8LXOMv.js → item-nGiqyOvt.js} +8 -8
  289. package/dist/{kolibri/item-DJ8LXOMv.js.map → esm/item-nGiqyOvt.js.map} +1 -1
  290. package/dist/esm/kol-abbr.entry.js +2 -2
  291. package/dist/esm/kol-accordion.entry.js +7 -7
  292. package/dist/esm/kol-alert.entry.js +11 -11
  293. package/dist/esm/kol-avatar.entry.js +1 -1
  294. package/dist/esm/kol-badge.entry.js +10 -10
  295. package/dist/esm/kol-breadcrumb.entry.js +9 -9
  296. package/dist/esm/kol-button-link.entry.js +10 -10
  297. package/dist/esm/kol-button.entry.js +10 -10
  298. package/dist/esm/kol-card.entry.js +11 -11
  299. package/dist/esm/kol-click-button.entry.js +2 -2
  300. package/dist/esm/kol-combobox.entry.js +18 -18
  301. package/dist/esm/kol-details.entry.js +7 -7
  302. package/dist/esm/kol-dialog.entry.js +13 -13
  303. package/dist/esm/kol-drawer.entry.js +12 -12
  304. package/dist/esm/kol-form.entry.js +12 -12
  305. package/dist/esm/kol-heading.entry.js +1 -1
  306. package/dist/esm/kol-icon.entry.js +3 -3
  307. package/dist/esm/kol-image.entry.js +1 -1
  308. package/dist/esm/kol-input-checkbox.entry.js +17 -17
  309. package/dist/esm/kol-input-color.entry.js +18 -18
  310. package/dist/esm/kol-input-date.entry.js +18 -18
  311. package/dist/esm/kol-input-email.entry.js +20 -20
  312. package/dist/esm/kol-input-file.entry.js +17 -17
  313. package/dist/esm/kol-input-number.entry.js +18 -18
  314. package/dist/esm/kol-input-password.entry.js +20 -20
  315. package/dist/esm/kol-input-radio.entry.js +17 -17
  316. package/dist/esm/kol-input-range.entry.js +18 -18
  317. package/dist/esm/kol-input-text.entry.js +20 -20
  318. package/dist/esm/kol-kolibri.entry.js +2 -2
  319. package/dist/esm/kol-link-button.entry.js +10 -10
  320. package/dist/esm/kol-link.entry.js +10 -10
  321. package/dist/esm/kol-meter.entry.js +1 -1
  322. package/dist/esm/kol-modal.entry.js +13 -13
  323. package/dist/esm/kol-nav.entry.js +13 -13
  324. package/dist/esm/kol-pagination.entry.js +18 -18
  325. package/dist/esm/kol-popover-button.entry.js +11 -11
  326. package/dist/esm/kol-progress.entry.js +1 -1
  327. package/dist/esm/kol-quote.entry.js +1 -1
  328. package/dist/esm/kol-select.entry.js +17 -17
  329. package/dist/esm/kol-single-select.entry.js +18 -18
  330. package/dist/esm/kol-skeleton.entry.js +2 -2
  331. package/dist/esm/kol-skip-nav.entry.js +9 -9
  332. package/dist/esm/kol-spin.entry.js +3 -3
  333. package/dist/esm/kol-split-button.entry.js +12 -12
  334. package/dist/esm/kol-table-stateful.entry.js +25 -25
  335. package/dist/esm/kol-table-stateless.entry.js +19 -19
  336. package/dist/esm/kol-tabs.entry.js +9 -9
  337. package/dist/esm/kol-textarea.entry.js +17 -17
  338. package/dist/esm/kol-toast-container.entry.js +11 -11
  339. package/dist/esm/kol-toolbar.entry.js +11 -11
  340. package/dist/esm/kol-tooltip-wc.entry.js +4 -4
  341. package/dist/esm/kol-tree-item.entry.js +9 -9
  342. package/dist/esm/kol-tree.entry.js +1 -1
  343. package/dist/esm/kol-version.entry.js +9 -9
  344. package/dist/esm/kolibri.js +3 -3
  345. package/dist/esm/loader.js +3 -3
  346. package/dist/esm/{resolve-props-BTiKxg-8.js → resolve-props-DrFDeILa.js} +3 -3
  347. package/dist/{kolibri/resolve-props-BTiKxg-8.js.map → esm/resolve-props-DrFDeILa.js.map} +1 -1
  348. package/dist/esm/{scroll-lock-DRNyw9qH.js → scroll-lock-BotxOlMX.js} +3 -3
  349. package/dist/{kolibri/scroll-lock-DRNyw9qH.js.map → esm/scroll-lock-BotxOlMX.js.map} +1 -1
  350. package/dist/esm/{suggestions-CG-TuGC4.js → suggestions-CX5S2xAI.js} +4 -4
  351. package/dist/esm/{suggestions-CG-TuGC4.js.map → suggestions-CX5S2xAI.js.map} +1 -1
  352. package/dist/esm/test-component.entry.js +1 -1
  353. package/dist/esm/{toggle-handler-aTxO0Wem.js → toggle-handler-VctiltrE.js} +5 -5
  354. package/dist/esm/{toggle-handler-aTxO0Wem.js.map → toggle-handler-VctiltrE.js.map} +1 -1
  355. package/dist/kolibri/{Heading-BctDgC7M.js → Heading-DYEtnAIe.js} +2 -2
  356. package/dist/{esm/Heading-BctDgC7M.js.map → kolibri/Heading-DYEtnAIe.js.map} +1 -1
  357. package/dist/kolibri/api-Bhr2ic7C.js +5 -0
  358. package/dist/{esm/api-B6fEjFVl.js.map → kolibri/api-Bhr2ic7C.js.map} +1 -1
  359. package/dist/kolibri/api-DwdE0qU0.js +5 -0
  360. package/dist/kolibri/{api-T-JuZMlj.js.map → api-DwdE0qU0.js.map} +1 -1
  361. package/dist/kolibri/app-globals-DlrwRj26.js +5 -0
  362. package/dist/kolibri/{app-globals-CvvWI2x9.js.map → app-globals-DlrwRj26.js.map} +1 -1
  363. package/dist/kolibri/{base-Dvr4F_Pr.js → base-BwsdAVVP.js} +2 -2
  364. package/dist/{esm/base-Dvr4F_Pr.js.map → kolibri/base-BwsdAVVP.js.map} +1 -1
  365. package/dist/kolibri/{base-BbVXW6YI.js → base-CQQKxfxv.js} +2 -2
  366. package/dist/{esm/base-BbVXW6YI.js.map → kolibri/base-CQQKxfxv.js.map} +1 -1
  367. package/dist/kolibri/{base-BARjFMg1.js → base-CdUYL1Y_.js} +2 -2
  368. package/dist/kolibri/{base-BARjFMg1.js.map → base-CdUYL1Y_.js.map} +1 -1
  369. package/dist/kolibri/{base-D8yYjJsn.js → base-D5a-Ls-4.js} +2 -2
  370. package/dist/{esm/base-D8yYjJsn.js.map → kolibri/base-D5a-Ls-4.js.map} +1 -1
  371. package/dist/kolibri/{base-web-component-DU3hnIWD.js → base-web-component-6IoFcVM9.js} +2 -2
  372. package/dist/{esm/base-web-component-DU3hnIWD.js.map → kolibri/base-web-component-6IoFcVM9.js.map} +1 -1
  373. package/dist/kolibri/{base-web-component-BzB5tP9s.js → base-web-component-CyCs0EpM.js} +2 -2
  374. package/dist/{esm/base-web-component-BzB5tP9s.js.map → kolibri/base-web-component-CyCs0EpM.js.map} +1 -1
  375. package/dist/kolibri/{behavior-CbqCHL6O.js → behavior-COQhqcG7.js} +2 -2
  376. package/dist/{esm/behavior-CbqCHL6O.js.map → kolibri/behavior-COQhqcG7.js.map} +1 -1
  377. package/dist/kolibri/{component-d1d-AIsY.js → component-BOFlST8N.js} +2 -2
  378. package/dist/{esm/component-d1d-AIsY.js.map → kolibri/component-BOFlST8N.js.map} +1 -1
  379. package/dist/kolibri/{component-DKS73hKY.js → component-C4dhT4Ba.js} +2 -2
  380. package/dist/{esm/component-DKS73hKY.js.map → kolibri/component-C4dhT4Ba.js.map} +1 -1
  381. package/dist/kolibri/component-C9cJK7Cf.js +5 -0
  382. package/dist/kolibri/{component-BaD1OTyv.js.map → component-C9cJK7Cf.js.map} +1 -1
  383. package/dist/kolibri/{component-BjWF1SyZ.js → component-CBkrKKXd.js} +2 -2
  384. package/dist/kolibri/{component-BjWF1SyZ.js.map → component-CBkrKKXd.js.map} +1 -1
  385. package/dist/kolibri/{component-Ch6fss2f.js → component-CHz6TLzY.js} +2 -2
  386. package/dist/kolibri/{component-Ch6fss2f.js.map → component-CHz6TLzY.js.map} +1 -1
  387. package/dist/kolibri/component-CODtL04S.js +5 -0
  388. package/dist/kolibri/{component-CmBM-Y1C.js.map → component-CODtL04S.js.map} +1 -1
  389. package/dist/kolibri/{component-DhBTawyT.js → component-D30YHxgS.js} +2 -2
  390. package/dist/kolibri/{component-DhBTawyT.js.map → component-D30YHxgS.js.map} +1 -1
  391. package/dist/kolibri/{component-G9vQ1mQA.js → component-DXmRJdLc.js} +2 -2
  392. package/dist/{esm/component-G9vQ1mQA.js.map → kolibri/component-DXmRJdLc.js.map} +1 -1
  393. package/dist/kolibri/{component-QCFfSS76.js → component-DoCNds1d.js} +2 -2
  394. package/dist/{esm/component-QCFfSS76.js.map → kolibri/component-DoCNds1d.js.map} +1 -1
  395. package/dist/kolibri/{component-CvhmYY4a.js → component-fK2EUkFf.js} +2 -2
  396. package/dist/kolibri/{component-CvhmYY4a.js.map → component-fK2EUkFf.js.map} +1 -1
  397. package/dist/kolibri/{component-sf_0WjJF.js → component-kDR4_xf0.js} +2 -2
  398. package/dist/{esm/component-sf_0WjJF.js.map → kolibri/component-kDR4_xf0.js.map} +1 -1
  399. package/dist/kolibri/{component-D0iTurA_.js → component-kxFmDVse.js} +2 -2
  400. package/dist/kolibri/{component-D0iTurA_.js.map → component-kxFmDVse.js.map} +1 -1
  401. package/dist/kolibri/{dev.utils-BGy8dbtQ.js → dev.utils-DDqySnXB.js} +2 -2
  402. package/dist/{esm/dev.utils-BGy8dbtQ.js.map → kolibri/dev.utils-DDqySnXB.js.map} +1 -1
  403. package/dist/kolibri/{devtools-CZ8Mnmwl.js → devtools-CjmOcVsT.js} +2 -2
  404. package/dist/{esm/devtools-CZ8Mnmwl.js.map → kolibri/devtools-CjmOcVsT.js.map} +1 -1
  405. package/dist/kolibri/field-control-Dkru7B-M.js +5 -0
  406. package/dist/kolibri/{field-control-CLnFuMmy.js.map → field-control-Dkru7B-M.js.map} +1 -1
  407. package/dist/kolibri/{group-BAOmF5Ok.js → group-CXJiUqKv.js} +2 -2
  408. package/dist/{esm/group-BAOmF5Ok.js.map → kolibri/group-CXJiUqKv.js.map} +1 -1
  409. package/dist/kolibri/{index-DAKQV03B.js → index-wY4pHWJG.js} +2 -2
  410. package/dist/kolibri/index-wY4pHWJG.js.map +1 -0
  411. package/dist/kolibri/input-C_ZwHs-7.js +5 -0
  412. package/dist/kolibri/{input-D2i1QEbL.js.map → input-C_ZwHs-7.js.map} +1 -1
  413. package/dist/kolibri/input-container-CBl9xcK-.js +5 -0
  414. package/dist/{esm/input-container-wQm8-W3s.js.map → kolibri/input-container-CBl9xcK-.js.map} +1 -1
  415. package/dist/kolibri/item-BacIXvMT.js +5 -0
  416. package/dist/kolibri/{item-Dkm57tce.js.map → item-BacIXvMT.js.map} +1 -1
  417. package/dist/kolibri/item-DewHrd_f.js +5 -0
  418. package/dist/{esm/item-DbLIGnc9.js.map → kolibri/item-DewHrd_f.js.map} +1 -1
  419. package/dist/kolibri/item-lEB6GAqe.js +5 -0
  420. package/dist/kolibri/{item-DuBSR8BS.js.map → item-lEB6GAqe.js.map} +1 -1
  421. package/dist/kolibri/{item-DJ8LXOMv.js → item-nGiqyOvt.js} +2 -2
  422. package/dist/{esm/item-DJ8LXOMv.js.map → kolibri/item-nGiqyOvt.js.map} +1 -1
  423. package/dist/kolibri/kol-abbr.entry.js +1 -1
  424. package/dist/kolibri/kol-accordion.entry.js +1 -1
  425. package/dist/kolibri/kol-alert.entry.js +1 -1
  426. package/dist/kolibri/kol-avatar.entry.js +1 -1
  427. package/dist/kolibri/kol-badge.entry.js +1 -1
  428. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  429. package/dist/kolibri/kol-button-link.entry.js +1 -1
  430. package/dist/kolibri/kol-button.entry.js +1 -1
  431. package/dist/kolibri/kol-card.entry.js +1 -1
  432. package/dist/kolibri/kol-click-button.entry.js +1 -1
  433. package/dist/kolibri/kol-combobox.entry.js +1 -1
  434. package/dist/kolibri/kol-details.entry.js +1 -1
  435. package/dist/kolibri/kol-dialog.entry.js +1 -1
  436. package/dist/kolibri/kol-drawer.entry.js +1 -1
  437. package/dist/kolibri/kol-form.entry.js +1 -1
  438. package/dist/kolibri/kol-heading.entry.js +1 -1
  439. package/dist/kolibri/kol-icon.entry.js +1 -1
  440. package/dist/kolibri/kol-image.entry.js +1 -1
  441. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  442. package/dist/kolibri/kol-input-color.entry.js +1 -1
  443. package/dist/kolibri/kol-input-date.entry.js +1 -1
  444. package/dist/kolibri/kol-input-email.entry.js +1 -1
  445. package/dist/kolibri/kol-input-file.entry.js +1 -1
  446. package/dist/kolibri/kol-input-number.entry.js +1 -1
  447. package/dist/kolibri/kol-input-password.entry.js +1 -1
  448. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  449. package/dist/kolibri/kol-input-range.entry.js +1 -1
  450. package/dist/kolibri/kol-input-text.entry.js +1 -1
  451. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  452. package/dist/kolibri/kol-link-button.entry.js +1 -1
  453. package/dist/kolibri/kol-link.entry.js +1 -1
  454. package/dist/kolibri/kol-meter.entry.js +1 -1
  455. package/dist/kolibri/kol-modal.entry.js +1 -1
  456. package/dist/kolibri/kol-nav.entry.js +1 -1
  457. package/dist/kolibri/kol-pagination.entry.js +1 -1
  458. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  459. package/dist/kolibri/kol-progress.entry.js +1 -1
  460. package/dist/kolibri/kol-quote.entry.js +1 -1
  461. package/dist/kolibri/kol-select.entry.js +1 -1
  462. package/dist/kolibri/kol-single-select.entry.js +1 -1
  463. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  464. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  465. package/dist/kolibri/kol-spin.entry.js +1 -1
  466. package/dist/kolibri/kol-split-button.entry.js +1 -1
  467. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  468. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  469. package/dist/kolibri/kol-tabs.entry.js +1 -1
  470. package/dist/kolibri/kol-textarea.entry.js +1 -1
  471. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  472. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  473. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  474. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  475. package/dist/kolibri/kol-tree.entry.js +1 -1
  476. package/dist/kolibri/kol-version.entry.js +1 -1
  477. package/dist/kolibri/kolibri.esm.js +1 -1
  478. package/dist/kolibri/resolve-props-DrFDeILa.js +5 -0
  479. package/dist/{esm/resolve-props-BTiKxg-8.js.map → kolibri/resolve-props-DrFDeILa.js.map} +1 -1
  480. package/dist/kolibri/{scroll-lock-DRNyw9qH.js → scroll-lock-BotxOlMX.js} +2 -2
  481. package/dist/{esm/scroll-lock-DRNyw9qH.js.map → kolibri/scroll-lock-BotxOlMX.js.map} +1 -1
  482. package/dist/kolibri/{suggestions-CG-TuGC4.js → suggestions-CX5S2xAI.js} +2 -2
  483. package/dist/kolibri/{suggestions-CG-TuGC4.js.map → suggestions-CX5S2xAI.js.map} +1 -1
  484. package/dist/kolibri/test-component.entry.js +1 -1
  485. package/dist/kolibri/toggle-handler-VctiltrE.js +5 -0
  486. package/dist/kolibri/{toggle-handler-aTxO0Wem.js.map → toggle-handler-VctiltrE.js.map} +1 -1
  487. package/package.json +3 -3
  488. package/dist/cjs/index-RAfZF5x0.js.map +0 -1
  489. package/dist/esm/index-DAKQV03B.js.map +0 -1
  490. package/dist/kolibri/api-B6fEjFVl.js +0 -5
  491. package/dist/kolibri/api-T-JuZMlj.js +0 -5
  492. package/dist/kolibri/app-globals-CvvWI2x9.js +0 -5
  493. package/dist/kolibri/component-BaD1OTyv.js +0 -5
  494. package/dist/kolibri/component-CmBM-Y1C.js +0 -5
  495. package/dist/kolibri/field-control-CLnFuMmy.js +0 -5
  496. package/dist/kolibri/index-DAKQV03B.js.map +0 -1
  497. package/dist/kolibri/input-D2i1QEbL.js +0 -5
  498. package/dist/kolibri/input-container-wQm8-W3s.js +0 -5
  499. package/dist/kolibri/item-DbLIGnc9.js +0 -5
  500. package/dist/kolibri/item-Dkm57tce.js +0 -5
  501. package/dist/kolibri/item-DuBSR8BS.js +0 -5
  502. package/dist/kolibri/resolve-props-BTiKxg-8.js +0 -5
  503. package/dist/kolibri/toggle-handler-aTxO0Wem.js +0 -5
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as n,r as e,H as t,g as o}from"./index-DAKQV03B.js";import{c as i,B as l}from"./base-web-component-3R1Dy3QK.js";import{i as a,g as r,f as s,B as d,F as c}from"./api-B6fEjFVl.js";import{i as h,F as p}from"./field-control-CLnFuMmy.js";import{f,n as u}from"./options-B0rBHetL.js";import{a as m}from"./tslib.es6-QNbPBOk5.js";import"./common-BqpMtheU.js";import{b}from"./bem-registry-CX5kvaqt.js";import{c as k}from"./clsx-COFh-Vc8.js";import{B as g}from"./component-DhBTawyT.js";import{I as y}from"./input-D2i1QEbL.js";import{c as w}from"./options-BFYSv5Hx.js";import{n as _}from"./orientation-CLMxU4CB.js";import{r as v}from"./required-9s98RyZz.js";import{v as x}from"./variant-CeijQFzL.js";import{T as j}from"./behavior-D1kOlK6p.js";import{c as B,a as T}from"./dev.utils-BGy8dbtQ.js";import{b as z,s as C}from"./element-interaction-Cy9tx3Sx.js";import{d as S,s as D}from"./element-focus-Cp994Rrk.js";import{p as A}from"./controller-D1hrFVo3.js";import"./isArray-CcrBs4JM.js";import"./component-QCFfSS76.js";import"./component-DKS73hKY.js";import"./events-CRHxtwup.js";import"./behavior-DnkpB_7O.js";import"./bootstrap-CkRwOZrg.js";import"./component-names-Dhbtt0mX.js";import"./i18n-exgMSyNT.js";import"./aria-labelledby-BRToXqsQ.js";import"./name-D8963H-v.js";import"./disabled-CdyeAMlW.js";import"./label-with-expert-slot-CocPu9HB.js";import"./item-DuBSR8BS.js";import"./resolve-props-YWmoYL6c.js";import"./api-BvTefIaj.js";import"./item-DbLIGnc9.js";import"./component-Ch6fss2f.js";import"./align-DeB15XnU.js";import"./component-CmBM-Y1C.js";import"./component-sf_0WjJF.js";import"./component-CvhmYY4a.js";import"./i18n-BaCf-SDK.js";import"./component-BjWF1SyZ.js";import"./Heading-BctDgC7M.js";import"./block-bem-DxQXsOt3.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./label-c9P7yC4V.js";const q=w();const O=i("orientation","vertical",_);const M=i("value",null,(n=>Array.isArray(n)?n[0]:n));const L=b.forBlock("kol-input-radio");const F=e=>{var{class:t,inputProps:o}=e,i=m(e,["class","inputProps"]);const{class:l}=o,s=m(o,["class"]);return n(g,Object.assign({component:"label",block:"kol-input-radio",modifiers:Object.assign({checked:Boolean(o.checked),disabled:Boolean(o.disabled),required:Boolean(o.required),touched:Boolean(o.touched)},a(o.msg,o.touched)?{[r(o.msg)]:true}:{}),class:t},i),n(y,Object.assign({class:k(L("input"),l)},s,{type:"radio"})))};const V={required:[...s.required],optional:[...s.optional,q,O,M,v,x]};const I='@charset "UTF-8";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser\'s\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1791539188494"); /* IE9*/\n src: url("kolicons.eot?t=1791539188494#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791539188494") format("woff2"), url("kolicons.woff?t=1791539188494") format("woff"), url("kolicons.ttf?t=1791539188494") format("truetype"), url("kolicons.svg?t=1791539188494#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-pin-pinned::before {\n content: "\\ea15";\n }\n .kolicon-pin-unpinned::before {\n content: "\\ea16";\n }\n .kolicon-plus::before {\n content: "\\ea17";\n }\n .kolicon-settings::before {\n content: "\\ea18";\n }\n .kolicon-sort-asc::before {\n content: "\\ea19";\n }\n .kolicon-sort-desc::before {\n content: "\\ea1a";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea1b";\n }\n .kolicon-up::before {\n content: "\\ea1c";\n }\n .kolicon-version::before {\n content: "\\ea1d";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-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 .kol-field-control {\n display: grid;\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: left;\n grid-template-areas: "input label";\n grid-template-columns: auto 1fr;\n grid-template-rows: auto;\n }\n .kol-field-control:has(.kol-field-control__hint) {\n grid-template-areas: "input label" "hint hint";\n grid-template-columns: auto 1fr;\n grid-template-rows: auto auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label) {\n grid-template-areas: "label input";\n grid-template-columns: 1fr auto;\n grid-template-rows: auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label):has(.kol-field-control__hint) {\n grid-template-areas: "label input" "hint hint";\n grid-template-columns: 1fr auto;\n grid-template-rows: auto auto;\n }\n .kol-field-control__input {\n display: flex;\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-area: input;\n }\n .kol-field-control__label {\n display: flex;\n min-height: var(--a11y-min-size);\n flex-grow: 1;\n align-items: center;\n cursor: pointer;\n grid-area: label;\n }\n .kol-field-control__label--visually-hidden {\n display: none;\n height: 0;\n margin: 0;\n padding: 0;\n visibility: hidden;\n }\n .kol-field-control__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-field-control__hint {\n grid-area: hint;\n }\n .kol-field-control--disabled .kol-field-control__label {\n cursor: not-allowed;\n }\n .kol-field-control--required .kol-field-control__label-text:has(.kol-span__slot[hidden])::after,\n .kol-field-control--required .kol-field-control .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-form-field .kol-popover-button {\n /*\n * The predecessor rendered this box as an unstyled (inline) custom element host; keep the\n * inline display so the flow layout around the embedded button stays unchanged.\n */\n display: inline;\n }\n .kol-form-field .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-form-field .kol-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-form-field .kol-popover-button--inline {\n display: inline-block;\n /* The size exemption has to cover both the BEM root div and the inner interactive element:\n the a11y layer pins every `button` to 44×44, so the inner `kol-button__interactive-element`\n needs the override as well — the root alone used to be the button before the skeleton migration. */\n }\n .kol-form-field .kol-popover-button--inline .kol-button,\n .kol-form-field .kol-popover-button--inline .kol-button .kol-button__interactive-element {\n min-width: 0;\n min-height: 1em;\n }\n .kol-form-field .kol-popover {\n opacity: 0;\n transition: 0.2s ease-out opacity;\n }\n .kol-form-field .kol-popover-button--open .kol-popover-button__popover {\n opacity: 1;\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label {\n display: flex;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden]) .kol-span__label::after,\n .kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-form-field {\n --border-width: 2px;\n --input-size: 1.5em;\n }\n .kol-form-field__label {\n display: contents;\n }\n .kol-form-field__label-text {\n display: ruby;\n }\n .kol-form-field__input {\n display: flex;\n flex-direction: column;\n }\n .kol-form-field__input--orientation-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n }\n .kol-form-field--disabled {\n opacity: unset;\n }\n .kol-input-radio {\n display: flex;\n position: relative;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-input-radio__input {\n border-style: solid;\n border-radius: 100%;\n display: flex;\n width: var(--input-size);\n min-width: var(--input-size);\n height: var(--input-size);\n min-height: var(--input-size);\n margin: 0;\n padding: 0;\n border-width: var(--border-width);\n appearance: none;\n cursor: pointer;\n }\n .kol-input-radio__input:before {\n border-radius: 100%;\n width: calc(var(--input-size) / 2);\n height: calc(var(--input-size) / 2);\n margin: auto;\n content: "";\n }\n .kol-input-radio__input:checked:before {\n background-color: black;\n }\n @media (forced-colors: active) {\n .kol-input-radio__input:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-input-radio__input:disabled {\n cursor: not-allowed;\n }\n .kol-input-radio--disabled {\n cursor: not-allowed;\n }\n}';const H=class extends d{constructor(n){super();e(this,n);this.id=B("input-radio");this.infoPopoverOpen=false;this.inputHasFocus=false;this.inputRefs=new Map;this.keyOptionMap=new Map;this.optionTooltips=new Map;this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._orientation="vertical";this._required=false;this._tooltipAlign="top";this._touched=false;this._value=null;this.setSelectedInputRef=n=>{this.inputRef=n};this.setOptionInputRef=n=>e=>{if(e){this.inputRefs.set(n,e)}else{this.inputRefs.delete(n)}};this.handleRadioInput=n=>{const e=this.getOptionOfEvent(n);if(e!==undefined){this.handleInput(n,e.value)}};this.handleRadioChange=n=>{const e=this.getOptionOfEvent(n);if(e!==undefined){this.handleChange(n,e.value);this._value=e.value}};this.handleRadioKeyDown=n=>{this.handleKeyDown(n);if(n.code==="Enter"||n.code==="NumpadEnter"){A({form:this.host})}};this.initFormAssociation("radio",this._name)}watchAriaDetails(n){this.applyAriaDetails(n)}watchDisabled(n){this.applyDisabled(n)}watchHideMsg(n){this.applyHideMsg(n)}watchHideLabel(n){this.applyHideLabel(n)}watchHint(n){this.applyHint(n)}watchInfoPopover(n){this.applyInfoPopover(n)}watchLabel(n){this.applyLabel(n)}watchMsg(n){this.applyMsg(n)}watchName(n){this.applyName(n)}watchOn(n){this.applyOn(n)}watchOptions(n){q.apply(n,(n=>{this.setRenderProp("options",n);if(n.length>0){this.keyOptionMap.clear();f(this.keyOptionMap,u(n))}}))}watchOrientation(n){O.apply(n,(n=>this.setRenderProp("orientation",n)))}watchRequired(n){v.apply(n,(n=>this.setRenderProp("required",n)))}watchSyncValueBySelector(n){this.applySyncValueBySelector(n)}watchTooltipAlign(n){this.applyTooltipAlign(n)}watchTouched(n){this.applyTouched(n)}watchValue(n){if(n===null||n===undefined){this.setRenderProp("value",n)}else{M.apply(n,(n=>this.setRenderProp("value",n)))}this.formAssociation.setFormAssociatedValue(this.getRenderProp("value"))}watchVariant(n){x.apply(n,(n=>this.setRenderProp("variant",n)))}async getValue(){return this._value}async focus(n){const e=this.getFocusableInput();return S(this.host,(()=>D(e,n)))}async click(){return z(this.host,(async()=>C(this.getFocusableInput())))}componentWillLoad(){this.initRenderProps(V);this._touched=this._touched===true;this.watchAriaDetails(this._ariaDetails);this.watchName(this._name);this.watchSyncValueBySelector(this._syncValueBySelector);this.watchTouched(this._touched);this.watchMsg(this._msg);this.watchDisabled(this._disabled);this.watchHideMsg(this._hideMsg);this.watchHideLabel(this._hideLabel);this.watchHint(this._hint);this.watchInfoPopover(this._infoPopover);this.watchLabel(this._label);this.watchOn(this._on);this.watchTooltipAlign(this._tooltipAlign);this.watchVariant(this._variant);this.watchRequired(this._required);this.watchOrientation(this._orientation);this.watchOptions(this._options);this.watchValue(this._value)}componentDidRender(){this.syncFormField()}disconnectedCallback(){this.destroyFormField();this.optionTooltips.forEach((n=>n.destroy()));this.optionTooltips.clear()}isOptionSelected(n){var e;return this.getRenderProp("value")===((e=n.value)!==null&&e!==void 0?e:n.label)}getFocusableInput(){const n=this.getRenderProp("options");const e=Boolean(this.getRenderProp("disabled"));const t=n.findIndex((n=>this.isOptionSelected(n)&&!e&&!n.disabled));if(t!==-1){const n=this.inputRefs.get(t);if(n){return n}}const o=n.findIndex((n=>!e&&!n.disabled));if(o!==-1){return this.inputRefs.get(o)}return undefined}getOptionOfEvent(n){return n.target instanceof HTMLInputElement?this.keyOptionMap.get(n.target.value):undefined}getOptionTooltipRefs(n,e){let t=this.optionTooltips.get(n);if(h({hideLabel:this.getRenderProp("hideLabel"),label:e})){if(!t){t=new j(l.stateLess);t.componentWillLoad({label:""});this.optionTooltips.set(n,t)}t.watchAlign(this.getRenderProp("tooltipAlign"));t.watchBadgeText("");t.watchId(T(n,"label"));t.watchLabel(e)}else if(t){t.destroy();this.optionTooltips.delete(n);t=undefined}const o=t;return{refInput:n=>{if(o&&n){o.initContext(n);o.syncListeners(undefined,n,true)}},refTooltip:n=>{o===null||o===void 0?void 0:o.setTooltipElementRef(n)}}}isOptionDisabled(n){return Boolean(this.getRenderProp("disabled"))||Boolean(n.disabled)}getInputProps(n,e,t,o){const{hasError:i}=this.getAria();const l=this.getRenderProp("hideLabel");return{id:e,hideLabel:l,label:this.getRenderProp("label"),value:`-${t}`,disabled:this.isOptionDisabled(n),name:this.getRenderProp("name")||this.id,required:this.getRenderProp("required"),touched:this.getRenderProp("touched"),msg:this.getRenderProp("msg"),ref:n=>{this.setOptionInputRef(t)(n);if(o){this.setSelectedInputRef(n)}},"aria-label":l&&typeof n.label==="string"?n.label:undefined,type:"radio",checked:o,onBlur:this.handleBlur,onChange:this.handleRadioChange,onFocus:this.handleFocus,onInput:this.handleRadioInput,onKeyDown:this.handleRadioKeyDown,"aria-invalid":i?"true":undefined}}renderOption(e,t){const o=T(this.id,String(t));const i=this.isOptionSelected(e);const l=e.label;return n(p,Object.assign({key:o,id:o,label:l,hint:e.hint,hideLabel:this.getRenderProp("hideLabel"),tooltipAlign:this.getRenderProp("tooltipAlign"),disabled:this.isOptionDisabled(e),msg:this.getRenderProp("msg"),touched:this.getRenderProp("touched"),required:false,labelProps:{showBadge:false}},this.getOptionTooltipRefs(o,l)),n(F,{inputProps:this.getInputProps(e,o,t,i)}))}render(){const{ariaDescribedBy:e}=this.getAria();return n(t,{key:"448a7178237cfb5c8de1c88c161d41cf6812b626"},n(c,Object.assign({key:"afd376a962952f497fe18f8cbf417b950bfa6a6e"},this.getFormFieldProps({class:"kol-form-field--radio",required:this.getRenderProp("required"),variant:this.getRenderProp("variant"),renderNoTooltip:true}),{component:"fieldset",orientation:this.getRenderProp("orientation"),hideLabel:false,ariaDescribedBy:e.length>0?e.join(" "):undefined}),this.getRenderProp("options").map(((n,e)=>this.renderOption(n,e)))))}get host(){return o(this)}static get watchers(){return{_ariaDetails:["watchAriaDetails"],_disabled:["watchDisabled"],_hideMsg:["watchHideMsg"],_hideLabel:["watchHideLabel"],_hint:["watchHint"],_infoPopover:["watchInfoPopover"],_label:["watchLabel"],_msg:["watchMsg"],_name:["watchName"],_on:["watchOn"],_options:["watchOptions"],_orientation:["watchOrientation"],_required:["watchRequired"],_syncValueBySelector:["watchSyncValueBySelector"],_tooltipAlign:["watchTooltipAlign"],_touched:["watchTouched"],_value:["watchValue"],_variant:["watchVariant"]}}};H.style={default:I};export{H as kol_input_radio};
4
+ import{h as n,r as e,H as t,g as o}from"./index-wY4pHWJG.js";import{c as i,B as l}from"./base-web-component-3R1Dy3QK.js";import{i as a,g as r,f as s,B as d,F as c}from"./api-Bhr2ic7C.js";import{i as h,F as p}from"./field-control-Dkru7B-M.js";import{f,n as u}from"./options-B0rBHetL.js";import{a as m}from"./tslib.es6-QNbPBOk5.js";import"./common-BqpMtheU.js";import{b}from"./bem-registry-CX5kvaqt.js";import{c as k}from"./clsx-COFh-Vc8.js";import{B as g}from"./component-D30YHxgS.js";import{I as y}from"./input-C_ZwHs-7.js";import{c as w}from"./options-BFYSv5Hx.js";import{n as _}from"./orientation-CLMxU4CB.js";import{r as v}from"./required-9s98RyZz.js";import{v as x}from"./variant-CeijQFzL.js";import{T as j}from"./behavior-D1kOlK6p.js";import{c as T,a as z}from"./dev.utils-DDqySnXB.js";import{b as B,s as C}from"./element-interaction-Cy9tx3Sx.js";import{d as D,s as A}from"./element-focus-Cp994Rrk.js";import{p as S}from"./controller-D1hrFVo3.js";import"./isArray-CcrBs4JM.js";import"./component-DoCNds1d.js";import"./component-C4dhT4Ba.js";import"./events-CRHxtwup.js";import"./behavior-DnkpB_7O.js";import"./bootstrap-CkRwOZrg.js";import"./component-names-Dhbtt0mX.js";import"./i18n-exgMSyNT.js";import"./aria-labelledby-BRToXqsQ.js";import"./name-D8963H-v.js";import"./disabled-CdyeAMlW.js";import"./label-with-expert-slot-CocPu9HB.js";import"./item-lEB6GAqe.js";import"./resolve-props-YWmoYL6c.js";import"./api-BvTefIaj.js";import"./item-DewHrd_f.js";import"./component-CHz6TLzY.js";import"./align-DeB15XnU.js";import"./component-CODtL04S.js";import"./component-kDR4_xf0.js";import"./component-fK2EUkFf.js";import"./i18n-BaCf-SDK.js";import"./component-CBkrKKXd.js";import"./Heading-DYEtnAIe.js";import"./block-bem-DxQXsOt3.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./label-c9P7yC4V.js";const q=w();const O=i("orientation","vertical",_);const L=i("value",null,(n=>Array.isArray(n)?n[0]:n));const M=b.forBlock("kol-input-radio");const H=e=>{var{class:t,inputProps:o}=e,i=m(e,["class","inputProps"]);const{class:l}=o,s=m(o,["class"]);return n(g,Object.assign({component:"label",block:"kol-input-radio",modifiers:Object.assign({checked:Boolean(o.checked),disabled:Boolean(o.disabled),required:Boolean(o.required),touched:Boolean(o.touched)},a(o.msg,o.touched)?{[r(o.msg)]:true}:{}),class:t},i),n(y,Object.assign({class:k(M("input"),l)},s,{type:"radio"})))};const I={required:[...s.required],optional:[...s.optional,q,O,L,v,x]};const V='@charset "UTF-8";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser\'s\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1791544630279"); /* IE9*/\n src: url("kolicons.eot?t=1791544630279#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791544630279") format("woff2"), url("kolicons.woff?t=1791544630279") format("woff"), url("kolicons.ttf?t=1791544630279") format("truetype"), url("kolicons.svg?t=1791544630279#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 .kol-field-control {\n display: grid;\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: left;\n grid-template-areas: "input label";\n grid-template-columns: auto 1fr;\n grid-template-rows: auto;\n }\n .kol-field-control:has(.kol-field-control__hint) {\n grid-template-areas: "input label" "hint hint";\n grid-template-columns: auto 1fr;\n grid-template-rows: auto auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label) {\n grid-template-areas: "label input";\n grid-template-columns: 1fr auto;\n grid-template-rows: auto;\n }\n .kol-field-control--label-align-left:not(.kol-field-control--hide-label):has(.kol-field-control__hint) {\n grid-template-areas: "label input" "hint hint";\n grid-template-columns: 1fr auto;\n grid-template-rows: auto auto;\n }\n .kol-field-control__input {\n display: flex;\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-area: input;\n }\n .kol-field-control__label {\n display: flex;\n min-height: var(--a11y-min-size);\n flex-grow: 1;\n align-items: center;\n cursor: pointer;\n grid-area: label;\n }\n .kol-field-control__label--visually-hidden {\n display: none;\n height: 0;\n margin: 0;\n padding: 0;\n visibility: hidden;\n }\n .kol-field-control__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-field-control__hint {\n grid-area: hint;\n }\n .kol-field-control--disabled .kol-field-control__label {\n cursor: not-allowed;\n }\n .kol-field-control--required .kol-field-control__label-text:has(.kol-span__slot[hidden])::after,\n .kol-field-control--required .kol-field-control .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-form-field .kol-popover-button {\n /*\n * The predecessor rendered this box as an unstyled (inline) custom element host; keep the\n * inline display so the flow layout around the embedded button stays unchanged.\n */\n display: inline;\n }\n .kol-form-field .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-form-field .kol-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-form-field .kol-popover-button--inline {\n display: inline-block;\n /* The size exemption has to cover both the BEM root div and the inner interactive element:\n the a11y layer pins every `button` to 44×44, so the inner `kol-button__interactive-element`\n needs the override as well — the root alone used to be the button before the skeleton migration. */\n }\n .kol-form-field .kol-popover-button--inline .kol-button,\n .kol-form-field .kol-popover-button--inline .kol-button .kol-button__interactive-element {\n min-width: 0;\n min-height: 1em;\n }\n .kol-form-field .kol-popover {\n opacity: 0;\n transition: 0.2s ease-out opacity;\n }\n .kol-form-field .kol-popover-button--open .kol-popover-button__popover {\n opacity: 1;\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label {\n display: flex;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden]) .kol-span__label::after,\n .kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-form-field {\n --border-width: 2px;\n --input-size: 1.5em;\n }\n .kol-form-field__label {\n display: contents;\n }\n .kol-form-field__label-text {\n display: ruby;\n }\n .kol-form-field__input {\n display: flex;\n flex-direction: column;\n }\n .kol-form-field__input--orientation-horizontal {\n flex-direction: row;\n flex-wrap: wrap;\n align-items: flex-start;\n }\n .kol-form-field--disabled {\n opacity: unset;\n }\n .kol-input-radio {\n display: flex;\n position: relative;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n justify-content: center;\n cursor: pointer;\n }\n .kol-input-radio__input {\n border-style: solid;\n border-radius: 100%;\n display: flex;\n width: var(--input-size);\n min-width: var(--input-size);\n height: var(--input-size);\n min-height: var(--input-size);\n margin: 0;\n padding: 0;\n border-width: var(--border-width);\n appearance: none;\n cursor: pointer;\n }\n .kol-input-radio__input:before {\n border-radius: 100%;\n width: calc(var(--input-size) / 2);\n height: calc(var(--input-size) / 2);\n margin: auto;\n content: "";\n }\n .kol-input-radio__input:checked:before {\n background-color: black;\n }\n @media (forced-colors: active) {\n .kol-input-radio__input:checked:before {\n /* Give it a visible background in forced colors mode */\n background-color: selectedItem !important;\n }\n }\n .kol-input-radio__input:disabled {\n cursor: not-allowed;\n }\n .kol-input-radio--disabled {\n cursor: not-allowed;\n }\n}';const G=class extends d{constructor(n){super();e(this,n);this.id=T("input-radio");this.infoPopoverOpen=false;this.inputHasFocus=false;this.inputRefs=new Map;this.keyOptionMap=new Map;this.optionTooltips=new Map;this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._orientation="vertical";this._required=false;this._tooltipAlign="top";this._touched=false;this._value=null;this.setSelectedInputRef=n=>{this.inputRef=n};this.setOptionInputRef=n=>e=>{if(e){this.inputRefs.set(n,e)}else{this.inputRefs.delete(n)}};this.handleRadioInput=n=>{const e=this.getOptionOfEvent(n);if(e!==undefined){this.handleInput(n,e.value)}};this.handleRadioChange=n=>{const e=this.getOptionOfEvent(n);if(e!==undefined){this.handleChange(n,e.value);this._value=e.value}};this.handleRadioKeyDown=n=>{this.handleKeyDown(n);if(n.code==="Enter"||n.code==="NumpadEnter"){S({form:this.host})}};this.initFormAssociation("radio",this._name)}watchAriaDetails(n){this.applyAriaDetails(n)}watchDisabled(n){this.applyDisabled(n)}watchHideMsg(n){this.applyHideMsg(n)}watchHideLabel(n){this.applyHideLabel(n)}watchHint(n){this.applyHint(n)}watchInfoPopover(n){this.applyInfoPopover(n)}watchLabel(n){this.applyLabel(n)}watchMsg(n){this.applyMsg(n)}watchName(n){this.applyName(n)}watchOn(n){this.applyOn(n)}watchOptions(n){q.apply(n,(n=>{this.setRenderProp("options",n);if(n.length>0){this.keyOptionMap.clear();f(this.keyOptionMap,u(n))}}))}watchOrientation(n){O.apply(n,(n=>this.setRenderProp("orientation",n)))}watchRequired(n){v.apply(n,(n=>this.setRenderProp("required",n)))}watchSyncValueBySelector(n){this.applySyncValueBySelector(n)}watchTooltipAlign(n){this.applyTooltipAlign(n)}watchTouched(n){this.applyTouched(n)}watchValue(n){if(n===null||n===undefined){this.setRenderProp("value",n)}else{L.apply(n,(n=>this.setRenderProp("value",n)))}this.formAssociation.setFormAssociatedValue(this.getRenderProp("value"))}watchVariant(n){x.apply(n,(n=>this.setRenderProp("variant",n)))}async getValue(){return this._value}async focus(n){const e=this.getFocusableInput();return D(this.host,(()=>A(e,n)))}async click(){return B(this.host,(async()=>C(this.getFocusableInput())))}componentWillLoad(){this.initRenderProps(I);this._touched=this._touched===true;this.watchAriaDetails(this._ariaDetails);this.watchName(this._name);this.watchSyncValueBySelector(this._syncValueBySelector);this.watchTouched(this._touched);this.watchMsg(this._msg);this.watchDisabled(this._disabled);this.watchHideMsg(this._hideMsg);this.watchHideLabel(this._hideLabel);this.watchHint(this._hint);this.watchInfoPopover(this._infoPopover);this.watchLabel(this._label);this.watchOn(this._on);this.watchTooltipAlign(this._tooltipAlign);this.watchVariant(this._variant);this.watchRequired(this._required);this.watchOrientation(this._orientation);this.watchOptions(this._options);this.watchValue(this._value)}componentDidRender(){this.syncFormField()}disconnectedCallback(){this.destroyFormField();this.optionTooltips.forEach((n=>n.destroy()));this.optionTooltips.clear()}isOptionSelected(n){var e;return this.getRenderProp("value")===((e=n.value)!==null&&e!==void 0?e:n.label)}getFocusableInput(){const n=this.getRenderProp("options");const e=Boolean(this.getRenderProp("disabled"));const t=n.findIndex((n=>this.isOptionSelected(n)&&!e&&!n.disabled));if(t!==-1){const n=this.inputRefs.get(t);if(n){return n}}const o=n.findIndex((n=>!e&&!n.disabled));if(o!==-1){return this.inputRefs.get(o)}return undefined}getOptionOfEvent(n){return n.target instanceof HTMLInputElement?this.keyOptionMap.get(n.target.value):undefined}getOptionTooltipRefs(n,e){let t=this.optionTooltips.get(n);if(h({hideLabel:this.getRenderProp("hideLabel"),label:e})){if(!t){t=new j(l.stateLess);t.componentWillLoad({label:""});this.optionTooltips.set(n,t)}t.watchAlign(this.getRenderProp("tooltipAlign"));t.watchBadgeText("");t.watchId(z(n,"label"));t.watchLabel(e)}else if(t){t.destroy();this.optionTooltips.delete(n);t=undefined}const o=t;return{refInput:n=>{if(o&&n){o.initContext(n);o.syncListeners(undefined,n,true)}},refTooltip:n=>{o===null||o===void 0?void 0:o.setTooltipElementRef(n)}}}isOptionDisabled(n){return Boolean(this.getRenderProp("disabled"))||Boolean(n.disabled)}getInputProps(n,e,t,o){const{hasError:i}=this.getAria();const l=this.getRenderProp("hideLabel");return{id:e,hideLabel:l,label:this.getRenderProp("label"),value:`-${t}`,disabled:this.isOptionDisabled(n),name:this.getRenderProp("name")||this.id,required:this.getRenderProp("required"),touched:this.getRenderProp("touched"),msg:this.getRenderProp("msg"),ref:n=>{this.setOptionInputRef(t)(n);if(o){this.setSelectedInputRef(n)}},"aria-label":l&&typeof n.label==="string"?n.label:undefined,type:"radio",checked:o,onBlur:this.handleBlur,onChange:this.handleRadioChange,onFocus:this.handleFocus,onInput:this.handleRadioInput,onKeyDown:this.handleRadioKeyDown,"aria-invalid":i?"true":undefined}}renderOption(e,t){const o=z(this.id,String(t));const i=this.isOptionSelected(e);const l=e.label;return n(p,Object.assign({key:o,id:o,label:l,hint:e.hint,hideLabel:this.getRenderProp("hideLabel"),tooltipAlign:this.getRenderProp("tooltipAlign"),disabled:this.isOptionDisabled(e),msg:this.getRenderProp("msg"),touched:this.getRenderProp("touched"),required:false,labelProps:{showBadge:false}},this.getOptionTooltipRefs(o,l)),n(H,{inputProps:this.getInputProps(e,o,t,i)}))}render(){const{ariaDescribedBy:e}=this.getAria();return n(t,{key:"448a7178237cfb5c8de1c88c161d41cf6812b626"},n(c,Object.assign({key:"afd376a962952f497fe18f8cbf417b950bfa6a6e"},this.getFormFieldProps({class:"kol-form-field--radio",required:this.getRenderProp("required"),variant:this.getRenderProp("variant"),renderNoTooltip:true}),{component:"fieldset",orientation:this.getRenderProp("orientation"),hideLabel:false,ariaDescribedBy:e.length>0?e.join(" "):undefined}),this.getRenderProp("options").map(((n,e)=>this.renderOption(n,e)))))}get host(){return o(this)}static get watchers(){return{_ariaDetails:["watchAriaDetails"],_disabled:["watchDisabled"],_hideMsg:["watchHideMsg"],_hideLabel:["watchHideLabel"],_hint:["watchHint"],_infoPopover:["watchInfoPopover"],_label:["watchLabel"],_msg:["watchMsg"],_name:["watchName"],_on:["watchOn"],_options:["watchOptions"],_orientation:["watchOrientation"],_required:["watchRequired"],_syncValueBySelector:["watchSyncValueBySelector"],_tooltipAlign:["watchTooltipAlign"],_touched:["watchTouched"],_value:["watchValue"],_variant:["watchVariant"]}}};G.style={default:V};export{G as kol_input_radio};
5
5
  //# sourceMappingURL=kol-input-radio.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as n,r as e,H as t,g as o}from"./index-DAKQV03B.js";import{_ as i}from"./tslib.es6-QNbPBOk5.js";import{v as a}from"./access-and-short-key-ijzCZfHm.js";import{h as l,g as r,I as s}from"./input-container-wQm8-W3s.js";import{f as c,B as h,F as d}from"./api-B6fEjFVl.js";import{I as p}from"./input-D2i1QEbL.js";import{i as m,a as u,b,g as f,c as k,r as g}from"./number-value-CQ8owQRn.js";import{a as y,S as w}from"./suggestions-CG-TuGC4.js";import"./common-BqpMtheU.js";import{a as v,d as _,v as x}from"./variant-CeijQFzL.js";import"./base-web-component-3R1Dy3QK.js";import{s as j}from"./step-BNDp_ZEh.js";import{s as T}from"./suggestions-B7YH2Q8H.js";import{b as z}from"./bem-registry-CX5kvaqt.js";import{c as C,a as S}from"./dev.utils-BGy8dbtQ.js";import{d as B,a as A,c as D}from"./element-interaction-Cy9tx3Sx.js";import{p as K}from"./controller-D1hrFVo3.js";import"./component-CmBM-Y1C.js";import"./component-sf_0WjJF.js";import"./clsx-COFh-Vc8.js";import"./component-DhBTawyT.js";import"./block-bem-DxQXsOt3.js";import"./component-QCFfSS76.js";import"./component-DKS73hKY.js";import"./isArray-CcrBs4JM.js";import"./component-CvhmYY4a.js";import"./events-CRHxtwup.js";import"./behavior-DnkpB_7O.js";import"./bootstrap-CkRwOZrg.js";import"./component-names-Dhbtt0mX.js";import"./i18n-exgMSyNT.js";import"./aria-labelledby-BRToXqsQ.js";import"./name-D8963H-v.js";import"./behavior-D1kOlK6p.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./align-DeB15XnU.js";import"./label-c9P7yC4V.js";import"./disabled-CdyeAMlW.js";import"./label-with-expert-slot-CocPu9HB.js";import"./item-DuBSR8BS.js";import"./resolve-props-YWmoYL6c.js";import"./api-BvTefIaj.js";import"./item-DbLIGnc9.js";import"./component-Ch6fss2f.js";import"./i18n-BaCf-SDK.js";import"./component-BjWF1SyZ.js";import"./Heading-BctDgC7M.js";import"./element-focus-Cp994Rrk.js";const M={required:[...c.required],optional:[...c.optional,v,y,l,m,u,b,_,j,T,x]};const O=z.forBlock("kol-input-range");const V=O("input",{number:true});const I=O("input",{range:true});const F=O("inputs-wrapper");const H=({max:e,min:t},o)=>n("div",{class:F,style:{"--kolibri-input-range--input-number--width":`calc(${Math.max(String(e!==null&&e!==void 0?e:100).length,String(t!==null&&t!==void 0?t:0).length,4)}ch + 2em)`}},o);const L='@charset "UTF-8";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser\'s\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1791539188494"); /* IE9*/\n src: url("kolicons.eot?t=1791539188494#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791539188494") format("woff2"), url("kolicons.woff?t=1791539188494") format("woff"), url("kolicons.ttf?t=1791539188494") format("truetype"), url("kolicons.svg?t=1791539188494#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-pin-pinned::before {\n content: "\\ea15";\n }\n .kolicon-pin-unpinned::before {\n content: "\\ea16";\n }\n .kolicon-plus::before {\n content: "\\ea17";\n }\n .kolicon-settings::before {\n content: "\\ea18";\n }\n .kolicon-sort-asc::before {\n content: "\\ea19";\n }\n .kolicon-sort-desc::before {\n content: "\\ea1a";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea1b";\n }\n .kolicon-up::before {\n content: "\\ea1c";\n }\n .kolicon-version::before {\n content: "\\ea1d";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-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-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-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 .kol-form-field .kol-popover-button {\n /*\n * The predecessor rendered this box as an unstyled (inline) custom element host; keep the\n * inline display so the flow layout around the embedded button stays unchanged.\n */\n display: inline;\n }\n .kol-form-field .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-form-field .kol-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-form-field .kol-popover-button--inline {\n display: inline-block;\n /* The size exemption has to cover both the BEM root div and the inner interactive element:\n the a11y layer pins every `button` to 44×44, so the inner `kol-button__interactive-element`\n needs the override as well — the root alone used to be the button before the skeleton migration. */\n }\n .kol-form-field .kol-popover-button--inline .kol-button,\n .kol-form-field .kol-popover-button--inline .kol-button .kol-button__interactive-element {\n min-width: 0;\n min-height: 1em;\n }\n .kol-form-field .kol-popover {\n opacity: 0;\n transition: 0.2s ease-out opacity;\n }\n .kol-form-field .kol-popover-button--open .kol-popover-button__popover {\n opacity: 1;\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label {\n display: flex;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden]) .kol-span__label::after,\n .kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input {\n background-color: transparent;\n width: 100%;\n min-width: var(--a11y-min-size);\n }\n .kol-input-range__inputs-wrapper {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n }\n .kol-input-range__input--number {\n width: var(--kolibri-input-range--input-number--width);\n text-align: right;\n }\n .kol-input-range__input--range {\n background-color: white;\n display: inline-block;\n /* Design-Hack - related with flex-grow */\n width: 0;\n min-width: calc(128 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n margin: 0;\n padding: 0;\n flex-grow: 1;\n line-height: 1.5;\n appearance: none;\n border: 1px solid black;\n }\n .kol-input-range__input:not(:disabled).kol-input-range__input--range::-webkit-slider-thumb {\n cursor: pointer;\n }\n .kol-input-range__input--range::-webkit-slider-thumb {\n background-color: black;\n border-radius: 20px;\n width: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n -webkit-appearance: none;\n }\n @media (prefers-contrast: more) or (forced-colors: active) {\n .kol-input-range__input--range::-webkit-slider-thumb {\n outline: 1px solid currentColor;\n }\n }\n .kol-input-range__input:not(:disabled).kol-input-range__input--range::-moz-range-thumb {\n cursor: pointer;\n }\n .kol-input-range__input--range::-moz-range-thumb {\n background-color: black;\n border-radius: 20px;\n width: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n -moz-appearance: none;\n }\n}';const G=class extends h{constructor(n){super();e(this,n);this.id=C("input-range");this.infoPopoverOpen=false;this.inputHasFocus=false;this.ctaRef=D();this.valueIsNumberString=false;this._autoComplete="off";this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._max=100;this._min=0;this._tooltipAlign="top";this._touched=false;this.handleRangeInput=n=>{const e=n.target;const t=this.readValue(e.value);if(e===this.rangeRef){this._value=t}else if(this.rangeRef&&Number.isFinite(Number(t))){this.rangeRef.value=String(t)}this.handleInput(n,t)};this.handleRangeChange=n=>{const e=this.readValue(n.target.value);this._value=e;this.handleChange(n,e)};this.handleNumberKeyDown=n=>{this.handleKeyDown(n);if(n.code==="Enter"||n.code==="NumpadEnter"){K({form:this.host})}};this.setRangeRef=n=>{if(n){this.rangeRef=n}};this.initFormAssociation("range",this._name)}watchAccessKey(n){v.apply(n,(n=>this.setRenderProp("accessKey",n)));a(n,this._shortKey)}watchAriaDetails(n){this.applyAriaDetails(n)}watchAutoComplete(n){y.apply(n,(n=>this.setRenderProp("autoComplete",n)))}watchDisabled(n){this.applyDisabled(n)}watchHideMsg(n){this.applyHideMsg(n)}watchHideLabel(n){this.applyHideLabel(n)}watchHint(n){this.applyHint(n)}watchIcons(n){l.apply(n,(n=>this.setRenderProp("icons",n)))}watchInfoPopover(n){this.applyInfoPopover(n)}watchLabel(n){this.applyLabel(n)}watchMax(n){m.apply(n,(n=>this.setRenderProp("max",n)))}watchMin(n){u.apply(n,(n=>this.setRenderProp("min",n)))}watchMsg(n){this.applyMsg(n)}watchName(n){this.applyName(n)}watchOn(n){this.applyOn(n)}watchShortKey(n){_.apply(n,(n=>this.setRenderProp("shortKey",n)));a(this._accessKey,n)}watchStep(n){j.apply(n,(n=>this.setRenderProp("step",n)))}watchSuggestions(n){T.apply(n,(n=>this.setRenderProp("suggestions",n)))}watchSyncValueBySelector(n){this.applySyncValueBySelector(n)}watchTooltipAlign(n){this.applyTooltipAlign(n)}watchTouched(n){this.applyTouched(n)}watchValue(n){var e;b.apply(n,(n=>this.setRenderProp("value",n)));this.formAssociation.setFormAssociatedValue((e=this.getRenderProp("value"))!==null&&e!==void 0?e:null);if(n!==undefined){this.valueIsNumberString=f(n)==="NumberString"}}watchVariant(n){x.apply(n,(n=>this.setRenderProp("variant",n)))}async getValue(){if(this.ctaRef.el!==undefined){return this.readValue(this.ctaRef.el.value)}}async focus(n){}async click(){}componentWillLoad(){this.initRenderProps(M);this.setRenderProp("min",0);this.setRenderProp("max",100);this._touched=this._touched===true;this.watchAriaDetails(this._ariaDetails);this.watchName(this._name);this.watchSyncValueBySelector(this._syncValueBySelector);this.watchTouched(this._touched);this.watchAccessKey(this._accessKey);this.watchMsg(this._msg);this.watchDisabled(this._disabled);this.watchHideMsg(this._hideMsg);this.watchHideLabel(this._hideLabel);this.watchHint(this._hint);this.watchInfoPopover(this._infoPopover);this.watchLabel(this._label);this.watchShortKey(this._shortKey);this.watchOn(this._on);this.watchTooltipAlign(this._tooltipAlign);this.watchVariant(this._variant);this.watchIcons(this._icons);this.watchAutoComplete(this._autoComplete);this.watchMax(this._max);this.watchMin(this._min);this.watchStep(this._step);this.watchSuggestions(this._suggestions);this.watchValue(this._value)}componentDidLoad(){var n;if(!this._value&&((n=this.rangeRef)===null||n===void 0?void 0:n.value)){this._value=parseFloat(this.rangeRef.value)}}componentDidRender(){this.syncFormField()}disconnectedCallback(){this.destroyFormField()}readValue(n){var e;const t=k(n,this.getRenderProp("min"),this.getRenderProp("max"));return(e=g(t,this.valueIsNumberString?"NumberString":"number"))!==null&&e!==void 0?e:t}getSharedInputProps(){var n,e,t,o;const i=this.getRenderProp("accessKey");const a=this.getRenderProp("shortKey");return Object.assign(Object.assign(Object.assign(Object.assign({id:this.id,hideLabel:this.getRenderProp("hideLabel"),label:this.getRenderProp("label"),disabled:this.getRenderProp("disabled"),name:undefined},i?{accessKey:i}:{}),{value:(n=this.getRenderProp("value"))!==null&&n!==void 0?n:null,autoComplete:this.getRenderProp("autoComplete"),min:(e=this.getRenderProp("min"))!==null&&e!==void 0?e:null,max:(t=this.getRenderProp("max"))!==null&&t!==void 0?t:null,step:(o=this.getRenderProp("step"))!==null&&o!==void 0?o:null,touched:this.getRenderProp("touched"),msg:this.getRenderProp("msg")}),a?{"aria-keyshortcuts":a}:{}),{onBlur:this.handleBlur,onChange:this.handleRangeChange,onClick:this.handleClick,onFocus:this.handleFocus,onInput:this.handleRangeInput,onKeyDown:this.handleKeyDown})}render(){const e=this.getRenderProp("disabled");const o=this.getRenderProp("name");const i=this.getRenderProp("min");const a=this.getRenderProp("max");const l=this.getRenderProp("suggestions");const c=l.length>0;const h=c?S(this.id,"list"):undefined;const m=this.getSharedInputProps();const{ariaDescribedBy:u,hasError:b}=this.getAria();const f=b?"true":undefined;const{startAdornment:k,endAdornment:g}=r({icons:this.getRenderProp("icons")});return n(t,{key:"e05d7a0c1407e7318bb7289224fa9d4c7e8a2151"},n(d,Object.assign({key:"1fdf717b000d39985ece8b419877a04477d62be8"},this.getFormFieldProps({class:"kol-input-range range",accessKey:this.getRenderProp("accessKey")||undefined,shortKey:this.getRenderProp("shortKey")||undefined,variant:this.getRenderProp("variant")})),n(s,{key:"d4b050ebd81d10ec50f48b2aca120ab51766e7d5",disabled:e,msg:this.getRenderProp("msg"),touched:this.getRenderProp("touched"),startAdornment:k,endAdornment:g},n(H,{key:"3bdaf867dc7261375916407172ebecac318ce38c",max:a,min:i},n(p,Object.assign({key:"fd0c5b52915b7f80cc609feec6055796c6b0c24a"},m,{class:I,name:o?`${o}-range`:undefined,list:h,type:"range",tabIndex:-1,id:undefined,accessKey:undefined,"aria-hidden":"true",ref:this.setRangeRef,ariaDescribedBy:u,"aria-invalid":f})),n(p,Object.assign({key:"18f62997e3aeb154f256262518bf74b2e4956dcb"},m,{class:V,name:o?`${o}-number`:undefined,list:h,type:"number",ref:this.ctaRef,onKeyDown:this.handleNumberKeyDown,ariaDescribedBy:u,"aria-invalid":f}))),c&&n(w,{key:"59e8f18d3d7f1d4898840ed8a3a6b0a07b5f2c99",id:this.id,suggestions:l}))))}get host(){return o(this)}static get watchers(){return{_accessKey:["watchAccessKey"],_ariaDetails:["watchAriaDetails"],_autoComplete:["watchAutoComplete"],_disabled:["watchDisabled"],_hideMsg:["watchHideMsg"],_hideLabel:["watchHideLabel"],_hint:["watchHint"],_icons:["watchIcons"],_infoPopover:["watchInfoPopover"],_label:["watchLabel"],_max:["watchMax"],_min:["watchMin"],_msg:["watchMsg"],_name:["watchName"],_on:["watchOn"],_shortKey:["watchShortKey"],_step:["watchStep"],_suggestions:["watchSuggestions"],_syncValueBySelector:["watchSyncValueBySelector"],_tooltipAlign:["watchTooltipAlign"],_touched:["watchTouched"],_value:["watchValue"],_variant:["watchVariant"]}}};i([B("ctaRef")],G.prototype,"focus",null);i([A("ctaRef")],G.prototype,"click",null);G.style={default:L};export{G as kol_input_range};
4
+ import{h as n,r as e,H as t,g as o}from"./index-wY4pHWJG.js";import{_ as i}from"./tslib.es6-QNbPBOk5.js";import{v as a}from"./access-and-short-key-ijzCZfHm.js";import{h as l,g as r,I as s}from"./input-container-CBl9xcK-.js";import{f as c,B as h,F as d}from"./api-Bhr2ic7C.js";import{I as p}from"./input-C_ZwHs-7.js";import{i as m,a as u,b,g as f,c as k,r as g}from"./number-value-CQ8owQRn.js";import{a as y,S as w}from"./suggestions-CX5S2xAI.js";import"./common-BqpMtheU.js";import{a as v,d as _,v as x}from"./variant-CeijQFzL.js";import"./base-web-component-3R1Dy3QK.js";import{s as j}from"./step-BNDp_ZEh.js";import{s as z}from"./suggestions-B7YH2Q8H.js";import{b as T}from"./bem-registry-CX5kvaqt.js";import{c as C,a as S}from"./dev.utils-DDqySnXB.js";import{d as B,a as A,c as D}from"./element-interaction-Cy9tx3Sx.js";import{p as K}from"./controller-D1hrFVo3.js";import"./component-CODtL04S.js";import"./component-kDR4_xf0.js";import"./clsx-COFh-Vc8.js";import"./component-D30YHxgS.js";import"./block-bem-DxQXsOt3.js";import"./component-DoCNds1d.js";import"./component-C4dhT4Ba.js";import"./isArray-CcrBs4JM.js";import"./component-fK2EUkFf.js";import"./events-CRHxtwup.js";import"./behavior-DnkpB_7O.js";import"./bootstrap-CkRwOZrg.js";import"./component-names-Dhbtt0mX.js";import"./i18n-exgMSyNT.js";import"./aria-labelledby-BRToXqsQ.js";import"./name-D8963H-v.js";import"./behavior-D1kOlK6p.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./align-DeB15XnU.js";import"./label-c9P7yC4V.js";import"./disabled-CdyeAMlW.js";import"./label-with-expert-slot-CocPu9HB.js";import"./item-lEB6GAqe.js";import"./resolve-props-YWmoYL6c.js";import"./api-BvTefIaj.js";import"./item-DewHrd_f.js";import"./component-CHz6TLzY.js";import"./i18n-BaCf-SDK.js";import"./component-CBkrKKXd.js";import"./Heading-DYEtnAIe.js";import"./element-focus-Cp994Rrk.js";const M={required:[...c.required],optional:[...c.optional,v,y,l,m,u,b,_,j,z,x]};const H=T.forBlock("kol-input-range");const O=H("input",{number:true});const I=H("input",{range:true});const L=H("inputs-wrapper");const V=({max:e,min:t},o)=>n("div",{class:L,style:{"--kolibri-input-range--input-number--width":`calc(${Math.max(String(e!==null&&e!==void 0?e:100).length,String(t!==null&&t!==void 0?t:0).length,4)}ch + 2em)`}},o);const q='@charset "UTF-8";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser\'s\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1791544630279"); /* IE9*/\n src: url("kolicons.eot?t=1791544630279#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791544630279") format("woff2"), url("kolicons.woff?t=1791544630279") format("woff"), url("kolicons.ttf?t=1791544630279") format("truetype"), url("kolicons.svg?t=1791544630279#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-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-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 .kol-form-field .kol-popover-button {\n /*\n * The predecessor rendered this box as an unstyled (inline) custom element host; keep the\n * inline display so the flow layout around the embedded button stays unchanged.\n */\n display: inline;\n }\n .kol-form-field .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-form-field .kol-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-form-field .kol-popover-button--inline {\n display: inline-block;\n /* The size exemption has to cover both the BEM root div and the inner interactive element:\n the a11y layer pins every `button` to 44×44, so the inner `kol-button__interactive-element`\n needs the override as well — the root alone used to be the button before the skeleton migration. */\n }\n .kol-form-field .kol-popover-button--inline .kol-button,\n .kol-form-field .kol-popover-button--inline .kol-button .kol-button__interactive-element {\n min-width: 0;\n min-height: 1em;\n }\n .kol-form-field .kol-popover {\n opacity: 0;\n transition: 0.2s ease-out opacity;\n }\n .kol-form-field .kol-popover-button--open .kol-popover-button__popover {\n opacity: 1;\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label {\n display: flex;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden]) .kol-span__label::after,\n .kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input {\n background-color: transparent;\n width: 100%;\n min-width: var(--a11y-min-size);\n }\n .kol-input-range__inputs-wrapper {\n display: flex;\n flex-grow: 1;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n }\n .kol-input-range__input--number {\n width: var(--kolibri-input-range--input-number--width);\n text-align: right;\n }\n .kol-input-range__input--range {\n background-color: white;\n display: inline-block;\n /* Design-Hack - related with flex-grow */\n width: 0;\n min-width: calc(128 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(8 * 1rem / var(--kolibri-root-font-size, 16));\n margin: 0;\n padding: 0;\n flex-grow: 1;\n line-height: 1.5;\n appearance: none;\n border: 1px solid black;\n }\n .kol-input-range__input:not(:disabled).kol-input-range__input--range::-webkit-slider-thumb {\n cursor: pointer;\n }\n .kol-input-range__input--range::-webkit-slider-thumb {\n background-color: black;\n border-radius: 20px;\n width: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n -webkit-appearance: none;\n }\n @media (prefers-contrast: more) or (forced-colors: active) {\n .kol-input-range__input--range::-webkit-slider-thumb {\n outline: 1px solid currentColor;\n }\n }\n .kol-input-range__input:not(:disabled).kol-input-range__input--range::-moz-range-thumb {\n cursor: pointer;\n }\n .kol-input-range__input--range::-moz-range-thumb {\n background-color: black;\n border-radius: 20px;\n width: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n height: calc(20 * 1rem / var(--kolibri-root-font-size, 16));\n -moz-appearance: none;\n }\n}';const F=class extends h{constructor(n){super();e(this,n);this.id=C("input-range");this.infoPopoverOpen=false;this.inputHasFocus=false;this.ctaRef=D();this.valueIsNumberString=false;this._autoComplete="off";this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._max=100;this._min=0;this._tooltipAlign="top";this._touched=false;this.handleRangeInput=n=>{const e=n.target;const t=this.readValue(e.value);if(e===this.rangeRef){this._value=t}else if(this.rangeRef&&Number.isFinite(Number(t))){this.rangeRef.value=String(t)}this.handleInput(n,t)};this.handleRangeChange=n=>{const e=this.readValue(n.target.value);this._value=e;this.handleChange(n,e)};this.handleNumberKeyDown=n=>{this.handleKeyDown(n);if(n.code==="Enter"||n.code==="NumpadEnter"){K({form:this.host})}};this.setRangeRef=n=>{if(n){this.rangeRef=n}};this.initFormAssociation("range",this._name)}watchAccessKey(n){v.apply(n,(n=>this.setRenderProp("accessKey",n)));a(n,this._shortKey)}watchAriaDetails(n){this.applyAriaDetails(n)}watchAutoComplete(n){y.apply(n,(n=>this.setRenderProp("autoComplete",n)))}watchDisabled(n){this.applyDisabled(n)}watchHideMsg(n){this.applyHideMsg(n)}watchHideLabel(n){this.applyHideLabel(n)}watchHint(n){this.applyHint(n)}watchIcons(n){l.apply(n,(n=>this.setRenderProp("icons",n)))}watchInfoPopover(n){this.applyInfoPopover(n)}watchLabel(n){this.applyLabel(n)}watchMax(n){m.apply(n,(n=>this.setRenderProp("max",n)))}watchMin(n){u.apply(n,(n=>this.setRenderProp("min",n)))}watchMsg(n){this.applyMsg(n)}watchName(n){this.applyName(n)}watchOn(n){this.applyOn(n)}watchShortKey(n){_.apply(n,(n=>this.setRenderProp("shortKey",n)));a(this._accessKey,n)}watchStep(n){j.apply(n,(n=>this.setRenderProp("step",n)))}watchSuggestions(n){z.apply(n,(n=>this.setRenderProp("suggestions",n)))}watchSyncValueBySelector(n){this.applySyncValueBySelector(n)}watchTooltipAlign(n){this.applyTooltipAlign(n)}watchTouched(n){this.applyTouched(n)}watchValue(n){var e;b.apply(n,(n=>this.setRenderProp("value",n)));this.formAssociation.setFormAssociatedValue((e=this.getRenderProp("value"))!==null&&e!==void 0?e:null);if(n!==undefined){this.valueIsNumberString=f(n)==="NumberString"}}watchVariant(n){x.apply(n,(n=>this.setRenderProp("variant",n)))}async getValue(){if(this.ctaRef.el!==undefined){return this.readValue(this.ctaRef.el.value)}}async focus(n){}async click(){}componentWillLoad(){this.initRenderProps(M);this.setRenderProp("min",0);this.setRenderProp("max",100);this._touched=this._touched===true;this.watchAriaDetails(this._ariaDetails);this.watchName(this._name);this.watchSyncValueBySelector(this._syncValueBySelector);this.watchTouched(this._touched);this.watchAccessKey(this._accessKey);this.watchMsg(this._msg);this.watchDisabled(this._disabled);this.watchHideMsg(this._hideMsg);this.watchHideLabel(this._hideLabel);this.watchHint(this._hint);this.watchInfoPopover(this._infoPopover);this.watchLabel(this._label);this.watchShortKey(this._shortKey);this.watchOn(this._on);this.watchTooltipAlign(this._tooltipAlign);this.watchVariant(this._variant);this.watchIcons(this._icons);this.watchAutoComplete(this._autoComplete);this.watchMax(this._max);this.watchMin(this._min);this.watchStep(this._step);this.watchSuggestions(this._suggestions);this.watchValue(this._value)}componentDidLoad(){var n;if(!this._value&&((n=this.rangeRef)===null||n===void 0?void 0:n.value)){this._value=parseFloat(this.rangeRef.value)}}componentDidRender(){this.syncFormField()}disconnectedCallback(){this.destroyFormField()}readValue(n){var e;const t=k(n,this.getRenderProp("min"),this.getRenderProp("max"));return(e=g(t,this.valueIsNumberString?"NumberString":"number"))!==null&&e!==void 0?e:t}getSharedInputProps(){var n,e,t,o;const i=this.getRenderProp("accessKey");const a=this.getRenderProp("shortKey");return Object.assign(Object.assign(Object.assign(Object.assign({id:this.id,hideLabel:this.getRenderProp("hideLabel"),label:this.getRenderProp("label"),disabled:this.getRenderProp("disabled"),name:undefined},i?{accessKey:i}:{}),{value:(n=this.getRenderProp("value"))!==null&&n!==void 0?n:null,autoComplete:this.getRenderProp("autoComplete"),min:(e=this.getRenderProp("min"))!==null&&e!==void 0?e:null,max:(t=this.getRenderProp("max"))!==null&&t!==void 0?t:null,step:(o=this.getRenderProp("step"))!==null&&o!==void 0?o:null,touched:this.getRenderProp("touched"),msg:this.getRenderProp("msg")}),a?{"aria-keyshortcuts":a}:{}),{onBlur:this.handleBlur,onChange:this.handleRangeChange,onClick:this.handleClick,onFocus:this.handleFocus,onInput:this.handleRangeInput,onKeyDown:this.handleKeyDown})}render(){const e=this.getRenderProp("disabled");const o=this.getRenderProp("name");const i=this.getRenderProp("min");const a=this.getRenderProp("max");const l=this.getRenderProp("suggestions");const c=l.length>0;const h=c?S(this.id,"list"):undefined;const m=this.getSharedInputProps();const{ariaDescribedBy:u,hasError:b}=this.getAria();const f=b?"true":undefined;const{startAdornment:k,endAdornment:g}=r({icons:this.getRenderProp("icons")});return n(t,{key:"e05d7a0c1407e7318bb7289224fa9d4c7e8a2151"},n(d,Object.assign({key:"1fdf717b000d39985ece8b419877a04477d62be8"},this.getFormFieldProps({class:"kol-input-range range",accessKey:this.getRenderProp("accessKey")||undefined,shortKey:this.getRenderProp("shortKey")||undefined,variant:this.getRenderProp("variant")})),n(s,{key:"d4b050ebd81d10ec50f48b2aca120ab51766e7d5",disabled:e,msg:this.getRenderProp("msg"),touched:this.getRenderProp("touched"),startAdornment:k,endAdornment:g},n(V,{key:"3bdaf867dc7261375916407172ebecac318ce38c",max:a,min:i},n(p,Object.assign({key:"fd0c5b52915b7f80cc609feec6055796c6b0c24a"},m,{class:I,name:o?`${o}-range`:undefined,list:h,type:"range",tabIndex:-1,id:undefined,accessKey:undefined,"aria-hidden":"true",ref:this.setRangeRef,ariaDescribedBy:u,"aria-invalid":f})),n(p,Object.assign({key:"18f62997e3aeb154f256262518bf74b2e4956dcb"},m,{class:O,name:o?`${o}-number`:undefined,list:h,type:"number",ref:this.ctaRef,onKeyDown:this.handleNumberKeyDown,ariaDescribedBy:u,"aria-invalid":f}))),c&&n(w,{key:"59e8f18d3d7f1d4898840ed8a3a6b0a07b5f2c99",id:this.id,suggestions:l}))))}get host(){return o(this)}static get watchers(){return{_accessKey:["watchAccessKey"],_ariaDetails:["watchAriaDetails"],_autoComplete:["watchAutoComplete"],_disabled:["watchDisabled"],_hideMsg:["watchHideMsg"],_hideLabel:["watchHideLabel"],_hint:["watchHint"],_icons:["watchIcons"],_infoPopover:["watchInfoPopover"],_label:["watchLabel"],_max:["watchMax"],_min:["watchMin"],_msg:["watchMsg"],_name:["watchName"],_on:["watchOn"],_shortKey:["watchShortKey"],_step:["watchStep"],_suggestions:["watchSuggestions"],_syncValueBySelector:["watchSyncValueBySelector"],_tooltipAlign:["watchTooltipAlign"],_touched:["watchTouched"],_value:["watchValue"],_variant:["watchVariant"]}}};i([B("ctaRef")],F.prototype,"focus",null);i([A("ctaRef")],F.prototype,"click",null);F.style={default:q};export{F as kol_input_range};
5
5
  //# sourceMappingURL=kol-input-range.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as n,h as e,H as t,g as o}from"./index-DAKQV03B.js";import{_ as i}from"./tslib.es6-QNbPBOk5.js";import{t as a}from"./i18n-BaCf-SDK.js";import{B as l}from"./component-CmBM-Y1C.js";import{c as s}from"./item-DuBSR8BS.js";import{F as r}from"./api-B6fEjFVl.js";import{I as h}from"./input-D2i1QEbL.js";import{I as c}from"./input-container-wQm8-W3s.js";import"./common-BqpMtheU.js";import{c as d,b as p,i as m}from"./base-web-component-3R1Dy3QK.js";import{s as u}from"./spell-check-DC84AFL-.js";import{s as b}from"./suggestions-B7YH2Q8H.js";import{t as f,B as k}from"./base-web-component-DU3hnIWD.js";import{c as g}from"./clsx-COFh-Vc8.js";import{c as y}from"./dev.utils-BGy8dbtQ.js";import{d as w,a as v}from"./element-interaction-Cy9tx3Sx.js";import{c as _,K as x}from"./events-CRHxtwup.js";import"./i18n-exgMSyNT.js";import"./component-sf_0WjJF.js";import"./bem-registry-CX5kvaqt.js";import"./component-DhBTawyT.js";import"./block-bem-DxQXsOt3.js";import"./component-QCFfSS76.js";import"./component-DKS73hKY.js";import"./isArray-CcrBs4JM.js";import"./component-CvhmYY4a.js";import"./controller-D1hrFVo3.js";import"./component-names-Dhbtt0mX.js";import"./behavior-D1kOlK6p.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./align-DeB15XnU.js";import"./label-c9P7yC4V.js";import"./resolve-props-YWmoYL6c.js";import"./variant-CeijQFzL.js";import"./api-BvTefIaj.js";import"./disabled-CdyeAMlW.js";import"./label-with-expert-slot-CocPu9HB.js";import"./name-D8963H-v.js";import"./behavior-DnkpB_7O.js";import"./bootstrap-CkRwOZrg.js";import"./aria-labelledby-BRToXqsQ.js";import"./item-DbLIGnc9.js";import"./component-Ch6fss2f.js";import"./component-BjWF1SyZ.js";import"./Heading-BctDgC7M.js";import"./suggestions-CG-TuGC4.js";import"./placeholder-DYTECYZp.js";import"./read-only-CUfitD4v.js";import"./required-9s98RyZz.js";import"./smart-button-FqAnsJDb.js";import"./value-string-DTwx9glt.js";import"./access-and-short-key-ijzCZfHm.js";import"./behavior-CbqCHL6O.js";import"./element-focus-Cp994Rrk.js";const j=["text","search","url","tel"];function T(n){const e=p(n);if(m(e,j)){return e}throw new Error(`Invalid input text type: ${e}`)}const C=d("type","text",T);const B={required:[...f.required],optional:[...f.optional,C,u,b]};const S='@charset "UTF-8";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser\'s\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1791539188494"); /* IE9*/\n src: url("kolicons.eot?t=1791539188494#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791539188494") format("woff2"), url("kolicons.woff?t=1791539188494") format("woff"), url("kolicons.ttf?t=1791539188494") format("truetype"), url("kolicons.svg?t=1791539188494#kolicons") format("svg"); /* iOS 4.1- */\n}\n@layer kol-component {\n [class^=kolicon-], [class*=" kolicon-"] {\n font-family: "kolicons";\n font-style: normal;\n font-weight: 400;\n line-height: 1em;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .kolicon-alert-error::before {\n content: "\\ea01";\n }\n .kolicon-alert-info::before {\n content: "\\ea02";\n }\n .kolicon-alert-success::before {\n content: "\\ea03";\n }\n .kolicon-alert-warning::before {\n content: "\\ea04";\n }\n .kolicon-check::before {\n content: "\\ea05";\n }\n .kolicon-chevron-double-left::before {\n content: "\\ea06";\n }\n .kolicon-chevron-double-right::before {\n content: "\\ea07";\n }\n .kolicon-chevron-down::before {\n content: "\\ea08";\n }\n .kolicon-chevron-left::before {\n content: "\\ea09";\n }\n .kolicon-chevron-right::before {\n content: "\\ea0a";\n }\n .kolicon-chevron-up::before {\n content: "\\ea0b";\n }\n .kolicon-cogwheel::before {\n content: "\\ea0c";\n }\n .kolicon-cross::before {\n content: "\\ea0d";\n }\n .kolicon-eye-closed::before {\n content: "\\ea0e";\n }\n .kolicon-eye::before {\n content: "\\ea0f";\n }\n .kolicon-house::before {\n content: "\\ea10";\n }\n .kolicon-kolibri::before {\n content: "\\ea11";\n }\n .kolicon-link-external::before {\n content: "\\ea12";\n }\n .kolicon-link::before {\n content: "\\ea13";\n }\n .kolicon-minus::before {\n content: "\\ea14";\n }\n .kolicon-pin-pinned::before {\n content: "\\ea15";\n }\n .kolicon-pin-unpinned::before {\n content: "\\ea16";\n }\n .kolicon-plus::before {\n content: "\\ea17";\n }\n .kolicon-settings::before {\n content: "\\ea18";\n }\n .kolicon-sort-asc::before {\n content: "\\ea19";\n }\n .kolicon-sort-desc::before {\n content: "\\ea1a";\n }\n .kolicon-sort-neutral::before {\n content: "\\ea1b";\n }\n .kolicon-up::before {\n content: "\\ea1c";\n }\n .kolicon-version::before {\n content: "\\ea1d";\n }\n}\n@layer kol-component {\n .kol-icon {\n color: inherit;\n display: inline-block;\n font-size: inherit;\n font-weight: inherit;\n line-height: inherit;\n }\n .kol-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-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-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 .kol-form-field .kol-popover-button {\n /*\n * The predecessor rendered this box as an unstyled (inline) custom element host; keep the\n * inline display so the flow layout around the embedded button stays unchanged.\n */\n display: inline;\n }\n .kol-form-field .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-form-field .kol-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-form-field .kol-popover-button--inline {\n display: inline-block;\n /* The size exemption has to cover both the BEM root div and the inner interactive element:\n the a11y layer pins every `button` to 44×44, so the inner `kol-button__interactive-element`\n needs the override as well — the root alone used to be the button before the skeleton migration. */\n }\n .kol-form-field .kol-popover-button--inline .kol-button,\n .kol-form-field .kol-popover-button--inline .kol-button .kol-button__interactive-element {\n min-width: 0;\n min-height: 1em;\n }\n .kol-form-field .kol-popover {\n opacity: 0;\n transition: 0.2s ease-out opacity;\n }\n .kol-form-field .kol-popover-button--open .kol-popover-button__popover {\n opacity: 1;\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label {\n display: flex;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden]) .kol-span__label::after,\n .kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input {\n background-color: transparent;\n width: 100%;\n min-width: var(--a11y-min-size);\n }\n input[type=search]::-webkit-search-cancel-button {\n display: none;\n }\n .kol-input-text__clear-button--hidden {\n display: none;\n }\n}';const z=class extends k{constructor(e){super();n(this,e);this.id=y("input-text");this.infoPopoverOpen=false;this.inputHasFocus=false;this.clearButton=s((()=>this.host));this.translateClearSearch=a("kol-clear-search");this._autoComplete="off";this._hasCounter=false;this._maxLengthBehavior="hard";this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._readOnly=false;this._required=false;this._tooltipAlign="top";this._touched=false;this._type="text";this.handleClearButtonClick=()=>{var n;if(this._disabled||this._readOnly||!this.hasValue){return}const e="";const t={name:this.getRenderProp("name"),value:e};this._value=e;if(this.ctaRef.el){this.ctaRef.el.value=e}this.handleInput(_(x.input,t,this.ctaRef.el),e);this.handleTextChange(_(x.change,t,this.ctaRef.el),e);(n=this.ctaRef.el)===null||n===void 0?void 0:n.focus()};this.initFormAssociation("text",this._name)}watchAccessKey(n){this.applyAccessKey(n)}watchAutoComplete(n){this.applyAutoComplete(n)}watchAriaDetails(n){this.applyAriaDetails(n)}watchHasCounter(n){this.applyHasCounter(n)}watchMaxLengthBehavior(n){this.applyMaxLengthBehavior(n)}watchDisabled(n){this.applyDisabled(n)}watchHideMsg(n){this.applyHideMsg(n)}watchHideLabel(n){this.applyHideLabel(n)}watchHint(n){this.applyHint(n)}watchIcons(n){this.applyIcons(n)}watchInfoPopover(n){this.applyInfoPopover(n)}watchLabel(n){this.applyLabel(n)}watchMaxLength(n){this.applyMaxLength(n)}watchMsg(n){this.applyMsg(n)}watchName(n){this.applyName(n)}watchOn(n){this.applyOn(n)}watchPattern(n){this.applyPattern(n)}watchPlaceholder(n){this.applyPlaceholder(n)}watchReadOnly(n){this.applyReadOnly(n)}watchRequired(n){this.applyRequired(n)}watchShortKey(n){this.applyShortKey(n)}watchSpellCheck(n){u.apply(n,(n=>this.setRenderProp("spellCheck",n)))}watchSuggestions(n){b.apply(n,(n=>this.setRenderProp("suggestions",n)))}watchSmartButton(n){this.applySmartButton(n)}watchSyncValueBySelector(n){this.applySyncValueBySelector(n)}watchTooltipAlign(n){this.applyTooltipAlign(n)}watchTouched(n){this.applyTouched(n)}watchType(n){C.apply(n,(n=>this.setRenderProp("type",n)))}watchValue(n){this.applyValue(n);this.hasValue=Boolean(n)}watchVariant(n){this.applyVariant(n)}async getValue(){var n;return(n=this.ctaRef.el)===null||n===void 0?void 0:n.value}async focus(n){}async click(){}async selectionStart(){var n;return Promise.resolve((n=this.ctaRef.el)===null||n===void 0?void 0:n.selectionStart)}async selectionEnd(){var n;return Promise.resolve((n=this.ctaRef.el)===null||n===void 0?void 0:n.selectionEnd)}async setSelectionRange(n,e,t){var o;(o=this.ctaRef.el)===null||o===void 0?void 0:o.setSelectionRange(n,e,t)}async setSelectionStart(n){var e;(e=this.ctaRef.el)===null||e===void 0?void 0:e.setSelectionRange(n,n)}async setRangeText(n,e,t,o){var i,a;if(e!==undefined&&t!==undefined){(i=this.ctaRef.el)===null||i===void 0?void 0:i.setRangeText(n,e,t,o)}else{(a=this.ctaRef.el)===null||a===void 0?void 0:a.setRangeText(n)}}componentWillLoad(){this.initRenderProps(B);this.unsetRenderProp("smartButton");this._touched=this._touched===true;this.watchAriaDetails(this._ariaDetails);this.watchName(this._name);this.watchSyncValueBySelector(this._syncValueBySelector);this.watchTouched(this._touched);this.watchAccessKey(this._accessKey);this.watchMsg(this._msg);this.watchDisabled(this._disabled);this.watchHideMsg(this._hideMsg);this.watchHideLabel(this._hideLabel);this.watchHint(this._hint);this.watchInfoPopover(this._infoPopover);this.watchLabel(this._label);this.watchShortKey(this._shortKey);this.watchSmartButton(this._smartButton);this.watchOn(this._on);this.watchTooltipAlign(this._tooltipAlign);this.watchVariant(this._variant);this.watchIcons(this._icons);this.watchAutoComplete(this._autoComplete);this.watchHasCounter(this._hasCounter);this.watchMaxLengthBehavior(this._maxLengthBehavior);this.initMaxLength(this._maxLength);this.watchPattern(this._pattern);this.watchPlaceholder(this._placeholder);this.watchReadOnly(this._readOnly);this.watchRequired(this._required);this.watchSuggestions(this._suggestions);this.watchSpellCheck(this._spellCheck);this.watchType(this._type);this.initValue(this._value);this.initHasValue()}componentDidLoad(){this.didLoadTextInput()}componentDidRender(){this.syncFormField();this.clearButton.syncListeners()}disconnectedCallback(){this.clearButton.destroy();this.destroyTextInput()}getClearButton(){if(this._disabled||this.getRenderProp("readOnly")||this.getRenderProp("type")!=="search"){return null}const n=this.hasValue;return e(l,Object.assign({},this.clearButton.getFcProps({_label:this.translateClearSearch,_icons:"kolicon-cross",_hideLabel:true,_disabled:!n,_on:{onClick:this.handleClearButtonClick}},{class:g("kol-input-text__clear-button","kol-input-container__smart-button",{"kol-input-text__clear-button--hidden":!n}),"data-testid":"kol-input-text-clear-button"})))}render(){const n=this.getRenderProp("type");const{startAdornment:o,endAdornment:i}=this.getTextInputAdornments(this.getClearButton());return e(t,{key:"0294f076306c9cb9f64d0213d6d9d5f9af073844"},e(r,Object.assign({key:"fd250f0ad93d6b633d21f40f8fd223fa2a2afe05"},this.getTextFormFieldProps(`kol-input-text ${n}`)),e(c,{key:"03d7079da5069b75761230a2d7d3ae79acbebef4",disabled:this.getRenderProp("disabled"),msg:this.getRenderProp("msg"),touched:this.getRenderProp("touched"),startAdornment:o,endAdornment:i},e(h,Object.assign({key:"7cb546f4ce85bae209cfd7245d0d21aebfd08473"},this.getTextInputProps({type:n,spellcheck:this.getRenderProp("spellCheck"),suggestions:this.getRenderProp("suggestions")}))))))}get host(){return o(this)}static get watchers(){return{_accessKey:["watchAccessKey"],_autoComplete:["watchAutoComplete"],_ariaDetails:["watchAriaDetails"],_hasCounter:["watchHasCounter"],_maxLengthBehavior:["watchMaxLengthBehavior"],_disabled:["watchDisabled"],_hideMsg:["watchHideMsg"],_hideLabel:["watchHideLabel"],_hint:["watchHint"],_icons:["watchIcons"],_infoPopover:["watchInfoPopover"],_label:["watchLabel"],_maxLength:["watchMaxLength"],_msg:["watchMsg"],_name:["watchName"],_on:["watchOn"],_pattern:["watchPattern"],_placeholder:["watchPlaceholder"],_readOnly:["watchReadOnly"],_required:["watchRequired"],_shortKey:["watchShortKey"],_spellCheck:["watchSpellCheck"],_suggestions:["watchSuggestions"],_smartButton:["watchSmartButton"],_syncValueBySelector:["watchSyncValueBySelector"],_tooltipAlign:["watchTooltipAlign"],_touched:["watchTouched"],_type:["watchType"],_value:["watchValue"],_variant:["watchVariant"]}}};i([w("ctaRef")],z.prototype,"focus",null);i([v("ctaRef")],z.prototype,"click",null);z.style={default:S};export{z as kol_input_text};
4
+ import{r as n,h as e,H as t,g as o}from"./index-wY4pHWJG.js";import{_ as i}from"./tslib.es6-QNbPBOk5.js";import{t as l}from"./i18n-BaCf-SDK.js";import{B as a}from"./component-CODtL04S.js";import{c as s}from"./item-lEB6GAqe.js";import{F as r}from"./api-Bhr2ic7C.js";import{I as h}from"./input-C_ZwHs-7.js";import{I as c}from"./input-container-CBl9xcK-.js";import"./common-BqpMtheU.js";import{c as d,b as p,i as m}from"./base-web-component-3R1Dy3QK.js";import{s as u}from"./spell-check-DC84AFL-.js";import{s as b}from"./suggestions-B7YH2Q8H.js";import{t as f,B as k}from"./base-web-component-6IoFcVM9.js";import{c as g}from"./clsx-COFh-Vc8.js";import{c as y}from"./dev.utils-DDqySnXB.js";import{d as w,a as _}from"./element-interaction-Cy9tx3Sx.js";import{c as v,K as x}from"./events-CRHxtwup.js";import"./i18n-exgMSyNT.js";import"./component-kDR4_xf0.js";import"./bem-registry-CX5kvaqt.js";import"./component-D30YHxgS.js";import"./block-bem-DxQXsOt3.js";import"./component-DoCNds1d.js";import"./component-C4dhT4Ba.js";import"./isArray-CcrBs4JM.js";import"./component-fK2EUkFf.js";import"./controller-D1hrFVo3.js";import"./component-names-Dhbtt0mX.js";import"./behavior-D1kOlK6p.js";import"./tooltip-open-tracking-D3tCiiGP.js";import"./align-DeB15XnU.js";import"./label-c9P7yC4V.js";import"./resolve-props-YWmoYL6c.js";import"./variant-CeijQFzL.js";import"./api-BvTefIaj.js";import"./disabled-CdyeAMlW.js";import"./label-with-expert-slot-CocPu9HB.js";import"./name-D8963H-v.js";import"./behavior-DnkpB_7O.js";import"./bootstrap-CkRwOZrg.js";import"./aria-labelledby-BRToXqsQ.js";import"./item-DewHrd_f.js";import"./component-CHz6TLzY.js";import"./component-CBkrKKXd.js";import"./Heading-DYEtnAIe.js";import"./suggestions-CX5S2xAI.js";import"./placeholder-DYTECYZp.js";import"./read-only-CUfitD4v.js";import"./required-9s98RyZz.js";import"./smart-button-FqAnsJDb.js";import"./value-string-DTwx9glt.js";import"./access-and-short-key-ijzCZfHm.js";import"./behavior-COQhqcG7.js";import"./element-focus-Cp994Rrk.js";const j=["text","search","url","tel"];function T(n){const e=p(n);if(m(e,j)){return e}throw new Error(`Invalid input text type: ${e}`)}const C=d("type","text",T);const z={required:[...f.required],optional:[...f.optional,C,u,b]};const B='@charset "UTF-8";\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser\'s\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type=\'checkbox\'], [type=\'radio\'], [type=\'range\']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don\'t want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@font-face {\n font-family: "kolicons";\n src: url("kolicons.eot?t=1791544630279"); /* IE9*/\n src: url("kolicons.eot?t=1791544630279#iefix") format("embedded-opentype"), url("kolicons.woff2?t=1791544630279") format("woff2"), url("kolicons.woff?t=1791544630279") format("woff"), url("kolicons.ttf?t=1791544630279") format("truetype"), url("kolicons.svg?t=1791544630279#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-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-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 .kol-form-field .kol-popover-button {\n /*\n * The predecessor rendered this box as an unstyled (inline) custom element host; keep the\n * inline display so the flow layout around the embedded button stays unchanged.\n */\n display: inline;\n }\n .kol-form-field .kol-popover-button__popover {\n margin: 0;\n padding: 0;\n border: 0;\n }\n .kol-form-field .kol-popover-button--open .kol-button__tooltip {\n display: none;\n }\n .kol-form-field .kol-popover-button--inline {\n display: inline-block;\n /* The size exemption has to cover both the BEM root div and the inner interactive element:\n the a11y layer pins every `button` to 44×44, so the inner `kol-button__interactive-element`\n needs the override as well — the root alone used to be the button before the skeleton migration. */\n }\n .kol-form-field .kol-popover-button--inline .kol-button,\n .kol-form-field .kol-popover-button--inline .kol-button .kol-button__interactive-element {\n min-width: 0;\n min-height: 1em;\n }\n .kol-form-field .kol-popover {\n opacity: 0;\n transition: 0.2s ease-out opacity;\n }\n .kol-form-field .kol-popover-button--open .kol-popover-button__popover {\n opacity: 1;\n }\n .kol-form-field {\n display: grid;\n }\n .kol-form-field:not(.kol-form-field--disabled) .kol-form-field__label {\n cursor: pointer;\n }\n .kol-form-field__label {\n display: flex;\n }\n .kol-form-field__label-text {\n flex-flow: row;\n align-items: flex-start;\n justify-content: flex-start;\n }\n .kol-form-field--required .kol-form-field__label-text:has(.kol-span__slot[hidden]) .kol-span__label::after,\n .kol-form-field--required .kol-form-field .kol-tooltip__content .kol-span__label::after {\n content: "*"/"";\n }\n .kol-input-container {\n background-color: transparent;\n display: grid;\n position: relative;\n width: 100%;\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n align-items: center;\n grid-template-columns: 1fr;\n }\n .kol-input-container:has(> .kol-input-container__adornment--start) {\n grid-template-columns: auto 1fr auto;\n }\n .kol-input-container__container {\n position: relative;\n z-index: 1;\n }\n .kol-input-container__adornment {\n display: flex;\n align-items: center;\n }\n .kol-input-container__adornment .kol-icon {\n display: grid;\n place-items: center;\n }\n .kol-input {\n background-color: transparent;\n width: 100%;\n min-width: var(--a11y-min-size);\n }\n input[type=search]::-webkit-search-cancel-button {\n display: none;\n }\n .kol-input-text__clear-button--hidden {\n display: none;\n }\n}';const S=class extends k{constructor(e){super();n(this,e);this.id=y("input-text");this.infoPopoverOpen=false;this.inputHasFocus=false;this.clearButton=s((()=>this.host));this.translateClearSearch=l("kol-clear-search");this._autoComplete="off";this._hasCounter=false;this._maxLengthBehavior="hard";this._disabled=false;this._hideMsg=false;this._hideLabel=false;this._hint="";this._readOnly=false;this._required=false;this._tooltipAlign="top";this._touched=false;this._type="text";this.handleClearButtonClick=()=>{var n;if(this._disabled||this._readOnly||!this.hasValue){return}const e="";const t={name:this.getRenderProp("name"),value:e};this._value=e;if(this.ctaRef.el){this.ctaRef.el.value=e}this.handleInput(v(x.input,t,this.ctaRef.el),e);this.handleTextChange(v(x.change,t,this.ctaRef.el),e);(n=this.ctaRef.el)===null||n===void 0?void 0:n.focus()};this.initFormAssociation("text",this._name)}watchAccessKey(n){this.applyAccessKey(n)}watchAutoComplete(n){this.applyAutoComplete(n)}watchAriaDetails(n){this.applyAriaDetails(n)}watchHasCounter(n){this.applyHasCounter(n)}watchMaxLengthBehavior(n){this.applyMaxLengthBehavior(n)}watchDisabled(n){this.applyDisabled(n)}watchHideMsg(n){this.applyHideMsg(n)}watchHideLabel(n){this.applyHideLabel(n)}watchHint(n){this.applyHint(n)}watchIcons(n){this.applyIcons(n)}watchInfoPopover(n){this.applyInfoPopover(n)}watchLabel(n){this.applyLabel(n)}watchMaxLength(n){this.applyMaxLength(n)}watchMsg(n){this.applyMsg(n)}watchName(n){this.applyName(n)}watchOn(n){this.applyOn(n)}watchPattern(n){this.applyPattern(n)}watchPlaceholder(n){this.applyPlaceholder(n)}watchReadOnly(n){this.applyReadOnly(n)}watchRequired(n){this.applyRequired(n)}watchShortKey(n){this.applyShortKey(n)}watchSpellCheck(n){u.apply(n,(n=>this.setRenderProp("spellCheck",n)))}watchSuggestions(n){b.apply(n,(n=>this.setRenderProp("suggestions",n)))}watchSmartButton(n){this.applySmartButton(n)}watchSyncValueBySelector(n){this.applySyncValueBySelector(n)}watchTooltipAlign(n){this.applyTooltipAlign(n)}watchTouched(n){this.applyTouched(n)}watchType(n){C.apply(n,(n=>this.setRenderProp("type",n)))}watchValue(n){this.applyValue(n);this.hasValue=Boolean(n)}watchVariant(n){this.applyVariant(n)}async getValue(){var n;return(n=this.ctaRef.el)===null||n===void 0?void 0:n.value}async focus(n){}async click(){}async selectionStart(){var n;return Promise.resolve((n=this.ctaRef.el)===null||n===void 0?void 0:n.selectionStart)}async selectionEnd(){var n;return Promise.resolve((n=this.ctaRef.el)===null||n===void 0?void 0:n.selectionEnd)}async setSelectionRange(n,e,t){var o;(o=this.ctaRef.el)===null||o===void 0?void 0:o.setSelectionRange(n,e,t)}async setSelectionStart(n){var e;(e=this.ctaRef.el)===null||e===void 0?void 0:e.setSelectionRange(n,n)}async setRangeText(n,e,t,o){var i,l;if(e!==undefined&&t!==undefined){(i=this.ctaRef.el)===null||i===void 0?void 0:i.setRangeText(n,e,t,o)}else{(l=this.ctaRef.el)===null||l===void 0?void 0:l.setRangeText(n)}}componentWillLoad(){this.initRenderProps(z);this.unsetRenderProp("smartButton");this._touched=this._touched===true;this.watchAriaDetails(this._ariaDetails);this.watchName(this._name);this.watchSyncValueBySelector(this._syncValueBySelector);this.watchTouched(this._touched);this.watchAccessKey(this._accessKey);this.watchMsg(this._msg);this.watchDisabled(this._disabled);this.watchHideMsg(this._hideMsg);this.watchHideLabel(this._hideLabel);this.watchHint(this._hint);this.watchInfoPopover(this._infoPopover);this.watchLabel(this._label);this.watchShortKey(this._shortKey);this.watchSmartButton(this._smartButton);this.watchOn(this._on);this.watchTooltipAlign(this._tooltipAlign);this.watchVariant(this._variant);this.watchIcons(this._icons);this.watchAutoComplete(this._autoComplete);this.watchHasCounter(this._hasCounter);this.watchMaxLengthBehavior(this._maxLengthBehavior);this.initMaxLength(this._maxLength);this.watchPattern(this._pattern);this.watchPlaceholder(this._placeholder);this.watchReadOnly(this._readOnly);this.watchRequired(this._required);this.watchSuggestions(this._suggestions);this.watchSpellCheck(this._spellCheck);this.watchType(this._type);this.initValue(this._value);this.initHasValue()}componentDidLoad(){this.didLoadTextInput()}componentDidRender(){this.syncFormField();this.clearButton.syncListeners()}disconnectedCallback(){this.clearButton.destroy();this.destroyTextInput()}getClearButton(){if(this._disabled||this.getRenderProp("readOnly")||this.getRenderProp("type")!=="search"){return null}const n=this.hasValue;return e(a,Object.assign({},this.clearButton.getFcProps({_label:this.translateClearSearch,_icons:"kolicon-cross",_hideLabel:true,_disabled:!n,_on:{onClick:this.handleClearButtonClick}},{class:g("kol-input-text__clear-button","kol-input-container__smart-button",{"kol-input-text__clear-button--hidden":!n}),"data-testid":"kol-input-text-clear-button"})))}render(){const n=this.getRenderProp("type");const{startAdornment:o,endAdornment:i}=this.getTextInputAdornments(this.getClearButton());return e(t,{key:"0294f076306c9cb9f64d0213d6d9d5f9af073844"},e(r,Object.assign({key:"fd250f0ad93d6b633d21f40f8fd223fa2a2afe05"},this.getTextFormFieldProps(`kol-input-text ${n}`)),e(c,{key:"03d7079da5069b75761230a2d7d3ae79acbebef4",disabled:this.getRenderProp("disabled"),msg:this.getRenderProp("msg"),touched:this.getRenderProp("touched"),startAdornment:o,endAdornment:i},e(h,Object.assign({key:"7cb546f4ce85bae209cfd7245d0d21aebfd08473"},this.getTextInputProps({type:n,spellcheck:this.getRenderProp("spellCheck"),suggestions:this.getRenderProp("suggestions")}))))))}get host(){return o(this)}static get watchers(){return{_accessKey:["watchAccessKey"],_autoComplete:["watchAutoComplete"],_ariaDetails:["watchAriaDetails"],_hasCounter:["watchHasCounter"],_maxLengthBehavior:["watchMaxLengthBehavior"],_disabled:["watchDisabled"],_hideMsg:["watchHideMsg"],_hideLabel:["watchHideLabel"],_hint:["watchHint"],_icons:["watchIcons"],_infoPopover:["watchInfoPopover"],_label:["watchLabel"],_maxLength:["watchMaxLength"],_msg:["watchMsg"],_name:["watchName"],_on:["watchOn"],_pattern:["watchPattern"],_placeholder:["watchPlaceholder"],_readOnly:["watchReadOnly"],_required:["watchRequired"],_shortKey:["watchShortKey"],_spellCheck:["watchSpellCheck"],_suggestions:["watchSuggestions"],_smartButton:["watchSmartButton"],_syncValueBySelector:["watchSyncValueBySelector"],_tooltipAlign:["watchTooltipAlign"],_touched:["watchTouched"],_type:["watchType"],_value:["watchValue"],_variant:["watchVariant"]}}};i([w("ctaRef")],S.prototype,"focus",null);i([_("ctaRef")],S.prototype,"click",null);S.style={default:B};export{S as kol_input_text};
5
5
  //# sourceMappingURL=kol-input-text.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as e,r as n,H as o}from"./index-DAKQV03B.js";import{t}from"./i18n-BaCf-SDK.js";import{c as i,n as l,k as a,B as r}from"./base-web-component-3R1Dy3QK.js";import"./common-BqpMtheU.js";import{b as s}from"./bem-registry-CX5kvaqt.js";import{B as d}from"./component-DhBTawyT.js";import"./i18n-exgMSyNT.js";import"./isArray-CcrBs4JM.js";import"./tslib.es6-QNbPBOk5.js";import"./clsx-COFh-Vc8.js";import"./block-bem-DxQXsOt3.js";const c=i("labeled",true,l);const h={optional:[a,c]};const b=s.forBlock("kol-kolibri");const m=({ariaLabel:n,color:o,labeled:t})=>{const i=`rgb(${o.red},${o.green},${o.blue})`;return e(d,{block:"kol-kolibri",component:"svg",role:"img","aria-label":n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 600",fill:i},e("path",{d:"M353 322L213 304V434L353 322Z"}),e("path",{d:"M209 564V304L149 434L209 564Z"}),e("path",{d:"M357 316L417 250L361 210L275 244L357 316Z"}),e("path",{d:"M329 218L237 92L250 222L272 241L329 218Z"}),e("path",{d:"M353 318L35 36L213 300L353 318Z"}),e("path",{d:"M391 286L565 272L421 252L391 286Z"}),t===true&&e("text",{class:b("text"),x:"250",y:"525",fill:i},"KoliBri"))};const p="@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n .kol-kolibri {\n display: inline-block;\n max-height: 100%;\n }\n .kol-kolibri__text {\n font-size: calc(90 * 1rem / var(--kolibri-root-font-size, 16));\n letter-spacing: normal;\n word-spacing: normal;\n }\n}";const u=class extends r{constructor(e){super();n(this,e);this.translateKolibriLogo=t("kol-kolibri-logo");this._color="#003c78";this._labeled=true}watchColor(e){a.apply(e,(e=>this.setRenderProp("color",e)))}watchLabeled(e){c.apply(e,(e=>this.setRenderProp("labeled",e)))}componentWillLoad(){this.initRenderProps(h);this.watchColor(this._color);this.watchLabeled(this._labeled)}render(){return e(o,{key:"14a7d53ec374c174c4f312a03ad81a1bbc7a0772"},e(m,{key:"9da09d41fe8f0879253dda4c1fc15fafc8c4e32e",ariaLabel:this.translateKolibriLogo,color:this.getRenderProp("color"),labeled:this.getRenderProp("labeled")}))}static get watchers(){return{_color:["watchColor"],_labeled:["watchLabeled"]}}};u.style={default:p};export{u as kol_kolibri};
4
+ import{h as e,r as n,H as o}from"./index-wY4pHWJG.js";import{t}from"./i18n-BaCf-SDK.js";import{c as i,n as l,k as a,B as r}from"./base-web-component-3R1Dy3QK.js";import"./common-BqpMtheU.js";import{b as s}from"./bem-registry-CX5kvaqt.js";import{B as d}from"./component-D30YHxgS.js";import"./i18n-exgMSyNT.js";import"./isArray-CcrBs4JM.js";import"./tslib.es6-QNbPBOk5.js";import"./clsx-COFh-Vc8.js";import"./block-bem-DxQXsOt3.js";const c=i("labeled",true,l);const h={optional:[a,c]};const b=s.forBlock("kol-kolibri");const m=({ariaLabel:n,color:o,labeled:t})=>{const i=`rgb(${o.red},${o.green},${o.blue})`;return e(d,{block:"kol-kolibri",component:"svg",role:"img","aria-label":n,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 600",fill:i},e("path",{d:"M353 322L213 304V434L353 322Z"}),e("path",{d:"M209 564V304L149 434L209 564Z"}),e("path",{d:"M357 316L417 250L361 210L275 244L357 316Z"}),e("path",{d:"M329 218L237 92L250 222L272 241L329 218Z"}),e("path",{d:"M353 318L35 36L213 300L353 318Z"}),e("path",{d:"M391 286L565 272L421 252L391 286Z"}),t===true&&e("text",{class:b("text"),x:"250",y:"525",fill:i},"KoliBri"))};const p="@charset \"UTF-8\";\n/* forward the rem function */\n/*\n * Guards an interaction rule (`:hover`, `:active`, `:focus…`) against the disabled state.\n *\n * Two shapes are needed because the disabled marker sits on different elements: a native control\n * carries `disabled`, an anchor or summary carries `aria-disabled`, and a BEM wrapper carries a\n * `--disabled` modifier while its inner control carries the attribute.\n */\n/* Wrapper variant: asks the interactive element inside, which is where the attribute lives. */\n/*\n* This file defines the layer order for all CSS layers used in KoliBri.\n* The order is important as it determines the cascade priority.\n*\n* Layer order (lowest to highest priority):\n* 1. kol-a11y - Accessibility defaults and requirements\n* 2. kol-global - Global component styles and resets\n* 3. kol-component - Component-specific styles\n* 4. kol-theme-global - Theme-specific global styles\n* 5. kol-theme-component - Theme-specific component styles\n* 6. kol-forced-colors - Defaults for forced colors and high contrast modes\n* 7. kol-theme-forced-colors - Theme-specific styles for forced colors and high contrast modes\n*/\n@layer kol-a11y, kol-global, kol-component, kol-theme-global, kol-theme-component, kol-forced-colors, kol-theme-forced-colors;\n/*\n * This file contains all rules for accessibility.\n */\n@layer kol-a11y {\n :host {\n /*\n * Minimum size of interactive elements.\n *\n * The `max(…, 44px)` floor guarantees the WCAG 2.5.5 (AAA) target size of 44px:\n * `to-rem(44)` runs the value through a `calc()` rem round-trip which can lose\n * sub-pixel precision and resolve to e.g. 43.99px depending on the browser's\n * rounding, dropping just below the required minimum.\n */\n --a11y-min-size: max(calc(44 * 1rem / var(--kolibri-root-font-size, 16)), 44px);\n /*\n * No element should be used without verifying the contrast ratio of its background and font colors.\n * By initially setting the background color to white and the font color to black,\n * the contrast ratio is ensured and explicit adjustment is forced.\n */\n --kol-a11y-font-color: black;\n --kol-a11y-background-color: white;\n color: var(--kol-a11y-font-color);\n background-color: var(--kol-a11y-background-color);\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n --kol-a11y-font-family: Verdana;\n font-family: var(--kol-a11y-font-family);\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n /*\n * Text should be aligned left by default to provide a predictable starting point.\n */\n text-align: left;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n }\n /*\n * All interactive elements should have a minimum size of to-rem(44).\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n button,\n .kol-input .input {\n min-width: var(--a11y-min-size);\n min-height: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the text color from his parent element.\n */\n color: inherit;\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n .visually-hidden {\n position: fixed;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n overflow: hidden;\n white-space: nowrap;\n clip-path: inset(50%);\n }\n}\n/*\n * This file contains all rules for forced-colors and highcontrast modes\n * https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/system-color to see all color keywords the browsers are providing\n */\n@layer kol-forced-colors {\n @media (forced-colors: active) {\n .kol-button__text {\n color: ButtonText;\n background-color: ButtonFace;\n border: 2px solid ButtonBorder;\n }\n .kol-button--disabled .kol-button__text {\n color: GrayText;\n border-color: GrayText;\n }\n /*\n * Forced colors drop author colors, so the only way a disabled control still reads as\n * disabled is the `GrayText` system color. `kol-button` had it; the controls whose disabled\n * state is `aria-disabled` (anchor, summary) and the native form controls did not.\n */\n .kol-link__interactive-element[aria-disabled=true],\n .kol-accordion__heading[aria-disabled=true],\n .kol-details__heading[aria-disabled=true] {\n color: GrayText;\n }\n .kol-link__interactive-element[aria-disabled=true] .kol-icon,\n .kol-link__interactive-element[aria-disabled=true] .kol-span__label,\n .kol-accordion__heading[aria-disabled=true] .kol-icon,\n .kol-accordion__heading[aria-disabled=true] .kol-span__label,\n .kol-details__heading[aria-disabled=true] .kol-icon,\n .kol-details__heading[aria-disabled=true] .kol-span__label {\n color: GrayText;\n }\n input:disabled,\n select:disabled,\n textarea:disabled {\n color: GrayText;\n border-color: GrayText;\n }\n .kol-card,\n .kol-dialog,\n .kol-modal {\n color: CanvasText;\n background-color: Canvas;\n border: 1px solid ButtonBorder;\n }\n .kol-pagination__button--selected .kol-button {\n opacity: 1;\n }\n .kol-pagination__button--selected .kol-button__text {\n color: SelectedItemText;\n background-color: SelectedItem;\n }\n /* focus styles */\n .kol-button__interactive-element:focus-visible,\n .kol-link__interactive-element:focus-visible {\n outline: 2px solid Highlight;\n outline-offset: 2px;\n }\n }\n}\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n width: 100%;\n margin: 0;\n padding: 0;\n border: none;\n /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n .badge-text-hint {\n color: black;\n background-color: white;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n font-size: calc(16 * 1rem / var(--kolibri-root-font-size, 16));\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n align-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n /* A disabled `fieldset` only groups its controls; `cursor` is inherited and would reach the\n operable info popover in its legend. */\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled]:where(:not(fieldset)),\n [disabled]:where(:not(fieldset)):focus {\n outline: none;\n cursor: not-allowed;\n }\n [aria-disabled=true]:focus .kol-span,\n [disabled]:focus .kol-span {\n outline: none !important;\n }\n .hastooltip {\n z-index: 900 !important;\n }\n}\n@layer kol-component {\n .kol-kolibri {\n display: inline-block;\n max-height: 100%;\n }\n .kol-kolibri__text {\n font-size: calc(90 * 1rem / var(--kolibri-root-font-size, 16));\n letter-spacing: normal;\n word-spacing: normal;\n }\n}";const u=class extends r{constructor(e){super();n(this,e);this.translateKolibriLogo=t("kol-kolibri-logo");this._color="#003c78";this._labeled=true}watchColor(e){a.apply(e,(e=>this.setRenderProp("color",e)))}watchLabeled(e){c.apply(e,(e=>this.setRenderProp("labeled",e)))}componentWillLoad(){this.initRenderProps(h);this.watchColor(this._color);this.watchLabeled(this._labeled)}render(){return e(o,{key:"14a7d53ec374c174c4f312a03ad81a1bbc7a0772"},e(m,{key:"9da09d41fe8f0879253dda4c1fc15fafc8c4e32e",ariaLabel:this.translateKolibriLogo,color:this.getRenderProp("color"),labeled:this.getRenderProp("labeled")}))}static get watchers(){return{_color:["watchColor"],_labeled:["watchLabeled"]}}};u.style={default:p};export{u as kol_kolibri};
5
5
  //# sourceMappingURL=kol-kolibri.entry.js.map