@public-ui/components 2.0.0 → 2.0.1

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 (840) hide show
  1. package/custom-elements.json +2 -9
  2. package/dist/cjs/{InternalUnderlinedAccessKey-13d98585.js → InternalUnderlinedAccessKey-db20fe4c.js} +1 -1
  3. package/dist/cjs/{InternalUnderlinedAccessKey-13d98585.js.map → InternalUnderlinedAccessKey-db20fe4c.js.map} +1 -1
  4. package/dist/cjs/{a11y.tipps-3cff218a.js → a11y.tipps-5093e030.js} +1 -1
  5. package/dist/cjs/{a11y.tipps-3cff218a.js.map → a11y.tipps-5093e030.js.map} +1 -1
  6. package/dist/cjs/access-key-08e22c70.js +4 -0
  7. package/dist/cjs/access-key-08e22c70.js.map +1 -0
  8. package/dist/cjs/{alignment-516753a3.js → alignment-da95c567.js} +1 -1
  9. package/dist/cjs/alignment-da95c567.js.map +1 -0
  10. package/dist/cjs/alternative-button-link-role-46c7e9ff.js +4 -0
  11. package/dist/cjs/alternative-button-link-role-46c7e9ff.js.map +1 -0
  12. package/dist/cjs/app-globals-dbba0fd7.js +4 -0
  13. package/dist/cjs/app-globals-dbba0fd7.js.map +1 -0
  14. package/dist/cjs/{associated.controller-66de4b43.js → associated.controller-665c978d.js} +1 -1
  15. package/dist/cjs/associated.controller-665c978d.js.map +1 -0
  16. package/dist/cjs/{color-1cc0d5df.js → color-f3eb202a.js} +1 -1
  17. package/dist/cjs/{color-1cc0d5df.js.map → color-f3eb202a.js.map} +1 -1
  18. package/dist/cjs/{controller-d5f2264d.js → controller-318aaac7.js} +1 -1
  19. package/dist/cjs/controller-318aaac7.js.map +1 -0
  20. package/dist/cjs/{controller-7f8062fe.js → controller-3a053b42.js} +1 -1
  21. package/dist/cjs/{controller-7f8062fe.js.map → controller-3a053b42.js.map} +1 -1
  22. package/dist/cjs/{controller-b237a488.js → controller-5a5b8671.js} +1 -1
  23. package/dist/cjs/controller-5a5b8671.js.map +1 -0
  24. package/dist/cjs/{controller-c32a52d6.js → controller-644ec366.js} +1 -1
  25. package/dist/cjs/controller-644ec366.js.map +1 -0
  26. package/dist/cjs/{controller-bff44c4c.js → controller-8f3bdef3.js} +1 -1
  27. package/dist/cjs/controller-8f3bdef3.js.map +1 -0
  28. package/dist/cjs/{controller-icon-7021badf.js → controller-icon-870a91fe.js} +1 -1
  29. package/dist/cjs/controller-icon-870a91fe.js.map +1 -0
  30. package/dist/cjs/custom-class-fe018ec9.js +4 -0
  31. package/dist/cjs/custom-class-fe018ec9.js.map +1 -0
  32. package/dist/cjs/dev.utils-dd133f0a.js +4 -0
  33. package/dist/cjs/dev.utils-dd133f0a.js.map +1 -0
  34. package/dist/cjs/{devtools-5b98bd4e.js → devtools-59e9f930.js} +1 -1
  35. package/dist/cjs/{devtools-5b98bd4e.js.map → devtools-59e9f930.js.map} +1 -1
  36. package/dist/cjs/has-closer-e0792c7f.js +4 -0
  37. package/dist/cjs/has-closer-e0792c7f.js.map +1 -0
  38. package/dist/cjs/hide-label-69a12ef6.js +4 -0
  39. package/dist/cjs/hide-label-69a12ef6.js.map +1 -0
  40. package/dist/cjs/{i18n-b7ec2d1b.js → i18n-9b1797b5.js} +1 -1
  41. package/dist/cjs/{i18n-b7ec2d1b.js.map → i18n-9b1797b5.js.map} +1 -1
  42. package/dist/cjs/{icons-20f8bfb5.js → icons-7d782feb.js} +1 -1
  43. package/dist/cjs/icons-7d782feb.js.map +1 -0
  44. package/dist/cjs/image-source-9b7df5ba.js +4 -0
  45. package/dist/cjs/image-source-9b7df5ba.js.map +1 -0
  46. package/dist/cjs/index-814a048a.js +4 -0
  47. package/dist/cjs/index-814a048a.js.map +1 -0
  48. package/dist/cjs/{index-a2400b65.js → index-de77e597.js} +1 -1
  49. package/dist/cjs/index-de77e597.js.map +1 -0
  50. package/dist/cjs/index.cjs.js +1 -1
  51. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  62. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  72. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  101. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  111. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  113. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  116. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  117. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  119. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  120. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  122. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  126. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  134. package/dist/cjs/kolibri.cjs.js +1 -1
  135. package/dist/cjs/kolibri.cjs.js.map +1 -1
  136. package/dist/cjs/{label-de5ebf4b.js → label-1ffb616a.js} +1 -1
  137. package/dist/cjs/label-1ffb616a.js.map +1 -0
  138. package/dist/cjs/loader.cjs.js +1 -1
  139. package/dist/cjs/open-4fe1ba4b.js +4 -0
  140. package/dist/cjs/open-4fe1ba4b.js.map +1 -0
  141. package/dist/cjs/{prop.validators-5f352bbf.js → prop.validators-85dcd797.js} +1 -1
  142. package/dist/cjs/prop.validators-85dcd797.js.map +1 -0
  143. package/dist/cjs/rows-e1b2cbc4.js +4 -0
  144. package/dist/cjs/rows-e1b2cbc4.js.map +1 -0
  145. package/dist/cjs/show-5514164d.js +4 -0
  146. package/dist/cjs/show-5514164d.js.map +1 -0
  147. package/dist/cjs/{suggestions-54b14d40.js → suggestions-c6f511ef.js} +1 -1
  148. package/dist/cjs/suggestions-c6f511ef.js.map +1 -0
  149. package/dist/cjs/{tab-index-1cc9cecb.js → tab-index-9a2f9acd.js} +1 -1
  150. package/dist/cjs/tab-index-9a2f9acd.js.map +1 -0
  151. package/dist/cjs/{tooltip-align-d0446059.js → tooltip-align-231659b9.js} +1 -1
  152. package/dist/cjs/tooltip-align-231659b9.js.map +1 -0
  153. package/dist/cjs/{validation-90a278d7.js → validation-fb5cac9f.js} +1 -1
  154. package/dist/cjs/validation-fb5cac9f.js.map +1 -0
  155. package/dist/cjs/{validation-26535d0c.js → validation-ffe8a5ab.js} +1 -1
  156. package/dist/cjs/validation-ffe8a5ab.js.map +1 -0
  157. package/dist/components/align-floating-elements.js.map +1 -1
  158. package/dist/components/color.js +1 -1
  159. package/dist/components/color.js.map +1 -1
  160. package/dist/components/component.js +1 -1
  161. package/dist/components/component13.js +1 -1
  162. package/dist/components/component14.js +1 -1
  163. package/dist/components/component14.js.map +1 -1
  164. package/dist/components/component15.js +1 -1
  165. package/dist/components/component15.js.map +1 -1
  166. package/dist/components/component2.js +1 -1
  167. package/dist/components/component2.js.map +1 -1
  168. package/dist/components/component3.js +1 -1
  169. package/dist/components/component3.js.map +1 -1
  170. package/dist/components/component4.js +1 -1
  171. package/dist/components/component4.js.map +1 -1
  172. package/dist/components/component5.js +1 -1
  173. package/dist/components/component5.js.map +1 -1
  174. package/dist/components/component6.js +1 -1
  175. package/dist/components/component6.js.map +1 -1
  176. package/dist/components/component8.js +1 -1
  177. package/dist/components/component8.js.map +1 -1
  178. package/dist/components/component9.js +1 -1
  179. package/dist/components/component9.js.map +1 -1
  180. package/dist/components/controller-icon.js +1 -1
  181. package/dist/components/controller-icon.js.map +1 -1
  182. package/dist/components/controller.js +1 -1
  183. package/dist/components/controller.js.map +1 -1
  184. package/dist/components/controller2.js +1 -1
  185. package/dist/components/controller2.js.map +1 -1
  186. package/dist/components/controller3.js.map +1 -1
  187. package/dist/components/controller4.js +1 -1
  188. package/dist/components/controller4.js.map +1 -1
  189. package/dist/components/devtools.js +1 -1
  190. package/dist/components/has-closer.js +1 -1
  191. package/dist/components/has-closer.js.map +1 -1
  192. package/dist/components/i18n.js +1 -1
  193. package/dist/components/i18n.js.map +1 -1
  194. package/dist/components/image-source.js +1 -1
  195. package/dist/components/image-source.js.map +1 -1
  196. package/dist/components/index.js +1 -1
  197. package/dist/components/index.js.map +1 -1
  198. package/dist/components/kol-accordion.js +1 -1
  199. package/dist/components/kol-avatar.js +1 -1
  200. package/dist/components/kol-avatar.js.map +1 -1
  201. package/dist/components/kol-breadcrumb.js +1 -1
  202. package/dist/components/kol-button-link.js +1 -1
  203. package/dist/components/kol-card.js +1 -1
  204. package/dist/components/kol-card.js.map +1 -1
  205. package/dist/components/kol-details.js +1 -1
  206. package/dist/components/kol-form.js +1 -1
  207. package/dist/components/kol-image.js +1 -1
  208. package/dist/components/kol-image.js.map +1 -1
  209. package/dist/components/kol-input-checkbox.js +1 -1
  210. package/dist/components/kol-input-checkbox.js.map +1 -1
  211. package/dist/components/kol-input-color.js +1 -1
  212. package/dist/components/kol-input-color.js.map +1 -1
  213. package/dist/components/kol-input-date.js +1 -1
  214. package/dist/components/kol-input-date.js.map +1 -1
  215. package/dist/components/kol-input-email.js +1 -1
  216. package/dist/components/kol-input-email.js.map +1 -1
  217. package/dist/components/kol-input-file.js +1 -1
  218. package/dist/components/kol-input-file.js.map +1 -1
  219. package/dist/components/kol-input-number.js +1 -1
  220. package/dist/components/kol-input-number.js.map +1 -1
  221. package/dist/components/kol-input-password.js +1 -1
  222. package/dist/components/kol-input-radio.js +1 -1
  223. package/dist/components/kol-input-radio.js.map +1 -1
  224. package/dist/components/kol-input-range.js +1 -1
  225. package/dist/components/kol-input-range.js.map +1 -1
  226. package/dist/components/kol-input-text.js +1 -1
  227. package/dist/components/kol-input-text.js.map +1 -1
  228. package/dist/components/kol-kolibri.js +1 -1
  229. package/dist/components/kol-kolibri.js.map +1 -1
  230. package/dist/components/kol-link-button.js +1 -1
  231. package/dist/components/kol-logo.js +1 -1
  232. package/dist/components/kol-modal.js +1 -1
  233. package/dist/components/kol-modal.js.map +1 -1
  234. package/dist/components/kol-nav.js +1 -1
  235. package/dist/components/kol-nav.js.map +1 -1
  236. package/dist/components/kol-progress.js +1 -1
  237. package/dist/components/kol-quote.js +1 -1
  238. package/dist/components/kol-quote.js.map +1 -1
  239. package/dist/components/kol-spin.js.map +1 -1
  240. package/dist/components/kol-symbol.js +1 -1
  241. package/dist/components/kol-table.js +1 -1
  242. package/dist/components/kol-table.js.map +1 -1
  243. package/dist/components/kol-tabs.js +1 -1
  244. package/dist/components/kol-tabs.js.map +1 -1
  245. package/dist/components/kol-textarea.js +1 -1
  246. package/dist/components/kol-textarea.js.map +1 -1
  247. package/dist/components/label.js +1 -1
  248. package/dist/components/label.js.map +1 -1
  249. package/dist/components/open.js +1 -1
  250. package/dist/components/open.js.map +1 -1
  251. package/dist/components/prop.validators.js +1 -1
  252. package/dist/components/prop.validators.js.map +1 -1
  253. package/dist/components/rows.js +1 -1
  254. package/dist/components/rows.js.map +1 -1
  255. package/dist/components/shadow.js +1 -1
  256. package/dist/components/shadow.js.map +1 -1
  257. package/dist/components/shadow2.js +1 -1
  258. package/dist/components/shadow3.js +1 -1
  259. package/dist/components/show.js +1 -1
  260. package/dist/components/show.js.map +1 -1
  261. package/dist/components/suggestions.js +1 -1
  262. package/dist/components/suggestions.js.map +1 -1
  263. package/dist/components/tab-index.js +1 -1
  264. package/dist/components/tab-index.js.map +1 -1
  265. package/dist/components/tooltip-align.js.map +1 -1
  266. package/dist/components/validation.js +1 -1
  267. package/dist/components/validation.js.map +1 -1
  268. package/dist/esm/{InternalUnderlinedAccessKey-2c5af489.js → InternalUnderlinedAccessKey-e3698cee.js} +1 -1
  269. package/dist/esm/{InternalUnderlinedAccessKey-2c5af489.js.map → InternalUnderlinedAccessKey-e3698cee.js.map} +1 -1
  270. package/dist/esm/{a11y.tipps-e9cad37c.js → a11y.tipps-f367a979.js} +1 -1
  271. package/dist/esm/{a11y.tipps-e9cad37c.js.map → a11y.tipps-f367a979.js.map} +1 -1
  272. package/dist/esm/access-key-d70aa275.js +4 -0
  273. package/dist/esm/access-key-d70aa275.js.map +1 -0
  274. package/dist/esm/{alignment-2f00e22b.js → alignment-493b6c84.js} +1 -1
  275. package/dist/esm/alignment-493b6c84.js.map +1 -0
  276. package/dist/esm/alternative-button-link-role-0fc029bf.js +4 -0
  277. package/dist/esm/alternative-button-link-role-0fc029bf.js.map +1 -0
  278. package/dist/esm/app-globals-f7f4352c.js +4 -0
  279. package/dist/esm/app-globals-f7f4352c.js.map +1 -0
  280. package/dist/esm/{associated.controller-4725864a.js → associated.controller-700d5133.js} +1 -1
  281. package/dist/esm/associated.controller-700d5133.js.map +1 -0
  282. package/dist/esm/{color-4fd77675.js → color-afc2e34f.js} +1 -1
  283. package/dist/esm/{color-4fd77675.js.map → color-afc2e34f.js.map} +1 -1
  284. package/dist/esm/{controller-bca2b59f.js → controller-17eb7878.js} +1 -1
  285. package/dist/esm/controller-17eb7878.js.map +1 -0
  286. package/dist/esm/{controller-24fd3c96.js → controller-60b830eb.js} +1 -1
  287. package/dist/esm/controller-60b830eb.js.map +1 -0
  288. package/dist/esm/{controller-8eba0306.js → controller-6e772d91.js} +1 -1
  289. package/dist/esm/controller-6e772d91.js.map +1 -0
  290. package/dist/esm/{controller-b59b53b5.js → controller-ae07d1c7.js} +1 -1
  291. package/dist/esm/controller-ae07d1c7.js.map +1 -0
  292. package/dist/esm/{controller-15b86c4c.js → controller-e23535f2.js} +1 -1
  293. package/dist/esm/{controller-15b86c4c.js.map → controller-e23535f2.js.map} +1 -1
  294. package/dist/esm/{controller-icon-745779e5.js → controller-icon-01cabd99.js} +1 -1
  295. package/dist/esm/controller-icon-01cabd99.js.map +1 -0
  296. package/dist/esm/custom-class-603a7fda.js +4 -0
  297. package/dist/esm/custom-class-603a7fda.js.map +1 -0
  298. package/dist/esm/dev.utils-da51d5d8.js +4 -0
  299. package/dist/esm/dev.utils-da51d5d8.js.map +1 -0
  300. package/dist/esm/{devtools-2ad36829.js → devtools-308d0386.js} +1 -1
  301. package/dist/esm/{devtools-2ad36829.js.map → devtools-308d0386.js.map} +1 -1
  302. package/dist/esm/{has-closer-4da7b42f.js → has-closer-091d5cc7.js} +1 -1
  303. package/dist/esm/has-closer-091d5cc7.js.map +1 -0
  304. package/dist/esm/{hide-label-aca36293.js → hide-label-e711f812.js} +1 -1
  305. package/dist/esm/hide-label-e711f812.js.map +1 -0
  306. package/dist/esm/{i18n-e1b2767a.js → i18n-d92de40a.js} +1 -1
  307. package/dist/esm/{i18n-e1b2767a.js.map → i18n-d92de40a.js.map} +1 -1
  308. package/dist/esm/{icons-6e5f46e1.js → icons-1ad89985.js} +1 -1
  309. package/dist/esm/icons-1ad89985.js.map +1 -0
  310. package/dist/esm/{image-source-9e600678.js → image-source-f76f6ad4.js} +1 -1
  311. package/dist/esm/image-source-f76f6ad4.js.map +1 -0
  312. package/dist/esm/{index-e9d20d00.js → index-6ea18cec.js} +1 -1
  313. package/dist/esm/index-6ea18cec.js.map +1 -0
  314. package/dist/esm/index-9fc5c44a.js +4 -0
  315. package/dist/esm/index-9fc5c44a.js.map +1 -0
  316. package/dist/esm/index.js +1 -1
  317. package/dist/esm/kol-abbr.entry.js +1 -1
  318. package/dist/esm/kol-accordion.entry.js +1 -1
  319. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  320. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  321. package/dist/esm/kol-alert.entry.js +1 -1
  322. package/dist/esm/kol-alert.entry.js.map +1 -1
  323. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  324. package/dist/esm/kol-avatar.entry.js +1 -1
  325. package/dist/esm/kol-avatar.entry.js.map +1 -1
  326. package/dist/esm/kol-badge.entry.js +1 -1
  327. package/dist/esm/kol-badge.entry.js.map +1 -1
  328. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  329. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  330. package/dist/esm/kol-button-group.entry.js +1 -1
  331. package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
  332. package/dist/esm/kol-button-link.entry.js +1 -1
  333. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  334. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  335. package/dist/esm/kol-button.entry.js +1 -1
  336. package/dist/esm/kol-card.entry.js +1 -1
  337. package/dist/esm/kol-card.entry.js.map +1 -1
  338. package/dist/esm/kol-details.entry.js +1 -1
  339. package/dist/esm/kol-form.entry.js +1 -1
  340. package/dist/esm/kol-heading.entry.js +1 -1
  341. package/dist/esm/kol-icon.entry.js +1 -1
  342. package/dist/esm/kol-image.entry.js +1 -1
  343. package/dist/esm/kol-image.entry.js.map +1 -1
  344. package/dist/esm/kol-indented-text.entry.js +1 -1
  345. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  346. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  347. package/dist/esm/kol-input-color.entry.js +1 -1
  348. package/dist/esm/kol-input-color.entry.js.map +1 -1
  349. package/dist/esm/kol-input-date.entry.js +1 -1
  350. package/dist/esm/kol-input-date.entry.js.map +1 -1
  351. package/dist/esm/kol-input-email.entry.js +1 -1
  352. package/dist/esm/kol-input-email.entry.js.map +1 -1
  353. package/dist/esm/kol-input-file.entry.js +1 -1
  354. package/dist/esm/kol-input-file.entry.js.map +1 -1
  355. package/dist/esm/kol-input-number.entry.js +1 -1
  356. package/dist/esm/kol-input-number.entry.js.map +1 -1
  357. package/dist/esm/kol-input-password.entry.js +1 -1
  358. package/dist/esm/kol-input-radio.entry.js +1 -1
  359. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  360. package/dist/esm/kol-input-range.entry.js +1 -1
  361. package/dist/esm/kol-input-range.entry.js.map +1 -1
  362. package/dist/esm/kol-input-text.entry.js +1 -1
  363. package/dist/esm/kol-input-text.entry.js.map +1 -1
  364. package/dist/esm/kol-input.entry.js +1 -1
  365. package/dist/esm/kol-kolibri.entry.js +1 -1
  366. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  367. package/dist/esm/kol-link-button.entry.js +1 -1
  368. package/dist/esm/kol-link-group.entry.js +1 -1
  369. package/dist/esm/kol-link-wc.entry.js +1 -1
  370. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  371. package/dist/esm/kol-link.entry.js +1 -1
  372. package/dist/esm/kol-logo.entry.js +1 -1
  373. package/dist/esm/kol-modal.entry.js +1 -1
  374. package/dist/esm/kol-modal.entry.js.map +1 -1
  375. package/dist/esm/kol-nav.entry.js +1 -1
  376. package/dist/esm/kol-nav.entry.js.map +1 -1
  377. package/dist/esm/kol-pagination.entry.js +1 -1
  378. package/dist/esm/kol-pagination.entry.js.map +1 -1
  379. package/dist/esm/kol-popover-wc.entry.js +1 -1
  380. package/dist/esm/kol-progress.entry.js +1 -1
  381. package/dist/esm/kol-quote.entry.js +1 -1
  382. package/dist/esm/kol-quote.entry.js.map +1 -1
  383. package/dist/esm/kol-select.entry.js +1 -1
  384. package/dist/esm/kol-select.entry.js.map +1 -1
  385. package/dist/esm/kol-skip-nav.entry.js +1 -1
  386. package/dist/esm/kol-span-wc.entry.js +1 -1
  387. package/dist/esm/kol-span.entry.js +1 -1
  388. package/dist/esm/kol-spin.entry.js +1 -1
  389. package/dist/esm/kol-spin.entry.js.map +1 -1
  390. package/dist/esm/kol-split-button.entry.js +1 -1
  391. package/dist/esm/kol-symbol.entry.js +1 -1
  392. package/dist/esm/kol-table.entry.js +1 -1
  393. package/dist/esm/kol-table.entry.js.map +1 -1
  394. package/dist/esm/kol-tabs.entry.js +1 -1
  395. package/dist/esm/kol-tabs.entry.js.map +1 -1
  396. package/dist/esm/kol-textarea.entry.js +1 -1
  397. package/dist/esm/kol-textarea.entry.js.map +1 -1
  398. package/dist/esm/kol-toast-container.entry.js +1 -1
  399. package/dist/esm/kol-version.entry.js +1 -1
  400. package/dist/esm/kolibri.js +1 -1
  401. package/dist/esm/kolibri.js.map +1 -1
  402. package/dist/esm/{label-32f655e1.js → label-8ddb917e.js} +1 -1
  403. package/dist/esm/label-8ddb917e.js.map +1 -0
  404. package/dist/esm/loader.js +1 -1
  405. package/dist/esm/{open-4fee4c52.js → open-0bdcff02.js} +1 -1
  406. package/dist/esm/open-0bdcff02.js.map +1 -0
  407. package/dist/esm/prop.validators-f887ad3b.js +4 -0
  408. package/dist/esm/prop.validators-f887ad3b.js.map +1 -0
  409. package/dist/esm/{rows-32475866.js → rows-77cd583c.js} +1 -1
  410. package/dist/esm/rows-77cd583c.js.map +1 -0
  411. package/dist/esm/{show-0ced7b04.js → show-8341c904.js} +1 -1
  412. package/dist/esm/show-8341c904.js.map +1 -0
  413. package/dist/esm/{suggestions-4347211e.js → suggestions-40d68773.js} +1 -1
  414. package/dist/esm/suggestions-40d68773.js.map +1 -0
  415. package/dist/esm/{tab-index-555bc0fc.js → tab-index-2206620f.js} +1 -1
  416. package/dist/esm/tab-index-2206620f.js.map +1 -0
  417. package/dist/esm/{tooltip-align-9f02b487.js → tooltip-align-00398d75.js} +1 -1
  418. package/dist/esm/tooltip-align-00398d75.js.map +1 -0
  419. package/dist/esm/validation-34db9bcf.js +4 -0
  420. package/dist/esm/validation-34db9bcf.js.map +1 -0
  421. package/dist/esm/{validation-54b01567.js → validation-503191a4.js} +1 -1
  422. package/dist/esm/validation-503191a4.js.map +1 -0
  423. package/dist/kolibri/InternalUnderlinedAccessKey-e3698cee.js +4 -0
  424. package/dist/kolibri/{a11y.tipps-e9cad37c.js → a11y.tipps-f367a979.js} +1 -1
  425. package/dist/kolibri/access-key-d70aa275.js +4 -0
  426. package/dist/kolibri/access-key-d70aa275.js.map +1 -0
  427. package/dist/kolibri/alignment-493b6c84.js +4 -0
  428. package/dist/kolibri/alignment-493b6c84.js.map +1 -0
  429. package/dist/kolibri/alternative-button-link-role-0fc029bf.js +4 -0
  430. package/dist/kolibri/alternative-button-link-role-0fc029bf.js.map +1 -0
  431. package/dist/kolibri/app-globals-f7f4352c.js +4 -0
  432. package/dist/kolibri/app-globals-f7f4352c.js.map +1 -0
  433. package/dist/kolibri/{associated.controller-4725864a.js → associated.controller-700d5133.js} +1 -1
  434. package/dist/kolibri/associated.controller-700d5133.js.map +1 -0
  435. package/dist/kolibri/{color-4fd77675.js → color-afc2e34f.js} +1 -1
  436. package/dist/kolibri/{color-4fd77675.js.map → color-afc2e34f.js.map} +1 -1
  437. package/dist/kolibri/{controller-bca2b59f.js → controller-17eb7878.js} +1 -1
  438. package/dist/kolibri/controller-17eb7878.js.map +1 -0
  439. package/dist/kolibri/controller-60b830eb.js +4 -0
  440. package/dist/kolibri/controller-60b830eb.js.map +1 -0
  441. package/dist/kolibri/{controller-8eba0306.js → controller-6e772d91.js} +1 -1
  442. package/dist/kolibri/controller-6e772d91.js.map +1 -0
  443. package/dist/kolibri/{controller-b59b53b5.js → controller-ae07d1c7.js} +1 -1
  444. package/dist/kolibri/controller-ae07d1c7.js.map +1 -0
  445. package/dist/kolibri/{controller-15b86c4c.js → controller-e23535f2.js} +1 -1
  446. package/dist/kolibri/controller-icon-01cabd99.js +4 -0
  447. package/dist/kolibri/controller-icon-01cabd99.js.map +1 -0
  448. package/dist/kolibri/custom-class-603a7fda.js +4 -0
  449. package/dist/kolibri/custom-class-603a7fda.js.map +1 -0
  450. package/dist/kolibri/dev.utils-da51d5d8.js +4 -0
  451. package/dist/kolibri/dev.utils-da51d5d8.js.map +1 -0
  452. package/dist/kolibri/devtools-308d0386.js +4 -0
  453. package/dist/kolibri/has-closer-091d5cc7.js +4 -0
  454. package/dist/kolibri/has-closer-091d5cc7.js.map +1 -0
  455. package/dist/kolibri/hide-label-e711f812.js +4 -0
  456. package/dist/kolibri/hide-label-e711f812.js.map +1 -0
  457. package/dist/kolibri/{i18n-e1b2767a.js → i18n-d92de40a.js} +1 -1
  458. package/dist/kolibri/{i18n-e1b2767a.js.map → i18n-d92de40a.js.map} +1 -1
  459. package/dist/kolibri/icons-1ad89985.js +4 -0
  460. package/dist/kolibri/icons-1ad89985.js.map +1 -0
  461. package/dist/kolibri/image-source-f76f6ad4.js +4 -0
  462. package/dist/kolibri/image-source-f76f6ad4.js.map +1 -0
  463. package/dist/kolibri/{index-e9d20d00.js → index-6ea18cec.js} +1 -1
  464. package/dist/kolibri/index-6ea18cec.js.map +1 -0
  465. package/dist/kolibri/index-9fc5c44a.js +4 -0
  466. package/dist/kolibri/index-9fc5c44a.js.map +1 -0
  467. package/dist/kolibri/index.esm.js +1 -1
  468. package/dist/kolibri/kol-abbr.entry.js +1 -1
  469. package/dist/kolibri/kol-accordion.entry.js +1 -1
  470. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  471. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  472. package/dist/kolibri/kol-alert.entry.js +1 -1
  473. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  474. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  475. package/dist/kolibri/kol-avatar.entry.js +1 -1
  476. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  477. package/dist/kolibri/kol-badge.entry.js +1 -1
  478. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  479. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  480. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  481. package/dist/kolibri/kol-button-group.entry.js +1 -1
  482. package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
  483. package/dist/kolibri/kol-button-link.entry.js +1 -1
  484. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  485. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  486. package/dist/kolibri/kol-button.entry.js +1 -1
  487. package/dist/kolibri/kol-card.entry.js +1 -1
  488. package/dist/kolibri/kol-card.entry.js.map +1 -1
  489. package/dist/kolibri/kol-details.entry.js +1 -1
  490. package/dist/kolibri/kol-form.entry.js +1 -1
  491. package/dist/kolibri/kol-heading.entry.js +1 -1
  492. package/dist/kolibri/kol-icon.entry.js +1 -1
  493. package/dist/kolibri/kol-image.entry.js +1 -1
  494. package/dist/kolibri/kol-image.entry.js.map +1 -1
  495. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  496. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  497. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  498. package/dist/kolibri/kol-input-color.entry.js +1 -1
  499. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  500. package/dist/kolibri/kol-input-date.entry.js +1 -1
  501. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  502. package/dist/kolibri/kol-input-email.entry.js +1 -1
  503. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  504. package/dist/kolibri/kol-input-file.entry.js +1 -1
  505. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  506. package/dist/kolibri/kol-input-number.entry.js +1 -1
  507. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  508. package/dist/kolibri/kol-input-password.entry.js +1 -1
  509. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  510. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  511. package/dist/kolibri/kol-input-range.entry.js +1 -1
  512. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  513. package/dist/kolibri/kol-input-text.entry.js +1 -1
  514. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  515. package/dist/kolibri/kol-input.entry.js +1 -1
  516. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  517. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  518. package/dist/kolibri/kol-link-button.entry.js +1 -1
  519. package/dist/kolibri/kol-link-group.entry.js +1 -1
  520. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  521. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  522. package/dist/kolibri/kol-link.entry.js +1 -1
  523. package/dist/kolibri/kol-logo.entry.js +1 -1
  524. package/dist/kolibri/kol-modal.entry.js +1 -1
  525. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  526. package/dist/kolibri/kol-nav.entry.js +1 -1
  527. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  528. package/dist/kolibri/kol-pagination.entry.js +1 -1
  529. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  530. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  531. package/dist/kolibri/kol-progress.entry.js +1 -1
  532. package/dist/kolibri/kol-quote.entry.js +1 -1
  533. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  534. package/dist/kolibri/kol-select.entry.js +1 -1
  535. package/dist/kolibri/kol-select.entry.js.map +1 -1
  536. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  537. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  538. package/dist/kolibri/kol-span.entry.js +1 -1
  539. package/dist/kolibri/kol-spin.entry.js +1 -1
  540. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  541. package/dist/kolibri/kol-split-button.entry.js +1 -1
  542. package/dist/kolibri/kol-symbol.entry.js +1 -1
  543. package/dist/kolibri/kol-table.entry.js +1 -1
  544. package/dist/kolibri/kol-table.entry.js.map +1 -1
  545. package/dist/kolibri/kol-tabs.entry.js +1 -1
  546. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  547. package/dist/kolibri/kol-textarea.entry.js +1 -1
  548. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  549. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  550. package/dist/kolibri/kol-version.entry.js +1 -1
  551. package/dist/kolibri/kolibri.esm.js +1 -1
  552. package/dist/kolibri/kolibri.esm.js.map +1 -1
  553. package/dist/kolibri/label-8ddb917e.js +4 -0
  554. package/dist/kolibri/label-8ddb917e.js.map +1 -0
  555. package/dist/kolibri/open-0bdcff02.js +4 -0
  556. package/dist/kolibri/open-0bdcff02.js.map +1 -0
  557. package/dist/kolibri/prop.validators-f887ad3b.js +4 -0
  558. package/dist/kolibri/prop.validators-f887ad3b.js.map +1 -0
  559. package/dist/kolibri/rows-77cd583c.js +4 -0
  560. package/dist/kolibri/rows-77cd583c.js.map +1 -0
  561. package/dist/kolibri/show-8341c904.js +4 -0
  562. package/dist/kolibri/show-8341c904.js.map +1 -0
  563. package/dist/kolibri/suggestions-40d68773.js +4 -0
  564. package/dist/kolibri/suggestions-40d68773.js.map +1 -0
  565. package/dist/kolibri/tab-index-2206620f.js +4 -0
  566. package/dist/kolibri/tab-index-2206620f.js.map +1 -0
  567. package/dist/kolibri/tooltip-align-00398d75.js +4 -0
  568. package/dist/kolibri/tooltip-align-00398d75.js.map +1 -0
  569. package/dist/kolibri/validation-34db9bcf.js +4 -0
  570. package/dist/kolibri/validation-34db9bcf.js.map +1 -0
  571. package/dist/kolibri/{validation-54b01567.js → validation-503191a4.js} +1 -1
  572. package/dist/kolibri/validation-503191a4.js.map +1 -0
  573. package/dist/types/components/@deprecated/input/controller-icon.d.ts +1 -1
  574. package/dist/types/components/@deprecated/input/controller.d.ts +1 -1
  575. package/dist/types/components/@deprecated/input/types-icon.d.ts +1 -1
  576. package/dist/types/components/@deprecated/input/types.d.ts +1 -1
  577. package/dist/types/components/@else/all/component.d.ts +1 -1
  578. package/dist/types/components/abbr/types.d.ts +1 -1
  579. package/dist/types/components/accordion/types.d.ts +1 -1
  580. package/dist/types/components/alert/types.d.ts +1 -1
  581. package/dist/types/components/avatar/types.d.ts +1 -1
  582. package/dist/types/components/badge/types.d.ts +1 -1
  583. package/dist/types/components/breadcrumb/types.d.ts +1 -1
  584. package/dist/types/components/button/types.d.ts +1 -1
  585. package/dist/types/components/button-group/types.d.ts +1 -1
  586. package/dist/types/components/button-link/types.d.ts +1 -1
  587. package/dist/types/components/button-link-text-switch/types.d.ts +1 -1
  588. package/dist/types/components/card/types.d.ts +1 -1
  589. package/dist/types/components/details/types.d.ts +1 -1
  590. package/dist/types/components/form/types.d.ts +1 -1
  591. package/dist/types/components/heading/types.d.ts +1 -1
  592. package/dist/types/components/heading/validation.d.ts +1 -1
  593. package/dist/types/components/icon/types.d.ts +1 -1
  594. package/dist/types/components/image/types.d.ts +1 -1
  595. package/dist/types/components/indented-text/types.d.ts +1 -1
  596. package/dist/types/components/input/types.d.ts +1 -1
  597. package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +1 -1
  598. package/dist/types/components/input-adapter-leanup/controller.d.ts +1 -1
  599. package/dist/types/components/input-adapter-leanup/types.d.ts +1 -1
  600. package/dist/types/components/input-checkbox/controller.d.ts +1 -1
  601. package/dist/types/components/input-checkbox/types.d.ts +1 -1
  602. package/dist/types/components/input-color/controller.d.ts +1 -1
  603. package/dist/types/components/input-color/types.d.ts +1 -1
  604. package/dist/types/components/input-date/controller.d.ts +1 -1
  605. package/dist/types/components/input-date/types.d.ts +1 -1
  606. package/dist/types/components/input-email/controller.d.ts +1 -1
  607. package/dist/types/components/input-email/types.d.ts +1 -1
  608. package/dist/types/components/input-file/controller.d.ts +1 -1
  609. package/dist/types/components/input-file/types.d.ts +1 -1
  610. package/dist/types/components/input-number/controller.d.ts +1 -1
  611. package/dist/types/components/input-number/types.d.ts +1 -1
  612. package/dist/types/components/input-password/controller.d.ts +1 -1
  613. package/dist/types/components/input-password/types.d.ts +1 -1
  614. package/dist/types/components/input-radio/controller.d.ts +1 -1
  615. package/dist/types/components/input-radio/types.d.ts +1 -1
  616. package/dist/types/components/input-range/component.d.ts +4 -1
  617. package/dist/types/components/input-range/controller.d.ts +1 -1
  618. package/dist/types/components/input-range/types.d.ts +1 -1
  619. package/dist/types/components/input-text/controller.d.ts +1 -1
  620. package/dist/types/components/input-text/types.d.ts +1 -1
  621. package/dist/types/components/kolibri/component.d.ts +0 -5
  622. package/dist/types/components/kolibri/types.d.ts +1 -3
  623. package/dist/types/components/link/types.d.ts +1 -1
  624. package/dist/types/components/link-button/types.d.ts +1 -1
  625. package/dist/types/components/link-group/types.d.ts +1 -1
  626. package/dist/types/components/logo/types.d.ts +1 -1
  627. package/dist/types/components/modal/types.d.ts +1 -1
  628. package/dist/types/components/nav/types.d.ts +1 -1
  629. package/dist/types/components/nav/validation.d.ts +1 -1
  630. package/dist/types/components/pagination/types.d.ts +1 -1
  631. package/dist/types/components/popover/types.d.ts +1 -1
  632. package/dist/types/components/progress/types.d.ts +1 -1
  633. package/dist/types/components/quote/types.d.ts +1 -1
  634. package/dist/types/components/select/controller.d.ts +1 -1
  635. package/dist/types/components/select/types.d.ts +1 -1
  636. package/dist/types/components/skip-nav/types.d.ts +1 -1
  637. package/dist/types/components/span/types.d.ts +1 -1
  638. package/dist/types/components/spin/types.d.ts +1 -1
  639. package/dist/types/components/split-button/types.d.ts +1 -1
  640. package/dist/types/components/symbol/types.d.ts +1 -1
  641. package/dist/types/components/table/types.d.ts +1 -1
  642. package/dist/types/components/tabs/types.d.ts +1 -1
  643. package/dist/types/components/textarea/controller.d.ts +1 -1
  644. package/dist/types/components/textarea/types.d.ts +1 -1
  645. package/dist/types/components/toaster/types.d.ts +1 -1
  646. package/dist/types/components/tooltip/types.d.ts +1 -1
  647. package/dist/types/components/version/types.d.ts +1 -1
  648. package/dist/types/components.d.ts +2 -10
  649. package/dist/types/core/declare.d.ts +1 -1
  650. package/dist/types/core/i18n.d.ts +1 -1
  651. package/dist/types/core/index.d.ts +1 -1
  652. package/dist/types/i18n.d.ts +1 -1
  653. package/dist/types/types/button-link-text.d.ts +1 -1
  654. package/dist/types/types/props/access-key.d.ts +1 -1
  655. package/dist/types/types/props/adjust-height.d.ts +1 -1
  656. package/dist/types/types/props/alert.d.ts +1 -1
  657. package/dist/types/types/props/align.d.ts +1 -1
  658. package/dist/types/types/props/alternative-button-link-role.d.ts +1 -1
  659. package/dist/types/types/props/aria-controls.d.ts +1 -1
  660. package/dist/types/types/props/aria-current-value.d.ts +1 -1
  661. package/dist/types/types/props/aria-expanded.d.ts +1 -1
  662. package/dist/types/types/props/aria-selected.d.ts +1 -1
  663. package/dist/types/types/props/button-callbacks.d.ts +1 -1
  664. package/dist/types/types/props/button-type.d.ts +1 -1
  665. package/dist/types/types/props/button-variant.d.ts +1 -1
  666. package/dist/types/types/props/checked.d.ts +1 -1
  667. package/dist/types/types/props/collapsible.d.ts +1 -1
  668. package/dist/types/types/props/color.d.ts +1 -1
  669. package/dist/types/types/props/custom-class.d.ts +1 -1
  670. package/dist/types/types/props/disabled.d.ts +1 -1
  671. package/dist/types/types/props/download.d.ts +1 -1
  672. package/dist/types/types/props/has-closer.d.ts +1 -1
  673. package/dist/types/types/props/has-compact-button.d.ts +1 -1
  674. package/dist/types/types/props/has-counter.d.ts +1 -1
  675. package/dist/types/types/props/heading-variant.d.ts +1 -1
  676. package/dist/types/types/props/hide-error.d.ts +1 -1
  677. package/dist/types/types/props/hide-label.d.ts +1 -1
  678. package/dist/types/types/props/href.d.ts +1 -1
  679. package/dist/types/types/props/icons.d.ts +1 -1
  680. package/dist/types/types/props/id.d.ts +1 -1
  681. package/dist/types/types/props/image-source.d.ts +1 -1
  682. package/dist/types/types/props/indeterminate.d.ts +1 -1
  683. package/dist/types/types/props/label.d.ts +1 -1
  684. package/dist/types/types/props/link-on-callbacks.d.ts +1 -1
  685. package/dist/types/types/props/link-target.d.ts +1 -1
  686. package/dist/types/types/props/max.d.ts +1 -1
  687. package/dist/types/types/props/multiple.d.ts +1 -1
  688. package/dist/types/types/props/name.d.ts +1 -1
  689. package/dist/types/types/props/open.d.ts +1 -1
  690. package/dist/types/types/props/options.d.ts +1 -1
  691. package/dist/types/types/props/read-only.d.ts +1 -1
  692. package/dist/types/types/props/required.d.ts +1 -1
  693. package/dist/types/types/props/rows.d.ts +1 -1
  694. package/dist/types/types/props/show.d.ts +1 -1
  695. package/dist/types/types/props/suggestions.d.ts +1 -1
  696. package/dist/types/types/props/tooltip-align.d.ts +1 -1
  697. package/dist/types/types/props/touched.d.ts +1 -1
  698. package/dist/types/types/props/variant/spin.d.ts +1 -1
  699. package/dist/types/utils/dev.utils.d.ts +1 -2
  700. package/dist/types/utils/prop.validators.d.ts +3 -3
  701. package/dist/types/utils/validators/alignment.d.ts +1 -1
  702. package/dist/types/utils/validators/loading.d.ts +1 -1
  703. package/dist/types/utils/validators/tab-index.d.ts +1 -1
  704. package/doc/badge.md +17 -0
  705. package/doc/input-color.md +2 -1
  706. package/doc/kolibri.md +5 -11
  707. package/package.json +1 -1
  708. package/vscode-custom-data.json +1 -5
  709. package/dist/cjs/access-key-3f7e20a4.js +0 -4
  710. package/dist/cjs/access-key-3f7e20a4.js.map +0 -1
  711. package/dist/cjs/alignment-516753a3.js.map +0 -1
  712. package/dist/cjs/alternative-button-link-role-e640cd3e.js +0 -4
  713. package/dist/cjs/alternative-button-link-role-e640cd3e.js.map +0 -1
  714. package/dist/cjs/app-globals-c1bdbf21.js +0 -4
  715. package/dist/cjs/app-globals-c1bdbf21.js.map +0 -1
  716. package/dist/cjs/associated.controller-66de4b43.js.map +0 -1
  717. package/dist/cjs/controller-b237a488.js.map +0 -1
  718. package/dist/cjs/controller-bff44c4c.js.map +0 -1
  719. package/dist/cjs/controller-c32a52d6.js.map +0 -1
  720. package/dist/cjs/controller-d5f2264d.js.map +0 -1
  721. package/dist/cjs/controller-icon-7021badf.js.map +0 -1
  722. package/dist/cjs/custom-class-f6c69910.js +0 -4
  723. package/dist/cjs/custom-class-f6c69910.js.map +0 -1
  724. package/dist/cjs/dev.utils-dd53475e.js +0 -4
  725. package/dist/cjs/dev.utils-dd53475e.js.map +0 -1
  726. package/dist/cjs/has-closer-884ff2c9.js +0 -4
  727. package/dist/cjs/has-closer-884ff2c9.js.map +0 -1
  728. package/dist/cjs/hide-label-c4baa68a.js +0 -4
  729. package/dist/cjs/hide-label-c4baa68a.js.map +0 -1
  730. package/dist/cjs/icons-20f8bfb5.js.map +0 -1
  731. package/dist/cjs/image-source-0601c693.js +0 -4
  732. package/dist/cjs/image-source-0601c693.js.map +0 -1
  733. package/dist/cjs/index-a2400b65.js.map +0 -1
  734. package/dist/cjs/index-bb49d83a.js +0 -4
  735. package/dist/cjs/index-bb49d83a.js.map +0 -1
  736. package/dist/cjs/label-de5ebf4b.js.map +0 -1
  737. package/dist/cjs/open-4a152c75.js +0 -4
  738. package/dist/cjs/open-4a152c75.js.map +0 -1
  739. package/dist/cjs/prop.validators-5f352bbf.js.map +0 -1
  740. package/dist/cjs/rows-4798c8ee.js +0 -4
  741. package/dist/cjs/rows-4798c8ee.js.map +0 -1
  742. package/dist/cjs/show-705b299e.js +0 -4
  743. package/dist/cjs/show-705b299e.js.map +0 -1
  744. package/dist/cjs/suggestions-54b14d40.js.map +0 -1
  745. package/dist/cjs/tab-index-1cc9cecb.js.map +0 -1
  746. package/dist/cjs/tooltip-align-d0446059.js.map +0 -1
  747. package/dist/cjs/validation-26535d0c.js.map +0 -1
  748. package/dist/cjs/validation-90a278d7.js.map +0 -1
  749. package/dist/esm/access-key-1625dd20.js +0 -4
  750. package/dist/esm/access-key-1625dd20.js.map +0 -1
  751. package/dist/esm/alignment-2f00e22b.js.map +0 -1
  752. package/dist/esm/alternative-button-link-role-f981a27b.js +0 -4
  753. package/dist/esm/alternative-button-link-role-f981a27b.js.map +0 -1
  754. package/dist/esm/app-globals-b23d4e7b.js +0 -4
  755. package/dist/esm/app-globals-b23d4e7b.js.map +0 -1
  756. package/dist/esm/associated.controller-4725864a.js.map +0 -1
  757. package/dist/esm/controller-24fd3c96.js.map +0 -1
  758. package/dist/esm/controller-8eba0306.js.map +0 -1
  759. package/dist/esm/controller-b59b53b5.js.map +0 -1
  760. package/dist/esm/controller-bca2b59f.js.map +0 -1
  761. package/dist/esm/controller-icon-745779e5.js.map +0 -1
  762. package/dist/esm/custom-class-f42c69f8.js +0 -4
  763. package/dist/esm/custom-class-f42c69f8.js.map +0 -1
  764. package/dist/esm/dev.utils-61c61d76.js +0 -4
  765. package/dist/esm/dev.utils-61c61d76.js.map +0 -1
  766. package/dist/esm/has-closer-4da7b42f.js.map +0 -1
  767. package/dist/esm/hide-label-aca36293.js.map +0 -1
  768. package/dist/esm/icons-6e5f46e1.js.map +0 -1
  769. package/dist/esm/image-source-9e600678.js.map +0 -1
  770. package/dist/esm/index-c1312005.js +0 -4
  771. package/dist/esm/index-c1312005.js.map +0 -1
  772. package/dist/esm/index-e9d20d00.js.map +0 -1
  773. package/dist/esm/label-32f655e1.js.map +0 -1
  774. package/dist/esm/open-4fee4c52.js.map +0 -1
  775. package/dist/esm/prop.validators-2e3fde52.js +0 -4
  776. package/dist/esm/prop.validators-2e3fde52.js.map +0 -1
  777. package/dist/esm/rows-32475866.js.map +0 -1
  778. package/dist/esm/show-0ced7b04.js.map +0 -1
  779. package/dist/esm/suggestions-4347211e.js.map +0 -1
  780. package/dist/esm/tab-index-555bc0fc.js.map +0 -1
  781. package/dist/esm/tooltip-align-9f02b487.js.map +0 -1
  782. package/dist/esm/validation-54b01567.js.map +0 -1
  783. package/dist/esm/validation-b86b914b.js +0 -4
  784. package/dist/esm/validation-b86b914b.js.map +0 -1
  785. package/dist/kolibri/InternalUnderlinedAccessKey-2c5af489.js +0 -4
  786. package/dist/kolibri/access-key-1625dd20.js +0 -4
  787. package/dist/kolibri/access-key-1625dd20.js.map +0 -1
  788. package/dist/kolibri/alignment-2f00e22b.js +0 -4
  789. package/dist/kolibri/alignment-2f00e22b.js.map +0 -1
  790. package/dist/kolibri/alternative-button-link-role-f981a27b.js +0 -4
  791. package/dist/kolibri/alternative-button-link-role-f981a27b.js.map +0 -1
  792. package/dist/kolibri/app-globals-b23d4e7b.js +0 -4
  793. package/dist/kolibri/app-globals-b23d4e7b.js.map +0 -1
  794. package/dist/kolibri/associated.controller-4725864a.js.map +0 -1
  795. package/dist/kolibri/controller-24fd3c96.js +0 -4
  796. package/dist/kolibri/controller-24fd3c96.js.map +0 -1
  797. package/dist/kolibri/controller-8eba0306.js.map +0 -1
  798. package/dist/kolibri/controller-b59b53b5.js.map +0 -1
  799. package/dist/kolibri/controller-bca2b59f.js.map +0 -1
  800. package/dist/kolibri/controller-icon-745779e5.js +0 -4
  801. package/dist/kolibri/controller-icon-745779e5.js.map +0 -1
  802. package/dist/kolibri/custom-class-f42c69f8.js +0 -4
  803. package/dist/kolibri/custom-class-f42c69f8.js.map +0 -1
  804. package/dist/kolibri/dev.utils-61c61d76.js +0 -4
  805. package/dist/kolibri/dev.utils-61c61d76.js.map +0 -1
  806. package/dist/kolibri/devtools-2ad36829.js +0 -4
  807. package/dist/kolibri/has-closer-4da7b42f.js +0 -4
  808. package/dist/kolibri/has-closer-4da7b42f.js.map +0 -1
  809. package/dist/kolibri/hide-label-aca36293.js +0 -4
  810. package/dist/kolibri/hide-label-aca36293.js.map +0 -1
  811. package/dist/kolibri/icons-6e5f46e1.js +0 -4
  812. package/dist/kolibri/icons-6e5f46e1.js.map +0 -1
  813. package/dist/kolibri/image-source-9e600678.js +0 -4
  814. package/dist/kolibri/image-source-9e600678.js.map +0 -1
  815. package/dist/kolibri/index-c1312005.js +0 -4
  816. package/dist/kolibri/index-c1312005.js.map +0 -1
  817. package/dist/kolibri/index-e9d20d00.js.map +0 -1
  818. package/dist/kolibri/label-32f655e1.js +0 -4
  819. package/dist/kolibri/label-32f655e1.js.map +0 -1
  820. package/dist/kolibri/open-4fee4c52.js +0 -4
  821. package/dist/kolibri/open-4fee4c52.js.map +0 -1
  822. package/dist/kolibri/prop.validators-2e3fde52.js +0 -4
  823. package/dist/kolibri/prop.validators-2e3fde52.js.map +0 -1
  824. package/dist/kolibri/rows-32475866.js +0 -4
  825. package/dist/kolibri/rows-32475866.js.map +0 -1
  826. package/dist/kolibri/show-0ced7b04.js +0 -4
  827. package/dist/kolibri/show-0ced7b04.js.map +0 -1
  828. package/dist/kolibri/suggestions-4347211e.js +0 -4
  829. package/dist/kolibri/suggestions-4347211e.js.map +0 -1
  830. package/dist/kolibri/tab-index-555bc0fc.js +0 -4
  831. package/dist/kolibri/tab-index-555bc0fc.js.map +0 -1
  832. package/dist/kolibri/tooltip-align-9f02b487.js +0 -4
  833. package/dist/kolibri/tooltip-align-9f02b487.js.map +0 -1
  834. package/dist/kolibri/validation-54b01567.js.map +0 -1
  835. package/dist/kolibri/validation-b86b914b.js +0 -4
  836. package/dist/kolibri/validation-b86b914b.js.map +0 -1
  837. /package/dist/kolibri/{InternalUnderlinedAccessKey-2c5af489.js.map → InternalUnderlinedAccessKey-e3698cee.js.map} +0 -0
  838. /package/dist/kolibri/{a11y.tipps-e9cad37c.js.map → a11y.tipps-f367a979.js.map} +0 -0
  839. /package/dist/kolibri/{controller-15b86c4c.js.map → controller-e23535f2.js.map} +0 -0
  840. /package/dist/kolibri/{devtools-2ad36829.js.map → devtools-308d0386.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["colorName","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","colorParse","parse","baseHues","cstr","m","parts","alpha","space","toLowerCase","names","slice","test","base","size","length","isShort","parseInt","exec","name","isRGB","replace","trim","split","map","x","i","parseFloat","undefined","push","match","value","join","isNaN","Array","isArray","Object","r","R","g","G","b","B","h","hue","H","s","saturation","S","l","lightness","L","brightness","a","opacity","values","rgba","color","raw","String","apply","arguments","parsed","min","max","Math","hsl2rgb","hsl","t1","t2","t3","rgb","val","getContrastYIQ","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","round","contrast","hex","rgbaConvert","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","HEX_REGEX","isHexString","isColorObjectString","startsWith","JSON","isValidColorPair","type","error","typeOfColor","valid","colorObject","asColorPair","backgroundColor","foregroundColor","primary","secondary","neutral","validatorFunction","valueType","validateColor","component","options","watchValidator","Set","handleColorChange","_a","console","warn","stringify","a11yHint"],"sources":["../../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js","../../node_modules/.pnpm/color-parse@1.4.3/node_modules/color-parse/index.js","../../node_modules/.pnpm/color-rgba@2.4.0/node_modules/color-rgba/index.js","src/components/badge/contrast.ts","src/types/props/color.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/**\n * @module color-parse\n */\n\n'use strict'\n\nvar names = require('color-name')\n\nmodule.exports = parse\n\n/**\n * Base hues\n * http://dev.w3.org/csswg/css-color/#typedef-named-hue\n */\n//FIXME: use external hue detector\nvar baseHues = {\n\tred: 0,\n\torange: 60,\n\tyellow: 120,\n\tgreen: 180,\n\tblue: 240,\n\tpurple: 300\n}\n\n/**\n * Parse color from the string passed\n *\n * @return {Object} A space indicator `space`, an array `values` and `alpha`\n */\nfunction parse(cstr) {\n\tvar m, parts = [], alpha = 1, space\n\n\tif (typeof cstr === 'string') {\n\t\tcstr = cstr.toLowerCase();\n\n\t\t//keyword\n\t\tif (names[cstr]) {\n\t\t\tparts = names[cstr].slice()\n\t\t\tspace = 'rgb'\n\t\t}\n\n\t\t//reserved words\n\t\telse if (cstr === 'transparent') {\n\t\t\talpha = 0\n\t\t\tspace = 'rgb'\n\t\t\tparts = [0, 0, 0]\n\t\t}\n\n\t\t//hex\n\t\telse if (/^#[A-Fa-f0-9]+$/.test(cstr)) {\n\t\t\tvar base = cstr.slice(1)\n\t\t\tvar size = base.length\n\t\t\tvar isShort = size <= 4\n\t\t\talpha = 1\n\n\t\t\tif (isShort) {\n\t\t\t\tparts = [\n\t\t\t\t\tparseInt(base[0] + base[0], 16),\n\t\t\t\t\tparseInt(base[1] + base[1], 16),\n\t\t\t\t\tparseInt(base[2] + base[2], 16)\n\t\t\t\t]\n\t\t\t\tif (size === 4) {\n\t\t\t\t\talpha = parseInt(base[3] + base[3], 16) / 255\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tparts = [\n\t\t\t\t\tparseInt(base[0] + base[1], 16),\n\t\t\t\t\tparseInt(base[2] + base[3], 16),\n\t\t\t\t\tparseInt(base[4] + base[5], 16)\n\t\t\t\t]\n\t\t\t\tif (size === 8) {\n\t\t\t\t\talpha = parseInt(base[6] + base[7], 16) / 255\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!parts[0]) parts[0] = 0\n\t\t\tif (!parts[1]) parts[1] = 0\n\t\t\tif (!parts[2]) parts[2] = 0\n\n\t\t\tspace = 'rgb'\n\t\t}\n\n\t\t//color space\n\t\telse if (m = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(cstr)) {\n\t\t\tvar name = m[1]\n\t\t\tvar isRGB = name === 'rgb'\n\t\t\tvar base = name.replace(/a$/, '')\n\t\t\tspace = base\n\t\t\tvar size = base === 'cmyk' ? 4 : base === 'gray' ? 1 : 3\n\t\t\tparts = m[2].trim()\n\t\t\t\t.split(/\\s*[,\\/]\\s*|\\s+/)\n\t\t\t\t.map(function (x, i) {\n\t\t\t\t\t//<percentage>\n\t\t\t\t\tif (/%$/.test(x)) {\n\t\t\t\t\t\t//alpha\n\t\t\t\t\t\tif (i === size) return parseFloat(x) / 100\n\t\t\t\t\t\t//rgb\n\t\t\t\t\t\tif (base === 'rgb') return parseFloat(x) * 255 / 100\n\t\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t\t}\n\t\t\t\t\t//hue\n\t\t\t\t\telse if (base[i] === 'h') {\n\t\t\t\t\t\t//<deg>\n\t\t\t\t\t\tif (/deg$/.test(x)) {\n\t\t\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//<base-hue>\n\t\t\t\t\t\telse if (baseHues[x] !== undefined) {\n\t\t\t\t\t\t\treturn baseHues[x]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t})\n\n\t\t\tif (name === base) parts.push(1)\n\t\t\talpha = (isRGB) ? 1 : (parts[size] === undefined) ? 1 : parts[size]\n\t\t\tparts = parts.slice(0, size)\n\t\t}\n\n\t\t//named channels case\n\t\telse if (cstr.length > 10 && /[0-9](?:\\s|\\/)/.test(cstr)) {\n\t\t\tparts = cstr.match(/([0-9]+)/g).map(function (value) {\n\t\t\t\treturn parseFloat(value)\n\t\t\t})\n\n\t\t\tspace = cstr.match(/([a-z])/ig).join('').toLowerCase()\n\t\t}\n\t}\n\n\t//numeric case\n\telse if (!isNaN(cstr)) {\n\t\tspace = 'rgb'\n\t\tparts = [cstr >>> 16, (cstr & 0x00ff00) >>> 8, cstr & 0x0000ff]\n\t}\n\n\t//array-like\n\telse if (Array.isArray(cstr) || cstr.length) {\n\t\tparts = [cstr[0], cstr[1], cstr[2]]\n\t\tspace = 'rgb'\n\t\talpha = cstr.length === 4 ? cstr[3] : 1\n\t}\n\n\t//object case - detects css cases of rgb and hsl\n\telse if (cstr instanceof Object) {\n\t\tif (cstr.r != null || cstr.red != null || cstr.R != null) {\n\t\t\tspace = 'rgb'\n\t\t\tparts = [\n\t\t\t\tcstr.r || cstr.red || cstr.R || 0,\n\t\t\t\tcstr.g || cstr.green || cstr.G || 0,\n\t\t\t\tcstr.b || cstr.blue || cstr.B || 0\n\t\t\t]\n\t\t}\n\t\telse {\n\t\t\tspace = 'hsl'\n\t\t\tparts = [\n\t\t\t\tcstr.h || cstr.hue || cstr.H || 0,\n\t\t\t\tcstr.s || cstr.saturation || cstr.S || 0,\n\t\t\t\tcstr.l || cstr.lightness || cstr.L || cstr.b || cstr.brightness\n\t\t\t]\n\t\t}\n\n\t\talpha = cstr.a || cstr.alpha || cstr.opacity || 1\n\n\t\tif (cstr.opacity != null) alpha /= 100\n\t}\n\n\treturn {\n\t\tspace: space,\n\t\tvalues: parts,\n\t\talpha: alpha\n\t}\n}\n","/** @module color-rgba */\r\n\r\n'use strict'\r\n\r\nvar parse = require('color-parse')\r\n\r\nmodule.exports = function rgba (color) {\r\n\t// template literals\r\n\tif (Array.isArray(color) && color.raw) color = String.raw.apply(null, arguments)\r\n\r\n\tvar values, i, l\r\n\r\n\t//attempt to parse non-array arguments\r\n\tvar parsed = parse(color)\r\n\r\n\tif (!parsed.space) return []\r\n\r\n\tvar min = [0,0,0], max = parsed.space[0] === 'h' ? [360,100,100] : [255,255,255]\r\n\r\n\tvalues = Array(3)\r\n\tvalues[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])\r\n\tvalues[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])\r\n\tvalues[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])\r\n\r\n\tif (parsed.space[0] === 'h') values = hsl2rgb(values)\r\n\r\n\tvalues.push(Math.min(Math.max(parsed.alpha, 0), 1))\r\n\r\n\treturn values\r\n}\r\n\r\n\r\n// excerpt from color-space/hsl\r\nfunction hsl2rgb(hsl) {\r\n\tvar h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;\r\n\r\n\tif (s === 0) return val = l * 255, [val, val, val];\r\n\r\n\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (;i<3;) {\r\n\t\tt3 = h + 1 / 3 * - (i - 1);\r\n\t\tt3 < 0 ? t3++ : t3 > 1 && t3--;\r\n\t\tval = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :\r\n\t\t2 * t3 < 1 ? t2 :\r\n\t\t3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :\r\n\t\tt1;\r\n\t\trgb[i++] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n}\r\n","import { RGB } from 'color-convert/conversions';\nimport { hex } from 'wcag-contrast';\n\nimport { colorRgba } from './color-rgba';\nimport { rgbaConvert } from './rgba-convert';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { ColorContrast, createContrastColorPair } from '../../components/badge/contrast';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { WatchOptions, watchValidator } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\n\n/* types */\ntype CharacteristicColors = {\n\tprimary: string;\n\tsecondary: string;\n\tneutral: string;\n};\n\n/**\n * Defines the backgroundColor and foregroundColor.\n */\nexport type ColorPair = {\n\tbackgroundColor: string;\n\tforegroundColor: Stringified<CharacteristicColors>;\n};\n\nexport type PropColor = ColorPair;\n\ntype typeOfColorType = 'string' | 'ColorPair' | null;\n\nconst HEX_REGEX = /^#((\\d|[a-f]){8}|(\\d|[a-f]){6}|(\\d|[a-f]){3,4})$/i;\nfunction isHexString(value: string): boolean {\n\treturn HEX_REGEX.test(value);\n}\n/* checks if the string is valid JSON and if the resulting object is a valid ColorPair and returns it, or null if invalid. */\nfunction isColorObjectString(value: string): { type: typeOfColorType; value: PropColor | null } {\n\tif (value.startsWith('{')) {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(value) as unknown;\n\t\t\tif (isValidColorPair(parsed as ColorPair)) return { type: 'ColorPair', value: parsed as ColorPair };\n\t\t} catch (error) {\n\t\t\treturn { type: null, value: null };\n\t\t}\n\t}\n\treturn { type: null, value: null };\n}\n\nfunction typeOfColor(value?: unknown): { type: typeOfColorType; valid: boolean; value: PropColor | string } {\n\tif (value) {\n\t\tif (typeof value === 'string') {\n\t\t\tif (isHexString(value)) return { type: 'string', valid: true, value: value };\n\t\t\telse {\n\t\t\t\tconst colorObject = isColorObjectString(value);\n\t\t\t\tif (colorObject.value) return { type: colorObject.type, valid: true, value: colorObject.value };\n\t\t\t}\n\t\t} else {\n\t\t\tconst asColorPair = value as ColorPair;\n\t\t\tif (isValidColorPair(asColorPair)) return { type: 'ColorPair', valid: true, value: asColorPair };\n\t\t}\n\t}\n\treturn { type: null, valid: false, value: '' };\n}\n\n/* validate different color options */\nfunction isValidColorPair(value: ColorPair): boolean {\n\treturn !!(\n\t\ttypeof value === 'object' &&\n\t\tvalue &&\n\t\ttypeof value.backgroundColor === 'string' &&\n\t\t(typeof value.foregroundColor === 'string' ||\n\t\t\t(value.foregroundColor &&\n\t\t\t\ttypeof value.foregroundColor.primary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.secondary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.neutral === 'string'))\n\t);\n}\n\nfunction validatorFunction(value?: Stringified<PropColor>): boolean {\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase null:\n\t\t\treturn false;\n\t\tcase 'string':\n\t\tcase 'ColorPair':\n\t\t\treturn valueType.valid;\n\t}\n}\n\n/* validator */\nexport const validateColor = (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions): void => {\n\twatchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);\n};\n\nexport const handleColorChange = (value: unknown): ColorPair => {\n\tlet colorContrast: ColorContrast<string>;\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase 'string':\n\t\t\tcolorContrast = createContrastColorPair(valueType.value as string);\n\t\t\tbreak;\n\t\tcase 'ColorPair': {\n\t\t\tconst asColorPair = valueType.value as ColorPair;\n\t\t\tlet foreground = '';\n\t\t\tif (typeof asColorPair.foregroundColor === 'string') foreground = asColorPair.foregroundColor;\n\t\t\telse if (asColorPair.foregroundColor?.primary) foreground = asColorPair.foregroundColor.primary;\n\t\t\tif (!foreground || typeof foreground !== 'string') foreground = '#fff';\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\t\tforeground,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase null:\n\t\t\tconsole.warn(`_color was empty or invalid (${JSON.stringify(value)})`);\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: '#000',\n\t\t\t\tforeground: '#000',\n\t\t\t});\n\t}\n\n\tif (colorContrast.contrast < 7) {\n\t\ta11yHint(\n\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is to low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t);\n\t}\n\treturn {\n\t\tbackgroundColor: colorContrast.background,\n\t\tforegroundColor: colorContrast.foreground,\n\t};\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["colorName","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","colorParse","parse","baseHues","cstr","m","parts","alpha","space","toLowerCase","names","slice","test","base","size","length","isShort","parseInt","exec","name","isRGB","replace","trim","split","map","x","i","parseFloat","undefined","push","match","value","join","isNaN","Array","isArray","Object","r","R","g","G","b","B","h","hue","H","s","saturation","S","l","lightness","L","brightness","a","opacity","values","rgba","color","raw","String","apply","arguments","parsed","min","max","Math","hsl2rgb","hsl","t1","t2","t3","rgb","val","getContrastYIQ","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","round","contrast","hex","rgbaConvert","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","HEX_REGEX","isHexString","isColorObjectString","startsWith","JSON","isValidColorPair","type","error","typeOfColor","valid","colorObject","asColorPair","backgroundColor","foregroundColor","primary","secondary","neutral","validatorFunction","valueType","validateColor","component","options","watchValidator","Set","handleColorChange","_a","console","warn","stringify","a11yHint"],"sources":["../../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js","../../node_modules/.pnpm/color-parse@1.4.3/node_modules/color-parse/index.js","../../node_modules/.pnpm/color-rgba@2.4.0/node_modules/color-rgba/index.js","src/components/badge/contrast.ts","src/types/props/color.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/**\n * @module color-parse\n */\n\n'use strict'\n\nvar names = require('color-name')\n\nmodule.exports = parse\n\n/**\n * Base hues\n * http://dev.w3.org/csswg/css-color/#typedef-named-hue\n */\n//FIXME: use external hue detector\nvar baseHues = {\n\tred: 0,\n\torange: 60,\n\tyellow: 120,\n\tgreen: 180,\n\tblue: 240,\n\tpurple: 300\n}\n\n/**\n * Parse color from the string passed\n *\n * @return {Object} A space indicator `space`, an array `values` and `alpha`\n */\nfunction parse(cstr) {\n\tvar m, parts = [], alpha = 1, space\n\n\tif (typeof cstr === 'string') {\n\t\tcstr = cstr.toLowerCase();\n\n\t\t//keyword\n\t\tif (names[cstr]) {\n\t\t\tparts = names[cstr].slice()\n\t\t\tspace = 'rgb'\n\t\t}\n\n\t\t//reserved words\n\t\telse if (cstr === 'transparent') {\n\t\t\talpha = 0\n\t\t\tspace = 'rgb'\n\t\t\tparts = [0, 0, 0]\n\t\t}\n\n\t\t//hex\n\t\telse if (/^#[A-Fa-f0-9]+$/.test(cstr)) {\n\t\t\tvar base = cstr.slice(1)\n\t\t\tvar size = base.length\n\t\t\tvar isShort = size <= 4\n\t\t\talpha = 1\n\n\t\t\tif (isShort) {\n\t\t\t\tparts = [\n\t\t\t\t\tparseInt(base[0] + base[0], 16),\n\t\t\t\t\tparseInt(base[1] + base[1], 16),\n\t\t\t\t\tparseInt(base[2] + base[2], 16)\n\t\t\t\t]\n\t\t\t\tif (size === 4) {\n\t\t\t\t\talpha = parseInt(base[3] + base[3], 16) / 255\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tparts = [\n\t\t\t\t\tparseInt(base[0] + base[1], 16),\n\t\t\t\t\tparseInt(base[2] + base[3], 16),\n\t\t\t\t\tparseInt(base[4] + base[5], 16)\n\t\t\t\t]\n\t\t\t\tif (size === 8) {\n\t\t\t\t\talpha = parseInt(base[6] + base[7], 16) / 255\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!parts[0]) parts[0] = 0\n\t\t\tif (!parts[1]) parts[1] = 0\n\t\t\tif (!parts[2]) parts[2] = 0\n\n\t\t\tspace = 'rgb'\n\t\t}\n\n\t\t//color space\n\t\telse if (m = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(cstr)) {\n\t\t\tvar name = m[1]\n\t\t\tvar isRGB = name === 'rgb'\n\t\t\tvar base = name.replace(/a$/, '')\n\t\t\tspace = base\n\t\t\tvar size = base === 'cmyk' ? 4 : base === 'gray' ? 1 : 3\n\t\t\tparts = m[2].trim()\n\t\t\t\t.split(/\\s*[,\\/]\\s*|\\s+/)\n\t\t\t\t.map(function (x, i) {\n\t\t\t\t\t//<percentage>\n\t\t\t\t\tif (/%$/.test(x)) {\n\t\t\t\t\t\t//alpha\n\t\t\t\t\t\tif (i === size) return parseFloat(x) / 100\n\t\t\t\t\t\t//rgb\n\t\t\t\t\t\tif (base === 'rgb') return parseFloat(x) * 255 / 100\n\t\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t\t}\n\t\t\t\t\t//hue\n\t\t\t\t\telse if (base[i] === 'h') {\n\t\t\t\t\t\t//<deg>\n\t\t\t\t\t\tif (/deg$/.test(x)) {\n\t\t\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//<base-hue>\n\t\t\t\t\t\telse if (baseHues[x] !== undefined) {\n\t\t\t\t\t\t\treturn baseHues[x]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn parseFloat(x)\n\t\t\t\t})\n\n\t\t\tif (name === base) parts.push(1)\n\t\t\talpha = (isRGB) ? 1 : (parts[size] === undefined) ? 1 : parts[size]\n\t\t\tparts = parts.slice(0, size)\n\t\t}\n\n\t\t//named channels case\n\t\telse if (cstr.length > 10 && /[0-9](?:\\s|\\/)/.test(cstr)) {\n\t\t\tparts = cstr.match(/([0-9]+)/g).map(function (value) {\n\t\t\t\treturn parseFloat(value)\n\t\t\t})\n\n\t\t\tspace = cstr.match(/([a-z])/ig).join('').toLowerCase()\n\t\t}\n\t}\n\n\t//numeric case\n\telse if (!isNaN(cstr)) {\n\t\tspace = 'rgb'\n\t\tparts = [cstr >>> 16, (cstr & 0x00ff00) >>> 8, cstr & 0x0000ff]\n\t}\n\n\t//array-like\n\telse if (Array.isArray(cstr) || cstr.length) {\n\t\tparts = [cstr[0], cstr[1], cstr[2]]\n\t\tspace = 'rgb'\n\t\talpha = cstr.length === 4 ? cstr[3] : 1\n\t}\n\n\t//object case - detects css cases of rgb and hsl\n\telse if (cstr instanceof Object) {\n\t\tif (cstr.r != null || cstr.red != null || cstr.R != null) {\n\t\t\tspace = 'rgb'\n\t\t\tparts = [\n\t\t\t\tcstr.r || cstr.red || cstr.R || 0,\n\t\t\t\tcstr.g || cstr.green || cstr.G || 0,\n\t\t\t\tcstr.b || cstr.blue || cstr.B || 0\n\t\t\t]\n\t\t}\n\t\telse {\n\t\t\tspace = 'hsl'\n\t\t\tparts = [\n\t\t\t\tcstr.h || cstr.hue || cstr.H || 0,\n\t\t\t\tcstr.s || cstr.saturation || cstr.S || 0,\n\t\t\t\tcstr.l || cstr.lightness || cstr.L || cstr.b || cstr.brightness\n\t\t\t]\n\t\t}\n\n\t\talpha = cstr.a || cstr.alpha || cstr.opacity || 1\n\n\t\tif (cstr.opacity != null) alpha /= 100\n\t}\n\n\treturn {\n\t\tspace: space,\n\t\tvalues: parts,\n\t\talpha: alpha\n\t}\n}\n","/** @module color-rgba */\r\n\r\n'use strict'\r\n\r\nvar parse = require('color-parse')\r\n\r\nmodule.exports = function rgba (color) {\r\n\t// template literals\r\n\tif (Array.isArray(color) && color.raw) color = String.raw.apply(null, arguments)\r\n\r\n\tvar values, i, l\r\n\r\n\t//attempt to parse non-array arguments\r\n\tvar parsed = parse(color)\r\n\r\n\tif (!parsed.space) return []\r\n\r\n\tvar min = [0,0,0], max = parsed.space[0] === 'h' ? [360,100,100] : [255,255,255]\r\n\r\n\tvalues = Array(3)\r\n\tvalues[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])\r\n\tvalues[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])\r\n\tvalues[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])\r\n\r\n\tif (parsed.space[0] === 'h') values = hsl2rgb(values)\r\n\r\n\tvalues.push(Math.min(Math.max(parsed.alpha, 0), 1))\r\n\r\n\treturn values\r\n}\r\n\r\n\r\n// excerpt from color-space/hsl\r\nfunction hsl2rgb(hsl) {\r\n\tvar h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;\r\n\r\n\tif (s === 0) return val = l * 255, [val, val, val];\r\n\r\n\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (;i<3;) {\r\n\t\tt3 = h + 1 / 3 * - (i - 1);\r\n\t\tt3 < 0 ? t3++ : t3 > 1 && t3--;\r\n\t\tval = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :\r\n\t\t2 * t3 < 1 ? t2 :\r\n\t\t3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :\r\n\t\tt1;\r\n\t\trgb[i++] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n}\r\n","import { RGB } from 'color-convert/conversions';\nimport { hex } from 'wcag-contrast';\n\nimport { colorRgba } from './color-rgba';\nimport { rgbaConvert } from './rgba-convert';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { ColorContrast, createContrastColorPair } from '../../components/badge/contrast';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { WatchOptions, watchValidator } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\n\n/* types */\ntype CharacteristicColors = {\n\tprimary: string;\n\tsecondary: string;\n\tneutral: string;\n};\n\n/**\n * Defines the backgroundColor and foregroundColor.\n */\nexport type ColorPair = {\n\tbackgroundColor: string;\n\tforegroundColor: Stringified<CharacteristicColors>;\n};\n\nexport type PropColor = ColorPair;\n\ntype typeOfColorType = 'string' | 'ColorPair' | null;\n\nconst HEX_REGEX = /^#((\\d|[a-f]){8}|(\\d|[a-f]){6}|(\\d|[a-f]){3,4})$/i;\nfunction isHexString(value: string): boolean {\n\treturn HEX_REGEX.test(value);\n}\n/* checks if the string is valid JSON and if the resulting object is a valid ColorPair and returns it, or null if invalid. */\nfunction isColorObjectString(value: string): { type: typeOfColorType; value: PropColor | null } {\n\tif (value.startsWith('{')) {\n\t\ttry {\n\t\t\tconst parsed = JSON.parse(value) as unknown;\n\t\t\tif (isValidColorPair(parsed as ColorPair)) return { type: 'ColorPair', value: parsed as ColorPair };\n\t\t} catch (error) {\n\t\t\treturn { type: null, value: null };\n\t\t}\n\t}\n\treturn { type: null, value: null };\n}\n\nfunction typeOfColor(value?: unknown): { type: typeOfColorType; valid: boolean; value: PropColor | string } {\n\tif (value) {\n\t\tif (typeof value === 'string') {\n\t\t\tif (isHexString(value)) return { type: 'string', valid: true, value: value };\n\t\t\telse {\n\t\t\t\tconst colorObject = isColorObjectString(value);\n\t\t\t\tif (colorObject.value) return { type: colorObject.type, valid: true, value: colorObject.value };\n\t\t\t}\n\t\t} else {\n\t\t\tconst asColorPair = value as ColorPair;\n\t\t\tif (isValidColorPair(asColorPair)) return { type: 'ColorPair', valid: true, value: asColorPair };\n\t\t}\n\t}\n\treturn { type: null, valid: false, value: '' };\n}\n\n/* validate different color options */\nfunction isValidColorPair(value: ColorPair): boolean {\n\treturn !!(\n\t\ttypeof value === 'object' &&\n\t\tvalue &&\n\t\ttypeof value.backgroundColor === 'string' &&\n\t\t(typeof value.foregroundColor === 'string' ||\n\t\t\t(value.foregroundColor &&\n\t\t\t\ttypeof value.foregroundColor.primary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.secondary === 'string' &&\n\t\t\t\ttypeof value.foregroundColor.neutral === 'string'))\n\t);\n}\n\nfunction validatorFunction(value?: Stringified<PropColor>): boolean {\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase null:\n\t\t\treturn false;\n\t\tcase 'string':\n\t\tcase 'ColorPair':\n\t\t\treturn valueType.valid;\n\t}\n}\n\n/* validator */\nexport const validateColor = (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions): void => {\n\twatchValidator(component, '_color', validatorFunction, new Set(['rgb in hex', 'ColorPair']), value, options);\n};\n\nexport const handleColorChange = (value: unknown): ColorPair => {\n\tlet colorContrast: ColorContrast<string>;\n\tconst valueType = typeOfColor(value);\n\tswitch (valueType.type) {\n\t\tcase 'string':\n\t\t\tcolorContrast = createContrastColorPair(valueType.value as string);\n\t\t\tbreak;\n\t\tcase 'ColorPair': {\n\t\t\tconst asColorPair = valueType.value as ColorPair;\n\t\t\tlet foreground = '';\n\t\t\tif (typeof asColorPair.foregroundColor === 'string') foreground = asColorPair.foregroundColor;\n\t\t\telse if (asColorPair.foregroundColor?.primary) foreground = asColorPair.foregroundColor.primary;\n\t\t\tif (!foreground || typeof foreground !== 'string') foreground = '#fff';\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\t\tforeground,\n\t\t\t});\n\t\t\tbreak;\n\t\t}\n\t\tcase null:\n\t\t\tconsole.warn(`_color was empty or invalid (${JSON.stringify(value)})`);\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: '#000',\n\t\t\t\tforeground: '#000',\n\t\t\t});\n\t}\n\n\tif (colorContrast.contrast < 7) {\n\t\ta11yHint(\n\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is to low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t);\n\t}\n\treturn {\n\t\tbackgroundColor: colorContrast.background,\n\t\tforegroundColor: colorContrast.foreground,\n\t};\n};\n"],"mappings":";;;6GAEA,IAAAA,EAAiB,CAChBC,UAAa,CAAC,IAAK,IAAK,KACxBC,aAAgB,CAAC,IAAK,IAAK,KAC3BC,KAAQ,CAAC,EAAG,IAAK,KACjBC,WAAc,CAAC,IAAK,IAAK,KACzBC,MAAS,CAAC,IAAK,IAAK,KACpBC,MAAS,CAAC,IAAK,IAAK,KACpBC,OAAU,CAAC,IAAK,IAAK,KACrBC,MAAS,CAAC,EAAG,EAAG,GAChBC,eAAkB,CAAC,IAAK,IAAK,KAC7BC,KAAQ,CAAC,EAAG,EAAG,KACfC,WAAc,CAAC,IAAK,GAAI,KACxBC,MAAS,CAAC,IAAK,GAAI,IACnBC,UAAa,CAAC,IAAK,IAAK,KACxBC,UAAa,CAAC,GAAI,IAAK,KACvBC,WAAc,CAAC,IAAK,IAAK,GACzBC,UAAa,CAAC,IAAK,IAAK,IACxBC,MAAS,CAAC,IAAK,IAAK,IACpBC,eAAkB,CAAC,IAAK,IAAK,KAC7BC,SAAY,CAAC,IAAK,IAAK,KACvBC,QAAW,CAAC,IAAK,GAAI,IACrBC,KAAQ,CAAC,EAAG,IAAK,KACjBC,SAAY,CAAC,EAAG,EAAG,KACnBC,SAAY,CAAC,EAAG,IAAK,KACrBC,cAAiB,CAAC,IAAK,IAAK,IAC5BC,SAAY,CAAC,IAAK,IAAK,KACvBC,UAAa,CAAC,EAAG,IAAK,GACtBC,SAAY,CAAC,IAAK,IAAK,KACvBC,UAAa,CAAC,IAAK,IAAK,KACxBC,YAAe,CAAC,IAAK,EAAG,KACxBC,eAAkB,CAAC,GAAI,IAAK,IAC5BC,WAAc,CAAC,IAAK,IAAK,GACzBC,WAAc,CAAC,IAAK,GAAI,KACxBC,QAAW,CAAC,IAAK,EAAG,GACpBC,WAAc,CAAC,IAAK,IAAK,KACzBC,aAAgB,CAAC,IAAK,IAAK,KAC3BC,cAAiB,CAAC,GAAI,GAAI,KAC1BC,cAAiB,CAAC,GAAI,GAAI,IAC1BC,cAAiB,CAAC,GAAI,GAAI,IAC1BC,cAAiB,CAAC,EAAG,IAAK,KAC1BC,WAAc,CAAC,IAAK,EAAG,KACvBC,SAAY,CAAC,IAAK,GAAI,KACtBC,YAAe,CAAC,EAAG,IAAK,KACxBC,QAAW,CAAC,IAAK,IAAK,KACtBC,QAAW,CAAC,IAAK,IAAK,KACtBC,WAAc,CAAC,GAAI,IAAK,KACxBC,UAAa,CAAC,IAAK,GAAI,IACvBC,YAAe,CAAC,IAAK,IAAK,KAC1BC,YAAe,CAAC,GAAI,IAAK,IACzBC,QAAW,CAAC,IAAK,EAAG,KACpBC,UAAa,CAAC,IAAK,IAAK,KACxBC,WAAc,CAAC,IAAK,IAAK,KACzBC,KAAQ,CAAC,IAAK,IAAK,GACnBC,UAAa,CAAC,IAAK,IAAK,IACxBC,KAAQ,CAAC,IAAK,IAAK,KACnBC,MAAS,CAAC,EAAG,IAAK,GAClBC,YAAe,CAAC,IAAK,IAAK,IAC1BC,KAAQ,CAAC,IAAK,IAAK,KACnBC,SAAY,CAAC,IAAK,IAAK,KACvBC,QAAW,CAAC,IAAK,IAAK,KACtBC,UAAa,CAAC,IAAK,GAAI,IACvBC,OAAU,CAAC,GAAI,EAAG,KAClBC,MAAS,CAAC,IAAK,IAAK,KACpBC,MAAS,CAAC,IAAK,IAAK,KACpBC,SAAY,CAAC,IAAK,IAAK,KACvBC,cAAiB,CAAC,IAAK,IAAK,KAC5BC,UAAa,CAAC,IAAK,IAAK,GACxBC,aAAgB,CAAC,IAAK,IAAK,KAC3BC,UAAa,CAAC,IAAK,IAAK,KACxBC,WAAc,CAAC,IAAK,IAAK,KACzBC,UAAa,CAAC,IAAK,IAAK,KACxBC,qBAAwB,CAAC,IAAK,IAAK,KACnCC,UAAa,CAAC,IAAK,IAAK,KACxBC,WAAc,CAAC,IAAK,IAAK,KACzBC,UAAa,CAAC,IAAK,IAAK,KACxBC,UAAa,CAAC,IAAK,IAAK,KACxBC,YAAe,CAAC,IAAK,IAAK,KAC1BC,cAAiB,CAAC,GAAI,IAAK,KAC3BC,aAAgB,CAAC,IAAK,IAAK,KAC3BC,eAAkB,CAAC,IAAK,IAAK,KAC7BC,eAAkB,CAAC,IAAK,IAAK,KAC7BC,eAAkB,CAAC,IAAK,IAAK,KAC7BC,YAAe,CAAC,IAAK,IAAK,KAC1BC,KAAQ,CAAC,EAAG,IAAK,GACjBC,UAAa,CAAC,GAAI,IAAK,IACvBC,MAAS,CAAC,IAAK,IAAK,KACpBC,QAAW,CAAC,IAAK,EAAG,KACpBC,OAAU,CAAC,IAAK,EAAG,GACnBC,iBAAoB,CAAC,IAAK,IAAK,KAC/BC,WAAc,CAAC,EAAG,EAAG,KACrBC,aAAgB,CAAC,IAAK,GAAI,KAC1BC,aAAgB,CAAC,IAAK,IAAK,KAC3BC,eAAkB,CAAC,GAAI,IAAK,KAC5BC,gBAAmB,CAAC,IAAK,IAAK,KAC9BC,kBAAqB,CAAC,EAAG,IAAK,KAC9BC,gBAAmB,CAAC,GAAI,IAAK,KAC7BC,gBAAmB,CAAC,IAAK,GAAI,KAC7BC,aAAgB,CAAC,GAAI,GAAI,KACzBC,UAAa,CAAC,IAAK,IAAK,KACxBC,UAAa,CAAC,IAAK,IAAK,KACxBC,SAAY,CAAC,IAAK,IAAK,KACvBC,YAAe,CAAC,IAAK,IAAK,KAC1BC,KAAQ,CAAC,EAAG,EAAG,KACfC,QAAW,CAAC,IAAK,IAAK,KACtBC,MAAS,CAAC,IAAK,IAAK,GACpBC,UAAa,CAAC,IAAK,IAAK,IACxBC,OAAU,CAAC,IAAK,IAAK,GACrBC,UAAa,CAAC,IAAK,GAAI,GACvBC,OAAU,CAAC,IAAK,IAAK,KACrBC,cAAiB,CAAC,IAAK,IAAK,KAC5BC,UAAa,CAAC,IAAK,IAAK,KACxBC,cAAiB,CAAC,IAAK,IAAK,KAC5BC,cAAiB,CAAC,IAAK,IAAK,KAC5BC,WAAc,CAAC,IAAK,IAAK,KACzBC,UAAa,CAAC,IAAK,IAAK,KACxBC,KAAQ,CAAC,IAAK,IAAK,IACnBC,KAAQ,CAAC,IAAK,IAAK,KACnBC,KAAQ,CAAC,IAAK,IAAK,KACnBC,WAAc,CAAC,IAAK,IAAK,KACzBC,OAAU,CAAC,IAAK,EAAG,KACnBC,cAAiB,CAAC,IAAK,GAAI,KAC3BC,IAAO,CAAC,IAAK,EAAG,GAChBC,UAAa,CAAC,IAAK,IAAK,KACxBC,UAAa,CAAC,GAAI,IAAK,KACvBC,YAAe,CAAC,IAAK,GAAI,IACzBC,OAAU,CAAC,IAAK,IAAK,KACrBC,WAAc,CAAC,IAAK,IAAK,IACzBC,SAAY,CAAC,GAAI,IAAK,IACtBC,SAAY,CAAC,IAAK,IAAK,KACvBC,OAAU,CAAC,IAAK,GAAI,IACpBC,OAAU,CAAC,IAAK,IAAK,KACrBC,QAAW,CAAC,IAAK,IAAK,KACtBC,UAAa,CAAC,IAAK,GAAI,KACvBC,UAAa,CAAC,IAAK,IAAK,KACxBC,UAAa,CAAC,IAAK,IAAK,KACxBC,KAAQ,CAAC,IAAK,IAAK,KACnBC,YAAe,CAAC,EAAG,IAAK,KACxBC,UAAa,CAAC,GAAI,IAAK,KACvBC,IAAO,CAAC,IAAK,IAAK,KAClBC,KAAQ,CAAC,EAAG,IAAK,KACjBC,QAAW,CAAC,IAAK,IAAK,KACtBC,OAAU,CAAC,IAAK,GAAI,IACpBC,UAAa,CAAC,GAAI,IAAK,KACvBC,OAAU,CAAC,IAAK,IAAK,KACrBC,MAAS,CAAC,IAAK,IAAK,KACpBC,MAAS,CAAC,IAAK,IAAK,KACpBC,WAAc,CAAC,IAAK,IAAK,KACzBC,OAAU,CAAC,IAAK,IAAK,GACrBC,YAAe,CAAC,IAAK,IAAK,KC9I3B,IAAAC,EAAiBC,EAOjB,IAAIC,EAAW,CACd9B,IAAK,EACLf,OAAQ,GACRyC,OAAQ,IACR5F,MAAO,IACP7C,KAAM,IACN6G,OAAQ,KAQT,SAAS+B,EAAME,GACd,IAAIC,EAAGC,EAAQ,GAAIC,EAAQ,EAAGC,EAE9B,UAAWJ,IAAS,SAAU,CAC7BA,EAAOA,EAAKK,cAGZ,GAAIC,EAAMN,GAAO,CAChBE,EAAQI,EAAMN,GAAMO,QACpBH,EAAQ,KACX,MAGO,GAAIJ,IAAS,cAAe,CAChCG,EAAQ,EACRC,EAAQ,MACRF,EAAQ,CAAC,EAAG,EAAG,EAClB,MAGO,GAAI,kBAAkBM,KAAKR,GAAO,CACtC,IAAIS,EAAOT,EAAKO,MAAM,GACtB,IAAIG,EAAOD,EAAKE,OAChB,IAAIC,EAAUF,GAAQ,EACtBP,EAAQ,EAER,GAAIS,EAAS,CACZV,EAAQ,CACPW,SAASJ,EAAK,GAAKA,EAAK,GAAI,IAC5BI,SAASJ,EAAK,GAAKA,EAAK,GAAI,IAC5BI,SAASJ,EAAK,GAAKA,EAAK,GAAI,KAE7B,GAAIC,IAAS,EAAG,CACfP,EAAQU,SAASJ,EAAK,GAAKA,EAAK,GAAI,IAAM,GAC/C,CACA,KACQ,CACJP,EAAQ,CACPW,SAASJ,EAAK,GAAKA,EAAK,GAAI,IAC5BI,SAASJ,EAAK,GAAKA,EAAK,GAAI,IAC5BI,SAASJ,EAAK,GAAKA,EAAK,GAAI,KAE7B,GAAIC,IAAS,EAAG,CACfP,EAAQU,SAASJ,EAAK,GAAKA,EAAK,GAAI,IAAM,GAC/C,CACA,CAEG,IAAKP,EAAM,GAAIA,EAAM,GAAK,EAC1B,IAAKA,EAAM,GAAIA,EAAM,GAAK,EAC1B,IAAKA,EAAM,GAAIA,EAAM,GAAK,EAE1BE,EAAQ,KACX,MAGO,GAAIH,EAAI,mFAAmFa,KAAKd,GAAO,CAC3G,IAAIe,EAAOd,EAAE,GACb,IAAIe,EAAQD,IAAS,MACrB,IAAIN,EAAOM,EAAKE,QAAQ,KAAM,IAC9Bb,EAAQK,EACR,IAAIC,EAAOD,IAAS,OAAS,EAAIA,IAAS,OAAS,EAAI,EACvDP,EAAQD,EAAE,GAAGiB,OACXC,MAAM,mBACNC,KAAI,SAAUC,EAAGC,GAEjB,GAAI,KAAKd,KAAKa,GAAI,CAEjB,GAAIC,IAAMZ,EAAM,OAAOa,WAAWF,GAAK,IAEvC,GAAIZ,IAAS,MAAO,OAAOc,WAAWF,GAAK,IAAM,IACjD,OAAOE,WAAWF,EACxB,MAEU,GAAIZ,EAAKa,KAAO,IAAK,CAEzB,GAAI,OAAOd,KAAKa,GAAI,CACnB,OAAOE,WAAWF,EACzB,MAEW,GAAItB,EAASsB,KAAOG,UAAW,CACnC,OAAOzB,EAASsB,EACvB,CACA,CACK,OAAOE,WAAWF,EACvB,IAEG,GAAIN,IAASN,EAAMP,EAAMuB,KAAK,GAC9BtB,EAAQ,EAAU,EAAKD,EAAMQ,KAAUc,UAAa,EAAItB,EAAMQ,GAC9DR,EAAQA,EAAMK,MAAM,EAAGG,EAC1B,MAGO,GAAIV,EAAKW,OAAS,IAAM,iBAAiBH,KAAKR,GAAO,CACzDE,EAAQF,EAAK0B,MAAM,aAAaN,KAAI,SAAUO,GAC7C,OAAOJ,WAAWI,EACtB,IAEGvB,EAAQJ,EAAK0B,MAAM,aAAaE,KAAK,IAAIvB,aAC5C,CACA,MAGM,IAAKwB,MAAM7B,GAAO,CACtBI,EAAQ,MACRF,EAAQ,CAACF,IAAS,IAAKA,EAAO,SAAc,EAAGA,EAAO,IACxD,MAGM,GAAI8B,MAAMC,QAAQ/B,IAASA,EAAKW,OAAQ,CAC5CT,EAAQ,CAACF,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAChCI,EAAQ,MACRD,EAAQH,EAAKW,SAAW,EAAIX,EAAK,GAAK,CACxC,MAGM,GAAIA,aAAgBgC,OAAQ,CAChC,GAAIhC,EAAKiC,GAAK,MAAQjC,EAAK/B,KAAO,MAAQ+B,EAAKkC,GAAK,KAAM,CACzD9B,EAAQ,MACRF,EAAQ,CACPF,EAAKiC,GAAKjC,EAAK/B,KAAO+B,EAAKkC,GAAK,EAChClC,EAAKmC,GAAKnC,EAAKjG,OAASiG,EAAKoC,GAAK,EAClCpC,EAAKqC,GAAKrC,EAAK9I,MAAQ8I,EAAKsC,GAAK,EAErC,KACO,CACJlC,EAAQ,MACRF,EAAQ,CACPF,EAAKuC,GAAKvC,EAAKwC,KAAOxC,EAAKyC,GAAK,EAChCzC,EAAK0C,GAAK1C,EAAK2C,YAAc3C,EAAK4C,GAAK,EACvC5C,EAAK6C,GAAK7C,EAAK8C,WAAa9C,EAAK+C,GAAK/C,EAAKqC,GAAKrC,EAAKgD,WAEzD,CAEE7C,EAAQH,EAAKiD,GAAKjD,EAAKG,OAASH,EAAKkD,SAAW,EAEhD,GAAIlD,EAAKkD,SAAW,KAAM/C,GAAS,GACrC,CAEC,MAAO,CACNC,MAAOA,EACP+C,OAAQjD,EACRC,MAAOA,EAET,C,MCtKiB,SAASiD,EAAMC,GAE/B,GAAIvB,MAAMC,QAAQsB,IAAUA,EAAMC,IAAKD,EAAQE,OAAOD,IAAIE,MAAM,KAAMC,WAEvE,IAAKN,EAGJ,IAAIO,EAAS5D,EAAMuD,GAEnB,IAAKK,EAAOtD,MAAO,MAAO,GAE1B,IAAIuD,EAAM,CAAC,EAAE,EAAE,GAAIC,EAAMF,EAAOtD,MAAM,KAAO,IAAM,CAAC,IAAI,IAAI,KAAO,CAAC,IAAI,IAAI,KAE5E+C,EAASrB,MAAM,GACfqB,EAAO,GAAKU,KAAKF,IAAIE,KAAKD,IAAIF,EAAOP,OAAO,GAAIQ,EAAI,IAAKC,EAAI,IAC7DT,EAAO,GAAKU,KAAKF,IAAIE,KAAKD,IAAIF,EAAOP,OAAO,GAAIQ,EAAI,IAAKC,EAAI,IAC7DT,EAAO,GAAKU,KAAKF,IAAIE,KAAKD,IAAIF,EAAOP,OAAO,GAAIQ,EAAI,IAAKC,EAAI,IAE7D,GAAIF,EAAOtD,MAAM,KAAO,IAAK+C,EAASW,EAAQX,GAE9CA,EAAO1B,KAAKoC,KAAKF,IAAIE,KAAKD,IAAIF,EAAOvD,MAAO,GAAI,IAEhD,OAAOgD,CACR,EAIA,SAASW,EAAQC,GAChB,IAAIxB,EAAIwB,EAAI,GAAG,IAAKrB,EAAIqB,EAAI,GAAG,IAAKlB,EAAIkB,EAAI,GAAG,IAAKC,EAAIC,EAAIC,EAAIC,EAAKC,EAAK9C,EAAE,EAE5E,GAAIoB,IAAM,EAAG,OAAO0B,EAAMvB,EAAI,IAAK,CAACuB,EAAKA,EAAKA,GAE9CH,EAAKpB,EAAI,GAAMA,GAAK,EAAIH,GAAKG,EAAIH,EAAIG,EAAIH,EACzCsB,EAAK,EAAInB,EAAIoB,EAEbE,EAAM,CAAC,EAAG,EAAG,GACb,KAAM7C,EAAE,GAAI,CACX4C,EAAK3B,EAAI,EAAI,IAAOjB,EAAI,GACxB4C,EAAK,EAAIA,IAAOA,EAAK,GAAKA,IAC1BE,EAAM,EAAIF,EAAK,EAAIF,GAAMC,EAAKD,GAAM,EAAIE,EACxC,EAAIA,EAAK,EAAID,EACb,EAAIC,EAAK,EAAKF,GAAMC,EAAKD,IAAO,EAAI,EAAIE,GAAM,EAC9CF,EACAG,EAAI7C,KAAO8C,EAAM,GACnB,CAEC,OAAOD,CACR,CCnBO,MAAME,EAAiB,CAACpC,EAAWE,EAAWE,KACpD,MAAMiC,GAAOrC,EAAI,IAAME,EAAI,IAAME,EAAI,KAAO,IAC5C,OAAOiC,GAAO,KAAO,EAAI,CAAC,EAapB,MAAMC,EAAoB,CAACC,EAAgBC,EAAoBC,EAAeC,EAAM,KAC1F,MAAMtB,EAAa,CAClBQ,KAAKD,IAAIC,KAAKF,IAAIE,KAAKe,MAAMH,EAAc,GAAKE,EAAMd,KAAKD,IAAI,EAAGa,EAAc,GAAK,MAAO,KAAM,GAClGZ,KAAKD,IAAIC,KAAKF,IAAIE,KAAKe,MAAMH,EAAc,GAAKE,EAAMd,KAAKD,IAAI,EAAGa,EAAc,GAAK,MAAO,KAAM,GAClGZ,KAAKD,IAAIC,KAAKF,IAAIE,KAAKe,MAAMH,EAAc,GAAKE,EAAMd,KAAKD,IAAI,EAAGa,EAAc,GAAK,MAAO,KAAM,IAEnG,MAAMI,EAAWC,EAAIC,EAAYD,IAAI,QAAQN,EAAU5C,KAAK,WAAYmD,EAAYD,IAAI,QAAQzB,EAAMzB,KAAK,YAC3G,MAAMoD,EAAQ3B,EAAM,GAAKA,EAAM,GAAKA,EAAM,GAC1C,GAAI2B,IAAU,GAAKA,IAAU,KAAOH,EAAWH,EAAO,CACrD,MAAO,CACNO,WAAYT,EACZU,WAAY7B,EACZwB,W,KAEK,CACN,OAAON,EAAkBC,EAAWnB,EAAOqB,EAAOC,E,GAIpD,MAAMQ,EAA0C,IAAIC,IAG7C,MAAMC,EAAmB,CAACb,EAAgBC,EAAoBC,EAAeC,EAAM,KACzF,GAAIQ,EAAMG,IAAId,GAAY,CACzB,OAAOW,EAAMI,IAAIf,E,CAElB,MAAMnB,EAAQkB,EAAkBC,EAAWC,EAAeC,EAAOC,GACjEQ,EAAMK,IAAIhB,EAAWnB,GACrB,OAAOA,CAAK,EAGN,MAAMoC,EAA0B,CAACpC,EAAmCqC,EAAgB,KAC1F,IAAIlB,EAAkB,CAAC,EAAG,EAAG,EAAG,GAChC,IAAIC,EAAsB,CAAC,IAAK,IAAK,IAAK,GAC1C,UAAWpB,IAAU,SAAU,CAC9BmB,EAAYmB,EAAUtC,GACtBoB,EAAgBD,C,MACV,UAAWnB,IAAU,UAAYA,IAAU,aAAeA,EAAM4B,aAAe,iBAAmB5B,EAAM6B,aAAe,SAAU,CACvIV,EAAYmB,EAAUtC,EAAM4B,YAC5B,UAAW5B,EAAM6B,aAAe,SAAU,CACzCT,EAAgBkB,EAAUtC,EAAM6B,W,KAC1B,CACNT,EAAgBD,C,EAGlB,MAAMF,EAAMD,EAAeG,EAAU,GAAIA,EAAU,GAAIA,EAAU,IACjE,MAAMoB,EAAgBP,EACrB,CAACb,EAAU,GAAIA,EAAU,GAAIA,EAAU,IACvC,CAACC,EAAc,GAAIA,EAAc,GAAIA,EAAc,IACnDiB,EACApB,GAEDG,EAAgB,IAAImB,EAAcV,WAAY,GAE9C,MAAO,CACND,WAAYF,EAAYD,IAAI,QAAQN,EAAU5C,KAAK,SACnDsD,WAAYH,EAAYD,IAAI,QAAQL,EAAc7C,KAAK,SACvDiD,SAAUe,EAAcf,SACxB,ECjFF,MAAMgB,EAAY,oDAClB,SAASC,EAAYnE,GACpB,OAAOkE,EAAUrF,KAAKmB,EACvB,CAEA,SAASoE,EAAoBpE,GAC5B,GAAIA,EAAMqE,WAAW,KAAM,CAC1B,IACC,MAAMtC,EAASuC,KAAKnG,MAAM6B,GAC1B,GAAIuE,EAAiBxC,GAAsB,MAAO,CAAEyC,KAAM,YAAaxE,MAAO+B,E,CAC7E,MAAO0C,GACR,MAAO,CAAED,KAAM,KAAMxE,MAAO,K,EAG9B,MAAO,CAAEwE,KAAM,KAAMxE,MAAO,KAC7B,CAEA,SAAS0E,EAAY1E,GACpB,GAAIA,EAAO,CACV,UAAWA,IAAU,SAAU,CAC9B,GAAImE,EAAYnE,GAAQ,MAAO,CAAEwE,KAAM,SAAUG,MAAO,KAAM3E,MAAOA,OAChE,CACJ,MAAM4E,EAAcR,EAAoBpE,GACxC,GAAI4E,EAAY5E,MAAO,MAAO,CAAEwE,KAAMI,EAAYJ,KAAMG,MAAO,KAAM3E,MAAO4E,EAAY5E,M,MAEnF,CACN,MAAM6E,EAAc7E,EACpB,GAAIuE,EAAiBM,GAAc,MAAO,CAAEL,KAAM,YAAaG,MAAO,KAAM3E,MAAO6E,E,EAGrF,MAAO,CAAEL,KAAM,KAAMG,MAAO,MAAO3E,MAAO,GAC3C,CAGA,SAASuE,EAAiBvE,GACzB,gBACQA,IAAU,UACjBA,UACOA,EAAM8E,kBAAoB,kBACzB9E,EAAM+E,kBAAoB,UAChC/E,EAAM+E,wBACC/E,EAAM+E,gBAAgBC,UAAY,iBAClChF,EAAM+E,gBAAgBE,YAAc,iBACpCjF,EAAM+E,gBAAgBG,UAAY,UAE7C,CAEA,SAASC,EAAkBnF,GAC1B,MAAMoF,EAAYV,EAAY1E,GAC9B,OAAQoF,EAAUZ,MACjB,KAAK,KACJ,OAAO,MACR,IAAK,SACL,IAAK,YACJ,OAAOY,EAAUT,MAEpB,C,MAGaU,EAAgB,CAACC,EAAsCtF,EAAgCuF,KACnGC,EAAeF,EAAW,SAAUH,EAAmB,IAAIM,IAAI,CAAC,aAAc,cAAezF,EAAOuF,EAAQ,E,MAGhGG,EAAqB1F,I,MACjC,IAAIiE,EACJ,MAAMmB,EAAYV,EAAY1E,GAC9B,OAAQoF,EAAUZ,MACjB,IAAK,SACJP,EAAgBH,EAAwBsB,EAAUpF,OAClD,MACD,IAAK,YAAa,CACjB,MAAM6E,EAAcO,EAAUpF,MAC9B,IAAIuD,EAAa,GACjB,UAAWsB,EAAYE,kBAAoB,SAAUxB,EAAasB,EAAYE,qBACzE,IAAIY,EAAAd,EAAYE,mBAAe,MAAAY,SAAA,SAAAA,EAAEX,QAASzB,EAAasB,EAAYE,gBAAgBC,QACxF,IAAKzB,UAAqBA,IAAe,SAAUA,EAAa,OAChEU,EAAgBH,EAAwB,CACvCR,WAAYuB,EAAYC,gBACxBvB,eAED,K,CAED,KAAK,KACJqC,QAAQC,KAAK,gCAAgCvB,KAAKwB,UAAU9F,OAC5DiE,EAAgBH,EAAwB,CACvCR,WAAY,OACZC,WAAY,SAIf,GAAIU,EAAcf,SAAW,EAAG,CAC/B6C,EACC,8BAA8B9B,EAAcf,wDAAwDe,EAAcX,kBAAkBW,EAAcV,c,CAGpJ,MAAO,CACNuB,gBAAiBb,EAAcX,WAC/ByB,gBAAiBd,EAAcV,WAC/B,S"}
@@ -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-2e3fde52.js";import{v as a}from"./hide-label-aca36293.js";import{a as o}from"./label-32f655e1.js";import{e as r,a as n,d}from"./a11y.tipps-e9cad37c.js";import{s as l,t as c}from"./events-fa760b68.js";import{v as f}from"./tab-index-555bc0fc.js";import{A as u}from"./associated.controller-4725864a.js";const p=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},v=(e,o)=>{t(e,"_adjustHeight",o)},m=(e,o,n)=>{t(e,"_hideError",o,n)},y=(e,o)=>{t(e,"_touched",o)};class b extends u{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(e){t(this.component,"_alert",e)}validateTouched(t){y(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class g extends b{constructor(t,e,o){super(t,e,o),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){v(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&r()}validateError(t){i(this.component,"_error",t)}validateHideError(t){m(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&n("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){a(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&n("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}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||d("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){o(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){f(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.validateHideError(this.component._hideError),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 e;this.component._alert=!0,this.component._touched=!0,l(t),c("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;c("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;l(t),c("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,l(t),c("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{g as I,p as g};
4
+ import{a as t,d as i,s,o as e,p as h}from"./prop.validators-f887ad3b.js";import{v as a}from"./hide-label-e711f812.js";import{a as o}from"./label-8ddb917e.js";import{e as r,a as n,d}from"./a11y.tipps-f367a979.js";import{s as l,t as c}from"./events-fa760b68.js";import{v as f}from"./tab-index-2206620f.js";import{A as u}from"./associated.controller-700d5133.js";const p=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},v=(e,o)=>{t(e,"_adjustHeight",o)},m=(e,o,n)=>{t(e,"_hideError",o,n)},b=(e,o)=>{t(e,"_touched",o)};class y extends u{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(e){t(this.component,"_alert",e)}validateTouched(t){b(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class g extends y{constructor(t,e,o){super(t,e,o),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){v(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&r()}validateError(t){i(this.component,"_error",t)}validateHideError(t){m(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&n("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){a(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&n("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}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||d("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){o(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){f(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.validateHideError(this.component._hideError),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 e;this.component._alert=!0,this.component._touched=!0,l(t),c("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;c("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;l(t),c("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,l(t),c("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{g as I,p as g};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateHideError","options","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","hooks","afterPatch","_hideError","a11yHint","validateHideLabel","_hideLabel","validateHint","validateId","setAttribute","formAssociated","minLength","devHint","validateLabel","validateLabelWithExpertSlot","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","e","validateTabIndex","_accessKey","_adjustHeight","_disabled","_label","_smartButton","_on","_tabIndex","event","stopPropagation","tryToDispatchKoliBriEvent","_a","target","setFormAssociatedValue","forEach","listener","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/hide-error.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 type { Generic } from 'adopted-style-sheets';\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 type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean, WatchBooleanOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HideErrorPropType = boolean;\n\n/**\n * Hides the error message but leaves it in the DOM for the input's aria-describedby.\n */\nexport type PropHideError = {\n\thideError: HideErrorPropType;\n};\n\n/* validator */\nexport const validateHideError = (component: Generic.Element.Component, value?: HideErrorPropType, options?: WatchBooleanOptions): void => {\n\twatchBoolean(component, '_hideError', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\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 type { Generic } from 'adopted-style-sheets';\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 type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { HideErrorPropType, validateHideError } from '../../../types/props/hide-error';\nimport { validateHideLabel } from '../../../types/props/hide-label';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHint, 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 { Props as ButtonProps } from '../../button/types';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\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 validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\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.validateHideError(this.component._hideError);\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\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 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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"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as t,w as s,e,d as i}from"./prop.validators-f887ad3b.js";import{I as a}from"./controller-icon-01cabd99.js";const h=(e,o)=>{t(e,"_hasCounter",o)};class o extends a{constructor(t,e,o){super(t,e,o),this.component=t}validateAutoComplete(t){s(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){h(this.component,t)}validateMaxLength(t){e(this.component,"_maxLength",t,{min:0})}validatePattern(t){i(this.component,"_pattern",t)}validatePlaceholder(t){i(this.component,"_placeholder",t)}validateReadOnly(e){t(this.component,"_readOnly",e)}validateRequired(e){t(this.component,"_required",e)}validateValue(t){i(this.component,"_value",t),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.validateValue(this.component._value)}onBlur(t){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(t)}onFocus(t){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(t)}}export{o as I,h as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateHasCounter","component","value","watchBoolean","InputPasswordController","InputIconController","constructor","name","host","super","this","validateAutoComplete","watchValidator","Set","validateMaxLength","watchNumber","min","validatePattern","watchString","validatePlaceholder","validateReadOnly","validateRequired","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_required","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type HasCounterPropType = boolean;\n\n/**\n * Shows the character count on the lower border of the input.\n */\nexport type PropHasCounter = {\n\thasCounter: HasCounterPropType;\n};\n\n/* validator */\nexport const validateHasCounter = (component: Generic.Element.Component, value?: HasCounterPropType): void => {\n\twatchBoolean(component, '_hasCounter', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { watchBoolean, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputPasswordController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate placeholderCache?: string;\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 validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic validateMaxLength(value?: number): void {\n\t\twatchNumber(this.component, '_maxLength', value, {\n\t\t\tmin: 0,\n\t\t});\n\t}\n\n\tpublic validatePattern(value?: string): void {\n\t\twatchString(this.component, '_pattern', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t\tthis.validateMaxLength(this.component._maxLength);\n\t\tthis.validatePattern(this.component._pattern);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\t/**\n\t\t * Beim Screenreader NVDA wird der Placeholder mit\n\t\t * vorgelesen. Somit kann es vorkommen, dass das\n\t\t * Label und der Placeholder vorgelesen werden.\n\t\t *\n\t\t * Aufgrund dessen, dass das Label immer vorgelesen\n\t\t * werden muss, kann das zusätzliche Vorlesen des\n\t\t * Placeholders störend sein.\n\t\t *\n\t\t * Damit beim Fokussieren das \"doppelte\" vorlesen\n\t\t * vermieden werden kann, wird der Placeholder für\n\t\t * den fokussierten Feldstatus entfernt.\n\t\t *\n\t\t * Hinweis: Für alle Nutzenden müssen die all dar-\n\t\t * gestellten Inhalte, also auch der Place-\n\t\t * holder, gleichermaßen zugänglich sein.\n\t\t * Das oben beschriebene Handling erfüllt\n\t\t * diese Anforderung nicht.\n\t\t */\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: this.placeholderCache,\n\t\t};\n\t\tthis.placeholderCache = undefined;\n\t\tsuper.onBlur(event);\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.placeholderCache = this.component.state._placeholder as string;\n\t\tthis.component.state = {\n\t\t\t...this.component.state,\n\t\t\t_placeholder: undefined,\n\t\t};\n\t\tsuper.onFocus(event);\n\t}\n}\n"],"mappings":";;;0HAeaA,EAAqB,CAACC,EAAsCC,KACxEC,EAAaF,EAAW,cAAeC,EAAM,E,MCRjCE,UAAgCC,EAI5C,WAAAC,CAAmBL,EAA8CM,EAAcC,GAC9EC,MAAMR,EAAWM,EAAMC,GACvBE,KAAKT,UAAYA,C,CAGX,oBAAAU,CAAqBT,GAC3BU,EACCF,KAAKT,UACL,iBACCC,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIW,IAAI,CAAC,aACTX,E,CAIK,kBAAAF,CAAmBE,GACzBF,EAAmBU,KAAKT,UAAWC,E,CAG7B,iBAAAY,CAAkBZ,GACxBa,EAAYL,KAAKT,UAAW,aAAcC,EAAO,CAChDc,IAAK,G,CAIA,eAAAC,CAAgBf,GACtBgB,EAAYR,KAAKT,UAAW,WAAYC,E,CAGlC,mBAAAiB,CAAoBjB,GAC1BgB,EAAYR,KAAKT,UAAW,eAAgBC,E,CAGtC,gBAAAkB,CAAiBlB,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,gBAAAmB,CAAiBnB,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,aAAAoB,CAAcpB,GACpBgB,EAAYR,KAAKT,UAAW,SAAUC,GACtCQ,KAAKa,uBAAuBb,KAAKT,UAAUuB,MAAMC,O,CAG3C,iBAAAC,GACNjB,MAAMiB,oBACNhB,KAAKC,qBAAqBD,KAAKT,UAAU0B,eACzCjB,KAAKV,mBAAmBU,KAAKT,UAAU2B,aACvClB,KAAKI,kBAAkBJ,KAAKT,UAAU4B,YACtCnB,KAAKO,gBAAgBP,KAAKT,UAAU6B,UACpCpB,KAAKS,oBAAoBT,KAAKT,UAAU8B,cACxCrB,KAAKU,iBAAiBV,KAAKT,UAAU+B,WACrCtB,KAAKW,iBAAiBX,KAAKT,UAAUgC,WACrCvB,KAAKY,cAAcZ,KAAKT,UAAUwB,O,CAGzB,MAAAS,CAAOC,GAoBhBzB,KAAKT,UAAUuB,MAAKY,OAAAC,OAAAD,OAAAC,OAAA,GAChB3B,KAAKT,UAAUuB,OAAK,CACvBO,aAAcrB,KAAK4B,mBAEpB5B,KAAK4B,iBAAmBC,UACxB9B,MAAMyB,OAAOC,E,CAGJ,OAAAK,CAAQL,GACjBzB,KAAK4B,iBAAmB5B,KAAKT,UAAUuB,MAAMO,aAC7CrB,KAAKT,UAAUuB,MAAKY,OAAAC,OAAAD,OAAAC,OAAA,GAChB3B,KAAKT,UAAUuB,OAAK,CACvBO,aAAcQ,YAEf9B,MAAM+B,QAAQL,E"}
@@ -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-24fd3c96.js";import{v as e}from"./suggestions-4347211e.js";import{w as o}from"./prop.validators-2e3fde52.js";const i=["text","search","url","tel"];class r extends t{constructor(t,o,s){super(t,o,s),this.component=t}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class a extends r{constructor(t,o,s){super(t,o,s),this.hasError=!1,this.component=t}validateType(t){o(this.component,"_type",(t=>"string"==typeof t&&i.includes(t)),new Set([`String {${i.join(", ")}`]),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-60b830eb.js";import{v as e}from"./suggestions-40d68773.js";import{w as o}from"./prop.validators-f887ad3b.js";const i=["text","search","url","tel"];class r extends t{constructor(t,o,s){super(t,o,s),this.component=t}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class a extends r{constructor(t,o,s){super(t,o,s),this.hasError=!1,this.component=t}validateType(t){o(this.component,"_type",(t=>"string"==typeof t&&i.includes(t)),new Set([`String {${i.join(", ")}`]),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};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["inputTextTypeOptions","InputTextEmailController","InputPasswordController","constructor","component","name","host","super","this","validateSuggestions","value","componentWillLoad","_suggestions","InputTextController","hasError","validateType","watchValidator","includes","Set","join","validateHasCounter","_type","_hasCounter"],"sources":["src/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import type { Generic } from 'adopted-style-sheets';\nimport { InputTextType, inputTextTypeOptions } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"mappings":";;;oJAAO,MAAMA,EAAuB,CAAC,OAAQ,SAAU,MAAO,O,MCiBjDC,UAAiCC,EAG7C,WAAAC,CAAmBC,EAA4DC,EAAcC,GAC5FC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,mBAAAK,CAAoBC,GAC1BD,EAAoBD,KAAKJ,UAAWM,E,CAG9B,iBAAAC,GACNJ,MAAMI,oBACNH,KAAKC,oBAAoBD,KAAKJ,UAAUQ,a,QAI7BC,UAA4BZ,EAKxC,WAAAE,CAAmBC,EAAuDC,EAAcC,GACvFC,MAAMH,EAAWC,EAAMC,GAHjBE,KAAAM,SAAW,MAIjBN,KAAKJ,UAAYA,C,CAGX,YAAAW,CAAaL,GACnBM,EACCR,KAAKJ,UACL,SACCM,UAA0BA,IAAU,UAAYV,EAAqBiB,SAASP,IAC/E,IAAIQ,IAAI,CAAC,WAAWlB,EAAqBmB,KAAK,UAC9CT,E,CAIK,kBAAAU,CAAmBV,GACzBU,EAAmBZ,KAAKJ,UAAWM,E,CAG7B,iBAAAC,GACNJ,MAAMI,oBACNH,KAAKO,aAAaP,KAAKJ,UAAUiB,OACjCb,KAAKY,mBAAmBZ,KAAKJ,UAAUkB,Y"}
@@ -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-2e3fde52.js";import{h as o,c as r}from"./label-32f655e1.js";import{a as n}from"./a11y.tipps-e9cad37c.js";import{S as l}from"./reuse-d79ab469.js";import{I as f}from"./controller-bca2b59f.js";const h=["horizontal","vertical"],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},u=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},p=(e,o,i={})=>{t(e,"_options",c,o,void 0,i)},d=(t,o)=>{e(t,"_required",o)},b=(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)?b(t,e.options,a):t.set(a,e))}))};class m extends f{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){d(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class y extends m{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),b(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=>"string"==typeof t&&h.includes(t)),new Set([`Orientation {${h.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){u(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.validateValue(this.component._value)}}export{m as I,y as a,b as f,p as v};
4
+ import{c as t,a as e,w as s,m as i,s as a}from"./prop.validators-f887ad3b.js";import{h as o,c as r}from"./label-8ddb917e.js";import{a as n}from"./a11y.tipps-f367a979.js";import{S as l}from"./reuse-d79ab469.js";import{I as f}from"./controller-17eb7878.js";const h=["horizontal","vertical"],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},u=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},p=(e,o,i={})=>{t(e,"_options",c,o,void 0,i)},d=(t,o)=>{e(t,"_required",o)},b=(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)?b(t,e.options,a):t.set(a,e))}))};class m extends f{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){d(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class y extends m{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),b(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=>"string"==typeof t&&h.includes(t)),new Set([`Orientation {${h.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){u(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.validateValue(this.component._value)}}export{m as I,y as a,b as f,p as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["orientationOptions","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","includes","Set","join","defaultValue","hooks","beforePatch","validateValue","mapString2Unknown","setState","setFormAssociatedValue","onChange","timeout","setTimeout","clearTimeout","STATE_CHANGE_EVENT","_orientation"],"sources":["src/types/orientation.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["export const orientationOptions = ['horizontal', 'vertical'] as const;\nexport type Orientation = (typeof orientationOptions)[number];\n","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 type { Generic } from 'adopted-style-sheets';\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 type { Generic } from 'adopted-style-sheets';\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 type { Generic } from 'adopted-style-sheets';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation, orientationOptions } 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 = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\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 => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\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);\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{d as e}from"./a11y.tipps-e9cad37c.js";import{d as t}from"./dev.utils-61c61d76.js";import{f as o,K as n}from"./prop.validators-2e3fde52.js";const i=o=>{for(t()&&(e("↓ Search form element start."),console.log(o));o instanceof HTMLElement&&"FORM"!==o.tagName&&"KOL-FORM"!==o.tagName;){try{o=o.parentElement instanceof HTMLElement?o.parentElement:o.parentNode instanceof ShadowRoot?o.parentNode.host:null}catch(e){}t()&&(console.log(o),e("↑ Search form element finished."))}return o},s=(e={})=>{var t,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)o(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){o(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(t=i._on)||void 0===t?void 0:t.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var t,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)o(e,s),s.dispatchEvent(e),s.submit();else if("KOL-FORM"===s.tagName){o(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(t=i._on)||void 0===t?void 0:t.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-f367a979.js";import{a as t}from"./dev.utils-da51d5d8.js";import{f as o,K as n}from"./prop.validators-f887ad3b.js";const i=o=>{for(t()&&(e("↓ Search form element start."),console.log(o));o instanceof HTMLElement&&"FORM"!==o.tagName&&"KOL-FORM"!==o.tagName;){try{o=o.parentElement instanceof HTMLElement?o.parentElement:o.parentNode instanceof ShadowRoot?o.parentNode.host:null}catch(e){}t()&&(console.log(o),e("↑ Search form element finished."))}return o},s=(e={})=>{var t,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)o(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){o(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(t=i._on)||void 0===t?void 0:t.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var t,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)o(e,s),s.dispatchEvent(e),s.submit();else if("KOL-FORM"===s.tagName){o(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(t=i._on)||void 0===t?void 0:t.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{i as o}from"./icons-1ad89985.js";import{o as s,p as t,w as i}from"./prop.validators-f887ad3b.js";import{i as r}from"./reuse-d79ab469.js";import{I as e}from"./controller-17eb7878.js";const a=(o,t)=>{const s=o;"object"==typeof s&&null!==s&&(r(s.right,1)&&(s.right={icon:s.right}),r(s.left,1)&&(s.left={icon:s.left}),t.set("_icons",s))};class c extends e{constructor(o,t,s){super(o,t,s),this.component=o}validateIcon(o){this.validateIcons(o)}validateIcons(e){s(e,(()=>{try{e=t(e)}catch(o){}i(this.component,"_icons",(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:a},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons||this.component._icon)}}export{c as I};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["beforePatchIcons","value","nextState","icons","isString","right","icon","left","set","InputIconController","InputController","constructor","component","name","host","super","this","validateIcon","validateIcons","objectObjectHandler","parseJson","e","watchValidator","isIcon","Set","hooks","beforePatch","required","componentWillLoad","_icons","_icon"],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcons } from '../../../types/icons';\nimport { isIcon } from '../../../types/props/icons';\nimport { objectObjectHandler, parseJson, watchValidator } from '../../../utils/prop.validators';\nimport { isString } from '../../../utils/validator';\nimport { InputController } from './controller';\nimport { Props, Watches } from './types-icon';\n\nconst beforePatchIcons = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icons = value as KoliBriHorizontalIcons;\n\tif (typeof icons === 'object' && icons !== null) {\n\t\tif (isString(icons.right, 1)) {\n\t\t\ticons.right = { icon: icons.right as string };\n\t\t}\n\t\tif (isString(icons.left, 1)) {\n\t\t\ticons.left = { icon: icons.left as string };\n\t\t}\n\t\tnextState.set('_icons', icons);\n\t}\n};\n\nexport class InputIconController extends InputController 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 validateIcon(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\tpublic validateIcons(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcons>(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\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icons',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcons,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcons(this.component._icons || this.component._icon);\n\t}\n}\n"],"mappings":";;;6LAUA,MAAMA,EAAmB,CAACC,EAAgBC,KACzC,MAAMC,EAAQF,EACd,UAAWE,IAAU,UAAYA,IAAU,KAAM,CAChD,GAAIC,EAASD,EAAME,MAAO,GAAI,CAC7BF,EAAME,MAAQ,CAAEC,KAAMH,EAAME,M,CAE7B,GAAID,EAASD,EAAMI,KAAM,GAAI,CAC5BJ,EAAMI,KAAO,CAAED,KAAMH,EAAMI,K,CAE5BL,EAAUM,IAAI,SAAUL,E,SAIbM,UAA4BC,EAGxC,WAAAC,CAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,YAAAK,CAAahB,GACnBe,KAAKE,cAAcjB,E,CAGb,aAAAiB,CAAcjB,GACpBkB,EAAoBlB,GAAO,KAC1B,IACCA,EAAQmB,EAAkCnB,E,CAEzC,MAAOoB,G,CAGTC,EACCN,KAAKJ,UACL,UACCX,UAEQA,IAAU,UAAYA,IAAU,OAASG,EAASH,EAAMM,KAAM,IAAMgB,EAAOtB,EAAMM,OAASH,EAASH,EAAMI,MAAO,IAAMkB,EAAOtB,EAAMI,SAG5I,IAAImB,IAAI,CAAC,0BACTvB,EACA,CACCwB,MAAO,CACNC,YAAa1B,GAEd2B,SAAU,MAEX,G,CAII,iBAAAC,GACNb,MAAMa,oBACNZ,KAAKE,cAAcF,KAAKJ,UAAUiB,QAAUb,KAAKJ,UAAUkB,M"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{d as a}from"./prop.validators-f887ad3b.js";const s=(s,o)=>{a(s,"_customClass",o,{defaultValue:void 0})};export{s as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validateCustomClass","component","value","watchString","defaultValue","undefined"],"sources":["src/types/props/custom-class.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\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"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{p as e}from"./reuse-d79ab469.js";var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return o()}},n.exports),n.exports}function o(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var i=n((function(e){!function(t,o){e.exports?e.exports=o():t.log=o()}(t,(function(){var e=function(){},t="undefined",o=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function l(e,t){var o=e[t];if("function"==typeof o.bind)return o.bind(e);try{return Function.prototype.bind.call(o,e)}catch(t){return function(){return Function.prototype.apply.apply(o,[e,arguments])}}}function i(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function s(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&o?i:void 0!==console[n]?l(console,n):void 0!==console.log?l(console,"log"):e)}function r(t,o){for(var l=0;l<n.length;l++){var i=n[l];this[i]=l<t?e:this.methodFactory(i,t,o)}this.log=this.debug}function a(e,o,n){return function(){typeof console!==t&&(r.call(this,o,n),this[e].apply(this,arguments))}}function c(e,t,o){return s(e)||a.apply(this,arguments)}function d(e,o,l){var i,s=this;o=null==o?"WARN":o;var a="loglevel";function d(e){var o=(n[e]||"silent").toUpperCase();if(typeof window!==t&&a){try{return void(window.localStorage[a]=o)}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"="+o+";"}catch(e){}}}function h(){var e;if(typeof window!==t&&a){try{e=window.localStorage[a]}catch(e){}if(typeof e===t)try{var o=window.document.cookie,n=o.indexOf(encodeURIComponent(a)+"=");-1!==n&&(e=/^([^;]+)/.exec(o.slice(n))[1])}catch(e){}return void 0===s.levels[e]&&(e=void 0),e}}"string"==typeof e?a+=":"+e:"symbol"==typeof e&&(a=void 0),s.name=e,s.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},s.methodFactory=l||c,s.getLevel=function(){return i},s.setLevel=function(o,n){if("string"==typeof o&&void 0!==s.levels[o.toUpperCase()]&&(o=s.levels[o.toUpperCase()]),!("number"==typeof o&&o>=0&&o<=s.levels.SILENT))throw"log.setLevel() called with invalid level: "+o;if(i=o,!1!==n&&d(o),r.call(s,o,e),typeof console===t&&o<s.levels.SILENT)return"No console available for logging"},s.setDefaultLevel=function(e){o=e,h()||s.setLevel(e,!1)},s.resetLevel=function(){s.setLevel(o,!1),function(){if(typeof window!==t&&a){try{return void window.localStorage.removeItem(a)}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},s.enableAll=function(e){s.setLevel(s.levels.TRACE,e)},s.disableAll=function(e){s.setLevel(s.levels.SILENT,e)};var f=h();null==f&&(f=o),s.setLevel(f,!1)}var h=new d,f={};h.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=f[e];return t||(t=f[e]=new d(e,h.getLevel(),h.methodFactory)),t};var u=typeof window!==t?window.log:void 0;return h.noConflict=function(){return typeof window!==t&&window.log===h&&(window.log=u),h},h.getLoggers=function(){return f},h.default=h,h}))}));const l="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};let s=!0,r=!1;const c=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,f=e=>"string"==typeof e&&c.test(e),a=e=>{if(!1===f(e))throw new Error(`[Theming] The theme identifier "${"string"==typeof e?e:""}" (Type: ${typeof e}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},u=(e,t,o,n)=>{(n=n??{}).append=n.append??!1,a(e),!0===s&&!1===r&&(r=!0,i.warn(`[Theming] The theme process is locked. This means that the theme "${e}" should not be patched.\n\n\timport { register } from 'adopted-style-sheets';\n\timport { defineCustomElements } from '...';\n\timport { THEME } from '...';\n\n\tregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\t// run your app or website\n\t})\n\t.catch(console.warn);`)),("object"!=typeof l.A11yUi||null===l.A11yUi)&&(l.A11yUi={}),"object"==typeof l.A11yUi&&null!==l.A11yUi&&("object"!=typeof l.A11yUi.Themes||null===l.A11yUi.Themes)&&(l.A11yUi.Themes={}),"object"==typeof l.A11yUi&&null!==l.A11yUi&&"object"==typeof l.A11yUi.Themes&&null!==l.A11yUi.Themes&&("object"!=typeof l.A11yUi.Themes[e]||null===l.A11yUi.Themes[e])&&(l.A11yUi.Themes[e]={}),"object"==typeof l.A11yUi&&null!==l.A11yUi&&"object"==typeof l.A11yUi.Themes&&null!==l.A11yUi.Themes&&"object"==typeof l.A11yUi.Themes[e]&&null!==l.A11yUi.Themes[e]&&(n.append&&"string"==typeof l.A11yUi.Themes[e][t]?l.A11yUi.Themes[e][t]+=o:l.A11yUi.Themes[e][t]=o)},d=(e,t,o)=>(a(e),"object"==typeof t&&null!==t&&Object.getOwnPropertyNames(t).forEach((n=>{const l=t[n];"string"==typeof l&&l.length>0&&u(e,n,l,o)})),e),h=e=>{if(e instanceof HTMLElement){if("string"==typeof e.dataset.theme)return e;{let t=e.parentNode;for(;t instanceof ShadowRoot;)t=t.host;return h(t)}}return null},y=(e={})=>"false"!==e.themeEncroachCss&&"true"!==e.themeReset&&{mode:"after"===e.themeEncroachCssMode||"before"===e.themeEncroachCssMode?e.themeEncroachCssMode:"before"},p=()=>"object"==typeof l.A11yUi&&null!==l.A11yUi&&"object"==typeof l.A11yUi.Theme&&null!==l.A11yUi.Theme&&"boolean"==typeof l.A11yUi.Theme.cache&&"object"==typeof l.A11yUi.Theme.encroachCss&&null!==l.A11yUi.Theme.encroachCss&&"string"==typeof l.A11yUi.Theme.encroachCss.mode&&"string"==typeof l.A11yUi.Theme.name,w=()=>!("object"==typeof l.A11yUi&&null!==l.A11yUi&&"object"==typeof l.A11yUi.Theme&&null!==l.A11yUi.Theme&&"default"===l.A11yUi.Theme.name),m=e=>{if(p())return l.A11yUi.Theme;{const t={cache:!0,encroachCss:y(),loglevel:"silent",name:null},o=h(e);return o instanceof HTMLElement&&(t.cache="false"!==o.dataset.themeCache,t.encroachCss=y(o.dataset),t.loglevel="debug"===o.dataset.themeLoglevel?o.dataset.themeLoglevel:"silent",t.name=o.dataset.theme||null),t}},b=(e,t)=>({cache:!1!==t.cache,detect:"auto"===t.detect?"auto":"fixed",encroachCss:!1!==t.encroachCss&&("object"!=typeof t.encroachCss||null==t.encroachCss||"after"!==t.encroachCss.mode&&"before"!==t.encroachCss.mode?{mode:"before"}:t.encroachCss),loglevel:"debug"===t.loglevel?t.loglevel:"silent",name:"string"==typeof t.name?t.name:e}),g=(e,t)=>{!1===p()&&w()&&"object"==typeof t&&null!==t&&("fixed"===(t=b(e,t)).detect?(null===t.name&&"string"==typeof e&&(t.name=e),e===t.name&&(("object"!=typeof l.A11yUi||null===l.A11yUi)&&(l.A11yUi={}),l.A11yUi.Theme=t,i.info(`[Theming] Theme "${e}" was set as default theme.`))):i.warn("[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode."))};let v=!1;const T=(e,t,o={})=>{!1===v&&(v=!0,s=!1),"function"==typeof e?e=new Set([e]):Array.isArray(e)&&(e=new Set(e)),e instanceof Set&&e.forEach((e=>{"function"==typeof e&&1===e.length?g(e(d),{cache:o.theme?.cache,detect:o.theme?.detect,encroachCss:o.theme?.encroachCss,name:o.theme?.name}):i.error("[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.")})),s=!0,"function"==typeof t?t=new Set([t]):Array.isArray(t)&&(t=new Set(t));const n=[];return t.forEach((e=>{const t=e();t instanceof Promise&&n.push(t)})),Promise.all(n)},E=new Map,M=[],S=new Set,j=new Map,L=/--[^;]+/g,A=/:/;("object"!=typeof l.A11yUi||null===l.A11yUi)&&(l.A11yUi={CSS_STYLE_CACHE:j,HYDRATED_HISTORY:M,STYLING_TASK_QUEUE:E});const H=(e,t)=>{let o=t.match(L);if(Array.isArray(o)){o=o.filter((e=>A.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t)}S.add(e)},R=(e,t)=>"object"==typeof l.A11yUi&&null!==l.A11yUi&&"object"==typeof l.A11yUi.Themes&&null!==l.A11yUi.Themes&&"object"==typeof l.A11yUi.Themes[e]&&null!==l.A11yUi.Themes[e]&&"string"==typeof l.A11yUi.Themes[e][t]?l.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",D=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t)}},O=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t)})),e.adoptedStyleSheets=o}catch{t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild)}))}},C=(e,t,o)=>{if(!1!==o){const n=[...Array.from(e.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))];let l;try{l=[...Array.from(e.adoptedStyleSheets)]}catch{l=[]}"before"===o?.mode?(n.reverse().forEach((e=>t.unshift(e.innerHTML))),l.reverse().forEach((e=>t.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===o?.mode&&(n.forEach((e=>t.push(e.innerHTML))),l.forEach((e=>t.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))))}},x=(e,t,o)=>{const n=t.name||"default";let l;try{if(null===e.shadowRoot)throw new Error("ShadowRoot is null");l=e.shadowRoot}catch{l=e}if(j.get(n)?.has(e.tagName))k(e,l,j.get(n)?.get(e.tagName),o);else{const i=R(n,"PROPERTIES"),s=R(n,"GLOBAL"),r=R(n,e.tagName);!1===S.has(n)&&H(n,s);const a=[i,s,r];C(l,a,t.encroachCss),"debug"===t.loglevel&&console.log(e.tagName,a),!0===t.cache&&(!1===j.has(n)&&j.set(n,new Map),j.get(n)?.set(e.tagName,a)),k(e,l,a,o)}},k=(e,t,o,n)=>{D(t),O(t,o),e.style.display=n},I=e=>{"debug"===e.loglevel&&M.push({timestamp:Date.now(),numberOfTasks:E.size})},$=(e,t)=>{E.set(e,{styleDisplay:e.style.display?`${e.style.display}`:null,themeDetails:t})},z=(e,t)=>{$(e,t),I(t)},Y=e=>{E.delete(e)},K=(e,t)=>{Y(e),I(t)},_=e=>{const t=setTimeout((()=>{if(clearTimeout(t),E.has(e)&&e.classList.contains("hydrated")){const{styleDisplay:t,themeDetails:o}=E.get(e);x(e,o,t),K(e,o)}else _(e)}),25)},B=e=>{for(const t of e)if(E.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=E.get(t.target);x(t.target,o,e),K(t.target,o)}},N={attributes:!0,attributeFilter:["class"],childList:!1,subtree:!1};let U;try{U=new MutationObserver(B)}catch{U=null}const F=(e,t)=>{z(e,t),U?U.observe(e,N):_(e),e.style.display="none"};class P{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){try{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)}}catch(e){}}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"})),Q().body.style.maxHeight="100vh",Q().body.style.overflow="hidden",this.lockFocus(Q().body,t)}else Q().body.style.maxHeight="unset",Q().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?ie.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)ie.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)}}}let W=null,G=null;const q=e=>{e instanceof Window?(W=e,W.document instanceof Document?G=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},J=()=>W||"undefined"==typeof window?null:window,Q=()=>G||void 0===J().document?null:J().document;let V=null,X=null,Z=null,ee=null;const te=()=>!0===X,ne=()=>!0===Z,oe=()=>!0===ee;class ie{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${ie.shield.label} | ${e}`:ie.shield.label}static getShield(e){return[ie.handleClassifier(null==e?void 0:e.classifier),`${ie.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(X||!0===(null==t?void 0:t.forceLog))&&console.debug(...ie.getShield(t),...ie.mapToArray(e))}static info(e,t){(X||!0===(null==t?void 0:t.forceLog))&&console.info(...ie.getShield(t),...ie.mapToArray(e))}static trace(e,t){(X||!0===(null==t?void 0:t.forceLog))&&console.trace(...ie.getShield(t),...ie.mapToArray(e))}static warn(e,t){(X||!0===(null==t?void 0:t.forceLog))&&console.warn(...ie.getShield(t),...ie.mapToArray(e))}static error(e,t){(X||!0===(null==t?void 0:t.forceLog))&&console.error(...ie.getShield(t),...ie.mapToArray(e))}static throw(e,t){if(X||!0===(null==t?void 0:t.forceLog))throw new Error(...ie.getShield(t),...ie.mapToArray(e))}}ie.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const le=()=>{if(null===X&&null===Z&&null===ee){const e=Q().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(V=e.getAttribute("content"),"string"==typeof V&&(X=V.includes("dev-mode=true"),Z=V.includes("experimental-mode=true"),ee=V.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")},se={};Object.defineProperty(window,"KoliBri",{get:function(){return se}});const re=()=>{if(void 0===se.Modal){const e=new P;Object.defineProperty(se,"Modal",{get:function(){return e}}),le(),ie.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.1\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},ce=()=>{void 0===J().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return se}}),!0!==se.adviceShown&&(Object.defineProperty(se,"adviceShown",{get:function(){return!0}}),ie.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 fe=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(fe=()=>"nonce");export{u as A,se as K,ie as L,m as S,T as _,ne as a,d as b,q as c,n as d,F as e,te as f,Q as g,oe as h,re as i,fe as n,ce as r};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["root","definition","module","exports","log","this","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","self","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","localStorage","ignore","document","cookie","encodeURIComponent","getPersistedLevel","storedLevel","location","indexOf","exec","slice","levels","clearPersistedLevel","removeItem","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","setDefaultLevel","resetLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","o","global","p","T","D","I","g","Error","A","t","s","a","append","y","warn","A11yUi","Themes","b","Object","getOwnPropertyNames","forEach","r","U","HTMLElement","dataset","theme","parentNode","ShadowRoot","host","E","themeEncroachCss","themeReset","mode","themeEncroachCssMode","w","Theme","cache","encroachCss","z","S","loglevel","themeCache","themeLoglevel","Y","detect","k","info","j","_","Set","Array","isArray","error","n","Promise","push","all","c","Map","C","v","h","B","G","CSS_STYLE_CACHE","HYDRATED_HISTORY","STYLING_TASK_QUEUE","K","match","filter","createElement","innerHTML","join","querySelector","appendChild","add","d","replace","q","from","childNodes","HTMLStyleElement","tagName","removeChild","F","CSSStyleSheet","replaceSync","adoptedStyleSheets","reverse","insertBefore","firstChild","Q","unshift","cssRules","map","cssText","L","shadowRoot","get","has","M","H","m","set","style","display","$","timestamp","Date","now","numberOfTasks","size","J","styleDisplay","themeDetails","V","W","delete","O","R","setTimeout","clearTimeout","classList","contains","X","target","Z","attributes","attributeFilter","childList","subtree","f","MutationObserver","ee","observe","ModalService","constructor","lockedElements","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","kolModal","setAttribute","userSelect","unlockElement","value","removeAttribute","unlockLockedElements","lockFocus","hostElement","excludeElement","children","renderModalIfExists","activeElement","timeout","focus","modalKeys","keys","modalRef","_value","getDocument","body","maxHeight","overflow","openModal","Log","closeModal","_a","WINDOW","DOCUMENT","configKoliBri","Window","Document","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","handleClassifier","classifier","shield","label","getShield","options","overwriteStyle","forceLog","initMeta","meta","hasAttribute","includes","KoliBri","defineProperty","initKoliBri","Modal","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["../../node_modules/.pnpm/loglevel@1.8.1/node_modules/loglevel/lib/loglevel.js","../../node_modules/.pnpm/adopted-style-sheets@1.1.2/node_modules/adopted-style-sheets/dist/index.mjs","src/components/modal/service.ts","src/utils/dev.utils.ts"],"sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import y from\"loglevel\";const N=(e,t)=>s=>s(e,t),P=(e,t)=>s=>s(e,t,{append:!1}),o=typeof window==\"object\"?window:typeof global==\"object\"?global:typeof self==\"object\"?self:{};let p=!0,T=!1;const D=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,I=e=>typeof e==\"string\"&&D.test(e),g=e=>{if(I(e)===!1)throw new Error(`[Theming] The theme identifier \"${typeof e==\"string\"?e:\"\"}\" (Type: ${typeof e}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},A=(e,t,s,a)=>{a=a??{},a.append=a.append??!1,g(e),p===!0&&T===!1&&(T=!0,y.warn(`[Theming] The theme process is locked. This means that the theme \"${e}\" should not be patched.\n\n\timport { register } from 'adopted-style-sheets';\n\timport { defineCustomElements } from '...';\n\timport { THEME } from '...';\n\n\tregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\t// run your app or website\n\t})\n\t.catch(console.warn);`)),(typeof o.A11yUi!=\"object\"||o.A11yUi===null)&&(o.A11yUi={}),typeof o.A11yUi==\"object\"&&o.A11yUi!==null&&(typeof o.A11yUi.Themes!=\"object\"||o.A11yUi.Themes===null)&&(o.A11yUi.Themes={}),typeof o.A11yUi==\"object\"&&o.A11yUi!==null&&typeof o.A11yUi.Themes==\"object\"&&o.A11yUi.Themes!==null&&(typeof o.A11yUi.Themes[e]!=\"object\"||o.A11yUi.Themes[e]===null)&&(o.A11yUi.Themes[e]={}),typeof o.A11yUi==\"object\"&&o.A11yUi!==null&&typeof o.A11yUi.Themes==\"object\"&&o.A11yUi.Themes!==null&&typeof o.A11yUi.Themes[e]==\"object\"&&o.A11yUi.Themes[e]!==null&&(a.append&&typeof o.A11yUi.Themes[e][t]==\"string\"?o.A11yUi.Themes[e][t]+=s:o.A11yUi.Themes[e][t]=s)},b=(e,t,s)=>(g(e),typeof t==\"object\"&&t!==null&&Object.getOwnPropertyNames(t).forEach(a=>{const r=t[a];typeof r==\"string\"&&r.length>0&&A(e,a,r,s)}),e),U=e=>{if(e instanceof HTMLElement){if(typeof e.dataset.theme==\"string\")return e;{let t=e.parentNode;for(;t instanceof ShadowRoot;)t=t.host;return U(t)}}else return null},E=(e={})=>e.themeEncroachCss===\"false\"||e.themeReset===\"true\"?!1:{mode:e.themeEncroachCssMode===\"after\"||e.themeEncroachCssMode===\"before\"?e.themeEncroachCssMode:\"before\"},w=()=>typeof o.A11yUi==\"object\"&&o.A11yUi!==null&&typeof o.A11yUi.Theme==\"object\"&&o.A11yUi.Theme!==null&&typeof o.A11yUi.Theme.cache==\"boolean\"&&typeof o.A11yUi.Theme.encroachCss==\"object\"&&o.A11yUi.Theme.encroachCss!==null&&typeof o.A11yUi.Theme.encroachCss.mode==\"string\"&&typeof o.A11yUi.Theme.name==\"string\",z=()=>!(typeof o.A11yUi==\"object\"&&o.A11yUi!==null)||!(typeof o.A11yUi.Theme==\"object\"&&o.A11yUi.Theme!==null)||o.A11yUi.Theme.name!==\"default\",S=e=>{if(w())return o.A11yUi.Theme;{const t={cache:!0,encroachCss:E(),loglevel:\"silent\",name:null},s=U(e);return s instanceof HTMLElement&&(t.cache=s.dataset.themeCache!==\"false\",t.encroachCss=E(s.dataset),t.loglevel=s.dataset.themeLoglevel===\"debug\"?s.dataset.themeLoglevel:\"silent\",t.name=s.dataset.theme||null),t}},x=e=>S(e).name,Y=(e,t)=>({cache:t.cache!==!1,detect:t.detect===\"auto\"?\"auto\":\"fixed\",encroachCss:t.encroachCss===!1?!1:typeof t.encroachCss==\"object\"&&t.encroachCss!=null&&(t.encroachCss.mode===\"after\"||t.encroachCss.mode===\"before\")?t.encroachCss:{mode:\"before\"},loglevel:t.loglevel===\"debug\"?t.loglevel:\"silent\",name:typeof t.name==\"string\"?t.name:e}),k=(e,t)=>{w()===!1&&z()&&typeof t==\"object\"&&t!==null&&(t=Y(e,t),t.detect===\"fixed\"?(t.name===null&&typeof e==\"string\"&&(t.name=e),e===t.name&&((typeof o.A11yUi!=\"object\"||o.A11yUi===null)&&(o.A11yUi={}),o.A11yUi.Theme=t,y.info(`[Theming] Theme \"${e}\" was set as default theme.`))):y.warn(\"[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode.\"))};let j=!1;const _=(e,t,s={})=>{j===!1&&(j=!0,p=!1),typeof e==\"function\"?e=new Set([e]):Array.isArray(e)&&(e=new Set(e)),e instanceof Set&&e.forEach(r=>{typeof r==\"function\"&&r.length===1?k(r(b),{cache:s.theme?.cache,detect:s.theme?.detect,encroachCss:s.theme?.encroachCss,name:s.theme?.name}):y.error(\"[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.\")}),p=!0,typeof t==\"function\"?t=new Set([t]):Array.isArray(t)&&(t=new Set(t));const a=[];return t.forEach(r=>{const n=r();n instanceof Promise&&a.push(n)}),Promise.all(a)},l=class{constructor(e,t){this.store=this.createStore(e,t)}static getInstance(e,t){let s=l.instances.get(e);return s===void 0&&(s=new l(t,e),l.instances.set(e,s)),s}createStore(e,t){return Object.defineProperty(e,t,{enumerable:!1,value:{},writable:!1}),e[t]}recursiveSetItem(e,t,s,a=l.options){let r=typeof s==\"object\"&&s!==null?{}:s;if(Object.defineProperty(e,t,{enumerable:a.enumerable===!0,get:()=>r,set:a.immutable===!0?void 0:n=>r=n}),typeof s==\"object\"&&s!==null)for(const[n,i]of Object.entries(s))this.recursiveSetItem(e[t],n,i,a)}setItem(e,t,s=l.options){return this.recursiveSetItem(this.store,e,t,s),this}getItem(e){return Array.isArray(e)?e.map(t=>this.getItem(t)):this.store[e]}};let u=l;u.options={enumerable:!1,immutable:!1},u.instances=new Map;const c=new Map,C=[],v=new Set,h=new Map,B=/--[^;]+/g,G=/:/;(typeof o.A11yUi!=\"object\"||o.A11yUi===null)&&(o.A11yUi={CSS_STYLE_CACHE:h,HYDRATED_HISTORY:C,STYLING_TASK_QUEUE:c});const K=(e,t)=>{let s=t.match(B);if(Array.isArray(s)){s=s.filter(r=>G.test(r));const a=document.createElement(\"style\");a.innerHTML=`.${e} {${s.join(\";\")}}`,document.querySelector(\"head\")?.appendChild(a)}v.add(e)},d=(e,t)=>typeof o.A11yUi==\"object\"&&o.A11yUi!==null&&typeof o.A11yUi.Themes==\"object\"&&o.A11yUi.Themes!==null&&typeof o.A11yUi.Themes[e]==\"object\"&&o.A11yUi.Themes[e]!==null&&typeof o.A11yUi.Themes[e][t]==\"string\"?o.A11yUi.Themes[e][t].replace(/\\r?\\n/g,\"\"):\"\",q=e=>{for(const t of Array.from(e.childNodes))if(t instanceof HTMLStyleElement&&t.tagName===\"STYLE\")e.removeChild(t);else break},F=(e,t)=>{try{const s=[];t.forEach(a=>{const r=new CSSStyleSheet;r.replaceSync(a),s.push(r)}),e.adoptedStyleSheets=s}catch{t.reverse().forEach(s=>{const a=document.createElement(\"style\");a.innerHTML=s,e.insertBefore(a,e.firstChild)})}},Q=(e,t,s)=>{if(s!==!1){const a=[...Array.from(e.childNodes).filter(n=>n instanceof HTMLStyleElement&&n.tagName===\"STYLE\")];let r;try{r=[...Array.from(e.adoptedStyleSheets)]}catch{r=[]}s?.mode===\"before\"?(a.reverse().forEach(n=>t.unshift(n.innerHTML)),r.reverse().forEach(n=>t.unshift(Array.from(n.cssRules).map(i=>i.cssText).join(\"\")))):s?.mode===\"after\"&&(a.forEach(n=>t.push(n.innerHTML)),r.forEach(n=>t.push(Array.from(n.cssRules).map(i=>i.cssText).join(\"\"))))}},L=(e,t,s)=>{const a=t.name||\"default\";let r;try{if(e.shadowRoot===null)throw new Error(\"ShadowRoot is null\");r=e.shadowRoot}catch{r=e}if(h.get(a)?.has(e.tagName))M(e,r,h.get(a)?.get(e.tagName),s);else{const n=d(a,\"PROPERTIES\"),i=d(a,\"GLOBAL\"),H=d(a,e.tagName);v.has(a)===!1&&K(a,i);const m=[n,i,H];Q(r,m,t.encroachCss),t.loglevel===\"debug\"&&console.log(e.tagName,m),t.cache===!0&&(h.has(a)===!1&&h.set(a,new Map),h.get(a)?.set(e.tagName,m)),M(e,r,m,s)}},M=(e,t,s,a)=>{q(t),F(t,s),e.style.display=a},$=e=>{e.loglevel===\"debug\"&&C.push({timestamp:Date.now(),numberOfTasks:c.size})},J=(e,t)=>{c.set(e,{styleDisplay:e.style.display?`${e.style.display}`:null,themeDetails:t})},V=(e,t)=>{J(e,t),$(t)},W=e=>{c.delete(e)},O=(e,t)=>{W(e),$(t)},R=e=>{const t=setTimeout(()=>{if(clearTimeout(t),c.has(e)&&e.classList.contains(\"hydrated\")){const{styleDisplay:s,themeDetails:a}=c.get(e);L(e,a,s),O(e,a)}else R(e)},25)},X=e=>{for(const t of e)if(c.has(t.target)&&t.target.classList.contains(\"hydrated\")){const{styleDisplay:s,themeDetails:a}=c.get(t.target);L(t.target,a,s),O(t.target,a)}},Z={attributes:!0,attributeFilter:[\"class\"],childList:!1,subtree:!1};let f;try{f=new MutationObserver(X)}catch{f=null}const ee=(e,t)=>{V(e,t),f?f.observe(e,Z):R(e),e.style.display=\"none\"};class te{constructor(t,s,a){this.createTheme=(r,n)=>P(r,n),this.createTranslation=(r,n)=>N(r,n),this.Prefix=t,this.Key=Object.getOwnPropertyNames(s),this.Tag=Object.getOwnPropertyNames(a)}}export{u as RobustStore,o as STORE,te as Theme,x as getTheme,S as getThemeDetails,b as patchTheme,A as patchThemeTag,_ as register,ee as setThemeStyle};\n","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\ttry {\n\t\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\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 { ModalService } from '../components/modal/service';\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\nconst KoliBri: Record<string, unknown> = {};\nObject.defineProperty(window, 'KoliBri', {\n\tget: function () {\n\t\treturn KoliBri;\n\t},\n});\nexport const initKoliBri = (): void => {\n\tif (KoliBri.Modal === undefined) {\n\t\tconst Modal = new ModalService();\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\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 | 2.0.1\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 (KoliBri.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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"}