@public-ui/components 1.6.0-rc.24 → 1.6.0-rc.25

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 (905) hide show
  1. package/custom-elements.json +162 -162
  2. package/dist/cjs/{a11y.tipps-410ee075.js → a11y.tipps-1ae09b29.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-410ee075.js.map → a11y.tipps-1ae09b29.js.map} +1 -1
  4. package/dist/cjs/align-933b9f3b.js +4 -0
  5. package/dist/cjs/align-933b9f3b.js.map +1 -0
  6. package/dist/cjs/{align-f2e5e55b.js → alignment-bc8c7103.js} +1 -1
  7. package/dist/cjs/alignment-bc8c7103.js.map +1 -0
  8. package/dist/cjs/alternative-button-link-role-e9611969.js +4 -0
  9. package/dist/cjs/alternative-button-link-role-e9611969.js.map +1 -0
  10. package/dist/cjs/{app-globals-7e8b369e.js → app-globals-c2fa3f3b.js} +1 -1
  11. package/dist/cjs/{app-globals-7e8b369e.js.map → app-globals-c2fa3f3b.js.map} +1 -1
  12. package/dist/cjs/aria-selected-c8a48388.js +4 -0
  13. package/dist/cjs/aria-selected-c8a48388.js.map +1 -0
  14. package/dist/cjs/{associated.controller-6beebfb6.js → associated.controller-1c65b6fb.js} +1 -1
  15. package/dist/cjs/associated.controller-1c65b6fb.js.map +1 -0
  16. package/dist/cjs/button-type-e393af65.js +4 -0
  17. package/dist/cjs/button-type-e393af65.js.map +1 -0
  18. package/dist/cjs/button-variant-7f5d0b45.js +4 -0
  19. package/dist/cjs/button-variant-7f5d0b45.js.map +1 -0
  20. package/dist/cjs/{color-513d5264.js → color-61874991.js} +1 -1
  21. package/dist/cjs/{color-513d5264.js.map → color-61874991.js.map} +1 -1
  22. package/dist/cjs/{controller-3226fe83.js → controller-41825902.js} +1 -1
  23. package/dist/cjs/{controller-3226fe83.js.map → controller-41825902.js.map} +1 -1
  24. package/dist/cjs/{controller-15b2c983.js → controller-4599f3a8.js} +1 -1
  25. package/dist/cjs/{controller-15b2c983.js.map → controller-4599f3a8.js.map} +1 -1
  26. package/dist/cjs/{controller-d8e002ab.js → controller-4f13a920.js} +1 -1
  27. package/dist/cjs/{controller-d8e002ab.js.map → controller-4f13a920.js.map} +1 -1
  28. package/dist/cjs/{controller-f809f265.js → controller-88518751.js} +1 -1
  29. package/dist/cjs/{controller-f809f265.js.map → controller-88518751.js.map} +1 -1
  30. package/dist/cjs/{controller-52018655.js → controller-cd5d3127.js} +1 -1
  31. package/dist/cjs/controller-cd5d3127.js.map +1 -0
  32. package/dist/cjs/{controller-icon-a7345929.js → controller-icon-9e415963.js} +1 -1
  33. package/dist/cjs/{controller-icon-a7345929.js.map → controller-icon-9e415963.js.map} +1 -1
  34. package/dist/cjs/custom-class-47d7e19b.js +4 -0
  35. package/dist/cjs/custom-class-47d7e19b.js.map +1 -0
  36. package/dist/cjs/{dev.utils-d6ba8e97.js → dev.utils-8c8d0972.js} +1 -1
  37. package/dist/cjs/{dev.utils-d6ba8e97.js.map → dev.utils-8c8d0972.js.map} +1 -1
  38. package/dist/cjs/{devtools-b4cc6600.js → devtools-4f210fda.js} +1 -1
  39. package/dist/cjs/{devtools-b4cc6600.js.map → devtools-4f210fda.js.map} +1 -1
  40. package/dist/cjs/has-closer-2ac86bba.js +4 -0
  41. package/dist/cjs/{has-closer-ba283450.js.map → has-closer-2ac86bba.js.map} +1 -1
  42. package/dist/cjs/hide-label-050ec47a.js +4 -0
  43. package/dist/cjs/{hide-label-edf70971.js.map → hide-label-050ec47a.js.map} +1 -1
  44. package/dist/cjs/{i18n-ea77a601.js → i18n-e437fc0f.js} +1 -1
  45. package/dist/cjs/{i18n-ea77a601.js.map → i18n-e437fc0f.js.map} +1 -1
  46. package/dist/cjs/{icon-ccb23476.js → icon-c86632b9.js} +1 -1
  47. package/dist/cjs/icon-c86632b9.js.map +1 -0
  48. package/dist/cjs/image-source-195f6e3f.js +4 -0
  49. package/dist/cjs/{image-source-47ee14b1.js.map → image-source-195f6e3f.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-abbr.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  68. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  70. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  88. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  101. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  103. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  107. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  113. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-popover.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  135. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  136. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  137. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  138. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  139. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  140. package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
  141. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  142. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  143. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  144. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  145. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  146. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  147. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  148. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  149. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  150. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  151. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  152. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  153. package/dist/cjs/kolibri.cjs.js +1 -1
  154. package/dist/cjs/{label-dea575c5.js → label-06fe06a4.js} +1 -1
  155. package/dist/cjs/{label-dea575c5.js.map → label-06fe06a4.js.map} +1 -1
  156. package/dist/cjs/loader.cjs.js +1 -1
  157. package/dist/cjs/{prop.validators-d3b07c9b.js → prop.validators-25e9b642.js} +1 -1
  158. package/dist/cjs/{prop.validators-d3b07c9b.js.map → prop.validators-25e9b642.js.map} +1 -1
  159. package/dist/cjs/rows-42fe9ce5.js +4 -0
  160. package/dist/cjs/{rows-435bcf3a.js.map → rows-42fe9ce5.js.map} +1 -1
  161. package/dist/cjs/show-a89c1958.js +4 -0
  162. package/dist/cjs/{show-e15f52b3.js.map → show-a89c1958.js.map} +1 -1
  163. package/dist/cjs/{suggestions-bca02582.js → suggestions-278663f9.js} +1 -1
  164. package/dist/cjs/{suggestions-bca02582.js.map → suggestions-278663f9.js.map} +1 -1
  165. package/dist/cjs/{tab-index-0767b320.js → tab-index-3ed70cf5.js} +1 -1
  166. package/dist/cjs/{tab-index-0767b320.js.map → tab-index-3ed70cf5.js.map} +1 -1
  167. package/dist/cjs/tooltip-align-92b20352.js +4 -0
  168. package/dist/cjs/tooltip-align-92b20352.js.map +1 -0
  169. package/dist/cjs/{validation-4106a2ad.js → validation-22d217d1.js} +1 -1
  170. package/dist/cjs/{validation-4106a2ad.js.map → validation-22d217d1.js.map} +1 -1
  171. package/dist/cjs/{validation-634af29b.js → validation-be2dd2b9.js} +1 -1
  172. package/dist/cjs/{validation-634af29b.js.map → validation-be2dd2b9.js.map} +1 -1
  173. package/dist/components/align.js +1 -1
  174. package/dist/components/align.js.map +1 -1
  175. package/dist/components/{tab-index.js → alternative-button-link-role.js} +1 -1
  176. package/dist/components/alternative-button-link-role.js.map +1 -0
  177. package/dist/components/aria-selected.js +1 -1
  178. package/dist/components/aria-selected.js.map +1 -1
  179. package/dist/components/color.js +1 -1
  180. package/dist/components/component.js +1 -1
  181. package/dist/components/component.js.map +1 -1
  182. package/dist/components/component10.js.map +1 -1
  183. package/dist/components/component11.js +1 -1
  184. package/dist/components/component12.js.map +1 -1
  185. package/dist/components/component13.js +1 -1
  186. package/dist/components/component13.js.map +1 -1
  187. package/dist/components/component14.js +1 -1
  188. package/dist/components/component14.js.map +1 -1
  189. package/dist/components/component15.js +1 -1
  190. package/dist/components/component15.js.map +1 -1
  191. package/dist/components/component16.js +1 -1
  192. package/dist/components/component16.js.map +1 -1
  193. package/dist/components/component2.js +1 -1
  194. package/dist/components/component2.js.map +1 -1
  195. package/dist/components/component3.js +1 -1
  196. package/dist/components/component3.js.map +1 -1
  197. package/dist/components/component4.js +1 -1
  198. package/dist/components/component4.js.map +1 -1
  199. package/dist/components/component5.js +1 -1
  200. package/dist/components/component5.js.map +1 -1
  201. package/dist/components/component6.js +1 -1
  202. package/dist/components/component6.js.map +1 -1
  203. package/dist/components/component7.js.map +1 -1
  204. package/dist/components/component8.js +1 -1
  205. package/dist/components/component8.js.map +1 -1
  206. package/dist/components/component9.js +1 -1
  207. package/dist/components/component9.js.map +1 -1
  208. package/dist/components/controller-icon.js +1 -1
  209. package/dist/components/controller.js +1 -1
  210. package/dist/components/controller.js.map +1 -1
  211. package/dist/components/controller2.js +1 -1
  212. package/dist/components/controller2.js.map +1 -1
  213. package/dist/components/controller4.js +1 -1
  214. package/dist/components/devtools.js +1 -1
  215. package/dist/components/has-closer.js +1 -1
  216. package/dist/components/image-source.js +1 -1
  217. package/dist/components/kol-abbr.js +1 -1
  218. package/dist/components/kol-abbr.js.map +1 -1
  219. package/dist/components/kol-accordion.js +1 -1
  220. package/dist/components/kol-accordion.js.map +1 -1
  221. package/dist/components/kol-avatar.js.map +1 -1
  222. package/dist/components/kol-breadcrumb.js +1 -1
  223. package/dist/components/kol-breadcrumb.js.map +1 -1
  224. package/dist/components/kol-button-group.js.map +1 -1
  225. package/dist/components/kol-button-link.js +1 -1
  226. package/dist/components/kol-button-link.js.map +1 -1
  227. package/dist/components/kol-card.js +1 -1
  228. package/dist/components/kol-card.js.map +1 -1
  229. package/dist/components/kol-details.js +1 -1
  230. package/dist/components/kol-details.js.map +1 -1
  231. package/dist/components/kol-form.js +1 -1
  232. package/dist/components/kol-form.js.map +1 -1
  233. package/dist/components/kol-heading.js.map +1 -1
  234. package/dist/components/kol-icon-font-awesome.js +1 -1
  235. package/dist/components/kol-icon-icofont.js +1 -1
  236. package/dist/components/kol-icon.js +1 -1
  237. package/dist/components/kol-image.js +1 -1
  238. package/dist/components/kol-image.js.map +1 -1
  239. package/dist/components/kol-input-adapter-leanup.js +1 -1
  240. package/dist/components/kol-input-checkbox.js +1 -1
  241. package/dist/components/kol-input-checkbox.js.map +1 -1
  242. package/dist/components/kol-input-color.js +1 -1
  243. package/dist/components/kol-input-color.js.map +1 -1
  244. package/dist/components/kol-input-date.js +1 -1
  245. package/dist/components/kol-input-date.js.map +1 -1
  246. package/dist/components/kol-input-email.js +1 -1
  247. package/dist/components/kol-input-email.js.map +1 -1
  248. package/dist/components/kol-input-file.js +1 -1
  249. package/dist/components/kol-input-file.js.map +1 -1
  250. package/dist/components/kol-input-number.js +1 -1
  251. package/dist/components/kol-input-number.js.map +1 -1
  252. package/dist/components/kol-input-password.js +1 -1
  253. package/dist/components/kol-input-password.js.map +1 -1
  254. package/dist/components/kol-input-radio-group.js +1 -1
  255. package/dist/components/kol-input-range.js +1 -1
  256. package/dist/components/kol-input-range.js.map +1 -1
  257. package/dist/components/kol-input-text.js +1 -1
  258. package/dist/components/kol-input-text.js.map +1 -1
  259. package/dist/components/kol-kolibri.js +1 -1
  260. package/dist/components/kol-kolibri.js.map +1 -1
  261. package/dist/components/kol-link-button.js +1 -1
  262. package/dist/components/kol-link-button.js.map +1 -1
  263. package/dist/components/kol-link-group.js +1 -1
  264. package/dist/components/kol-link-group.js.map +1 -1
  265. package/dist/components/kol-logo.js.map +1 -1
  266. package/dist/components/kol-modal.js +1 -1
  267. package/dist/components/kol-modal.js.map +1 -1
  268. package/dist/components/kol-nav.js +1 -1
  269. package/dist/components/kol-nav.js.map +1 -1
  270. package/dist/components/kol-popover.js +1 -1
  271. package/dist/components/kol-popover.js.map +1 -1
  272. package/dist/components/kol-progress.js +1 -1
  273. package/dist/components/kol-progress.js.map +1 -1
  274. package/dist/components/kol-quote.js +1 -1
  275. package/dist/components/kol-quote.js.map +1 -1
  276. package/dist/components/kol-skip-nav.js +1 -1
  277. package/dist/components/kol-skip-nav.js.map +1 -1
  278. package/dist/components/kol-span-wc.js +1 -1
  279. package/dist/components/kol-span.js +1 -1
  280. package/dist/components/kol-span.js.map +1 -1
  281. package/dist/components/kol-spin.js.map +1 -1
  282. package/dist/components/kol-split-button.js +1 -1
  283. package/dist/components/kol-split-button.js.map +1 -1
  284. package/dist/components/kol-symbol.js +1 -1
  285. package/dist/components/kol-symbol.js.map +1 -1
  286. package/dist/components/kol-table.js +1 -1
  287. package/dist/components/kol-table.js.map +1 -1
  288. package/dist/components/kol-tabs.js +1 -1
  289. package/dist/components/kol-tabs.js.map +1 -1
  290. package/dist/components/kol-textarea.js +1 -1
  291. package/dist/components/kol-textarea.js.map +1 -1
  292. package/dist/components/kol-toast.js +1 -1
  293. package/dist/components/kol-toast.js.map +1 -1
  294. package/dist/components/kol-tooltip.js +1 -1
  295. package/dist/components/kol-version.js +1 -1
  296. package/dist/components/kol-version.js.map +1 -1
  297. package/dist/components/label.js +1 -1
  298. package/dist/components/prop.validators.js +1 -1
  299. package/dist/components/prop.validators.js.map +1 -1
  300. package/dist/components/shadow.js +1 -1
  301. package/dist/components/shadow.js.map +1 -1
  302. package/dist/components/shadow2.js +1 -1
  303. package/dist/components/shadow2.js.map +1 -1
  304. package/dist/components/shadow3.js +1 -1
  305. package/dist/components/shadow3.js.map +1 -1
  306. package/dist/components/show.js +1 -1
  307. package/dist/components/suggestions.js +1 -1
  308. package/dist/components/tooltip-align.js +4 -0
  309. package/dist/components/tooltip-align.js.map +1 -0
  310. package/dist/esm/{a11y.tipps-010cc7bb.js → a11y.tipps-3dbf06fc.js} +1 -1
  311. package/dist/esm/{a11y.tipps-010cc7bb.js.map → a11y.tipps-3dbf06fc.js.map} +1 -1
  312. package/dist/esm/align-770e1701.js +4 -0
  313. package/dist/esm/align-770e1701.js.map +1 -0
  314. package/dist/esm/{align-c8603a23.js → alignment-18ef41f0.js} +1 -1
  315. package/dist/esm/alignment-18ef41f0.js.map +1 -0
  316. package/dist/esm/alternative-button-link-role-dfbba37c.js +4 -0
  317. package/dist/esm/alternative-button-link-role-dfbba37c.js.map +1 -0
  318. package/dist/esm/app-globals-0c370b67.js +4 -0
  319. package/dist/esm/{app-globals-12365829.js.map → app-globals-0c370b67.js.map} +1 -1
  320. package/dist/esm/{aria-selected-6e7689ae.js → aria-selected-c5542038.js} +1 -1
  321. package/dist/esm/aria-selected-c5542038.js.map +1 -0
  322. package/dist/esm/{associated.controller-9d8da408.js → associated.controller-6c7440df.js} +1 -1
  323. package/dist/esm/associated.controller-6c7440df.js.map +1 -0
  324. package/dist/esm/button-type-a25d8975.js +4 -0
  325. package/dist/esm/button-type-a25d8975.js.map +1 -0
  326. package/dist/esm/button-variant-fbb48c03.js +4 -0
  327. package/dist/esm/button-variant-fbb48c03.js.map +1 -0
  328. package/dist/esm/{color-bee2a268.js → color-845e0378.js} +1 -1
  329. package/dist/esm/{color-bee2a268.js.map → color-845e0378.js.map} +1 -1
  330. package/dist/esm/{controller-f3db680c.js → controller-152cc0b9.js} +1 -1
  331. package/dist/esm/{controller-f3db680c.js.map → controller-152cc0b9.js.map} +1 -1
  332. package/dist/esm/{controller-76742dfc.js → controller-3788b559.js} +1 -1
  333. package/dist/esm/{controller-76742dfc.js.map → controller-3788b559.js.map} +1 -1
  334. package/dist/esm/{controller-108aa205.js → controller-ab167bf7.js} +1 -1
  335. package/dist/esm/{controller-108aa205.js.map → controller-ab167bf7.js.map} +1 -1
  336. package/dist/esm/{controller-dc2f0e5c.js → controller-d04db4dd.js} +1 -1
  337. package/dist/esm/{controller-dc2f0e5c.js.map → controller-d04db4dd.js.map} +1 -1
  338. package/dist/esm/{controller-3213f6ba.js → controller-f073ed22.js} +1 -1
  339. package/dist/esm/controller-f073ed22.js.map +1 -0
  340. package/dist/esm/{controller-icon-e6f72083.js → controller-icon-cfbc5bbf.js} +1 -1
  341. package/dist/esm/{controller-icon-e6f72083.js.map → controller-icon-cfbc5bbf.js.map} +1 -1
  342. package/dist/esm/custom-class-c9653859.js +4 -0
  343. package/dist/esm/custom-class-c9653859.js.map +1 -0
  344. package/dist/esm/{dev.utils-2f404ce5.js → dev.utils-1ee29ed1.js} +1 -1
  345. package/dist/esm/{dev.utils-2f404ce5.js.map → dev.utils-1ee29ed1.js.map} +1 -1
  346. package/dist/esm/{devtools-4e3e4963.js → devtools-67de7ff1.js} +1 -1
  347. package/dist/esm/{devtools-4e3e4963.js.map → devtools-67de7ff1.js.map} +1 -1
  348. package/dist/esm/{has-closer-e01aaeae.js → has-closer-49b6c8b7.js} +1 -1
  349. package/dist/esm/{has-closer-e01aaeae.js.map → has-closer-49b6c8b7.js.map} +1 -1
  350. package/dist/esm/{hide-label-c77474b5.js → hide-label-16112af9.js} +1 -1
  351. package/dist/esm/{hide-label-c77474b5.js.map → hide-label-16112af9.js.map} +1 -1
  352. package/dist/esm/{i18n-042ef6ee.js → i18n-53e49b2a.js} +1 -1
  353. package/dist/esm/{i18n-042ef6ee.js.map → i18n-53e49b2a.js.map} +1 -1
  354. package/dist/esm/{icon-a0bacdc8.js → icon-a7195182.js} +1 -1
  355. package/dist/esm/icon-a7195182.js.map +1 -0
  356. package/dist/esm/{image-source-abdd2521.js → image-source-d2f4a35e.js} +1 -1
  357. package/dist/esm/{image-source-abdd2521.js.map → image-source-d2f4a35e.js.map} +1 -1
  358. package/dist/esm/index.js +1 -1
  359. package/dist/esm/kol-abbr.entry.js +1 -1
  360. package/dist/esm/kol-abbr.entry.js.map +1 -1
  361. package/dist/esm/kol-accordion.entry.js +1 -1
  362. package/dist/esm/kol-accordion.entry.js.map +1 -1
  363. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  364. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  365. package/dist/esm/kol-alert.entry.js.map +1 -1
  366. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  367. package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
  368. package/dist/esm/kol-avatar.entry.js.map +1 -1
  369. package/dist/esm/kol-badge.entry.js +1 -1
  370. package/dist/esm/kol-badge.entry.js.map +1 -1
  371. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  372. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  373. package/dist/esm/kol-button-group-wc.entry.js.map +1 -1
  374. package/dist/esm/kol-button-group.entry.js.map +1 -1
  375. package/dist/esm/kol-button-link.entry.js.map +1 -1
  376. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  377. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  378. package/dist/esm/kol-button.entry.js.map +1 -1
  379. package/dist/esm/kol-card.entry.js +1 -1
  380. package/dist/esm/kol-card.entry.js.map +1 -1
  381. package/dist/esm/kol-details.entry.js +1 -1
  382. package/dist/esm/kol-details.entry.js.map +1 -1
  383. package/dist/esm/kol-form.entry.js +1 -1
  384. package/dist/esm/kol-form.entry.js.map +1 -1
  385. package/dist/esm/kol-heading.entry.js.map +1 -1
  386. package/dist/esm/kol-icon.entry.js +1 -1
  387. package/dist/esm/kol-icon.entry.js.map +1 -1
  388. package/dist/esm/kol-image.entry.js +1 -1
  389. package/dist/esm/kol-image.entry.js.map +1 -1
  390. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  391. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  392. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  393. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  394. package/dist/esm/kol-input-color.entry.js +1 -1
  395. package/dist/esm/kol-input-color.entry.js.map +1 -1
  396. package/dist/esm/kol-input-date.entry.js +1 -1
  397. package/dist/esm/kol-input-date.entry.js.map +1 -1
  398. package/dist/esm/kol-input-email.entry.js +1 -1
  399. package/dist/esm/kol-input-email.entry.js.map +1 -1
  400. package/dist/esm/kol-input-file.entry.js +1 -1
  401. package/dist/esm/kol-input-file.entry.js.map +1 -1
  402. package/dist/esm/kol-input-number.entry.js +1 -1
  403. package/dist/esm/kol-input-number.entry.js.map +1 -1
  404. package/dist/esm/kol-input-password.entry.js +1 -1
  405. package/dist/esm/kol-input-password.entry.js.map +1 -1
  406. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  407. package/dist/esm/kol-input-radio.entry.js +1 -1
  408. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  409. package/dist/esm/kol-input-range.entry.js +1 -1
  410. package/dist/esm/kol-input-range.entry.js.map +1 -1
  411. package/dist/esm/kol-input-text.entry.js +1 -1
  412. package/dist/esm/kol-input-text.entry.js.map +1 -1
  413. package/dist/esm/kol-kolibri.entry.js +1 -1
  414. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  415. package/dist/esm/kol-link-button.entry.js +1 -1
  416. package/dist/esm/kol-link-button.entry.js.map +1 -1
  417. package/dist/esm/kol-link-group.entry.js +1 -1
  418. package/dist/esm/kol-link-group.entry.js.map +1 -1
  419. package/dist/esm/kol-link-wc.entry.js +1 -1
  420. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  421. package/dist/esm/kol-link.entry.js.map +1 -1
  422. package/dist/esm/kol-logo.entry.js +1 -1
  423. package/dist/esm/kol-logo.entry.js.map +1 -1
  424. package/dist/esm/kol-modal.entry.js +1 -1
  425. package/dist/esm/kol-modal.entry.js.map +1 -1
  426. package/dist/esm/kol-nav.entry.js +1 -1
  427. package/dist/esm/kol-nav.entry.js.map +1 -1
  428. package/dist/esm/kol-pagination.entry.js +1 -1
  429. package/dist/esm/kol-pagination.entry.js.map +1 -1
  430. package/dist/esm/kol-popover.entry.js +1 -1
  431. package/dist/esm/kol-popover.entry.js.map +1 -1
  432. package/dist/esm/kol-progress.entry.js +1 -1
  433. package/dist/esm/kol-progress.entry.js.map +1 -1
  434. package/dist/esm/kol-quote.entry.js +1 -1
  435. package/dist/esm/kol-quote.entry.js.map +1 -1
  436. package/dist/esm/kol-select.entry.js +1 -1
  437. package/dist/esm/kol-select.entry.js.map +1 -1
  438. package/dist/esm/kol-skip-nav.entry.js +1 -1
  439. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  440. package/dist/esm/kol-span-wc.entry.js +1 -1
  441. package/dist/esm/kol-span-wc.entry.js.map +1 -1
  442. package/dist/esm/kol-span.entry.js.map +1 -1
  443. package/dist/esm/kol-spin.entry.js +1 -1
  444. package/dist/esm/kol-spin.entry.js.map +1 -1
  445. package/dist/esm/kol-split-button.entry.js +1 -1
  446. package/dist/esm/kol-split-button.entry.js.map +1 -1
  447. package/dist/esm/kol-symbol.entry.js +1 -1
  448. package/dist/esm/kol-symbol.entry.js.map +1 -1
  449. package/dist/esm/kol-table.entry.js +1 -1
  450. package/dist/esm/kol-table.entry.js.map +1 -1
  451. package/dist/esm/kol-tabs.entry.js +1 -1
  452. package/dist/esm/kol-tabs.entry.js.map +1 -1
  453. package/dist/esm/kol-textarea.entry.js +1 -1
  454. package/dist/esm/kol-textarea.entry.js.map +1 -1
  455. package/dist/esm/kol-toast.entry.js +1 -1
  456. package/dist/esm/kol-toast.entry.js.map +1 -1
  457. package/dist/esm/kol-tooltip.entry.js +1 -1
  458. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  459. package/dist/esm/kol-version.entry.js +1 -1
  460. package/dist/esm/kol-version.entry.js.map +1 -1
  461. package/dist/esm/kolibri.js +1 -1
  462. package/dist/esm/{label-8596593d.js → label-162d9b49.js} +1 -1
  463. package/dist/esm/{label-8596593d.js.map → label-162d9b49.js.map} +1 -1
  464. package/dist/esm/loader.js +1 -1
  465. package/dist/esm/{prop.validators-286b41b1.js → prop.validators-6cf6ed2d.js} +1 -1
  466. package/dist/esm/{prop.validators-286b41b1.js.map → prop.validators-6cf6ed2d.js.map} +1 -1
  467. package/dist/esm/{rows-ab605374.js → rows-c5b1e0bc.js} +1 -1
  468. package/dist/esm/{rows-ab605374.js.map → rows-c5b1e0bc.js.map} +1 -1
  469. package/dist/esm/{show-090f6bc3.js → show-a8f7aa56.js} +1 -1
  470. package/dist/esm/{show-090f6bc3.js.map → show-a8f7aa56.js.map} +1 -1
  471. package/dist/esm/{suggestions-3df3e5fd.js → suggestions-efa371a2.js} +1 -1
  472. package/dist/esm/{suggestions-3df3e5fd.js.map → suggestions-efa371a2.js.map} +1 -1
  473. package/dist/esm/{tab-index-a7766f42.js → tab-index-cda3bf60.js} +1 -1
  474. package/dist/esm/{tab-index-a7766f42.js.map → tab-index-cda3bf60.js.map} +1 -1
  475. package/dist/esm/tooltip-align-c2603081.js +4 -0
  476. package/dist/esm/tooltip-align-c2603081.js.map +1 -0
  477. package/dist/esm/{validation-46697821.js → validation-9d2bdef4.js} +1 -1
  478. package/dist/esm/{validation-46697821.js.map → validation-9d2bdef4.js.map} +1 -1
  479. package/dist/esm/validation-ad3aded3.js +4 -0
  480. package/dist/esm/{validation-5be5b0a8.js.map → validation-ad3aded3.js.map} +1 -1
  481. package/dist/kolibri/{a11y.tipps-010cc7bb.js → a11y.tipps-3dbf06fc.js} +1 -1
  482. package/dist/kolibri/align-770e1701.js +4 -0
  483. package/dist/kolibri/align-770e1701.js.map +1 -0
  484. package/dist/kolibri/alignment-18ef41f0.js +4 -0
  485. package/dist/kolibri/alignment-18ef41f0.js.map +1 -0
  486. package/dist/kolibri/{aria-current-78222a8a.js → alternative-button-link-role-dfbba37c.js} +1 -1
  487. package/dist/kolibri/alternative-button-link-role-dfbba37c.js.map +1 -0
  488. package/dist/kolibri/app-globals-0c370b67.js +4 -0
  489. package/dist/kolibri/aria-selected-c5542038.js +4 -0
  490. package/dist/kolibri/aria-selected-c5542038.js.map +1 -0
  491. package/dist/kolibri/{associated.controller-9d8da408.js → associated.controller-6c7440df.js} +1 -1
  492. package/dist/kolibri/associated.controller-6c7440df.js.map +1 -0
  493. package/dist/kolibri/button-type-a25d8975.js +4 -0
  494. package/dist/kolibri/button-type-a25d8975.js.map +1 -0
  495. package/dist/kolibri/button-variant-fbb48c03.js +4 -0
  496. package/dist/kolibri/button-variant-fbb48c03.js.map +1 -0
  497. package/dist/kolibri/{color-bee2a268.js → color-845e0378.js} +1 -1
  498. package/dist/kolibri/{controller-f3db680c.js → controller-152cc0b9.js} +1 -1
  499. package/dist/kolibri/{controller-76742dfc.js → controller-3788b559.js} +1 -1
  500. package/dist/kolibri/controller-3788b559.js.map +1 -0
  501. package/dist/kolibri/{controller-108aa205.js → controller-ab167bf7.js} +1 -1
  502. package/dist/kolibri/controller-ab167bf7.js.map +1 -0
  503. package/dist/kolibri/{controller-dc2f0e5c.js → controller-d04db4dd.js} +1 -1
  504. package/dist/kolibri/{controller-3213f6ba.js → controller-f073ed22.js} +1 -1
  505. package/dist/kolibri/controller-f073ed22.js.map +1 -0
  506. package/dist/kolibri/controller-icon-cfbc5bbf.js +4 -0
  507. package/dist/kolibri/custom-class-c9653859.js +4 -0
  508. package/dist/kolibri/custom-class-c9653859.js.map +1 -0
  509. package/dist/kolibri/{dev.utils-2f404ce5.js → dev.utils-1ee29ed1.js} +1 -1
  510. package/dist/kolibri/{dev.utils-2f404ce5.js.map → dev.utils-1ee29ed1.js.map} +1 -1
  511. package/dist/kolibri/{devtools-4e3e4963.js → devtools-67de7ff1.js} +1 -1
  512. package/dist/kolibri/has-closer-49b6c8b7.js +4 -0
  513. package/dist/kolibri/hide-label-16112af9.js +4 -0
  514. package/dist/kolibri/{i18n-042ef6ee.js → i18n-53e49b2a.js} +1 -1
  515. package/dist/kolibri/{icon-a0bacdc8.js → icon-a7195182.js} +1 -1
  516. package/dist/kolibri/icon-a7195182.js.map +1 -0
  517. package/dist/kolibri/image-source-d2f4a35e.js +4 -0
  518. package/dist/kolibri/index.esm.js +1 -1
  519. package/dist/kolibri/kol-abbr.entry.js +1 -1
  520. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  521. package/dist/kolibri/kol-accordion.entry.js +1 -1
  522. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  523. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  524. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  525. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  526. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  527. package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
  528. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  529. package/dist/kolibri/kol-badge.entry.js +1 -1
  530. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  531. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  532. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  533. package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
  534. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  535. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  536. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  537. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  538. package/dist/kolibri/kol-button.entry.js.map +1 -1
  539. package/dist/kolibri/kol-card.entry.js +1 -1
  540. package/dist/kolibri/kol-card.entry.js.map +1 -1
  541. package/dist/kolibri/kol-details.entry.js +1 -1
  542. package/dist/kolibri/kol-details.entry.js.map +1 -1
  543. package/dist/kolibri/kol-form.entry.js +1 -1
  544. package/dist/kolibri/kol-form.entry.js.map +1 -1
  545. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  546. package/dist/kolibri/kol-icon.entry.js +1 -1
  547. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  548. package/dist/kolibri/kol-image.entry.js +1 -1
  549. package/dist/kolibri/kol-image.entry.js.map +1 -1
  550. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  551. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  552. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  553. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  554. package/dist/kolibri/kol-input-color.entry.js +1 -1
  555. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  556. package/dist/kolibri/kol-input-date.entry.js +1 -1
  557. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  558. package/dist/kolibri/kol-input-email.entry.js +1 -1
  559. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  560. package/dist/kolibri/kol-input-file.entry.js +1 -1
  561. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  562. package/dist/kolibri/kol-input-number.entry.js +1 -1
  563. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  564. package/dist/kolibri/kol-input-password.entry.js +1 -1
  565. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  566. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  567. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  568. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  569. package/dist/kolibri/kol-input-range.entry.js +1 -1
  570. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  571. package/dist/kolibri/kol-input-text.entry.js +1 -1
  572. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  573. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  574. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  575. package/dist/kolibri/kol-link-button.entry.js +1 -1
  576. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  577. package/dist/kolibri/kol-link-group.entry.js +1 -1
  578. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  579. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  580. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  581. package/dist/kolibri/kol-link.entry.js.map +1 -1
  582. package/dist/kolibri/kol-logo.entry.js +1 -1
  583. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  584. package/dist/kolibri/kol-modal.entry.js +1 -1
  585. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  586. package/dist/kolibri/kol-nav.entry.js +1 -1
  587. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  588. package/dist/kolibri/kol-pagination.entry.js +1 -1
  589. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  590. package/dist/kolibri/kol-popover.entry.js +1 -1
  591. package/dist/kolibri/kol-popover.entry.js.map +1 -1
  592. package/dist/kolibri/kol-progress.entry.js +1 -1
  593. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  594. package/dist/kolibri/kol-quote.entry.js +1 -1
  595. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  596. package/dist/kolibri/kol-select.entry.js +1 -1
  597. package/dist/kolibri/kol-select.entry.js.map +1 -1
  598. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  599. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  600. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  601. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  602. package/dist/kolibri/kol-span.entry.js.map +1 -1
  603. package/dist/kolibri/kol-spin.entry.js +1 -1
  604. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  605. package/dist/kolibri/kol-split-button.entry.js +1 -1
  606. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  607. package/dist/kolibri/kol-symbol.entry.js +1 -1
  608. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  609. package/dist/kolibri/kol-table.entry.js +1 -1
  610. package/dist/kolibri/kol-table.entry.js.map +1 -1
  611. package/dist/kolibri/kol-tabs.entry.js +1 -1
  612. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  613. package/dist/kolibri/kol-textarea.entry.js +1 -1
  614. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  615. package/dist/kolibri/kol-toast.entry.js +1 -1
  616. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  617. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  618. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  619. package/dist/kolibri/kol-version.entry.js +1 -1
  620. package/dist/kolibri/kol-version.entry.js.map +1 -1
  621. package/dist/kolibri/kolibri.esm.js +1 -1
  622. package/dist/kolibri/label-162d9b49.js +4 -0
  623. package/dist/kolibri/prop.validators-6cf6ed2d.js +4 -0
  624. package/dist/kolibri/rows-c5b1e0bc.js +4 -0
  625. package/dist/kolibri/show-a8f7aa56.js +4 -0
  626. package/dist/kolibri/{suggestions-3df3e5fd.js → suggestions-efa371a2.js} +1 -1
  627. package/dist/kolibri/{tab-index-a7766f42.js → tab-index-cda3bf60.js} +1 -1
  628. package/dist/kolibri/tooltip-align-c2603081.js +4 -0
  629. package/dist/kolibri/tooltip-align-c2603081.js.map +1 -0
  630. package/dist/kolibri/{validation-46697821.js → validation-9d2bdef4.js} +1 -1
  631. package/dist/kolibri/validation-ad3aded3.js +4 -0
  632. package/dist/types/components/@deprecated/input/controller.d.ts +1 -1
  633. package/dist/types/components/@deprecated/input/types.d.ts +1 -1
  634. package/dist/types/components/@else/all/component.d.ts +2 -2
  635. package/dist/types/components/abbr/component.d.ts +3 -3
  636. package/dist/types/components/abbr/types.d.ts +4 -5
  637. package/dist/types/components/accordion/component.d.ts +1 -1
  638. package/dist/types/components/accordion/types.d.ts +1 -1
  639. package/dist/types/components/alert/component.d.ts +1 -1
  640. package/dist/types/components/alert/types.d.ts +4 -4
  641. package/dist/types/components/badge/component.d.ts +5 -7
  642. package/dist/types/components/badge/test/html.mock.d.ts +2 -2
  643. package/dist/types/components/badge/types.d.ts +14 -11
  644. package/dist/types/components/breadcrumb/component.d.ts +4 -4
  645. package/dist/types/components/breadcrumb/test/html.mock.d.ts +2 -2
  646. package/dist/types/components/breadcrumb/types.d.ts +4 -4
  647. package/dist/types/components/button/component.d.ts +27 -20
  648. package/dist/types/components/button/shadow.d.ts +18 -12
  649. package/dist/types/components/button/test/html.mock.d.ts +3 -3
  650. package/dist/types/components/button/types.d.ts +39 -0
  651. package/dist/types/components/button-group/component.d.ts +2 -9
  652. package/dist/types/components/button-group/shadow.d.ts +1 -1
  653. package/dist/types/components/button-group/types.d.ts +9 -0
  654. package/dist/types/components/button-link/component.d.ts +16 -12
  655. package/dist/types/components/button-link/test/html.mock.d.ts +2 -2
  656. package/dist/types/components/button-link/types.d.ts +8 -0
  657. package/dist/types/components/button-link-text-switch/types.d.ts +2 -2
  658. package/dist/types/components/card/component.d.ts +5 -5
  659. package/dist/types/components/card/test/html.mock.d.ts +2 -2
  660. package/dist/types/components/card/types.d.ts +4 -4
  661. package/dist/types/components/details/component.d.ts +3 -3
  662. package/dist/types/components/details/test/html.mock.d.ts +2 -2
  663. package/dist/types/components/details/types.d.ts +6 -6
  664. package/dist/types/components/form/component.d.ts +3 -3
  665. package/dist/types/components/form/test/html.mock.d.ts +2 -2
  666. package/dist/types/components/form/types.d.ts +4 -4
  667. package/dist/types/components/heading/component.d.ts +3 -3
  668. package/dist/types/components/heading/shadow.d.ts +2 -2
  669. package/dist/types/components/heading/test/html.mock.d.ts +3 -3
  670. package/dist/types/components/heading/types.d.ts +5 -5
  671. package/dist/types/components/icon/component.d.ts +3 -3
  672. package/dist/types/components/icon/test/html.mock.d.ts +2 -2
  673. package/dist/types/components/icon/types.d.ts +3 -3
  674. package/dist/types/components/image/shadow.d.ts +2 -2
  675. package/dist/types/components/image/types.d.ts +1 -1
  676. package/dist/types/components/indented-text/component.d.ts +2 -9
  677. package/dist/types/components/indented-text/test/html.mock.d.ts +1 -1
  678. package/dist/types/components/indented-text/types.d.ts +9 -0
  679. package/dist/types/components/input/component.d.ts +10 -16
  680. package/dist/types/components/input/types.d.ts +5 -8
  681. package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +4 -4
  682. package/dist/types/components/input-adapter-leanup/types.d.ts +1 -1
  683. package/dist/types/components/input-checkbox/component.d.ts +13 -10
  684. package/dist/types/components/input-checkbox/types.d.ts +12 -18
  685. package/dist/types/components/input-color/component.d.ts +12 -9
  686. package/dist/types/components/input-color/types.d.ts +10 -15
  687. package/dist/types/components/input-date/component.d.ts +11 -8
  688. package/dist/types/components/input-date/types.d.ts +12 -13
  689. package/dist/types/components/input-email/component.d.ts +13 -10
  690. package/dist/types/components/input-email/types.d.ts +15 -23
  691. package/dist/types/components/input-file/component.d.ts +12 -9
  692. package/dist/types/components/input-file/types.d.ts +14 -22
  693. package/dist/types/components/input-number/component.d.ts +12 -9
  694. package/dist/types/components/input-number/types.d.ts +13 -14
  695. package/dist/types/components/input-password/component.d.ts +12 -9
  696. package/dist/types/components/input-password/types.d.ts +15 -23
  697. package/dist/types/components/input-radio/component.d.ts +11 -8
  698. package/dist/types/components/input-radio/types.d.ts +12 -18
  699. package/dist/types/components/input-range/component.d.ts +11 -8
  700. package/dist/types/components/input-range/types.d.ts +11 -16
  701. package/dist/types/components/input-text/component.d.ts +13 -10
  702. package/dist/types/components/input-text/types.d.ts +15 -24
  703. package/dist/types/components/kolibri/component.d.ts +3 -3
  704. package/dist/types/components/kolibri/types.d.ts +4 -4
  705. package/dist/types/components/link/component.d.ts +13 -8
  706. package/dist/types/components/link/shadow.d.ts +9 -5
  707. package/dist/types/components/link/test/html.mock.d.ts +2 -2
  708. package/dist/types/components/link/types.d.ts +34 -0
  709. package/dist/types/components/link-button/component.d.ts +17 -12
  710. package/dist/types/components/link-button/types.d.ts +7 -0
  711. package/dist/types/components/link-group/component.d.ts +4 -4
  712. package/dist/types/components/link-group/types.d.ts +3 -3
  713. package/dist/types/components/logo/component.d.ts +3 -3
  714. package/dist/types/components/logo/types.d.ts +2 -2
  715. package/dist/types/components/modal/component.d.ts +3 -3
  716. package/dist/types/components/modal/types.d.ts +3 -3
  717. package/dist/types/components/nav/component.d.ts +5 -5
  718. package/dist/types/components/nav/types.d.ts +2 -2
  719. package/dist/types/components/pagination/component.d.ts +12 -11
  720. package/dist/types/components/pagination/types.d.ts +8 -10
  721. package/dist/types/components/popover/component.d.ts +4 -4
  722. package/dist/types/components/popover/test/html.mock.d.ts +2 -2
  723. package/dist/types/components/popover/types.d.ts +5 -5
  724. package/dist/types/components/progress/component.d.ts +3 -3
  725. package/dist/types/components/progress/types.d.ts +2 -2
  726. package/dist/types/components/quote/shadow.d.ts +3 -3
  727. package/dist/types/components/quote/test/html.mock.d.ts +2 -2
  728. package/dist/types/components/quote/types.d.ts +3 -3
  729. package/dist/types/components/select/component.d.ts +11 -8
  730. package/dist/types/components/select/types.d.ts +13 -21
  731. package/dist/types/components/skip-nav/component.d.ts +4 -4
  732. package/dist/types/components/skip-nav/types.d.ts +3 -3
  733. package/dist/types/components/span/component.d.ts +4 -4
  734. package/dist/types/components/span/shadow.d.ts +3 -4
  735. package/dist/types/components/span/test/html.mock.d.ts +3 -3
  736. package/dist/types/components/span/types.d.ts +3 -3
  737. package/dist/types/components/spin/component.d.ts +4 -4
  738. package/dist/types/components/spin/test/html.mock.d.ts +2 -2
  739. package/dist/types/components/spin/types.d.ts +4 -4
  740. package/dist/types/components/split-button/component.d.ts +18 -15
  741. package/dist/types/components/split-button/types.d.ts +6 -3
  742. package/dist/types/components/symbol/component.d.ts +3 -3
  743. package/dist/types/components/symbol/test/html.mock.d.ts +2 -2
  744. package/dist/types/components/symbol/types.d.ts +3 -3
  745. package/dist/types/components/table/component.d.ts +3 -3
  746. package/dist/types/components/table/types.d.ts +2 -2
  747. package/dist/types/components/tabs/component.d.ts +3 -3
  748. package/dist/types/components/tabs/types.d.ts +5 -5
  749. package/dist/types/components/textarea/component.d.ts +13 -10
  750. package/dist/types/components/textarea/types.d.ts +13 -20
  751. package/dist/types/components/toast/component.d.ts +5 -5
  752. package/dist/types/components/toast/test/html.mock.d.ts +2 -2
  753. package/dist/types/components/toast/types.d.ts +4 -4
  754. package/dist/types/components/tooltip/component.d.ts +3 -3
  755. package/dist/types/components/tooltip/test/html.mock.d.ts +2 -2
  756. package/dist/types/components/tooltip/types.d.ts +6 -8
  757. package/dist/types/components/version/component.d.ts +3 -3
  758. package/dist/types/components/version/test/html.mock.d.ts +2 -2
  759. package/dist/types/components/version/types.d.ts +4 -4
  760. package/dist/types/components.d.ts +594 -598
  761. package/dist/types/types/button-link-text.d.ts +5 -7
  762. package/dist/types/types/button-link.d.ts +1 -105
  763. package/dist/types/types/input/control/number.d.ts +1 -1
  764. package/dist/types/types/props/alternative-button-link-role.d.ts +6 -0
  765. package/dist/types/types/props/aria-expanded.d.ts +2 -1
  766. package/dist/types/types/props/aria-selected.d.ts +3 -1
  767. package/dist/types/types/props/button-callbacks.d.ts +12 -0
  768. package/dist/types/types/props/button-type.d.ts +6 -0
  769. package/dist/types/types/props/button-variant.d.ts +6 -0
  770. package/dist/types/types/props/custom-class.d.ts +6 -0
  771. package/dist/types/types/props/icon.d.ts +1 -2
  772. package/dist/types/types/props/link-target.d.ts +6 -0
  773. package/dist/types/types/props/required.d.ts +2 -1
  774. package/dist/types/types/props/sync-value-by-selector.d.ts +4 -0
  775. package/dist/types/types/props/tooltip-align.d.ts +7 -0
  776. package/doc/abbr.md +1 -1
  777. package/doc/accordion.md +7 -7
  778. package/doc/alert.md +2 -2
  779. package/doc/avatar.md +4 -4
  780. package/doc/badge.md +8 -8
  781. package/doc/button-link.md +6 -6
  782. package/doc/button.md +8 -8
  783. package/doc/card.md +2 -2
  784. package/doc/details.md +5 -5
  785. package/doc/icon-font-awesome.md +1 -1
  786. package/doc/icon-icofont.md +1 -1
  787. package/doc/input-checkbox.md +22 -22
  788. package/doc/input-color.md +21 -21
  789. package/doc/input-date.md +27 -27
  790. package/doc/input-email.md +29 -29
  791. package/doc/input-file.md +21 -21
  792. package/doc/input-number.md +28 -28
  793. package/doc/input-password.md +26 -26
  794. package/doc/input-radio.md +6 -6
  795. package/doc/input-range.md +5 -5
  796. package/doc/input-text.md +29 -29
  797. package/doc/kolibri.md +5 -5
  798. package/doc/link-button.md +7 -7
  799. package/doc/link-group.md +2 -2
  800. package/doc/link.md +2 -2
  801. package/doc/modal.md +1 -1
  802. package/doc/nav.md +3 -3
  803. package/doc/pagination.md +2 -2
  804. package/doc/popover.md +1 -1
  805. package/doc/progress.md +1 -1
  806. package/doc/quote.md +1 -1
  807. package/doc/select.md +7 -7
  808. package/doc/skip-nav.md +5 -5
  809. package/doc/span.md +1 -1
  810. package/doc/spin.md +4 -4
  811. package/doc/split-button.md +5 -5
  812. package/doc/table.md +9 -9
  813. package/doc/tabs.md +1 -1
  814. package/doc/textarea.md +9 -9
  815. package/doc/toast.md +3 -3
  816. package/doc/tooltip.md +5 -5
  817. package/doc/version.md +4 -4
  818. package/jest-test-results.json +1 -1
  819. package/package.json +1 -1
  820. package/vscode-custom-data.json +180 -180
  821. package/dist/cjs/align-f2e5e55b.js.map +0 -1
  822. package/dist/cjs/aria-current-1d49e28b.js +0 -4
  823. package/dist/cjs/aria-current-1d49e28b.js.map +0 -1
  824. package/dist/cjs/aria-selected-ed02ff9d.js +0 -4
  825. package/dist/cjs/aria-selected-ed02ff9d.js.map +0 -1
  826. package/dist/cjs/associated.controller-6beebfb6.js.map +0 -1
  827. package/dist/cjs/button-link-a4c35b18.js +0 -4
  828. package/dist/cjs/button-link-a4c35b18.js.map +0 -1
  829. package/dist/cjs/controller-52018655.js.map +0 -1
  830. package/dist/cjs/controller-f733e612.js +0 -4
  831. package/dist/cjs/controller-f733e612.js.map +0 -1
  832. package/dist/cjs/disabled-1e3895a4.js +0 -4
  833. package/dist/cjs/disabled-1e3895a4.js.map +0 -1
  834. package/dist/cjs/has-closer-ba283450.js +0 -4
  835. package/dist/cjs/hide-label-edf70971.js +0 -4
  836. package/dist/cjs/icon-ccb23476.js.map +0 -1
  837. package/dist/cjs/image-source-47ee14b1.js +0 -4
  838. package/dist/cjs/rows-435bcf3a.js +0 -4
  839. package/dist/cjs/show-e15f52b3.js +0 -4
  840. package/dist/components/floating-ui.dom.esm.js +0 -4
  841. package/dist/components/floating-ui.dom.esm.js.map +0 -1
  842. package/dist/components/tab-index.js.map +0 -1
  843. package/dist/declare.d.ts +0 -26
  844. package/dist/esm/align-c8603a23.js.map +0 -1
  845. package/dist/esm/app-globals-12365829.js +0 -4
  846. package/dist/esm/aria-current-78222a8a.js +0 -4
  847. package/dist/esm/aria-current-78222a8a.js.map +0 -1
  848. package/dist/esm/aria-selected-6e7689ae.js.map +0 -1
  849. package/dist/esm/associated.controller-9d8da408.js.map +0 -1
  850. package/dist/esm/button-link-e0b05c0a.js +0 -4
  851. package/dist/esm/button-link-e0b05c0a.js.map +0 -1
  852. package/dist/esm/controller-3213f6ba.js.map +0 -1
  853. package/dist/esm/controller-d46a9e29.js +0 -4
  854. package/dist/esm/controller-d46a9e29.js.map +0 -1
  855. package/dist/esm/disabled-0d2979dd.js +0 -4
  856. package/dist/esm/disabled-0d2979dd.js.map +0 -1
  857. package/dist/esm/icon-a0bacdc8.js.map +0 -1
  858. package/dist/esm/validation-5be5b0a8.js +0 -4
  859. package/dist/kolibri/align-c8603a23.js +0 -4
  860. package/dist/kolibri/align-c8603a23.js.map +0 -1
  861. package/dist/kolibri/app-globals-12365829.js +0 -4
  862. package/dist/kolibri/aria-current-78222a8a.js.map +0 -1
  863. package/dist/kolibri/aria-selected-6e7689ae.js +0 -4
  864. package/dist/kolibri/aria-selected-6e7689ae.js.map +0 -1
  865. package/dist/kolibri/associated.controller-9d8da408.js.map +0 -1
  866. package/dist/kolibri/button-link-e0b05c0a.js +0 -4
  867. package/dist/kolibri/button-link-e0b05c0a.js.map +0 -1
  868. package/dist/kolibri/controller-108aa205.js.map +0 -1
  869. package/dist/kolibri/controller-3213f6ba.js.map +0 -1
  870. package/dist/kolibri/controller-76742dfc.js.map +0 -1
  871. package/dist/kolibri/controller-d46a9e29.js +0 -4
  872. package/dist/kolibri/controller-d46a9e29.js.map +0 -1
  873. package/dist/kolibri/controller-icon-e6f72083.js +0 -4
  874. package/dist/kolibri/disabled-0d2979dd.js +0 -4
  875. package/dist/kolibri/disabled-0d2979dd.js.map +0 -1
  876. package/dist/kolibri/has-closer-e01aaeae.js +0 -4
  877. package/dist/kolibri/hide-label-c77474b5.js +0 -4
  878. package/dist/kolibri/icon-a0bacdc8.js.map +0 -1
  879. package/dist/kolibri/image-source-abdd2521.js +0 -4
  880. package/dist/kolibri/label-8596593d.js +0 -4
  881. package/dist/kolibri/prop.validators-286b41b1.js +0 -4
  882. package/dist/kolibri/rows-ab605374.js +0 -4
  883. package/dist/kolibri/show-090f6bc3.js +0 -4
  884. package/dist/kolibri/validation-5be5b0a8.js +0 -4
  885. package/dist/types/components/button/controller.d.ts +0 -4
  886. package/dist/types/core/declare.d.ts +0 -10
  887. /package/dist/kolibri/{a11y.tipps-010cc7bb.js.map → a11y.tipps-3dbf06fc.js.map} +0 -0
  888. /package/dist/kolibri/{app-globals-12365829.js.map → app-globals-0c370b67.js.map} +0 -0
  889. /package/dist/kolibri/{color-bee2a268.js.map → color-845e0378.js.map} +0 -0
  890. /package/dist/kolibri/{controller-f3db680c.js.map → controller-152cc0b9.js.map} +0 -0
  891. /package/dist/kolibri/{controller-dc2f0e5c.js.map → controller-d04db4dd.js.map} +0 -0
  892. /package/dist/kolibri/{controller-icon-e6f72083.js.map → controller-icon-cfbc5bbf.js.map} +0 -0
  893. /package/dist/kolibri/{devtools-4e3e4963.js.map → devtools-67de7ff1.js.map} +0 -0
  894. /package/dist/kolibri/{has-closer-e01aaeae.js.map → has-closer-49b6c8b7.js.map} +0 -0
  895. /package/dist/kolibri/{hide-label-c77474b5.js.map → hide-label-16112af9.js.map} +0 -0
  896. /package/dist/kolibri/{i18n-042ef6ee.js.map → i18n-53e49b2a.js.map} +0 -0
  897. /package/dist/kolibri/{image-source-abdd2521.js.map → image-source-d2f4a35e.js.map} +0 -0
  898. /package/dist/kolibri/{label-8596593d.js.map → label-162d9b49.js.map} +0 -0
  899. /package/dist/kolibri/{prop.validators-286b41b1.js.map → prop.validators-6cf6ed2d.js.map} +0 -0
  900. /package/dist/kolibri/{rows-ab605374.js.map → rows-c5b1e0bc.js.map} +0 -0
  901. /package/dist/kolibri/{show-090f6bc3.js.map → show-a8f7aa56.js.map} +0 -0
  902. /package/dist/kolibri/{suggestions-3df3e5fd.js.map → suggestions-efa371a2.js.map} +0 -0
  903. /package/dist/kolibri/{tab-index-a7766f42.js.map → tab-index-cda3bf60.js.map} +0 -0
  904. /package/dist/kolibri/{validation-46697821.js.map → validation-9d2bdef4.js.map} +0 -0
  905. /package/dist/kolibri/{validation-5be5b0a8.js.map → validation-ad3aded3.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"validation-5be5b0a8.js","mappings":";;;;;;MAUa,aAAa,GAAG,CAC5B,SAAiB,EACjB,SAIC,EACD,KAAsC;EAEtC,oBAAoB,CACnB,SAAS,EACT,QAAQ,EACR,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,KAAK,OAAQ,IAAiB,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,IAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,EACtI,KAAK,CACL,CAAC;EACF,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClE;;;;","names":[],"sources":["src/components/nav/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { HrefProp } from '../../types/props/href';\nimport { LabelProp } from '../../types/props/label';\nimport { uiUxHintMillerscheZahl } from '../../utils/a11y.tipps';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\n\ntype HrefOrLabelProp = HrefProp | LabelProp;\n\nexport const watchNavLinks = (\n\tclassName: string,\n\tcomponent: Generic.Element.Component & {\n\t\tstate: {\n\t\t\t_links: HrefOrLabelProp[];\n\t\t};\n\t},\n\tvalue?: Stringified<HrefOrLabelProp[]>\n): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_links',\n\t\t(link) => typeof link === 'object' && (typeof (link as HrefProp)._href === 'string' || typeof (link as LabelProp)._label === 'string'),\n\t\tvalue\n\t);\n\tuiUxHintMillerscheZahl(className, component.state._links.length);\n};\n"],"version":3}
1
+ {"file":"validation-ad3aded3.js","mappings":";;;;;;MAUa,aAAa,GAAG,CAC5B,SAAiB,EACjB,SAIC,EACD,KAAsC;EAEtC,oBAAoB,CACnB,SAAS,EACT,QAAQ,EACR,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,KAAK,OAAQ,IAAiB,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,IAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,EACtI,KAAK,CACL,CAAC;EACF,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClE;;;;","names":[],"sources":["src/components/nav/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { HrefProp } from '../../types/props/href';\nimport { LabelProp } from '../../types/props/label';\nimport { uiUxHintMillerscheZahl } from '../../utils/a11y.tipps';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\n\ntype HrefOrLabelProp = HrefProp | LabelProp;\n\nexport const watchNavLinks = (\n\tclassName: string,\n\tcomponent: Generic.Element.Component & {\n\t\tstate: {\n\t\t\t_links: HrefOrLabelProp[];\n\t\t};\n\t},\n\tvalue?: Stringified<HrefOrLabelProp[]>\n): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_links',\n\t\t(link) => typeof link === 'object' && (typeof (link as HrefProp)._href === 'string' || typeof (link as LabelProp)._label === 'string'),\n\t\tvalue\n\t);\n\tuiUxHintMillerscheZahl(className, component.state._links.length);\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{L as e}from"./dev.utils-2f404ce5.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")},h=(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,h as c,s as d,r as e,d as f,l as g,v as h,u};
4
+ import{L as e}from"./dev.utils-1ee29ed1.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")},h=(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,h as c,s as d,r as e,d as f,l as g,v as h,u};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{v as a}from"./alignment-18ef41f0.js";const n=(n,o)=>{a(n,"_align",o)};export{n as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateAlign","component","value","validateAlignment"],"sources":["src/types/props/align.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { validateAlignment } from '../../utils/validators/alignment';\n\n/* types */\ntype HorizontalAlign = 'left' | 'right';\ntype VerticalAlign = 'top' | 'bottom';\nexport type AlignPropType = HorizontalAlign | VerticalAlign;\n\n/**\n * Defines where to show the element preferably: top, right, bottom or left.\n */\nexport type PropAlign = {\n\talign: AlignPropType;\n};\n\n/* validator */\nexport const validateAlign = (component: Generic.Element.Component, value?: AlignPropType): void => {\n\tvalidateAlignment(component, '_align', value);\n};\n"],"mappings":";;;kDAiBaA,EAAgB,CAACC,EAAsCC,KACnEC,EAAkBF,EAAW,SAAUC,EAAM,S"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{w as t}from"./prop.validators-6cf6ed2d.js";const o=new Set(['"left", "right"']),e=new Set(['"bottom", "top"']),s=new Set([...o,...e]),n=(o,e,p)=>{t(o,e,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),s,p,{defaultValue:"top"})};export{n as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES","Set","AVAILABLE_VERTICAL_ALIGNMENT_VALUES","AVAILABLE_ALIGNMENT_VALUES","validateAlignment","component","propName","value","watchValidator","defaultValue"],"sources":["src/utils/validators/alignment.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { AlignPropType } from '../../types/props/align';\nimport { watchValidator } from '../prop.validators';\n\nconst AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES = new Set(['\"left\", \"right\"']);\n// export const validateHorizontalAlignment = (component: Generic.Element.Component, propName: string, value?: HorizontalAlignment): void => {\n// \twatchValidator(component, propName, (value) => value === 'left' || value === 'right', AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES, value);\n// };\n\nconst AVAILABLE_VERTICAL_ALIGNMENT_VALUES = new Set(['\"bottom\", \"top\"']);\n// export const validateVertivalAlignment = (component: Generic.Element.Component, propName: string, value?: VerticalAlignment): void => {\n// \twatchValidator(component, propName, (value) => value === 'top' || value === 'bottom', AVAILABLE_VERTICAL_ALIGNMENT_VALUES, value);\n// };\n\nconst AVAILABLE_ALIGNMENT_VALUES = new Set([...AVAILABLE_HORIZONTAL_ALIGNMENT_VALUES, ...AVAILABLE_VERTICAL_ALIGNMENT_VALUES]);\nexport const validateAlignment = (component: Generic.Element.Component, propName: string, value?: AlignPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'bottom' || value === 'left' || value === 'right' || value === 'top',\n\t\tAVAILABLE_ALIGNMENT_VALUES,\n\t\tvalue,\n\t\t{ defaultValue: 'top' }\n\t);\n};\n"],"mappings":";;;kDAKA,MAAMA,EAAwC,IAAIC,IAAI,CAAC,oBAKvD,MAAMC,EAAsC,IAAID,IAAI,CAAC,oBAKrD,MAAME,EAA6B,IAAIF,IAAI,IAAID,KAA0CE,I,MAC5EE,EAAoB,CAACC,EAAsCC,EAAkBC,KACzFC,EACCH,EACAC,GACCC,GAAUA,IAAU,UAAYA,IAAU,QAAUA,IAAU,SAAWA,IAAU,OACpFJ,EACAI,EACA,CAAEE,aAAc,OAChB,S"}
@@ -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-286b41b1.js";const o=(t,e)=>{a(t,"_ariaControls",e)},e=(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)=>{e(a,"_ariaCurrent",t)},r=(a,t)=>{e(a,"_listenAriaCurrent",t)};export{s as a,r as b,o as v};
4
+ import{d as a,w as t}from"./prop.validators-6cf6ed2d.js";const o=(t,e)=>{a(t,"_ariaControls",e)},e=(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)=>{e(a,"_ariaCurrent",t)},r=(a,t)=>{e(a,"_listenAriaCurrent",t)},n=(t,e)=>{a(t,"_role",e)};export{s as a,n as b,r as c,o as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateAriaControls","component","value","watchString","validate","propName","watchValidator","Set","validateAriaCurrent","validateListenAriaCurrent","validateAlternativeButtonLinkRole"],"sources":["src/types/props/aria-controls.ts","src/types/props/aria-current.ts","src/types/props/alternative-button-link-role.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Defines which elements are being controlled. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n * @deprecated\n */\ntype AriaControlsPropType = string;\n\n/**\n * @deprecated\n */\nexport type PropAriaControls = {\n\tariaControls: AriaControlsPropType;\n};\n\n/* validator */\nexport const validateAriaControls = (component: Generic.Element.Component, value?: AriaControlsPropType): void => {\n\twatchString(component, '_ariaControls', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nexport type AriaCurrentPropType = 'date' | 'location' | 'page' | 'step' | 'time' | boolean;\n\n/**\n * @deprecated use `PropListenAriaCurrent` instead\n */\nexport type PropAriaCurrent = {\n\t/**\n\t * @deprecated use `listenAriaCurrent` instead\n\t */\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time' || value === true || value === false,\n\t\tnew Set(['String {data, location, page, step, time}', 'boolean']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","/* types */\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type AlternativeButtonLinkRolePropType = 'button' | 'link' | 'tab';\n\n/**\n * Defines the role of the components primary element.\n */\nexport type PropAlternativeButtonLinkRole = {\n\trole: AlternativeButtonLinkRolePropType;\n};\n\n/* validator */\nexport const validateAlternativeButtonLinkRole = (component: Generic.Element.Component, value?: AlternativeButtonLinkRolePropType) => {\n\twatchString(component, '_role', value);\n};\n"],"mappings":";;;+DAmBaA,EAAuB,CAACC,EAAsCC,KAC1EC,EAAYF,EAAW,gBAAiBC,EAAM,ECM/C,MAAME,EAAW,CAACH,EAAsCI,EAAkBH,KACzEI,EACCL,EACAI,GACCH,GAAUA,IAAU,QAAUA,IAAU,YAAcA,IAAU,QAAUA,IAAU,QAAUA,IAAU,QAAUA,IAAU,MAAQA,IAAU,OAC/I,IAAIK,IAAI,CAAC,4CAA6C,YACtDL,EACA,E,MAEWM,EAAsB,CAACP,EAAsCC,KACzEE,EAASH,EAAW,eAAgBC,EAAM,E,MAE9BO,EAA4B,CAACR,EAAsCC,KAC/EE,EAASH,EAAW,qBAAsBC,EAAM,E,MCzBpCQ,EAAoC,CAACT,EAAsCC,KACvFC,EAAYF,EAAW,QAASC,EAAM,S"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as o}from"./index-5ab2ea42.js";import{r as t}from"./index-d8ac1088.js";import{L as s}from"./dev.utils-1ee29ed1.js";import{s as e,g as a}from"./index-37b5cbcf.js";const f=async()=>{o((o=>(o.shadowRoot instanceof ShadowRoot&&e(o,a(o)),"default"))),await t([],[]),import("./devtools-67de7ff1.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};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a}from"./prop.validators-6cf6ed2d.js";const o=(o,r)=>{a(o,"_ariaSelected",r)};export{o as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateAriaSelected","component","value","watchBoolean"],"sources":["src/types/props/aria-selected.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype AriaSelectedPropType = boolean;\n\n/**\n * Marks this element as selected.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n */\nexport type PropAriaSelected = {\n\tariaSelected: AriaSelectedPropType;\n};\n\n/* validator */\nexport const validateAriaSelected = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaSelected', value);\n};\n"],"mappings":";;;mDAgBaA,EAAuB,CAACC,EAAsCC,KAC1EC,EAAaF,EAAW,gBAAiBC,EAAM,S"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{d as t}from"./prop.validators-286b41b1.js";import{d as e,g as i}from"./a11y.tipps-010cc7bb.js";import{d as s}from"./dev.utils-2f404ce5.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};
4
+ import{d as t}from"./prop.validators-6cf6ed2d.js";import{d as e,g as i}from"./a11y.tipps-3dbf06fc.js";import{d as s}from"./dev.utils-1ee29ed1.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":["// TODO: Should be synchronized with enums/events.ts\ntype KoliBriEventType = 'blur' | 'change' | 'click' | 'focus';\n\nexport function stopPropagation(event: Event): void {\n\tevent.stopImmediatePropagation();\n\tevent.stopPropagation();\n}\n\nfunction createKoliBriEvent<T>(type: KoliBriEventType, 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: KoliBriEventType, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\treturn dispatch;\n}\n\nexport function tryToDispatchKoliBriEvent<T>(type: KoliBriEventType, 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\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\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 { NamePropType, validateName } from '../../types/props/name';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { PropSyncValueBySelector, SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\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?: NamePropType): 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?: SyncValueBySelectorPropType): 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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"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as t,w as s}from"./prop.validators-6cf6ed2d.js";const a=(a,s)=>{t(a,"_ariaExpanded",s)},e=(a,s)=>{t(a,"_disabled",s)},o=(t,a)=>{s(t,"_type",(t=>"button"===t||"reset"===t||"submit"===t),new Set(["KoliBriButtonType {button, reset, submit}"]),a)};export{e as a,o as b,a as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateAriaExpanded","component","value","watchBoolean","validateDisabled","validateButtonType","watchValidator","Set"],"sources":["src/types/props/aria-expanded.ts","src/types/props/disabled.ts","src/types/props/button-type.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype AriaExpandedPropType = boolean;\n\n/**\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n * @deprecated\n */\nexport type PropAriaExpanded = {\n\tariaExpanded: AriaExpandedPropType;\n};\n\n/* validator */\nexport const validateAriaExpanded = (component: Generic.Element.Component, value?: AriaExpandedPropType): void => {\n\twatchBoolean(component, '_ariaExpanded', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type DisabledPropType = boolean;\n\n/**\n * Makes the element not focusable and ignore all events.\n */\nexport type PropDisabled = {\n\tdisabled: DisabledPropType;\n};\n\n/* validator */\nexport const validateDisabled = (component: Generic.Element.Component, value?: DisabledPropType): void => {\n\twatchBoolean(component, '_disabled', value);\n};\n","/* types */\nimport { Generic } from '@a11y-ui/core';\nimport { watchValidator } from '../../utils/prop.validators';\n\nexport type ButtonTypePropType = 'button' | 'reset' | 'submit';\n\n/**\n * Defines either the type of the component or of the components interactive element.\n */\nexport type PropButtonType = {\n\ttype: ButtonTypePropType;\n};\n\n/* validator */\nexport const validateButtonType = (component: Generic.Element.Component, value?: ButtonTypePropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_type`,\n\t\t(value) => value === 'button' || value === 'reset' || value === 'submit',\n\t\tnew Set(['KoliBriButtonType {button, reset, submit}']),\n\t\tvalue\n\t);\n};\n"],"mappings":";;;+DAiBaA,EAAuB,CAACC,EAAsCC,KAC1EC,EAAaF,EAAW,gBAAiBC,EAAM,E,MCHnCE,EAAmB,CAACH,EAAsCC,KACtEC,EAAaF,EAAW,YAAaC,EAAM,E,MCF/BG,EAAqB,CAACJ,EAAsCC,KACxEI,EACCL,EACA,SACCC,GAAUA,IAAU,UAAYA,IAAU,SAAWA,IAAU,UAChE,IAAIK,IAAI,CAAC,8CACTL,EACA,S"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{w as a}from"./prop.validators-6cf6ed2d.js";const r=(r,o)=>{a(r,"_variant",(a=>"primary"===a||"secondary"===a||"normal"===a||"danger"===a||"ghost"===a||"custom"===a),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),o,{defaultValue:"normal"})};export{r as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateButtonVariant","component","value","watchValidator","Set","defaultValue"],"sources":["src/types/props/button-variant.ts"],"sourcesContent":["/* types */\nimport { Generic } from '@a11y-ui/core';\nimport { watchValidator } from '../../utils/prop.validators';\n\nexport type ButtonVariantPropType = 'primary' | 'secondary' | 'normal' | 'tertiary' | 'danger' | 'ghost' | 'custom';\n\n/**\n * Defines which variant should be used for presentation.\n */\nexport type PropButtonVariant = {\n\tvariant: ButtonVariantPropType;\n};\n\n/* validator */\nexport const validateButtonVariant = (component: Generic.Element.Component, value?: ButtonVariantPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t`_variant`,\n\t\t(value) => value === 'primary' || value === 'secondary' || value === 'normal' || value === 'danger' || value === 'ghost' || value === 'custom',\n\t\tnew Set(['KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}']),\n\t\tvalue,\n\t\t{\n\t\t\tdefaultValue: 'normal',\n\t\t}\n\t);\n};\n"],"mappings":";;;wDAcaA,EAAwB,CAACC,EAAsCC,KAC3EC,EACCF,EACA,YACCC,GAAUA,IAAU,WAAaA,IAAU,aAAeA,IAAU,UAAYA,IAAU,UAAYA,IAAU,SAAWA,IAAU,UACtI,IAAIE,IAAI,CAAC,6EACTF,EACA,CACCG,aAAc,UAEf,S"}
@@ -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-286b41b1.js";import{a as t}from"./a11y.tipps-010cc7bb.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)},c=new Map,d=(e,r,a,o=1)=>{if(c.has(e))return c.get(e);const t=f(e,r,a,o);return c.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=d([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-6cf6ed2d.js";import{a as t}from"./a11y.tipps-3dbf06fc.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-dc2f0e5c.js";import{v as e}from"./suggestions-3df3e5fd.js";import{w as i}from"./prop.validators-286b41b1.js";class r 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 a extends r{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{r as I,a};
4
+ import{v as s,I as t}from"./controller-d04db4dd.js";import{v as e}from"./suggestions-efa371a2.js";import{w as i}from"./prop.validators-6cf6ed2d.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};
@@ -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-286b41b1.js";import{h as o,c as r}from"./label-8596593d.js";import{a as n}from"./a11y.tipps-010cc7bb.js";import{S as l}from"./reuse-c2156413.js";import{I as h}from"./controller-108aa205.js";const c=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===c(t)));if("number"==typeof t.label)return!0}return!1},f=(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",c,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 b 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 m extends b{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){f(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{b as I,m 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-6cf6ed2d.js";import{h as o,c as r}from"./label-162d9b49.js";import{a as n}from"./a11y.tipps-3dbf06fc.js";import{S as l}from"./reuse-c2156413.js";import{I as f}from"./controller-ab167bf7.js";const h=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===h(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",h,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 b extends f{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 m extends b{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{b as I,m as a,d as f,u as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateInputSelectOptions","option","label","length","disabled","trim","hasEnoughReadableChars","containsOnlyNumbers","a11yHint","Array","isArray","options","find","item","undefined","validateOptions","component","value","watchJsonArrayString","validateOptionsWithOptgroup","validateRequired","watchBoolean","fillKeyOptionMap","keyOptionMap","preKey","forEach","index","key","set","InputCheckboxRadioController","InputController","constructor","name","host","super","this","componentWillLoad","_required","InputRadioController","Map","getOptionByKey","get","isValueInOptions","beforePatchOptions","_value","nextState","has","state","_options","clear","newValue","onStateChange","validateOrientation","watchValidator","Set","defaultValue","hooks","beforePatch","validateValue","mapString2Unknown","setState","setFormAssociatedValue","onChange","timeout","setTimeout","clearTimeout","STATE_CHANGE_EVENT","_orientation","_list"],"sources":["src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\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 readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options || this.component._list);\n\t\tthis.validateValue(this.component._value);\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,d as i,s,o as e,p as h}from"./prop.validators-286b41b1.js";import{a}from"./label-8596593d.js";import{h as o,d as n}from"./a11y.tipps-010cc7bb.js";import{A as r,s as d,t as l}from"./associated.controller-9d8da408.js";import{v as c}from"./tab-index-a7766f42.js";const u=t=>{const o="string"==typeof t._error&&t._error.length>0&&!0===t._touched,n="string"==typeof t._hint&&t._hint.length>0,e=[];return!0===o&&e.push(`${t._id}-error`),!0===n&&e.push(`${t._id}-hint`),{hasError:o,hasHint:n,ariaDescribedBy:e}},f=(o,n)=>{t(o,"_adjustHeight",n)},v=(o,n)=>{t(o,"_touched",n)};class p extends r{constructor(t,o,n){super(t,o,n),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,n){super(t,o,n),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(n){t(this.component,"_disabled",n),!0===n&&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 n=t.target.value;d(t),l("change",this.host,n),this.setFormAssociatedValue(n),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,n),this.valueChangeListeners.forEach((t=>t(n)))}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 n;this.setFormAssociatedValue(o),"function"==typeof(null===(n=this.component._on)||void 0===n?void 0:n.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-6cf6ed2d.js";import{a}from"./label-162d9b49.js";import{h as o,d as n}from"./a11y.tipps-3dbf06fc.js";import{A as r,s as d,t as l}from"./associated.controller-6c7440df.js";import{v as c}from"./tab-index-cda3bf60.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":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\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?: TouchedPropType;\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 */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): 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 { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, 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 ButtonProps } from '../../button/types';\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?: AdjustHeightPropType): 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-286b41b1.js";import{d as a}from"./a11y.tipps-010cc7bb.js";import{I as h}from"./controller-icon-e6f72083.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-6cf6ed2d.js";import{d as a}from"./a11y.tipps-3dbf06fc.js";import{I as h}from"./controller-icon-cfbc5bbf.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{d as e}from"./a11y.tipps-010cc7bb.js";import{d as o}from"./dev.utils-2f404ce5.js";import{f as t,K as n}from"./prop.validators-286b41b1.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-3dbf06fc.js";import{d as o}from"./dev.utils-1ee29ed1.js";import{f as t,K as n}from"./prop.validators-6cf6ed2d.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};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["searchFormElement","el","getExperimentalMode","devHint","console","log","HTMLElement","tagName","parentElement","parentNode","ShadowRoot","host","propagateResetEventToForm","options","form","event","Event","bubbles","cancelable","setEventTarget","dispatchEvent","KoliBriDevHelper","querySelector","kolForm","_a","_on","onReset","_b","propagateSubmitEventToForm","SubmitEvent","submitter","onSubmit"],"sources":["src/components/form/controller.ts"],"sourcesContent":["import { devHint } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { KoliBriDevHelper, setEventTarget } from '../../utils/prop.validators';\nimport { Props } from './types';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tconsole.log(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== 'KOL-FORM') {\n\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\tel = el.parentElement;\n\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\tel = el.parentNode.host;\n\t\t} else {\n\t\t\tel = null;\n\t\t}\n\t\tif (getExperimentalMode()) {\n\t\t\tconsole.log(el);\n\t\t}\n\t}\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↑ Search form element finished.`);\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {}\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === 'KOL-FORM') {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as Props;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {}\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === 'KOL-FORM') {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as Props;\n\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t}\n\t\t}\n\t}\n};\n"],"mappings":";;;kJAKA,MAAMA,EAAqBC,IAC1B,GAAIC,IAAuB,CAC1BC,EAAQ,gCACRC,QAAQC,IAAIJ,E,CAEb,MAAOA,aAAcK,aAAeL,EAAGM,UAAY,QAAUN,EAAGM,UAAY,WAAY,CACvF,GAAIN,EAAGO,yBAAyBF,YAAa,CAC5CL,EAAKA,EAAGO,a,MACF,GAAIP,EAAGQ,sBAAsBC,WAAY,CAC/CT,EAAKA,EAAGQ,WAAWE,I,KACb,CACNV,EAAK,I,CAEN,GAAIC,IAAuB,CAC1BE,QAAQC,IAAIJ,E,EAGd,GAAIC,IAAuB,CAC1BC,EAAQ,kC,CAET,OAAOF,CAAE,E,MAGGW,EAA4B,CACxCC,EAGI,M,QAEJ,MAAMC,EAAOd,EAAkBa,EAAQC,MACvC,GAAIA,aAAgBR,YAAa,CAChC,MAAMS,EAAQ,IAAIC,MAAM,QAAS,CAChCC,QAAS,KACTC,WAAY,OAEb,GAAIJ,EAAKP,UAAY,OAAQ,CAC5BY,EAAeJ,EAAOD,GACtBA,EAAKM,cAAcL,E,MACb,GAAID,EAAKP,UAAY,WAAY,CACvCY,EAAeJ,EAAOM,EAAiBC,cAAc,OAAQR,IAC7D,MAAMS,EAAUT,EAChB,WAAWU,EAAAD,EAAQE,OAAG,MAAAD,SAAA,SAAAA,EAAEE,WAAY,WAAY,SACxCC,EAAAJ,EAAQE,OAAG,MAAAE,SAAA,SAAAA,EAAED,QAAQX,G,WAMnBa,EAA6B,CACzCf,EAGI,M,QAEJ,MAAMC,EAAOd,EAAkBa,EAAQC,MACvC,GAAIA,aAAgBR,YAAa,CAChC,MAAMS,EAAQ,IAAIc,YAAY,SAAU,CACvCZ,QAAS,KACTC,WAAY,KACZY,UAAWhB,IAYZ,GAAIA,EAAKP,UAAY,OAAQ,CAC5BY,EAAeJ,EAAOD,GACtBA,EAAKM,cAAcL,E,MACb,GAAID,EAAKP,UAAY,WAAY,CACvCY,EAAeJ,EAAOM,EAAiBC,cAAc,OAAQR,IAC7D,MAAMS,EAAUT,EAChB,WAAWU,EAAAD,EAAQE,OAAG,MAAAD,SAAA,SAAAA,EAAEO,YAAa,WAAY,EAChDJ,EAAAJ,EAAQE,OAAG,MAAAE,SAAA,SAAAA,EAAEI,SAAShB,E"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{i as o}from"./icon-a7195182.js";import{o as t,p as s,w as i}from"./prop.validators-6cf6ed2d.js";import{i as r}from"./reuse-c2156413.js";import{I as e}from"./controller-ab167bf7.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};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{d as s}from"./prop.validators-6cf6ed2d.js";const a=(a,o)=>{s(a,"_customClass",o,{defaultValue:void 0})};export{a as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateCustomClass","component","value","watchString","defaultValue","undefined"],"sources":["src/types/props/custom-class.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\nexport type CustomClassPropType = string;\n\n/**\n * Defines the custom class attribute.\n */\nexport type PropCustomClass = {\n\tcustomClass: CustomClassPropType;\n};\n\n/* validator */\nexport const validateCustomClass = (component: Generic.Element.Component, value?: CustomClassPropType): void => {\n\twatchString(component, '_customClass', value, {\n\t\tdefaultValue: undefined,\n\t});\n};\n"],"mappings":";;;wDAeaA,EAAsB,CAACC,EAAsCC,KACzEC,EAAYF,EAAW,eAAgBC,EAAO,CAC7CE,aAAcC,WACb,S"}
@@ -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"})),r().body.style.maxHeight="100vh",r().body.style.overflow="hidden",this.lockFocus(r().body,t)}else r().body.style.maxHeight="unset",r().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?p.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)p.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 n{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}}const i=new n(document);let s=null,o=null;const l=e=>{e instanceof Window?(s=e,s.document instanceof Document?o=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},a=()=>s||"undefined"==typeof window?null:window,r=()=>o||void 0===a().document?null:a().document;let c=null,u=null,d=null,h=null;const f=()=>!0===u,m=()=>!0===d,v=()=>!0===h;class p{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${p.shield.label} | ${e}`:p.shield.label}static getShield(e){return[p.handleClassifier(null==e?void 0:e.classifier),`${p.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.debug(...p.getShield(t),...p.mapToArray(e))}static info(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.info(...p.getShield(t),...p.mapToArray(e))}static trace(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.trace(...p.getShield(t),...p.mapToArray(e))}static warn(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.warn(...p.getShield(t),...p.mapToArray(e))}static error(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.error(...p.getShield(t),...p.mapToArray(e))}static throw(e,t){if(u||!0===(null==t?void 0:t.forceLog))throw new Error(...p.getShield(t),...p.mapToArray(e))}}p.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const w=()=>{if(null===u&&null===d&&null===h){const e=r().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(c=e.getAttribute("content"),"string"==typeof c&&(u=c.includes("dev-mode=true"),d=c.includes("experimental-mode=true"),h=c.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let b=null;const M=()=>b||{},T=()=>{if(null===b){b=a().KoliBri||{};const e=new t,o=new n(r());Object.defineProperty(b,"Modal",{get:function(){return e}}),Object.defineProperty(b,"Toaster",{get:function(){return o}}),w(),p.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.24\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},g=()=>{void 0===a().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return b}}),!0!==M().adviceShown&&(Object.defineProperty(b,"adviceShown",{get:function(){return!0}}),p.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 y=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(y=()=>"nonce");export{b as K,p as L,n as T,i as a,a as b,l as c,m as d,M as e,f,r as g,v as h,T as i,y as n,g 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"})),r().body.style.maxHeight="100vh",r().body.style.overflow="hidden",this.lockFocus(r().body,t)}else r().body.style.maxHeight="unset",r().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?p.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)p.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 n{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}}const i=new n(document);let s=null,o=null;const l=e=>{e instanceof Window?(s=e,s.document instanceof Document?o=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},a=()=>s||"undefined"==typeof window?null:window,r=()=>o||void 0===a().document?null:a().document;let c=null,u=null,d=null,h=null;const f=()=>!0===u,m=()=>!0===d,v=()=>!0===h;class p{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${p.shield.label} | ${e}`:p.shield.label}static getShield(e){return[p.handleClassifier(null==e?void 0:e.classifier),`${p.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.debug(...p.getShield(t),...p.mapToArray(e))}static info(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.info(...p.getShield(t),...p.mapToArray(e))}static trace(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.trace(...p.getShield(t),...p.mapToArray(e))}static warn(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.warn(...p.getShield(t),...p.mapToArray(e))}static error(e,t){(u||!0===(null==t?void 0:t.forceLog))&&console.error(...p.getShield(t),...p.mapToArray(e))}static throw(e,t){if(u||!0===(null==t?void 0:t.forceLog))throw new Error(...p.getShield(t),...p.mapToArray(e))}}p.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const w=()=>{if(null===u&&null===d&&null===h){const e=r().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(c=e.getAttribute("content"),"string"==typeof c&&(u=c.includes("dev-mode=true"),d=c.includes("experimental-mode=true"),h=c.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let b=null;const M=()=>b||{},T=()=>{if(null===b){b=a().KoliBri||{};const e=new t,o=new n(r());Object.defineProperty(b,"Modal",{get:function(){return e}}),Object.defineProperty(b,"Toaster",{get:function(){return o}}),w(),p.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.25\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},g=()=>{void 0===a().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return b}}),!0!==M().adviceShown&&(Object.defineProperty(b,"adviceShown",{get:function(){return!0}}),p.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 y=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(y=()=>"nonce");export{b as K,p as L,n as T,i as a,a as b,l as c,m as d,M as e,f,r as g,v as h,T as i,y as n,g 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","Toaster","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","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\nexport const Toaster = new ToasterService(document);\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.24\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","Toaster","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","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\nexport const Toaster = new ToasterService(document);\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.25\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":";;;8CAaaA,EAAb,WAAAC,GACSC,KAAAC,eAAyD,IAAIC,IAC7DF,KAAAG,WAA6C,IAAID,G,CAEjD,WAAAE,CAAYC,GACnB,MAAMC,EAA0BD,EAAYE,aAAa,YACzD,GACCF,aAAuBG,mBACvBH,aAAuBI,mBACvBJ,aAAuBK,kBACvBL,aAAuBM,mBACvBN,aAAuBO,4BAChBN,IAAa,UACpBD,EAAYQ,QAAQC,WAAaC,UAChC,CACD,UAAWT,IAAa,SAAU,CACjCN,KAAKC,eAAee,IAAIX,EAAa,CACpCC,Y,KAEK,CACNN,KAAKC,eAAee,IAAIX,EAAa,G,CAEtCA,EAAYY,aAAa,WAAY,MACrCZ,EAAYY,aAAa,cAAe,QACxCZ,EAAYa,MAAMC,WAAa,M,EAIzB,aAAAC,CAAcC,EAA6BhB,GAClD,UAAWgB,EAAMf,WAAa,SAAU,CACvCD,EAAYY,aAAa,WAAYI,EAAMf,S,KACrC,CACND,EAAYiB,gBAAgB,W,CAE7BjB,EAAYiB,gBAAgB,eAC5BjB,EAAYa,MAAMC,WAAa,QAC/BnB,KAAKC,eAAesB,OAAOlB,E,CAGpB,oBAAAmB,CAAqBvB,GAC5BA,EAAewB,QAAQzB,KAAKoB,cAAcM,KAAK1B,M,CAGxC,SAAA2B,CAAUC,EAA8CC,GAC/D,GAAID,IAAgBC,IAAmBD,aAAuBE,aAAeF,aAAuBG,YAAa,CAChH,GAAIH,aAAuBE,YAAa,CACvC9B,KAAKI,YAAYwB,GACjB5B,KAAK2B,UAAUC,EAAYI,WAAYH,E,CAExC,IAAK,IAAII,EAAI,EAAGA,EAAIL,EAAYM,SAASC,OAAQF,IAAK,CACrDjC,KAAK2B,UAAUC,EAAYM,SAASD,GAAmBJ,E,GAKlD,mBAAAO,CAAoBC,GAC3B,GAAIA,aAAyBP,YAAa,CACzC,GAAI9B,KAAKC,eAAeqC,IAAID,GAAgB,CAC3CrC,KAAKoB,cAAcpB,KAAKC,eAAesC,IAAIF,GAAwCA,E,CAEpF,MAAMG,EAAUC,YAAW,KAC1BC,aAAaF,GACbH,EAAcM,OAAO,GACnB,I,CAEJ3C,KAAKwB,qBAAqBxB,KAAKC,gBAC/B,GAAID,KAAKG,WAAWyC,KAAO,EAAG,CAC7B,MAAMC,EAAYC,MAAMC,KAAK/C,KAAKG,WAAW6C,QAC7C,MAAMC,EAAWJ,EAAUA,EAAUV,OAAS,GAG9CnC,KAAKG,WAAWsB,SAAQ,CAACyB,EAAsB7C,KAC9C,GAAI4C,IAAa5C,EAAa,CAC7BA,EAAYa,MAAMiC,QAAU,Q,KACtB,CACN9C,EAAYa,MAAMiC,QAAU,M,KAG9BC,IAAcC,KAAKnC,MAAMoC,UAAY,QACrCF,IAAcC,KAAKnC,MAAMqC,SAAW,SACpCvD,KAAK2B,UAAUyB,IAAcC,KAAMJ,E,KAC7B,CACNG,IAAcC,KAAKnC,MAAMoC,UAAY,QACrCF,IAAcC,KAAKnC,MAAMqC,SAAW,O,EAI/B,SAAAC,CAAUP,EAAuBZ,GACvC,GAAIY,aAAoBnB,cAAgB,MAAO,CAC9C2B,EAAIC,KAAK,kE,KACH,CACN1D,KAAKG,WAAWa,IAAIiC,EAAU,CAC7BZ,kBAEDrC,KAAKoC,qB,EAIA,UAAAuB,CAAWV,G,MACjB,GAAIA,aAAoBnB,cAAgB,MAAO,CAC9C2B,EAAIC,KAAK,kE,KACH,CACN,MAAMrB,GAAgBuB,EAAA5D,KAAKG,WAAWoC,IAAIU,MAAS,MAAAW,SAAA,SAAAA,EAAEvB,cACrDrC,KAAKG,WAAWoB,OAAO0B,GACvBjD,KAAKoC,oBAAoBC,E,SCxGfwB,EAOZ,WAAA9D,CAA6B+D,GAAA9D,KAAA8D,WAJZ9D,KAAA+D,MAAoB,IAAIC,IAEjChE,KAAAiE,OAAS,MAGhBjE,KAAKkE,aAAelE,KAAK8D,SAASK,cAAc,aAChDnE,KAAKkE,aAAajD,aAAa,SAAU,KACzCjB,KAAKkE,aAAajD,aAAa,QAAS,SACxCjB,KAAKkE,aAAajD,aAAa,iBAAkB,MACjDjB,KAAKkE,aAAajD,aAAa,cAAe,QAC9CjB,KAAKkE,aAAaE,IAAM,CACvBC,QAAS,KACR,MAAMC,EAAOtE,KAAK+D,MAAMQ,SAASD,OACjC,GAAIA,EAAKjD,MAAO,CACfrB,KAAK+D,MAAMxC,OAAO+C,EAAKjD,OACvBoB,YAAW,KACVzC,KAAKwE,UAAUF,EAAKjD,MAAe,GACjC,I,KACG,CACNrB,KAAKiE,OAAS,K,IAIjBjE,KAAK8D,SAAST,KAAKoB,aAAazE,KAAKkE,aAAclE,KAAK8D,SAAST,KAAKqB,W,CAMhE,OAAAC,CAAQC,GACd,GAAI5E,KAAKiE,OAAQ,CAChBjE,KAAK+D,MAAMc,IAAID,E,KACT,CACN5E,KAAKwE,UAAUI,E,EAIT,SAAAJ,CAAUI,GACjB,MAAME,EAAQF,EAAKE,OAASF,EAAKG,QAEjC,UAAWD,IAAU,YAAa,CAEjC,MAAM,IAAIE,MAAM,0B,CAGjBhF,KAAKkE,aAAajD,aAAa,SAAU6D,GACzC9E,KAAKkE,aAAajD,aAAa,QAAS,QACxCjB,KAAKkE,aAAajD,aAAa,QAAS2D,EAAKK,MAC7CjF,KAAKkE,aAAagB,UAAYN,EAAKO,YACnCnF,KAAKiE,OAAS,I,QAIHmB,EAAU,IAAIvB,EAAeC,UCjE1C,IAAIuB,EAAwB,KAC5B,IAAIC,EAA4B,K,MAEnBC,EAAiBC,IAC7B,GAAIA,aAAkBC,OAAQ,CAC7BJ,EAASG,EACT,GAAIH,EAAOvB,oBAAoB4B,SAAU,CACxCJ,EAAWE,EAAO1B,Q,KACZ,CACN6B,QAAQjC,KAAK,0C,MAER,CACNiC,QAAQjC,KAAK,iC,SAIFkC,EAAY,IAAeP,UAAiBG,SAAW,YAAe,KAA6BA,O,MACnGpC,EAAc,IAAiBkC,UAAmBM,IAAY9B,WAAa,YAAe,KAA+B8B,IAAY9B,SAElJ,IAAI+B,EAA6B,KACjC,IAAIC,EAA2B,KAC/B,IAAIC,EAAoC,KACxC,IAAIC,EAA0C,K,MAEjCC,EAAa,IAAeH,IAAa,K,MACzCI,EAAsB,IAAeH,IAAsB,K,MAC3DI,EAA2B,IAAeH,IAA4B,KAanF,MAAavC,EAMJ,iBAAO2C,CAAWC,GACzB,OAAOvD,MAAMwD,QAAQD,GAAOA,EAAM,CAACA,E,CAG5B,uBAAOE,CAAiBC,GAC/B,UAAWA,IAAe,UAAYA,EAAWrE,OAAS,EAAG,CAC5D,MAAO,GAAGsB,EAAIgD,OAAO3B,WAAW0B,G,KAC1B,CACN,OAAO/C,EAAIgD,OAAO3B,K,EAIZ,gBAAO4B,CAAUC,GACxB,MAAO,CAAClD,EAAI8C,iBAAiBI,IAAO,MAAPA,SAAO,SAAPA,EAASH,YAAa,GAAG/C,EAAIgD,OAAOvF,UAASyF,IAAO,MAAPA,SAAO,SAAPA,EAASC,iBAAkB,K,CAG/F,YAAOC,CAAMR,EAA0BM,GAC7C,GAAIb,IAAYa,IAAO,MAAPA,SAAO,SAAPA,EAASG,YAAa,KAAM,CAC3CnB,QAAQkB,SAASpD,EAAIiD,UAAUC,MAAalD,EAAI2C,WAAWC,G,EAItD,WAAOU,CAAKV,EAA0BM,GAC5C,GAAIb,IAAYa,IAAO,MAAPA,SAAO,SAAPA,EAASG,YAAa,KAAM,CAC3CnB,QAAQoB,QAAQtD,EAAIiD,UAAUC,MAAalD,EAAI2C,WAAWC,G,EAIrD,YAAOW,CAAMX,EAA0BM,GAC7C,GAAIb,IAAYa,IAAO,MAAPA,SAAO,SAAPA,EAASG,YAAa,KAAM,CAC3CnB,QAAQqB,SAASvD,EAAIiD,UAAUC,MAAalD,EAAI2C,WAAWC,G,EAItD,WAAO3C,CAAK2C,EAA0BM,GAC5C,GAAIb,IAAYa,IAAO,MAAPA,SAAO,SAAPA,EAASG,YAAa,KAAM,CAC3CnB,QAAQjC,QAAQD,EAAIiD,UAAUC,MAAalD,EAAI2C,WAAWC,G,EAIrD,YAAOY,CAAMZ,EAA0BM,GAC7C,GAAIb,IAAYa,IAAO,MAAPA,SAAO,SAAPA,EAASG,YAAa,KAAM,CAC3CnB,QAAQsB,SAASxD,EAAIiD,UAAUC,MAAalD,EAAI2C,WAAWC,G,EAItD,YAAO,CAAMA,EAA0BM,GAC7C,GAAIb,IAAYa,IAAO,MAAPA,SAAO,SAAPA,EAASG,YAAa,KAAM,CAC3C,MAAM,IAAI9B,SAASvB,EAAIiD,UAAUC,MAAalD,EAAI2C,WAAWC,G,GArDhD5C,EAAAgD,OAAoB,CAClC3B,MAAO,YACP5D,MAAO,sHAwDT,MAAMgG,EAAW,KAChB,GAAIpB,IAAa,MAAQC,IAAsB,MAAQC,IAA4B,KAAM,CACxF,MAAMmB,EAAO/D,IAAcgE,cAAc,wBACzC,GAAID,GAAQA,EAAKE,aAAa,WAAY,CACzCxB,EAAcsB,EAAK5G,aAAa,WAChC,UAAWsF,IAAgB,SAAU,CACpCC,EAAWD,EAAYyB,SAAS,iBAChCvB,EAAoBF,EAAYyB,SAAS,0BACzCtB,EAA0BH,EAAYyB,SAAS,+B,OAG3C,CACN3B,QAAQjC,KAAK,qE,OAIX6D,EAA0C,K,MACjCC,EAAa,IAA+BD,GAAW,G,MACvDE,EAAc,KAC1B,GAAIF,IAAY,KAAM,CACrBA,EAAU3B,IAAY2B,SAAW,GACjC,MAAMG,EAAQ,IAAI5H,EAClB,MAAMsF,EAAU,IAAIvB,EAAeT,KACnCuE,OAAOC,eAAeL,EAAS,QAAS,CACvChF,IAAK,WACJ,OAAOmF,C,IAGTC,OAAOC,eAAeL,EAAS,UAAW,CACzChF,IAAK,WACJ,OAAO6C,C,IAGT8B,IACAzD,EAAIoD,MACH,sXAQA,CACCC,SAAU,M,KAGN,CACNnB,QAAQjC,KAAK,wC,SAKFmE,EAAkB,KAC9B,GAAIjC,IAAY2B,UAAYxG,UAAW,CACtC4G,OAAOC,eAAepC,OAAQ,UAAW,CACxCjD,IAAK,WACJ,OAAOgF,C,IAIV,GAAIC,IAAaM,cAAgB,KAAM,CACtCH,OAAOC,eAAeL,EAAS,cAAe,CAC7ChF,IAAK,WACJ,OAAO,I,IAGTkB,EAAIoD,MACH,0Q,OAUCkB,EAAQ,IAAcC,KAAKC,MAAMD,KAAKE,SAAW,UAAUC,SAAS,IAExE,GAAIC,IAAe,OAAQ,CAC1BL,EAAQ,IAAc,O"}