@public-ui/components 1.7.0-rc.0 → 1.7.0-rc.2

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 (672) hide show
  1. package/README.md +2 -2
  2. package/custom-elements.json +24 -44
  3. package/dist/cjs/{a11y.tipps-96ce9b37.js → a11y.tipps-e8db4301.js} +1 -1
  4. package/dist/cjs/{a11y.tipps-96ce9b37.js.map → a11y.tipps-e8db4301.js.map} +1 -1
  5. package/dist/cjs/align-9e535cd3.js +4 -0
  6. package/dist/cjs/{align-cd2b9ee6.js.map → align-9e535cd3.js.map} +1 -1
  7. package/dist/cjs/{alignment-6ed74ea9.js → alignment-d4dd9d56.js} +1 -1
  8. package/dist/cjs/{alignment-6ed74ea9.js.map → alignment-d4dd9d56.js.map} +1 -1
  9. package/dist/cjs/{alternative-button-link-role-957c8128.js → alternative-button-link-role-0d41e022.js} +1 -1
  10. package/dist/cjs/{alternative-button-link-role-957c8128.js.map → alternative-button-link-role-0d41e022.js.map} +1 -1
  11. package/dist/cjs/{app-globals-c189d70c.js → app-globals-c03c57e1.js} +1 -1
  12. package/dist/cjs/{app-globals-c189d70c.js.map → app-globals-c03c57e1.js.map} +1 -1
  13. package/dist/cjs/associated.controller-5c849c6b.js +4 -0
  14. package/dist/cjs/associated.controller-5c849c6b.js.map +1 -0
  15. package/dist/cjs/{color-ed7d7857.js → color-862cae65.js} +1 -1
  16. package/dist/cjs/{color-ed7d7857.js.map → color-862cae65.js.map} +1 -1
  17. package/dist/cjs/{controller-53b1b9d6.js → controller-127af120.js} +1 -1
  18. package/dist/cjs/{controller-53b1b9d6.js.map → controller-127af120.js.map} +1 -1
  19. package/dist/cjs/{controller-6d457e6b.js → controller-13bfd3a4.js} +1 -1
  20. package/dist/cjs/{controller-6d457e6b.js.map → controller-13bfd3a4.js.map} +1 -1
  21. package/dist/cjs/controller-387fa6e7.js +4 -0
  22. package/dist/cjs/controller-387fa6e7.js.map +1 -0
  23. package/dist/cjs/{controller-e5904c13.js → controller-c5d6e4a4.js} +1 -1
  24. package/dist/cjs/{controller-e5904c13.js.map → controller-c5d6e4a4.js.map} +1 -1
  25. package/dist/cjs/{controller-bcd6b37f.js → controller-e572bee2.js} +1 -1
  26. package/dist/cjs/{controller-bcd6b37f.js.map → controller-e572bee2.js.map} +1 -1
  27. package/dist/cjs/{controller-icon-03bf8b94.js → controller-icon-745d6cf5.js} +1 -1
  28. package/dist/cjs/{controller-icon-03bf8b94.js.map → controller-icon-745d6cf5.js.map} +1 -1
  29. package/dist/cjs/{custom-class-f7a6b479.js → custom-class-73c0bab5.js} +1 -1
  30. package/dist/cjs/{custom-class-f7a6b479.js.map → custom-class-73c0bab5.js.map} +1 -1
  31. package/dist/cjs/{dev.utils-044a40b7.js → dev.utils-7eab34a4.js} +1 -1
  32. package/dist/cjs/{dev.utils-044a40b7.js.map → dev.utils-7eab34a4.js.map} +1 -1
  33. package/dist/cjs/{devtools-3e16c661.js → devtools-ba0075f3.js} +1 -1
  34. package/dist/cjs/{devtools-3e16c661.js.map → devtools-ba0075f3.js.map} +1 -1
  35. package/dist/cjs/events-a0c291ce.js +4 -0
  36. package/dist/cjs/events-a0c291ce.js.map +1 -0
  37. package/dist/cjs/has-closer-8ef0053a.js +4 -0
  38. package/dist/cjs/{has-closer-043e2606.js.map → has-closer-8ef0053a.js.map} +1 -1
  39. package/dist/cjs/hide-label-446ae8ed.js +4 -0
  40. package/dist/cjs/{hide-label-fe2e600f.js.map → hide-label-446ae8ed.js.map} +1 -1
  41. package/dist/cjs/i18n-408350a7.js +4 -0
  42. package/dist/cjs/i18n-408350a7.js.map +1 -0
  43. package/dist/cjs/{icon-e53fc7f7.js → icon-704abbaa.js} +1 -1
  44. package/dist/cjs/{icon-e53fc7f7.js.map → icon-704abbaa.js.map} +1 -1
  45. package/dist/cjs/image-source-46c66acc.js +4 -0
  46. package/dist/cjs/{image-source-e6a40864.js.map → image-source-46c66acc.js.map} +1 -1
  47. package/dist/cjs/{index-51c274b1.js → index-21737b53.js} +1 -1
  48. package/dist/cjs/index-21737b53.js.map +1 -0
  49. package/dist/cjs/index-a41eeee5.js +5 -0
  50. package/dist/cjs/index-a41eeee5.js.map +1 -0
  51. package/dist/cjs/index-bb9259d5.js +4 -0
  52. package/dist/cjs/index-bb9259d5.js.map +1 -0
  53. package/dist/cjs/index.cjs.js +1 -1
  54. package/dist/cjs/index.cjs.js.map +1 -1
  55. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-alert-wc_3.cjs.entry.js +4 -0
  58. package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +1 -0
  59. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  64. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-button-link.cjs.entry.js +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-details.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-details.cjs.entry.js.map +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-font-awesome.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  93. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  95. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-input.cjs.entry.js +4 -0
  103. package/dist/cjs/kol-input.cjs.entry.js.map +1 -0
  104. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  116. package/dist/cjs/kol-quote.cjs.entry.js +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_2.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  126. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  128. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  130. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  131. package/dist/cjs/kol-toast-container.cjs.entry.js +4 -0
  132. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -0
  133. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  134. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  135. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  136. package/dist/cjs/kolibri.cjs.js +1 -1
  137. package/dist/cjs/{label-59b52b43.js → label-33d596db.js} +1 -1
  138. package/dist/cjs/{label-59b52b43.js.map → label-33d596db.js.map} +1 -1
  139. package/dist/cjs/loader.cjs.js +1 -1
  140. package/dist/cjs/open-ac9f80a5.js +4 -0
  141. package/dist/cjs/{open-aa47c446.js.map → open-ac9f80a5.js.map} +1 -1
  142. package/dist/cjs/{prop.validators-9c5ce3b2.js → prop.validators-407eb859.js} +1 -1
  143. package/dist/cjs/{prop.validators-9c5ce3b2.js.map → prop.validators-407eb859.js.map} +1 -1
  144. package/dist/cjs/{reuse-5fad9b6e.js → reuse-d70546ae.js} +1 -1
  145. package/dist/cjs/reuse-d70546ae.js.map +1 -0
  146. package/dist/cjs/rows-adb589f4.js +4 -0
  147. package/dist/cjs/{rows-e7af6c8c.js.map → rows-adb589f4.js.map} +1 -1
  148. package/dist/cjs/show-a96164f1.js +4 -0
  149. package/dist/cjs/{show-a4068936.js.map → show-a96164f1.js.map} +1 -1
  150. package/dist/cjs/{suggestions-ce6b8b43.js → suggestions-c960e06b.js} +1 -1
  151. package/dist/cjs/{suggestions-ce6b8b43.js.map → suggestions-c960e06b.js.map} +1 -1
  152. package/dist/cjs/{tab-index-0c7777be.js → tab-index-b3b06103.js} +1 -1
  153. package/dist/cjs/{tab-index-0c7777be.js.map → tab-index-b3b06103.js.map} +1 -1
  154. package/dist/cjs/tooltip-align-f6084a9c.js +4 -0
  155. package/dist/cjs/{tooltip-align-64e446cd.js.map → tooltip-align-f6084a9c.js.map} +1 -1
  156. package/dist/cjs/{validation-9eb5efb0.js → validation-49285437.js} +1 -1
  157. package/dist/cjs/{validation-9eb5efb0.js.map → validation-49285437.js.map} +1 -1
  158. package/dist/cjs/{validation-78350ede.js → validation-f3d777f5.js} +1 -1
  159. package/dist/cjs/{validation-78350ede.js.map → validation-f3d777f5.js.map} +1 -1
  160. package/dist/components/alternative-button-link-role.js +1 -1
  161. package/dist/components/color.js +1 -1
  162. package/dist/components/component13.js +1 -1
  163. package/dist/components/component13.js.map +1 -1
  164. package/dist/components/component14.js +1 -1
  165. package/dist/components/component14.js.map +1 -1
  166. package/dist/components/component15.js +1 -1
  167. package/dist/components/component16.js +1 -1
  168. package/dist/components/component16.js.map +1 -1
  169. package/dist/components/component17.js +4 -0
  170. package/dist/components/component17.js.map +1 -0
  171. package/dist/components/component2.js +1 -1
  172. package/dist/components/component2.js.map +1 -1
  173. package/dist/components/component3.js +1 -1
  174. package/dist/components/component3.js.map +1 -1
  175. package/dist/components/component5.js +1 -1
  176. package/dist/components/component5.js.map +1 -1
  177. package/dist/components/component6.js +1 -1
  178. package/dist/components/component8.js +1 -1
  179. package/dist/components/component8.js.map +1 -1
  180. package/dist/components/component9.js +1 -1
  181. package/dist/components/controller.js +1 -1
  182. package/dist/components/controller.js.map +1 -1
  183. package/dist/components/controller2.js +1 -1
  184. package/dist/components/controller4.js +1 -1
  185. package/dist/components/devtools.js +1 -1
  186. package/dist/components/events.js +4 -0
  187. package/dist/components/events.js.map +1 -0
  188. package/dist/components/i18n.js +1 -1
  189. package/dist/components/i18n.js.map +1 -1
  190. package/dist/components/index.js +1 -1
  191. package/dist/components/index.js.map +1 -1
  192. package/dist/components/kol-accordion.js +1 -1
  193. package/dist/components/kol-breadcrumb.js +1 -1
  194. package/dist/components/kol-button-link.js +1 -1
  195. package/dist/components/kol-card.js +1 -1
  196. package/dist/components/kol-details.js +1 -1
  197. package/dist/components/kol-details.js.map +1 -1
  198. package/dist/components/kol-input-adapter-leanup.js +1 -1
  199. package/dist/components/kol-input-checkbox.js +1 -1
  200. package/dist/components/kol-input-checkbox.js.map +1 -1
  201. package/dist/components/kol-input-color.js +1 -1
  202. package/dist/components/kol-input-color.js.map +1 -1
  203. package/dist/components/kol-input-date.js +1 -1
  204. package/dist/components/kol-input-date.js.map +1 -1
  205. package/dist/components/kol-input-email.js +1 -1
  206. package/dist/components/kol-input-email.js.map +1 -1
  207. package/dist/components/kol-input-file.js +1 -1
  208. package/dist/components/kol-input-file.js.map +1 -1
  209. package/dist/components/kol-input-number.js +1 -1
  210. package/dist/components/kol-input-number.js.map +1 -1
  211. package/dist/components/kol-input-password.js +1 -1
  212. package/dist/components/kol-input-password.js.map +1 -1
  213. package/dist/components/kol-input-radio-group.js +1 -1
  214. package/dist/components/kol-input-range.js +1 -1
  215. package/dist/components/kol-input-range.js.map +1 -1
  216. package/dist/components/kol-input-text.js +1 -1
  217. package/dist/components/kol-input-text.js.map +1 -1
  218. package/dist/components/kol-link-button.js +1 -1
  219. package/dist/components/kol-link-group.js.map +1 -1
  220. package/dist/components/kol-logo.js +1 -1
  221. package/dist/components/kol-modal.js +1 -1
  222. package/dist/components/kol-nav.js +1 -1
  223. package/dist/components/kol-popover.js +1 -1
  224. package/dist/components/kol-progress.js +1 -1
  225. package/dist/components/kol-span.js +1 -1
  226. package/dist/components/kol-span.js.map +1 -1
  227. package/dist/components/kol-table.js +1 -1
  228. package/dist/components/kol-tabs.js +1 -1
  229. package/dist/components/kol-textarea.js +1 -1
  230. package/dist/components/kol-textarea.js.map +1 -1
  231. package/dist/components/kol-toast-container.d.ts +11 -0
  232. package/dist/components/kol-toast-container.js +4 -0
  233. package/dist/components/kol-toast-container.js.map +1 -0
  234. package/dist/components/kol-toast.js +1 -1
  235. package/dist/components/kol-toast.js.map +1 -1
  236. package/dist/components/prop.validators.js +1 -1
  237. package/dist/components/prop.validators.js.map +1 -1
  238. package/dist/components/rows.js +1 -1
  239. package/dist/components/shadow2.js +1 -1
  240. package/dist/components/shadow3.js +1 -1
  241. package/dist/components/suggestions.js +1 -1
  242. package/dist/components/validation.js +1 -1
  243. package/dist/esm/{a11y.tipps-de9972d7.js → a11y.tipps-8ac27a12.js} +1 -1
  244. package/dist/esm/{a11y.tipps-de9972d7.js.map → a11y.tipps-8ac27a12.js.map} +1 -1
  245. package/dist/esm/{align-914d7cec.js → align-96c1f990.js} +1 -1
  246. package/dist/esm/{align-914d7cec.js.map → align-96c1f990.js.map} +1 -1
  247. package/dist/esm/{alignment-aafa5e96.js → alignment-313f7fef.js} +1 -1
  248. package/dist/esm/{alignment-aafa5e96.js.map → alignment-313f7fef.js.map} +1 -1
  249. package/dist/esm/{alternative-button-link-role-b4b137dd.js → alternative-button-link-role-2448c7aa.js} +1 -1
  250. package/dist/esm/{alternative-button-link-role-b4b137dd.js.map → alternative-button-link-role-2448c7aa.js.map} +1 -1
  251. package/dist/esm/app-globals-d3c4b38e.js +4 -0
  252. package/dist/esm/{app-globals-a5331ca0.js.map → app-globals-d3c4b38e.js.map} +1 -1
  253. package/dist/esm/associated.controller-2e4854aa.js +4 -0
  254. package/dist/esm/associated.controller-2e4854aa.js.map +1 -0
  255. package/dist/esm/{color-4c79d0e0.js → color-994bf163.js} +1 -1
  256. package/dist/esm/{color-4c79d0e0.js.map → color-994bf163.js.map} +1 -1
  257. package/dist/esm/{controller-68483d1f.js → controller-6853d800.js} +1 -1
  258. package/dist/esm/{controller-68483d1f.js.map → controller-6853d800.js.map} +1 -1
  259. package/dist/esm/{controller-513bb459.js → controller-68f34456.js} +1 -1
  260. package/dist/esm/{controller-513bb459.js.map → controller-68f34456.js.map} +1 -1
  261. package/dist/esm/{controller-efc002af.js → controller-6ab1cb06.js} +1 -1
  262. package/dist/esm/{controller-efc002af.js.map → controller-6ab1cb06.js.map} +1 -1
  263. package/dist/esm/controller-8eb319c8.js +4 -0
  264. package/dist/esm/controller-8eb319c8.js.map +1 -0
  265. package/dist/esm/{controller-c2312abc.js → controller-bc00373d.js} +1 -1
  266. package/dist/esm/{controller-c2312abc.js.map → controller-bc00373d.js.map} +1 -1
  267. package/dist/esm/{controller-icon-5dd8ca8b.js → controller-icon-5fe19121.js} +1 -1
  268. package/dist/esm/{controller-icon-5dd8ca8b.js.map → controller-icon-5fe19121.js.map} +1 -1
  269. package/dist/esm/{custom-class-8262a744.js → custom-class-59057e96.js} +1 -1
  270. package/dist/esm/{custom-class-8262a744.js.map → custom-class-59057e96.js.map} +1 -1
  271. package/dist/esm/{dev.utils-eba8f2da.js → dev.utils-2dfcff1c.js} +1 -1
  272. package/dist/esm/{dev.utils-eba8f2da.js.map → dev.utils-2dfcff1c.js.map} +1 -1
  273. package/dist/esm/{devtools-1b6f40bf.js → devtools-3a887392.js} +1 -1
  274. package/dist/esm/{devtools-1b6f40bf.js.map → devtools-3a887392.js.map} +1 -1
  275. package/dist/esm/events-2bb1065b.js +4 -0
  276. package/dist/esm/events-2bb1065b.js.map +1 -0
  277. package/dist/esm/{has-closer-ddaf3841.js → has-closer-fd018dc5.js} +1 -1
  278. package/dist/esm/{has-closer-ddaf3841.js.map → has-closer-fd018dc5.js.map} +1 -1
  279. package/dist/esm/{hide-label-e9d64d0e.js → hide-label-dd9b83d5.js} +1 -1
  280. package/dist/esm/{hide-label-e9d64d0e.js.map → hide-label-dd9b83d5.js.map} +1 -1
  281. package/dist/esm/i18n-4753a22f.js +4 -0
  282. package/dist/esm/i18n-4753a22f.js.map +1 -0
  283. package/dist/esm/{icon-b683fb48.js → icon-30b99a49.js} +1 -1
  284. package/dist/esm/{icon-b683fb48.js.map → icon-30b99a49.js.map} +1 -1
  285. package/dist/esm/{image-source-02189a77.js → image-source-84a695dd.js} +1 -1
  286. package/dist/esm/{image-source-02189a77.js.map → image-source-84a695dd.js.map} +1 -1
  287. package/dist/esm/index-42a84baa.js +4 -0
  288. package/dist/esm/index-42a84baa.js.map +1 -0
  289. package/dist/esm/{index-accc567c.js → index-d49940eb.js} +1 -1
  290. package/dist/esm/index-d49940eb.js.map +1 -0
  291. package/dist/esm/index-e27342ee.js +5 -0
  292. package/dist/{cjs/index-18912bca.js.map → esm/index-e27342ee.js.map} +1 -1
  293. package/dist/esm/index.js +1 -1
  294. package/dist/esm/index.js.map +1 -1
  295. package/dist/esm/kol-abbr.entry.js +1 -1
  296. package/dist/esm/kol-accordion.entry.js +1 -1
  297. package/dist/esm/kol-alert-wc_3.entry.js +4 -0
  298. package/dist/esm/kol-alert-wc_3.entry.js.map +1 -0
  299. package/dist/esm/kol-alert.entry.js +1 -1
  300. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  301. package/dist/esm/kol-avatar.entry.js +1 -1
  302. package/dist/esm/kol-badge.entry.js +1 -1
  303. package/dist/esm/kol-badge.entry.js.map +1 -1
  304. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  305. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  306. package/dist/esm/kol-button-group.entry.js +1 -1
  307. package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
  308. package/dist/esm/kol-button-link.entry.js +1 -1
  309. package/dist/esm/kol-button.entry.js +1 -1
  310. package/dist/esm/kol-card.entry.js +1 -1
  311. package/dist/esm/kol-details.entry.js +1 -1
  312. package/dist/esm/kol-details.entry.js.map +1 -1
  313. package/dist/esm/kol-form.entry.js +1 -1
  314. package/dist/esm/kol-heading.entry.js +1 -1
  315. package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
  316. package/dist/esm/kol-icon-icofont.entry.js +1 -1
  317. package/dist/esm/kol-icon.entry.js +1 -1
  318. package/dist/esm/kol-image.entry.js +1 -1
  319. package/dist/esm/kol-indented-text.entry.js +1 -1
  320. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  321. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  322. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  323. package/dist/esm/kol-input-color.entry.js +1 -1
  324. package/dist/esm/kol-input-color.entry.js.map +1 -1
  325. package/dist/esm/kol-input-date.entry.js +1 -1
  326. package/dist/esm/kol-input-date.entry.js.map +1 -1
  327. package/dist/esm/kol-input-email.entry.js +1 -1
  328. package/dist/esm/kol-input-email.entry.js.map +1 -1
  329. package/dist/esm/kol-input-file.entry.js +1 -1
  330. package/dist/esm/kol-input-file.entry.js.map +1 -1
  331. package/dist/esm/kol-input-number.entry.js +1 -1
  332. package/dist/esm/kol-input-number.entry.js.map +1 -1
  333. package/dist/esm/kol-input-password.entry.js +1 -1
  334. package/dist/esm/kol-input-password.entry.js.map +1 -1
  335. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  336. package/dist/esm/kol-input-radio.entry.js +1 -1
  337. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  338. package/dist/esm/kol-input-range.entry.js +1 -1
  339. package/dist/esm/kol-input-range.entry.js.map +1 -1
  340. package/dist/esm/kol-input-text.entry.js +1 -1
  341. package/dist/esm/kol-input-text.entry.js.map +1 -1
  342. package/dist/esm/kol-input.entry.js +4 -0
  343. package/dist/esm/kol-input.entry.js.map +1 -0
  344. package/dist/esm/kol-kolibri.entry.js +1 -1
  345. package/dist/esm/kol-link-button.entry.js +1 -1
  346. package/dist/esm/kol-link-group.entry.js +1 -1
  347. package/dist/esm/kol-link-group.entry.js.map +1 -1
  348. package/dist/esm/kol-link-wc.entry.js +1 -1
  349. package/dist/esm/kol-link.entry.js +1 -1
  350. package/dist/esm/kol-logo.entry.js +1 -1
  351. package/dist/esm/kol-modal.entry.js +1 -1
  352. package/dist/esm/kol-nav.entry.js +1 -1
  353. package/dist/esm/kol-pagination.entry.js +1 -1
  354. package/dist/esm/kol-popover.entry.js +1 -1
  355. package/dist/esm/kol-progress.entry.js +1 -1
  356. package/dist/esm/kol-quote.entry.js +1 -1
  357. package/dist/esm/kol-select.entry.js +1 -1
  358. package/dist/esm/kol-select.entry.js.map +1 -1
  359. package/dist/esm/kol-skip-nav.entry.js +1 -1
  360. package/dist/esm/kol-span-wc_2.entry.js +1 -1
  361. package/dist/esm/kol-span-wc_2.entry.js.map +1 -1
  362. package/dist/esm/kol-span.entry.js +1 -1
  363. package/dist/esm/kol-span.entry.js.map +1 -1
  364. package/dist/esm/kol-spin.entry.js +1 -1
  365. package/dist/esm/kol-split-button.entry.js +1 -1
  366. package/dist/esm/kol-symbol.entry.js +1 -1
  367. package/dist/esm/kol-table.entry.js +1 -1
  368. package/dist/esm/kol-tabs.entry.js +1 -1
  369. package/dist/esm/kol-textarea.entry.js +1 -1
  370. package/dist/esm/kol-textarea.entry.js.map +1 -1
  371. package/dist/esm/kol-toast-container.entry.js +4 -0
  372. package/dist/esm/kol-toast-container.entry.js.map +1 -0
  373. package/dist/esm/kol-toast.entry.js +1 -1
  374. package/dist/esm/kol-toast.entry.js.map +1 -1
  375. package/dist/esm/kol-version.entry.js +1 -1
  376. package/dist/esm/kolibri.js +1 -1
  377. package/dist/esm/{label-14bf9651.js → label-cdf2126a.js} +1 -1
  378. package/dist/esm/{label-14bf9651.js.map → label-cdf2126a.js.map} +1 -1
  379. package/dist/esm/loader.js +1 -1
  380. package/dist/esm/{open-c85aa1b6.js → open-46e62bc3.js} +1 -1
  381. package/dist/esm/{open-c85aa1b6.js.map → open-46e62bc3.js.map} +1 -1
  382. package/dist/esm/{prop.validators-eed6b0ae.js → prop.validators-e3efc9be.js} +1 -1
  383. package/dist/esm/{prop.validators-eed6b0ae.js.map → prop.validators-e3efc9be.js.map} +1 -1
  384. package/dist/esm/reuse-3698e2f5.js +4 -0
  385. package/dist/esm/reuse-3698e2f5.js.map +1 -0
  386. package/dist/esm/{rows-2985bb0d.js → rows-8e1f2d42.js} +1 -1
  387. package/dist/esm/{rows-2985bb0d.js.map → rows-8e1f2d42.js.map} +1 -1
  388. package/dist/esm/{show-ec2bb13e.js → show-820a9a22.js} +1 -1
  389. package/dist/esm/{show-ec2bb13e.js.map → show-820a9a22.js.map} +1 -1
  390. package/dist/esm/{suggestions-2b03c4a1.js → suggestions-c6fb713f.js} +1 -1
  391. package/dist/esm/{suggestions-2b03c4a1.js.map → suggestions-c6fb713f.js.map} +1 -1
  392. package/dist/esm/{tab-index-2eec0401.js → tab-index-9c10594d.js} +1 -1
  393. package/dist/esm/{tab-index-2eec0401.js.map → tab-index-9c10594d.js.map} +1 -1
  394. package/dist/esm/tooltip-align-b91851a6.js +4 -0
  395. package/dist/esm/{tooltip-align-5eef0171.js.map → tooltip-align-b91851a6.js.map} +1 -1
  396. package/dist/esm/{validation-3c6bb1de.js → validation-506928e9.js} +1 -1
  397. package/dist/esm/{validation-3c6bb1de.js.map → validation-506928e9.js.map} +1 -1
  398. package/dist/esm/validation-eb464d50.js +4 -0
  399. package/dist/esm/{validation-9af28920.js.map → validation-eb464d50.js.map} +1 -1
  400. package/dist/kolibri/{a11y.tipps-de9972d7.js → a11y.tipps-8ac27a12.js} +1 -1
  401. package/dist/kolibri/align-96c1f990.js +4 -0
  402. package/dist/kolibri/alignment-313f7fef.js +4 -0
  403. package/dist/kolibri/{alternative-button-link-role-b4b137dd.js → alternative-button-link-role-2448c7aa.js} +1 -1
  404. package/dist/kolibri/app-globals-d3c4b38e.js +4 -0
  405. package/dist/kolibri/{app-globals-a5331ca0.js.map → app-globals-d3c4b38e.js.map} +1 -1
  406. package/dist/kolibri/associated.controller-2e4854aa.js +4 -0
  407. package/dist/{cjs/associated.controller-046a3bc7.js.map → kolibri/associated.controller-2e4854aa.js.map} +1 -1
  408. package/dist/kolibri/{color-4c79d0e0.js → color-994bf163.js} +1 -1
  409. package/dist/kolibri/{controller-68483d1f.js → controller-6853d800.js} +1 -1
  410. package/dist/kolibri/{controller-513bb459.js → controller-68f34456.js} +1 -1
  411. package/dist/kolibri/{controller-efc002af.js → controller-6ab1cb06.js} +1 -1
  412. package/dist/kolibri/controller-8eb319c8.js +4 -0
  413. package/dist/kolibri/{controller-4377db26.js.map → controller-8eb319c8.js.map} +1 -1
  414. package/dist/kolibri/controller-bc00373d.js +4 -0
  415. package/dist/kolibri/{controller-c2312abc.js.map → controller-bc00373d.js.map} +1 -1
  416. package/dist/kolibri/controller-icon-5fe19121.js +4 -0
  417. package/dist/kolibri/{controller-icon-5dd8ca8b.js.map → controller-icon-5fe19121.js.map} +1 -1
  418. package/dist/kolibri/{custom-class-8262a744.js → custom-class-59057e96.js} +1 -1
  419. package/dist/kolibri/{dev.utils-eba8f2da.js → dev.utils-2dfcff1c.js} +1 -1
  420. package/dist/kolibri/{dev.utils-eba8f2da.js.map → dev.utils-2dfcff1c.js.map} +1 -1
  421. package/dist/kolibri/{devtools-1b6f40bf.js → devtools-3a887392.js} +1 -1
  422. package/dist/kolibri/events-2bb1065b.js +4 -0
  423. package/dist/kolibri/events-2bb1065b.js.map +1 -0
  424. package/dist/kolibri/has-closer-fd018dc5.js +4 -0
  425. package/dist/kolibri/{has-closer-ddaf3841.js.map → has-closer-fd018dc5.js.map} +1 -1
  426. package/dist/kolibri/hide-label-dd9b83d5.js +4 -0
  427. package/dist/kolibri/i18n-4753a22f.js +4 -0
  428. package/dist/kolibri/i18n-4753a22f.js.map +1 -0
  429. package/dist/kolibri/{icon-b683fb48.js → icon-30b99a49.js} +1 -1
  430. package/dist/kolibri/image-source-84a695dd.js +4 -0
  431. package/dist/kolibri/index-42a84baa.js +4 -0
  432. package/dist/kolibri/index-42a84baa.js.map +1 -0
  433. package/dist/kolibri/{index-accc567c.js → index-d49940eb.js} +1 -1
  434. package/dist/kolibri/index-d49940eb.js.map +1 -0
  435. package/dist/kolibri/index-e27342ee.js +5 -0
  436. package/dist/kolibri/index-e27342ee.js.map +1 -0
  437. package/dist/kolibri/index.esm.js +1 -1
  438. package/dist/kolibri/index.esm.js.map +1 -1
  439. package/dist/kolibri/kol-abbr.entry.js +1 -1
  440. package/dist/kolibri/kol-accordion.entry.js +1 -1
  441. package/dist/kolibri/kol-alert-wc_3.entry.js +4 -0
  442. package/dist/kolibri/kol-alert-wc_3.entry.js.map +1 -0
  443. package/dist/kolibri/kol-alert.entry.js +1 -1
  444. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  445. package/dist/kolibri/kol-avatar.entry.js +1 -1
  446. package/dist/kolibri/kol-badge.entry.js +1 -1
  447. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  448. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  449. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  450. package/dist/kolibri/kol-button-group.entry.js +1 -1
  451. package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
  452. package/dist/kolibri/kol-button-link.entry.js +1 -1
  453. package/dist/kolibri/kol-button.entry.js +1 -1
  454. package/dist/kolibri/kol-card.entry.js +1 -1
  455. package/dist/kolibri/kol-details.entry.js +1 -1
  456. package/dist/kolibri/kol-details.entry.js.map +1 -1
  457. package/dist/kolibri/kol-form.entry.js +1 -1
  458. package/dist/kolibri/kol-heading.entry.js +1 -1
  459. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  460. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  461. package/dist/kolibri/kol-icon.entry.js +1 -1
  462. package/dist/kolibri/kol-image.entry.js +1 -1
  463. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  464. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  465. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  466. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  467. package/dist/kolibri/kol-input-color.entry.js +1 -1
  468. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  469. package/dist/kolibri/kol-input-date.entry.js +1 -1
  470. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  471. package/dist/kolibri/kol-input-email.entry.js +1 -1
  472. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  473. package/dist/kolibri/kol-input-file.entry.js +1 -1
  474. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  475. package/dist/kolibri/kol-input-number.entry.js +1 -1
  476. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  477. package/dist/kolibri/kol-input-password.entry.js +1 -1
  478. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  479. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  480. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  481. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  482. package/dist/kolibri/kol-input-range.entry.js +1 -1
  483. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  484. package/dist/kolibri/kol-input-text.entry.js +1 -1
  485. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  486. package/dist/kolibri/kol-input.entry.js +4 -0
  487. package/dist/kolibri/kol-input.entry.js.map +1 -0
  488. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  489. package/dist/kolibri/kol-link-button.entry.js +1 -1
  490. package/dist/kolibri/kol-link-group.entry.js +1 -1
  491. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  492. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  493. package/dist/kolibri/kol-link.entry.js +1 -1
  494. package/dist/kolibri/kol-logo.entry.js +1 -1
  495. package/dist/kolibri/kol-modal.entry.js +1 -1
  496. package/dist/kolibri/kol-nav.entry.js +1 -1
  497. package/dist/kolibri/kol-pagination.entry.js +1 -1
  498. package/dist/kolibri/kol-popover.entry.js +1 -1
  499. package/dist/kolibri/kol-progress.entry.js +1 -1
  500. package/dist/kolibri/kol-quote.entry.js +1 -1
  501. package/dist/kolibri/kol-select.entry.js +1 -1
  502. package/dist/kolibri/kol-select.entry.js.map +1 -1
  503. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  504. package/dist/kolibri/kol-span-wc_2.entry.js +1 -1
  505. package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -1
  506. package/dist/kolibri/kol-span.entry.js +1 -1
  507. package/dist/kolibri/kol-span.entry.js.map +1 -1
  508. package/dist/kolibri/kol-spin.entry.js +1 -1
  509. package/dist/kolibri/kol-split-button.entry.js +1 -1
  510. package/dist/kolibri/kol-symbol.entry.js +1 -1
  511. package/dist/kolibri/kol-table.entry.js +1 -1
  512. package/dist/kolibri/kol-tabs.entry.js +1 -1
  513. package/dist/kolibri/kol-textarea.entry.js +1 -1
  514. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  515. package/dist/kolibri/kol-toast-container.entry.js +4 -0
  516. package/dist/kolibri/kol-toast-container.entry.js.map +1 -0
  517. package/dist/kolibri/kol-toast.entry.js +1 -1
  518. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  519. package/dist/kolibri/kol-version.entry.js +1 -1
  520. package/dist/kolibri/kolibri.esm.js +1 -1
  521. package/dist/kolibri/kolibri.esm.js.map +1 -1
  522. package/dist/kolibri/label-cdf2126a.js +4 -0
  523. package/dist/kolibri/open-46e62bc3.js +4 -0
  524. package/dist/kolibri/prop.validators-e3efc9be.js +4 -0
  525. package/dist/kolibri/reuse-3698e2f5.js +4 -0
  526. package/dist/kolibri/reuse-3698e2f5.js.map +1 -0
  527. package/dist/kolibri/rows-8e1f2d42.js +4 -0
  528. package/dist/kolibri/show-820a9a22.js +4 -0
  529. package/dist/kolibri/{suggestions-2b03c4a1.js → suggestions-c6fb713f.js} +1 -1
  530. package/dist/kolibri/tab-index-9c10594d.js +4 -0
  531. package/dist/kolibri/{tab-index-2eec0401.js.map → tab-index-9c10594d.js.map} +1 -1
  532. package/dist/kolibri/tooltip-align-b91851a6.js +4 -0
  533. package/dist/kolibri/validation-506928e9.js +4 -0
  534. package/dist/kolibri/validation-eb464d50.js +4 -0
  535. package/dist/types/components/badge/test/html.mock.d.ts +2 -1
  536. package/dist/types/components/details/component.d.ts +6 -2
  537. package/dist/types/components/details/types.d.ts +5 -0
  538. package/dist/types/components/input/component.d.ts +6 -2
  539. package/dist/types/components/span/component.d.ts +2 -0
  540. package/dist/types/components/span/test/html.mock.d.ts +5 -1
  541. package/dist/types/components/span/types.d.ts +2 -0
  542. package/dist/types/components/toast/component.d.ts +4 -18
  543. package/dist/types/components/toast/toaster.d.ts +3 -14
  544. package/dist/types/components/toast/types.d.ts +5 -9
  545. package/dist/types/components/toast-container/component.d.ts +9 -0
  546. package/dist/types/components/toast-container/types.d.ts +24 -0
  547. package/dist/types/components/tooltip/component.d.ts +5 -2
  548. package/dist/types/components/version/test/html.mock.d.ts +2 -1
  549. package/dist/types/components.d.ts +46 -56
  550. package/dist/types/dev/details-synced-open-state.d.ts +2 -0
  551. package/dist/types/dev/index.d.ts +1 -0
  552. package/dist/types/dev/reprod-accordion-does-not-toggle-with-open.d.ts +2 -0
  553. package/dist/types/dev/theme-registration.d.ts +1 -0
  554. package/dist/types/dev/toaster.d.ts +1 -0
  555. package/dist/types/i18n.d.ts +1 -1
  556. package/dist/types/locales/de.d.ts +1 -0
  557. package/dist/types/locales/en.d.ts +1 -0
  558. package/dist/types/utils/events.d.ts +1 -1
  559. package/dist/types/utils/markdown.d.ts +1 -0
  560. package/dist/types/utils/reuse.d.ts +1 -1
  561. package/doc/button.md +2 -0
  562. package/doc/details.md +6 -5
  563. package/doc/input-date.md +21 -0
  564. package/doc/input-range.md +1 -2
  565. package/doc/input-text.md +1 -4
  566. package/doc/link-group.md +1 -1
  567. package/doc/quote.md +14 -16
  568. package/doc/select.md +12 -12
  569. package/doc/toast-container.md +46 -0
  570. package/doc/toast.md +23 -14
  571. package/jest-test-results.json +1 -1
  572. package/package.json +1 -1
  573. package/vscode-custom-data.json +22 -23
  574. package/dist/cjs/align-cd2b9ee6.js +0 -4
  575. package/dist/cjs/associated.controller-046a3bc7.js +0 -4
  576. package/dist/cjs/controller-4da78e89.js +0 -4
  577. package/dist/cjs/controller-4da78e89.js.map +0 -1
  578. package/dist/cjs/has-closer-043e2606.js +0 -4
  579. package/dist/cjs/hide-label-fe2e600f.js +0 -4
  580. package/dist/cjs/i18n-5e4b8bf8.js +0 -4
  581. package/dist/cjs/i18n-5e4b8bf8.js.map +0 -1
  582. package/dist/cjs/image-source-e6a40864.js +0 -4
  583. package/dist/cjs/index-18912bca.js +0 -5
  584. package/dist/cjs/index-51c274b1.js.map +0 -1
  585. package/dist/cjs/index-f4a3c106.js +0 -4
  586. package/dist/cjs/index-f4a3c106.js.map +0 -1
  587. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +0 -4
  588. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +0 -1
  589. package/dist/cjs/kol-button-wc_2.cjs.entry.js +0 -4
  590. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +0 -1
  591. package/dist/cjs/open-aa47c446.js +0 -4
  592. package/dist/cjs/reuse-5fad9b6e.js.map +0 -1
  593. package/dist/cjs/rows-e7af6c8c.js +0 -4
  594. package/dist/cjs/show-a4068936.js +0 -4
  595. package/dist/cjs/tooltip-align-64e446cd.js +0 -4
  596. package/dist/declare.d.ts +0 -26
  597. package/dist/esm/app-globals-a5331ca0.js +0 -4
  598. package/dist/esm/associated.controller-d0b8d035.js +0 -4
  599. package/dist/esm/associated.controller-d0b8d035.js.map +0 -1
  600. package/dist/esm/controller-4377db26.js +0 -4
  601. package/dist/esm/controller-4377db26.js.map +0 -1
  602. package/dist/esm/i18n-a1e6f17e.js +0 -4
  603. package/dist/esm/i18n-a1e6f17e.js.map +0 -1
  604. package/dist/esm/index-2bab8f5e.js +0 -4
  605. package/dist/esm/index-2bab8f5e.js.map +0 -1
  606. package/dist/esm/index-5ab2ea42.js +0 -5
  607. package/dist/esm/index-5ab2ea42.js.map +0 -1
  608. package/dist/esm/index-accc567c.js.map +0 -1
  609. package/dist/esm/kol-alert-wc_2.entry.js +0 -4
  610. package/dist/esm/kol-alert-wc_2.entry.js.map +0 -1
  611. package/dist/esm/kol-button-wc_2.entry.js +0 -4
  612. package/dist/esm/kol-button-wc_2.entry.js.map +0 -1
  613. package/dist/esm/reuse-c2156413.js +0 -4
  614. package/dist/esm/reuse-c2156413.js.map +0 -1
  615. package/dist/esm/tooltip-align-5eef0171.js +0 -4
  616. package/dist/esm/validation-9af28920.js +0 -4
  617. package/dist/kolibri/align-914d7cec.js +0 -4
  618. package/dist/kolibri/alignment-aafa5e96.js +0 -4
  619. package/dist/kolibri/app-globals-a5331ca0.js +0 -4
  620. package/dist/kolibri/associated.controller-d0b8d035.js +0 -4
  621. package/dist/kolibri/associated.controller-d0b8d035.js.map +0 -1
  622. package/dist/kolibri/controller-4377db26.js +0 -4
  623. package/dist/kolibri/controller-c2312abc.js +0 -4
  624. package/dist/kolibri/controller-icon-5dd8ca8b.js +0 -4
  625. package/dist/kolibri/has-closer-ddaf3841.js +0 -4
  626. package/dist/kolibri/hide-label-e9d64d0e.js +0 -4
  627. package/dist/kolibri/i18n-a1e6f17e.js +0 -4
  628. package/dist/kolibri/i18n-a1e6f17e.js.map +0 -1
  629. package/dist/kolibri/image-source-02189a77.js +0 -4
  630. package/dist/kolibri/index-2bab8f5e.js +0 -4
  631. package/dist/kolibri/index-2bab8f5e.js.map +0 -1
  632. package/dist/kolibri/index-5ab2ea42.js +0 -5
  633. package/dist/kolibri/index-5ab2ea42.js.map +0 -1
  634. package/dist/kolibri/index-accc567c.js.map +0 -1
  635. package/dist/kolibri/kol-alert-wc_2.entry.js +0 -4
  636. package/dist/kolibri/kol-alert-wc_2.entry.js.map +0 -1
  637. package/dist/kolibri/kol-button-wc_2.entry.js +0 -4
  638. package/dist/kolibri/kol-button-wc_2.entry.js.map +0 -1
  639. package/dist/kolibri/label-14bf9651.js +0 -4
  640. package/dist/kolibri/open-c85aa1b6.js +0 -4
  641. package/dist/kolibri/prop.validators-eed6b0ae.js +0 -4
  642. package/dist/kolibri/reuse-c2156413.js +0 -4
  643. package/dist/kolibri/reuse-c2156413.js.map +0 -1
  644. package/dist/kolibri/rows-2985bb0d.js +0 -4
  645. package/dist/kolibri/show-ec2bb13e.js +0 -4
  646. package/dist/kolibri/tab-index-2eec0401.js +0 -4
  647. package/dist/kolibri/tooltip-align-5eef0171.js +0 -4
  648. package/dist/kolibri/validation-3c6bb1de.js +0 -4
  649. package/dist/kolibri/validation-9af28920.js +0 -4
  650. package/dist/types/core/declare.d.ts +0 -10
  651. /package/dist/kolibri/{a11y.tipps-de9972d7.js.map → a11y.tipps-8ac27a12.js.map} +0 -0
  652. /package/dist/kolibri/{align-914d7cec.js.map → align-96c1f990.js.map} +0 -0
  653. /package/dist/kolibri/{alignment-aafa5e96.js.map → alignment-313f7fef.js.map} +0 -0
  654. /package/dist/kolibri/{alternative-button-link-role-b4b137dd.js.map → alternative-button-link-role-2448c7aa.js.map} +0 -0
  655. /package/dist/kolibri/{color-4c79d0e0.js.map → color-994bf163.js.map} +0 -0
  656. /package/dist/kolibri/{controller-68483d1f.js.map → controller-6853d800.js.map} +0 -0
  657. /package/dist/kolibri/{controller-513bb459.js.map → controller-68f34456.js.map} +0 -0
  658. /package/dist/kolibri/{controller-efc002af.js.map → controller-6ab1cb06.js.map} +0 -0
  659. /package/dist/kolibri/{custom-class-8262a744.js.map → custom-class-59057e96.js.map} +0 -0
  660. /package/dist/kolibri/{devtools-1b6f40bf.js.map → devtools-3a887392.js.map} +0 -0
  661. /package/dist/kolibri/{hide-label-e9d64d0e.js.map → hide-label-dd9b83d5.js.map} +0 -0
  662. /package/dist/kolibri/{icon-b683fb48.js.map → icon-30b99a49.js.map} +0 -0
  663. /package/dist/kolibri/{image-source-02189a77.js.map → image-source-84a695dd.js.map} +0 -0
  664. /package/dist/kolibri/{label-14bf9651.js.map → label-cdf2126a.js.map} +0 -0
  665. /package/dist/kolibri/{open-c85aa1b6.js.map → open-46e62bc3.js.map} +0 -0
  666. /package/dist/kolibri/{prop.validators-eed6b0ae.js.map → prop.validators-e3efc9be.js.map} +0 -0
  667. /package/dist/kolibri/{rows-2985bb0d.js.map → rows-8e1f2d42.js.map} +0 -0
  668. /package/dist/kolibri/{show-ec2bb13e.js.map → show-820a9a22.js.map} +0 -0
  669. /package/dist/kolibri/{suggestions-2b03c4a1.js.map → suggestions-c6fb713f.js.map} +0 -0
  670. /package/dist/kolibri/{tooltip-align-5eef0171.js.map → tooltip-align-b91851a6.js.map} +0 -0
  671. /package/dist/kolibri/{validation-3c6bb1de.js.map → validation-506928e9.js.map} +0 -0
  672. /package/dist/kolibri/{validation-9af28920.js.map → validation-eb464d50.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{w as watchValidator}from"./prop.validators-eed6b0ae.js";const watchHeadingLevel=(e,a)=>{watchValidator(e,"_level",(e=>"number"==typeof e&&0<=e&&e<=6),new Set(["Number {0, 1, 2, 3, 4, 5, 6}"]),a,{defaultValue:1,required:!0})};export{watchHeadingLevel as w};
4
+ import{w as watchValidator}from"./prop.validators-e3efc9be.js";const watchHeadingLevel=(e,a)=>{watchValidator(e,"_level",(e=>"number"==typeof e&&0<=e&&e<=6),new Set(["Number {0, 1, 2, 3, 4, 5, 6}"]),a,{defaultValue:1,required:!0})};export{watchHeadingLevel as w};
@@ -1 +1 @@
1
- {"file":"validation-3c6bb1de.js","mappings":";;;;;MAIa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAc;EACrF,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK;IACL,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;GAC7D,EACD,IAAI,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAAC,EACzC,KAAK,EACL;IAEC,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,IAAI;GACd,CACD,CAAC;AACH;;;;","names":[],"sources":["src/components/heading/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\nexport const watchHeadingLevel = (component: Generic.Element.Component, value?: number): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_level',\n\t\t(value): boolean => {\n\t\t\treturn typeof value === 'number' && 0 <= value && value <= 6;\n\t\t},\n\t\tnew Set(['Number {0, 1, 2, 3, 4, 5, 6}']),\n\t\tvalue,\n\t\t{\n\t\t\t// TODO: options not in the validator\n\t\t\tdefaultValue: 1,\n\t\t\trequired: true,\n\t\t}\n\t);\n};\n"],"version":3}
1
+ {"file":"validation-506928e9.js","mappings":";;;;;MAIa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAc;EACrF,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK;IACL,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;GAC7D,EACD,IAAI,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAAC,EACzC,KAAK,EACL;IAEC,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,IAAI;GACd,CACD,CAAC;AACH;;;;","names":[],"sources":["src/components/heading/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\nexport const watchHeadingLevel = (component: Generic.Element.Component, value?: number): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_level',\n\t\t(value): boolean => {\n\t\t\treturn typeof value === 'number' && 0 <= value && value <= 6;\n\t\t},\n\t\tnew Set(['Number {0, 1, 2, 3, 4, 5, 6}']),\n\t\tvalue,\n\t\t{\n\t\t\t// TODO: options not in the validator\n\t\t\tdefaultValue: 1,\n\t\t\trequired: true,\n\t\t}\n\t);\n};\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{c as uiUxHintMillerscheZahl}from"./a11y.tipps-8ac27a12.js";import{c as watchJsonArrayString}from"./prop.validators-e3efc9be.js";const watchNavLinks=(t,a,s)=>{watchJsonArrayString(a,"_links",(t=>"object"==typeof t&&("string"==typeof t._href||"string"==typeof t._label)),s),uiUxHintMillerscheZahl(t,a.state._links.length)};export{watchNavLinks as w};
@@ -1 +1 @@
1
- {"file":"validation-9af28920.js","mappings":";;;;;;MAUa,aAAa,GAAG,CAC5B,SAAiB,EACjB,SAIC,EACD,KAAsC;EAEtC,oBAAoB,CACnB,SAAS,EACT,QAAQ,EACR,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,KAAK,OAAQ,IAAiB,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,IAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,EACtI,KAAK,CACL,CAAC;EACF,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClE;;;;","names":[],"sources":["src/components/nav/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { HrefProp } from '../../types/props/href';\nimport { LabelProp } from '../../types/props/label';\nimport { uiUxHintMillerscheZahl } from '../../utils/a11y.tipps';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\n\ntype HrefOrLabelProp = HrefProp | LabelProp;\n\nexport const watchNavLinks = (\n\tclassName: string,\n\tcomponent: Generic.Element.Component & {\n\t\tstate: {\n\t\t\t_links: HrefOrLabelProp[];\n\t\t};\n\t},\n\tvalue?: Stringified<HrefOrLabelProp[]>\n): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_links',\n\t\t(link) => typeof link === 'object' && (typeof (link as HrefProp)._href === 'string' || typeof (link as LabelProp)._label === 'string'),\n\t\tvalue\n\t);\n\tuiUxHintMillerscheZahl(className, component.state._links.length);\n};\n"],"version":3}
1
+ {"file":"validation-eb464d50.js","mappings":";;;;;;MAUa,aAAa,GAAG,CAC5B,SAAiB,EACjB,SAIC,EACD,KAAsC;EAEtC,oBAAoB,CACnB,SAAS,EACT,QAAQ,EACR,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,KAAK,OAAQ,IAAiB,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAQ,IAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,EACtI,KAAK,CACL,CAAC;EACF,sBAAsB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAClE;;;;","names":[],"sources":["src/components/nav/validation.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { HrefProp } from '../../types/props/href';\nimport { LabelProp } from '../../types/props/label';\nimport { uiUxHintMillerscheZahl } from '../../utils/a11y.tipps';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\n\ntype HrefOrLabelProp = HrefProp | LabelProp;\n\nexport const watchNavLinks = (\n\tclassName: string,\n\tcomponent: Generic.Element.Component & {\n\t\tstate: {\n\t\t\t_links: HrefOrLabelProp[];\n\t\t};\n\t},\n\tvalue?: Stringified<HrefOrLabelProp[]>\n): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_links',\n\t\t(link) => typeof link === 'object' && (typeof (link as HrefProp)._href === 'string' || typeof (link as LabelProp)._label === 'string'),\n\t\tvalue\n\t);\n\tuiUxHintMillerscheZahl(className, component.state._links.length);\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{L as e}from"./dev.utils-eba8f2da.js";const i=new Set,n=(n,r)=>{(!1===i.has(n)||(null==r?void 0:r.force))&&(i.add(n),e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"✋ a11y",overwriteStyle:"; background-color: #09f"}))},o=new Set,r=(n,i)=>{(!1===o.has(n)||(null==i?void 0:i.force))&&(o.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"🔥 deprecated",overwriteStyle:"; background-color: #f00"}))},t=new Set,s=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},l=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},a=new Set,d=(n,i=!1,r)=>{(!1===a.has(n)||(null==r?void 0:r.force))&&(a.add(n),n+=!0===i?" ✅":"",e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"🌟 feature",overwriteStyle:"; background-color: #309"}))};s("Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!");const c=new Set,u=(n,i)=>{(!1===c.has(n)||(null==i?void 0:i.force))&&(c.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"}))},v=()=>{n('"Disabled" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae')},f=e=>{"string"==typeof e&&""!==e||n("Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns")},b=(e,n=8)=>{n>7&&u(`[${e}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`)};export{n as a,f as b,b as c,s as d,r as e,d as f,l as g,v as h,u};
4
+ import{L as e}from"./dev.utils-2dfcff1c.js";const i=new Set,n=(n,r)=>{(!1===i.has(n)||(null==r?void 0:r.force))&&(i.add(n),e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"✋ a11y",overwriteStyle:"; background-color: #09f"}))},o=new Set,r=(n,i)=>{(!1===o.has(n)||(null==i?void 0:i.force))&&(o.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"🔥 deprecated",overwriteStyle:"; background-color: #f00"}))},t=new Set,s=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},l=(n,i)=>{(!1===t.has(n)||(null==i?void 0:i.force))&&(t.add(n),e.warn([n].concat((null==i?void 0:i.details)||[]),{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},a=new Set,d=(n,i=!1,r)=>{(!1===a.has(n)||(null==r?void 0:r.force))&&(a.add(n),n+=!0===i?" ✅":"",e.debug([n].concat((null==r?void 0:r.details)||[]),{classifier:"🌟 feature",overwriteStyle:"; background-color: #309"}))};s("Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!");const c=new Set,u=(n,i)=>{(!1===c.has(n)||(null==i?void 0:i.force))&&(c.add(n),e.debug([n].concat((null==i?void 0:i.details)||[]),{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"}))},v=()=>{n('"Disabled" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae')},f=e=>{"string"==typeof e&&""!==e||n("Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns")},h=(e,n=8)=>{n>7&&u(`[${e}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`)};export{n as a,f as b,h as c,s as d,r as e,d as f,v as g,l as h,u};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{v as a}from"./alignment-313f7fef.js";const f=(f,n)=>{a(f,"_align",n)};export{f as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{w as t}from"./prop.validators-e3efc9be.js";const o=new Set(['"left", "right"']),e=new Set(['"bottom", "top"']),s=new Set([...o,...e]),n=(e,o,p)=>{t(e,o,(t=>"bottom"===t||"left"===t||"right"===t||"top"===t),s,p,{defaultValue:"top"})};export{n as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{d as a,w as t}from"./prop.validators-eed6b0ae.js";const e=(e,t)=>{a(e,"_ariaControls",t)},o=(a,e,o)=>{t(a,e,(a=>"date"===a||"location"===a||"page"===a||"step"===a||"time"===a||!0===a||!1===a),new Set(["String {data, location, page, step, time}","boolean"]),o)},s=(a,e)=>{o(a,"_ariaCurrent",e)},r=(a,e)=>{o(a,"_listenAriaCurrent",e)},n=(e,t)=>{a(e,"_role",t)};export{s as a,r as b,n as c,e as v};
4
+ import{d as a,w as t}from"./prop.validators-e3efc9be.js";const e=(e,t)=>{a(e,"_ariaControls",t)},o=(a,e,o)=>{t(a,e,(a=>"date"===a||"location"===a||"page"===a||"step"===a||"time"===a||!0===a||!1===a),new Set(["String {data, location, page, step, time}","boolean"]),o)},s=(a,e)=>{o(a,"_ariaCurrent",e)},r=(a,e)=>{o(a,"_listenAriaCurrent",e)},n=(e,t)=>{a(e,"_role",t)};export{s as a,r as b,n as c,e as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as o}from"./index-e27342ee.js";import{r as t}from"./index-42a84baa.js";import{L as s}from"./dev.utils-2dfcff1c.js";import{s as a,g as e}from"./index-d49940eb.js";const f=async()=>{o((o=>(o.shadowRoot instanceof ShadowRoot&&a(o,e(o)),"default"))),await t([],[]),import("./devtools-3a887392.js").then((o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()})).catch((o=>{s.error(o)}))},i=f;export{i as g};
@@ -1 +1 @@
1
- {"version":3,"names":["appGlobalScript","async","setMode","elm","shadowRoot","ShadowRoot","setThemeStyle","getThemeDetails","register","import","then","devTools","initialize","catch","error","Log","globalScripts"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from '@a11y-ui/core';\nimport { setMode } from '@stencil/core';\n\nimport { register } from '../core';\nimport { Log } from '../utils/dev.utils';\n\n// ts-prune-ignore-next\nexport default async (): Promise<void> => {\n\tsetMode((elm) => {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t\treturn 'default';\n\t});\n\n\tawait register([], []);\n\n\timport('./devtools')\n\t\t.then((devTools) => {\n\t\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\t\tdevTools.initialize();\n\t\t\t}\n\t\t})\n\t\t.catch((error) => {\n\t\t\tLog.error(error);\n\t\t});\n};\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"mappings":";;;sKAOA,MAAAA,EAAeC,UACdC,GAASC,IACR,GAAIA,EAAIC,sBAAsBC,WAAY,CACzCC,EAAcH,EAAKI,EAAgBJ,G,CAEpC,MAAO,SAAS,UAGXK,EAAS,GAAI,IAEnBC,OAAO,0BACLC,MAAMC,IACN,UAAWA,IAAa,UAAYA,IAAa,aAAeA,EAASC,aAAe,WAAY,CACnGD,EAASC,Y,KAGVC,OAAOC,IACPC,EAAID,MAAMA,EAAM,GACf,ECxBQ,MAACE,EAAgBhB,S"}
1
+ {"version":3,"names":["appGlobalScript","async","setMode","elm","shadowRoot","ShadowRoot","setThemeStyle","getThemeDetails","register","import","then","devTools","initialize","catch","error","Log","globalScripts"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from '@a11y-ui/core';\nimport { setMode } from '@stencil/core';\n\nimport { register } from '../core';\nimport { Log } from '../utils/dev.utils';\n\n// ts-prune-ignore-next\nexport default async (): Promise<void> => {\n\tsetMode((elm) => {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t\treturn 'default';\n\t});\n\n\tawait register([], []);\n\n\timport('./devtools')\n\t\t.then((devTools) => {\n\t\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\t\tdevTools.initialize();\n\t\t\t}\n\t\t})\n\t\t.catch((error) => {\n\t\t\tLog.error(error);\n\t\t});\n\n\t/* Import scripts necessary for the development server, i.e. the /dev/*.html files. Only include in development environment. */\n\tif (process.env.NODE_ENV === 'development') {\n\t\timport('../dev');\n\t}\n};\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"mappings":";;;2KAOA,MAAAA,EAAeC,UACdC,GAASC,IACR,GAAIA,EAAIC,sBAAsBC,WAAY,CACzCC,EAAcH,EAAKI,EAAgBJ,G,CAEpC,MAAO,SAAS,UAGXK,EAAS,GAAI,IAEnBC,OAAO,0BACLC,MAAMC,IACN,UAAWA,IAAa,UAAYA,IAAa,aAAeA,EAASC,aAAe,WAAY,CACnGD,EAASC,Y,KAGVC,OAAOC,IACPC,EAAID,MAAMA,EAAM,GACf,ECxBQ,MAACE,EAAgBhB,S"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{d as t}from"./prop.validators-e3efc9be.js";import{d as e,h as i}from"./a11y.tipps-8ac27a12.js";import{b as s}from"./dev.utils-2dfcff1c.js";const o=(e,o,i)=>{t(e,"_name",o,i)},a=s();class n{constructor(t,o,i){var s,r;if(this.setFormAssociatedValue=t=>{var o;const i=null===(o=this.formAssociated)||void 0===o?void 0:o.getAttribute("name");null!==i&&""!==i||e(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const s=this.tryToStringifyValue(t);this.syncValue(t,s,this.formAssociated),this.syncValue(t,s,this.syncToOwnInput)},this.component=t,this.host=this.findHostWithShadowRoot(i),this.name=o,a){switch(null===(s=this.host)||void 0===s||s.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"button":this.formAssociated=document.createElement("button");break;case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(r=this.host)||void 0===r||r.appendChild(this.formAssociated)}}findHostWithShadowRoot(t){for(;null===(null==t?void 0:t.shadowRoot)&&t!==document.body;)(t=null==t?void 0:t.parentNode).host&&(t=t.host);return t}setAttribute(t,e,o){if(a)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return i(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateName(t){o(this.component,t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&e("Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateSyncValueBySelector(t){if(a&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}componentWillLoad(){this.validateName(this.component._name),this.validateSyncValueBySelector(this.component._syncValueBySelector)}}export{n as A};
@@ -1 +1 @@
1
- {"file":"associated.controller-046a3bc7.js","mappings":"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","names":["watchString","getExperimentalMode","devHint","devWarning"],"sources":["src/utils/events.ts","src/types/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["// TODO: Should be synchronized with enums/events.ts\ntype KoliBriEventType = 'blur' | 'change' | 'click' | 'focus';\n\nexport function stopPropagation(event: Event): void {\n\tevent.stopImmediatePropagation();\n\tevent.stopPropagation();\n}\n\nfunction createKoliBriEvent<T>(type: KoliBriEventType, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\treturn event;\n}\n\nfunction dispatchKoliBriEvent<T>(target: EventTarget, type: KoliBriEventType, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\treturn dispatch;\n}\n\nexport function tryToDispatchKoliBriEvent<T>(type: KoliBriEventType, target?: EventTarget, detail?: T): void {\n\ttarget && dispatchKoliBriEvent(target, type, detail);\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { NamePropType, validateName } from '../../types/props/name';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { PropSyncValueBySelector, SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.name = name;\n\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'button':\n\t\t\t\t\tthis.formAssociated = document.createElement('button');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"version":3}
1
+ {"version":3,"names":["validateName","component","value","options","watchString","EXPERIMENTAL_MODE","getExperimentalMode","AssociatedInputController","constructor","name","host","this","setFormAssociatedValue","rawValue","_a","formAssociated","getAttribute","devHint","strValue","tryToStringifyValue","syncValue","syncToOwnInput","findHostWithShadowRoot","querySelectorAll","forEach","el","removeChild","document","createElement","setAttribute","_b","appendChild","shadowRoot","body","parentNode","qualifiedName","element","JSON","stringify","Error","e","removeAttribute","toString","undefined","devWarning","associatedElement","Array","isArray","rawValueItem","strValueItem","option","hooks","afterPatch","state","_name","validateSyncValueBySelector","input","querySelector","componentWillLoad","_syncValueBySelector"],"sources":["src/types/props/name.ts","src/components/input-adapter-leanup/associated.controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type NamePropType = string;\n\n/**\n * Defines the technical name of an input field.\n */\nexport type PropName = {\n\tname: NamePropType;\n};\n\n/* validator */\nexport const validateName = (component: Generic.Element.Component, value?: NamePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_name', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { NamePropType, validateName } from '../../types/props/name';\nimport { StencilUnknown } from '../../types/unknown';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { PropSyncValueBySelector, SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tname: string;\n} & PropSyncValueBySelector;\ntype Props = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype Watches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.host = this.findHostWithShadowRoot(host);\n\t\tthis.name = name;\n\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'button':\n\t\t\t\t\tthis.formAssociated = document.createElement('button');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\t/**\n\t * The associated elements must not reside within the ShadowRoot and must\n\t * reside as children in the host to be recognized by native forms.\n\t */\n\tprivate findHostWithShadowRoot(host?: HTMLElement): HTMLElement | undefined {\n\t\twhile (host?.shadowRoot === null && host !== document.body) {\n\t\t\thost = host?.parentNode as HTMLElement;\n\t\t\tif ((host as unknown as ShadowRoot).host) {\n\t\t\t\thost = (host as unknown as ShadowRoot).host as HTMLElement;\n\t\t\t}\n\t\t}\n\t\treturn host;\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(\n\t\trawValue: StencilUnknown,\n\t\tstrValue: string | null,\n\t\tassociatedElement?: HTMLButtonElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n\t) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateName(value?: NamePropType): void {\n\t\tvalidateName(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name am Eingabefeldern oder Schalter ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as e,b as r,w as a}from"./prop.validators-eed6b0ae.js";import{a as t}from"./a11y.tipps-de9972d7.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=i,o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function i(e){var r,a,t=[],l=1;if("string"==typeof e)if(e=e.toLowerCase(),n[e])t=n[e].slice(),a="rgb";else if("transparent"===e)l=0,a="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1);l=1,(g=i.length)<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],4===g&&(l=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],8===g&&(l=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),a="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],u="rgb"===s;a=i=s.replace(/a$/,"");var g="cmyk"===i?4:"gray"===i?1:3;t=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===g?parseFloat(e)/100:"rgb"===i?255*parseFloat(e)/100:parseFloat(e);if("h"===i[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),s===i&&t.push(1),l=u||void 0===t[g]?1:t[g],t=t.slice(0,g)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(t=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),a=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(t=[e[0],e[1],e[2]],a="rgb",l=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(a="rgb",t=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",t=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),l=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(l/=100)):(a="rgb",t=[e>>>16,(65280&e)>>>8,255&e]);return{space:a,values:t,alpha:l}}var s=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var a=l(e);if(!a.space)return[];var o=[0,0,0],t="h"===a.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(a.values[0],o[0]),t[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),t[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),t[2]),"h"===a.space[0]&&(r=u(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function u(e){var r,a,o,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,u=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(a=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];u<3;)(o=l+1/3*-(u-1))<0?o++:o>1&&o--,n=6*o<1?r+6*(a-r)*o:2*o<1?a:3*o<2?r+(a-r)*(2/3-o)*6:r,t[u++]=255*n;return t}const g=(e,r,a)=>(299*e+587*r+114*a)/1e3>=128?-1:1,f=(a,o,t,n=1)=>{const l=[Math.max(Math.min(Math.round(o[0]+n*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+n*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+n*Math.max(1,o[2]/100)),255),0)],i=r(e.hex(`rgba(${a.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:a,foreground:l,contrast:i}:f(a,l,t,n)},d=new Map,c=(e,r,a,o=1)=>{if(d.has(e))return d.get(e);const t=f(e,r,a,o);return d.set(e,t),t},p=(r,a=7)=>{let o=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(o=s(r),t=o):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(o=s(r.background),t="string"==typeof r.foreground?s(r.foreground):o);const n=g(o[0],o[1],o[2]),l=c([o[0],o[1],o[2]],[t[0],t[1],t[2]],a,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${o.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},h=/^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;function y(e){return h.test(e)}function b(e){if(e.startsWith("{"))try{const r=JSON.parse(e);if(m(r))return{type:"ColorPair",value:r};if(k(r))return{type:"DeprecatedColorPair",value:r}}catch(e){return{type:null,value:null}}return{type:null,value:null}}function v(e){if(e)if("string"==typeof e){if(y(e))return{type:"string",valid:!0,value:e};{const r=b(e);if(r.value)return{type:r.type,valid:!0,value:r.value}}}else{const r=e;if(m(r))return{type:"ColorPair",valid:!0,value:r};const a=e;if(k(a))return{type:"DeprecatedColorPair",valid:!0,value:a}}return{type:null,valid:!1,value:""}}function m(e){return!("object"!=typeof e||!e||"string"!=typeof e.backgroundColor||!("string"==typeof e.foregroundColor||e.foregroundColor&&"string"==typeof e.foregroundColor.primary&&"string"==typeof e.foregroundColor.secondary&&"string"==typeof e.foregroundColor.neutral))}function k(e){return"object"==typeof e&&e&&"string"==typeof e.backgroundColor&&"string"==typeof e.color}function w(e){const r=v(e);switch(r.type){case null:return!1;case"string":case"ColorPair":case"DeprecatedColorPair":return r.valid}}const M=(e,r,o)=>{a(e,"_color",w,new Set(["rgb in hex","ColorPair"]),r,o)},$=e=>{var r;let a;const o=v(e);switch(o.type){case"string":a=p(o.value);break;case"ColorPair":case"DeprecatedColorPair":{const e=o.value,t=o.value;let n="";t.color?n=t.color:"string"==typeof e.foregroundColor?n=e.foregroundColor:(null===(r=e.foregroundColor)||void 0===r?void 0:r.primary)&&(n=e.foregroundColor.primary),n&&"string"==typeof n||(n="#fff"),a=p({background:e.backgroundColor,foreground:n});break}case null:console.warn(`_color was empty or invalid (${JSON.stringify(e)})`),a=p({background:"#000",foreground:"#000"})}return a.contrast<7&&t(`[KolBadge] The contrast of ${a.contrast} (≥7, AAA) is to low, between the color pair ${a.background} and ${a.foreground}.`),{backgroundColor:a.background,foregroundColor:a.foreground}};export{s as c,$ as h,M as v};
4
+ import{r as e,b as r,w as a}from"./prop.validators-e3efc9be.js";import{a as t}from"./a11y.tipps-8ac27a12.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=i,o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function i(e){var r,a,t=[],l=1;if("string"==typeof e)if(e=e.toLowerCase(),n[e])t=n[e].slice(),a="rgb";else if("transparent"===e)l=0,a="rgb",t=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var i=e.slice(1);l=1,(g=i.length)<=4?(t=[parseInt(i[0]+i[0],16),parseInt(i[1]+i[1],16),parseInt(i[2]+i[2],16)],4===g&&(l=parseInt(i[3]+i[3],16)/255)):(t=[parseInt(i[0]+i[1],16),parseInt(i[2]+i[3],16),parseInt(i[4]+i[5],16)],8===g&&(l=parseInt(i[6]+i[7],16)/255)),t[0]||(t[0]=0),t[1]||(t[1]=0),t[2]||(t[2]=0),a="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],u="rgb"===s;a=i=s.replace(/a$/,"");var g="cmyk"===i?4:"gray"===i?1:3;t=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===g?parseFloat(e)/100:"rgb"===i?255*parseFloat(e)/100:parseFloat(e);if("h"===i[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==o[e])return o[e]}return parseFloat(e)})),s===i&&t.push(1),l=u||void 0===t[g]?1:t[g],t=t.slice(0,g)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(t=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),a=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(t=[e[0],e[1],e[2]],a="rgb",l=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(a="rgb",t=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(a="hsl",t=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),l=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(l/=100)):(a="rgb",t=[e>>>16,(65280&e)>>>8,255&e]);return{space:a,values:t,alpha:l}}var s=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var a=l(e);if(!a.space)return[];var o=[0,0,0],t="h"===a.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(a.values[0],o[0]),t[0]),r[1]=Math.min(Math.max(a.values[1],o[1]),t[1]),r[2]=Math.min(Math.max(a.values[2],o[2]),t[2]),"h"===a.space[0]&&(r=u(r)),r.push(Math.min(Math.max(a.alpha,0),1)),r};function u(e){var r,a,o,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,u=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(a=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];u<3;)(o=l+1/3*-(u-1))<0?o++:o>1&&o--,n=6*o<1?r+6*(a-r)*o:2*o<1?a:3*o<2?r+(a-r)*(2/3-o)*6:r,t[u++]=255*n;return t}const g=(e,r,a)=>(299*e+587*r+114*a)/1e3>=128?-1:1,f=(a,o,t,n=1)=>{const l=[Math.max(Math.min(Math.round(o[0]+n*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+n*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+n*Math.max(1,o[2]/100)),255),0)],i=r(e.hex(`rgba(${a.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:a,foreground:l,contrast:i}:f(a,l,t,n)},c=new Map,d=(e,r,a,o=1)=>{if(c.has(e))return c.get(e);const t=f(e,r,a,o);return c.set(e,t),t},p=(r,a=7)=>{let o=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(o=s(r),t=o):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(o=s(r.background),t="string"==typeof r.foreground?s(r.foreground):o);const n=g(o[0],o[1],o[2]),l=d([o[0],o[1],o[2]],[t[0],t[1],t[2]],a,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${o.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},h=/^#((\d|[a-f]){8}|(\d|[a-f]){6}|(\d|[a-f]){3,4})$/i;function y(e){return h.test(e)}function b(e){if(e.startsWith("{"))try{const r=JSON.parse(e);if(m(r))return{type:"ColorPair",value:r};if(k(r))return{type:"DeprecatedColorPair",value:r}}catch(e){return{type:null,value:null}}return{type:null,value:null}}function v(e){if(e)if("string"==typeof e){if(y(e))return{type:"string",valid:!0,value:e};{const r=b(e);if(r.value)return{type:r.type,valid:!0,value:r.value}}}else{const r=e;if(m(r))return{type:"ColorPair",valid:!0,value:r};const a=e;if(k(a))return{type:"DeprecatedColorPair",valid:!0,value:a}}return{type:null,valid:!1,value:""}}function m(e){return!("object"!=typeof e||!e||"string"!=typeof e.backgroundColor||!("string"==typeof e.foregroundColor||e.foregroundColor&&"string"==typeof e.foregroundColor.primary&&"string"==typeof e.foregroundColor.secondary&&"string"==typeof e.foregroundColor.neutral))}function k(e){return"object"==typeof e&&e&&"string"==typeof e.backgroundColor&&"string"==typeof e.color}function w(e){const r=v(e);switch(r.type){case null:return!1;case"string":case"ColorPair":case"DeprecatedColorPair":return r.valid}}const M=(e,r,o)=>{a(e,"_color",w,new Set(["rgb in hex","ColorPair"]),r,o)},$=e=>{var r;let a;const o=v(e);switch(o.type){case"string":a=p(o.value);break;case"ColorPair":case"DeprecatedColorPair":{const e=o.value,t=o.value;let n="";t.color?n=t.color:"string"==typeof e.foregroundColor?n=e.foregroundColor:(null===(r=e.foregroundColor)||void 0===r?void 0:r.primary)&&(n=e.foregroundColor.primary),n&&"string"==typeof n||(n="#fff"),a=p({background:e.backgroundColor,foreground:n});break}case null:console.warn(`_color was empty or invalid (${JSON.stringify(e)})`),a=p({background:"#000",foreground:"#000"})}return a.contrast<7&&t(`[KolBadge] The contrast of ${a.contrast} (≥7, AAA) is to low, between the color pair ${a.background} and ${a.foreground}.`),{backgroundColor:a.background,foregroundColor:a.foreground}};export{s as c,$ as h,M as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{d as e}from"./a11y.tipps-de9972d7.js";import{b as o}from"./dev.utils-eba8f2da.js";import{f as t,K as n}from"./prop.validators-eed6b0ae.js";const i=t=>{for(o()&&(e("↓ Search form element start."),console.log(t));t instanceof HTMLElement&&"FORM"!==t.tagName&&"KOL-FORM"!==t.tagName;)t=t.parentElement instanceof HTMLElement?t.parentElement:t.parentNode instanceof ShadowRoot?t.parentNode.host:null,o()&&console.log(t);return o()&&e("↑ Search form element finished."),t},s=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:s});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
4
+ import{d as e}from"./a11y.tipps-8ac27a12.js";import{b as o}from"./dev.utils-2dfcff1c.js";import{f as t,K as n}from"./prop.validators-e3efc9be.js";const i=t=>{for(o()&&(e("↓ Search form element start."),console.log(t));t instanceof HTMLElement&&"FORM"!==t.tagName&&"KOL-FORM"!==t.tagName;)t=t.parentElement instanceof HTMLElement?t.parentElement:t.parentNode instanceof ShadowRoot?t.parentNode.host:null,o()&&console.log(t);return o()&&e("↑ Search form element finished."),t},s=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onReset)&&(null===(a=i._on)||void 0===a||a.onReset(e))}}},f=(e={})=>{var o,a;const s=i(e.form);if(s instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:s});if("FORM"===s.tagName)t(e,s),s.dispatchEvent(e);else if("KOL-FORM"===s.tagName){t(e,n.querySelector("form",s));const i=s;"function"==typeof(null===(o=i._on)||void 0===o?void 0:o.onSubmit)&&(null===(a=i._on)||void 0===a||a.onSubmit(e))}}};export{s as a,f as p};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{v as s,I as t}from"./controller-c2312abc.js";import{v as e}from"./suggestions-2b03c4a1.js";import{w as a}from"./prop.validators-eed6b0ae.js";class i extends t{constructor(t,s,e){super(t,s,e),this.component=t}validateList(){}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions||this.component._list)}}class r extends i{constructor(t,s,e){super(t,s,e),this.hasError=!1,this.component=t}validateType(t){a(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{i as I,r as a};
4
+ import{v as s,I as t}from"./controller-bc00373d.js";import{v as e}from"./suggestions-c6fb713f.js";import{w as i}from"./prop.validators-e3efc9be.js";class r extends t{constructor(t,e,s){super(t,e,s),this.component=t}validateList(){}validateSuggestions(t){e(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions||this.component._list)}}class a extends r{constructor(t,e,s){super(t,e,s),this.hasError=!1,this.component=t}validateType(t){i(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){s(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{r as I,a};
@@ -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-eed6b0ae.js";import{h as o,c as r}from"./label-14bf9651.js";import{a as n}from"./a11y.tipps-de9972d7.js";import{S as l}from"./reuse-c2156413.js";import{I as h}from"./controller-4377db26.js";const f=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===o(t.label,3)&&!1===r(t.label)&&n(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===f(t)));if("number"==typeof t.label)return!0}return!1},c=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},u=(e,o,i={})=>{t(e,"_options",f,o,void 0,i)},p=(t,o)=>{e(t,"_required",o)},d=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?d(t,e.options,a):t.set(a,e))}))};class b extends h{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){p(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class m extends b{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),d(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){c(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,a(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(l)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{b as I,m as a,d as f,u as v};
4
+ import{c as t,a as e,w as s,m as i,s as a}from"./prop.validators-e3efc9be.js";import{h as o,c as r}from"./label-cdf2126a.js";import{a as n}from"./a11y.tipps-8ac27a12.js";import{S as l}from"./reuse-3698e2f5.js";import{I as h}from"./controller-8eb319c8.js";const f=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===o(t.label,3)&&!1===r(t.label)&&n(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===f(t)));if("number"==typeof t.label)return!0}return!1},c=(e,o,i={})=>{t(e,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},u=(e,o,i={})=>{t(e,"_options",f,o,void 0,i)},p=(t,o)=>{e(t,"_required",o)},d=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?d(t,e.options,a):t.set(a,e))}))};class m extends h{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){p(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class b extends m{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),d(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){c(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,a(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(l)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{m as I,b as a,d as f,u as v};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as t,d as i,s,o as e,p as a}from"./prop.validators-e3efc9be.js";import{a as h}from"./label-cdf2126a.js";import{g as o,a as r,d as n}from"./a11y.tipps-8ac27a12.js";import{s as d,t as l}from"./events-2bb1065b.js";import{v as c}from"./tab-index-9c10594d.js";import{A as f}from"./associated.controller-2e4854aa.js";import{v as u}from"./hide-label-dd9b83d5.js";const v=t=>{const o="string"==typeof t._error&&t._error.length>0&&!0===t._touched,e="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===o&&n.push(`${t._id}-error`),!0===e&&n.push(`${t._id}-hint`),{hasError:o,hasHint:e,ariaDescribedBy:n}},p=(o,e)=>{t(o,"_adjustHeight",e)},b=(o,e)=>{t(o,"_touched",e)};class m extends f{constructor(t,o,e){super(t,o,e),this.component=t}validateAlert(o){t(this.component,"_alert",o)}validateTouched(t){b(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class y extends m{constructor(t,o,e){super(t,o,e),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){p(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&o()}validateError(t){i(this.component,"_error",t)}validateHideLabel(t){u(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&r("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||n("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){h(this.component,t)}validateOn(t){"object"==typeof t&&s(this.component,"_on",t)}validateSmartButton(t){e(t,(()=>{try{t=a(t)}catch(t){}s(this.component,"_smartButton",t)}))}validateTabIndex(t){c(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var o;this.component._alert=!0,this.component._touched=!0,d(t),l("blur",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onBlur)&&this.component._on.onBlur(t)}onChange(t){var o;const e=t.target.value;d(t),l("change",this.host,e),this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e),this.valueChangeListeners.forEach((t=>t(e)))}onClick(t){var o;d(t),l("click",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onClick)&&this.component._on.onClick(t)}onFocus(t){var o;this.component._alert=!0,d(t),l("focus",this.host),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onFocus)&&this.component._on.onFocus(t)}setValue(t,o){var e;this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{y as I,v as g};
@@ -1 +1 @@
1
- {"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","hooks","afterPatch","_hideLabel","a11yHint","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","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { 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 { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as ButtonProps } from '../../button/types';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\nimport { validateHideLabel } from '../../../types/props/hide-label';\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 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.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","ControlledInputController","AssociatedInputController","constructor","name","host","super","this","validateAlert","componentWillLoad","_alert","InputController","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","hooks","afterPatch","_hideLabel","a11yHint","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","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import { TouchedPropType } from '../../types/props/touched';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type AdjustHeightPropType = boolean;\n\n/**\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: AdjustHeightPropType;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: AdjustHeightPropType): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type TouchedPropType = boolean;\n\n/**\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: TouchedPropType;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: TouchedPropType): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { validateTouched } from '../../types/props/touched';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { AssociatedInputController } from './associated.controller';\nimport { Props, Watches } from './types';\n\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { AdjustHeightPropType, validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { 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 { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as ButtonProps } from '../../button/types';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\nimport { validateHideLabel } from '../../../types/props/hide-label';\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 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.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as t,w as e,e as s,d as i}from"./prop.validators-e3efc9be.js";import{I as a}from"./controller-icon-5fe19121.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){e(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){h(this.component,t)}validateMaxLength(t){s(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)}validateSize(t){s(this.component,"_size",t,{min:1})}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.validateSize(this.component._size),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};
@@ -1 +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","validateSize","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_required","_size","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 validateSize(value?: number): void {\n\t\twatchNumber(this.component, '_size', value, {\n\t\t\tmin: 1,\n\t\t});\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.validateSize(this.component._size);\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,YAAAoB,CAAapB,GACnBa,EAAYL,KAAKT,UAAW,QAASC,EAAO,CAC3Cc,IAAK,G,CAIA,aAAAO,CAAcrB,GACpBgB,EAAYR,KAAKT,UAAW,SAAUC,GACtCQ,KAAKc,uBAAuBd,KAAKT,UAAUwB,MAAMC,O,CAG3C,iBAAAC,GACNlB,MAAMkB,oBACNjB,KAAKC,qBAAqBD,KAAKT,UAAU2B,eACzClB,KAAKV,mBAAmBU,KAAKT,UAAU4B,aACvCnB,KAAKI,kBAAkBJ,KAAKT,UAAU6B,YACtCpB,KAAKO,gBAAgBP,KAAKT,UAAU8B,UACpCrB,KAAKS,oBAAoBT,KAAKT,UAAU+B,cACxCtB,KAAKU,iBAAiBV,KAAKT,UAAUgC,WACrCvB,KAAKW,iBAAiBX,KAAKT,UAAUiC,WACrCxB,KAAKY,aAAaZ,KAAKT,UAAUkC,OACjCzB,KAAKa,cAAcb,KAAKT,UAAUyB,O,CAGzB,MAAAU,CAAOC,GAoBhB3B,KAAKT,UAAUwB,MAAKa,OAAAC,OAAAD,OAAAC,OAAA,GAChB7B,KAAKT,UAAUwB,OAAK,CACvBO,aAActB,KAAK8B,mBAEpB9B,KAAK8B,iBAAmBC,UACxBhC,MAAM2B,OAAOC,E,CAGJ,OAAAK,CAAQL,GACjB3B,KAAK8B,iBAAmB9B,KAAKT,UAAUwB,MAAMO,aAC7CtB,KAAKT,UAAUwB,MAAKa,OAAAC,OAAAD,OAAAC,OAAA,GAChB7B,KAAKT,UAAUwB,OAAK,CACvBO,aAAcS,YAEfhC,MAAMiC,QAAQL,E"}
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","validateSize","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_hasCounter","_maxLength","_pattern","_placeholder","_readOnly","_required","_size","onBlur","event","Object","assign","placeholderCache","undefined","onFocus"],"sources":["src/types/props/has-counter.ts","src/components/input-password/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 validateSize(value?: number): void {\n\t\twatchNumber(this.component, '_size', value, {\n\t\t\tmin: 1,\n\t\t});\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.validateSize(this.component._size);\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":";;;+HAeaA,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,YAAAoB,CAAapB,GACnBa,EAAYL,KAAKT,UAAW,QAASC,EAAO,CAC3Cc,IAAK,G,CAIA,aAAAO,CAAcrB,GACpBgB,EAAYR,KAAKT,UAAW,SAAUC,GACtCQ,KAAKc,uBAAuBd,KAAKT,UAAUwB,MAAMC,O,CAG3C,iBAAAC,GACNlB,MAAMkB,oBACNjB,KAAKC,qBAAqBD,KAAKT,UAAU2B,eACzClB,KAAKV,mBAAmBU,KAAKT,UAAU4B,aACvCnB,KAAKI,kBAAkBJ,KAAKT,UAAU6B,YACtCpB,KAAKO,gBAAgBP,KAAKT,UAAU8B,UACpCrB,KAAKS,oBAAoBT,KAAKT,UAAU+B,cACxCtB,KAAKU,iBAAiBV,KAAKT,UAAUgC,WACrCvB,KAAKW,iBAAiBX,KAAKT,UAAUiC,WACrCxB,KAAKY,aAAaZ,KAAKT,UAAUkC,OACjCzB,KAAKa,cAAcb,KAAKT,UAAUyB,O,CAGzB,MAAAU,CAAOC,GAoBhB3B,KAAKT,UAAUwB,MAAKa,OAAAC,OAAAD,OAAAC,OAAA,GAChB7B,KAAKT,UAAUwB,OAAK,CACvBO,aAActB,KAAK8B,mBAEpB9B,KAAK8B,iBAAmBC,UACxBhC,MAAM2B,OAAOC,E,CAGJ,OAAAK,CAAQL,GACjB3B,KAAK8B,iBAAmB9B,KAAKT,UAAUwB,MAAMO,aAC7CtB,KAAKT,UAAUwB,MAAKa,OAAAC,OAAAD,OAAAC,OAAA,GAChB7B,KAAKT,UAAUwB,OAAK,CACvBO,aAAcS,YAEfhC,MAAMiC,QAAQL,E"}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{i as o}from"./icon-30b99a49.js";import{o as t,p as e,w as s}from"./prop.validators-e3efc9be.js";import{i}from"./reuse-3698e2f5.js";import{I as r}from"./controller-8eb319c8.js";const c=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(i(e.right,1)&&(e.right={icon:e.right}),i(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class n extends r{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(r){t(r,(()=>{try{r=e(r)}catch(o){}s(this.component,"_icon",(t=>"object"==typeof t&&null!==t&&(i(t.left,1)||o(t.left)||i(t.right,1)||o(t.right))),new Set(["KoliBriHorizontalIcon"]),r,{hooks:{beforePatch:c},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{n as I};
@@ -1 +1 @@
1
- {"version":3,"names":["beforePatchIcon","value","nextState","icon","isString","right","left","set","InputIconController","InputController","constructor","component","name","host","super","this","validateIcon","objectObjectHandler","parseJson","e","watchValidator","isIcon","Set","hooks","beforePatch","required","componentWillLoad","_icon"],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcon } from '../../../types/icon';\nimport { isIcon } from '../../../types/props/icon';\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 beforePatchIcon = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icon = value as KoliBriHorizontalIcon;\n\tif (typeof icon === 'object' && icon !== null) {\n\t\tif (isString(icon.right, 1)) {\n\t\t\ticon.right = { icon: icon.right as string };\n\t\t}\n\t\tif (isString(icon.left, 1)) {\n\t\t\ticon.left = { icon: icon.left as string };\n\t\t}\n\t\tnextState.set('_icon', icon);\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<KoliBriHorizontalIcon>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcon>(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'_icon',\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: beforePatchIcon,\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.validateIcon(this.component._icon);\n\t}\n}\n"],"mappings":";;;4LAUA,MAAMA,EAAkB,CAACC,EAAgBC,KACxC,MAAMC,EAAOF,EACb,UAAWE,IAAS,UAAYA,IAAS,KAAM,CAC9C,GAAIC,EAASD,EAAKE,MAAO,GAAI,CAC5BF,EAAKE,MAAQ,CAAEF,KAAMA,EAAKE,M,CAE3B,GAAID,EAASD,EAAKG,KAAM,GAAI,CAC3BH,EAAKG,KAAO,CAAEH,KAAMA,EAAKG,K,CAE1BJ,EAAUK,IAAI,QAASJ,E,SAIZK,UAA4BC,EAGxC,WAAAC,CAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,YAAAK,CAAaf,GACnBgB,EAAoBhB,GAAO,KAC1B,IACCA,EAAQiB,EAAiCjB,E,CAExC,MAAOkB,G,CAGTC,EACCL,KAAKJ,UACL,SACCV,UAEQA,IAAU,UAAYA,IAAU,OAASG,EAASH,EAAMK,KAAM,IAAMe,EAAOpB,EAAMK,OAASF,EAASH,EAAMI,MAAO,IAAMgB,EAAOpB,EAAMI,SAG5I,IAAIiB,IAAI,CAAC,0BACTrB,EACA,CACCsB,MAAO,CACNC,YAAaxB,GAEdyB,SAAU,MAEX,G,CAII,iBAAAC,GACNZ,MAAMY,oBACNX,KAAKC,aAAaD,KAAKJ,UAAUgB,M"}
1
+ {"version":3,"names":["beforePatchIcon","value","nextState","icon","isString","right","left","set","InputIconController","InputController","constructor","component","name","host","super","this","validateIcon","objectObjectHandler","parseJson","e","watchValidator","isIcon","Set","hooks","beforePatch","required","componentWillLoad","_icon"],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../../types/common';\nimport { KoliBriHorizontalIcon } from '../../../types/icon';\nimport { isIcon } from '../../../types/props/icon';\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 beforePatchIcon = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icon = value as KoliBriHorizontalIcon;\n\tif (typeof icon === 'object' && icon !== null) {\n\t\tif (isString(icon.right, 1)) {\n\t\t\ticon.right = { icon: icon.right as string };\n\t\t}\n\t\tif (isString(icon.left, 1)) {\n\t\t\ticon.left = { icon: icon.left as string };\n\t\t}\n\t\tnextState.set('_icon', icon);\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<KoliBriHorizontalIcon>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcon>(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'_icon',\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: beforePatchIcon,\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.validateIcon(this.component._icon);\n\t}\n}\n"],"mappings":";;;uLAUA,MAAMA,EAAkB,CAACC,EAAgBC,KACxC,MAAMC,EAAOF,EACb,UAAWE,IAAS,UAAYA,IAAS,KAAM,CAC9C,GAAIC,EAASD,EAAKE,MAAO,GAAI,CAC5BF,EAAKE,MAAQ,CAAEF,KAAMA,EAAKE,M,CAE3B,GAAID,EAASD,EAAKG,KAAM,GAAI,CAC3BH,EAAKG,KAAO,CAAEH,KAAMA,EAAKG,K,CAE1BJ,EAAUK,IAAI,QAASJ,E,SAIZK,UAA4BC,EAGxC,WAAAC,CAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,YAAAK,CAAaf,GACnBgB,EAAoBhB,GAAO,KAC1B,IACCA,EAAQiB,EAAiCjB,E,CAExC,MAAOkB,G,CAGTC,EACCL,KAAKJ,UACL,SACCV,UAEQA,IAAU,UAAYA,IAAU,OAASG,EAASH,EAAMK,KAAM,IAAMe,EAAOpB,EAAMK,OAASF,EAASH,EAAMI,MAAO,IAAMgB,EAAOpB,EAAMI,SAG5I,IAAIiB,IAAI,CAAC,0BACTrB,EACA,CACCsB,MAAO,CACNC,YAAaxB,GAEdyB,SAAU,MAEX,G,CAII,iBAAAC,GACNZ,MAAMY,oBACNX,KAAKC,aAAaD,KAAKJ,UAAUgB,M"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{w as a,d as o}from"./prop.validators-eed6b0ae.js";const r=(o,r)=>{a(o,"_variant",(a=>"primary"===a||"secondary"===a||"normal"===a||"danger"===a||"ghost"===a||"custom"===a),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),r,{defaultValue:"normal"})},s=(a,r)=>{o(a,"_customClass",r,{defaultValue:void 0})};export{r as a,s as v};
4
+ import{w as a,d as o}from"./prop.validators-e3efc9be.js";const r=(o,r)=>{a(o,"_variant",(a=>"primary"===a||"secondary"===a||"normal"===a||"danger"===a||"ghost"===a||"custom"===a),new Set(["KoliBriButtonVariant {primary, secondary, normal, danger, ghost, custom}"]),r,{defaultValue:"normal"})},s=(a,r)=>{o(a,"_customClass",r,{defaultValue:void 0})};export{r as a,s as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{p as e}from"./reuse-c2156413.js";class t{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let n=0;n<e.children.length;n++)this.lockFocus(e.children[n],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,n)=>{n.style.display=t===n?"inline":"none"})),l().body.style.maxHeight="100vh",l().body.style.overflow="hidden",this.lockFocus(l().body,t)}else l().body.style.maxHeight="unset",l().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?m.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)m.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const n=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(n)}}}let n=null,i=null;const o=e=>{e instanceof Window?(n=e,n.document instanceof Document?i=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},s=()=>n||"undefined"==typeof window?null:window,l=()=>i||void 0===s().document?null:s().document;let a=null,c=null,r=null,u=null;const d=()=>!0===c,f=()=>!0===r,h=()=>!0===u;class m{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${m.shield.label} | ${e}`:m.shield.label}static getShield(e){return[m.handleClassifier(null==e?void 0:e.classifier),`${m.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.debug(...m.getShield(t),...m.mapToArray(e))}static info(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.info(...m.getShield(t),...m.mapToArray(e))}static trace(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.trace(...m.getShield(t),...m.mapToArray(e))}static warn(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.warn(...m.getShield(t),...m.mapToArray(e))}static error(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.error(...m.getShield(t),...m.mapToArray(e))}static throw(e,t){if(c||!0===(null==t?void 0:t.forceLog))throw new Error(...m.getShield(t),...m.mapToArray(e))}}m.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const v=()=>{if(null===c&&null===r&&null===u){const e=l().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(a=e.getAttribute("content"),"string"==typeof a&&(c=a.includes("dev-mode=true"),r=a.includes("experimental-mode=true"),u=a.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let p=null;const b=()=>p||{},M=()=>{if(null===p){p=s().KoliBri||{};const e=new t;Object.defineProperty(p,"Modal",{get:function(){return e}}),v(),m.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.7.0-rc.0\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},g=()=>{void 0===s().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return p}}),!0!==b().adviceShown&&(Object.defineProperty(p,"adviceShown",{get:function(){return!0}}),m.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 w=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(w=()=>"nonce");export{p as K,m as L,s as a,f as b,o as c,b as d,d as e,h as f,l as g,M as i,w as n,g as r};
4
+ import{p as e}from"./reuse-3698e2f5.js";class t{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let n=0;n<e.children.length;n++)this.lockFocus(e.children[n],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,n)=>{n.style.display=t===n?"inline":"none"})),l().body.style.maxHeight="100vh",l().body.style.overflow="hidden",this.lockFocus(l().body,t)}else l().body.style.maxHeight="unset",l().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?m.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)m.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const n=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(n)}}}let n=null,i=null;const o=e=>{e instanceof Window?(n=e,n.document instanceof Document?i=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},s=()=>n||"undefined"==typeof window?null:window,l=()=>i||void 0===s().document?null:s().document;let a=null,c=null,r=null,u=null;const d=()=>!0===c,f=()=>!0===r,h=()=>!0===u;class m{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${m.shield.label} | ${e}`:m.shield.label}static getShield(e){return[m.handleClassifier(null==e?void 0:e.classifier),`${m.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.debug(...m.getShield(t),...m.mapToArray(e))}static info(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.info(...m.getShield(t),...m.mapToArray(e))}static trace(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.trace(...m.getShield(t),...m.mapToArray(e))}static warn(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.warn(...m.getShield(t),...m.mapToArray(e))}static error(e,t){(c||!0===(null==t?void 0:t.forceLog))&&console.error(...m.getShield(t),...m.mapToArray(e))}static throw(e,t){if(c||!0===(null==t?void 0:t.forceLog))throw new Error(...m.getShield(t),...m.mapToArray(e))}}m.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const v=()=>{if(null===c&&null===r&&null===u){const e=l().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(a=e.getAttribute("content"),"string"==typeof a&&(c=a.includes("dev-mode=true"),r=a.includes("experimental-mode=true"),u=a.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let p=null;const b=()=>p||{},M=()=>{if(null===p){p=s().KoliBri||{};const e=new t;Object.defineProperty(p,"Modal",{get:function(){return e}}),v(),m.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.7.0-rc.2\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},g=()=>{void 0===s().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return p}}),!0!==b().adviceShown&&(Object.defineProperty(p,"adviceShown",{get:function(){return!0}}),m.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 w=()=>Math.floor(16777215*Math.random()).toString(16);"test"===e&&(w=()=>"nonce");export{p as K,m as L,s as a,f as b,o as c,b as d,d as e,h as f,l as g,M as i,w as n,g as r};
@@ -1 +1 @@
1
- {"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","WINDOW","DOCUMENT","configKoliBri","window","Window","document","Document","console","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","isArray","handleClassifier","classifier","shield","label","getShield","options","overwriteStyle","debug","forceLog","info","trace","error","Error","initMeta","meta","querySelector","hasAttribute","includes","KoliBri","getKoliBri","initKoliBri","Modal","Object","defineProperty","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["src/components/modal/service.ts","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { 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\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\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 | 1.7.0-rc.0\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"mappings":"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"}
1
+ {"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","WINDOW","DOCUMENT","configKoliBri","window","Window","document","Document","console","getWindow","META_CONFIG","DEV_MODE","EXPERIMENTAL_MODE","COLOR_CONTRAST_ANALYSIS","getDevMode","getExperimentalMode","getColorContrastAnalysis","mapToArray","msg","isArray","handleClassifier","classifier","shield","label","getShield","options","overwriteStyle","debug","forceLog","info","trace","error","Error","initMeta","meta","querySelector","hasAttribute","includes","KoliBri","getKoliBri","initKoliBri","Modal","Object","defineProperty","renderDevAdvice","adviceShown","nonce","Math","floor","random","toString","processEnv"],"sources":["src/components/modal/service.ts","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { 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\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\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 | 1.7.0-rc.2\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"mappings":"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"}