@public-ui/components 1.6.0-rc.22 → 1.6.0-rc.23

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 (465) hide show
  1. package/custom-elements.json +1 -1
  2. package/dist/cjs/{a11y.tipps-29f0cafa.js → a11y.tipps-8660049e.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-29f0cafa.js.map → a11y.tipps-8660049e.js.map} +1 -1
  4. package/dist/cjs/{align-e1ae85d7.js → align-0db71401.js} +1 -1
  5. package/dist/cjs/{align-e1ae85d7.js.map → align-0db71401.js.map} +1 -1
  6. package/dist/cjs/{app-globals-195a2a91.js → app-globals-a5b4d6cd.js} +1 -1
  7. package/dist/cjs/{app-globals-195a2a91.js.map → app-globals-a5b4d6cd.js.map} +1 -1
  8. package/dist/cjs/{aria-current-23e7f209.js → aria-current-f1e738cd.js} +1 -1
  9. package/dist/cjs/{aria-current-23e7f209.js.map → aria-current-f1e738cd.js.map} +1 -1
  10. package/dist/cjs/aria-selected-d2112836.js +4 -0
  11. package/dist/cjs/{aria-selected-373eb055.js.map → aria-selected-d2112836.js.map} +1 -1
  12. package/dist/cjs/associated.controller-bfb23ef2.js +4 -0
  13. package/dist/cjs/associated.controller-bfb23ef2.js.map +1 -0
  14. package/dist/cjs/{button-link-e2d7ef9a.js → button-link-982955cf.js} +1 -1
  15. package/dist/cjs/{button-link-e2d7ef9a.js.map → button-link-982955cf.js.map} +1 -1
  16. package/dist/cjs/{color-d577ac0a.js → color-569ccb7e.js} +1 -1
  17. package/dist/cjs/{color-d577ac0a.js.map → color-569ccb7e.js.map} +1 -1
  18. package/dist/cjs/controller-284e1531.js +4 -0
  19. package/dist/cjs/{controller-1b143ed7.js.map → controller-284e1531.js.map} +1 -1
  20. package/dist/cjs/{controller-b8229ca6.js → controller-7ebaf60a.js} +1 -1
  21. package/dist/cjs/{controller-b8229ca6.js.map → controller-7ebaf60a.js.map} +1 -1
  22. package/dist/cjs/controller-acb9eac4.js +4 -0
  23. package/dist/cjs/controller-acb9eac4.js.map +1 -0
  24. package/dist/cjs/{controller-2cec3621.js → controller-b1a83b39.js} +1 -1
  25. package/dist/cjs/{controller-2cec3621.js.map → controller-b1a83b39.js.map} +1 -1
  26. package/dist/cjs/{controller-ba73b764.js → controller-ba2fc6bb.js} +1 -1
  27. package/dist/cjs/{controller-ba73b764.js.map → controller-ba2fc6bb.js.map} +1 -1
  28. package/dist/cjs/{controller-97320bd7.js → controller-f8f6339b.js} +1 -1
  29. package/dist/cjs/{controller-97320bd7.js.map → controller-f8f6339b.js.map} +1 -1
  30. package/dist/cjs/{controller-icon-c41c5270.js → controller-icon-412e99dd.js} +1 -1
  31. package/dist/cjs/{controller-icon-c41c5270.js.map → controller-icon-412e99dd.js.map} +1 -1
  32. package/dist/cjs/{dev.utils-321ffc6a.js → dev.utils-f772f088.js} +1 -1
  33. package/dist/cjs/{dev.utils-321ffc6a.js.map → dev.utils-f772f088.js.map} +1 -1
  34. package/dist/cjs/{devtools-76c34bd7.js → devtools-194e9559.js} +1 -1
  35. package/dist/cjs/{devtools-76c34bd7.js.map → devtools-194e9559.js.map} +1 -1
  36. package/dist/cjs/{disabled-b7ede754.js → disabled-fd61dc9e.js} +1 -1
  37. package/dist/cjs/{disabled-b7ede754.js.map → disabled-fd61dc9e.js.map} +1 -1
  38. package/dist/cjs/floating-ui.dom.esm-e819ae60.js +4 -0
  39. package/dist/cjs/floating-ui.dom.esm-e819ae60.js.map +1 -0
  40. package/dist/cjs/has-closer-ac3bf4fd.js +4 -0
  41. package/dist/cjs/{has-closer-2ae25325.js.map → has-closer-ac3bf4fd.js.map} +1 -1
  42. package/dist/cjs/hide-label-4e7c335d.js +4 -0
  43. package/dist/cjs/{hide-label-6f7141bf.js.map → hide-label-4e7c335d.js.map} +1 -1
  44. package/dist/cjs/{i18n-0cf2b0b5.js → i18n-8adcb694.js} +1 -1
  45. package/dist/cjs/{i18n-0cf2b0b5.js.map → i18n-8adcb694.js.map} +1 -1
  46. package/dist/cjs/{icon-3aeefaaa.js → icon-0d834f60.js} +1 -1
  47. package/dist/cjs/{icon-3aeefaaa.js.map → icon-0d834f60.js.map} +1 -1
  48. package/dist/cjs/image-source-71c43644.js +4 -0
  49. package/dist/cjs/{image-source-21f4dce9.js.map → image-source-71c43644.js.map} +1 -1
  50. package/dist/cjs/index.cjs.js +1 -1
  51. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  84. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  112. package/dist/cjs/kolibri.cjs.js +1 -1
  113. package/dist/cjs/{label-3298a541.js → label-b6d62008.js} +1 -1
  114. package/dist/cjs/{label-3298a541.js.map → label-b6d62008.js.map} +1 -1
  115. package/dist/cjs/loader.cjs.js +1 -1
  116. package/dist/cjs/{prop.validators-e30f7e43.js → prop.validators-8eed6b45.js} +1 -1
  117. package/dist/cjs/{prop.validators-e30f7e43.js.map → prop.validators-8eed6b45.js.map} +1 -1
  118. package/dist/cjs/rows-68ac6b5e.js +4 -0
  119. package/dist/cjs/{rows-aaaf2861.js.map → rows-68ac6b5e.js.map} +1 -1
  120. package/dist/cjs/show-38d9968c.js +4 -0
  121. package/dist/cjs/{show-ccaf9fcc.js.map → show-38d9968c.js.map} +1 -1
  122. package/dist/cjs/suggestions-f11240b2.js +4 -0
  123. package/dist/cjs/{suggestions-cb2c4edc.js.map → suggestions-f11240b2.js.map} +1 -1
  124. package/dist/cjs/{tab-index-b47a42c0.js → tab-index-21bd316a.js} +1 -1
  125. package/dist/cjs/{tab-index-b47a42c0.js.map → tab-index-21bd316a.js.map} +1 -1
  126. package/dist/cjs/{validation-9a52f85a.js → validation-b4c22216.js} +1 -1
  127. package/dist/cjs/{validation-9a52f85a.js.map → validation-b4c22216.js.map} +1 -1
  128. package/dist/cjs/validation-bbe3284a.js +4 -0
  129. package/dist/cjs/{validation-91444c75.js.map → validation-bbe3284a.js.map} +1 -1
  130. package/dist/components/component14.js +1 -1
  131. package/dist/components/component14.js.map +1 -1
  132. package/dist/components/component16.js +1 -1
  133. package/dist/components/component16.js.map +1 -1
  134. package/dist/components/component5.js +1 -1
  135. package/dist/components/component5.js.map +1 -1
  136. package/dist/components/component9.js +1 -1
  137. package/dist/components/component9.js.map +1 -1
  138. package/dist/components/controller.js +1 -1
  139. package/dist/components/controller.js.map +1 -1
  140. package/dist/components/floating-ui.dom.esm.js +1 -1
  141. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  142. package/dist/components/kol-input-checkbox.js +1 -1
  143. package/dist/components/kol-input-checkbox.js.map +1 -1
  144. package/dist/components/kol-input-color.js +1 -1
  145. package/dist/components/kol-input-color.js.map +1 -1
  146. package/dist/components/kol-input-date.js +1 -1
  147. package/dist/components/kol-input-date.js.map +1 -1
  148. package/dist/components/kol-input-email.js +1 -1
  149. package/dist/components/kol-input-email.js.map +1 -1
  150. package/dist/components/kol-input-file.js +1 -1
  151. package/dist/components/kol-input-file.js.map +1 -1
  152. package/dist/components/kol-input-number.js +1 -1
  153. package/dist/components/kol-input-number.js.map +1 -1
  154. package/dist/components/kol-input-password.js +1 -1
  155. package/dist/components/kol-input-password.js.map +1 -1
  156. package/dist/components/kol-input-range.js +1 -1
  157. package/dist/components/kol-input-range.js.map +1 -1
  158. package/dist/components/kol-input-text.js +1 -1
  159. package/dist/components/kol-input-text.js.map +1 -1
  160. package/dist/components/kol-split-button.js +1 -1
  161. package/dist/components/kol-textarea.js +1 -1
  162. package/dist/components/kol-textarea.js.map +1 -1
  163. package/dist/components/prop.validators.js +1 -1
  164. package/dist/components/prop.validators.js.map +1 -1
  165. package/dist/esm/{a11y.tipps-821939d5.js → a11y.tipps-6dec4a30.js} +1 -1
  166. package/dist/esm/{a11y.tipps-821939d5.js.map → a11y.tipps-6dec4a30.js.map} +1 -1
  167. package/dist/esm/{align-e9fb20f3.js → align-44b2c565.js} +1 -1
  168. package/dist/esm/{align-e9fb20f3.js.map → align-44b2c565.js.map} +1 -1
  169. package/dist/esm/app-globals-511cc629.js +4 -0
  170. package/dist/esm/{app-globals-850b7823.js.map → app-globals-511cc629.js.map} +1 -1
  171. package/dist/esm/{aria-current-37a9a3f1.js → aria-current-5aa1d19d.js} +1 -1
  172. package/dist/esm/{aria-current-37a9a3f1.js.map → aria-current-5aa1d19d.js.map} +1 -1
  173. package/dist/esm/{aria-selected-0386e515.js → aria-selected-ddfbfc30.js} +1 -1
  174. package/dist/esm/{aria-selected-0386e515.js.map → aria-selected-ddfbfc30.js.map} +1 -1
  175. package/dist/esm/associated.controller-99fa1cb9.js +4 -0
  176. package/dist/esm/associated.controller-99fa1cb9.js.map +1 -0
  177. package/dist/esm/{button-link-6120340d.js → button-link-ed0b7831.js} +1 -1
  178. package/dist/esm/{button-link-6120340d.js.map → button-link-ed0b7831.js.map} +1 -1
  179. package/dist/esm/{color-f4345d8c.js → color-6ce75b31.js} +1 -1
  180. package/dist/esm/{color-f4345d8c.js.map → color-6ce75b31.js.map} +1 -1
  181. package/dist/esm/{controller-3a980b61.js → controller-04d4c466.js} +1 -1
  182. package/dist/esm/{controller-3a980b61.js.map → controller-04d4c466.js.map} +1 -1
  183. package/dist/esm/{controller-68f2cdb6.js → controller-279012b3.js} +1 -1
  184. package/dist/esm/{controller-68f2cdb6.js.map → controller-279012b3.js.map} +1 -1
  185. package/dist/esm/{controller-efa536a1.js → controller-7fb2d088.js} +1 -1
  186. package/dist/esm/{controller-efa536a1.js.map → controller-7fb2d088.js.map} +1 -1
  187. package/dist/esm/controller-9d9a6b95.js +4 -0
  188. package/dist/esm/{controller-6f322c76.js.map → controller-9d9a6b95.js.map} +1 -1
  189. package/dist/esm/{controller-a49613e3.js → controller-a32a3593.js} +1 -1
  190. package/dist/esm/{controller-a49613e3.js.map → controller-a32a3593.js.map} +1 -1
  191. package/dist/esm/{controller-b764d8af.js → controller-b4bfd439.js} +1 -1
  192. package/dist/esm/{controller-b764d8af.js.map → controller-b4bfd439.js.map} +1 -1
  193. package/dist/esm/{controller-icon-3babfd57.js → controller-icon-98baefa1.js} +1 -1
  194. package/dist/esm/{controller-icon-3babfd57.js.map → controller-icon-98baefa1.js.map} +1 -1
  195. package/dist/esm/{dev.utils-a47b8ff2.js → dev.utils-db5acc7e.js} +1 -1
  196. package/dist/esm/{dev.utils-a47b8ff2.js.map → dev.utils-db5acc7e.js.map} +1 -1
  197. package/dist/esm/{devtools-5e004f63.js → devtools-ef7c93e9.js} +1 -1
  198. package/dist/esm/{devtools-5e004f63.js.map → devtools-ef7c93e9.js.map} +1 -1
  199. package/dist/esm/{disabled-5ede917f.js → disabled-ddf8145e.js} +1 -1
  200. package/dist/esm/{disabled-5ede917f.js.map → disabled-ddf8145e.js.map} +1 -1
  201. package/dist/esm/floating-ui.dom.esm-938fb718.js +4 -0
  202. package/dist/esm/floating-ui.dom.esm-938fb718.js.map +1 -0
  203. package/dist/esm/{has-closer-86755c14.js → has-closer-7f6a24ed.js} +1 -1
  204. package/dist/esm/{has-closer-86755c14.js.map → has-closer-7f6a24ed.js.map} +1 -1
  205. package/dist/esm/{hide-label-718f4d6f.js → hide-label-3087d2dd.js} +1 -1
  206. package/dist/esm/{hide-label-718f4d6f.js.map → hide-label-3087d2dd.js.map} +1 -1
  207. package/dist/esm/{i18n-f8299375.js → i18n-02c2919d.js} +1 -1
  208. package/dist/esm/{i18n-f8299375.js.map → i18n-02c2919d.js.map} +1 -1
  209. package/dist/esm/{icon-01c8c999.js → icon-af262426.js} +1 -1
  210. package/dist/esm/{icon-01c8c999.js.map → icon-af262426.js.map} +1 -1
  211. package/dist/esm/{image-source-d19a1378.js → image-source-e0c902b9.js} +1 -1
  212. package/dist/esm/{image-source-d19a1378.js.map → image-source-e0c902b9.js.map} +1 -1
  213. package/dist/esm/index.js +1 -1
  214. package/dist/esm/kol-abbr.entry.js +1 -1
  215. package/dist/esm/kol-accordion.entry.js +1 -1
  216. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  217. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  218. package/dist/esm/kol-badge.entry.js +1 -1
  219. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  220. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  221. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  222. package/dist/esm/kol-card.entry.js +1 -1
  223. package/dist/esm/kol-details.entry.js +1 -1
  224. package/dist/esm/kol-form.entry.js +1 -1
  225. package/dist/esm/kol-icon.entry.js +1 -1
  226. package/dist/esm/kol-image.entry.js +1 -1
  227. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  228. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  229. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  230. package/dist/esm/kol-input-color.entry.js +1 -1
  231. package/dist/esm/kol-input-color.entry.js.map +1 -1
  232. package/dist/esm/kol-input-date.entry.js +1 -1
  233. package/dist/esm/kol-input-date.entry.js.map +1 -1
  234. package/dist/esm/kol-input-email.entry.js +1 -1
  235. package/dist/esm/kol-input-email.entry.js.map +1 -1
  236. package/dist/esm/kol-input-file.entry.js +1 -1
  237. package/dist/esm/kol-input-file.entry.js.map +1 -1
  238. package/dist/esm/kol-input-number.entry.js +1 -1
  239. package/dist/esm/kol-input-number.entry.js.map +1 -1
  240. package/dist/esm/kol-input-password.entry.js +1 -1
  241. package/dist/esm/kol-input-password.entry.js.map +1 -1
  242. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  243. package/dist/esm/kol-input-radio.entry.js +1 -1
  244. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  245. package/dist/esm/kol-input-range.entry.js +1 -1
  246. package/dist/esm/kol-input-range.entry.js.map +1 -1
  247. package/dist/esm/kol-input-text.entry.js +1 -1
  248. package/dist/esm/kol-input-text.entry.js.map +1 -1
  249. package/dist/esm/kol-kolibri.entry.js +1 -1
  250. package/dist/esm/kol-link-button.entry.js +1 -1
  251. package/dist/esm/kol-link-group.entry.js +1 -1
  252. package/dist/esm/kol-link-wc.entry.js +1 -1
  253. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  254. package/dist/esm/kol-logo.entry.js +1 -1
  255. package/dist/esm/kol-modal.entry.js +1 -1
  256. package/dist/esm/kol-nav.entry.js +1 -1
  257. package/dist/esm/kol-pagination.entry.js +1 -1
  258. package/dist/esm/kol-popover.entry.js +1 -1
  259. package/dist/esm/kol-progress.entry.js +1 -1
  260. package/dist/esm/kol-quote.entry.js +1 -1
  261. package/dist/esm/kol-select.entry.js +1 -1
  262. package/dist/esm/kol-select.entry.js.map +1 -1
  263. package/dist/esm/kol-skip-nav.entry.js +1 -1
  264. package/dist/esm/kol-span-wc.entry.js +1 -1
  265. package/dist/esm/kol-spin.entry.js +1 -1
  266. package/dist/esm/kol-split-button.entry.js +1 -1
  267. package/dist/esm/kol-symbol.entry.js +1 -1
  268. package/dist/esm/kol-table.entry.js +1 -1
  269. package/dist/esm/kol-tabs.entry.js +1 -1
  270. package/dist/esm/kol-textarea.entry.js +1 -1
  271. package/dist/esm/kol-textarea.entry.js.map +1 -1
  272. package/dist/esm/kol-toast.entry.js +1 -1
  273. package/dist/esm/kol-tooltip.entry.js +1 -1
  274. package/dist/esm/kol-version.entry.js +1 -1
  275. package/dist/esm/kolibri.js +1 -1
  276. package/dist/esm/{label-7743754d.js → label-fb6431a5.js} +1 -1
  277. package/dist/esm/{label-7743754d.js.map → label-fb6431a5.js.map} +1 -1
  278. package/dist/esm/loader.js +1 -1
  279. package/dist/esm/{prop.validators-6a2ec81f.js → prop.validators-16a299ef.js} +1 -1
  280. package/dist/esm/{prop.validators-6a2ec81f.js.map → prop.validators-16a299ef.js.map} +1 -1
  281. package/dist/esm/{rows-ee52c8a7.js → rows-b573b831.js} +1 -1
  282. package/dist/esm/{rows-ee52c8a7.js.map → rows-b573b831.js.map} +1 -1
  283. package/dist/esm/{show-ca4f53ef.js → show-9c3d3ee6.js} +1 -1
  284. package/dist/esm/{show-ca4f53ef.js.map → show-9c3d3ee6.js.map} +1 -1
  285. package/dist/esm/{suggestions-c770bce0.js → suggestions-bab18480.js} +1 -1
  286. package/dist/esm/{suggestions-c770bce0.js.map → suggestions-bab18480.js.map} +1 -1
  287. package/dist/esm/{tab-index-cbaa8f9d.js → tab-index-62c82aff.js} +1 -1
  288. package/dist/esm/{tab-index-cbaa8f9d.js.map → tab-index-62c82aff.js.map} +1 -1
  289. package/dist/esm/validation-13681a70.js +4 -0
  290. package/dist/esm/{validation-a02a4280.js.map → validation-13681a70.js.map} +1 -1
  291. package/dist/esm/{validation-e0ef3555.js → validation-3d37616a.js} +1 -1
  292. package/dist/esm/{validation-e0ef3555.js.map → validation-3d37616a.js.map} +1 -1
  293. package/dist/kolibri/{a11y.tipps-821939d5.js → a11y.tipps-6dec4a30.js} +1 -1
  294. package/dist/kolibri/{align-e9fb20f3.js → align-44b2c565.js} +1 -1
  295. package/dist/kolibri/app-globals-511cc629.js +4 -0
  296. package/dist/kolibri/{aria-current-37a9a3f1.js → aria-current-5aa1d19d.js} +1 -1
  297. package/dist/kolibri/aria-selected-ddfbfc30.js +4 -0
  298. package/dist/kolibri/associated.controller-99fa1cb9.js +4 -0
  299. package/dist/kolibri/associated.controller-99fa1cb9.js.map +1 -0
  300. package/dist/kolibri/{button-link-6120340d.js → button-link-ed0b7831.js} +1 -1
  301. package/dist/kolibri/{color-f4345d8c.js → color-6ce75b31.js} +1 -1
  302. package/dist/kolibri/{controller-3a980b61.js → controller-04d4c466.js} +1 -1
  303. package/dist/kolibri/{controller-68f2cdb6.js → controller-279012b3.js} +1 -1
  304. package/dist/kolibri/{controller-efa536a1.js → controller-7fb2d088.js} +1 -1
  305. package/dist/kolibri/{controller-6f322c76.js → controller-9d9a6b95.js} +1 -1
  306. package/dist/kolibri/controller-9d9a6b95.js.map +1 -0
  307. package/dist/kolibri/{controller-a49613e3.js → controller-a32a3593.js} +1 -1
  308. package/dist/kolibri/{controller-b764d8af.js → controller-b4bfd439.js} +1 -1
  309. package/dist/kolibri/controller-icon-98baefa1.js +4 -0
  310. package/dist/kolibri/{dev.utils-a47b8ff2.js → dev.utils-db5acc7e.js} +1 -1
  311. package/dist/kolibri/{dev.utils-a47b8ff2.js.map → dev.utils-db5acc7e.js.map} +1 -1
  312. package/dist/kolibri/{devtools-5e004f63.js → devtools-ef7c93e9.js} +1 -1
  313. package/dist/kolibri/{disabled-5ede917f.js → disabled-ddf8145e.js} +1 -1
  314. package/dist/kolibri/floating-ui.dom.esm-938fb718.js +4 -0
  315. package/dist/kolibri/floating-ui.dom.esm-938fb718.js.map +1 -0
  316. package/dist/kolibri/has-closer-7f6a24ed.js +4 -0
  317. package/dist/kolibri/hide-label-3087d2dd.js +4 -0
  318. package/dist/kolibri/{i18n-f8299375.js → i18n-02c2919d.js} +1 -1
  319. package/dist/kolibri/{icon-01c8c999.js → icon-af262426.js} +1 -1
  320. package/dist/kolibri/image-source-e0c902b9.js +4 -0
  321. package/dist/kolibri/index.esm.js +1 -1
  322. package/dist/kolibri/kol-abbr.entry.js +1 -1
  323. package/dist/kolibri/kol-accordion.entry.js +1 -1
  324. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  325. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  326. package/dist/kolibri/kol-badge.entry.js +1 -1
  327. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  328. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  329. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  330. package/dist/kolibri/kol-card.entry.js +1 -1
  331. package/dist/kolibri/kol-details.entry.js +1 -1
  332. package/dist/kolibri/kol-form.entry.js +1 -1
  333. package/dist/kolibri/kol-icon.entry.js +1 -1
  334. package/dist/kolibri/kol-image.entry.js +1 -1
  335. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  336. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  337. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  338. package/dist/kolibri/kol-input-color.entry.js +1 -1
  339. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  340. package/dist/kolibri/kol-input-date.entry.js +1 -1
  341. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  342. package/dist/kolibri/kol-input-email.entry.js +1 -1
  343. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  344. package/dist/kolibri/kol-input-file.entry.js +1 -1
  345. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  346. package/dist/kolibri/kol-input-number.entry.js +1 -1
  347. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  348. package/dist/kolibri/kol-input-password.entry.js +1 -1
  349. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  350. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  351. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  352. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  353. package/dist/kolibri/kol-input-range.entry.js +1 -1
  354. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  355. package/dist/kolibri/kol-input-text.entry.js +1 -1
  356. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  357. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  358. package/dist/kolibri/kol-link-button.entry.js +1 -1
  359. package/dist/kolibri/kol-link-group.entry.js +1 -1
  360. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  361. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  362. package/dist/kolibri/kol-logo.entry.js +1 -1
  363. package/dist/kolibri/kol-modal.entry.js +1 -1
  364. package/dist/kolibri/kol-nav.entry.js +1 -1
  365. package/dist/kolibri/kol-pagination.entry.js +1 -1
  366. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  367. package/dist/kolibri/kol-popover.entry.js +1 -1
  368. package/dist/kolibri/kol-progress.entry.js +1 -1
  369. package/dist/kolibri/kol-quote.entry.js +1 -1
  370. package/dist/kolibri/kol-select.entry.js +1 -1
  371. package/dist/kolibri/kol-select.entry.js.map +1 -1
  372. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  373. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  374. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  375. package/dist/kolibri/kol-spin.entry.js +1 -1
  376. package/dist/kolibri/kol-split-button.entry.js +1 -1
  377. package/dist/kolibri/kol-symbol.entry.js +1 -1
  378. package/dist/kolibri/kol-table.entry.js +1 -1
  379. package/dist/kolibri/kol-tabs.entry.js +1 -1
  380. package/dist/kolibri/kol-textarea.entry.js +1 -1
  381. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  382. package/dist/kolibri/kol-toast.entry.js +1 -1
  383. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  384. package/dist/kolibri/kol-version.entry.js +1 -1
  385. package/dist/kolibri/kolibri.esm.js +1 -1
  386. package/dist/kolibri/label-fb6431a5.js +4 -0
  387. package/dist/kolibri/prop.validators-16a299ef.js +4 -0
  388. package/dist/kolibri/rows-b573b831.js +4 -0
  389. package/dist/kolibri/show-9c3d3ee6.js +4 -0
  390. package/dist/kolibri/{suggestions-c770bce0.js → suggestions-bab18480.js} +1 -1
  391. package/dist/kolibri/tab-index-62c82aff.js +4 -0
  392. package/dist/kolibri/{tab-index-cbaa8f9d.js.map → tab-index-62c82aff.js.map} +1 -1
  393. package/dist/kolibri/validation-13681a70.js +4 -0
  394. package/dist/kolibri/{validation-e0ef3555.js → validation-3d37616a.js} +1 -1
  395. package/dist/types/components/button/component.d.ts +0 -1
  396. package/dist/types/components/link/component.d.ts +0 -1
  397. package/dist/types/utils/events.d.ts +1 -1
  398. package/jest-test-results.json +1 -1
  399. package/package.json +1 -1
  400. package/dist/cjs/aria-selected-373eb055.js +0 -4
  401. package/dist/cjs/associated.controller-97ca9eca.js +0 -4
  402. package/dist/cjs/associated.controller-97ca9eca.js.map +0 -1
  403. package/dist/cjs/controller-1b143ed7.js +0 -4
  404. package/dist/cjs/controller-f7d39413.js +0 -4
  405. package/dist/cjs/controller-f7d39413.js.map +0 -1
  406. package/dist/cjs/floating-ui.dom.esm-09852e47.js +0 -4
  407. package/dist/cjs/floating-ui.dom.esm-09852e47.js.map +0 -1
  408. package/dist/cjs/has-closer-2ae25325.js +0 -4
  409. package/dist/cjs/hide-label-6f7141bf.js +0 -4
  410. package/dist/cjs/image-source-21f4dce9.js +0 -4
  411. package/dist/cjs/rows-aaaf2861.js +0 -4
  412. package/dist/cjs/show-ccaf9fcc.js +0 -4
  413. package/dist/cjs/suggestions-cb2c4edc.js +0 -4
  414. package/dist/cjs/validation-91444c75.js +0 -4
  415. package/dist/esm/app-globals-850b7823.js +0 -4
  416. package/dist/esm/associated.controller-3e40ba0b.js +0 -4
  417. package/dist/esm/associated.controller-3e40ba0b.js.map +0 -1
  418. package/dist/esm/controller-6f322c76.js +0 -4
  419. package/dist/esm/floating-ui.dom.esm-26e61da8.js +0 -4
  420. package/dist/esm/floating-ui.dom.esm-26e61da8.js.map +0 -1
  421. package/dist/esm/validation-a02a4280.js +0 -4
  422. package/dist/kolibri/app-globals-850b7823.js +0 -4
  423. package/dist/kolibri/aria-selected-0386e515.js +0 -4
  424. package/dist/kolibri/associated.controller-3e40ba0b.js +0 -4
  425. package/dist/kolibri/associated.controller-3e40ba0b.js.map +0 -1
  426. package/dist/kolibri/controller-6f322c76.js.map +0 -1
  427. package/dist/kolibri/controller-icon-3babfd57.js +0 -4
  428. package/dist/kolibri/floating-ui.dom.esm-26e61da8.js +0 -4
  429. package/dist/kolibri/floating-ui.dom.esm-26e61da8.js.map +0 -1
  430. package/dist/kolibri/has-closer-86755c14.js +0 -4
  431. package/dist/kolibri/hide-label-718f4d6f.js +0 -4
  432. package/dist/kolibri/image-source-d19a1378.js +0 -4
  433. package/dist/kolibri/label-7743754d.js +0 -4
  434. package/dist/kolibri/prop.validators-6a2ec81f.js +0 -4
  435. package/dist/kolibri/rows-ee52c8a7.js +0 -4
  436. package/dist/kolibri/show-ca4f53ef.js +0 -4
  437. package/dist/kolibri/tab-index-cbaa8f9d.js +0 -4
  438. package/dist/kolibri/validation-a02a4280.js +0 -4
  439. /package/dist/kolibri/{a11y.tipps-821939d5.js.map → a11y.tipps-6dec4a30.js.map} +0 -0
  440. /package/dist/kolibri/{align-e9fb20f3.js.map → align-44b2c565.js.map} +0 -0
  441. /package/dist/kolibri/{app-globals-850b7823.js.map → app-globals-511cc629.js.map} +0 -0
  442. /package/dist/kolibri/{aria-current-37a9a3f1.js.map → aria-current-5aa1d19d.js.map} +0 -0
  443. /package/dist/kolibri/{aria-selected-0386e515.js.map → aria-selected-ddfbfc30.js.map} +0 -0
  444. /package/dist/kolibri/{button-link-6120340d.js.map → button-link-ed0b7831.js.map} +0 -0
  445. /package/dist/kolibri/{color-f4345d8c.js.map → color-6ce75b31.js.map} +0 -0
  446. /package/dist/kolibri/{controller-3a980b61.js.map → controller-04d4c466.js.map} +0 -0
  447. /package/dist/kolibri/{controller-68f2cdb6.js.map → controller-279012b3.js.map} +0 -0
  448. /package/dist/kolibri/{controller-efa536a1.js.map → controller-7fb2d088.js.map} +0 -0
  449. /package/dist/kolibri/{controller-a49613e3.js.map → controller-a32a3593.js.map} +0 -0
  450. /package/dist/kolibri/{controller-b764d8af.js.map → controller-b4bfd439.js.map} +0 -0
  451. /package/dist/kolibri/{controller-icon-3babfd57.js.map → controller-icon-98baefa1.js.map} +0 -0
  452. /package/dist/kolibri/{devtools-5e004f63.js.map → devtools-ef7c93e9.js.map} +0 -0
  453. /package/dist/kolibri/{disabled-5ede917f.js.map → disabled-ddf8145e.js.map} +0 -0
  454. /package/dist/kolibri/{has-closer-86755c14.js.map → has-closer-7f6a24ed.js.map} +0 -0
  455. /package/dist/kolibri/{hide-label-718f4d6f.js.map → hide-label-3087d2dd.js.map} +0 -0
  456. /package/dist/kolibri/{i18n-f8299375.js.map → i18n-02c2919d.js.map} +0 -0
  457. /package/dist/kolibri/{icon-01c8c999.js.map → icon-af262426.js.map} +0 -0
  458. /package/dist/kolibri/{image-source-d19a1378.js.map → image-source-e0c902b9.js.map} +0 -0
  459. /package/dist/kolibri/{label-7743754d.js.map → label-fb6431a5.js.map} +0 -0
  460. /package/dist/kolibri/{prop.validators-6a2ec81f.js.map → prop.validators-16a299ef.js.map} +0 -0
  461. /package/dist/kolibri/{rows-ee52c8a7.js.map → rows-b573b831.js.map} +0 -0
  462. /package/dist/kolibri/{show-ca4f53ef.js.map → show-9c3d3ee6.js.map} +0 -0
  463. /package/dist/kolibri/{suggestions-c770bce0.js.map → suggestions-bab18480.js.map} +0 -0
  464. /package/dist/kolibri/{validation-a02a4280.js.map → validation-13681a70.js.map} +0 -0
  465. /package/dist/kolibri/{validation-e0ef3555.js.map → validation-3d37616a.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{L as e}from"./dev.utils-a47b8ff2.js";const i=new Set,n=(n,r)=>{(!1===i.has(n)||(null==r?void 0:r.force))&&(i.add(n),e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"✋ a11y",overwriteStyle:"; background-color: #09f"}))},o=new Set,r=(n,i)=>{(!1===o.has(n)||(null==i?void 0:i.force))&&(o.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"🔥 deprecated",overwriteStyle:"; background-color: #f00"}))},t=new Set,s=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},l=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},a=new Set,d=(n,i=!1,r)=>{(!1===a.has(n)||(null==r?void 0:r.force))&&(a.add(n),n+=!0===i?" ✅":"",e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"🌟 feature",overwriteStyle:"; background-color: #309"}))};s("Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!");const c=new Set,u=(n,i)=>{(!1===c.has(n)||(null==i?void 0:i.force))&&(c.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"}))},v=()=>{n('"Disabled" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae')},f=e=>{"string"==typeof e&&""!==e||n("Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns")},b=(e,n=8)=>{n>7&&u(`[${e}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`)};export{n as a,f as b,b as c,s as d,r as e,d as f,v as g,l as h,u};
4
+ import{L as e}from"./dev.utils-db5acc7e.js";const i=new Set,n=(n,r)=>{(!1===i.has(n)||(null==r?void 0:r.force))&&(i.add(n),e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"✋ a11y",overwriteStyle:"; background-color: #09f"}))},o=new Set,r=(n,i)=>{(!1===o.has(n)||(null==i?void 0:i.force))&&(o.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"🔥 deprecated",overwriteStyle:"; background-color: #f00"}))},t=new Set,s=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},l=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},a=new Set,d=(n,i=!1,r)=>{(!1===a.has(n)||(null==r?void 0:r.force))&&(a.add(n),n+=!0===i?" ✅":"",e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"🌟 feature",overwriteStyle:"; background-color: #309"}))};s("Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!");const c=new Set,u=(n,i)=>{(!1===c.has(n)||(null==i?void 0:i.force))&&(c.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"}))},v=()=>{n('"Disabled" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae')},f=e=>{"string"==typeof e&&""!==e||n("Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns")},b=(e,n=8)=>{n>7&&u(`[${e}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`)};export{n as a,f as b,b as c,s as d,r as e,d as f,l as g,v as h,u};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{w as t}from"./prop.validators-6a2ec81f.js";const o=new Set(['"left", "right"']),e=new Set(['"bottom", "top"']),n=new Set([...o,...e]),s=(o,e,r)=>{t(o,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),n,r)},r=(t,o)=>{s(t,"_align",o)};export{r as v};
4
+ import{w as t}from"./prop.validators-16a299ef.js";const o=new Set(['"left", "right"']),e=new Set(['"bottom", "top"']),n=new Set([...o,...e]),s=(o,e,r)=>{t(o,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),n,r)},r=(t,o)=>{s(t,"_align",o)};export{r as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as o}from"./index-2c046ff1.js";import{r as t}from"./index-d8ac1088.js";import{L as s}from"./dev.utils-db5acc7e.js";import{s as a,g as e}from"./index-37b5cbcf.js";const f=async()=>{o((o=>(o.shadowRoot instanceof ShadowRoot&&a(o,e(o)),"default"))),await t([],[]),import("./devtools-ef7c93e9.js").then((o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()})).catch((o=>{s.error(o)}))},i=f;export{i as g};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{d as a,w as t}from"./prop.validators-6a2ec81f.js";const e=(t,e)=>{a(t,"_ariaControls",e)},o=(a,e,o)=>{t(a,e,(a=>"date"===a||"location"===a||"page"===a||"step"===a||"time"===a||!0===a||!1===a),new Set(["String {data, location, page, step, time}","boolean"]),o)},s=(a,t)=>{o(a,"_ariaCurrent",t)},r=(a,t)=>{o(a,"_listenAriaCurrent",t)};export{s as a,r as b,e as v};
4
+ import{d as a,w as t}from"./prop.validators-16a299ef.js";const e=(t,e)=>{a(t,"_ariaControls",e)},o=(a,e,o)=>{t(a,e,(a=>"date"===a||"location"===a||"page"===a||"step"===a||"time"===a||!0===a||!1===a),new Set(["String {data, location, page, step, time}","boolean"]),o)},s=(a,t)=>{o(a,"_ariaCurrent",t)},r=(a,t)=>{o(a,"_listenAriaCurrent",t)};export{s as a,r as b,e as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a}from"./prop.validators-16a299ef.js";const o=(o,r)=>{a(o,"_ariaSelected",r)};export{o as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{d as t}from"./prop.validators-16a299ef.js";import{d as e,g as i}from"./a11y.tipps-6dec4a30.js";import{b as s}from"./dev.utils-db5acc7e.js";function n(t){t.stopImmediatePropagation(),t.stopPropagation()}function o(t,e){return new CustomEvent(`kol-${t}`,{bubbles:!0,cancelable:!0,composed:!0,detail:e})}function a(t,e,i){return t.dispatchEvent(o(e,i))}function r(t,e,o){e&&a(e,t,o)}const l=(e,o,i)=>{t(e,"_name",o,i)},d=s();class u{constructor(t,o,i){var s,a;if(this.setFormAssociatedValue=t=>{var o;const i=null===(o=this.formAssociated)||void 0===o?void 0:o.getAttribute("name");null!==i&&""!==i||e(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const s=this.tryToStringifyValue(t);this.syncValue(t,s,this.formAssociated),this.syncValue(t,s,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(i),this.name=o,d){switch(null===(s=this.host)||void 0===s||s.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"button":this.formAssociated=document.createElement("button");break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(a=this.host)||void 0===a||a.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,o){if(d)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return i(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateName(t){l(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&e("Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateSyncValueBySelector(t){if(d&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}export{u as A,n as s,r as t};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stopPropagation","event","stopImmediatePropagation","createKoliBriEvent","type","detail","CustomEvent","bubbles","cancelable","composed","dispatchKoliBriEvent","target","dispatch","dispatchEvent","tryToDispatchKoliBriEvent","validateName","component","value","options","watchString","EXPERIMENTAL_MODE","getExperimentalMode","AssociatedInputController","constructor","name","host","this","setFormAssociatedValue","rawValue","_a","formAssociated","getAttribute","devHint","strValue","tryToStringifyValue","syncValue","syncToOwnInput","findHostWithShadowRoot","querySelectorAll","forEach","el","removeChild","document","createElement","setAttribute","_b","appendChild","shadowRoot","body","parentNode","qualifiedName","element","JSON","stringify","Error","e","removeAttribute","toString","undefined","devWarning","associatedElement","Array","isArray","rawValueItem","strValueItem","option","hooks","afterPatch","state","_name","validateSyncValueBySelector","input","querySelector","componentWillLoad","_syncValueBySelector"],"sources":["src/utils/events.ts","src/types/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["export function stopPropagation(event: Event): void {\n\tevent.stopImmediatePropagation();\n\tevent.stopPropagation();\n}\n\nfunction createKoliBriEvent<T>(type: string, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\treturn event;\n}\n\nfunction dispatchKoliBriEvent<T>(target: EventTarget, type: string, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\treturn dispatch;\n}\n\nexport function tryToDispatchKoliBriEvent<T>(type: string, target?: EventTarget, detail?: T): void {\n\ttarget && dispatchKoliBriEvent(target, type, detail);\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\ntype NamePropType = string;\n\nexport type PropName = {\n\tname: NamePropType;\n};\n\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateName } from '../../types/props/name';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\ntype RequiredProps = unknown;\ntype OptionalProps = {\n\tname: string;\n\tsyncValueBySelector: string;\n};\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.name = name;\n\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'button':\n\t\t\t\t\tthis.formAssociated = document.createElement('button');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{w as t}from"./prop.validators-6a2ec81f.js";const o=(o,e,a)=>{t(o,e,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["Alignment {top, right, buttom, left}"]),a,{defaultValue:"top"})};export{o as w};
4
+ import{w as t}from"./prop.validators-16a299ef.js";const o=(o,e,a)=>{t(o,e,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["Alignment {top, right, buttom, left}"]),a,{defaultValue:"top"})};export{o as w};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as e,b as r,w as a}from"./prop.validators-6a2ec81f.js";import{a as t}from"./a11y.tipps-821939d5.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=i,o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function i(e){var r,a,t=[],l=1;if("string"==typeof e)if(n[e])t=n[e].slice(),a="rgb";else if("transparent"===e)l=0,a="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1);l=1,(g=i.length)<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],4===g&&(l=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],8===g&&(l=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),a="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],u="rgb"===s;a=i=s.replace(/a$/,"");var g="cmyk"===i?4:"gray"===i?1:3;t=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===g?parseFloat(e)/100:"rgb"===i?255*parseFloat(e)/100:parseFloat(e);if("h"===i[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),s===i&&t.push(1),l=u||void 0===t[g]?1:t[g],t=t.slice(0,g)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(t=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),a=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(t=[e[0],e[1],e[2]],a="rgb",l=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(a="rgb",t=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",t=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),l=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(l/=100)):(a="rgb",t=[e>>>16,(65280&e)>>>8,255&e]);return{space:a,values:t,alpha:l}}var s=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var a=l(e);if(!a.space)return[];var o=[0,0,0],t="h"===a.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(a.values[0],o[0]),t[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),t[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),t[2]),"h"===a.space[0]&&(r=u(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function u(e){var r,a,o,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,u=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(a=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];u<3;)(o=l+1/3*-(u-1))<0?o++:o>1&&o--,n=6*o<1?r+6*(a-r)*o:2*o<1?a:3*o<2?r+(a-r)*(2/3-o)*6:r,t[u++]=255*n;return t}const g=(e,r,a)=>(299*e+587*r+114*a)/1e3>=128?-1:1,f=(a,o,t,n=1)=>{const l=[Math.max(Math.min(Math.round(o[0]+n*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+n*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+n*Math.max(1,o[2]/100)),255),0)],i=r(e.hex(`rgba(${a.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:a,foreground:l,contrast:i}:f(a,l,t,n)},d=new Map,c=(e,r,a,o=1)=>{if(d.has(e))return d.get(e);const t=f(e,r,a,o);return d.set(e,t),t},p=(r,a=7)=>{let o=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(o=s(r),t=o):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(o=s(r.background),t="string"==typeof r.foreground?s(r.foreground):o);const n=g(o[0],o[1],o[2]),l=c([o[0],o[1],o[2]],[t[0],t[1],t[2]],a,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${o.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},h=/^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;function y(e){return h.test(e)}function b(e){if(e.startsWith("{"))try{const r=JSON.parse(e);if(m(r))return{type:"ColorPair",value:r};if(k(r))return{type:"DeprecatedColorPair",value:r}}catch(e){return{type:null,value:null}}return{type:null,value:null}}function v(e){if(e)if("string"==typeof e){if(y(e))return{type:"string",valid:!0,value:e};{const r=b(e);if(r.value)return{type:r.type,valid:!0,value:r.value}}}else{const r=e;if(m(r))return{type:"ColorPair",valid:!0,value:r};const a=e;if(k(a))return{type:"DeprecatedColorPair",valid:!0,value:a}}return{type:null,valid:!1,value:""}}function m(e){return!("object"!=typeof e||!e||"string"!=typeof e.backgroundColor||!("string"==typeof e.foregroundColor||e.foregroundColor&&"string"==typeof e.foregroundColor.primary&&"string"==typeof e.foregroundColor.secondary&&"string"==typeof e.foregroundColor.neutral))}function k(e){return"object"==typeof e&&e&&"string"==typeof e.backgroundColor&&"string"==typeof e.color}function w(e){const r=v(e);switch(r.type){case null:return!1;case"string":case"ColorPair":case"DeprecatedColorPair":return r.valid}}const M=(e,r,o)=>{a(e,"_color",w,new Set(["rgb in hex","ColorPair"]),r,o)},$=e=>{var r;let a;const o=v(e);switch(o.type){case"string":a=p(o.value);break;case"ColorPair":case"DeprecatedColorPair":{const e=o.value,t=o.value;let n="";t.color?n=t.color:"string"==typeof e.foregroundColor?n=e.foregroundColor:(null===(r=e.foregroundColor)||void 0===r?void 0:r.primary)&&(n=e.foregroundColor.primary),n&&"string"==typeof n||(n="#fff"),a=p({background:e.backgroundColor,foreground:n});break}case null:console.warn(`_color was empty or invalid (${JSON.stringify(e)})`),a=p({background:"#000",foreground:"#000"})}return a.contrast<7&&t(`[KolBadge] The contrast of ${a.contrast} (≥7, AAA) is to low, between the color pair ${a.background} and ${a.foreground}.`),{backgroundColor:a.background,foregroundColor:a.foreground}};export{s as c,$ as h,M as v};
4
+ import{r as e,b as r,w as a}from"./prop.validators-16a299ef.js";import{a as t}from"./a11y.tipps-6dec4a30.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=i,o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function i(e){var r,a,t=[],l=1;if("string"==typeof e)if(n[e])t=n[e].slice(),a="rgb";else if("transparent"===e)l=0,a="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1);l=1,(g=i.length)<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],4===g&&(l=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],8===g&&(l=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),a="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],u="rgb"===s;a=i=s.replace(/a$/,"");var g="cmyk"===i?4:"gray"===i?1:3;t=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===g?parseFloat(e)/100:"rgb"===i?255*parseFloat(e)/100:parseFloat(e);if("h"===i[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),s===i&&t.push(1),l=u||void 0===t[g]?1:t[g],t=t.slice(0,g)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(t=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),a=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(t=[e[0],e[1],e[2]],a="rgb",l=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(a="rgb",t=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",t=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),l=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(l/=100)):(a="rgb",t=[e>>>16,(65280&e)>>>8,255&e]);return{space:a,values:t,alpha:l}}var s=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var a=l(e);if(!a.space)return[];var o=[0,0,0],t="h"===a.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(a.values[0],o[0]),t[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),t[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),t[2]),"h"===a.space[0]&&(r=u(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function u(e){var r,a,o,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,u=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(a=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];u<3;)(o=l+1/3*-(u-1))<0?o++:o>1&&o--,n=6*o<1?r+6*(a-r)*o:2*o<1?a:3*o<2?r+(a-r)*(2/3-o)*6:r,t[u++]=255*n;return t}const g=(e,r,a)=>(299*e+587*r+114*a)/1e3>=128?-1:1,f=(a,o,t,n=1)=>{const l=[Math.max(Math.min(Math.round(o[0]+n*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+n*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+n*Math.max(1,o[2]/100)),255),0)],i=r(e.hex(`rgba(${a.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:a,foreground:l,contrast:i}:f(a,l,t,n)},d=new Map,c=(e,r,a,o=1)=>{if(d.has(e))return d.get(e);const t=f(e,r,a,o);return d.set(e,t),t},p=(r,a=7)=>{let o=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(o=s(r),t=o):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(o=s(r.background),t="string"==typeof r.foreground?s(r.foreground):o);const n=g(o[0],o[1],o[2]),l=c([o[0],o[1],o[2]],[t[0],t[1],t[2]],a,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${o.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},h=/^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;function y(e){return h.test(e)}function b(e){if(e.startsWith("{"))try{const r=JSON.parse(e);if(m(r))return{type:"ColorPair",value:r};if(k(r))return{type:"DeprecatedColorPair",value:r}}catch(e){return{type:null,value:null}}return{type:null,value:null}}function v(e){if(e)if("string"==typeof e){if(y(e))return{type:"string",valid:!0,value:e};{const r=b(e);if(r.value)return{type:r.type,valid:!0,value:r.value}}}else{const r=e;if(m(r))return{type:"ColorPair",valid:!0,value:r};const a=e;if(k(a))return{type:"DeprecatedColorPair",valid:!0,value:a}}return{type:null,valid:!1,value:""}}function m(e){return!("object"!=typeof e||!e||"string"!=typeof e.backgroundColor||!("string"==typeof e.foregroundColor||e.foregroundColor&&"string"==typeof e.foregroundColor.primary&&"string"==typeof e.foregroundColor.secondary&&"string"==typeof e.foregroundColor.neutral))}function k(e){return"object"==typeof e&&e&&"string"==typeof e.backgroundColor&&"string"==typeof e.color}function w(e){const r=v(e);switch(r.type){case null:return!1;case"string":case"ColorPair":case"DeprecatedColorPair":return r.valid}}const M=(e,r,o)=>{a(e,"_color",w,new Set(["rgb in hex","ColorPair"]),r,o)},$=e=>{var r;let a;const o=v(e);switch(o.type){case"string":a=p(o.value);break;case"ColorPair":case"DeprecatedColorPair":{const e=o.value,t=o.value;let n="";t.color?n=t.color:"string"==typeof e.foregroundColor?n=e.foregroundColor:(null===(r=e.foregroundColor)||void 0===r?void 0:r.primary)&&(n=e.foregroundColor.primary),n&&"string"==typeof n||(n="#fff"),a=p({background:e.backgroundColor,foreground:n});break}case null:console.warn(`_color was empty or invalid (${JSON.stringify(e)})`),a=p({background:"#000",foreground:"#000"})}return a.contrast<7&&t(`[KolBadge] The contrast of ${a.contrast} (≥7, AAA) is to low, between the color pair ${a.background} and ${a.foreground}.`),{backgroundColor:a.background,foregroundColor:a.foreground}};export{s as c,$ as h,M as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{v as s,I as t}from"./controller-a49613e3.js";import{v as e}from"./suggestions-c770bce0.js";import{w as i}from"./prop.validators-6a2ec81f.js";class a extends t{constructor(t,s,e){super(t,s,e),this.component=t}validateList(){}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions||this.component._list)}}class r extends a{constructor(t,s,e){super(t,s,e),this.hasError=!1,this.component=t}validateType(t){i(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{a as I,r as a};
4
+ import{v as s,I as t}from"./controller-a32a3593.js";import{v as e}from"./suggestions-bab18480.js";import{w as a}from"./prop.validators-16a299ef.js";class i extends t{constructor(t,s,o){super(t,s,o),this.component=t}validateList(){}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions||this.component._list)}}class r extends i{constructor(t,s,o){super(t,s,o),this.hasError=!1,this.component=t}validateType(t){a(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{i as I,r as a};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{w as t}from"./prop.validators-6a2ec81f.js";const o=(o,r,a)=>{t(o,r,(t=>"button"===t||"reset"===t||"submit"===t),new Set(["KoliBriButtonType {button, reset, submit}"]),a)},r=(o,r,a)=>{t(o,r,(t=>"primary"===t||"secondary"===t||"normal"===t||"danger"===t||"ghost"===t||"custom"===t),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),a,{defaultValue:"normal"})};export{o as a,r as w};
4
+ import{w as t}from"./prop.validators-16a299ef.js";const o=(o,r,a)=>{t(o,r,(t=>"button"===t||"reset"===t||"submit"===t),new Set(["KoliBriButtonType {button, reset, submit}"]),a)},r=(o,r,a)=>{t(o,r,(t=>"primary"===t||"secondary"===t||"normal"===t||"danger"===t||"ghost"===t||"custom"===t),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),a,{defaultValue:"normal"})};export{o as a,r as w};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{d as e}from"./a11y.tipps-821939d5.js";import{b as o}from"./dev.utils-a47b8ff2.js";import{f as t,K as n}from"./prop.validators-6a2ec81f.js";const i=t=>{for(o()&&(e("↓ Search form element start."),console.log(t));t instanceof HTMLElement&&"FORM"!==t.tagName&&"KOL-FORM"!==t.tagName;)t=t.parentElement instanceof HTMLElement?t.parentElement:t.parentNode instanceof ShadowRoot?t.parentNode.host:null,o()&&console.log(t);return o()&&e("↑ Search form element finished."),t},s=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:s});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
4
+ import{d as e}from"./a11y.tipps-6dec4a30.js";import{b as o}from"./dev.utils-db5acc7e.js";import{f as t,K as n}from"./prop.validators-16a299ef.js";const i=t=>{for(o()&&(e("↓ Search form element start."),console.log(t));t instanceof HTMLElement&&"FORM"!==t.tagName&&"KOL-FORM"!==t.tagName;)t=t.parentElement instanceof HTMLElement?t.parentElement:t.parentNode instanceof ShadowRoot?t.parentNode.host:null,o()&&console.log(t);return o()&&e("↑ Search form element finished."),t},s=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:s});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{a as t,d as i,s,o as e,p as h}from"./prop.validators-6a2ec81f.js";import{a}from"./label-7743754d.js";import{g as o,d as n}from"./a11y.tipps-821939d5.js";import{A as r,p as d,t as l}from"./associated.controller-3e40ba0b.js";import{v as c}from"./tab-index-cbaa8f9d.js";const u=t=>{const o="string"==typeof t._error&&t._error.length>0&&!0===t._touched,e="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===o&&n.push(`${t._id}-error`),!0===e&&n.push(`${t._id}-hint`),{hasError:o,hasHint:e,ariaDescribedBy:n}},f=(o,e)=>{t(o,"_adjustHeight",e)},v=(o,e)=>{t(o,"_touched",e)};class p extends r{constructor(t,o,e){super(t,o,e),this.component=t}validateAlert(o){t(this.component,"_alert",o)}validateTouched(t){v(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class b extends p{constructor(t,o,e){super(t,o,e),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){i(this.component,"_accessKey",t)}validateAdjustHeight(t){f(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&o()}validateError(t){i(this.component,"_error",t)}validateHideLabel(o){t(this.component,"_hideLabel",o)}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||n("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){a(this.component,t)}validateOn(t){"object"==typeof t&&s(this.component,"_on",t)}validateSmartButton(t){e(t,(()=>{try{t=h(t)}catch(t){}s(this.component,"_smartButton",t)}))}validateTabIndex(t){c(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var o;this.component._alert=!0,this.component._touched=!0,d(t),l("blur",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onBlur)&&this.component._on.onBlur(t)}onChange(t){var o;const e=t.target.value;d(t),l("change",this.host,e),this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e),this.valueChangeListeners.forEach((t=>t(e)))}onClick(t){var o;d(t),l("click",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onClick)&&this.component._on.onClick(t)}onFocus(t){var o;this.component._alert=!0,d(t),l("focus",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onFocus)&&this.component._on.onFocus(t)}setValue(t,o){var e;this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{b as I,u as g};
4
+ import{a as t,d as i,s,o as e,p as h}from"./prop.validators-16a299ef.js";import{a}from"./label-fb6431a5.js";import{h as o,d as n}from"./a11y.tipps-6dec4a30.js";import{A as r,s as d,t as l}from"./associated.controller-99fa1cb9.js";import{v as c}from"./tab-index-62c82aff.js";const f=t=>{const o="string"==typeof t._error&&t._error.length>0&&!0===t._touched,e="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===o&&n.push(`${t._id}-error`),!0===e&&n.push(`${t._id}-hint`),{hasError:o,hasHint:e,ariaDescribedBy:n}},u=(o,e)=>{t(o,"_adjustHeight",e)},v=(o,e)=>{t(o,"_touched",e)};class p extends r{constructor(t,o,e){super(t,o,e),this.component=t}validateAlert(o){t(this.component,"_alert",o)}validateTouched(t){v(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class b extends p{constructor(t,o,e){super(t,o,e),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){i(this.component,"_accessKey",t)}validateAdjustHeight(t){u(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&o()}validateError(t){i(this.component,"_error",t)}validateHideLabel(o){t(this.component,"_hideLabel",o)}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||n("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){a(this.component,t)}validateOn(t){"object"==typeof t&&s(this.component,"_on",t)}validateSmartButton(t){e(t,(()=>{try{t=h(t)}catch(t){}s(this.component,"_smartButton",t)}))}validateTabIndex(t){c(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var o;this.component._alert=!0,this.component._touched=!0,d(t),l("blur",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onBlur)&&this.component._on.onBlur(t)}onChange(t){var o;const e=t.target.value;d(t),l("change",this.host,e),this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e),this.valueChangeListeners.forEach((t=>t(e)))}onClick(t){var o;d(t),l("click",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onClick)&&this.component._on.onClick(t)}onFocus(t){var o;this.component._alert=!0,d(t),l("focus",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onFocus)&&this.component._on.onFocus(t)}setValue(t,o){var e;this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{b as I,f as g};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","hideLabel","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","validateHint","validateId","hooks","afterPatch","setAttribute","formAssociated","minLength","devHint","validateLabel","validateLabelWithExpertSlot","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","e","validateTabIndex","_accessKey","_adjustHeight","_disabled","_hideLabel","_label","_smartButton","_on","_tabIndex","event","stopPropagation","tryToDispatchKoliBriEvent","_a","target","setFormAssociatedValue","forEach","listener","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{a as t,w as e,e as i,d as s}from"./prop.validators-6a2ec81f.js";import{d as a}from"./a11y.tipps-821939d5.js";import{I as h}from"./controller-icon-3babfd57.js";const n=(e,a)=>{t(e,"_hasCounter",a)};class o extends h{constructor(e,t,n){super(e,t,n),this.handleHiddenLabelAndRequired=()=>{!0===this.component.state._hideLabel&&!0===this.component.state._required?(a("[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist."),this.hideLabel=!1):this.hideLabel=!0===this.component.state._hideLabel},this.component=e}validateAutoComplete(t){e(this.component,"_autoComplete",(e=>"string"==typeof e&&("on"===e||"off"===e)),new Set(["on | off"]),t)}validateHasCounter(e){n(this.component,e)}validateHideLabel(e){t(this.component,"_hideLabel",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateMaxLength(e){i(this.component,"_maxLength",e,{min:0})}validatePattern(e){s(this.component,"_pattern",e)}validatePlaceholder(e){s(this.component,"_placeholder",e)}validateReadOnly(e){t(this.component,"_readOnly",e)}validateRequired(e){t(this.component,"_required",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateSize(e){i(this.component,"_size",e,{min:1})}validateValue(e){s(this.component,"_value",e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(e){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(e)}onFocus(e){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(e)}}export{o as I,n as v};
4
+ import{a as t,w as e,e as i,d as s}from"./prop.validators-16a299ef.js";import{d as a}from"./a11y.tipps-6dec4a30.js";import{I as h}from"./controller-icon-98baefa1.js";const n=(e,a)=>{t(e,"_hasCounter",a)};class o extends h{constructor(e,t,n){super(e,t,n),this.handleHiddenLabelAndRequired=()=>{!0===this.component.state._hideLabel&&!0===this.component.state._required?(a("[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist."),this.hideLabel=!1):this.hideLabel=!0===this.component.state._hideLabel},this.component=e}validateAutoComplete(t){e(this.component,"_autoComplete",(e=>"string"==typeof e&&("on"===e||"off"===e)),new Set(["on | off"]),t)}validateHasCounter(e){n(this.component,e)}validateHideLabel(e){t(this.component,"_hideLabel",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateMaxLength(e){i(this.component,"_maxLength",e,{min:0})}validatePattern(e){s(this.component,"_pattern",e)}validatePlaceholder(e){s(this.component,"_placeholder",e)}validateReadOnly(e){t(this.component,"_readOnly",e)}validateRequired(e){t(this.component,"_required",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateSize(e){i(this.component,"_size",e,{min:1})}validateValue(e){s(this.component,"_value",e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(e){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(e)}onFocus(e){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(e)}}export{o as I,n as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{c as t,a as e,w as s,m as i,s as a}from"./prop.validators-6a2ec81f.js";import{h as o,c as r}from"./label-7743754d.js";import{a as n}from"./a11y.tipps-821939d5.js";import{S as l}from"./reuse-c2156413.js";import{I as h}from"./controller-6f322c76.js";const f=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===o(t.label,3)&&!1===r(t.label)&&n(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===f(t)));if("number"==typeof t.label)return!0}return!1},c=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},u=(e,o,i={})=>{t(e,"_options",f,o,void 0,i)},p=(t,o)=>{e(t,"_required",o)},d=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?d(t,e.options,a):t.set(a,e))}))};class m extends h{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){p(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class b extends m{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),d(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){c(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,a(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(l)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{m as I,b as a,d as f,u as v};
4
+ import{c as t,a as e,w as s,m as i,s as a}from"./prop.validators-16a299ef.js";import{h as o,c as r}from"./label-fb6431a5.js";import{a as n}from"./a11y.tipps-6dec4a30.js";import{S as l}from"./reuse-c2156413.js";import{I as h}from"./controller-9d9a6b95.js";const f=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===o(t.label,3)&&!1===r(t.label)&&n(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===f(t)));if("number"==typeof t.label)return!0}return!1},c=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},u=(e,o,i={})=>{t(e,"_options",f,o,void 0,i)},p=(t,o)=>{e(t,"_required",o)},d=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?d(t,e.options,a):t.set(a,e))}))};class m extends h{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){p(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class b extends m{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),d(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){c(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,a(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(l)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{m as I,b as a,d as f,u as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{i as o}from"./icon-af262426.js";import{o as t,p as s,w as i}from"./prop.validators-16a299ef.js";import{i as r}from"./reuse-c2156413.js";import{I as e}from"./controller-9d9a6b95.js";const c=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class a extends e{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(e){t(e,(()=>{try{e=s(e)}catch(o){}i(this.component,"_icon",(t=>"object"==typeof t&&null!==t&&(r(t.left,1)||o(t.left)||r(t.right,1)||o(t.right))),new Set(["KoliBriHorizontalIcon"]),e,{hooks:{beforePatch:c},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{a as I};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{p as e}from"./reuse-c2156413.js";class t{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),a().body.style.maxHeight="100vh",a().body.style.overflow="hidden",this.lockFocus(a().body,t)}else a().body.style.maxHeight="unset",a().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?v.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)v.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class i{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){const t=e.label||e.heading;if(void 0===t)throw new Error("Toast requires a label.");this.toastElement.setAttribute("_label",t),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let n=null,s=null;const o=e=>{e instanceof Window?(n=e,n.document instanceof Document?s=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},l=()=>n||"undefined"==typeof window?null:window,a=()=>s||void 0===l().document?null:l().document;let r=null,c=null,u=null,d=null;const h=()=>!0===c,f=()=>!0===u,m=()=>!0===d;class v{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${v.shield.label} | ${e}`:v.shield.label}static getShield(e){return[v.handleClassifier(null==e?void 0:e.classifier),`${v.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.debug(...v.getShield(t),...v.mapToArray(e))}static info(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.info(...v.getShield(t),...v.mapToArray(e))}static trace(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.trace(...v.getShield(t),...v.mapToArray(e))}static warn(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.warn(...v.getShield(t),...v.mapToArray(e))}static error(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.error(...v.getShield(t),...v.mapToArray(e))}static throw(e,t){if(c||!0===(null==t?void 0:t.forceLog))throw new Error(...v.getShield(t),...v.mapToArray(e))}}v.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const p=()=>{if(null===c&&null===u&&null===d){const e=a().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(r=e.getAttribute("content"),"string"==typeof r&&(c=r.includes("dev-mode=true"),u=r.includes("experimental-mode=true"),d=r.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let b=null;const w=()=>b||{},M=()=>{if(null===b){b=l().KoliBri||{};const e=new t,o=new i(a());Object.defineProperty(b,"Modal",{get:function(){return e}}),Object.defineProperty(b,"Toaster",{get:function(){return o}}),p(),v.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.22\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},T=()=>{void 0===l().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return b}}),!0!==w().adviceShown&&(Object.defineProperty(b,"adviceShown",{get:function(){return!0}}),v.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let g=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(g=()=>"nonce");export{b as K,v as L,i as T,l as a,f as b,o as c,w as d,h as e,m as f,a as g,M as i,g as n,T as r};
4
+ import{p as e}from"./reuse-c2156413.js";class t{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),a().body.style.maxHeight="100vh",a().body.style.overflow="hidden",this.lockFocus(a().body,t)}else a().body.style.maxHeight="unset",a().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?v.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)v.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class i{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){const t=e.label||e.heading;if(void 0===t)throw new Error("Toast requires a label.");this.toastElement.setAttribute("_label",t),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let n=null,s=null;const o=e=>{e instanceof Window?(n=e,n.document instanceof Document?s=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},l=()=>n||"undefined"==typeof window?null:window,a=()=>s||void 0===l().document?null:l().document;let r=null,c=null,u=null,d=null;const h=()=>!0===c,f=()=>!0===u,m=()=>!0===d;class v{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${v.shield.label} | ${e}`:v.shield.label}static getShield(e){return[v.handleClassifier(null==e?void 0:e.classifier),`${v.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.debug(...v.getShield(t),...v.mapToArray(e))}static info(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.info(...v.getShield(t),...v.mapToArray(e))}static trace(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.trace(...v.getShield(t),...v.mapToArray(e))}static warn(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.warn(...v.getShield(t),...v.mapToArray(e))}static error(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.error(...v.getShield(t),...v.mapToArray(e))}static throw(e,t){if(c||!0===(null==t?void 0:t.forceLog))throw new Error(...v.getShield(t),...v.mapToArray(e))}}v.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const p=()=>{if(null===c&&null===u&&null===d){const e=a().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(r=e.getAttribute("content"),"string"==typeof r&&(c=r.includes("dev-mode=true"),u=r.includes("experimental-mode=true"),d=r.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let b=null;const w=()=>b||{},M=()=>{if(null===b){b=l().KoliBri||{};const e=new t,o=new i(a());Object.defineProperty(b,"Modal",{get:function(){return e}}),Object.defineProperty(b,"Toaster",{get:function(){return o}}),p(),v.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.23\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},T=()=>{void 0===l().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return b}}),!0!==w().adviceShown&&(Object.defineProperty(b,"adviceShown",{get:function(){return!0}}),v.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let g=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(g=()=>"nonce");export{b as K,v as L,i as T,l as a,f as b,o as c,w as d,h as e,m as f,a as g,M as i,g as n,T as r};
@@ -1 +1 @@
1
- {"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","ToasterService","document","queue","Set","isOpen","toastElement","createElement","_on","onClose","next","values","showToast","insertBefore","firstChild","enqueue","data","add","label","heading","Error","type","innerText","description","WINDOW","DOCUMENT","configKoliBri","window","Window","Document","console","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","isArray","handleClassifier","classifier","shield","getShield","options","overwriteStyle","debug","forceLog","info","trace","error","initMeta","meta","querySelector","hasAttribute","includes","KoliBri","getKoliBri","initKoliBri","Modal","Toaster","Object","defineProperty","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["src/components/modal/service.ts","src/components/toast/toaster.tsx","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { LabelPropType } from '../../types/props/label';\nimport { AlertType } from '../alert/types';\n\ntype Toast = {\n\tdescription: string;\n\t/**\n\t * @deprecated Use label.\n\t */\n\theading?: string;\n\tlabel?: LabelPropType;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tconst label = data.label || data.heading;\n\n\t\tif (typeof label === 'undefined') {\n\t\t\t// TODO v2: Make label required, remove this check.\n\t\t\tthrow new Error('Toast requires a label.');\n\t\t}\n\n\t\tthis.toastElement.setAttribute('_label', label);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = window.document;\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.22\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"mappings":"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"}
1
+ {"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","ToasterService","document","queue","Set","isOpen","toastElement","createElement","_on","onClose","next","values","showToast","insertBefore","firstChild","enqueue","data","add","label","heading","Error","type","innerText","description","WINDOW","DOCUMENT","configKoliBri","window","Window","Document","console","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","isArray","handleClassifier","classifier","shield","getShield","options","overwriteStyle","debug","forceLog","info","trace","error","initMeta","meta","querySelector","hasAttribute","includes","KoliBri","getKoliBri","initKoliBri","Modal","Toaster","Object","defineProperty","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["src/components/modal/service.ts","src/components/toast/toaster.tsx","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { LabelPropType } from '../../types/props/label';\nimport { AlertType } from '../alert/types';\n\ntype Toast = {\n\tdescription: string;\n\t/**\n\t * @deprecated Use label.\n\t */\n\theading?: string;\n\tlabel?: LabelPropType;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tconst label = data.label || data.heading;\n\n\t\tif (typeof label === 'undefined') {\n\t\t\t// TODO v2: Make label required, remove this check.\n\t\t\tthrow new Error('Toast requires a label.');\n\t\t}\n\n\t\tthis.toastElement.setAttribute('_label', label);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = window.document;\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.23\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{i as t,e as o,r as s,g as e,L as a,b as r,f as i,K as l}from"./dev.utils-a47b8ff2.js";import{n,q as p,k as c,t as f,u as L,p as d,v as m}from"./prop.validators-6a2ec81f.js";import"./reuse-c2156413.js";import"./a11y.tipps-821939d5.js";import"./index-37b5cbcf.js";function u(t,e){try{Object.defineProperty(l,t,{get:function(){return e}})}catch(e){a.debug(`KoliBri property ${t} is already bind.`)}}const v=(t,e)=>a.debug(`${t} ${e?"":"not "}activated`),h=()=>{if(t(),o()){s(),u("a11yColorContrast",p),u("querySelector",c),u("querySelectorAll",f),u("querySelectorColors",L),u("utils",(function(){return n})),u("parseJson",d),u("stringifyJson",m);const t=e().body,a=e().createElement("svg");if(a.setAttribute("aria-label","KoliBri-DevTools"),a.setAttribute("xmlns","http://www.w3.org/2000/svg"),a.setAttribute("role","toolbar"),a.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),a.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',e().body.appendChild(a),v("Development mode",o()),v("Experimental mode",r()),v("Color contrast analysis",i()),i()){const o=setTimeout((()=>{clearTimeout(o),setInterval((()=>{n.queryHtmlElementColors(e().createElement("div"),p(t),!1,!1)}),1e4)}),2500)}}};export{h as initialize};
4
+ import{i as t,e as o,r as s,g as e,L as a,b as r,f as i,K as l}from"./dev.utils-db5acc7e.js";import{n,q as c,k as p,t as f,u as d,p as L,v as m}from"./prop.validators-16a299ef.js";import"./reuse-c2156413.js";import"./a11y.tipps-6dec4a30.js";import"./index-37b5cbcf.js";function u(t,e){try{Object.defineProperty(l,t,{get:function(){return e}})}catch(e){a.debug(`KoliBri property ${t} is already bind.`)}}const v=(t,e)=>a.debug(`${t} ${e?"":"not "}activated`),h=()=>{if(t(),o()){s(),u("a11yColorContrast",c),u("querySelector",p),u("querySelectorAll",f),u("querySelectorColors",d),u("utils",(function(){return n})),u("parseJson",L),u("stringifyJson",m);const t=e().body,a=e().createElement("svg");if(a.setAttribute("aria-label","KoliBri-DevTools"),a.setAttribute("xmlns","http://www.w3.org/2000/svg"),a.setAttribute("role","toolbar"),a.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),a.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',e().body.appendChild(a),v("Development mode",o()),v("Experimental mode",r()),v("Color contrast analysis",i()),i()){const o=setTimeout((()=>{clearTimeout(o),setInterval((()=>{n.queryHtmlElementColors(e().createElement("div"),c(t),!1,!1)}),1e4)}),2500)}}};export{h as initialize};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{a}from"./prop.validators-6a2ec81f.js";const s=(o,s)=>{a(o,"_ariaExpanded",s)},o=(o,s)=>{a(o,"_disabled",s)};export{o as a,s as v};
4
+ import{a}from"./prop.validators-16a299ef.js";const s=(o,s)=>{a(o,"_ariaExpanded",s)},o=(o,s)=>{a(o,"_disabled",s)};export{o as a,s as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ const t=Math.min,n=Math.max,e={left:"right",right:"left",bottom:"top",top:"bottom"},o={start:"end",end:"start"};function r(e,o,i){return n(e,t(o,i))}function i(t,e){return"function"==typeof t?t(e):t}function c(t){return t.split("-")[0]}function s(t){return t.split("-")[1]}function l(t){return"x"===t?"y":"x"}function f(t){return"y"===t?"height":"width"}function a(t){return["top","bottom"].includes(c(t))?"y":"x"}function u(t){return l(a(t))}function d(t,e,n){void 0===n&&(n=!1);const o=s(t),i=u(t),r=f(i);let l="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return e.reference[r]>e.floating[r]&&(l=x(l)),[l,x(l)]}function m(t){const e=x(t);return[y(t),e,y(e)]}function y(t){return t.replace(/start|end/g,(t=>o[t]))}function p(t,e,n){const o=["left","right"],i=["right","left"],r=["top","bottom"],l=["bottom","top"];switch(t){case"top":case"bottom":return n?e?i:o:e?o:i;case"left":case"right":return e?r:l;default:return[]}}function h(t,e,n,o){const i=s(t);let r=p(c(t),"start"===n,o);return i&&(r=r.map((t=>t+"-"+i)),e&&(r=r.concat(r.map(y)))),r}function x(t){return t.replace(/left|right|bottom|top/g,(t=>e[t]))}function g(t){return{top:0,right:0,bottom:0,left:0,...t}}function w(t){return"number"!=typeof t?g(t):{top:t,right:t,bottom:t,left:t}}function b(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}function v(t,e,n){let{reference:o,floating:i}=t;const r=a(e),l=u(e),d=f(l),m=c(e),p="y"===r,h=o.x+o.width/2-i.width/2,g=o.y+o.height/2-i.height/2,y=o[d]/2-i[d]/2;let x;switch(m){case"top":x={x:h,y:o.y-i.height};break;case"bottom":x={x:h,y:o.y+o.height};break;case"right":x={x:o.x+o.width,y:g};break;case"left":x={x:o.x-i.width,y:g};break;default:x={x:o.x,y:o.y}}switch(s(e)){case"start":x[l]-=y*(n&&p?-1:1);break;case"end":x[l]+=y*(n&&p?-1:1)}return x}const A=async(t,e,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:r=[],platform:l}=n,c=r.filter(Boolean),s=await(null==l.isRTL?void 0:l.isRTL(e));let a=await l.getElementRects({reference:t,floating:e,strategy:i}),{x:f,y:u}=v(a,o,s),d=o,m={},p=0;for(let n=0;n<c.length;n++){const{name:r,fn:h}=c[n],{x:g,y:y,data:x,reset:w}=await h({x:f,y:u,initialPlacement:o,placement:d,strategy:i,middlewareData:m,rects:a,platform:l,elements:{reference:t,floating:e}});f=null!=g?g:f,u=null!=y?y:u,m={...m,[r]:{...m[r],...x}},w&&p<=50&&(p++,"object"==typeof w&&(w.placement&&(d=w.placement),w.rects&&(a=!0===w.rects?await l.getElementRects({reference:t,floating:e,strategy:i}):w.rects),({x:f,y:u}=v(a,d,s))),n=-1)}return{x:f,y:u,placement:d,strategy:i,middlewareData:m}};async function S(t,e){var n;void 0===e&&(e={});const{x:o,y:r,platform:l,rects:c,elements:s,strategy:a}=t,{boundary:f="clippingAncestors",rootBoundary:u="viewport",elementContext:d="floating",altBoundary:m=!1,padding:p=0}=i(e,t),h=w(p),g=s[m?"floating"===d?"reference":"floating":d],y=b(await l.getClippingRect({element:null==(n=await(null==l.isElement?void 0:l.isElement(g)))||n?g:g.contextElement||await(null==l.getDocumentElement?void 0:l.getDocumentElement(s.floating)),boundary:f,rootBoundary:u,strategy:a})),x="floating"===d?{...c.floating,x:o,y:r}:c.reference,v=await(null==l.getOffsetParent?void 0:l.getOffsetParent(s.floating)),R=await(null==l.isElement?void 0:l.isElement(v))&&await(null==l.getScale?void 0:l.getScale(v))||{x:1,y:1},L=b(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({rect:x,offsetParent:v,strategy:a}):x);return{top:(y.top-L.top+h.top)/R.y,bottom:(L.bottom-y.bottom+h.bottom)/R.y,left:(y.left-L.left+h.left)/R.x,right:(L.right-y.right+h.right)/R.x}}const R=e=>({name:"arrow",options:e,async fn(n){const{x:o,y:l,placement:c,rects:a,platform:d,elements:m}=n,{element:p,padding:h=0}=i(e,n)||{};if(null==p)return{};const g=w(h),y={x:o,y:l},x=u(c),v=f(x),b=await d.getDimensions(p),R="y"===x,L=R?"top":"left",T=R?"bottom":"right",C=R?"clientHeight":"clientWidth",E=a.reference[v]+a.reference[x]-y[x]-a.floating[v],D=y[x]-a.reference[x],O=await(null==d.getOffsetParent?void 0:d.getOffsetParent(p));let A=O?O[C]:0;A&&await(null==d.isElement?void 0:d.isElement(O))||(A=m.floating[C]||a.floating[v]);const S=E/2-D/2,W=A/2-b[v]/2-1,P=t(g[L],W),F=t(g[T],W),H=P,k=A-b[v]-F,z=A/2-b[v]/2+S,B=r(H,z,k),V=null!=s(c)&&z!=B&&a.reference[v]/2-(z<H?P:F)-b[v]/2<0?z<H?H-z:k-z:0;return{[x]:y[x]-V,data:{[x]:B,centerOffset:z-B+V}}}}),k=function(t){return void 0===t&&(t={}),{name:"flip",options:t,async fn(e){var n;const{placement:o,middlewareData:r,rects:l,initialPlacement:s,platform:a,elements:f}=e,{mainAxis:u=!0,crossAxis:p=!0,fallbackPlacements:g,fallbackStrategy:y="bestFit",fallbackAxisSideDirection:w="none",flipAlignment:v=!0,...b}=i(t,e),R=c(o),L=c(s)===s,T=await(null==a.isRTL?void 0:a.isRTL(f.floating)),C=g||(L||!v?[x(s)]:m(s));g||"none"===w||C.push(...h(s,v,w,T));const E=[s,...C],D=await S(e,b),O=[];let A=(null==(n=r.flip)?void 0:n.overflows)||[];if(u&&O.push(D[R]),p){const t=d(o,l,T);O.push(D[t[0]],D[t[1]])}if(A=[...A,{placement:o,overflows:O}],!O.every((t=>t<=0))){var W,P;const t=((null==(W=r.flip)?void 0:W.index)||0)+1,e=E[t];if(e)return{data:{index:t,overflows:A},reset:{placement:e}};let n=null==(P=A.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:P.placement;if(!n)switch(y){case"bestFit":{var F;const t=null==(F=A.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:F[0];t&&(n=t);break}case"initialPlacement":n=s}if(o!==n)return{reset:{placement:n}}}return{}}}};async function F(t,e){const{placement:n,platform:o,elements:r}=t,l=await(null==o.isRTL?void 0:o.isRTL(r.floating)),f=c(n),u=s(n),d="y"===a(n),m=["left","top"].includes(f)?-1:1,p=l&&d?-1:1,h=i(e,t);let{mainAxis:g,crossAxis:y,alignmentAxis:x}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...h};return u&&"number"==typeof x&&(y="end"===u?-1*x:x),d?{x:y*p,y:g*m}:{x:g*m,y:y*p}}const M=function(t){return void 0===t&&(t=0),{name:"offset",options:t,async fn(e){const{x:n,y:o}=e,i=await F(e,t);return{x:n+i.x,y:o+i.y,data:i}}}},T=function(t){return void 0===t&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:s}=e,{mainAxis:f=!0,crossAxis:u=!1,limiter:d={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...m}=i(t,e),p={x:n,y:o},h=await S(e,m),g=a(c(s)),y=l(g);let x=p[y],w=p[g];if(f){const t="y"===y?"bottom":"right";x=r(x+h["y"===y?"top":"left"],x,x-h[t])}if(u){const t="y"===g?"bottom":"right";w=r(w+h["y"===g?"top":"left"],w,w-h[t])}const v=d.fn({...e,[y]:x,[g]:w});return{...v,data:{x:v.x-n,y:v.y-o}}}}};function C(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function O(t){return C(t).getComputedStyle(t)}function P(t){return t instanceof C(t).Node}function z(t){return P(t)?(t.nodeName||"").toLowerCase():"#document"}function D(t){return t instanceof HTMLElement||t instanceof C(t).HTMLElement}function L(t){return"undefined"!=typeof ShadowRoot&&(t instanceof C(t).ShadowRoot||t instanceof ShadowRoot)}function B(t){const{overflow:e,overflowX:n,overflowY:o,display:i}=O(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(i)}function E(t){return["table","td","th"].includes(z(t))}function I(t){const e=q(),n=O(t);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!e&&!!n.backdropFilter&&"none"!==n.backdropFilter||!e&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((t=>(n.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(n.contain||"").includes(t)))}function q(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function H(t){return["html","body","#document"].includes(z(t))}const N=Math.min,$=Math.max,j=Math.round,V=Math.floor,W=t=>({x:t,y:t});function X(t){const e=O(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const i=D(t),r=i?t.offsetWidth:n,l=i?t.offsetHeight:o,c=j(n)!==r||j(o)!==l;return c&&(n=r,o=l),{width:n,height:o,$:c}}function Y(t){return t instanceof Element||t instanceof C(t).Element}function _(t){return Y(t)?t:t.contextElement}function G(t){const e=_(t);if(!D(e))return W(1);const n=e.getBoundingClientRect(),{width:o,height:i,$:r}=X(e);let l=(r?j(n.width):n.width)/o,c=(r?j(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),c&&Number.isFinite(c)||(c=1),{x:l,y:c}}const J=W(0);function K(t){const e=C(t);return q()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:J}function Q(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==C(t))&&e}function U(t,e,n,o){void 0===e&&(e=!1),void 0===n&&(n=!1);const i=t.getBoundingClientRect(),r=_(t);let l=W(1);e&&(o?Y(o)&&(l=G(o)):l=G(t));const c=Q(r,n,o)?K(r):W(0);let s=(i.left+c.x)/l.x,a=(i.top+c.y)/l.y,f=i.width/l.x,u=i.height/l.y;if(r){const t=C(r),e=o&&Y(o)?C(o):o;let n=t.frameElement;for(;n&&o&&e!==t;){const t=G(n),e=n.getBoundingClientRect(),o=getComputedStyle(n),i=e.left+(n.clientLeft+parseFloat(o.paddingLeft))*t.x,r=e.top+(n.clientTop+parseFloat(o.paddingTop))*t.y;s*=t.x,a*=t.y,f*=t.x,u*=t.y,s+=i,a+=r,n=C(n).frameElement}}return b({width:f,height:u,x:s,y:a})}function Z(t){return Y(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function tt(t){var e;return null==(e=(P(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function nt(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=D(n),r=tt(n);if(n===r)return e;let l={scrollLeft:0,scrollTop:0},c=W(1);const s=W(0);if((i||!i&&"fixed"!==o)&&(("body"!==z(n)||B(r))&&(l=Z(n)),D(n))){const t=U(n);c=G(n),s.x=t.x+n.clientLeft,s.y=t.y+n.clientTop}return{width:e.width*c.x,height:e.height*c.y,x:e.x*c.x-l.scrollLeft*c.x+s.x,y:e.y*c.y-l.scrollTop*c.y+s.y}}function et(t){return Array.from(t.getClientRects())}function ot(t){return U(tt(t)).left+Z(t).scrollLeft}function rt(t){const e=tt(t),n=Z(t),o=t.ownerDocument.body,i=$(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),r=$(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let l=-n.scrollLeft+ot(t);const c=-n.scrollTop;return"rtl"===O(o).direction&&(l+=$(e.clientWidth,o.clientWidth)-i),{width:i,height:r,x:l,y:c}}function it(t){if("html"===z(t))return t;const e=t.assignedSlot||t.parentNode||L(t)&&t.host||tt(t);return L(e)?e.host:e}function ct(t){const e=it(t);return H(e)?t.ownerDocument?t.ownerDocument.body:t.body:D(e)&&B(e)?e:ct(e)}function st(t,e){var n;void 0===e&&(e=[]);const o=ct(t),i=o===(null==(n=t.ownerDocument)?void 0:n.body),r=C(o);return i?e.concat(r,r.visualViewport||[],B(o)?o:[]):e.concat(o,st(o))}function lt(t,e){const n=C(t),o=tt(t),i=n.visualViewport;let r=o.clientWidth,l=o.clientHeight,c=0,s=0;if(i){r=i.width,l=i.height;const t=q();(!t||t&&"fixed"===e)&&(c=i.offsetLeft,s=i.offsetTop)}return{width:r,height:l,x:c,y:s}}function ft(t,e){const n=U(t,!0,"fixed"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=D(t)?G(t):W(1);return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}function at(t,e,n){let o;if("viewport"===e)o=lt(t,n);else if("document"===e)o=rt(tt(t));else if(Y(e))o=ft(e,n);else{const n=K(t);o={...e,x:e.x-n.x,y:e.y-n.y}}return b(o)}function ut(t,e){const n=it(t);return!(n===e||!Y(n)||H(n))&&("fixed"===O(n).position||ut(n,e))}function dt(t,e){const n=e.get(t);if(n)return n;let o=st(t).filter((t=>Y(t)&&"body"!==z(t))),i=null;const r="fixed"===O(t).position;let l=r?it(t):t;for(;Y(l)&&!H(l);){const e=O(l),n=I(l);n||"fixed"!==e.position||(i=null);(r?!n&&!i:!n&&"static"===e.position&&!!i&&["absolute","fixed"].includes(i.position)||B(l)&&!n&&ut(t,l))?o=o.filter((t=>t!==l)):i=e,l=it(l)}return e.set(t,o),o}function mt(t){let{element:e,boundary:n,rootBoundary:o,strategy:i}=t;const r=[..."clippingAncestors"===n?dt(e,this._c):[].concat(n),o],l=r[0],c=r.reduce(((t,n)=>{const o=at(e,n,i);return t.top=$(o.top,t.top),t.right=N(o.right,t.right),t.bottom=N(o.bottom,t.bottom),t.left=$(o.left,t.left),t}),at(e,l,i));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function yt(t){return X(t)}function pt(t,e,n){const o=D(e),i=tt(e),r="fixed"===n,l=U(t,!0,r,e);let c={scrollLeft:0,scrollTop:0};const s=W(0);if(o||!o&&!r)if(("body"!==z(e)||B(i))&&(c=Z(e)),D(e)){const t=U(e,!0,r,e);s.x=t.x+e.clientLeft,s.y=t.y+e.clientTop}else i&&(s.x=ot(i));return{x:l.left+c.scrollLeft-s.x,y:l.top+c.scrollTop-s.y,width:l.width,height:l.height}}function ht(t,e){return D(t)&&"fixed"!==O(t).position?e?e(t):t.offsetParent:null}function xt(t){let e=it(t);for(;D(e)&&!H(e);){if(I(e))return e;e=it(e)}return null}function gt(t,e){const n=C(t);if(!D(t))return n;let o=ht(t,e);for(;o&&E(o)&&"static"===O(o).position;)o=ht(o,e);return o&&("html"===z(o)||"body"===z(o)&&"static"===O(o).position&&!I(o))?n:o||xt(t)||n}const wt=async function(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||gt,r=this.getDimensions;return{reference:pt(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}};function bt(t){return"rtl"===getComputedStyle(t).direction}const vt={convertOffsetParentRelativeRectToViewportRelativeRect:nt,getDocumentElement:tt,getClippingRect:mt,getOffsetParent:gt,getElementRects:wt,getClientRects:et,getDimensions:yt,getScale:G,isElement:Y,isRTL:bt};function At(t,e){let n,o=null;const i=tt(t);function r(){clearTimeout(n),o&&o.disconnect(),o=null}return function l(c,s){void 0===c&&(c=!1),void 0===s&&(s=1),r();const{left:a,top:f,width:u,height:d}=t.getBoundingClientRect();if(c||e(),!u||!d)return;const m={rootMargin:-V(f)+"px "+-V(i.clientWidth-(a+u))+"px "+-V(i.clientHeight-(f+d))+"px "+-V(a)+"px",threshold:$(0,N(1,s))||1};let p=!0;function h(t){const e=t[0].intersectionRatio;if(e!==s){if(!p)return l();e?l(!1,e):n=setTimeout((()=>{l(!1,1e-7)}),100)}p=!1}try{o=new IntersectionObserver(h,{...m,root:i.ownerDocument})}catch(t){o=new IntersectionObserver(h,m)}o.observe(t)}(!0),r}function St(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:s=!1}=o,a=_(t),f=i||r?[...a?st(a):[],...st(e)]:[];f.forEach((t=>{i&&t.addEventListener("scroll",n,{passive:!0}),r&&t.addEventListener("resize",n)}));const u=a&&c?At(a,n):null;let d,m=-1,p=null;l&&(p=new ResizeObserver((t=>{let[o]=t;o&&o.target===a&&p&&(p.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{p&&p.observe(e)}))),n()})),a&&!s&&p.observe(a),p.observe(e));let h=s?U(t):null;return s&&function e(){const o=U(t);!h||o.x===h.x&&o.y===h.y&&o.width===h.width&&o.height===h.height||n();h=o,d=requestAnimationFrame(e)}(),n(),()=>{f.forEach((t=>{i&&t.removeEventListener("scroll",n),r&&t.removeEventListener("resize",n)})),u&&u(),p&&p.disconnect(),p=null,s&&cancelAnimationFrame(d)}}const Rt=(t,e,n)=>{const o=new Map,i={platform:vt,...n},r={...i.platform,_c:o};return A(t,e,{...i,platform:r})};export{R as a,St as b,Rt as c,k as f,M as o,T as s};