@public-ui/components 2.0.0-rc.0 → 2.0.0-rc.10

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 (948) hide show
  1. package/custom-elements.json +85 -79
  2. package/dist/cjs/InternalUnderlinedAccessKey-1daef254.js +4 -0
  3. package/dist/cjs/InternalUnderlinedAccessKey-1daef254.js.map +1 -0
  4. package/dist/cjs/{a11y.tipps-417b66df.js → a11y.tipps-52924c12.js} +1 -1
  5. package/dist/cjs/{a11y.tipps-417b66df.js.map → a11y.tipps-52924c12.js.map} +1 -1
  6. package/dist/cjs/access-key-abeed865.js +4 -0
  7. package/dist/cjs/access-key-abeed865.js.map +1 -0
  8. package/dist/cjs/align-floating-elements-01d5ad38.js +4 -0
  9. package/dist/cjs/align-floating-elements-01d5ad38.js.map +1 -0
  10. package/dist/cjs/alignment-16eddf21.js +4 -0
  11. package/dist/cjs/alignment-16eddf21.js.map +1 -0
  12. package/dist/cjs/alternative-button-link-role-899ccab0.js +4 -0
  13. package/dist/cjs/{alternative-button-link-role-76fc0537.js.map → alternative-button-link-role-899ccab0.js.map} +1 -1
  14. package/dist/cjs/app-globals-9f9c65d2.js +4 -0
  15. package/dist/cjs/app-globals-9f9c65d2.js.map +1 -0
  16. package/dist/cjs/{associated.controller-0729954e.js → associated.controller-4e3e28de.js} +1 -1
  17. package/dist/cjs/{associated.controller-0729954e.js.map → associated.controller-4e3e28de.js.map} +1 -1
  18. package/dist/cjs/{color-71d1c910.js → color-5e9f04c6.js} +1 -1
  19. package/dist/cjs/{color-71d1c910.js.map → color-5e9f04c6.js.map} +1 -1
  20. package/dist/cjs/controller-0ab1842e.js +4 -0
  21. package/dist/cjs/controller-0ab1842e.js.map +1 -0
  22. package/dist/cjs/{controller-2fb82656.js → controller-22c05ddc.js} +1 -1
  23. package/dist/cjs/{controller-2fb82656.js.map → controller-22c05ddc.js.map} +1 -1
  24. package/dist/cjs/controller-343d56b2.js +4 -0
  25. package/dist/cjs/controller-343d56b2.js.map +1 -0
  26. package/dist/cjs/{controller-f05f47fe.js → controller-843f334b.js} +1 -1
  27. package/dist/cjs/{controller-f05f47fe.js.map → controller-843f334b.js.map} +1 -1
  28. package/dist/cjs/controller-964c90bb.js +4 -0
  29. package/dist/cjs/controller-964c90bb.js.map +1 -0
  30. package/dist/cjs/{controller-icon-3ace6f32.js → controller-icon-aa22cad7.js} +1 -1
  31. package/dist/cjs/{controller-icon-3ace6f32.js.map → controller-icon-aa22cad7.js.map} +1 -1
  32. package/dist/cjs/custom-class-36ae66f7.js +4 -0
  33. package/dist/cjs/custom-class-36ae66f7.js.map +1 -0
  34. package/dist/cjs/details-synced-open-state-01d46fbc.js +4 -0
  35. package/dist/cjs/details-synced-open-state-01d46fbc.js.map +1 -0
  36. package/dist/cjs/dev.utils-dd0de607.js +4 -0
  37. package/dist/cjs/dev.utils-dd0de607.js.map +1 -0
  38. package/dist/cjs/{devtools-8a3aba37.js → devtools-d6fd6f49.js} +1 -1
  39. package/dist/cjs/{devtools-8a3aba37.js.map → devtools-d6fd6f49.js.map} +1 -1
  40. package/dist/cjs/has-closer-8e3de657.js +4 -0
  41. package/dist/cjs/{has-closer-3f258cb1.js.map → has-closer-8e3de657.js.map} +1 -1
  42. package/dist/cjs/hide-label-2e529fc2.js +4 -0
  43. package/dist/cjs/{hide-label-a1359f24.js.map → hide-label-2e529fc2.js.map} +1 -1
  44. package/dist/cjs/i18n-3c9b849c.js +4 -0
  45. package/dist/cjs/i18n-3c9b849c.js.map +1 -0
  46. package/dist/cjs/{icons-ef0868ed.js → icons-9051b859.js} +1 -1
  47. package/dist/cjs/{icons-ef0868ed.js.map → icons-9051b859.js.map} +1 -1
  48. package/dist/cjs/image-source-940c2634.js +4 -0
  49. package/dist/cjs/{image-source-30ac0359.js.map → image-source-940c2634.js.map} +1 -1
  50. package/dist/cjs/{index-d94c6297.js → index-07f69fb0.js} +1 -1
  51. package/dist/cjs/{index-d94c6297.js.map → index-07f69fb0.js.map} +1 -1
  52. package/dist/cjs/index-8b7eb8e5.js +4 -0
  53. package/dist/cjs/index-8b7eb8e5.js.map +1 -0
  54. package/dist/cjs/index-a0085191.js +5 -0
  55. package/dist/cjs/index-a0085191.js.map +1 -0
  56. package/dist/cjs/index.cjs.js +1 -1
  57. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +4 -0
  62. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -0
  63. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  68. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  70. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  72. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-button-wc_2.cjs.entry.js +4 -0
  80. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -0
  81. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  104. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  110. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  112. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  135. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  136. package/dist/cjs/kol-popover-wc.cjs.entry.js +4 -0
  137. package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -0
  138. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  139. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  140. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  141. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  142. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  143. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  144. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  145. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  146. package/dist/cjs/kol-span-wc.cjs.entry.js +4 -0
  147. package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -0
  148. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  149. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  150. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  151. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  152. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  153. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  154. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  155. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  156. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  157. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  158. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  159. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  160. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  161. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  162. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
  163. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  164. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  165. package/dist/cjs/kolibri.cjs.js +1 -1
  166. package/dist/cjs/kolibri.cjs.js.map +1 -1
  167. package/dist/cjs/{label-f59591d3.js → label-ba827b7b.js} +1 -1
  168. package/dist/cjs/{label-f59591d3.js.map → label-ba827b7b.js.map} +1 -1
  169. package/dist/cjs/loader.cjs.js +1 -1
  170. package/dist/cjs/open-3a09e626.js +4 -0
  171. package/dist/cjs/{open-1c4dcfb7.js.map → open-3a09e626.js.map} +1 -1
  172. package/dist/cjs/{prop.validators-40b03d45.js → prop.validators-ef9875d5.js} +1 -1
  173. package/dist/cjs/prop.validators-ef9875d5.js.map +1 -0
  174. package/dist/cjs/rows-6c1fae6a.js +4 -0
  175. package/dist/cjs/{rows-49957d39.js.map → rows-6c1fae6a.js.map} +1 -1
  176. package/dist/cjs/show-431f9be5.js +4 -0
  177. package/dist/cjs/{show-2a7af4da.js.map → show-431f9be5.js.map} +1 -1
  178. package/dist/cjs/{suggestions-ac1779ec.js → suggestions-b83bb79e.js} +1 -1
  179. package/dist/cjs/{suggestions-ac1779ec.js.map → suggestions-b83bb79e.js.map} +1 -1
  180. package/dist/cjs/{tab-index-62a72b67.js → tab-index-8e513fa5.js} +1 -1
  181. package/dist/cjs/{tab-index-62a72b67.js.map → tab-index-8e513fa5.js.map} +1 -1
  182. package/dist/cjs/{toaster-d370fe6a.js → toaster-812c9c9b.js} +1 -1
  183. package/dist/cjs/toaster-812c9c9b.js.map +1 -0
  184. package/dist/cjs/{toaster-82cf12c5.js → toaster-e3a1416c.js} +1 -1
  185. package/dist/cjs/toaster-e3a1416c.js.map +1 -0
  186. package/dist/cjs/{tooltip-align-f7332f5b.js → tooltip-align-862b0558.js} +1 -1
  187. package/dist/cjs/{tooltip-align-f7332f5b.js.map → tooltip-align-862b0558.js.map} +1 -1
  188. package/dist/cjs/{validation-d8756daa.js → validation-3812c183.js} +1 -1
  189. package/dist/cjs/{validation-d8756daa.js.map → validation-3812c183.js.map} +1 -1
  190. package/dist/cjs/validation-8623ec51.js +4 -0
  191. package/dist/cjs/validation-8623ec51.js.map +1 -0
  192. package/dist/components/align-floating-elements.js +4 -0
  193. package/dist/components/align-floating-elements.js.map +1 -0
  194. package/dist/components/color.js +1 -1
  195. package/dist/components/component.js +1 -1
  196. package/dist/components/component.js.map +1 -1
  197. package/dist/components/component11.js +1 -1
  198. package/dist/components/component11.js.map +1 -1
  199. package/dist/components/component12.js +1 -1
  200. package/dist/components/component12.js.map +1 -1
  201. package/dist/components/component13.js +1 -1
  202. package/dist/components/component13.js.map +1 -1
  203. package/dist/components/component14.js +1 -1
  204. package/dist/components/component14.js.map +1 -1
  205. package/dist/components/component15.js +1 -1
  206. package/dist/components/component15.js.map +1 -1
  207. package/dist/components/component2.js +1 -1
  208. package/dist/components/component2.js.map +1 -1
  209. package/dist/components/component3.js +1 -1
  210. package/dist/components/component3.js.map +1 -1
  211. package/dist/components/component4.js +1 -1
  212. package/dist/components/component4.js.map +1 -1
  213. package/dist/components/component5.js +1 -1
  214. package/dist/components/component5.js.map +1 -1
  215. package/dist/components/component6.js +1 -1
  216. package/dist/components/component6.js.map +1 -1
  217. package/dist/components/component8.js +1 -1
  218. package/dist/components/component8.js.map +1 -1
  219. package/dist/components/component9.js +1 -1
  220. package/dist/components/component9.js.map +1 -1
  221. package/dist/components/controller.js +1 -1
  222. package/dist/components/controller2.js +1 -1
  223. package/dist/components/controller2.js.map +1 -1
  224. package/dist/components/controller3.js +1 -1
  225. package/dist/components/controller3.js.map +1 -1
  226. package/dist/components/details-synced-open-state.js +1 -1
  227. package/dist/components/details-synced-open-state.js.map +1 -1
  228. package/dist/components/devtools.js +1 -1
  229. package/dist/components/i18n.js +1 -1
  230. package/dist/components/i18n.js.map +1 -1
  231. package/dist/components/index.js +1 -1
  232. package/dist/components/index.js.map +1 -1
  233. package/dist/components/kol-abbr.js +1 -1
  234. package/dist/components/kol-abbr.js.map +1 -1
  235. package/dist/components/kol-accordion.js +1 -1
  236. package/dist/components/kol-accordion.js.map +1 -1
  237. package/dist/components/kol-avatar.js +1 -1
  238. package/dist/components/kol-avatar.js.map +1 -1
  239. package/dist/components/kol-breadcrumb.js +1 -1
  240. package/dist/components/kol-breadcrumb.js.map +1 -1
  241. package/dist/components/kol-button-group.js +1 -1
  242. package/dist/components/kol-button-group.js.map +1 -1
  243. package/dist/components/kol-button-link.js +1 -1
  244. package/dist/components/kol-button-link.js.map +1 -1
  245. package/dist/components/kol-card.js +1 -1
  246. package/dist/components/kol-card.js.map +1 -1
  247. package/dist/components/kol-details.js +1 -1
  248. package/dist/components/kol-details.js.map +1 -1
  249. package/dist/components/kol-heading.js +1 -1
  250. package/dist/components/kol-heading.js.map +1 -1
  251. package/dist/components/kol-image.js +1 -1
  252. package/dist/components/kol-image.js.map +1 -1
  253. package/dist/components/kol-input-checkbox.js +1 -1
  254. package/dist/components/kol-input-checkbox.js.map +1 -1
  255. package/dist/components/kol-input-color.js +1 -1
  256. package/dist/components/kol-input-color.js.map +1 -1
  257. package/dist/components/kol-input-date.js +1 -1
  258. package/dist/components/kol-input-date.js.map +1 -1
  259. package/dist/components/kol-input-email.js +1 -1
  260. package/dist/components/kol-input-email.js.map +1 -1
  261. package/dist/components/kol-input-file.js +1 -1
  262. package/dist/components/kol-input-file.js.map +1 -1
  263. package/dist/components/kol-input-number.js +1 -1
  264. package/dist/components/kol-input-number.js.map +1 -1
  265. package/dist/components/kol-input-password.js +1 -1
  266. package/dist/components/kol-input-password.js.map +1 -1
  267. package/dist/components/kol-input-radio.js +1 -1
  268. package/dist/components/kol-input-radio.js.map +1 -1
  269. package/dist/components/kol-input-range.js +1 -1
  270. package/dist/components/kol-input-range.js.map +1 -1
  271. package/dist/components/kol-input-text.js +1 -1
  272. package/dist/components/kol-input-text.js.map +1 -1
  273. package/dist/components/kol-kolibri.js +1 -1
  274. package/dist/components/kol-kolibri.js.map +1 -1
  275. package/dist/components/kol-link-button.js +1 -1
  276. package/dist/components/kol-link-button.js.map +1 -1
  277. package/dist/components/kol-link-group.js +1 -1
  278. package/dist/components/kol-link-group.js.map +1 -1
  279. package/dist/components/kol-logo.js +1 -1
  280. package/dist/components/kol-logo.js.map +1 -1
  281. package/dist/components/kol-modal.js +1 -1
  282. package/dist/components/kol-modal.js.map +1 -1
  283. package/dist/components/kol-nav.js +1 -1
  284. package/dist/components/kol-nav.js.map +1 -1
  285. package/dist/components/{kol-popover.d.ts → kol-popover-wc.d.ts} +4 -4
  286. package/dist/components/kol-popover-wc.js +4 -0
  287. package/dist/components/kol-popover-wc.js.map +1 -0
  288. package/dist/components/kol-progress.js +1 -1
  289. package/dist/components/kol-progress.js.map +1 -1
  290. package/dist/components/kol-quote.js +1 -1
  291. package/dist/components/kol-quote.js.map +1 -1
  292. package/dist/components/kol-skip-nav.js +1 -1
  293. package/dist/components/kol-skip-nav.js.map +1 -1
  294. package/dist/components/kol-span.js +1 -1
  295. package/dist/components/kol-span.js.map +1 -1
  296. package/dist/components/kol-spin.js +1 -1
  297. package/dist/components/kol-spin.js.map +1 -1
  298. package/dist/components/kol-split-button.js +1 -1
  299. package/dist/components/kol-split-button.js.map +1 -1
  300. package/dist/components/kol-table.js +1 -1
  301. package/dist/components/kol-table.js.map +1 -1
  302. package/dist/components/kol-tabs.js +1 -1
  303. package/dist/components/kol-tabs.js.map +1 -1
  304. package/dist/components/kol-textarea.js +1 -1
  305. package/dist/components/kol-textarea.js.map +1 -1
  306. package/dist/components/kol-toast-container.js +1 -1
  307. package/dist/components/kol-toast-container.js.map +1 -1
  308. package/dist/components/kol-version.js +1 -1
  309. package/dist/components/kol-version.js.map +1 -1
  310. package/dist/components/prop.validators.js +1 -1
  311. package/dist/components/prop.validators.js.map +1 -1
  312. package/dist/components/shadow.js +1 -1
  313. package/dist/components/shadow.js.map +1 -1
  314. package/dist/components/shadow2.js +1 -1
  315. package/dist/components/shadow2.js.map +1 -1
  316. package/dist/components/shadow3.js +1 -1
  317. package/dist/components/shadow3.js.map +1 -1
  318. package/dist/components/toaster.js.map +1 -1
  319. package/dist/components/tooltip-align.js +1 -1
  320. package/dist/esm/InternalUnderlinedAccessKey-8b996006.js +4 -0
  321. package/dist/esm/InternalUnderlinedAccessKey-8b996006.js.map +1 -0
  322. package/dist/esm/{a11y.tipps-7143f6fd.js → a11y.tipps-1e89ea61.js} +1 -1
  323. package/dist/esm/{a11y.tipps-7143f6fd.js.map → a11y.tipps-1e89ea61.js.map} +1 -1
  324. package/dist/esm/access-key-3f233e98.js +4 -0
  325. package/dist/esm/access-key-3f233e98.js.map +1 -0
  326. package/dist/esm/align-floating-elements-ebf0712d.js +4 -0
  327. package/dist/esm/align-floating-elements-ebf0712d.js.map +1 -0
  328. package/dist/esm/alignment-32a9ec52.js +4 -0
  329. package/dist/esm/alignment-32a9ec52.js.map +1 -0
  330. package/dist/esm/alternative-button-link-role-1c319b0c.js +4 -0
  331. package/dist/esm/{alternative-button-link-role-5e1ea5eb.js.map → alternative-button-link-role-1c319b0c.js.map} +1 -1
  332. package/dist/esm/app-globals-0c1a662e.js +4 -0
  333. package/dist/esm/app-globals-0c1a662e.js.map +1 -0
  334. package/dist/esm/{associated.controller-d70c8be1.js → associated.controller-89ab9c94.js} +1 -1
  335. package/dist/esm/{associated.controller-d70c8be1.js.map → associated.controller-89ab9c94.js.map} +1 -1
  336. package/dist/esm/{color-048551d8.js → color-3208b6fe.js} +1 -1
  337. package/dist/esm/{color-048551d8.js.map → color-3208b6fe.js.map} +1 -1
  338. package/dist/esm/{controller-757cd887.js → controller-85e5be61.js} +1 -1
  339. package/dist/esm/{controller-757cd887.js.map → controller-85e5be61.js.map} +1 -1
  340. package/dist/esm/controller-88531ae3.js +4 -0
  341. package/dist/esm/controller-88531ae3.js.map +1 -0
  342. package/dist/esm/controller-b8518ebb.js +4 -0
  343. package/dist/esm/controller-b8518ebb.js.map +1 -0
  344. package/dist/esm/{controller-313148a2.js → controller-d31e838e.js} +1 -1
  345. package/dist/esm/{controller-313148a2.js.map → controller-d31e838e.js.map} +1 -1
  346. package/dist/esm/controller-f2d3b802.js +4 -0
  347. package/dist/esm/controller-f2d3b802.js.map +1 -0
  348. package/dist/esm/{controller-icon-d4a91832.js → controller-icon-9794a8aa.js} +1 -1
  349. package/dist/esm/{controller-icon-d4a91832.js.map → controller-icon-9794a8aa.js.map} +1 -1
  350. package/dist/esm/custom-class-768ff923.js +4 -0
  351. package/dist/esm/custom-class-768ff923.js.map +1 -0
  352. package/dist/esm/details-synced-open-state-66c07ea5.js +4 -0
  353. package/dist/esm/details-synced-open-state-66c07ea5.js.map +1 -0
  354. package/dist/esm/dev.utils-babc1742.js +4 -0
  355. package/dist/esm/dev.utils-babc1742.js.map +1 -0
  356. package/dist/esm/{devtools-188764ec.js → devtools-c6c87b9a.js} +1 -1
  357. package/dist/esm/{devtools-188764ec.js.map → devtools-c6c87b9a.js.map} +1 -1
  358. package/dist/esm/{has-closer-20ad2566.js → has-closer-c8f3520a.js} +1 -1
  359. package/dist/esm/{has-closer-20ad2566.js.map → has-closer-c8f3520a.js.map} +1 -1
  360. package/dist/esm/{hide-label-27292184.js → hide-label-c9289ea1.js} +1 -1
  361. package/dist/esm/{hide-label-27292184.js.map → hide-label-c9289ea1.js.map} +1 -1
  362. package/dist/esm/i18n-1b5afe13.js +4 -0
  363. package/dist/esm/i18n-1b5afe13.js.map +1 -0
  364. package/dist/esm/{icons-b6a6d907.js → icons-97af6e5f.js} +1 -1
  365. package/dist/esm/{icons-b6a6d907.js.map → icons-97af6e5f.js.map} +1 -1
  366. package/dist/esm/{image-source-fa985240.js → image-source-f72463d3.js} +1 -1
  367. package/dist/esm/{image-source-fa985240.js.map → image-source-f72463d3.js.map} +1 -1
  368. package/dist/esm/index-0bc40dc4.js +5 -0
  369. package/dist/esm/index-0bc40dc4.js.map +1 -0
  370. package/dist/{cjs/index-55ab202d.js → esm/index-48743821.js} +1 -1
  371. package/dist/esm/index-48743821.js.map +1 -0
  372. package/dist/esm/{index-e51de689.js → index-9b519d08.js} +1 -1
  373. package/dist/esm/{index-e51de689.js.map → index-9b519d08.js.map} +1 -1
  374. package/dist/esm/index.js +1 -1
  375. package/dist/esm/kol-abbr.entry.js +1 -1
  376. package/dist/esm/kol-abbr.entry.js.map +1 -1
  377. package/dist/esm/kol-accordion.entry.js +1 -1
  378. package/dist/esm/kol-accordion.entry.js.map +1 -1
  379. package/dist/esm/kol-alert-wc_2.entry.js +4 -0
  380. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -0
  381. package/dist/esm/kol-alert.entry.js +1 -1
  382. package/dist/esm/kol-alert.entry.js.map +1 -1
  383. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  384. package/dist/esm/kol-avatar.entry.js +1 -1
  385. package/dist/esm/kol-avatar.entry.js.map +1 -1
  386. package/dist/esm/kol-badge.entry.js +1 -1
  387. package/dist/esm/kol-badge.entry.js.map +1 -1
  388. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  389. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  390. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  391. package/dist/esm/kol-button-group.entry.js +1 -1
  392. package/dist/esm/kol-button-group.entry.js.map +1 -1
  393. package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
  394. package/dist/esm/kol-button-link-text-switch.entry.js.map +1 -1
  395. package/dist/esm/kol-button-link.entry.js +1 -1
  396. package/dist/esm/kol-button-link.entry.js.map +1 -1
  397. package/dist/esm/kol-button-wc_2.entry.js +4 -0
  398. package/dist/esm/kol-button-wc_2.entry.js.map +1 -0
  399. package/dist/esm/kol-button.entry.js +1 -1
  400. package/dist/esm/kol-button.entry.js.map +1 -1
  401. package/dist/esm/kol-card.entry.js +1 -1
  402. package/dist/esm/kol-card.entry.js.map +1 -1
  403. package/dist/esm/kol-details.entry.js +1 -1
  404. package/dist/esm/kol-details.entry.js.map +1 -1
  405. package/dist/esm/kol-form.entry.js +1 -1
  406. package/dist/esm/kol-heading.entry.js +1 -1
  407. package/dist/esm/kol-heading.entry.js.map +1 -1
  408. package/dist/esm/kol-icon.entry.js +1 -1
  409. package/dist/esm/kol-icon.entry.js.map +1 -1
  410. package/dist/esm/kol-image.entry.js +1 -1
  411. package/dist/esm/kol-image.entry.js.map +1 -1
  412. package/dist/esm/kol-indented-text.entry.js +1 -1
  413. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  414. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  415. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  416. package/dist/esm/kol-input-color.entry.js +1 -1
  417. package/dist/esm/kol-input-color.entry.js.map +1 -1
  418. package/dist/esm/kol-input-date.entry.js +1 -1
  419. package/dist/esm/kol-input-date.entry.js.map +1 -1
  420. package/dist/esm/kol-input-email.entry.js +1 -1
  421. package/dist/esm/kol-input-email.entry.js.map +1 -1
  422. package/dist/esm/kol-input-file.entry.js +1 -1
  423. package/dist/esm/kol-input-file.entry.js.map +1 -1
  424. package/dist/esm/kol-input-number.entry.js +1 -1
  425. package/dist/esm/kol-input-number.entry.js.map +1 -1
  426. package/dist/esm/kol-input-password.entry.js +1 -1
  427. package/dist/esm/kol-input-password.entry.js.map +1 -1
  428. package/dist/esm/kol-input-radio.entry.js +1 -1
  429. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  430. package/dist/esm/kol-input-range.entry.js +1 -1
  431. package/dist/esm/kol-input-range.entry.js.map +1 -1
  432. package/dist/esm/kol-input-text.entry.js +1 -1
  433. package/dist/esm/kol-input-text.entry.js.map +1 -1
  434. package/dist/esm/kol-input.entry.js +1 -1
  435. package/dist/esm/kol-input.entry.js.map +1 -1
  436. package/dist/esm/kol-kolibri.entry.js +1 -1
  437. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  438. package/dist/esm/kol-link-button.entry.js +1 -1
  439. package/dist/esm/kol-link-button.entry.js.map +1 -1
  440. package/dist/esm/kol-link-group.entry.js +1 -1
  441. package/dist/esm/kol-link-group.entry.js.map +1 -1
  442. package/dist/esm/kol-link-wc.entry.js +1 -1
  443. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  444. package/dist/esm/kol-link.entry.js +1 -1
  445. package/dist/esm/kol-link.entry.js.map +1 -1
  446. package/dist/esm/kol-logo.entry.js +1 -1
  447. package/dist/esm/kol-logo.entry.js.map +1 -1
  448. package/dist/esm/kol-modal.entry.js +1 -1
  449. package/dist/esm/kol-modal.entry.js.map +1 -1
  450. package/dist/esm/kol-nav.entry.js +1 -1
  451. package/dist/esm/kol-nav.entry.js.map +1 -1
  452. package/dist/esm/kol-pagination.entry.js +1 -1
  453. package/dist/esm/kol-pagination.entry.js.map +1 -1
  454. package/dist/esm/kol-popover-wc.entry.js +4 -0
  455. package/dist/esm/kol-popover-wc.entry.js.map +1 -0
  456. package/dist/esm/kol-progress.entry.js +1 -1
  457. package/dist/esm/kol-progress.entry.js.map +1 -1
  458. package/dist/esm/kol-quote.entry.js +1 -1
  459. package/dist/esm/kol-quote.entry.js.map +1 -1
  460. package/dist/esm/kol-select.entry.js +1 -1
  461. package/dist/esm/kol-select.entry.js.map +1 -1
  462. package/dist/esm/kol-skip-nav.entry.js +1 -1
  463. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  464. package/dist/esm/kol-span-wc.entry.js +4 -0
  465. package/dist/esm/kol-span-wc.entry.js.map +1 -0
  466. package/dist/esm/kol-span.entry.js +1 -1
  467. package/dist/esm/kol-span.entry.js.map +1 -1
  468. package/dist/esm/kol-spin.entry.js +1 -1
  469. package/dist/esm/kol-spin.entry.js.map +1 -1
  470. package/dist/esm/kol-split-button.entry.js +1 -1
  471. package/dist/esm/kol-split-button.entry.js.map +1 -1
  472. package/dist/esm/kol-symbol.entry.js +1 -1
  473. package/dist/esm/kol-table.entry.js +1 -1
  474. package/dist/esm/kol-table.entry.js.map +1 -1
  475. package/dist/esm/kol-tabs.entry.js +1 -1
  476. package/dist/esm/kol-tabs.entry.js.map +1 -1
  477. package/dist/esm/kol-textarea.entry.js +1 -1
  478. package/dist/esm/kol-textarea.entry.js.map +1 -1
  479. package/dist/esm/kol-toast-container.entry.js +1 -1
  480. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  481. package/dist/esm/kol-version.entry.js +1 -1
  482. package/dist/esm/kol-version.entry.js.map +1 -1
  483. package/dist/esm/kolibri.js +1 -1
  484. package/dist/esm/kolibri.js.map +1 -1
  485. package/dist/esm/{label-84d4c0b2.js → label-cdb96413.js} +1 -1
  486. package/dist/esm/{label-84d4c0b2.js.map → label-cdb96413.js.map} +1 -1
  487. package/dist/esm/loader.js +1 -1
  488. package/dist/esm/{open-978d23f7.js → open-dcda42b6.js} +1 -1
  489. package/dist/esm/{open-978d23f7.js.map → open-dcda42b6.js.map} +1 -1
  490. package/dist/esm/prop.validators-445950f8.js +4 -0
  491. package/dist/esm/prop.validators-445950f8.js.map +1 -0
  492. package/dist/esm/{rows-9e354f5e.js → rows-0d6d152b.js} +1 -1
  493. package/dist/esm/{rows-9e354f5e.js.map → rows-0d6d152b.js.map} +1 -1
  494. package/dist/esm/{show-eeff7c91.js → show-bfbd8b47.js} +1 -1
  495. package/dist/esm/{show-eeff7c91.js.map → show-bfbd8b47.js.map} +1 -1
  496. package/dist/esm/{suggestions-7c5183fe.js → suggestions-59d82dad.js} +1 -1
  497. package/dist/esm/{suggestions-7c5183fe.js.map → suggestions-59d82dad.js.map} +1 -1
  498. package/dist/esm/{tab-index-3ce2c695.js → tab-index-d2087b2a.js} +1 -1
  499. package/dist/esm/{tab-index-3ce2c695.js.map → tab-index-d2087b2a.js.map} +1 -1
  500. package/dist/esm/{toaster-1ee75e55.js → toaster-ce50f062.js} +1 -1
  501. package/dist/esm/{toaster-1ee75e55.js.map → toaster-ce50f062.js.map} +1 -1
  502. package/dist/esm/{toaster-2dda6584.js → toaster-eb99e2fa.js} +1 -1
  503. package/dist/esm/toaster-eb99e2fa.js.map +1 -0
  504. package/dist/esm/{tooltip-align-0d2f0b3d.js → tooltip-align-04e6e467.js} +1 -1
  505. package/dist/esm/{tooltip-align-0d2f0b3d.js.map → tooltip-align-04e6e467.js.map} +1 -1
  506. package/dist/esm/validation-c79b130c.js +4 -0
  507. package/dist/esm/validation-c79b130c.js.map +1 -0
  508. package/dist/esm/validation-d50d6d9f.js +4 -0
  509. package/dist/esm/{validation-97376ad0.js.map → validation-d50d6d9f.js.map} +1 -1
  510. package/dist/kolibri/InternalUnderlinedAccessKey-8b996006.js +4 -0
  511. package/dist/kolibri/InternalUnderlinedAccessKey-8b996006.js.map +1 -0
  512. package/dist/kolibri/{a11y.tipps-7143f6fd.js → a11y.tipps-1e89ea61.js} +1 -1
  513. package/dist/kolibri/access-key-3f233e98.js +4 -0
  514. package/dist/kolibri/access-key-3f233e98.js.map +1 -0
  515. package/dist/kolibri/align-floating-elements-ebf0712d.js +4 -0
  516. package/dist/{components/align.js.map → kolibri/align-floating-elements-ebf0712d.js.map} +1 -1
  517. package/dist/kolibri/alignment-32a9ec52.js +4 -0
  518. package/dist/kolibri/alignment-32a9ec52.js.map +1 -0
  519. package/dist/kolibri/alternative-button-link-role-1c319b0c.js +4 -0
  520. package/dist/kolibri/app-globals-0c1a662e.js +4 -0
  521. package/dist/kolibri/app-globals-0c1a662e.js.map +1 -0
  522. package/dist/kolibri/{associated.controller-d70c8be1.js → associated.controller-89ab9c94.js} +1 -1
  523. package/dist/kolibri/{color-048551d8.js → color-3208b6fe.js} +1 -1
  524. package/dist/kolibri/{controller-757cd887.js → controller-85e5be61.js} +1 -1
  525. package/dist/kolibri/controller-88531ae3.js +4 -0
  526. package/dist/kolibri/controller-88531ae3.js.map +1 -0
  527. package/dist/kolibri/controller-b8518ebb.js +4 -0
  528. package/dist/kolibri/controller-b8518ebb.js.map +1 -0
  529. package/dist/kolibri/controller-d31e838e.js +4 -0
  530. package/dist/kolibri/{controller-313148a2.js.map → controller-d31e838e.js.map} +1 -1
  531. package/dist/kolibri/controller-f2d3b802.js +4 -0
  532. package/dist/kolibri/controller-f2d3b802.js.map +1 -0
  533. package/dist/kolibri/controller-icon-9794a8aa.js +4 -0
  534. package/dist/kolibri/custom-class-768ff923.js +4 -0
  535. package/dist/kolibri/custom-class-768ff923.js.map +1 -0
  536. package/dist/kolibri/details-synced-open-state-66c07ea5.js +4 -0
  537. package/dist/kolibri/details-synced-open-state-66c07ea5.js.map +1 -0
  538. package/dist/kolibri/dev.utils-babc1742.js +4 -0
  539. package/dist/kolibri/dev.utils-babc1742.js.map +1 -0
  540. package/dist/kolibri/{devtools-188764ec.js → devtools-c6c87b9a.js} +1 -1
  541. package/dist/kolibri/has-closer-c8f3520a.js +4 -0
  542. package/dist/kolibri/{has-closer-20ad2566.js.map → has-closer-c8f3520a.js.map} +1 -1
  543. package/dist/kolibri/hide-label-c9289ea1.js +4 -0
  544. package/dist/kolibri/i18n-1b5afe13.js +4 -0
  545. package/dist/kolibri/i18n-1b5afe13.js.map +1 -0
  546. package/dist/kolibri/icons-97af6e5f.js +4 -0
  547. package/dist/kolibri/{icons-b6a6d907.js.map → icons-97af6e5f.js.map} +1 -1
  548. package/dist/kolibri/image-source-f72463d3.js +4 -0
  549. package/dist/kolibri/index-0bc40dc4.js +5 -0
  550. package/dist/kolibri/index-0bc40dc4.js.map +1 -0
  551. package/dist/kolibri/index-48743821.js +4 -0
  552. package/dist/kolibri/index-48743821.js.map +1 -0
  553. package/dist/kolibri/{index-e51de689.js → index-9b519d08.js} +1 -1
  554. package/dist/kolibri/index.esm.js +1 -1
  555. package/dist/kolibri/kol-abbr.entry.js +1 -1
  556. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  557. package/dist/kolibri/kol-accordion.entry.js +1 -1
  558. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  559. package/dist/kolibri/kol-alert-wc_2.entry.js +4 -0
  560. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -0
  561. package/dist/kolibri/kol-alert.entry.js +1 -1
  562. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  563. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  564. package/dist/kolibri/kol-avatar.entry.js +1 -1
  565. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  566. package/dist/kolibri/kol-badge.entry.js +1 -1
  567. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  568. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  569. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  570. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  571. package/dist/kolibri/kol-button-group.entry.js +1 -1
  572. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  573. package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
  574. package/dist/kolibri/kol-button-link-text-switch.entry.js.map +1 -1
  575. package/dist/kolibri/kol-button-link.entry.js +1 -1
  576. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  577. package/dist/kolibri/kol-button-wc_2.entry.js +4 -0
  578. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -0
  579. package/dist/kolibri/kol-button.entry.js +1 -1
  580. package/dist/kolibri/kol-button.entry.js.map +1 -1
  581. package/dist/kolibri/kol-card.entry.js +1 -1
  582. package/dist/kolibri/kol-card.entry.js.map +1 -1
  583. package/dist/kolibri/kol-details.entry.js +1 -1
  584. package/dist/kolibri/kol-details.entry.js.map +1 -1
  585. package/dist/kolibri/kol-form.entry.js +1 -1
  586. package/dist/kolibri/kol-heading.entry.js +1 -1
  587. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  588. package/dist/kolibri/kol-icon.entry.js +1 -1
  589. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  590. package/dist/kolibri/kol-image.entry.js +1 -1
  591. package/dist/kolibri/kol-image.entry.js.map +1 -1
  592. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  593. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  594. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  595. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  596. package/dist/kolibri/kol-input-color.entry.js +1 -1
  597. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  598. package/dist/kolibri/kol-input-date.entry.js +1 -1
  599. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  600. package/dist/kolibri/kol-input-email.entry.js +1 -1
  601. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  602. package/dist/kolibri/kol-input-file.entry.js +1 -1
  603. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  604. package/dist/kolibri/kol-input-number.entry.js +1 -1
  605. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  606. package/dist/kolibri/kol-input-password.entry.js +1 -1
  607. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  608. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  609. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  610. package/dist/kolibri/kol-input-range.entry.js +1 -1
  611. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  612. package/dist/kolibri/kol-input-text.entry.js +1 -1
  613. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  614. package/dist/kolibri/kol-input.entry.js +1 -1
  615. package/dist/kolibri/kol-input.entry.js.map +1 -1
  616. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  617. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  618. package/dist/kolibri/kol-link-button.entry.js +1 -1
  619. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  620. package/dist/kolibri/kol-link-group.entry.js +1 -1
  621. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  622. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  623. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  624. package/dist/kolibri/kol-link.entry.js +1 -1
  625. package/dist/kolibri/kol-link.entry.js.map +1 -1
  626. package/dist/kolibri/kol-logo.entry.js +1 -1
  627. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  628. package/dist/kolibri/kol-modal.entry.js +1 -1
  629. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  630. package/dist/kolibri/kol-nav.entry.js +1 -1
  631. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  632. package/dist/kolibri/kol-pagination.entry.js +1 -1
  633. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  634. package/dist/kolibri/kol-popover-wc.entry.js +4 -0
  635. package/dist/kolibri/kol-popover-wc.entry.js.map +1 -0
  636. package/dist/kolibri/kol-progress.entry.js +1 -1
  637. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  638. package/dist/kolibri/kol-quote.entry.js +1 -1
  639. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  640. package/dist/kolibri/kol-select.entry.js +1 -1
  641. package/dist/kolibri/kol-select.entry.js.map +1 -1
  642. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  643. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  644. package/dist/kolibri/kol-span-wc.entry.js +4 -0
  645. package/dist/kolibri/kol-span-wc.entry.js.map +1 -0
  646. package/dist/kolibri/kol-span.entry.js +1 -1
  647. package/dist/kolibri/kol-span.entry.js.map +1 -1
  648. package/dist/kolibri/kol-spin.entry.js +1 -1
  649. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  650. package/dist/kolibri/kol-split-button.entry.js +1 -1
  651. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  652. package/dist/kolibri/kol-symbol.entry.js +1 -1
  653. package/dist/kolibri/kol-table.entry.js +1 -1
  654. package/dist/kolibri/kol-table.entry.js.map +1 -1
  655. package/dist/kolibri/kol-tabs.entry.js +1 -1
  656. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  657. package/dist/kolibri/kol-textarea.entry.js +1 -1
  658. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  659. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  660. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  661. package/dist/kolibri/kol-version.entry.js +1 -1
  662. package/dist/kolibri/kol-version.entry.js.map +1 -1
  663. package/dist/kolibri/kolibri.esm.js +1 -1
  664. package/dist/kolibri/kolibri.esm.js.map +1 -1
  665. package/dist/kolibri/{label-84d4c0b2.js → label-cdb96413.js} +1 -1
  666. package/dist/kolibri/open-dcda42b6.js +4 -0
  667. package/dist/kolibri/prop.validators-445950f8.js +4 -0
  668. package/dist/kolibri/prop.validators-445950f8.js.map +1 -0
  669. package/dist/kolibri/rows-0d6d152b.js +4 -0
  670. package/dist/kolibri/show-bfbd8b47.js +4 -0
  671. package/dist/kolibri/suggestions-59d82dad.js +4 -0
  672. package/dist/kolibri/{tab-index-3ce2c695.js → tab-index-d2087b2a.js} +1 -1
  673. package/dist/kolibri/toaster-ce50f062.js +4 -0
  674. package/dist/kolibri/toaster-ce50f062.js.map +1 -0
  675. package/dist/kolibri/toaster-eb99e2fa.js +4 -0
  676. package/dist/kolibri/toaster-eb99e2fa.js.map +1 -0
  677. package/dist/kolibri/tooltip-align-04e6e467.js +4 -0
  678. package/dist/kolibri/validation-c79b130c.js +4 -0
  679. package/dist/kolibri/validation-c79b130c.js.map +1 -0
  680. package/dist/kolibri/validation-d50d6d9f.js +4 -0
  681. package/dist/types/components/accordion/component.d.ts +2 -0
  682. package/dist/types/components/alert/types.d.ts +4 -2
  683. package/dist/types/components/button/component.d.ts +3 -0
  684. package/dist/types/components/button/shadow.d.ts +2 -1
  685. package/dist/types/components/button/types.d.ts +2 -1
  686. package/dist/types/components/button-link/component.d.ts +2 -1
  687. package/dist/types/components/details/DetailsAnimationController.d.ts +1 -1
  688. package/dist/types/components/details/component.d.ts +1 -0
  689. package/dist/types/components/heading/test/html.mock.d.ts +2 -2
  690. package/dist/types/components/heading/validation.d.ts +2 -1
  691. package/dist/types/components/input/component.d.ts +2 -0
  692. package/dist/types/components/input/types.d.ts +2 -1
  693. package/dist/types/components/input-checkbox/component.d.ts +1 -2
  694. package/dist/types/components/input-checkbox/types.d.ts +2 -1
  695. package/dist/types/components/input-color/component.d.ts +1 -1
  696. package/dist/types/components/input-date/component.d.ts +1 -1
  697. package/dist/types/components/input-date/controller.d.ts +2 -2
  698. package/dist/types/components/input-email/component.d.ts +1 -1
  699. package/dist/types/components/input-file/component.d.ts +1 -1
  700. package/dist/types/components/input-number/component.d.ts +1 -1
  701. package/dist/types/components/input-password/component.d.ts +1 -1
  702. package/dist/types/components/input-radio/component.d.ts +1 -2
  703. package/dist/types/components/input-range/component.d.ts +1 -1
  704. package/dist/types/components/input-text/component.d.ts +1 -1
  705. package/dist/types/components/link/component.d.ts +3 -0
  706. package/dist/types/components/link/shadow.d.ts +2 -1
  707. package/dist/types/components/link/types.d.ts +2 -1
  708. package/dist/types/components/link-button/component.d.ts +2 -1
  709. package/dist/types/components/nav/component.d.ts +2 -0
  710. package/dist/types/components/nav/types.d.ts +3 -2
  711. package/dist/types/components/pagination/component.d.ts +0 -3
  712. package/dist/types/components/pagination/types.d.ts +3 -4
  713. package/dist/types/components/popover/component.d.ts +0 -2
  714. package/dist/types/components/quote/types.d.ts +2 -1
  715. package/dist/types/components/select/component.d.ts +1 -1
  716. package/dist/types/components/span/InternalUnderlinedAccessKey.d.ts +6 -0
  717. package/dist/types/components/span/component.d.ts +3 -0
  718. package/dist/types/components/span/shadow.d.ts +2 -0
  719. package/dist/types/components/span/test/html.mock.d.ts +1 -0
  720. package/dist/types/components/span/types.d.ts +3 -2
  721. package/dist/types/components/textarea/component.d.ts +1 -1
  722. package/dist/types/components/textarea/types.d.ts +2 -1
  723. package/dist/types/components/toaster/InternalToast.d.ts +8 -0
  724. package/dist/types/components/{toast-container → toaster}/component.d.ts +2 -2
  725. package/dist/types/components/{toast → toaster}/toaster.d.ts +3 -2
  726. package/dist/types/components/{toast-container → toaster}/types.d.ts +6 -3
  727. package/dist/types/components/tooltip/component.d.ts +3 -0
  728. package/dist/types/components/tooltip/types.d.ts +4 -3
  729. package/dist/types/components.d.ts +127 -91
  730. package/dist/types/i18n.d.ts +1 -1
  731. package/dist/types/index.d.ts +1 -1
  732. package/dist/types/locales/de.d.ts +2 -0
  733. package/dist/types/locales/en.d.ts +2 -0
  734. package/dist/types/stencil-public-runtime.d.ts +21 -0
  735. package/dist/types/types/heading-level.d.ts +2 -1
  736. package/dist/types/types/input/control/number.d.ts +2 -2
  737. package/dist/types/types/input/control/text.d.ts +2 -1
  738. package/dist/types/types/input/types.d.ts +2 -1
  739. package/dist/types/types/orientation.d.ts +2 -1
  740. package/dist/types/types/props/access-key.d.ts +6 -0
  741. package/dist/types/types/props/align.d.ts +5 -2
  742. package/dist/types/types/props/aria-current.d.ts +3 -1
  743. package/dist/types/types/props/button-type.d.ts +3 -1
  744. package/dist/types/types/props/button-variant.d.ts +3 -1
  745. package/dist/types/types/props/has-compact-button.d.ts +7 -0
  746. package/dist/types/types/props/variant/spin.d.ts +3 -1
  747. package/dist/types/utils/align-floating-elements.d.ts +9 -0
  748. package/dist/types/utils/prop.validators.d.ts +2 -1
  749. package/dist/types/utils/validators/loading.d.ts +3 -1
  750. package/doc/badge.md +6 -6
  751. package/doc/button-link.md +1 -0
  752. package/doc/button.md +4 -3
  753. package/doc/input-checkbox.md +22 -22
  754. package/doc/input-color.md +21 -21
  755. package/doc/input-date.md +27 -27
  756. package/doc/input-email.md +29 -29
  757. package/doc/input-file.md +22 -22
  758. package/doc/input-number.md +27 -27
  759. package/doc/input-password.md +26 -26
  760. package/doc/input-radio.md +20 -20
  761. package/doc/input-range.md +23 -23
  762. package/doc/input-text.md +28 -28
  763. package/doc/link-button.md +1 -0
  764. package/doc/link.md +13 -15
  765. package/doc/nav.md +4 -0
  766. package/doc/pagination.md +2 -6
  767. package/doc/select.md +22 -22
  768. package/doc/span.md +1 -0
  769. package/doc/spin.md +4 -2
  770. package/doc/table.md +9 -10
  771. package/doc/textarea.md +25 -25
  772. package/doc/toaster.md +120 -0
  773. package/doc/tooltip.md +6 -5
  774. package/package.json +1 -1
  775. package/vscode-custom-data.json +246 -86
  776. package/dist/cjs/align-c8de133d.js +0 -4
  777. package/dist/cjs/align-c8de133d.js.map +0 -1
  778. package/dist/cjs/alignment-932ba637.js +0 -4
  779. package/dist/cjs/alignment-932ba637.js.map +0 -1
  780. package/dist/cjs/alternative-button-link-role-76fc0537.js +0 -4
  781. package/dist/cjs/app-globals-d1b411c4.js +0 -4
  782. package/dist/cjs/app-globals-d1b411c4.js.map +0 -1
  783. package/dist/cjs/controller-93e44df5.js +0 -4
  784. package/dist/cjs/controller-93e44df5.js.map +0 -1
  785. package/dist/cjs/controller-da2eaa2f.js +0 -4
  786. package/dist/cjs/controller-da2eaa2f.js.map +0 -1
  787. package/dist/cjs/controller-f4272866.js +0 -4
  788. package/dist/cjs/controller-f4272866.js.map +0 -1
  789. package/dist/cjs/custom-class-8ad48dce.js +0 -4
  790. package/dist/cjs/custom-class-8ad48dce.js.map +0 -1
  791. package/dist/cjs/details-synced-open-state-f06dc47c.js +0 -4
  792. package/dist/cjs/details-synced-open-state-f06dc47c.js.map +0 -1
  793. package/dist/cjs/dev.utils-1fb4135a.js +0 -4
  794. package/dist/cjs/dev.utils-1fb4135a.js.map +0 -1
  795. package/dist/cjs/floating-ui.dom.esm-c21c7751.js +0 -4
  796. package/dist/cjs/floating-ui.dom.esm-c21c7751.js.map +0 -1
  797. package/dist/cjs/has-closer-3f258cb1.js +0 -4
  798. package/dist/cjs/hide-label-a1359f24.js +0 -4
  799. package/dist/cjs/i18n-8316536d.js +0 -4
  800. package/dist/cjs/i18n-8316536d.js.map +0 -1
  801. package/dist/cjs/image-source-30ac0359.js +0 -4
  802. package/dist/cjs/index-2feae351.js +0 -5
  803. package/dist/cjs/index-2feae351.js.map +0 -1
  804. package/dist/cjs/index-55ab202d.js.map +0 -1
  805. package/dist/cjs/kol-alert-wc_3.cjs.entry.js +0 -4
  806. package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +0 -1
  807. package/dist/cjs/kol-popover.cjs.entry.js +0 -4
  808. package/dist/cjs/kol-popover.cjs.entry.js.map +0 -1
  809. package/dist/cjs/kol-span-wc_2.cjs.entry.js +0 -4
  810. package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +0 -1
  811. package/dist/cjs/kol-toast.cjs.entry.js +0 -4
  812. package/dist/cjs/kol-toast.cjs.entry.js.map +0 -1
  813. package/dist/cjs/open-1c4dcfb7.js +0 -4
  814. package/dist/cjs/prop.validators-40b03d45.js.map +0 -1
  815. package/dist/cjs/rows-49957d39.js +0 -4
  816. package/dist/cjs/show-2a7af4da.js +0 -4
  817. package/dist/cjs/toaster-82cf12c5.js.map +0 -1
  818. package/dist/cjs/toaster-d370fe6a.js.map +0 -1
  819. package/dist/cjs/validation-c48f88d5.js +0 -4
  820. package/dist/cjs/validation-c48f88d5.js.map +0 -1
  821. package/dist/components/align.js +0 -4
  822. package/dist/components/component16.js +0 -4
  823. package/dist/components/component16.js.map +0 -1
  824. package/dist/components/kol-popover.js +0 -4
  825. package/dist/components/kol-popover.js.map +0 -1
  826. package/dist/components/kol-toast.d.ts +0 -11
  827. package/dist/components/kol-toast.js +0 -4
  828. package/dist/components/kol-toast.js.map +0 -1
  829. package/dist/esm/align-be0d4128.js +0 -4
  830. package/dist/esm/align-be0d4128.js.map +0 -1
  831. package/dist/esm/alignment-480cdfba.js +0 -4
  832. package/dist/esm/alignment-480cdfba.js.map +0 -1
  833. package/dist/esm/alternative-button-link-role-5e1ea5eb.js +0 -4
  834. package/dist/esm/app-globals-7a11b8ee.js +0 -4
  835. package/dist/esm/app-globals-7a11b8ee.js.map +0 -1
  836. package/dist/esm/controller-8bf7eac9.js +0 -4
  837. package/dist/esm/controller-8bf7eac9.js.map +0 -1
  838. package/dist/esm/controller-d5d0c61a.js +0 -4
  839. package/dist/esm/controller-d5d0c61a.js.map +0 -1
  840. package/dist/esm/controller-f1d4f4d4.js +0 -4
  841. package/dist/esm/controller-f1d4f4d4.js.map +0 -1
  842. package/dist/esm/custom-class-6b0cb37f.js +0 -4
  843. package/dist/esm/custom-class-6b0cb37f.js.map +0 -1
  844. package/dist/esm/details-synced-open-state-8c4176c9.js +0 -4
  845. package/dist/esm/details-synced-open-state-8c4176c9.js.map +0 -1
  846. package/dist/esm/dev.utils-b5b1c70d.js +0 -4
  847. package/dist/esm/dev.utils-b5b1c70d.js.map +0 -1
  848. package/dist/esm/floating-ui.dom.esm-e435ab9f.js +0 -4
  849. package/dist/esm/floating-ui.dom.esm-e435ab9f.js.map +0 -1
  850. package/dist/esm/i18n-94ea09e2.js +0 -4
  851. package/dist/esm/i18n-94ea09e2.js.map +0 -1
  852. package/dist/esm/index-536799d5.js +0 -5
  853. package/dist/esm/index-536799d5.js.map +0 -1
  854. package/dist/esm/index-93da6c3d.js +0 -4
  855. package/dist/esm/index-93da6c3d.js.map +0 -1
  856. package/dist/esm/kol-alert-wc_3.entry.js +0 -4
  857. package/dist/esm/kol-alert-wc_3.entry.js.map +0 -1
  858. package/dist/esm/kol-popover.entry.js +0 -4
  859. package/dist/esm/kol-popover.entry.js.map +0 -1
  860. package/dist/esm/kol-span-wc_2.entry.js +0 -4
  861. package/dist/esm/kol-span-wc_2.entry.js.map +0 -1
  862. package/dist/esm/kol-toast.entry.js +0 -4
  863. package/dist/esm/kol-toast.entry.js.map +0 -1
  864. package/dist/esm/prop.validators-fa5eb5c5.js +0 -4
  865. package/dist/esm/prop.validators-fa5eb5c5.js.map +0 -1
  866. package/dist/esm/toaster-2dda6584.js.map +0 -1
  867. package/dist/esm/validation-97376ad0.js +0 -4
  868. package/dist/esm/validation-a54b3e91.js +0 -4
  869. package/dist/esm/validation-a54b3e91.js.map +0 -1
  870. package/dist/kolibri/align-be0d4128.js +0 -4
  871. package/dist/kolibri/align-be0d4128.js.map +0 -1
  872. package/dist/kolibri/alignment-480cdfba.js +0 -4
  873. package/dist/kolibri/alignment-480cdfba.js.map +0 -1
  874. package/dist/kolibri/alternative-button-link-role-5e1ea5eb.js +0 -4
  875. package/dist/kolibri/app-globals-7a11b8ee.js +0 -4
  876. package/dist/kolibri/app-globals-7a11b8ee.js.map +0 -1
  877. package/dist/kolibri/controller-313148a2.js +0 -4
  878. package/dist/kolibri/controller-8bf7eac9.js +0 -4
  879. package/dist/kolibri/controller-8bf7eac9.js.map +0 -1
  880. package/dist/kolibri/controller-d5d0c61a.js +0 -4
  881. package/dist/kolibri/controller-d5d0c61a.js.map +0 -1
  882. package/dist/kolibri/controller-f1d4f4d4.js +0 -4
  883. package/dist/kolibri/controller-f1d4f4d4.js.map +0 -1
  884. package/dist/kolibri/controller-icon-d4a91832.js +0 -4
  885. package/dist/kolibri/custom-class-6b0cb37f.js +0 -4
  886. package/dist/kolibri/custom-class-6b0cb37f.js.map +0 -1
  887. package/dist/kolibri/details-synced-open-state-8c4176c9.js +0 -4
  888. package/dist/kolibri/details-synced-open-state-8c4176c9.js.map +0 -1
  889. package/dist/kolibri/dev.utils-b5b1c70d.js +0 -4
  890. package/dist/kolibri/dev.utils-b5b1c70d.js.map +0 -1
  891. package/dist/kolibri/floating-ui.dom.esm-e435ab9f.js +0 -4
  892. package/dist/kolibri/floating-ui.dom.esm-e435ab9f.js.map +0 -1
  893. package/dist/kolibri/has-closer-20ad2566.js +0 -4
  894. package/dist/kolibri/hide-label-27292184.js +0 -4
  895. package/dist/kolibri/i18n-94ea09e2.js +0 -4
  896. package/dist/kolibri/i18n-94ea09e2.js.map +0 -1
  897. package/dist/kolibri/icons-b6a6d907.js +0 -4
  898. package/dist/kolibri/image-source-fa985240.js +0 -4
  899. package/dist/kolibri/index-536799d5.js +0 -5
  900. package/dist/kolibri/index-536799d5.js.map +0 -1
  901. package/dist/kolibri/index-93da6c3d.js +0 -4
  902. package/dist/kolibri/index-93da6c3d.js.map +0 -1
  903. package/dist/kolibri/kol-alert-wc_3.entry.js +0 -4
  904. package/dist/kolibri/kol-alert-wc_3.entry.js.map +0 -1
  905. package/dist/kolibri/kol-popover.entry.js +0 -4
  906. package/dist/kolibri/kol-popover.entry.js.map +0 -1
  907. package/dist/kolibri/kol-span-wc_2.entry.js +0 -4
  908. package/dist/kolibri/kol-span-wc_2.entry.js.map +0 -1
  909. package/dist/kolibri/kol-toast.entry.js +0 -4
  910. package/dist/kolibri/kol-toast.entry.js.map +0 -1
  911. package/dist/kolibri/open-978d23f7.js +0 -4
  912. package/dist/kolibri/prop.validators-fa5eb5c5.js +0 -4
  913. package/dist/kolibri/prop.validators-fa5eb5c5.js.map +0 -1
  914. package/dist/kolibri/rows-9e354f5e.js +0 -4
  915. package/dist/kolibri/show-eeff7c91.js +0 -4
  916. package/dist/kolibri/suggestions-7c5183fe.js +0 -4
  917. package/dist/kolibri/toaster-1ee75e55.js +0 -4
  918. package/dist/kolibri/toaster-1ee75e55.js.map +0 -1
  919. package/dist/kolibri/toaster-2dda6584.js +0 -4
  920. package/dist/kolibri/toaster-2dda6584.js.map +0 -1
  921. package/dist/kolibri/tooltip-align-0d2f0b3d.js +0 -4
  922. package/dist/kolibri/validation-97376ad0.js +0 -4
  923. package/dist/kolibri/validation-a54b3e91.js +0 -4
  924. package/dist/kolibri/validation-a54b3e91.js.map +0 -1
  925. package/dist/types/components/toast/component.d.ts +0 -21
  926. package/dist/types/components/toast/test/html.mock.d.ts +0 -2
  927. package/dist/types/components/toast/types.d.ts +0 -18
  928. package/dist/types/types/toast.d.ts +0 -4
  929. package/doc/toast-container.md +0 -46
  930. package/doc/toast.md +0 -94
  931. /package/dist/kolibri/{a11y.tipps-7143f6fd.js.map → a11y.tipps-1e89ea61.js.map} +0 -0
  932. /package/dist/kolibri/{alternative-button-link-role-5e1ea5eb.js.map → alternative-button-link-role-1c319b0c.js.map} +0 -0
  933. /package/dist/kolibri/{associated.controller-d70c8be1.js.map → associated.controller-89ab9c94.js.map} +0 -0
  934. /package/dist/kolibri/{color-048551d8.js.map → color-3208b6fe.js.map} +0 -0
  935. /package/dist/kolibri/{controller-757cd887.js.map → controller-85e5be61.js.map} +0 -0
  936. /package/dist/kolibri/{controller-icon-d4a91832.js.map → controller-icon-9794a8aa.js.map} +0 -0
  937. /package/dist/kolibri/{devtools-188764ec.js.map → devtools-c6c87b9a.js.map} +0 -0
  938. /package/dist/kolibri/{hide-label-27292184.js.map → hide-label-c9289ea1.js.map} +0 -0
  939. /package/dist/kolibri/{image-source-fa985240.js.map → image-source-f72463d3.js.map} +0 -0
  940. /package/dist/kolibri/{index-e51de689.js.map → index-9b519d08.js.map} +0 -0
  941. /package/dist/kolibri/{label-84d4c0b2.js.map → label-cdb96413.js.map} +0 -0
  942. /package/dist/kolibri/{open-978d23f7.js.map → open-dcda42b6.js.map} +0 -0
  943. /package/dist/kolibri/{rows-9e354f5e.js.map → rows-0d6d152b.js.map} +0 -0
  944. /package/dist/kolibri/{show-eeff7c91.js.map → show-bfbd8b47.js.map} +0 -0
  945. /package/dist/kolibri/{suggestions-7c5183fe.js.map → suggestions-59d82dad.js.map} +0 -0
  946. /package/dist/kolibri/{tab-index-3ce2c695.js.map → tab-index-d2087b2a.js.map} +0 -0
  947. /package/dist/kolibri/{tooltip-align-0d2f0b3d.js.map → tooltip-align-04e6e467.js.map} +0 -0
  948. /package/dist/kolibri/{validation-97376ad0.js.map → validation-d50d6d9f.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"component6.js","mappings":";;;;;;;;;;;;;;AAWA,MAAM,IAAI,GAAG,CAAC,KAA0D;EACvE,OAAO,gBAAU,KAAK,EAAC,cAAc,EAAC,MAAM,EAAE,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;AACxJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAA2C;EAC7D,QAAQ,KAAK,CAAC,IAAI;IACjB,KAAK,OAAO;MACX,OAAO,EAAC,IAAI,IAAC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAC,uBAAuB,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC;IACrG,KAAK,MAAM;MACV,OAAO,EAAC,IAAI,IAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,EAAC,sBAAsB,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC;IACnG,KAAK,SAAS;MACb,OAAO,EAAC,IAAI,IAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,EAAC,yBAAyB,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC;IACzG,KAAK,SAAS;MACb,OAAO,EAAC,IAAI,IAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,EAAC,sBAAsB,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC;IACtG;MACC,OAAO,EAAC,IAAI,IAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,EAAC,yBAAyB,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,CAAC;GACzG;AACF,CAAC,CAAC;MASW,UAAU;;;;IACL,UAAK,GAAG;;MACxB,IAAI,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,OAAO,MAAK,SAAS,EAAE;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;OACrC;KACD,CAAC;IAEe,OAAE,GAAG;MACrB,OAAO,EAAE,IAAI,CAAC,KAAK;KACnB,CAAC;IA4HM,oBAAe,GAAG,CAAC,KAAc,KACxC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,OAAQ,KAAoC,CAAC,OAAO,KAAK,UAAU,CAAC;kBA1DlF,KAAK;sBAMD,KAAK;;kBAUJ,CAAC;;iBAUL,SAAS;oBAKH,KAAK;iBAEd;MAC/B,MAAM,EAAE,CAAC;KACT;;EApGM,MAAM;;IACZ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;MAKtB,IAAI;QACH,GAAG,CAAC,KAAK,CAAC,CAAC,8BAA8B,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;OACxF;MAAC,OAAO,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;OACnD;MAED,UAAU,CAAC;QACV,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;OAC1B,EAAE,KAAK,CAAC,CAAC;KACV;IAED,QACC,EAAC,IAAI,IACJ,KAAK,EAAE;QACN,CAAC,IAAI,CAAC,KAAK,CAAC,KAAe,GAAG,IAAI;QAClC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAkB,GAAG,IAAI;QACrC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;OAClC,EACD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,GAAG,SAAS,IAE7C,WAAK,KAAK,EAAC,SAAS,IACnB,EAAC,SAAS,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,EAC/D,eACE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAE,MAAM,IAAG,CAAC,KACtE,sBAAgB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAmB,CACvF,EACA,IAAI,CAAC,QAAQ,KAAK,KAAK,KACvB,WAAK,KAAK,EAAC,SAAS,IACnB,eAAQ,CACH,CACN,CACI,EACL,IAAI,CAAC,KAAK,CAAC,UAAU,KACrB,qBACC,KAAK,EAAC,OAAO,EACb,UAAU,QACV,MAAM,EAAE;QACP,IAAI,EAAE;UACL,IAAI,EAAE,uBAAuB;SAC7B;OACD,EACD,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,EAC9B,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,aAAa,EAAC,MAAM,GACJ,CACjB,CACI,EACL,IAAI,CAAC,QAAQ,KAAK,MAAM,KACxB,WAAK,KAAK,EAAC,SAAS,IACnB,eAAQ,CACH,CACN,CACK,EACN;GACF;EA2CM,aAAa,CAAC,KAAe;IACnC,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;GACpC;EAGM,iBAAiB,CAAC,KAAyB;IACjD,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC/B;EAGM,aAAa,CAAC,KAAqB;IACzC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC3B;EAGM,aAAa,CAAC,KAAoB;IACxC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC/B;EAMM,UAAU,CAAC,KAAkC;IACnD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;MAChC,QAAQ,CACP,IAAI,EACJ,KAAK,EACL;QACC,OAAO,EAAG,KAAoC,CAAC,OAAO;OACtD,CAMD,CAAC;KAOF;GACD;EAGM,YAAY,CAAC,KAAiB;IACpC,cAAc,CACb,IAAI,EACJ,OAAO,EACP,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,KAAK,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,EACpJ,IAAI,GAAG,CAAC,wCAAwC,CAAC,EACjD,KAAK,CACL,CAAC;GACF;EAGM,eAAe,CAAC,KAAoB;IAC1C,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE,IAAI,GAAG,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,CAAC;GAC7H;EAEM,iBAAiB;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/alert/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 { HasCloserPropType, validateHasCloser } from '../../types/props/has-closer';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, 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; label?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _label={typeof props.label === 'string' && props.label.length > 0 ? '' : props.ariaLabel} _icons={props.icon} />;\n};\n\nconst AlertIcon = (props: { label?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" label={props.label} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" label={props.label} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" label={props.label} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" label={props.label} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" label={props.label} />;\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\thasCloser: !!this.state._hasCloser,\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 label={this.state._label} type={this.state._type} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{typeof this.state._label === 'string' && this.state._label?.length > 0 && (\n\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._label} _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_icons={{\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 * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop() public _alert?: boolean = false;\n\n\t/**\n\t * Defines whether the element can be closed.\n\t * @TODO: Change type back to `HasCloserPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\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 * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Defines which variant should be used for presentation.\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?: HasCloserPropType): void {\n\t\tvalidateHasCloser(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, 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.validateLabel(this._label);\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"],"version":3}
1
+ {"file":"component6.js","mappings":"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","names":[],"sources":["src/components/alert/types.ts","src/components/alert/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { EventCallback } from '../../types/callbacks';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { PropAlert } from '../../types/props/alert';\nimport { PropHasCloser } from '../../types/props/has-closer';\nimport { PropLabel } from '../../types/props/label';\n\nexport const alertTypeOptions = ['default', 'info', 'success', 'warning', 'error'] as const;\nexport type AlertType = (typeof alertTypeOptions)[number];\n\nexport const alertVariantOptions = ['card', 'msg'] as const;\nexport type AlertVariant = (typeof alertVariantOptions)[number];\n\nexport type KoliBriAlertEventCallbacks = {\n\tonClose?: EventCallback<Event>;\n};\n\ntype RequiredAlertProps = NonNullable<unknown>;\ntype OptionalAlertProps = {\n\tlevel: HeadingLevel;\n\ton: KoliBriAlertEventCallbacks;\n\ttype: AlertType;\n\tvariant: AlertVariant;\n} & PropLabel &\n\tPropAlert &\n\tPropHasCloser;\n\ntype RequiredAlertStates = RequiredAlertProps;\ntype OptionalAlertStates = OptionalAlertProps;\n\nexport type Props = Generic.Element.Members<RequiredAlertProps, OptionalAlertProps>;\nexport type States = Generic.Element.Members<RequiredAlertStates, OptionalAlertStates>;\nexport type API = Generic.Element.ComponentApi<RequiredAlertProps, OptionalAlertProps, RequiredAlertStates, OptionalAlertStates>;\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { HasCloserPropType, validateHasCloser } from '../../types/props/has-closer';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { AlertType, alertTypeOptions, AlertVariant, alertVariantOptions, API, KoliBriAlertEventCallbacks, States } from './types';\n\nconst Icon = (props: { ariaLabel: string; icon: string; label?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _label={typeof props.label === 'string' && props.label.length > 0 ? '' : props.ariaLabel} _icons={props.icon} />;\n};\n\nconst AlertIcon = (props: { label?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" label={props.label} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" label={props.label} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" label={props.label} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" label={props.label} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" label={props.label} />;\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\thasCloser: !!this.state._hasCloser,\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 label={this.state._label} type={this.state._type} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{typeof this.state._label === 'string' && this.state._label?.length > 0 && (\n\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._label} _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_icons={{\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 * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop() public _alert?: boolean = false;\n\n\t/**\n\t * Defines whether the element can be closed.\n\t * @TODO: Change type back to `HasCloserPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\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 * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Defines which variant should be used for presentation.\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?: HasCloserPropType): void {\n\t\tvalidateHasCloser(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, 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' && alertTypeOptions.includes(value),\n\t\t\tnew Set(`String {${alertTypeOptions.join(', ')}`),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_variant',\n\t\t\t(value?) => typeof value === 'string' && alertVariantOptions.includes(value),\n\t\t\tnew Set(`AlertVariant {${alertVariantOptions.join(', ')}`),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateLabel(this._label);\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"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{h as handleColorChange,v as validateColor}from"./color.js";import{q as featureHint,n as nonce,o as objectObjectHandler,f as parseJson,t as setState}from"./prop.validators.js";import{d as defineCustomElement$4}from"./component5.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$2}from"./component2.js";import{d as defineCustomElement$1}from"./component3.js";const defaultStyleCss=":host{--a11y-min-size:44px;font-size:inherit}*{font-family:Verdana;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>span{display:inline-flex;place-items:center}:host>span>kol-button-wc button{color:inherit}";featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const KolBadge=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.bgColorStr="#000",this.colorStr="#fff",this.id=nonce(),this.handleColorChange=t=>{const o=handleColorChange(t);this.bgColorStr=o.backgroundColor,this.colorStr=o.foregroundColor},this._color="#000",this._icons=void 0,this._label=void 0,this._smartButton=void 0,this.state={_color:{backgroundColor:"#000",foregroundColor:"#fff"}}}renderSmartButton(t){return h("kol-button-wc",{_ariaControls:this.id,_customClass:t._customClass,_disabled:t._disabled,_hideLabel:!0,_icons:t._icons,_id:t._id,_label:t._label,_on:t._on,_tooltipAlign:t._tooltipAlign,_variant:t._variant})}render(){const t="object"==typeof this.state._smartButton&&null!==this.state._smartButton;return h(Host,null,h("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},h("kol-span-wc",{id:t?this.id:void 0,_allowMarkdown:!0,_icons:this._icons,_label:this._label}),t&&this.renderSmartButton(this.state._smartButton)))}validateColor(t){validateColor(this,t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_smartButton:["validateSmartButton"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-badge",{_color:[1],_icons:[1],_label:[1],_smartButton:[1,"_smart-button"],state:[32]},void 0,{_color:["validateColor"],_smartButton:["validateSmartButton"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-badge","kol-button-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-badge":customElements.get(t)||customElements.define(t,KolBadge);break;case"kol-button-wc":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolBadge as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{h as handleColorChange,v as validateColor}from"./color.js";import{q as featureHint,n as nonce,o as objectObjectHandler,f as parseJson,v as setState}from"./prop.validators.js";import{d as defineCustomElement$4}from"./component5.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$2}from"./component2.js";import{d as defineCustomElement$1}from"./component3.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n\t:host {\n\t\t/*\n\t\t * Minimum size of interactive elements.\n\t\t */\n\t\t--a11y-min-size: 44px;\n\t\t/*\n\t\t * Verdana is an accessible font that can be used without requiring additional loading time.\n\t\t */\n\t\tfont-family: Verdana;\n\t}\n\n\t* {\n\t\t/*\n\t\t * This rule enables the word dividing for all texts. That is important for high zoom levels.\n\t\t */\n\t\thyphens: auto;\n\t\t/*\n\t\t * Letter spacing is required for all texts.\n\t\t */\n\t\tletter-spacing: inherit;\n\t\t/*\n\t\t * This rule enables the word dividing for all texts. That is important for high zoom levels.\n\t\t */\n\t\tword-break: break-word;\n\t\t/*\n\t\t * Word spacing is required for all texts.\n\t\t */\n\t\tword-spacing: inherit;\n\t}\n\n\t/*\n\t * All interactive elements should have a minimum size of 44px.\n\t */\n\t/* input:not([type='checkbox'], [type='radio'], [type='range']), */\n\t/* option, */\n\t/* select, */\n\t/* textarea, */\n\t[role='button'],\n\tbutton:not([role='link']),\n\tkol-input .input {\n\t\tmin-height: var(--a11y-min-size);\n\t\tmin-width: var(--a11y-min-size);\n\t}\n\n\t/*\n\t * Some interactive elements should not inherit the font-family and font-size.\n\t */\n\ta,\n\tbutton,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6,\n\tinput,\n\toption,\n\tselect,\n\ttextarea {\n\t\t/*\n\t\t * All elements should inherit the font family from his parent element.\n\t\t */\n\t\tfont-family: inherit;\n\t\t/*\n\t\t * All elements should inherit the font size from his parent element.\n\t\t */\n\t\tfont-size: inherit;\n\t}\n}\n\n@layer kol-global {\n\t/*\n\t * Dieses CSS stellt sicher, dass der Standard-Style\n\t * von A und Button resettet werden.\n\t */\n\t:is(a, button) {\n\t\tbackground-color: transparent;\n\t\tborder: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\twidth: 100%; /* 100% needed for custom width from outside */\n\t}\n}\n\n@layer kol-global {\n\t:host {\n\t\t/*\n\t\t * The max-width is needed to prevent the table from overflowing the\n\t\t * parent node, if the table is wider than the parent node.\n\t\t */\n\t\tmax-width: 100%;\n\t}\n\n\t* {\n\t\t/*\n\t\t * We prefer to box-sizing: border-box for all elements.\n\t\t */\n\t\tbox-sizing: border-box;\n\t}\n\n\t/* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n\tkol-span-wc {\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\t}\n\n\t/* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n\tkol-span-wc > span {\n\t\tdisplay: flex;\n\t\tplace-items: center;\n\t}\n\n\ta,\n\tbutton {\n\t\tcursor: pointer;\n\t}\n\n\t/* This is the text label. */\n\t.icon-only > kol-span-wc > span > span {\n\t\tdisplay: none;\n\t}\n}\n\n@layer kol-component {\n\t:host > span {\n\t\tdisplay: inline-flex;\n\t\tplace-items: center;\n\t}\n\n\t:host > span > kol-button-wc button {\n\t\tcolor: inherit;\n\t}\n}\n";featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const KolBadge=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.bgColorStr="#000",this.colorStr="#fff",this.id=nonce(),this.handleColorChange=t=>{const n=handleColorChange(t);this.bgColorStr=n.backgroundColor,this.colorStr=n.foregroundColor},this._color="#000",this._icons=void 0,this._label=void 0,this._smartButton=void 0,this.state={_color:{backgroundColor:"#000",foregroundColor:"#fff"}}}renderSmartButton(t){return h("kol-button-wc",{_ariaControls:this.id,_customClass:t._customClass,_disabled:t._disabled,_hideLabel:!0,_icons:t._icons,_id:t._id,_label:t._label,_on:t._on,_tooltipAlign:t._tooltipAlign,_variant:t._variant})}render(){const t="object"==typeof this.state._smartButton&&null!==this.state._smartButton;return h(Host,null,h("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},h("kol-span-wc",{id:t?this.id:void 0,_allowMarkdown:!0,_icons:this._icons,_label:this._label}),t&&this.renderSmartButton(this.state._smartButton)))}validateColor(t){validateColor(this,t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_smartButton:["validateSmartButton"]}}static get style(){return{default:defaultStyleCss}}},[33,"kol-badge",{_color:[1],_icons:[1],_label:[1],_smartButton:[1,"_smart-button"],state:[32]},void 0,{_color:["validateColor"],_smartButton:["validateSmartButton"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-badge","kol-button-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-badge":customElements.get(t)||customElements.define(t,KolBadge);break;case"kol-button-wc":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolBadge as K,defineCustomElement as d};
@@ -1 +1 @@
1
- {"file":"component8.js","mappings":";;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,0yBAA0yB;;ACYl0B,WAAW,CAAC,qEAAqE,CAAC,CAAC;MAStE,QAAQ;;;;;IACZ,eAAU,GAAG,MAAM,CAAC;IACpB,aAAQ,GAAG,MAAM,CAAC;IACT,OAAE,GAAG,KAAK,EAAE,CAAC;IAkEtB,sBAAiB,GAAG,CAAC,KAAc;MAC1C,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;MAC3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;MAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,eAAyB,CAAC;KACpD,CAAC;kBA5B+C,MAAM;;;;iBAiBvB;MAC/B,MAAM,EAAE;QACP,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE,MAAM;OACvB;KACD;;EA9DO,iBAAiB,CAAC,KAAkB;IAC3C,QACC,qBACC,aAAa,EAAE,IAAI,CAAC,EAAE,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GACR,EAChB;GACF;EAEM,MAAM;IACZ,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;IACvG,QACC,EAAC,IAAI,QACJ,YACC,KAAK,EAAE;QACN,cAAc,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI;OAC/F,EACD,KAAK,EAAE;QACN,eAAe,EAAE,IAAI,CAAC,UAAU;QAChC,KAAK,EAAE,IAAI,CAAC,QAAQ;OACpB,IAED,mBAAa,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,QAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAgB,EAC7H,cAAc,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAA2B,CAAC,CAC3E,CACD,EACN;GACF;EAoCM,aAAa,CAAC,KAA8B;IAClD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;MAC1B,YAAY,EAAE,MAAM;MACpB,KAAK,EAAE;QACN,WAAW,EAAE,IAAI,CAAC,iBAAiB;OACnC;KACD,CAAC,CAAC;GACH;EAGM,mBAAmB,CAAC,KAA4B;IACtD,mBAAmB,CAAC,KAAK,EAAE;MAC1B,IAAI;QACH,KAAK,GAAG,SAAS,CAAc,KAAe,CAAC,CAAC;OAEhD;MAAC,OAAO,CAAC,EAAE;OAEX;MACD,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;KACtC,CAAC,CAAC;GACH;EAEM,iBAAiB;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/badge/style.css?tag=kol-badge&mode=default&encapsulation=shadow","src/components/badge/component.tsx"],"sourcesContent":["@import url(../style.css);\n:host > span {\n\tdisplay: inline-flex;\n\tplace-items: center;\n}\n:host > span > kol-button-wc button {\n\tcolor: inherit;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { handleColorChange, PropColor, validateColor } from '../../types/props/color';\nimport { LabelPropType } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { objectObjectHandler, parseJson, setState } from '../../utils/prop.validators';\nimport { ButtonProps } from '../button/types';\nimport { API, States } from './types';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements API {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\tprivate readonly id = nonce();\n\n\tprivate renderSmartButton(props: ButtonProps): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t_ariaControls={this.id}\n\t\t\t\t_customClass={props._customClass}\n\t\t\t\t_disabled={props._disabled}\n\t\t\t\t_hideLabel={true}\n\t\t\t\t_icons={props._icons}\n\t\t\t\t_id={props._id}\n\t\t\t\t_label={props._label}\n\t\t\t\t_on={props._on}\n\t\t\t\t_tooltipAlign={props._tooltipAlign}\n\t\t\t\t_variant={props._variant}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst hasSmartButton = typeof this.state._smartButton === 'object' && this.state._smartButton !== null;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc id={hasSmartButton ? this.id : undefined} _allowMarkdown _icons={this._icons} _label={this._label}></kol-span-wc>\n\t\t\t\t\t{hasSmartButton && this.renderSmartButton(this.state._smartButton as ButtonProps)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the backgroundColor and foregroundColor.\n\t */\n\t@Prop() public _color?: Stringified<PropColor> = '#000';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Allows to add a button with an arbitrary action within the element (_hide-label only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t@State() public state: States = {\n\t\t_color: {\n\t\t\tbackgroundColor: '#000',\n\t\t\tforegroundColor: '#fff',\n\t\t},\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tconst colorPair = handleColorChange(value);\n\t\tthis.bgColorStr = colorPair.backgroundColor;\n\t\tthis.colorStr = colorPair.foregroundColor as string;\n\t};\n\n\t@Watch('_color')\n\tpublic validateColor(value?: Stringified<PropColor>): void {\n\t\tvalidateColor(this, value, {\n\t\t\tdefaultValue: '#000',\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"version":3}
1
+ {"file":"component8.js","mappings":";;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,y5FAAy5F;;ACYj7F,WAAW,CAAC,qEAAqE,CAAC,CAAC;MAStE,QAAQ;;;;;IACZ,eAAU,GAAG,MAAM,CAAC;IACpB,aAAQ,GAAG,MAAM,CAAC;IACT,OAAE,GAAG,KAAK,EAAE,CAAC;IAkEtB,sBAAiB,GAAG,CAAC,KAAc;MAC1C,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;MAC3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;MAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,eAAyB,CAAC;KACpD,CAAC;kBA5B+C,MAAM;;;;iBAiBvB;MAC/B,MAAM,EAAE;QACP,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE,MAAM;OACvB;KACD;;EA9DO,iBAAiB,CAAC,KAAkB;IAC3C,QACC,qBACC,aAAa,EAAE,IAAI,CAAC,EAAE,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GACR,EAChB;GACF;EAEM,MAAM;IACZ,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;IACvG,QACC,EAAC,IAAI,QACJ,YACC,KAAK,EAAE;QACN,cAAc,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI;OAC/F,EACD,KAAK,EAAE;QACN,eAAe,EAAE,IAAI,CAAC,UAAU;QAChC,KAAK,EAAE,IAAI,CAAC,QAAQ;OACpB,IAED,mBAAa,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,QAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAgB,EAC7H,cAAc,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAA2B,CAAC,CAC3E,CACD,EACN;GACF;EAoCM,aAAa,CAAC,KAA8B;IAClD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;MAC1B,YAAY,EAAE,MAAM;MACpB,KAAK,EAAE;QACN,WAAW,EAAE,IAAI,CAAC,iBAAiB;OACnC;KACD,CAAC,CAAC;GACH;EAGM,mBAAmB,CAAC,KAA4B;IACtD,mBAAmB,CAAC,KAAK,EAAE;MAC1B,IAAI;QACH,KAAK,GAAG,SAAS,CAAc,KAAe,CAAC,CAAC;OAEhD;MAAC,OAAO,CAAC,EAAE;OAEX;MACD,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;KACtC,CAAC,CAAC;GACH;EAEM,iBAAiB;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;GAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/badge/style.css?tag=kol-badge&mode=default&encapsulation=shadow","src/components/badge/component.tsx"],"sourcesContent":["@import url(../style.css);\n@layer kol-component {\n\t:host > span {\n\t\tdisplay: inline-flex;\n\t\tplace-items: center;\n\t}\n\n\t:host > span > kol-button-wc button {\n\t\tcolor: inherit;\n\t}\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { handleColorChange, PropColor, validateColor } from '../../types/props/color';\nimport { LabelPropType } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { objectObjectHandler, parseJson, setState } from '../../utils/prop.validators';\nimport { ButtonProps } from '../button/types';\nimport { API, States } from './types';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements API {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\tprivate readonly id = nonce();\n\n\tprivate renderSmartButton(props: ButtonProps): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t_ariaControls={this.id}\n\t\t\t\t_customClass={props._customClass}\n\t\t\t\t_disabled={props._disabled}\n\t\t\t\t_hideLabel={true}\n\t\t\t\t_icons={props._icons}\n\t\t\t\t_id={props._id}\n\t\t\t\t_label={props._label}\n\t\t\t\t_on={props._on}\n\t\t\t\t_tooltipAlign={props._tooltipAlign}\n\t\t\t\t_variant={props._variant}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst hasSmartButton = typeof this.state._smartButton === 'object' && this.state._smartButton !== null;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc id={hasSmartButton ? this.id : undefined} _allowMarkdown _icons={this._icons} _label={this._label}></kol-span-wc>\n\t\t\t\t\t{hasSmartButton && this.renderSmartButton(this.state._smartButton as ButtonProps)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the backgroundColor and foregroundColor.\n\t */\n\t@Prop() public _color?: Stringified<PropColor> = '#000';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Allows to add a button with an arbitrary action within the element (_hide-label only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t@State() public state: States = {\n\t\t_color: {\n\t\t\tbackgroundColor: '#000',\n\t\t\tforegroundColor: '#fff',\n\t\t},\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tconst colorPair = handleColorChange(value);\n\t\tthis.bgColorStr = colorPair.backgroundColor;\n\t\tthis.colorStr = colorPair.foregroundColor as string;\n\t};\n\n\t@Watch('_color')\n\tpublic validateColor(value?: Stringified<PropColor>): void {\n\t\tvalidateColor(this, value, {\n\t\t\tdefaultValue: '#000',\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as translate}from"./i18n.js";import{v as validateAlternativeButtonLinkRole,a as validateTabIndex}from"./tab-index.js";import{w as watchValidator,b as watchString,B as propagateFocus,v as setEventTarget,d as devHint,J as ariaCurrentSubject,y as devWarning,l as showExpertSlot}from"./prop.validators.js";import{v as validateHideLabel,a as validateIcons,d as defineCustomElement$2}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{v as validateTooltipAlign}from"./tooltip-align.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$1}from"./component3.js";const validate=(t,e,a)=>{watchValidator(t,e,(t=>"date"===t||"location"===t||"page"===t||"step"===t||"time"===t||!0===t||!1===t),new Set(["String {data, location, page, step, time}","boolean"]),a)},validateAriaCurrent=(t,e)=>{validate(t,"_ariaCurrent",e)},validateListenAriaCurrent=(t,e)=>{validate(t,"_listenAriaCurrent",e)},validateDownload=(t,e)=>{watchString(t,"_download",e)},validateHref=(t,e,a={})=>{watchString(t,"_href",e,a)},validateLinkCallbacks=(t,e)=>{"object"==typeof e&&"function"==typeof(null==e?void 0:e.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:e}))},validateLinkTarget=(t,e)=>{watchString(t,"_target",e)},KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.catchRef=t=>{this.ref=t,propagateFocus(this.host,this.ref)},this.onClick=t=>{var e,a;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),setEventTarget(t,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist."),{isExternal:t,tagAttrs:e}},this.unsubscribeAriaCurrentSubject=ariaCurrentSubject.subscribe((t=>{try{this.state._listenAriaCurrent&&this.state._listenAriaCurrent===t.ariaCurrent&&(this.state._href===t.href?this.validateAriaCurrent(t.ariaCurrent):this.validateAriaCurrent(!1))}catch(t){devWarning("The aria-current event is not valid.")}})),this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=translate("kol-open-link-in-tab"),this._tooltipAlign="right",this.state={_href:"…",_icons:{}}}render(){const{isExternal:t,tagAttrs:e}=this.getRenderValues(),a=showExpertSlot(this.state._label);return h(Host,null,h("a",Object.assign({ref:this.catchRef},e,{"aria-current":this.state._ariaCurrent,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,class:{"external-link":t,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex}),h("kol-span-wc",{_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:a?"":this.state._label||this.state._href},h("slot",{name:"expert",slot:"expert"})),t&&h("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icons:"codicon codicon-link-external"})),h("kol-tooltip-wc",{"aria-hidden":"true",hidden:a||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaCurrent(t){validateAriaCurrent(this,t)}validateDownload(t){validateDownload(this,t)}validateHideLabel(t){validateHideLabel(this,t)}validateHref(t){validateHref(this,t)}validateIcons(t){validateIcons(this,t)}validateLabel(t){validateLabelWithExpertSlot(this,t)}validateListenAriaCurrent(t){validateListenAriaCurrent(this,t)}validateOn(t){validateLinkCallbacks(this,t)}validateRole(t){validateAlternativeButtonLinkRole(this,t)}validateTabIndex(t){validateTabIndex(this,t)}validateTarget(t){validateLinkTarget(this,t)}validateTargetDescription(t){watchString(this,"_targetDescription",t)}validateTooltipAlign(t){validateTooltipAlign(this,t)}componentWillLoad(){this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return this}static get watchers(){return{_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}}},[4,"kol-link-wc",{_download:[1],_hideLabel:[4,"_hide-label"],_href:[1],_icons:[1],_label:[1],_listenAriaCurrent:[8,"_listen-aria-current"],_on:[16],_role:[1],_tabIndex:[2,"_tab-index"],_target:[1],_targetDescription:[1,"_target-description"],_tooltipAlign:[1,"_tooltip-align"],state:[32]},void 0,{_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-link-wc":customElements.get(t)||customElements.define(t,KolLinkWc);break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as translate}from"./i18n.js";import{v as validateAlternativeButtonLinkRole,a as validateTabIndex}from"./tab-index.js";import{w as watchValidator,b as watchString,t as propagateFocus,x as setEventTarget,d as devHint,J as ariaCurrentSubject,z as devWarning,l as showExpertSlot}from"./prop.validators.js";import{v as validateAccessKey,a as validateHideLabel,b as validateIcons,d as defineCustomElement$2}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{v as validateTooltipAlign}from"./tooltip-align.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$1}from"./component3.js";const ariaCurrentPropTypeOptions=["date","location","page","step","time",!0,!1],validate=(t,e,a)=>{watchValidator(t,e,(t=>("string"==typeof t||"boolean"==typeof t)&&ariaCurrentPropTypeOptions.includes(t)),new Set([`String {${ariaCurrentPropTypeOptions.filter((t=>"string"==typeof t)).join(", ")}`,"true","false"]),a)},validateAriaCurrent=(t,e)=>{validate(t,"_ariaCurrent",e)},validateListenAriaCurrent=(t,e)=>{validate(t,"_listenAriaCurrent",e)},validateDownload=(t,e)=>{watchString(t,"_download",e)},validateHref=(t,e,a={})=>{watchString(t,"_href",e,a)},validateLinkCallbacks=(t,e)=>{"object"==typeof e&&"function"==typeof(null==e?void 0:e.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:e}))},validateLinkTarget=(t,e)=>{watchString(t,"_target",e)},KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.catchRef=t=>{this.ref=t,propagateFocus(this.host,this.ref)},this.onClick=t=>{var e,a;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),setEventTarget(t,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist."),{isExternal:t,tagAttrs:e}},this.unsubscribeAriaCurrentSubject=ariaCurrentSubject.subscribe((t=>{try{this.state._listenAriaCurrent&&this.state._listenAriaCurrent===t.ariaCurrent&&(this.state._href===t.href?this.validateAriaCurrent(t.ariaCurrent):this.validateAriaCurrent(!1))}catch(t){devWarning("The aria-current event is not valid.")}})),this._accessKey=void 0,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=translate("kol-open-link-in-tab"),this._tooltipAlign="right",this.state={_href:"…",_icons:{}}}render(){const{isExternal:t,tagAttrs:e}=this.getRenderValues(),a=showExpertSlot(this.state._label);return h(Host,null,h("a",Object.assign({ref:this.catchRef},e,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,class:{"external-link":t,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex}),h("kol-span-wc",{_accessKey:this.state._accessKey,_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:a?"":this.state._label||this.state._href},h("slot",{name:"expert",slot:"expert"})),t&&h("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icons:"codicon codicon-link-external"})),h("kol-tooltip-wc",{"aria-hidden":"true",hidden:a||!this.state._hideLabel,_accessKey:this.state._accessKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAccessKey(t){validateAccessKey(this,t)}validateAriaCurrent(t){validateAriaCurrent(this,t)}validateDownload(t){validateDownload(this,t)}validateHideLabel(t){validateHideLabel(this,t)}validateHref(t){validateHref(this,t)}validateIcons(t){validateIcons(this,t)}validateLabel(t){validateLabelWithExpertSlot(this,t)}validateListenAriaCurrent(t){validateListenAriaCurrent(this,t)}validateOn(t){validateLinkCallbacks(this,t)}validateRole(t){validateAlternativeButtonLinkRole(this,t)}validateTabIndex(t){validateTabIndex(this,t)}validateTarget(t){validateLinkTarget(this,t)}validateTargetDescription(t){watchString(this,"_targetDescription",t)}validateTooltipAlign(t){validateTooltipAlign(this,t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}}},[4,"kol-link-wc",{_accessKey:[1,"_access-key"],_download:[1],_hideLabel:[4,"_hide-label"],_href:[1],_icons:[1],_label:[1],_listenAriaCurrent:[8,"_listen-aria-current"],_on:[16],_role:[1],_tabIndex:[2,"_tab-index"],_target:[1],_targetDescription:[1,"_target-description"],_tooltipAlign:[1,"_tooltip-align"],state:[32]},void 0,{_accessKey:["validateAccessKey"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-link-wc":customElements.get(t)||customElements.define(t,KolLinkWc);break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
@@ -1 +1 @@
1
- {"file":"component9.js","mappings":";;;;;;;;;;;;;AAqBA,MAAM,QAAQ,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAA2B;EACpG,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,EACpJ,IAAI,GAAG,CAAC,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC,EACjE,KAAK,CACL,CAAC;AACH,CAAC,CAAC;AACK,MAAM,mBAAmB,GAAG,CAAC,SAAoC,EAAE,KAA2B;EACpG,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AACK,MAAM,yBAAyB,GAAG,CAAC,SAAoC,EAAE,KAA2B;EAC1G,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;;ACnBM,MAAM,gBAAgB,GAAG,CAAC,SAAoC,EAAE,KAAwB;EAC9F,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;;ACDM,MAAM,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAoB,EAAE,UAA8B,EAAE;EACxH,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;;ACFM,MAAM,qBAAqB,GAAG,CAAC,SAAoC,EAAE,KAA+B;EAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;IACtE,SAAS,CAAC,KAAK,mCACX,SAAS,CAAC,KAAK,KAClB,GAAG,EAAE,KAAK,GACV,CAAC;GACF;AACF,CAAC;;ACRM,MAAM,kBAAkB,GAAG,CAAC,SAAoC,EAAE,KAA0B;EAClG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;;MCWY,SAAS;;;;IAIJ,aAAQ,GAAG,CAAC,GAAuB;MACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;MACf,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KACpC,CAAC;IAEe,YAAO,GAAG,CAAC,KAAY;;MACvC,IAAI,QAAO,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;QAClD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OACjD;KACD,CAAC;IAEe,oBAAe,GAAG;MAoBlC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;MAE5F,MAAM,QAAQ,GAAG;QAChB,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB;QACpH,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS;QAChH,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS;QACxC,QAAQ,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS;OACrF,CAAC;MAEF,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACzD,OAAO,CAAC,0EAA0E,CAAC,CAAC;OACpF;MACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;KAChC,CAAC;IA4LM,kCAA6B,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK;MAC1E,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,KAAK,CAAC,WAAW,EAAE;UACzF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;YACpC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;WAC5C;eAAM;YACN,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;WAChC;SACD;OACD;MAAC,OAAO,CAAC,EAAE;QACX,UAAU,CAAC,sCAAsC,CAAC,CAAC;OACnD;KACD,CAAC,CAAC;;sBApJmC,KAAK;;;;;;;;;8BA6CE,SAAS,CAAC,sBAAsB,CAAC;yBAKxB,OAAO;iBAEzB;MACnC,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,EAAE;KACV;;EAzGM,MAAM;IACZ,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,QACC,EAAC,IAAI,QACJ,uBACC,GAAG,EAAE,IAAI,CAAC,QAAQ,IACd,QAAQ,oBACE,IAAI,CAAC,KAAK,CAAC,YAAY,gBACzB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAC1G,KAAK,EAAE;QACN,eAAe,EAAE,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;OAC5C,IACG,IAAI,CAAC,KAAK,CAAC,GAAG,IAElB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,UAAU,EAAE,IAAI,CAAC,OAAO,EACxB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,KAE9B,mBAAa,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAC5I,YAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,CAC5B,EACb,UAAU,IAAI,gBAAU,KAAK,EAAC,oBAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,kBAA4B,EAAE,MAAM,EAAE,+BAA+B,GAAI,CAC7I,EACJ,qCAKa,MAAM,EAClB,MAAM,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAC/C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAC5B,CACZ,EACN;GACF;EAqEO,mBAAmB,CAAC,KAA2B;IACtD,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACjC;EAGM,gBAAgB,CAAC,KAAwB;IAC/C,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC9B;EAGM,iBAAiB,CAAC,KAAe;IACvC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC/B;EAGM,YAAY,CAAC,KAAc;IACjC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC1B;EAGM,aAAa,CAAC,KAAwB;IAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC3B;EAGM,aAAa,CAAC,KAAmC;IACvD,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACzC;EAGM,yBAAyB,CAAC,KAA2B;IAC3D,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACvC;EAGM,UAAU,CAAC,KAA+B;IAChD,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACnC;EAGM,YAAY,CAAC,KAAyC;IAC5D,iCAAiC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC/C;EAGM,gBAAgB,CAAC,KAAc;IACrC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC9B;EAGM,cAAc,CAAC,KAA0B;IAC/C,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAChC;EAGM,yBAAyB,CAAC,KAAc;IAC9C,WAAW,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;GAC/C;EAGM,oBAAoB,CAAC,KAA4B;IACvD,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAClC;EAEM,iBAAiB;IACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;GAC9C;EAgBM,oBAAoB;IAC1B,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;GACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/types/props/aria-current.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nexport type AriaCurrentPropType = 'date' | 'location' | 'page' | 'step' | 'time' | boolean;\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time' || value === true || value === false,\n\t\tnew Set(['String {data, location, page, step, time}', 'boolean']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { validateHideLabel } from '../../types/props/hide-label';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icons={this.state._icons} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? '' : this.state._label || this.state._href}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on an aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"version":3}
1
+ {"file":"component9.js","mappings":"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","names":[],"sources":["src/types/props/aria-current.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nconst ariaCurrentPropTypeOptions = ['date', 'location', 'page', 'step', 'time', true, false] as const;\nexport type AriaCurrentPropType = (typeof ariaCurrentPropTypeOptions)[number];\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value?) => (typeof value === 'string' || typeof value === 'boolean') && ariaCurrentPropTypeOptions.includes(value),\n\t\tnew Set([`String {${ariaCurrentPropTypeOptions.filter((option) => typeof option === 'string').join(', ')}`, 'true', 'false']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { AccessKeyPropType, validateAccessKey } from '../../types/props/access-key';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc\n\t\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t\t_icons={this.state._icons}\n\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t_label={hasExpertSlot ? '' : this.state._label || this.state._href}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the elements access key.\n\t */\n\t@Prop() public _accessKey?: AccessKeyPropType;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on an aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: AccessKeyPropType): void {\n\t\tvalidateAccessKey(this, value);\n\t}\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAccessKey(this._accessKey);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{e as watchBoolean,b as watchString,C as a11yHintDisabled,a as a11yHint,d as devHint,t as setState,o as objectObjectHandler,f as parseJson}from"./prop.validators.js";import{v as validateHideLabel}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events.js";import{a as validateTabIndex}from"./tab-index.js";import{A as AssociatedInputController}from"./component5.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},validateHideError=(t,e,o)=>{watchBoolean(t,"_hideError",e,o)},validateAdjustHeight=(t,e)=>{watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t)}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;stopPropagation(t),tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g,validateHideError as v};
4
+ import{e as watchBoolean,b as watchString,C as a11yHintDisabled,a as a11yHint,d as devHint,v as setState,o as objectObjectHandler,f as parseJson}from"./prop.validators.js";import{a as validateHideLabel}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events.js";import{a as validateTabIndex}from"./tab-index.js";import{A as AssociatedInputController}from"./component5.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},validateHideError=(t,e,o)=>{watchBoolean(t,"_hideError",e,o)},validateAdjustHeight=(t,e)=>{watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t)}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;stopPropagation(t),tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g,validateHideError as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{I as InputController,v as validateHideError}from"./controller.js";import{a as a11yHint,H as watchJsonArrayString,e as watchBoolean,w as watchValidator,N as mapString2Unknown,t as setState,O as STATE_CHANGE_EVENT}from"./prop.validators.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label.js";const validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===hasEnoughReadableChars(t.label,3)&&!1===containsOnlyNumbers(t.label)&&a11yHint(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,o={})=>{watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,o)},validateOptionsWithOptgroup=(t,e,o={})=>{watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,o)},validateRequired=(t,e)=>{watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,o="")=>{e.forEach(((e,a)=>{const i=`${o}-${a}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,i):t.set(i,e))}))};class InputCheckboxRadioController extends InputController{constructor(t,e,o){super(t,e,o),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateHideError(this.component._hideError),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f,validateOptionsWithOptgroup as v};
4
+ import{I as InputController,v as validateHideError}from"./controller.js";import{a as a11yHint,H as watchJsonArrayString,e as watchBoolean,w as watchValidator,N as mapString2Unknown,v as setState,O as STATE_CHANGE_EVENT}from"./prop.validators.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label.js";const orientationOptions=["horizontal","vertical"],validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===hasEnoughReadableChars(t.label,3)&&!1===containsOnlyNumbers(t.label)&&a11yHint(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,o={})=>{watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,o)},validateOptionsWithOptgroup=(t,e,o={})=>{watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,o)},validateRequired=(t,e)=>{watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,a):t.set(a,e))}))};class InputCheckboxRadioController extends InputController{constructor(t,e,o){super(t,e,o),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateHideError(this.component._hideError),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f,validateOptionsWithOptgroup as v};
@@ -1 +1 @@
1
- {"file":"controller2.js","mappings":"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","names":[],"sources":["src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller2.js","mappings":"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","names":[],"sources":["src/types/orientation.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["export const orientationOptions = ['horizontal', 'vertical'] as const;\nexport type Orientation = (typeof orientationOptions)[number];\n","import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation, orientationOptions } from '../../types/orientation';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{v as validateHasCounter,I as InputPasswordController}from"./controller4.js";import{v as validateHideError}from"./controller.js";import{v as validateSuggestions}from"./suggestions.js";import{w as watchValidator,a as a11yHint}from"./prop.validators.js";class InputTextEmailController extends InputPasswordController{constructor(t,o,e){super(t,o,e),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,o,e){super(t,o,e),this.hasError=!1,this.component=t}validateType(t){watchValidator(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateHideError(this.component._hideError),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{InputTextEmailController as I,InputTextController as a};
4
+ import{v as validateHasCounter,I as InputPasswordController}from"./controller4.js";import{v as validateHideError}from"./controller.js";import{v as validateSuggestions}from"./suggestions.js";import{w as watchValidator,a as a11yHint}from"./prop.validators.js";const inputTextTypeOptions=["text","search","url","tel"];class InputTextEmailController extends InputPasswordController{constructor(t,o,e){super(t,o,e),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,o,e){super(t,o,e),this.hasError=!1,this.component=t}validateType(t){watchValidator(this.component,"_type",(t=>"string"==typeof t&&inputTextTypeOptions.includes(t)),new Set([`String {${inputTextTypeOptions.join(", ")}`]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateHideError(this.component._hideError),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{InputTextEmailController as I,InputTextController as a};
@@ -1 +1 @@
1
- {"file":"controller3.js","mappings":";;;;;;;;MAmBa,wBAAyB,SAAQ,uBAAuB;EAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;IAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,iBAAiB,CAAC,KAAyB;IACjD,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;MACxC,KAAK,EAAE;QACN,UAAU,EAAE;UACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;YACpC,QAAQ,CAAC,0GAA0G,CAAC,CAAC;WACrH;SACD;OACD;KACD,CAAC,CAAC;GACH;EAEM,mBAAmB,CAAC,KAA2B;IACrD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC3C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;GACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;EAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;IACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAHvB,aAAQ,GAAG,KAAK,CAAC;IAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,YAAY,CAAC,KAAqB;IACxC,cAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,EAC/H,IAAI,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC,EAC5C,KAAK,CACL,CAAC;GACF;EAEM,kBAAkB,CAAC,KAAe;IACxC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC1C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;GACpD;;;;;","names":[],"sources":["src/components/input-text/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { InputTextType } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'text' || value === 'search' || value === 'url' || value === 'tel'),\n\t\t\tnew Set(['String {text, search, url, tel}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller3.js","mappings":";;;;;;;;AAAO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU;;MCmBhE,wBAAyB,SAAQ,uBAAuB;EAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;IAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,iBAAiB,CAAC,KAAyB;IACjD,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;MACxC,KAAK,EAAE;QACN,UAAU,EAAE;UACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;YACpC,QAAQ,CAAC,0GAA0G,CAAC,CAAC;WACrH;SACD;OACD;KACD,CAAC,CAAC;GACH;EAEM,mBAAmB,CAAC,KAA2B;IACrD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC3C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;GACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;EAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;IACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAHvB,aAAQ,GAAG,KAAK,CAAC;IAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,YAAY,CAAC,KAAqB;IACxC,cAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrF,IAAI,GAAG,CAAC,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACvD,KAAK,CACL,CAAC;GACF;EAEM,kBAAkB,CAAC,KAAe;IACxC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC1C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;GACpD;;;;;","names":[],"sources":["src/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import { Generic } from '@a11y-ui/core';\nimport { InputTextType, inputTextTypeOptions } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- const detailsElement=document.getElementById("details"),buttonElement=document.getElementById("button");detailsElement._on={onToggle:(e,t)=>{buttonElement._label="👆Details "+(t?"schließen":"öffnen")}},buttonElement._on={onClick:()=>{detailsElement._open=!detailsElement._open}};const detailsSyncedOpenState={};export default detailsSyncedOpenState;
4
+ const detailsElement=document.getElementById("details"),buttonElement=document.getElementById("button");detailsElement&&(detailsElement._on={onToggle:(e,t)=>{buttonElement._label="👆Details "+(t?"schließen":"öffnen")}}),buttonElement&&(buttonElement._on={onClick:()=>{detailsElement._open=!detailsElement._open}});const detailsSyncedOpenState={};export default detailsSyncedOpenState;
@@ -1 +1 @@
1
- {"file":"details-synced-open-state.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAA0B,CAAC;AACnF,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAyB,CAAC;AAEhF,cAAc,CAAC,GAAG,GAAG;EACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAa;IAC/B,aAAa,CAAC,MAAM,GAAG,aAAa,IAAI,GAAG,WAAW,GAAG,QAAQ,EAAE,CAAC;GACpE;CACD,CAAC;AAEF,aAAa,CAAC,GAAG,GAAG;EACnB,OAAO,EAAE;IACR,cAAc,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC;GAC7C;CACD,CAAC;AAEF,+BAAe,EAAE;;;;","names":[],"sources":["src/dev/details-synced-open-state.ts"],"sourcesContent":["const detailsElement = document.getElementById('details') as HTMLKolDetailsElement;\nconst buttonElement = document.getElementById('button') as HTMLKolButtonElement;\n\ndetailsElement._on = {\n\tonToggle: (_event, open: boolean) => {\n\t\tbuttonElement._label = `👆Details ${open ? 'schließen' : 'öffnen'}`;\n\t},\n};\n\nbuttonElement._on = {\n\tonClick: () => {\n\t\tdetailsElement._open = !detailsElement._open;\n\t},\n};\n\nexport default {};\n"],"version":3}
1
+ {"file":"details-synced-open-state.js","mappings":";;;AAAA,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAA0B,CAAC;AACnF,MAAM,aAAa,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAyB,CAAC;AAEhF,IAAI,cAAc,EAAE;EACnB,cAAc,CAAC,GAAG,GAAG;IACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAa;MAC/B,aAAa,CAAC,MAAM,GAAG,aAAa,IAAI,GAAG,WAAW,GAAG,QAAQ,EAAE,CAAC;KACpE;GACD,CAAC;CACF;AAED,IAAI,aAAa,EAAE;EAClB,aAAa,CAAC,GAAG,GAAG;IACnB,OAAO,EAAE;MACR,cAAc,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC;KAC7C;GACD,CAAC;CACF;AAED,+BAAe,EAAE;;;;","names":[],"sources":["src/dev/details-synced-open-state.ts"],"sourcesContent":["const detailsElement = document.getElementById('details') as HTMLKolDetailsElement;\nconst buttonElement = document.getElementById('button') as HTMLKolButtonElement;\n\nif (detailsElement) {\n\tdetailsElement._on = {\n\t\tonToggle: (_event, open: boolean) => {\n\t\t\tbuttonElement._label = `👆Details ${open ? 'schließen' : 'öffnen'}`;\n\t\t},\n\t};\n}\n\nif (buttonElement) {\n\tbuttonElement._on = {\n\t\tonClick: () => {\n\t\t\tdetailsElement._open = !detailsElement._open;\n\t\t},\n\t};\n}\n\nexport default {};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{T as initKoliBri,U as getDevMode,V as renderDevAdvice,m as getDocument,L as Log,x as getExperimentalMode,W as getColorContrastAnalysis,X as KoliBriUtils,Y as koliBriA11yColorContrast,Z as KoliBri,R as koliBriQuerySelector,_ as koliBriQuerySelectorAll,$ as koliBriQuerySelectorColors,f as parseJson,a0 as stringifyJson}from"./prop.validators.js";function prototypeKoliBri(o,e){try{Object.defineProperty(KoliBri,o,{get:function(){return e}})}catch(e){Log.debug(`KoliBri property ${o} is already bind.`)}}const metaModeLog=(o,e)=>Log.debug(`${o} ${e?"":"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,e=getDocument().createElement("svg");if(e.setAttribute("aria-label","KoliBri-DevTools"),e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("role","toolbar"),e.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),e.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(e),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const e=setTimeout((()=>{clearTimeout(e),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(o),!1,!1)}),1e4)}),2500)}}};export{initialize};
4
+ import{T as initKoliBri,U as getDevMode,V as renderDevAdvice,m as getDocument,L as Log,y as getExperimentalMode,W as getColorContrastAnalysis,X as KoliBriUtils,Y as koliBriA11yColorContrast,Z as KoliBri,R as koliBriQuerySelector,_ as koliBriQuerySelectorAll,$ as koliBriQuerySelectorColors,f as parseJson,a0 as stringifyJson}from"./prop.validators.js";function prototypeKoliBri(o,e){try{Object.defineProperty(KoliBri,o,{get:function(){return e}})}catch(e){Log.debug(`KoliBri property ${o} is already bind.`)}}const metaModeLog=(o,e)=>Log.debug(`${o} ${e?"":"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,e=getDocument().createElement("svg");if(e.setAttribute("aria-label","KoliBri-DevTools"),e.setAttribute("xmlns","http://www.w3.org/2000/svg"),e.setAttribute("role","toolbar"),e.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),e.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(e),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const e=setTimeout((()=>{clearTimeout(e),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(o),!1,!1)}),1e4)}),2500)}}};export{initialize};