@public-ui/components 1.6.0-rc.15 → 1.6.0-rc.17

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 (507) hide show
  1. package/custom-elements.json +89 -1
  2. package/dist/cjs/{a11y.tipps-dbfe482e.js → a11y.tipps-de7fbe54.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-dbfe482e.js.map → a11y.tipps-de7fbe54.js.map} +1 -1
  4. package/dist/cjs/{app-globals-3c457229.js → app-globals-e83ee8b5.js} +1 -1
  5. package/dist/cjs/{app-globals-3c457229.js.map → app-globals-e83ee8b5.js.map} +1 -1
  6. package/dist/cjs/{aria-selected-b31756b3.js → aria-selected-0008cfb9.js} +1 -1
  7. package/dist/cjs/{aria-selected-b31756b3.js.map → aria-selected-0008cfb9.js.map} +1 -1
  8. package/dist/cjs/button-link-67bac64d.js +4 -0
  9. package/dist/cjs/{button-link-58e21d08.js.map → button-link-67bac64d.js.map} +1 -1
  10. package/dist/cjs/{color-3b22adaf.js → color-7b544771.js} +1 -1
  11. package/dist/cjs/{color-3b22adaf.js.map → color-7b544771.js.map} +1 -1
  12. package/dist/cjs/{controller-0cd28689.js → controller-054b1db3.js} +1 -1
  13. package/dist/cjs/{controller-0cd28689.js.map → controller-054b1db3.js.map} +1 -1
  14. package/dist/cjs/{controller-bc933b12.js → controller-0ff72c39.js} +1 -1
  15. package/dist/cjs/{controller-bc933b12.js.map → controller-0ff72c39.js.map} +1 -1
  16. package/dist/cjs/{controller-43fe103f.js → controller-4eb098e8.js} +1 -1
  17. package/dist/cjs/{controller-43fe103f.js.map → controller-4eb098e8.js.map} +1 -1
  18. package/dist/cjs/controller-916d9ca1.js +4 -0
  19. package/dist/cjs/controller-916d9ca1.js.map +1 -0
  20. package/dist/cjs/{controller-c3021b2f.js → controller-a297b03f.js} +1 -1
  21. package/dist/cjs/{controller-c3021b2f.js.map → controller-a297b03f.js.map} +1 -1
  22. package/dist/cjs/{controller-ceae9412.js → controller-dffea453.js} +1 -1
  23. package/dist/cjs/{controller-ceae9412.js.map → controller-dffea453.js.map} +1 -1
  24. package/dist/cjs/{controller-icon-ceafc344.js → controller-icon-9fc9f068.js} +1 -1
  25. package/dist/cjs/{controller-icon-ceafc344.js.map → controller-icon-9fc9f068.js.map} +1 -1
  26. package/dist/cjs/{dev.utils-78d00548.js → dev.utils-9c0958cf.js} +1 -1
  27. package/dist/cjs/{dev.utils-78d00548.js.map → dev.utils-9c0958cf.js.map} +1 -1
  28. package/dist/cjs/{devtools-7f99e00b.js → devtools-2e72dd9c.js} +1 -1
  29. package/dist/cjs/{devtools-7f99e00b.js.map → devtools-2e72dd9c.js.map} +1 -1
  30. package/dist/cjs/{disabled-959951da.js → disabled-33542b02.js} +1 -1
  31. package/dist/cjs/{disabled-959951da.js.map → disabled-33542b02.js.map} +1 -1
  32. package/dist/cjs/has-closer-c629ee07.js +4 -0
  33. package/dist/cjs/{has-closer-01ac076a.js.map → has-closer-c629ee07.js.map} +1 -1
  34. package/dist/cjs/hide-label-761f9c70.js +4 -0
  35. package/dist/cjs/{hide-label-4d99f1d9.js.map → hide-label-761f9c70.js.map} +1 -1
  36. package/dist/cjs/i18n-5aa005bd.js +4 -0
  37. package/dist/cjs/i18n-5aa005bd.js.map +1 -0
  38. package/dist/cjs/{icon-4b915891.js → icon-4c258aaa.js} +1 -1
  39. package/dist/cjs/{icon-4b915891.js.map → icon-4c258aaa.js.map} +1 -1
  40. package/dist/cjs/image-source-fe76fa4f.js +4 -0
  41. package/dist/cjs/image-source-fe76fa4f.js.map +1 -0
  42. package/dist/cjs/index.cjs.js +1 -1
  43. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/kol-avatar-wc.cjs.entry.js +4 -0
  48. package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -0
  49. package/dist/cjs/kol-avatar.cjs.entry.js +4 -0
  50. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -0
  51. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  105. package/dist/cjs/kolibri.cjs.js +1 -1
  106. package/dist/cjs/{label-f31696ce.js → label-9a5c5fc9.js} +1 -1
  107. package/dist/cjs/{label-f31696ce.js.map → label-9a5c5fc9.js.map} +1 -1
  108. package/dist/cjs/loader.cjs.js +1 -1
  109. package/dist/cjs/{prop.validators-7219caea.js → prop.validators-564c2db7.js} +1 -1
  110. package/dist/cjs/{prop.validators-7219caea.js.map → prop.validators-564c2db7.js.map} +1 -1
  111. package/dist/cjs/show-462d32c3.js +4 -0
  112. package/dist/cjs/{show-a8907ed7.js.map → show-462d32c3.js.map} +1 -1
  113. package/dist/cjs/{tab-index-fd4498b0.js → tab-index-a60b02ac.js} +1 -1
  114. package/dist/cjs/{tab-index-fd4498b0.js.map → tab-index-a60b02ac.js.map} +1 -1
  115. package/dist/cjs/{validation-8cba92a6.js → validation-18c0235d.js} +1 -1
  116. package/dist/cjs/{validation-8cba92a6.js.map → validation-18c0235d.js.map} +1 -1
  117. package/dist/cjs/validation-3e23c523.js +4 -0
  118. package/dist/cjs/{validation-6faf86e0.js.map → validation-3e23c523.js.map} +1 -1
  119. package/dist/components/component10.js +1 -1
  120. package/dist/components/component10.js.map +1 -1
  121. package/dist/components/component11.js +1 -1
  122. package/dist/components/component11.js.map +1 -1
  123. package/dist/components/component12.js +1 -1
  124. package/dist/components/component12.js.map +1 -1
  125. package/dist/components/component13.js +1 -1
  126. package/dist/components/component13.js.map +1 -1
  127. package/dist/components/component14.js +1 -1
  128. package/dist/components/component14.js.map +1 -1
  129. package/dist/components/component15.js +1 -1
  130. package/dist/components/component15.js.map +1 -1
  131. package/dist/components/component16.js +4 -0
  132. package/dist/components/component16.js.map +1 -0
  133. package/dist/components/component7.js +1 -1
  134. package/dist/components/component7.js.map +1 -1
  135. package/dist/components/component8.js +1 -1
  136. package/dist/components/component8.js.map +1 -1
  137. package/dist/components/component9.js +1 -1
  138. package/dist/components/component9.js.map +1 -1
  139. package/dist/components/controller.js +1 -1
  140. package/dist/components/controller.js.map +1 -1
  141. package/dist/components/i18n.js +1 -1
  142. package/dist/components/i18n.js.map +1 -1
  143. package/dist/components/kol-avatar-wc.d.ts +11 -0
  144. package/dist/components/kol-avatar-wc.js +4 -0
  145. package/dist/components/kol-avatar-wc.js.map +1 -0
  146. package/dist/components/kol-avatar.d.ts +11 -0
  147. package/dist/components/kol-avatar.js +4 -0
  148. package/dist/components/kol-avatar.js.map +1 -0
  149. package/dist/components/kol-badge.js +1 -1
  150. package/dist/components/kol-breadcrumb.js +1 -1
  151. package/dist/components/kol-button-group-wc.js +1 -1
  152. package/dist/components/kol-button-group.js +1 -1
  153. package/dist/components/kol-button-link-text-switch.js +1 -1
  154. package/dist/components/kol-button.js +1 -1
  155. package/dist/components/kol-details.js +1 -1
  156. package/dist/components/kol-form.js +1 -1
  157. package/dist/components/kol-image.js +1 -1
  158. package/dist/components/kol-image.js.map +1 -1
  159. package/dist/components/kol-indented-text.js +1 -1
  160. package/dist/components/kol-input-adapter-leanup.js +1 -1
  161. package/dist/components/kol-input-checkbox.js +1 -1
  162. package/dist/components/kol-input-checkbox.js.map +1 -1
  163. package/dist/components/kol-input-color.js +1 -1
  164. package/dist/components/kol-input-color.js.map +1 -1
  165. package/dist/components/kol-input-date.js +1 -1
  166. package/dist/components/kol-input-date.js.map +1 -1
  167. package/dist/components/kol-input-email.js +1 -1
  168. package/dist/components/kol-input-email.js.map +1 -1
  169. package/dist/components/kol-input-file.js +1 -1
  170. package/dist/components/kol-input-file.js.map +1 -1
  171. package/dist/components/kol-input-number.js +1 -1
  172. package/dist/components/kol-input-number.js.map +1 -1
  173. package/dist/components/kol-input-password.js +1 -1
  174. package/dist/components/kol-input-password.js.map +1 -1
  175. package/dist/components/kol-input-radio-group.js +1 -1
  176. package/dist/components/kol-input-radio.js +1 -1
  177. package/dist/components/kol-input-range.js +1 -1
  178. package/dist/components/kol-input-text.js +1 -1
  179. package/dist/components/kol-input-text.js.map +1 -1
  180. package/dist/components/kol-input.js +1 -1
  181. package/dist/components/kol-link-button.js +1 -1
  182. package/dist/components/kol-link-group.js +1 -1
  183. package/dist/components/kol-link-wc.js +1 -1
  184. package/dist/components/kol-link.js +1 -1
  185. package/dist/components/kol-nav.js +1 -1
  186. package/dist/components/kol-pagination.js +1 -1
  187. package/dist/components/kol-quote.js +1 -1
  188. package/dist/components/kol-select.js +1 -1
  189. package/dist/components/kol-skip-nav.js +1 -1
  190. package/dist/components/kol-table.js +1 -1
  191. package/dist/components/kol-tabs.js +1 -1
  192. package/dist/components/kol-textarea.js +1 -1
  193. package/dist/components/kol-version.js +1 -1
  194. package/dist/components/prop.validators.js +1 -1
  195. package/dist/components/prop.validators.js.map +1 -1
  196. package/dist/components/shadow2.js +1 -1
  197. package/dist/components/shadow2.js.map +1 -1
  198. package/dist/components/shadow3.js +1 -1
  199. package/dist/components/shadow3.js.map +1 -1
  200. package/dist/components/shadow4.js +4 -0
  201. package/dist/components/shadow4.js.map +1 -0
  202. package/dist/esm/{a11y.tipps-9f948961.js → a11y.tipps-255c885e.js} +1 -1
  203. package/dist/esm/{a11y.tipps-9f948961.js.map → a11y.tipps-255c885e.js.map} +1 -1
  204. package/dist/esm/app-globals-e49e1503.js +4 -0
  205. package/dist/esm/{app-globals-bf9eb17a.js.map → app-globals-e49e1503.js.map} +1 -1
  206. package/dist/esm/{aria-selected-b9d7d1e4.js → aria-selected-9745a637.js} +1 -1
  207. package/dist/esm/{aria-selected-b9d7d1e4.js.map → aria-selected-9745a637.js.map} +1 -1
  208. package/dist/esm/{button-link-99acae48.js → button-link-e7a5fabf.js} +1 -1
  209. package/dist/esm/{button-link-99acae48.js.map → button-link-e7a5fabf.js.map} +1 -1
  210. package/dist/esm/{color-408da8e8.js → color-b194e076.js} +1 -1
  211. package/dist/esm/{color-408da8e8.js.map → color-b194e076.js.map} +1 -1
  212. package/dist/esm/{controller-3391cc2d.js → controller-5940f710.js} +1 -1
  213. package/dist/esm/{controller-3391cc2d.js.map → controller-5940f710.js.map} +1 -1
  214. package/dist/esm/{controller-31db8bf4.js → controller-97df9666.js} +1 -1
  215. package/dist/esm/{controller-31db8bf4.js.map → controller-97df9666.js.map} +1 -1
  216. package/dist/esm/{controller-f8056e1a.js → controller-9d4a30f8.js} +1 -1
  217. package/dist/esm/{controller-f8056e1a.js.map → controller-9d4a30f8.js.map} +1 -1
  218. package/dist/esm/controller-a27433b4.js +4 -0
  219. package/dist/esm/controller-a27433b4.js.map +1 -0
  220. package/dist/esm/{controller-6ed90cd7.js → controller-cbd99b24.js} +1 -1
  221. package/dist/esm/{controller-6ed90cd7.js.map → controller-cbd99b24.js.map} +1 -1
  222. package/dist/esm/{controller-b036f128.js → controller-d9c05ca2.js} +1 -1
  223. package/dist/esm/{controller-b036f128.js.map → controller-d9c05ca2.js.map} +1 -1
  224. package/dist/esm/{controller-icon-7b8f547d.js → controller-icon-5a04613b.js} +1 -1
  225. package/dist/esm/{controller-icon-7b8f547d.js.map → controller-icon-5a04613b.js.map} +1 -1
  226. package/dist/esm/{dev.utils-4290338e.js → dev.utils-e98368e1.js} +1 -1
  227. package/dist/esm/{dev.utils-4290338e.js.map → dev.utils-e98368e1.js.map} +1 -1
  228. package/dist/esm/{devtools-57a6a46f.js → devtools-3b34fa30.js} +1 -1
  229. package/dist/esm/{devtools-57a6a46f.js.map → devtools-3b34fa30.js.map} +1 -1
  230. package/dist/esm/{disabled-559fd371.js → disabled-614216e9.js} +1 -1
  231. package/dist/esm/{disabled-559fd371.js.map → disabled-614216e9.js.map} +1 -1
  232. package/dist/esm/{has-closer-62a48dbd.js → has-closer-4415fbda.js} +1 -1
  233. package/dist/esm/{has-closer-62a48dbd.js.map → has-closer-4415fbda.js.map} +1 -1
  234. package/dist/esm/{hide-label-9248468d.js → hide-label-53a9f681.js} +1 -1
  235. package/dist/esm/{hide-label-9248468d.js.map → hide-label-53a9f681.js.map} +1 -1
  236. package/dist/esm/i18n-a5618943.js +4 -0
  237. package/dist/esm/i18n-a5618943.js.map +1 -0
  238. package/dist/esm/{icon-e03e73f6.js → icon-ae60c121.js} +1 -1
  239. package/dist/esm/{icon-e03e73f6.js.map → icon-ae60c121.js.map} +1 -1
  240. package/dist/esm/image-source-a6d9c13f.js +4 -0
  241. package/dist/esm/image-source-a6d9c13f.js.map +1 -0
  242. package/dist/esm/index.js +1 -1
  243. package/dist/esm/kol-abbr.entry.js +1 -1
  244. package/dist/esm/kol-accordion.entry.js +1 -1
  245. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  246. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  247. package/dist/esm/kol-avatar-wc.entry.js +4 -0
  248. package/dist/esm/kol-avatar-wc.entry.js.map +1 -0
  249. package/dist/esm/kol-avatar.entry.js +4 -0
  250. package/dist/esm/kol-avatar.entry.js.map +1 -0
  251. package/dist/esm/kol-badge.entry.js +1 -1
  252. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  253. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  254. package/dist/esm/kol-card.entry.js +1 -1
  255. package/dist/esm/kol-details.entry.js +1 -1
  256. package/dist/esm/kol-form.entry.js +1 -1
  257. package/dist/esm/kol-icon.entry.js +1 -1
  258. package/dist/esm/kol-image.entry.js +1 -1
  259. package/dist/esm/kol-image.entry.js.map +1 -1
  260. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  261. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  262. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  263. package/dist/esm/kol-input-color.entry.js +1 -1
  264. package/dist/esm/kol-input-color.entry.js.map +1 -1
  265. package/dist/esm/kol-input-date.entry.js +1 -1
  266. package/dist/esm/kol-input-date.entry.js.map +1 -1
  267. package/dist/esm/kol-input-email.entry.js +1 -1
  268. package/dist/esm/kol-input-email.entry.js.map +1 -1
  269. package/dist/esm/kol-input-file.entry.js +1 -1
  270. package/dist/esm/kol-input-file.entry.js.map +1 -1
  271. package/dist/esm/kol-input-number.entry.js +1 -1
  272. package/dist/esm/kol-input-number.entry.js.map +1 -1
  273. package/dist/esm/kol-input-password.entry.js +1 -1
  274. package/dist/esm/kol-input-password.entry.js.map +1 -1
  275. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  276. package/dist/esm/kol-input-radio.entry.js +1 -1
  277. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  278. package/dist/esm/kol-input-range.entry.js +1 -1
  279. package/dist/esm/kol-input-text.entry.js +1 -1
  280. package/dist/esm/kol-input-text.entry.js.map +1 -1
  281. package/dist/esm/kol-kolibri.entry.js +1 -1
  282. package/dist/esm/kol-link-button.entry.js +1 -1
  283. package/dist/esm/kol-link-group.entry.js +1 -1
  284. package/dist/esm/kol-link-wc.entry.js +1 -1
  285. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  286. package/dist/esm/kol-logo.entry.js +1 -1
  287. package/dist/esm/kol-modal.entry.js +1 -1
  288. package/dist/esm/kol-nav.entry.js +1 -1
  289. package/dist/esm/kol-pagination.entry.js +1 -1
  290. package/dist/esm/kol-popover.entry.js +1 -1
  291. package/dist/esm/kol-progress.entry.js +1 -1
  292. package/dist/esm/kol-quote.entry.js +1 -1
  293. package/dist/esm/kol-select.entry.js +1 -1
  294. package/dist/esm/kol-skip-nav.entry.js +1 -1
  295. package/dist/esm/kol-span-wc.entry.js +1 -1
  296. package/dist/esm/kol-spin.entry.js +1 -1
  297. package/dist/esm/kol-split-button.entry.js +1 -1
  298. package/dist/esm/kol-symbol.entry.js +1 -1
  299. package/dist/esm/kol-table.entry.js +1 -1
  300. package/dist/esm/kol-tabs.entry.js +1 -1
  301. package/dist/esm/kol-textarea.entry.js +1 -1
  302. package/dist/esm/kol-toast.entry.js +1 -1
  303. package/dist/esm/kol-tooltip.entry.js +1 -1
  304. package/dist/esm/kol-version.entry.js +1 -1
  305. package/dist/esm/kolibri.js +1 -1
  306. package/dist/esm/{label-223fef8f.js → label-35927418.js} +1 -1
  307. package/dist/esm/{label-223fef8f.js.map → label-35927418.js.map} +1 -1
  308. package/dist/esm/loader.js +1 -1
  309. package/dist/esm/{prop.validators-601f1068.js → prop.validators-e3c93395.js} +1 -1
  310. package/dist/esm/{prop.validators-601f1068.js.map → prop.validators-e3c93395.js.map} +1 -1
  311. package/dist/esm/{show-6d33a33f.js → show-d72ff77e.js} +1 -1
  312. package/dist/esm/{show-6d33a33f.js.map → show-d72ff77e.js.map} +1 -1
  313. package/dist/esm/{tab-index-fc60df7a.js → tab-index-841e81ba.js} +1 -1
  314. package/dist/esm/{tab-index-fc60df7a.js.map → tab-index-841e81ba.js.map} +1 -1
  315. package/dist/esm/{validation-5300d0a1.js → validation-a9f13bf5.js} +1 -1
  316. package/dist/esm/{validation-5300d0a1.js.map → validation-a9f13bf5.js.map} +1 -1
  317. package/dist/esm/validation-bbab8795.js +4 -0
  318. package/dist/esm/{validation-4acc18ad.js.map → validation-bbab8795.js.map} +1 -1
  319. package/dist/kolibri/{a11y.tipps-9f948961.js → a11y.tipps-255c885e.js} +1 -1
  320. package/dist/kolibri/app-globals-e49e1503.js +4 -0
  321. package/dist/kolibri/aria-selected-9745a637.js +4 -0
  322. package/dist/kolibri/{button-link-99acae48.js → button-link-e7a5fabf.js} +1 -1
  323. package/dist/kolibri/{color-408da8e8.js → color-b194e076.js} +1 -1
  324. package/dist/kolibri/{controller-3391cc2d.js → controller-5940f710.js} +1 -1
  325. package/dist/kolibri/{controller-31db8bf4.js → controller-97df9666.js} +1 -1
  326. package/dist/kolibri/{controller-f8056e1a.js → controller-9d4a30f8.js} +1 -1
  327. package/dist/kolibri/controller-a27433b4.js +4 -0
  328. package/dist/kolibri/controller-a27433b4.js.map +1 -0
  329. package/dist/kolibri/{controller-6ed90cd7.js → controller-cbd99b24.js} +1 -1
  330. package/dist/kolibri/{controller-b036f128.js → controller-d9c05ca2.js} +1 -1
  331. package/dist/kolibri/{controller-icon-7b8f547d.js → controller-icon-5a04613b.js} +1 -1
  332. package/dist/kolibri/{dev.utils-4290338e.js → dev.utils-e98368e1.js} +1 -1
  333. package/dist/kolibri/{dev.utils-4290338e.js.map → dev.utils-e98368e1.js.map} +1 -1
  334. package/dist/kolibri/{devtools-57a6a46f.js → devtools-3b34fa30.js} +1 -1
  335. package/dist/kolibri/{disabled-559fd371.js → disabled-614216e9.js} +1 -1
  336. package/dist/kolibri/has-closer-4415fbda.js +4 -0
  337. package/dist/kolibri/hide-label-53a9f681.js +4 -0
  338. package/dist/kolibri/i18n-a5618943.js +4 -0
  339. package/dist/kolibri/i18n-a5618943.js.map +1 -0
  340. package/dist/kolibri/{icon-e03e73f6.js → icon-ae60c121.js} +1 -1
  341. package/dist/kolibri/image-source-a6d9c13f.js +4 -0
  342. package/dist/kolibri/image-source-a6d9c13f.js.map +1 -0
  343. package/dist/kolibri/index.esm.js +1 -1
  344. package/dist/kolibri/kol-abbr.entry.js +1 -1
  345. package/dist/kolibri/kol-accordion.entry.js +1 -1
  346. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  347. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  348. package/dist/kolibri/kol-avatar-wc.entry.js +4 -0
  349. package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -0
  350. package/dist/kolibri/kol-avatar.entry.js +4 -0
  351. package/dist/kolibri/kol-avatar.entry.js.map +1 -0
  352. package/dist/kolibri/kol-badge.entry.js +1 -1
  353. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  354. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  355. package/dist/kolibri/kol-card.entry.js +1 -1
  356. package/dist/kolibri/kol-details.entry.js +1 -1
  357. package/dist/kolibri/kol-form.entry.js +1 -1
  358. package/dist/kolibri/kol-icon.entry.js +1 -1
  359. package/dist/kolibri/kol-image.entry.js +1 -1
  360. package/dist/kolibri/kol-image.entry.js.map +1 -1
  361. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  362. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  363. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  364. package/dist/kolibri/kol-input-color.entry.js +1 -1
  365. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  366. package/dist/kolibri/kol-input-date.entry.js +1 -1
  367. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  368. package/dist/kolibri/kol-input-email.entry.js +1 -1
  369. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  370. package/dist/kolibri/kol-input-file.entry.js +1 -1
  371. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  372. package/dist/kolibri/kol-input-number.entry.js +1 -1
  373. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  374. package/dist/kolibri/kol-input-password.entry.js +1 -1
  375. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  376. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  377. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  378. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  379. package/dist/kolibri/kol-input-range.entry.js +1 -1
  380. package/dist/kolibri/kol-input-text.entry.js +1 -1
  381. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  382. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  383. package/dist/kolibri/kol-link-button.entry.js +1 -1
  384. package/dist/kolibri/kol-link-group.entry.js +1 -1
  385. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  386. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  387. package/dist/kolibri/kol-logo.entry.js +1 -1
  388. package/dist/kolibri/kol-modal.entry.js +1 -1
  389. package/dist/kolibri/kol-nav.entry.js +1 -1
  390. package/dist/kolibri/kol-pagination.entry.js +1 -1
  391. package/dist/kolibri/kol-popover.entry.js +1 -1
  392. package/dist/kolibri/kol-progress.entry.js +1 -1
  393. package/dist/kolibri/kol-quote.entry.js +1 -1
  394. package/dist/kolibri/kol-select.entry.js +1 -1
  395. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  396. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  397. package/dist/kolibri/kol-spin.entry.js +1 -1
  398. package/dist/kolibri/kol-split-button.entry.js +1 -1
  399. package/dist/kolibri/kol-symbol.entry.js +1 -1
  400. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  401. package/dist/kolibri/kol-table.entry.js +1 -1
  402. package/dist/kolibri/kol-tabs.entry.js +1 -1
  403. package/dist/kolibri/kol-textarea.entry.js +1 -1
  404. package/dist/kolibri/kol-toast.entry.js +1 -1
  405. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  406. package/dist/kolibri/kol-version.entry.js +1 -1
  407. package/dist/kolibri/kolibri.esm.js +1 -1
  408. package/dist/kolibri/kolibri.esm.js.map +1 -1
  409. package/dist/kolibri/label-35927418.js +4 -0
  410. package/dist/kolibri/{label-223fef8f.js.map → label-35927418.js.map} +1 -1
  411. package/dist/kolibri/{prop.validators-601f1068.js → prop.validators-e3c93395.js} +1 -1
  412. package/dist/kolibri/show-d72ff77e.js +4 -0
  413. package/dist/kolibri/{tab-index-fc60df7a.js → tab-index-841e81ba.js} +1 -1
  414. package/dist/kolibri/{validation-5300d0a1.js → validation-a9f13bf5.js} +1 -1
  415. package/dist/kolibri/validation-bbab8795.js +4 -0
  416. package/dist/types/components/@deprecated/input/types.d.ts +2 -1
  417. package/dist/types/components/avatar/component.d.ts +13 -0
  418. package/dist/types/components/avatar/controller.d.ts +1 -0
  419. package/dist/types/components/avatar/shadow.d.ts +7 -0
  420. package/dist/types/components/avatar/test/html.mock.d.ts +2 -0
  421. package/dist/types/components/avatar/types.d.ts +15 -0
  422. package/dist/types/components/image/shadow.d.ts +3 -2
  423. package/dist/types/components/image/test/html.mock.d.ts +1 -1
  424. package/dist/types/components/image/types.d.ts +2 -1
  425. package/dist/types/components/input/component.d.ts +1 -1
  426. package/dist/types/components/input/types.d.ts +2 -1
  427. package/dist/types/components/input-color/component.d.ts +1 -1
  428. package/dist/types/components/input-color/types.d.ts +1 -1
  429. package/dist/types/components/input-date/component.d.ts +1 -1
  430. package/dist/types/components/input-email/component.d.ts +1 -1
  431. package/dist/types/components/input-email/types.d.ts +1 -1
  432. package/dist/types/components/input-file/component.d.ts +1 -1
  433. package/dist/types/components/input-file/types.d.ts +1 -1
  434. package/dist/types/components/input-number/component.d.ts +1 -1
  435. package/dist/types/components/input-password/component.d.ts +1 -1
  436. package/dist/types/components/input-password/types.d.ts +1 -1
  437. package/dist/types/components/input-text/component.d.ts +1 -1
  438. package/dist/types/components/input-text/types.d.ts +1 -1
  439. package/dist/types/components/symbol/types.d.ts +1 -1
  440. package/dist/types/components.d.ts +80 -20
  441. package/dist/types/i18n.d.ts +1 -1
  442. package/dist/types/locales/de.d.ts +1 -0
  443. package/dist/types/locales/en.d.ts +1 -0
  444. package/dist/types/types/input/control/number.d.ts +1 -1
  445. package/dist/types/types/props/image-source.d.ts +4 -0
  446. package/doc/abbr.md +1 -5
  447. package/doc/avatar.md +34 -0
  448. package/doc/image.md +13 -0
  449. package/doc/input-color.md +20 -20
  450. package/doc/input-date.md +26 -26
  451. package/doc/input-email.md +28 -28
  452. package/doc/input-file.md +21 -21
  453. package/doc/input-number.md +27 -27
  454. package/doc/input-password.md +26 -26
  455. package/doc/input-text.md +28 -28
  456. package/doc/logo.md +2 -2
  457. package/doc/symbol.md +45 -0
  458. package/jest-test-results.json +1 -1
  459. package/package.json +1 -1
  460. package/vscode-custom-data.json +62 -0
  461. package/dist/cjs/button-link-58e21d08.js +0 -4
  462. package/dist/cjs/controller-48d4248f.js +0 -4
  463. package/dist/cjs/controller-48d4248f.js.map +0 -1
  464. package/dist/cjs/has-closer-01ac076a.js +0 -4
  465. package/dist/cjs/hide-label-4d99f1d9.js +0 -4
  466. package/dist/cjs/i18n-8d483c7b.js +0 -4
  467. package/dist/cjs/i18n-8d483c7b.js.map +0 -1
  468. package/dist/cjs/show-a8907ed7.js +0 -4
  469. package/dist/cjs/validation-6faf86e0.js +0 -4
  470. package/dist/esm/app-globals-bf9eb17a.js +0 -4
  471. package/dist/esm/controller-b26721c9.js +0 -4
  472. package/dist/esm/controller-b26721c9.js.map +0 -1
  473. package/dist/esm/i18n-23b83118.js +0 -4
  474. package/dist/esm/i18n-23b83118.js.map +0 -1
  475. package/dist/esm/validation-4acc18ad.js +0 -4
  476. package/dist/kolibri/app-globals-bf9eb17a.js +0 -4
  477. package/dist/kolibri/aria-selected-b9d7d1e4.js +0 -4
  478. package/dist/kolibri/controller-b26721c9.js +0 -4
  479. package/dist/kolibri/controller-b26721c9.js.map +0 -1
  480. package/dist/kolibri/has-closer-62a48dbd.js +0 -4
  481. package/dist/kolibri/hide-label-9248468d.js +0 -4
  482. package/dist/kolibri/i18n-23b83118.js +0 -4
  483. package/dist/kolibri/i18n-23b83118.js.map +0 -1
  484. package/dist/kolibri/label-223fef8f.js +0 -4
  485. package/dist/kolibri/show-6d33a33f.js +0 -4
  486. package/dist/kolibri/validation-4acc18ad.js +0 -4
  487. /package/dist/kolibri/{a11y.tipps-9f948961.js.map → a11y.tipps-255c885e.js.map} +0 -0
  488. /package/dist/kolibri/{app-globals-bf9eb17a.js.map → app-globals-e49e1503.js.map} +0 -0
  489. /package/dist/kolibri/{aria-selected-b9d7d1e4.js.map → aria-selected-9745a637.js.map} +0 -0
  490. /package/dist/kolibri/{button-link-99acae48.js.map → button-link-e7a5fabf.js.map} +0 -0
  491. /package/dist/kolibri/{color-408da8e8.js.map → color-b194e076.js.map} +0 -0
  492. /package/dist/kolibri/{controller-3391cc2d.js.map → controller-5940f710.js.map} +0 -0
  493. /package/dist/kolibri/{controller-31db8bf4.js.map → controller-97df9666.js.map} +0 -0
  494. /package/dist/kolibri/{controller-f8056e1a.js.map → controller-9d4a30f8.js.map} +0 -0
  495. /package/dist/kolibri/{controller-6ed90cd7.js.map → controller-cbd99b24.js.map} +0 -0
  496. /package/dist/kolibri/{controller-b036f128.js.map → controller-d9c05ca2.js.map} +0 -0
  497. /package/dist/kolibri/{controller-icon-7b8f547d.js.map → controller-icon-5a04613b.js.map} +0 -0
  498. /package/dist/kolibri/{devtools-57a6a46f.js.map → devtools-3b34fa30.js.map} +0 -0
  499. /package/dist/kolibri/{disabled-559fd371.js.map → disabled-614216e9.js.map} +0 -0
  500. /package/dist/kolibri/{has-closer-62a48dbd.js.map → has-closer-4415fbda.js.map} +0 -0
  501. /package/dist/kolibri/{hide-label-9248468d.js.map → hide-label-53a9f681.js.map} +0 -0
  502. /package/dist/kolibri/{icon-e03e73f6.js.map → icon-ae60c121.js.map} +0 -0
  503. /package/dist/kolibri/{prop.validators-601f1068.js.map → prop.validators-e3c93395.js.map} +0 -0
  504. /package/dist/kolibri/{show-6d33a33f.js.map → show-d72ff77e.js.map} +0 -0
  505. /package/dist/kolibri/{tab-index-fc60df7a.js.map → tab-index-841e81ba.js.map} +0 -0
  506. /package/dist/kolibri/{validation-5300d0a1.js.map → validation-a9f13bf5.js.map} +0 -0
  507. /package/dist/kolibri/{validation-4acc18ad.js.map → validation-bbab8795.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{p as processEnv}from"./reuse-c2156413.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.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)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class ToasterService{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){this.toastElement.setAttribute("_heading",e.heading),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const initMeta=()=>{if(null===DEV_MODE&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let KoliBri=null;const getKoliBri=()=>KoliBri||{},initKoliBri=()=>{if(null===KoliBri){KoliBri=getWindow().KoliBri||{};const e=new ModalService,t=new ToasterService(getDocument());Object.defineProperty(KoliBri,"Modal",{get:function(){return e}}),Object.defineProperty(KoliBri,"Toaster",{get:function(){return t}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{void 0===getWindow().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return KoliBri}}),!0!==getKoliBri().adviceShown&&(Object.defineProperty(KoliBri,"adviceShown",{get:function(){return!0}}),Log.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 nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{KoliBri as K,Log as L,ToasterService as T,getWindow as a,getExperimentalMode as b,configKoliBri as c,getKoliBri as d,getDevMode as e,getColorContrastAnalysis as f,getDocument as g,initKoliBri as i,nonce as n,renderDevAdvice as r};
4
+ import{p as processEnv}from"./reuse-c2156413.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.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)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}class ToasterService{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){this.toastElement.setAttribute("_heading",e.heading),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};const initMeta=()=>{if(null===DEV_MODE&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let KoliBri=null;const getKoliBri=()=>KoliBri||{},initKoliBri=()=>{if(null===KoliBri){KoliBri=getWindow().KoliBri||{};const e=new ModalService,t=new ToasterService(getDocument());Object.defineProperty(KoliBri,"Modal",{get:function(){return e}}),Object.defineProperty(KoliBri,"Toaster",{get:function(){return t}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.17\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{void 0===getWindow().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return KoliBri}}),!0!==getKoliBri().adviceShown&&(Object.defineProperty(KoliBri,"adviceShown",{get:function(){return!0}}),Log.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 nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{KoliBri as K,Log as L,ToasterService as T,getWindow as a,getExperimentalMode as b,configKoliBri as c,getKoliBri as d,getDevMode as e,getColorContrastAnalysis as f,getDocument as g,initKoliBri as i,nonce as n,renderDevAdvice as r};
@@ -1 +1 @@
1
- {"file":"dev.utils-4290338e.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/components/toast/toaster.tsx","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { AlertType } from '../alert/types';\n\ntype Toast = {\n\theading: string;\n\tdescription: string;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tthis.toastElement.setAttribute('_heading', data.heading);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = window.document;\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\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"],"version":3}
1
+ {"file":"dev.utils-e98368e1.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/components/toast/toaster.tsx","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { AlertType } from '../alert/types';\n\ntype Toast = {\n\theading: string;\n\tdescription: string;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tthis.toastElement.setAttribute('_heading', data.heading);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = window.document;\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 1.6.0-rc.17\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"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{i as initKoliBri,e as getDevMode,r as renderDevAdvice,g as getDocument,L as Log,b as getExperimentalMode,f as getColorContrastAnalysis,K as KoliBri}from"./dev.utils-4290338e.js";import{l as KoliBriUtils,n as koliBriA11yColorContrast,k as koliBriQuerySelector,q as koliBriQuerySelectorAll,t as koliBriQuerySelectorColors,p as parseJson,u as stringifyJson}from"./prop.validators-601f1068.js";import"./reuse-c2156413.js";import"./a11y.tipps-9f948961.js";import"./index-37b5cbcf.js";function prototypeKoliBri(o,t){try{Object.defineProperty(KoliBri,o,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${o} is already bind.`)}}const metaModeLog=(o,t)=>Log.debug(`${o} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const o=getDocument().body,t=getDocument().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(t),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(o),!1,!1)}),1e4)}),2500)}}};export{initialize};
4
+ import{i as initKoliBri,e as getDevMode,r as renderDevAdvice,g as getDocument,L as Log,b as getExperimentalMode,f as getColorContrastAnalysis,K as KoliBri}from"./dev.utils-e98368e1.js";import{l as KoliBriUtils,n as koliBriA11yColorContrast,k as koliBriQuerySelector,q as koliBriQuerySelectorAll,t as koliBriQuerySelectorColors,p as parseJson,u as stringifyJson}from"./prop.validators-e3c93395.js";import"./reuse-c2156413.js";import"./a11y.tipps-255c885e.js";import"./index-37b5cbcf.js";function prototypeKoliBri(e,o){try{Object.defineProperty(KoliBri,e,{get:function(){return o}})}catch(o){Log.debug(`KoliBri property ${e} is already bind.`)}}const metaModeLog=(e,o)=>Log.debug(`${e} ${o?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const e=getDocument().body,o=getDocument().createElement("svg");if(o.setAttribute("aria-label","KoliBri-DevTools"),o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("role","toolbar"),o.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),o.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(o),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const o=setTimeout((()=>{clearTimeout(o),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(e),!1,!1)}),1e4)}),2500)}}};export{initialize};
@@ -1 +1 @@
1
- {"file":"devtools-57a6a46f.js","mappings":";;;;;;;;;AAWA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;EAC/C,IAAI;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE;MACpC,GAAG,EAAE;QACJ,OAAO,EAAE,CAAC;OACV;KACD,CAAC,CAAC;GACH;EAAC,OAAO,CAAC,EAAE;IACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;GACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;EACzB,WAAW,EAAE,CAAC;EACd,IAAI,UAAU,EAAE,EAAE;IACjB,eAAe,EAAE,CAAC;IAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;IACpE,gBAAgB,CAAC,OAAO,EAAE;MACzB,OAAO,YAAY,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;IAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;IAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnE,IAAI,wBAAwB,EAAE,EAAE;MAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,WAAW,CAAC;UACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACtH,EAAE,KAAK,CAAC,CAAC;OACV,EAAE,IAAI,CAAC,CAAC;KACT;GAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import { getColorContrastAnalysis, getDevMode, getDocument, getExperimentalMode, initKoliBri, KoliBri, Log, renderDevAdvice } from '../utils/dev.utils';\nimport {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '../utils/prop.validators';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(KoliBri, name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}
1
+ {"file":"devtools-3b34fa30.js","mappings":";;;;;;;;;AAWA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;EAC/C,IAAI;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE;MACpC,GAAG,EAAE;QACJ,OAAO,EAAE,CAAC;OACV;KACD,CAAC,CAAC;GACH;EAAC,OAAO,CAAC,EAAE;IACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;GACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;EACzB,WAAW,EAAE,CAAC;EACd,IAAI,UAAU,EAAE,EAAE;IACjB,eAAe,EAAE,CAAC;IAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;IACpE,gBAAgB,CAAC,OAAO,EAAE;MACzB,OAAO,YAAY,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;IAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;IAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnE,IAAI,wBAAwB,EAAE,EAAE;MAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,WAAW,CAAC;UACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACtH,EAAE,KAAK,CAAC,CAAC;OACV,EAAE,IAAI,CAAC,CAAC;KACT;GAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import { getColorContrastAnalysis, getDevMode, getDocument, getExperimentalMode, initKoliBri, KoliBri, Log, renderDevAdvice } from '../utils/dev.utils';\nimport {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '../utils/prop.validators';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(KoliBri, name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{b as watchBoolean}from"./prop.validators-601f1068.js";const validateAriaExpanded=(a,d)=>{watchBoolean(a,"_ariaExpanded",d)},validateDisabled=(a,d)=>{watchBoolean(a,"_disabled",d)};export{validateDisabled as a,validateAriaExpanded as v};
4
+ import{b as watchBoolean}from"./prop.validators-e3c93395.js";const validateAriaExpanded=(a,d)=>{watchBoolean(a,"_ariaExpanded",d)},validateDisabled=(a,d)=>{watchBoolean(a,"_disabled",d)};export{validateDisabled as a,validateAriaExpanded as v};
@@ -1 +1 @@
1
- {"file":"disabled-559fd371.js","mappings":";;;;;MAkBa,oBAAoB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACzF,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AACjD;;MCJa,gBAAgB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACrF,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7C;;;;","names":[],"sources":["src/types/props/aria-expanded.ts","src/types/props/disabled.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n */\nexport type PropAriaExpanded = {\n\tariaExpanded: boolean;\n};\n\n/* validator */\nexport const validateAriaExpanded = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaExpanded', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Element nicht fokussierbar und lässt es alle Events ignorieren.\n */\n/** en\n * Makes the element not focusable and ignore all events.\n */\nexport type PropDisabled = {\n\tdisabled: boolean;\n};\n\n/* validator */\nexport const validateDisabled = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_disabled', value);\n};\n"],"version":3}
1
+ {"file":"disabled-614216e9.js","mappings":";;;;;MAkBa,oBAAoB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACzF,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AACjD;;MCJa,gBAAgB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACrF,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7C;;;;","names":[],"sources":["src/types/props/aria-expanded.ts","src/types/props/disabled.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n */\nexport type PropAriaExpanded = {\n\tariaExpanded: boolean;\n};\n\n/* validator */\nexport const validateAriaExpanded = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaExpanded', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Element nicht fokussierbar und lässt es alle Events ignorieren.\n */\n/** en\n * Makes the element not focusable and ignore all events.\n */\nexport type PropDisabled = {\n\tdisabled: boolean;\n};\n\n/* validator */\nexport const validateDisabled = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_disabled', value);\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{b as watchBoolean}from"./prop.validators-601f1068.js";const validateHasCloser=(a,o)=>{watchBoolean(a,"_hasCloser",o)};export{validateHasCloser as v};
4
+ import{b as watchBoolean}from"./prop.validators-e3c93395.js";const validateHasCloser=(a,o)=>{watchBoolean(a,"_hasCloser",o)};export{validateHasCloser as v};
@@ -1 +1 @@
1
- {"file":"has-closer-62a48dbd.js","mappings":";;;;;MAgBa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACtF,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C;;;;","names":[],"sources":["src/types/props/has-closer.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n */\nexport type PropHasCloser = {\n\thasCloser: boolean;\n};\n\n/* validator */\nexport const validateHasCloser = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCloser', value);\n};\n"],"version":3}
1
+ {"file":"has-closer-4415fbda.js","mappings":";;;;;MAgBa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACtF,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C;;;;","names":[],"sources":["src/types/props/has-closer.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Markiert dieses Element als geöffnet, oder dass das verknüpfte Element (aria-controls/aria-owns) geöffnet ist.\n */\n/** en\n * Marks this element as open/expanded, or that the connected element (aria-controls/aria-owns) is open/expanded.\n */\nexport type PropHasCloser = {\n\thasCloser: boolean;\n};\n\n/* validator */\nexport const validateHasCloser = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hasCloser', value);\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{b as watchBoolean}from"./prop.validators-601f1068.js";const validateHideLabel=(a,e)=>{watchBoolean(a,"_hideLabel",e)};export{validateHideLabel as v};
4
+ import{b as watchBoolean}from"./prop.validators-e3c93395.js";const validateHideLabel=(a,e)=>{watchBoolean(a,"_hideLabel",e)};export{validateHideLabel as v};
@@ -1 +1 @@
1
- {"file":"hide-label-9248468d.js","mappings":";;;;;MAgBa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACtF,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C;;;;","names":[],"sources":["src/types/props/hide-label.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Lässt das Element das Label ausblenden.\n */\n/** en\n * Tells the element to hide the label.\n */\nexport type PropHideLabel = {\n\thideLabel: boolean;\n};\n\n/* validator */\nexport const validateHideLabel = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hideLabel', value);\n};\n"],"version":3}
1
+ {"file":"hide-label-53a9f681.js","mappings":";;;;;MAgBa,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACtF,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAC9C;;;;","names":[],"sources":["src/types/props/hide-label.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Lässt das Element das Label ausblenden.\n */\n/** en\n * Tells the element to hide the label.\n */\nexport type PropHideLabel = {\n\thideLabel: boolean;\n};\n\n/* validator */\nexport const validateHideLabel = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_hideLabel', value);\n};\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{g as getI18nService}from"./index-d8ac1088.js";import{d as devHint}from"./a11y.tipps-255c885e.js";const locale_de={error:"Fehler",warning:"Warnung",info:"Hinweis",success:"Erfolg",message:"Nachricht",close:"Schließen","form-description":"Formular-Felder, die mit einem Sternchen (*) gekennzeichnet sind, sind Pflichtangaben.",of:"von",characters:"Zeichen",new:"Neu","no-entries":"Es sind keine Einträge vorhanden.","change-order":"Sortierung von {{colLabel}} ändern","action-running":"Aktion wird ausgeführt...","action-done":"Aktion abgeschlossen","page-first":"Direkt zur ersten Seite","page-back":"Eine Seite zurück","page-next":"Eine Seite weiter","page-last":"Direkt zur letzten Seite","entries-per-site":"Einträge pro Seite","page-current":"Seite {{page}}","page-selected":"Seite {{page}} ist ausgewählt","page-per-site":"{{entries}} Einträge pro Seite","nav-maximize":"Navigation maximieren","nav-minimize":"Navigation minimieren","logo-description":"Logo {{orgShort}}. Bundesadler mit Flaggenstab und Schriftzug {{orgLong}}","open-link-in-tab":"Der Link wird in einem neuen Tab geöffnet.","kolibri-logo":"Logo von KoliBri","avatar-alt":"Avatar-Bild von {{name}}"},locale_en={error:"Error",warning:"Warning",info:"Note",success:"Success",message:"Message",close:"Close","form-description":"Form fields marked with an asterisk (*) are mandatory.",of:"of",characters:"characters",new:"New","no-entries":"No entries available.","change-order":"Change order of {{colLabel}}","action-running":"Action is running...","action-done":"Action done","page-first":"Directly to the first page","page-back":"One page back","page-next":"One page further","page-last":"Directly to the last page","entries-per-site":"Entries per page","page-current":"Page {{page}}","page-selected":"Page {{page}} is selected","page-per-site":"{{entries}} entries per page","nav-maximize":"Maximize","nav-minimize":"Minimize","logo-description":"Logo {{orgShort}}. Federal eagle with flag staff and lettering {{orgLong}}","open-link-in-tab":"The link will open in a new tab.","kolibri-logo":"KoliBri logo","avatar-alt":"Avatar picture of {{name}}"},mapLocaleKeys=e=>Object.keys(e).reduce(((n,a)=>(n[`kol-${a}`]=e[a],n)),{}),translations=new Set([e=>e("en",mapLocaleKeys(locale_en)),e=>e("de",mapLocaleKeys(locale_de))]),translate=(e,n)=>{const a=getI18nService();if(void 0===a)return devHint("[I18n] I18nService not available! Please call the global register function."),e;let i=a.translate(e,n);return i===e&&(devHint("[I18n] Locales not initialized! Initialize default locales automatically."),translations.forEach((e=>e(((e,n)=>(a.addResourceBundle(e,n),e))))),i=a.translate(e,n)),i};export{translate as a,translations as t};
@@ -0,0 +1 @@
1
+ {"file":"i18n-a5618943.js","mappings":"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","names":[],"sources":["src/locales/de.ts","src/locales/en.ts","src/i18n.ts"],"sourcesContent":["export default {\n\terror: 'Fehler',\n\twarning: 'Warnung',\n\tinfo: 'Hinweis',\n\tsuccess: 'Erfolg',\n\tmessage: 'Nachricht',\n\tclose: 'Schließen',\n\t'form-description': 'Formular-Felder, die mit einem Sternchen (*) gekennzeichnet sind, sind Pflichtangaben.',\n\tof: 'von',\n\tcharacters: 'Zeichen',\n\tnew: 'Neu',\n\t'no-entries': 'Es sind keine Einträge vorhanden.',\n\t'change-order': 'Sortierung von {{colLabel}} ändern',\n\t'action-running': 'Aktion wird ausgeführt...',\n\t'action-done': 'Aktion abgeschlossen',\n\t'page-first': 'Direkt zur ersten Seite',\n\t'page-back': 'Eine Seite zurück',\n\t'page-next': 'Eine Seite weiter',\n\t'page-last': 'Direkt zur letzten Seite',\n\t'entries-per-site': 'Einträge pro Seite',\n\t'page-current': 'Seite {{page}}',\n\t'page-selected': 'Seite {{page}} ist ausgewählt',\n\t'page-per-site': '{{entries}} Einträge pro Seite',\n\t'nav-maximize': 'Navigation maximieren',\n\t'nav-minimize': 'Navigation minimieren',\n\t'logo-description': 'Logo {{orgShort}}. Bundesadler mit Flaggenstab und Schriftzug {{orgLong}}',\n\t'open-link-in-tab': 'Der Link wird in einem neuen Tab geöffnet.',\n\t'kolibri-logo': 'Logo von KoliBri',\n\t'avatar-alt': 'Avatar-Bild von {{name}}',\n};\n","export default {\n\terror: 'Error',\n\twarning: 'Warning',\n\tinfo: 'Note',\n\tsuccess: 'Success',\n\tmessage: 'Message',\n\tclose: 'Close',\n\t'form-description': 'Form fields marked with an asterisk (*) are mandatory.',\n\tof: 'of',\n\tcharacters: 'characters',\n\tnew: 'New',\n\t'no-entries': 'No entries available.',\n\t'change-order': 'Change order of {{colLabel}}',\n\t'action-running': 'Action is running...',\n\t'action-done': 'Action done',\n\t'page-first': 'Directly to the first page',\n\t'page-back': 'One page back',\n\t'page-next': 'One page further',\n\t'page-last': 'Directly to the last page',\n\t'entries-per-site': 'Entries per page',\n\t'page-current': 'Page {{page}}',\n\t'page-selected': 'Page {{page}} is selected',\n\t'page-per-site': '{{entries}} entries per page',\n\t'nav-maximize': 'Maximize',\n\t'nav-minimize': 'Minimize',\n\t'logo-description': 'Logo {{orgShort}}. Federal eagle with flag staff and lettering {{orgLong}}',\n\t'open-link-in-tab': 'The link will open in a new tab.',\n\t'kolibri-logo': 'KoliBri logo',\n\t'avatar-alt': 'Avatar picture of {{name}}',\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { getI18nService } from './core';\n/**\n * Issue #2456: Don't use json files\n * - https://github.com/public-ui/kolibri/issues/2456\n * - use instead ts files\n */\nimport locale_de from './locales/de';\nimport locale_en from './locales/en';\nimport { devHint } from './utils/a11y.tipps';\n\ntype ResourcePrefix = 'Kol';\ntype ComponentKeys = keyof typeof locale_de;\n\nconst mapLocaleKeys = (locale: { [K in ComponentKeys]: string }) =>\n\t(Object.keys(locale) as ComponentKeys[]).reduce((a, c) => ((a[`${'kol'}-${c}`] = locale[c]), a), {} as Generic.I18n.Map<ResourcePrefix, ComponentKeys>);\n\nexport const translations = new Set<Generic.I18n.RegisterPatch<Generic.I18n.Locale.ISO_639_1, ResourcePrefix, ComponentKeys>>([\n\t(t: (language: 'en', translationMap: Generic.I18n.Map<ResourcePrefix, ComponentKeys>) => Generic.I18n.Locale.ISO_639_1) => t('en', mapLocaleKeys(locale_en)),\n\t(t: (language: 'de', translationMap: Generic.I18n.Map<ResourcePrefix, ComponentKeys>) => Generic.I18n.Locale.ISO_639_1) => t('de', mapLocaleKeys(locale_de)),\n]);\n\ntype Options = {\n\tcount?: number;\n\tplaceholders?: { [K: string]: string };\n};\n\nexport const translate = (key: `${Lowercase<ResourcePrefix>}-${Lowercase<ComponentKeys>}`, options?: Options) => {\n\tconst i18n = getI18nService();\n\tif (i18n === undefined) {\n\t\tdevHint('[I18n] I18nService not available! Please call the global register function.');\n\t\treturn key;\n\t}\n\n\tlet text = i18n.translate(key, options);\n\tif (text === key) {\n\t\tdevHint('[I18n] Locales not initialized! Initialize default locales automatically.');\n\n\t\ttranslations.forEach((t) =>\n\t\t\tt((l, t) => {\n\t\t\t\ti18n.addResourceBundle(l, t);\n\t\t\t\treturn l;\n\t\t\t})\n\t\t);\n\n\t\ttext = i18n.translate(key, options);\n\t}\n\treturn text;\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{o as objectObjectHandler,p as parseJson,a as watchValidator}from"./prop.validators-601f1068.js";import{i as isString,b as isStyle,c as isObject}from"./reuse-c2156413.js";const mapCustomIcon=(t,o,i)=>{isObject(i)?t[o]=i:isString(i,1)&&(t[o]={icon:i})},mapIconProp2State=(t,o)=>{let i={};if(isString(t,1))if("right"===o)i={right:{icon:t}};else i={left:{icon:t}};else"object"==typeof t&&null!==t&&(mapCustomIcon(i,"top",t.top),mapCustomIcon(i,"right",t.right),mapCustomIcon(i,"bottom",t.bottom),mapCustomIcon(i,"left",t.left));return i},beforePatchIcon=t=>{var o,i,n,e,c,a,s;if(null===(o=t.nextState)||void 0===o?void 0:o.has("_icon")){const o=null===(i=t.nextState)||void 0===i?void 0:i.get("_icon"),c=(null===(n=t.nextState)||void 0===n?void 0:n.get("_iconAlign"))||t.state._iconAlign;null===(e=t.nextState)||void 0===e||e.set("_icon",mapIconProp2State(o,c))}else if(null===(c=t.nextState)||void 0===c?void 0:c.has("_iconAlign")){const o=t.state._iconAlign;null===(a=t.nextState)||void 0===a||a.set("_icon",{[o]:void 0,[null===(s=t.nextState)||void 0===s?void 0:s.get("_iconAlign")]:t.state._icon[o]})}},isIcon=t=>"object"==typeof t&&null!==t&&(void 0===t.style||isStyle(t.style))&&isString(t.icon,1),validateIcon=(t,o)=>{objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(t){}watchValidator(t,"_icon",(t=>null===t||isString(t,1)||"object"==typeof t&&null!==t&&(isString(t.left,1)||isIcon(t.left)||isString(t.right,1)||isIcon(t.right)||isString(t.top,1)||isIcon(t.top)||isString(t.bottom,1)||isIcon(t.bottom))),new Set(["KoliBriIcon"]),o,{hooks:{beforePatch:(o,i)=>{null===o&&i.set("_icon",{}),beforePatchIcon(t)}},required:!0})}))},watchIconAlign=(t,o)=>{watchValidator(t,"_iconAlign",(t=>"left"===t||"right"===t),new Set(["Alignment {left, right, top, bottom}"]),o,{hooks:{beforePatch:()=>{beforePatchIcon(t)}}})};export{isIcon as i,validateIcon as v,watchIconAlign as w};
4
+ import{o as objectObjectHandler,p as parseJson,a as watchValidator}from"./prop.validators-e3c93395.js";import{i as isString,b as isStyle,c as isObject}from"./reuse-c2156413.js";const mapCustomIcon=(t,o,i)=>{isObject(i)?t[o]=i:isString(i,1)&&(t[o]={icon:i})},mapIconProp2State=(t,o)=>{let i={};if(isString(t,1))if("right"===o)i={right:{icon:t}};else i={left:{icon:t}};else"object"==typeof t&&null!==t&&(mapCustomIcon(i,"top",t.top),mapCustomIcon(i,"right",t.right),mapCustomIcon(i,"bottom",t.bottom),mapCustomIcon(i,"left",t.left));return i},beforePatchIcon=t=>{var o,i,n,e,c,a,s;if(null===(o=t.nextState)||void 0===o?void 0:o.has("_icon")){const o=null===(i=t.nextState)||void 0===i?void 0:i.get("_icon"),c=(null===(n=t.nextState)||void 0===n?void 0:n.get("_iconAlign"))||t.state._iconAlign;null===(e=t.nextState)||void 0===e||e.set("_icon",mapIconProp2State(o,c))}else if(null===(c=t.nextState)||void 0===c?void 0:c.has("_iconAlign")){const o=t.state._iconAlign;null===(a=t.nextState)||void 0===a||a.set("_icon",{[o]:void 0,[null===(s=t.nextState)||void 0===s?void 0:s.get("_iconAlign")]:t.state._icon[o]})}},isIcon=t=>"object"==typeof t&&null!==t&&(void 0===t.style||isStyle(t.style))&&isString(t.icon,1),validateIcon=(t,o)=>{objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(t){}watchValidator(t,"_icon",(t=>null===t||isString(t,1)||"object"==typeof t&&null!==t&&(isString(t.left,1)||isIcon(t.left)||isString(t.right,1)||isIcon(t.right)||isString(t.top,1)||isIcon(t.top)||isString(t.bottom,1)||isIcon(t.bottom))),new Set(["KoliBriIcon"]),o,{hooks:{beforePatch:(o,i)=>{null===o&&i.set("_icon",{}),beforePatchIcon(t)}},required:!0})}))},watchIconAlign=(t,o)=>{watchValidator(t,"_iconAlign",(t=>"left"===t||"right"===t),new Set(["Alignment {left, right, top, bottom}"]),o,{hooks:{beforePatch:()=>{beforePatchIcon(t)}}})};export{isIcon as i,validateIcon as v,watchIconAlign as w};
@@ -1 +1 @@
1
- {"file":"icon-e03e73f6.js","mappings":"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","names":[],"sources":["src/types/props/icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { objectObjectHandler, parseJson, watchValidator } from '../../utils/prop.validators';\nimport { isObject, isString, isStyle } from '../../utils/validator';\nimport { ButtonStates } from '../button-link';\nimport { Stringified } from '../common';\nimport { AnyIconFontClass, KoliBriCustomIcon, KoliBriIconProp, KoliBriIconState } from '../icon';\nimport { Align } from './align';\n\n/* types */\n/** de\n * Setzt den unbestimmten Zustand auf der Checkbox, hat keine Auswirkung auf _checked.\n */\n/** en\n * Puts the checkbox in the indeterminate state, does not change the value of _checked.\n */\nexport type PropIcon = {\n\ticon: Stringified<KoliBriIconProp>;\n};\n\n/* validator */\n\nconst mapCustomIcon = (state: KoliBriIconState, alignment: Align, icon?: AnyIconFontClass | KoliBriCustomIcon) => {\n\tif (isObject(icon)) {\n\t\tstate[alignment] = icon as KoliBriCustomIcon;\n\t} else if (isString(icon, 1)) {\n\t\tstate[alignment] = {\n\t\t\ticon: icon as AnyIconFontClass,\n\t\t};\n\t}\n};\n\nexport const mapIconProp2State = (icon: KoliBriIconProp, iconAlign?: Align): KoliBriIconState => {\n\tlet state: KoliBriIconState = {};\n\tif (isString(icon, 1)) {\n\t\tswitch (iconAlign) {\n\t\t\tcase 'right':\n\t\t\t\tstate = {\n\t\t\t\t\tright: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstate = {\n\t\t\t\t\tleft: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t} else if (typeof icon === 'object' && icon !== null) {\n\t\tmapCustomIcon(state, 'top', icon.top);\n\t\tmapCustomIcon(state, 'right', icon.right);\n\t\tmapCustomIcon(state, 'bottom', icon.bottom);\n\t\tmapCustomIcon(state, 'left', icon.left);\n\t}\n\treturn state;\n};\n\nconst beforePatchIcon = (component: Generic.Element.Component): void => {\n\tif (component.nextState?.has('_icon')) {\n\t\tconst icon = component.nextState?.get('_icon') as KoliBriIconProp;\n\t\tconst iconAlign = (component.nextState?.get('_iconAlign') as Align) || (component.state as ButtonStates)._iconAlign;\n\t\tcomponent.nextState?.set('_icon', mapIconProp2State(icon, iconAlign));\n\t} else if (component.nextState?.has('_iconAlign')) {\n\t\tconst lastIconAlign = (component.state as ButtonStates)._iconAlign as Align;\n\t\tcomponent.nextState?.set('_icon', {\n\t\t\t[lastIconAlign]: undefined,\n\t\t\t[component.nextState?.get('_iconAlign') as Align]: (component.state as ButtonStates)._icon[lastIconAlign],\n\t\t});\n\t}\n};\n\nexport const isIcon = (value?: unknown): boolean =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t(typeof (value as KoliBriCustomIcon).style === 'undefined' || isStyle((value as KoliBriCustomIcon).style)) &&\n\tisString((value as KoliBriCustomIcon).icon, 1);\n\nexport const validateIcon = (component: Generic.Element.Component, value?: KoliBriIconProp): void => {\n\tobjectObjectHandler(value, () => {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriIconProp>(value as string);\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(\n\t\t\tcomponent,\n\t\t\t'_icon',\n\t\t\t(value): boolean => {\n\t\t\t\treturn (\n\t\t\t\t\tvalue === null ||\n\t\t\t\t\tisString(value, 1) ||\n\t\t\t\t\t(typeof value === 'object' &&\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(isString(value.left, 1) ||\n\t\t\t\t\t\t\tisIcon(value.left) ||\n\t\t\t\t\t\t\tisString(value.right, 1) ||\n\t\t\t\t\t\t\tisIcon(value.right) ||\n\t\t\t\t\t\t\tisString(value.top, 1) ||\n\t\t\t\t\t\t\tisIcon(value.top) ||\n\t\t\t\t\t\t\tisString(value.bottom, 1) ||\n\t\t\t\t\t\t\tisIcon(value.bottom)))\n\t\t\t\t);\n\t\t\t},\n\t\t\tnew Set(['KoliBriIcon']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (nextValue === null) {\n\t\t\t\t\t\t\tnextState.set('_icon', {});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeforePatchIcon(component);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t}\n\t\t);\n\t});\n};\n\nexport const watchIconAlign = (component: Generic.Element.Component, value?: Align): void => {\n\twatchValidator(component, '_iconAlign', (value) => value === 'left' || value === 'right', new Set(['Alignment {left, right, top, bottom}']), value, {\n\t\thooks: {\n\t\t\tbeforePatch: () => {\n\t\t\t\tbeforePatchIcon(component);\n\t\t\t},\n\t\t},\n\t});\n};\n"],"version":3}
1
+ {"file":"icon-ae60c121.js","mappings":";;;;;;AAsBA,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,SAAgB,EAAE,IAA2C;EAC5G,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;IACnB,KAAK,CAAC,SAAS,CAAC,GAAG,IAAyB,CAAC;GAC7C;OAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG;MAClB,IAAI,EAAE,IAAwB;KAC9B,CAAC;GACF;AACF,CAAC,CAAC;AAEK,MAAM,iBAAiB,GAAG,CAAC,IAAqB,EAAE,SAAiB;EACzE,IAAI,KAAK,GAAqB,EAAE,CAAC;EACjC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;IACtB,QAAQ,SAAS;MAChB,KAAK,OAAO;QACX,KAAK,GAAG;UACP,KAAK,EAAE;YACN,IAAI,EAAE,IAAwB;WAC9B;SACD,CAAC;QACF,MAAM;MACP;QACC,KAAK,GAAG;UACP,IAAI,EAAE;YACL,IAAI,EAAE,IAAwB;WAC9B;SACD,CAAC;KACH;GACD;OAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE;IACrD,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;GACxC;EACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,SAAoC;;EAC5D,IAAI,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,OAAO,CAAC,EAAE;IACtC,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,OAAO,CAAoB,CAAC;IAClE,MAAM,SAAS,GAAG,CAAC,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,YAAY,CAAW,KAAK,SAAS,CAAC,KAAsB,CAAC,UAAU,CAAC;IACpH,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;GACtE;OAAM,IAAI,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,YAAY,CAAC,EAAE;IAClD,MAAM,aAAa,GAAI,SAAS,CAAC,KAAsB,CAAC,UAAmB,CAAC;IAC5E,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,OAAO,EAAE;MACjC,CAAC,aAAa,GAAG,SAAS;MAC1B,CAAC,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,YAAY,CAAU,GAAI,SAAS,CAAC,KAAsB,CAAC,KAAK,CAAC,aAAa,CAAC;KACzG,CAAC,CAAC;GACH;AACF,CAAC,CAAC;MAEW,MAAM,GAAG,CAAC,KAAe,KACrC,OAAO,KAAK,KAAK,QAAQ;EACzB,KAAK,KAAK,IAAI;GACb,OAAQ,KAA2B,CAAC,KAAK,KAAK,WAAW,IAAI,OAAO,CAAE,KAA2B,CAAC,KAAK,CAAC,CAAC;EAC1G,QAAQ,CAAE,KAA2B,CAAC,IAAI,EAAE,CAAC,EAAE;MAEnC,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAuB;EACzF,mBAAmB,CAAC,KAAK,EAAE;IAC1B,IAAI;MACH,KAAK,GAAG,SAAS,CAAkB,KAAe,CAAC,CAAC;KACpD;IAAC,OAAO,CAAC,EAAE;KAEX;IACD,cAAc,CACb,SAAS,EACT,OAAO,EACP,CAAC,KAAK;MACL,QACC,KAAK,KAAK,IAAI;QACd,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACjB,OAAO,KAAK,KAAK,QAAQ;UACzB,KAAK,KAAK,IAAI;WACb,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAClB,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACnB,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;YACjB,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EACvB;KACF,EACD,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,EACxB,KAAK,EACL;MACC,KAAK,EAAE;QACN,WAAW,EAAE,CAAC,SAAkB,EAAE,SAA+B;UAChE,IAAI,SAAS,KAAK,IAAI,EAAE;YACvB,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;WAC3B;UACD,eAAe,CAAC,SAAS,CAAC,CAAC;SAC3B;OACD;MACD,QAAQ,EAAE,IAAI;KACd,CACD,CAAC;GACF,CAAC,CAAC;AACJ,EAAE;MAEW,cAAc,GAAG,CAAC,SAAoC,EAAE,KAAa;EACjF,cAAc,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,IAAI,GAAG,CAAC,CAAC,sCAAsC,CAAC,CAAC,EAAE,KAAK,EAAE;IACnJ,KAAK,EAAE;MACN,WAAW,EAAE;QACZ,eAAe,CAAC,SAAS,CAAC,CAAC;OAC3B;KACD;GACD,CAAC,CAAC;AACJ;;;;","names":[],"sources":["src/types/props/icon.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { objectObjectHandler, parseJson, watchValidator } from '../../utils/prop.validators';\nimport { isObject, isString, isStyle } from '../../utils/validator';\nimport { ButtonStates } from '../button-link';\nimport { Stringified } from '../common';\nimport { AnyIconFontClass, KoliBriCustomIcon, KoliBriIconProp, KoliBriIconState } from '../icon';\nimport { Align } from './align';\n\n/* types */\n/** de\n * Setzt den unbestimmten Zustand auf der Checkbox, hat keine Auswirkung auf _checked.\n */\n/** en\n * Puts the checkbox in the indeterminate state, does not change the value of _checked.\n */\nexport type PropIcon = {\n\ticon: Stringified<KoliBriIconProp>;\n};\n\n/* validator */\n\nconst mapCustomIcon = (state: KoliBriIconState, alignment: Align, icon?: AnyIconFontClass | KoliBriCustomIcon) => {\n\tif (isObject(icon)) {\n\t\tstate[alignment] = icon as KoliBriCustomIcon;\n\t} else if (isString(icon, 1)) {\n\t\tstate[alignment] = {\n\t\t\ticon: icon as AnyIconFontClass,\n\t\t};\n\t}\n};\n\nexport const mapIconProp2State = (icon: KoliBriIconProp, iconAlign?: Align): KoliBriIconState => {\n\tlet state: KoliBriIconState = {};\n\tif (isString(icon, 1)) {\n\t\tswitch (iconAlign) {\n\t\t\tcase 'right':\n\t\t\t\tstate = {\n\t\t\t\t\tright: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tstate = {\n\t\t\t\t\tleft: {\n\t\t\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t} else if (typeof icon === 'object' && icon !== null) {\n\t\tmapCustomIcon(state, 'top', icon.top);\n\t\tmapCustomIcon(state, 'right', icon.right);\n\t\tmapCustomIcon(state, 'bottom', icon.bottom);\n\t\tmapCustomIcon(state, 'left', icon.left);\n\t}\n\treturn state;\n};\n\nconst beforePatchIcon = (component: Generic.Element.Component): void => {\n\tif (component.nextState?.has('_icon')) {\n\t\tconst icon = component.nextState?.get('_icon') as KoliBriIconProp;\n\t\tconst iconAlign = (component.nextState?.get('_iconAlign') as Align) || (component.state as ButtonStates)._iconAlign;\n\t\tcomponent.nextState?.set('_icon', mapIconProp2State(icon, iconAlign));\n\t} else if (component.nextState?.has('_iconAlign')) {\n\t\tconst lastIconAlign = (component.state as ButtonStates)._iconAlign as Align;\n\t\tcomponent.nextState?.set('_icon', {\n\t\t\t[lastIconAlign]: undefined,\n\t\t\t[component.nextState?.get('_iconAlign') as Align]: (component.state as ButtonStates)._icon[lastIconAlign],\n\t\t});\n\t}\n};\n\nexport const isIcon = (value?: unknown): boolean =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t(typeof (value as KoliBriCustomIcon).style === 'undefined' || isStyle((value as KoliBriCustomIcon).style)) &&\n\tisString((value as KoliBriCustomIcon).icon, 1);\n\nexport const validateIcon = (component: Generic.Element.Component, value?: KoliBriIconProp): void => {\n\tobjectObjectHandler(value, () => {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriIconProp>(value as string);\n\t\t} catch (e) {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(\n\t\t\tcomponent,\n\t\t\t'_icon',\n\t\t\t(value): boolean => {\n\t\t\t\treturn (\n\t\t\t\t\tvalue === null ||\n\t\t\t\t\tisString(value, 1) ||\n\t\t\t\t\t(typeof value === 'object' &&\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(isString(value.left, 1) ||\n\t\t\t\t\t\t\tisIcon(value.left) ||\n\t\t\t\t\t\t\tisString(value.right, 1) ||\n\t\t\t\t\t\t\tisIcon(value.right) ||\n\t\t\t\t\t\t\tisString(value.top, 1) ||\n\t\t\t\t\t\t\tisIcon(value.top) ||\n\t\t\t\t\t\t\tisString(value.bottom, 1) ||\n\t\t\t\t\t\t\tisIcon(value.bottom)))\n\t\t\t\t);\n\t\t\t},\n\t\t\tnew Set(['KoliBriIcon']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (nextValue === null) {\n\t\t\t\t\t\t\tnextState.set('_icon', {});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeforePatchIcon(component);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trequired: true,\n\t\t\t}\n\t\t);\n\t});\n};\n\nexport const watchIconAlign = (component: Generic.Element.Component, value?: Align): void => {\n\twatchValidator(component, '_iconAlign', (value) => value === 'left' || value === 'right', new Set(['Alignment {left, right, top, bottom}']), value, {\n\t\thooks: {\n\t\t\tbeforePatch: () => {\n\t\t\t\tbeforePatchIcon(component);\n\t\t\t},\n\t\t},\n\t});\n};\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{w as watchString}from"./prop.validators-e3c93395.js";const validateImageSource=(a,r,t)=>{watchString(a,"_src",r,t)};export{validateImageSource as v};
@@ -0,0 +1 @@
1
+ {"file":"image-source-a6d9c13f.js","mappings":";;;;;MAWa,mBAAmB,GAAG,CAAC,SAAoC,EAAE,KAA2B,EAAE,OAA4B;EAClI,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChD;;;;","names":[],"sources":["src/types/props/image-source.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Sets the image `src` attribute to the given string\n */\nexport type ImageSourcePropType = string;\n\n/* validator */\nexport const validateImageSource = (component: Generic.Element.Component, value?: ImageSourcePropType, options?: WatchStringOptions): void => {\n\twatchString(component, '_src', value, options);\n};\n"],"version":3}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- export{r as register}from"./index-d8ac1088.js";export{c as BUNDESAEMTER,e as BUNDESANSTALTEN,a as BUNDESMINISTERIEN,f as BUND_LOGO_TEXT_MAP,b as Bundesamt,d as Bundesanstalt,B as Bundesministerium}from"./bund-056aa89a.js";export{T as ToasterService,c as configKoliBri}from"./dev.utils-4290338e.js";export{K as KoliBriDevHelper}from"./prop.validators-601f1068.js";export{t as translations}from"./i18n-23b83118.js";import"./index-37b5cbcf.js";import"./reuse-c2156413.js";import"./a11y.tipps-9f948961.js";
4
+ export{r as register}from"./index-d8ac1088.js";export{c as BUNDESAEMTER,e as BUNDESANSTALTEN,a as BUNDESMINISTERIEN,f as BUND_LOGO_TEXT_MAP,b as Bundesamt,d as Bundesanstalt,B as Bundesministerium}from"./bund-056aa89a.js";export{T as ToasterService,c as configKoliBri}from"./dev.utils-e98368e1.js";export{K as KoliBriDevHelper}from"./prop.validators-e3c93395.js";export{t as translations}from"./i18n-a5618943.js";import"./index-37b5cbcf.js";import"./reuse-c2156413.js";import"./a11y.tipps-255c885e.js";
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-2c046ff1.js";import{w as watchTooltipAlignment}from"./button-link-99acae48.js";import{n as nonce}from"./dev.utils-4290338e.js";import{w as watchString}from"./prop.validators-601f1068.js";import"./reuse-c2156413.js";import"./a11y.tipps-9f948961.js";import"./index-37b5cbcf.js";const defaultStyleCss=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>abbr{cursor:help}",KolAbbr=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"…",_tooltipAlign:"top"}}render(){return h(Host,null,h("abbr",{"aria-labelledby":this.nonce,role:"definition",tabindex:"0",title:this.state._title},h("span",{title:""},h("slot",null))),h("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(t){watchString(this,"_title",t,{required:!0})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};KolAbbr.style={default:defaultStyleCss};export{KolAbbr as kol_abbr};
4
+ import{r as registerInstance,h,H as Host}from"./index-2c046ff1.js";import{w as watchTooltipAlignment}from"./button-link-e7a5fabf.js";import{n as nonce}from"./dev.utils-e98368e1.js";import{w as watchString}from"./prop.validators-e3c93395.js";import"./reuse-c2156413.js";import"./a11y.tipps-255c885e.js";import"./index-37b5cbcf.js";const defaultStyleCss=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>abbr{cursor:help}",KolAbbr=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"…",_tooltipAlign:"top"}}render(){return h(Host,null,h("abbr",{"aria-labelledby":this.nonce,role:"definition",tabindex:"0",title:this.state._title},h("span",{title:""},h("slot",null))),h("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(t){watchString(this,"_title",t,{required:!0})}validateTooltipAlign(t){watchTooltipAlignment(this,"_tooltipAlign",t)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};KolAbbr.style={default:defaultStyleCss};export{KolAbbr as kol_abbr};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-2c046ff1.js";import{b as watchBoolean,w as watchString,s as setState}from"./prop.validators-601f1068.js";import{f as featureHint}from"./a11y.tipps-9f948961.js";import{n as nonce}from"./dev.utils-4290338e.js";import{p as processEnv}from"./reuse-c2156413.js";import{w as watchHeadingLevel}from"./validation-5300d0a1.js";import"./index-37b5cbcf.js";const validateOpen=(t,e)=>{watchBoolean(t,"_open",e)},defaultStyleCss=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}.accordion kol-heading-wc kol-button-wc button kol-span-wc{justify-items:start}.content{inset:0 0 auto 0;width:100%}.transition{transition:height 0.3s ease-in-out}@media (prefers-reduced-motion){.transition{transition-duration:0s}}";featureHint("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),featureHint("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const KolAccordion=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this.contentElement=null,this.contentWrapperElement=null,this.contentObserver=null,this.transition=!1,this.catchContentElement=t=>{t&&(this.contentElement=t)},this.catchContentWrapperElement=t=>{t&&(this.contentWrapperElement=t)},this.onClick=t=>{this._open=!this._open,this.resizeWrapper(),setTimeout((()=>{var e;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&this.state._on.onClick(t,!0===this._open)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"…",_level:1}}resizeWrapper(t){const e=this.contentElement,n=this.contentWrapperElement,i=this.contentObserver;e&&n&&i&&(this._open?(n.style.display="block",setTimeout((()=>{var t;n.style.height=`${null!==(t=null==e?void 0:e.clientHeight)&&void 0!==t?t:0}px`})),t||i.observe(e),n.addEventListener("transitionend",(()=>{n.style.overflow=""}),{once:!0})):(n.style.overflow="hidden",i.unobserve(e),n.style.height="0",this.transition?n.addEventListener("transitionend",(()=>{n.style.display="none"}),{once:!0}):n.style.display="none"))}render(){return h(Host,null,h("div",{class:{accordion:!0,open:!0===this.state._open,close:!0!==this.state._open}},h("kol-heading-wc",{_label:"",_level:this.state._level},h("kol-button-wc",{_ariaControls:this.nonce,_ariaExpanded:this.state._open,_icon:this.state._open?"codicon codicon-remove":"codicon codicon-add",_label:this.state._heading,_on:{onClick:this.onClick}})),h("div",{class:"header"},h("slot",{name:"header"})),h("div",{ref:this.catchContentWrapperElement,class:{wrapper:!0,transition:this.transition}},h("div",{ref:this.catchContentElement,"aria-hidden":!1===this.state._open?"true":void 0,class:"content",id:this.nonce},h("slot",{name:"content"})," ",h("slot",null)))))}validateHeading(t){watchString(this,"_heading",t,{required:!0})}validateLevel(t){watchHeadingLevel(this,t)}validateOn(t){"object"==typeof t&&null!==t&&"function"==typeof t.onClick&&setState(this,"_on",t)}validateOpen(t){validateOpen(this,t)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open),"test"!==processEnv&&(this.contentObserver=new ResizeObserver(this.resizeWrapper.bind(this))),setTimeout((()=>{this.contentObserver&&this.contentElement&&this.contentObserver.observe(this.contentElement)})),setTimeout((()=>{this.transition=!0}),200)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};KolAccordion.style={default:defaultStyleCss};export{KolAccordion as kol_accordion};
4
+ import{r as registerInstance,h,H as Host}from"./index-2c046ff1.js";import{b as watchBoolean,w as watchString,s as setState}from"./prop.validators-e3c93395.js";import{f as featureHint}from"./a11y.tipps-255c885e.js";import{n as nonce}from"./dev.utils-e98368e1.js";import{p as processEnv}from"./reuse-c2156413.js";import{w as watchHeadingLevel}from"./validation-a9f13bf5.js";import"./index-37b5cbcf.js";const validateOpen=(t,e)=>{watchBoolean(t,"_open",e)},defaultStyleCss=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}.accordion kol-heading-wc kol-button-wc button kol-span-wc{justify-items:start}.content{inset:0 0 auto 0;width:100%}.transition{transition:height 0.3s ease-in-out}@media (prefers-reduced-motion){.transition{transition-duration:0s}}";featureHint("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),featureHint("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const KolAccordion=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this.contentElement=null,this.contentWrapperElement=null,this.contentObserver=null,this.transition=!1,this.catchContentElement=t=>{t&&(this.contentElement=t)},this.catchContentWrapperElement=t=>{t&&(this.contentWrapperElement=t)},this.onClick=t=>{this._open=!this._open,this.resizeWrapper(),setTimeout((()=>{var e;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&this.state._on.onClick(t,!0===this._open)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"…",_level:1}}resizeWrapper(t){const e=this.contentElement,n=this.contentWrapperElement,i=this.contentObserver;e&&n&&i&&(this._open?(n.style.display="block",setTimeout((()=>{var t;n.style.height=`${null!==(t=null==e?void 0:e.clientHeight)&&void 0!==t?t:0}px`})),t||i.observe(e),n.addEventListener("transitionend",(()=>{n.style.overflow=""}),{once:!0})):(n.style.overflow="hidden",i.unobserve(e),n.style.height="0",this.transition?n.addEventListener("transitionend",(()=>{n.style.display="none"}),{once:!0}):n.style.display="none"))}render(){return h(Host,null,h("div",{class:{accordion:!0,open:!0===this.state._open,close:!0!==this.state._open}},h("kol-heading-wc",{_label:"",_level:this.state._level},h("kol-button-wc",{_ariaControls:this.nonce,_ariaExpanded:this.state._open,_icon:this.state._open?"codicon codicon-remove":"codicon codicon-add",_label:this.state._heading,_on:{onClick:this.onClick}})),h("div",{class:"header"},h("slot",{name:"header"})),h("div",{ref:this.catchContentWrapperElement,class:{wrapper:!0,transition:this.transition}},h("div",{ref:this.catchContentElement,"aria-hidden":!1===this.state._open?"true":void 0,class:"content",id:this.nonce},h("slot",{name:"content"})," ",h("slot",null)))))}validateHeading(t){watchString(this,"_heading",t,{required:!0})}validateLevel(t){watchHeadingLevel(this,t)}validateOn(t){"object"==typeof t&&null!==t&&"function"==typeof t.onClick&&setState(this,"_on",t)}validateOpen(t){validateOpen(this,t)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open),"test"!==processEnv&&(this.contentObserver=new ResizeObserver(this.resizeWrapper.bind(this))),setTimeout((()=>{this.contentObserver&&this.contentElement&&this.contentObserver.observe(this.contentElement)})),setTimeout((()=>{this.transition=!0}),200)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};KolAccordion.style={default:defaultStyleCss};export{KolAccordion as kol_accordion};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host,F as Fragment}from"./index-2c046ff1.js";import{a as translate}from"./i18n-23b83118.js";import{v as validateHasCloser}from"./has-closer-62a48dbd.js";import{L as Log}from"./dev.utils-4290338e.js";import{b as watchBoolean,w as watchString,s as setState,a as watchValidator}from"./prop.validators-601f1068.js";import{w as watchHeadingLevel}from"./validation-5300d0a1.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./a11y.tipps-9f948961.js";import"./reuse-c2156413.js";const Icon=t=>h("kol-icon",{class:"heading-icon",_ariaLabel:"string"==typeof t.heading&&t.heading.length>0?"":t.ariaLabel,_icon:t.icon}),AlertIcon=t=>{switch(t.type){case"error":return h(Icon,{ariaLabel:translate("kol-error"),icon:"codicon codicon-error",heading:t.heading});case"info":return h(Icon,{ariaLabel:translate("kol-info"),icon:"codicon codicon-info",heading:t.heading});case"warning":return h(Icon,{ariaLabel:translate("kol-warning"),icon:"codicon codicon-warning",heading:t.heading});case"success":return h(Icon,{ariaLabel:translate("kol-success"),icon:"codicon codicon-pass",heading:t.heading});default:return h(Icon,{ariaLabel:translate("kol-message"),icon:"codicon codicon-comment",heading:t.heading})}},KolAlertWc=class{constructor(t){registerInstance(this,t),this.close=()=>{var t;void 0!==(null===(t=this._on)||void 0===t?void 0:t.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this.validateOnValue=t=>"object"==typeof t&&null!==t&&"function"==typeof t.onClose,this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){var t;if(this.state._alert){try{Log.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(t){Log.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return h(Host,{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},h("div",{class:"heading"},h(AlertIcon,{heading:this.state._heading,type:this.state._type}),h("div",null,"string"==typeof this.state._heading&&(null===(t=this.state._heading)||void 0===t?void 0:t.length)>0&&h("kol-heading-wc",{_label:this.state._heading,_level:this.state._level}),"msg"===this._variant&&h("div",{class:"content"},h("slot",null))),this.state._hasCloser&&h("kol-button-wc",{class:"close",_hideLabel:!0,_icon:{left:{icon:"codicon codicon-close"}},_label:translate("kol-close"),_on:this.on,_tooltipAlign:"left"})),"card"===this._variant&&h("div",{class:"content"},h("slot",null)))}validateAlert(t){watchBoolean(this,"_alert",t)}validateHasCloser(t){validateHasCloser(this,t)}validateHeading(t){watchString(this,"_heading",t)}validateLevel(t){watchHeadingLevel(this,t)}validateOn(t){this.validateOnValue(t)&&setState(this,"_on",{onClose:t.onClose})}validateType(t){watchValidator(this,"_type",(t=>"string"==typeof t&&("default"===t||"error"===t||"info"===t||"success"===t||"warning"===t)),new Set("String {success, info, warning, error}"),t)}validateVariant(t){watchValidator(this,"_variant",(t=>"card"===t||"msg"===t),new Set("AlertVariant {card, msg}"),t)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}},KolInput=class{constructor(t){registerInstance(this,t),this._alert=!0,this._currentLength=void 0,this._disabled=!1,this._error="",this._hasCounter=void 0,this._hideLabel=!1,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._maxLength=void 0,this._readOnly=!1,this._renderNoLabel=!1,this._required=!1,this._slotName=void 0,this._smartButton=void 0,this._touched=!1}render(){var t,i,a,e;const s="string"==typeof this._error&&this._error.length>0&&!0===this._touched,o="string"==typeof this._hint&&this._hint.length>0,n=!0===this._hideLabel&&!0!==this._required,l=this._slotName?this._slotName:"input";return h(Host,{class:{disabled:!0===this._disabled,error:!0===s,"read-only":!0===this._readOnly,required:!0===this._required,touched:!0===this._touched}},!1===this._renderNoLabel&&h("label",{id:`${this._id}-label`,hidden:n,htmlFor:this._id},h("span",null,h("slot",{name:"label"}))),o&&h("span",{class:"hint",id:`${this._id}-hint`},this._hint),h("div",{class:{input:!0,"icon-left":"object"==typeof(null===(t=this._icon)||void 0===t?void 0:t.left),"icon-right":"object"==typeof(null===(i=this._icon)||void 0===i?void 0:i.right)}},(null===(a=this._icon)||void 0===a?void 0:a.left)&&h("kol-icon",{_ariaLabel:"",_icon:this._icon.left.icon}),h("slot",{name:l}),"object"==typeof this._smartButton&&null!==this._smartButton&&h("kol-button-wc",{_customClass:this._smartButton._customClass,_disabled:this._smartButton._disabled,_icon:this._smartButton._icon,_hideLabel:!0,_id:this._smartButton._id,_label:this._smartButton._label,_on:this._smartButton._on,_tooltipAlign:this._smartButton._tooltipAlign,_variant:this._smartButton._variant}),(null===(e=this._icon)||void 0===e?void 0:e.right)&&h("kol-icon",{_ariaLabel:"",_icon:this._icon.right.icon})),s&&h("kol-alert",{class:"error",id:`${this._id}-error`,_alert:this._alert,_type:"error",_variant:"msg"},this._error),Array.isArray(this._list)&&this._list.length>0&&h("datalist",{id:`${this._id}-list`},this._list.map((t=>h("option",{value:t})))),this._hasCounter&&h("span",{"aria-atomic":"true","aria-live":"polite"},this._currentLength,this._maxLength&&h(Fragment,null,h("span",{"aria-label":translate("kol-of"),role:"img"},"/"),this._maxLength)," ",h("span",null,translate("kol-characters"))))}};export{KolAlertWc as kol_alert_wc,KolInput as kol_input};
4
+ import{r as registerInstance,h,H as Host,F as Fragment}from"./index-2c046ff1.js";import{a as translate}from"./i18n-a5618943.js";import{v as validateHasCloser}from"./has-closer-4415fbda.js";import{L as Log}from"./dev.utils-e98368e1.js";import{b as watchBoolean,w as watchString,s as setState,a as watchValidator}from"./prop.validators-e3c93395.js";import{w as watchHeadingLevel}from"./validation-a9f13bf5.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./a11y.tipps-255c885e.js";import"./reuse-c2156413.js";const Icon=t=>h("kol-icon",{class:"heading-icon",_ariaLabel:"string"==typeof t.heading&&t.heading.length>0?"":t.ariaLabel,_icon:t.icon}),AlertIcon=t=>{switch(t.type){case"error":return h(Icon,{ariaLabel:translate("kol-error"),icon:"codicon codicon-error",heading:t.heading});case"info":return h(Icon,{ariaLabel:translate("kol-info"),icon:"codicon codicon-info",heading:t.heading});case"warning":return h(Icon,{ariaLabel:translate("kol-warning"),icon:"codicon codicon-warning",heading:t.heading});case"success":return h(Icon,{ariaLabel:translate("kol-success"),icon:"codicon codicon-pass",heading:t.heading});default:return h(Icon,{ariaLabel:translate("kol-message"),icon:"codicon codicon-comment",heading:t.heading})}},KolAlertWc=class{constructor(t){registerInstance(this,t),this.close=()=>{var t;void 0!==(null===(t=this._on)||void 0===t?void 0:t.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this.validateOnValue=t=>"object"==typeof t&&null!==t&&"function"==typeof t.onClose,this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){var t;if(this.state._alert){try{Log.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(t){Log.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return h(Host,{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},h("div",{class:"heading"},h(AlertIcon,{heading:this.state._heading,type:this.state._type}),h("div",null,"string"==typeof this.state._heading&&(null===(t=this.state._heading)||void 0===t?void 0:t.length)>0&&h("kol-heading-wc",{_label:this.state._heading,_level:this.state._level}),"msg"===this._variant&&h("div",{class:"content"},h("slot",null))),this.state._hasCloser&&h("kol-button-wc",{class:"close",_hideLabel:!0,_icon:{left:{icon:"codicon codicon-close"}},_label:translate("kol-close"),_on:this.on,_tooltipAlign:"left"})),"card"===this._variant&&h("div",{class:"content"},h("slot",null)))}validateAlert(t){watchBoolean(this,"_alert",t)}validateHasCloser(t){validateHasCloser(this,t)}validateHeading(t){watchString(this,"_heading",t)}validateLevel(t){watchHeadingLevel(this,t)}validateOn(t){this.validateOnValue(t)&&setState(this,"_on",{onClose:t.onClose})}validateType(t){watchValidator(this,"_type",(t=>"string"==typeof t&&("default"===t||"error"===t||"info"===t||"success"===t||"warning"===t)),new Set("String {success, info, warning, error}"),t)}validateVariant(t){watchValidator(this,"_variant",(t=>"card"===t||"msg"===t),new Set("AlertVariant {card, msg}"),t)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}},KolInput=class{constructor(t){registerInstance(this,t),this._alert=!0,this._currentLength=void 0,this._disabled=!1,this._error="",this._hasCounter=void 0,this._hideLabel=!1,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._maxLength=void 0,this._readOnly=!1,this._renderNoLabel=!1,this._required=!1,this._slotName=void 0,this._smartButton=void 0,this._touched=!1}render(){var t,i,a,e;const s="string"==typeof this._error&&this._error.length>0&&!0===this._touched,o="string"==typeof this._hint&&this._hint.length>0,n=!0===this._hideLabel&&!0!==this._required,l=this._slotName?this._slotName:"input";return h(Host,{class:{disabled:!0===this._disabled,error:!0===s,"read-only":!0===this._readOnly,required:!0===this._required,touched:!0===this._touched}},!1===this._renderNoLabel&&h("label",{id:`${this._id}-label`,hidden:n,htmlFor:this._id},h("span",null,h("slot",{name:"label"}))),o&&h("span",{class:"hint",id:`${this._id}-hint`},this._hint),h("div",{class:{input:!0,"icon-left":"object"==typeof(null===(t=this._icon)||void 0===t?void 0:t.left),"icon-right":"object"==typeof(null===(i=this._icon)||void 0===i?void 0:i.right)}},(null===(a=this._icon)||void 0===a?void 0:a.left)&&h("kol-icon",{_ariaLabel:"",_icon:this._icon.left.icon}),h("slot",{name:l}),"object"==typeof this._smartButton&&null!==this._smartButton&&h("kol-button-wc",{_customClass:this._smartButton._customClass,_disabled:this._smartButton._disabled,_icon:this._smartButton._icon,_hideLabel:!0,_id:this._smartButton._id,_label:this._smartButton._label,_on:this._smartButton._on,_tooltipAlign:this._smartButton._tooltipAlign,_variant:this._smartButton._variant}),(null===(e=this._icon)||void 0===e?void 0:e.right)&&h("kol-icon",{_ariaLabel:"",_icon:this._icon.right.icon})),s&&h("kol-alert",{class:"error",id:`${this._id}-error`,_alert:this._alert,_type:"error",_variant:"msg"},this._error),Array.isArray(this._list)&&this._list.length>0&&h("datalist",{id:`${this._id}-list`},this._list.map((t=>h("option",{value:t})))),this._hasCounter&&h("span",{"aria-atomic":"true","aria-live":"polite"},this._currentLength,this._maxLength&&h(Fragment,null,h("span",{"aria-label":translate("kol-of"),role:"img"},"/"),this._maxLength)," ",h("span",null,translate("kol-characters"))))}};export{KolAlertWc as kol_alert_wc,KolInput as kol_input};
@@ -1 +1 @@
1
- {"file":"kol-alert-wc.kol-input.entry.js","mappings":"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","names":[],"sources":["src/components/alert/component.tsx","src/components/input/component.tsx"],"sourcesContent":["import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { validateHasCloser } from '../../types/props/has-closer';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { AlertType, AlertVariant, API, KoliBriAlertEventCallbacks, States } from './types';\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" heading={props.heading} />;\n\t}\n};\n\n/**\n * @slot - Der Inhalt der Meldung.\n */\n@Component({\n\ttag: 'kol-alert-wc',\n\tshadow: false,\n})\nexport class KolAlertWc implements API {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t}}\n\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t>\n\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t<AlertIcon heading={this.state._heading} type={this.state._type} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop() public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Komponente einen Schließen-Schalter hat.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt die Beschriftung der Komponente an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat. Oder bei 0, ob es keine Überschrift ist und als fett gedruckter Text angezeigt werden soll.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Setzt den Typ der Komponente oder des interaktiven Elements in der Komponente an.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Variante der Darstellung genutzt werden soll.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\tvalidateHasCloser(this, value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\tprivate validateOnValue = (value: unknown): boolean =>\n\t\ttypeof value === 'object' && value !== null && typeof (value as KoliBriAlertEventCallbacks).onClose === 'function';\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (this.validateOnValue(value)) {\n\t\t\tsetState<KoliBriAlertEventCallbacks>(\n\t\t\t\tthis,\n\t\t\t\t'_on',\n\t\t\t\t{\n\t\t\t\t\tonClose: (value as KoliBriAlertEventCallbacks).onClose,\n\t\t\t\t}\n\t\t\t\t// {\n\t\t\t\t// \tafterPatch: (value: unknown) => {\n\t\t\t\t// \t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t\t// \t},\n\t\t\t\t// }\n\t\t\t);\n\t\t\t// } else {\n\t\t\t// \tsetState<KoliBriAlertEventCallbacks>(this, '_on', null, {\n\t\t\t// \t\tafterPatch: (value: unknown) => {\n\t\t\t// \t\t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t}\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n","/* eslint-disable jsx-a11y/label-has-associated-control */\nimport { Component, Fragment, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriCustomIcon, KoliBriHorizontalIcon } from '../../types/icon';\nimport { Props } from './types';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-input',\n\tshadow: false,\n})\nexport class KolInput implements Props {\n\tpublic render(): JSX.Element {\n\t\tconst hasError = typeof this._error === 'string' && this._error.length > 0 && this._touched === true;\n\t\tconst hasHint = typeof this._hint === 'string' && this._hint.length > 0;\n\t\tconst hideLabel = this._hideLabel === true && this._required !== true;\n\t\tconst slotName = this._slotName ? this._slotName : 'input';\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\tdisabled: this._disabled === true,\n\t\t\t\t\terror: hasError === true,\n\t\t\t\t\t'read-only': this._readOnly === true,\n\t\t\t\t\trequired: this._required === true,\n\t\t\t\t\ttouched: this._touched === true,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this._renderNoLabel === false && (\n\t\t\t\t\t<label id={`${this._id}-label`} hidden={hideLabel} htmlFor={this._id}>\n\t\t\t\t\t\t{/* INFO: span is needed for css styling :after content like a star (*) or optional text ! */}\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{/* INFO: label comes with any html tag or as plain text! */}\n\t\t\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t\t{hasHint && (\n\t\t\t\t\t<span class=\"hint\" id={`${this._id}-hint`}>\n\t\t\t\t\t\t{this._hint}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tinput: true,\n\t\t\t\t\t\t'icon-left': typeof this._icon?.left === 'object',\n\t\t\t\t\t\t'icon-right': typeof this._icon?.right === 'object',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this._icon?.left && <kol-icon _ariaLabel=\"\" _icon={(this._icon.left as KoliBriCustomIcon).icon}></kol-icon>}\n\t\t\t\t\t<slot name={slotName}></slot>\n\t\t\t\t\t{typeof this._smartButton === 'object' && this._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_customClass={this._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this._smartButton._icon}\n\t\t\t\t\t\t\t_hideLabel={true}\n\t\t\t\t\t\t\t_id={this._smartButton._id}\n\t\t\t\t\t\t\t_label={this._smartButton._label}\n\t\t\t\t\t\t\t_on={this._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t\t{this._icon?.right && <kol-icon _ariaLabel=\"\" _icon={(this._icon.right as KoliBriCustomIcon).icon}></kol-icon>}\n\t\t\t\t</div>\n\t\t\t\t{hasError && (\n\t\t\t\t\t<kol-alert class=\"error\" id={`${this._id}-error`} _alert={this._alert} _type=\"error\" _variant=\"msg\">\n\t\t\t\t\t\t{this._error}\n\t\t\t\t\t</kol-alert>\n\t\t\t\t)}\n\t\t\t\t{Array.isArray(this._list) && this._list.length > 0 && (\n\t\t\t\t\t<datalist id={`${this._id}-list`}>\n\t\t\t\t\t\t{this._list.map((option: string) => (\n\t\t\t\t\t\t\t<option value={option} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</datalist>\n\t\t\t\t)}\n\t\t\t\t{this._hasCounter && (\n\t\t\t\t\t<span aria-atomic=\"true\" aria-live=\"polite\">\n\t\t\t\t\t\t{this._currentLength}\n\t\t\t\t\t\t{this._maxLength && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<span aria-label={translate('kol-of')} role=\"img\">\n\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{this._maxLength}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t\t<span>{translate('kol-characters')}</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop() public _alert?: boolean = true;\n\n\t/**\n\t * @internal\n\t */\n\t@Prop() public _currentLength?: number;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string = '';\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: KoliBriHorizontalIcon;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt an, ob die Eingabefeld nur lesend ist.\n\t */\n\t@Prop() public _readOnly?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Komponente kein Label rendern soll.\n\t */\n\t@Prop() public _renderNoLabel?: boolean = false;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Ermöglicht den Slotnamen zu bestimmen. Wird nur verwendet, wenn sonst mehrere Slots mit dem gleichen Namen innerhalb eines ShadowDOMs existieren würden.\n\t * @internal\n\t */\n\t@Prop() public _slotName?: string;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop() public _touched?: boolean = false;\n}\n"],"version":3}
1
+ {"file":"kol-alert-wc.kol-input.entry.js","mappings":"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","names":[],"sources":["src/components/alert/component.tsx","src/components/input/component.tsx"],"sourcesContent":["import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { validateHasCloser } from '../../types/props/has-closer';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { AlertType, AlertVariant, API, KoliBriAlertEventCallbacks, States } from './types';\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" heading={props.heading} />;\n\t}\n};\n\n/**\n * @slot - Der Inhalt der Meldung.\n */\n@Component({\n\ttag: 'kol-alert-wc',\n\tshadow: false,\n})\nexport class KolAlertWc implements API {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t}}\n\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t>\n\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t<AlertIcon heading={this.state._heading} type={this.state._type} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop() public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Komponente einen Schließen-Schalter hat.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt die Beschriftung der Komponente an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat. Oder bei 0, ob es keine Überschrift ist und als fett gedruckter Text angezeigt werden soll.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Setzt den Typ der Komponente oder des interaktiven Elements in der Komponente an.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Variante der Darstellung genutzt werden soll.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\tvalidateHasCloser(this, value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\tprivate validateOnValue = (value: unknown): boolean =>\n\t\ttypeof value === 'object' && value !== null && typeof (value as KoliBriAlertEventCallbacks).onClose === 'function';\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (this.validateOnValue(value)) {\n\t\t\tsetState<KoliBriAlertEventCallbacks>(\n\t\t\t\tthis,\n\t\t\t\t'_on',\n\t\t\t\t{\n\t\t\t\t\tonClose: (value as KoliBriAlertEventCallbacks).onClose,\n\t\t\t\t}\n\t\t\t\t// {\n\t\t\t\t// \tafterPatch: (value: unknown) => {\n\t\t\t\t// \t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t\t// \t},\n\t\t\t\t// }\n\t\t\t);\n\t\t\t// } else {\n\t\t\t// \tsetState<KoliBriAlertEventCallbacks>(this, '_on', null, {\n\t\t\t// \t\tafterPatch: (value: unknown) => {\n\t\t\t// \t\t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t}\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n","/* eslint-disable jsx-a11y/label-has-associated-control */\nimport { Component, Fragment, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriCustomIcon, KoliBriHorizontalIcon } from '../../types/icon';\nimport { Props } from './types';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-input',\n\tshadow: false,\n})\nexport class KolInput implements Props {\n\tpublic render(): JSX.Element {\n\t\tconst hasError = typeof this._error === 'string' && this._error.length > 0 && this._touched === true;\n\t\tconst hasHint = typeof this._hint === 'string' && this._hint.length > 0;\n\t\tconst hideLabel = this._hideLabel === true && this._required !== true;\n\t\tconst slotName = this._slotName ? this._slotName : 'input';\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\tdisabled: this._disabled === true,\n\t\t\t\t\terror: hasError === true,\n\t\t\t\t\t'read-only': this._readOnly === true,\n\t\t\t\t\trequired: this._required === true,\n\t\t\t\t\ttouched: this._touched === true,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this._renderNoLabel === false && (\n\t\t\t\t\t<label id={`${this._id}-label`} hidden={hideLabel} htmlFor={this._id}>\n\t\t\t\t\t\t{/* INFO: span is needed for css styling :after content like a star (*) or optional text ! */}\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{/* INFO: label comes with any html tag or as plain text! */}\n\t\t\t\t\t\t\t<slot name=\"label\"></slot>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t\t{hasHint && (\n\t\t\t\t\t<span class=\"hint\" id={`${this._id}-hint`}>\n\t\t\t\t\t\t{this._hint}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tinput: true,\n\t\t\t\t\t\t'icon-left': typeof this._icon?.left === 'object',\n\t\t\t\t\t\t'icon-right': typeof this._icon?.right === 'object',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this._icon?.left && <kol-icon _ariaLabel=\"\" _icon={(this._icon.left as KoliBriCustomIcon).icon}></kol-icon>}\n\t\t\t\t\t<slot name={slotName}></slot>\n\t\t\t\t\t{typeof this._smartButton === 'object' && this._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_customClass={this._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this._smartButton._icon}\n\t\t\t\t\t\t\t_hideLabel={true}\n\t\t\t\t\t\t\t_id={this._smartButton._id}\n\t\t\t\t\t\t\t_label={this._smartButton._label}\n\t\t\t\t\t\t\t_on={this._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t\t{this._icon?.right && <kol-icon _ariaLabel=\"\" _icon={(this._icon.right as KoliBriCustomIcon).icon}></kol-icon>}\n\t\t\t\t</div>\n\t\t\t\t{hasError && (\n\t\t\t\t\t<kol-alert class=\"error\" id={`${this._id}-error`} _alert={this._alert} _type=\"error\" _variant=\"msg\">\n\t\t\t\t\t\t{this._error}\n\t\t\t\t\t</kol-alert>\n\t\t\t\t)}\n\t\t\t\t{Array.isArray(this._list) && this._list.length > 0 && (\n\t\t\t\t\t<datalist id={`${this._id}-list`}>\n\t\t\t\t\t\t{this._list.map((option: string) => (\n\t\t\t\t\t\t\t<option value={option} />\n\t\t\t\t\t\t))}\n\t\t\t\t\t</datalist>\n\t\t\t\t)}\n\t\t\t\t{this._hasCounter && (\n\t\t\t\t\t<span aria-atomic=\"true\" aria-live=\"polite\">\n\t\t\t\t\t\t{this._currentLength}\n\t\t\t\t\t\t{this._maxLength && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<span aria-label={translate('kol-of')} role=\"img\">\n\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{this._maxLength}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}{' '}\n\t\t\t\t\t\t<span>{translate('kol-characters')}</span>\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop() public _alert?: boolean = true;\n\n\t/**\n\t * @internal\n\t */\n\t@Prop() public _currentLength?: number;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string = '';\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: KoliBriHorizontalIcon;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt an, ob die Eingabefeld nur lesend ist.\n\t */\n\t@Prop() public _readOnly?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Komponente kein Label rendern soll.\n\t */\n\t@Prop() public _renderNoLabel?: boolean = false;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean = false;\n\n\t/**\n\t * Ermöglicht den Slotnamen zu bestimmen. Wird nur verwendet, wenn sonst mehrere Slots mit dem gleichen Namen innerhalb eines ShadowDOMs existieren würden.\n\t * @internal\n\t */\n\t@Prop() public _slotName?: string;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop() public _touched?: boolean = false;\n}\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{r as registerInstance,h,H as Host}from"./index-2c046ff1.js";import{v as validateLabel}from"./label-35927418.js";import{v as validateImageSource}from"./image-source-a6d9c13f.js";import{a as translate}from"./i18n-a5618943.js";import"./a11y.tipps-255c885e.js";import"./dev.utils-e98368e1.js";import"./reuse-c2156413.js";import"./prop.validators-e3c93395.js";import"./index-37b5cbcf.js";import"./index-d8ac1088.js";const formatNameAsInitial=a=>0===a.length?"":a[0].toUpperCase(),formatLabelAsInitials=a=>{const t=a.split(/\s+/),s=t.at(0),e=t.at(-1);return t.length>=2&&s&&e?`${formatNameAsInitial(s)}${formatNameAsInitial(e)}`:formatNameAsInitial(a)},KolAvatarWc=class{constructor(a){registerInstance(this,a),this._src=void 0,this._label=void 0,this.state={_src:"",_label:""}}render(){return h(Host,null,h("div",{"aria-description":this.state._label,class:"container"},this.state._src?h("kol-image",{_alt:translate("kol-avatar-alt",{placeholders:{name:this.state._label}}),_src:this.state._src,class:"image"}):h("span",{"aria-hidden":"true",class:"initials"},formatLabelAsInitials(this.state._label))))}validateSrc(a){validateImageSource(this,a)}validateLabel(a){validateLabel(this,a)}componentWillLoad(){this.validateSrc(this._src),this.validateLabel(this._label)}static get watchers(){return{_src:["validateSrc"],_label:["validateLabel"]}}};export{KolAvatarWc as kol_avatar_wc};
@@ -0,0 +1 @@
1
+ {"file":"kol-avatar-wc.entry.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,mBAAmB,GAAG,CAAC,IAAY;EACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;IACtB,OAAO,EAAE,CAAC;GACV;EAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAa;EAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;EACjC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;EAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAG1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;IACvC,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;GACnE;EAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;;MCPY,WAAW;;;;;iBA2BS;MAC/B,IAAI,EAAE,EAAE;MACR,MAAM,EAAE,EAAE;KACV;;EA7BM,MAAM;IACZ,QACC,EAAC,IAAI,QACJ,+BAAuB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAC,WAAW,IACzD,IAAI,CAAC,KAAK,CAAC,IAAI,IACf,iBAAW,IAAI,EAAE,SAAS,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAC,OAAO,GAAa,KAE9I,2BAAkB,MAAM,EAAC,KAAK,EAAC,UAAU,IACvC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CACnC,CACP,CACI,CACA,EACN;GACF;EAkBM,WAAW,CAAC,KAA2B;IAC7C,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACjC;EAGM,aAAa,CAAC,KAAqB;IACzC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC3B;EAEM,iBAAiB;IACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;GAChC;;;;;;;;;","names":[],"sources":["src/components/avatar/controller.ts","src/components/avatar/component.tsx"],"sourcesContent":["const formatNameAsInitial = (name: string): string => {\n\tif (name.length === 0) {\n\t\treturn '';\n\t}\n\n\treturn name[0].toUpperCase();\n};\n\nexport const formatLabelAsInitials = (label: string): string => {\n\tconst names = label.split(/\\s+/); // split by any whitespace characters\n\tconst first = names.at(0);\n\tconst last = names.at(-1);\n\n\t// names might consist of only one word\n\tif (names.length >= 2 && first && last) {\n\t\treturn `${formatNameAsInitial(first)}${formatNameAsInitial(last)}`;\n\t}\n\n\treturn formatNameAsInitial(label);\n};\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { API, States } from './types';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { ImageSourcePropType, validateImageSource } from '../../types/props/image-source';\nimport { formatLabelAsInitials } from './controller';\nimport { translate } from '../../i18n';\n\n@Component({\n\ttag: 'kol-avatar-wc',\n\tshadow: false,\n})\nexport class KolAvatarWc implements API {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div aria-description={this.state._label} class=\"container\">\n\t\t\t\t\t{this.state._src ? (\n\t\t\t\t\t\t<kol-image _alt={translate('kol-avatar-alt', { placeholders: { name: this.state._label } })} _src={this.state._src} class=\"image\"></kol-image>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span aria-hidden=\"true\" class=\"initials\">\n\t\t\t\t\t\t\t{formatLabelAsInitials(this.state._label)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the image source to render\n\t */\n\t@Prop() public _src?: ImageSourcePropType;\n\n\t/**\n\t * Defines the label, usually the name of the person, to render as alt text and to compute initials from\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t@State() public state: States = {\n\t\t_src: ``,\n\t\t_label: ``, // ⚠ required\n\t};\n\n\t@Watch('_src')\n\tpublic validateSrc(value?: ImageSourcePropType): void {\n\t\tvalidateImageSource(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateSrc(this._src);\n\t\tthis.validateLabel(this._label);\n\t}\n}\n"],"version":3}