@public-ui/components 1.4.2 → 1.5.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (634) hide show
  1. package/README.md +7 -0
  2. package/cheat-sheet.html +54 -25
  3. package/custom-elements.json +52 -17
  4. package/dist/cjs/app-globals-c6303780.js +4 -0
  5. package/dist/cjs/app-globals-c6303780.js.map +1 -0
  6. package/dist/cjs/bund-e238647c.js +4 -0
  7. package/dist/cjs/bund-e238647c.js.map +1 -0
  8. package/dist/cjs/button-link-89ed5382.js +4 -0
  9. package/dist/cjs/button-link-89ed5382.js.map +1 -0
  10. package/dist/cjs/{controller-af70d3a1.js → controller-2405dd04.js} +1 -1
  11. package/dist/cjs/{controller-af70d3a1.js.map → controller-2405dd04.js.map} +1 -1
  12. package/dist/cjs/{controller-1c9293c6.js → controller-8e2cebc1.js} +1 -1
  13. package/dist/cjs/{controller-1c9293c6.js.map → controller-8e2cebc1.js.map} +1 -1
  14. package/dist/cjs/{controller-c831bc96.js → controller-94b357a3.js} +1 -1
  15. package/dist/cjs/{controller-c831bc96.js.map → controller-94b357a3.js.map} +1 -1
  16. package/dist/cjs/{controller-f7dd8dc0.js → controller-ce13f0a2.js} +1 -1
  17. package/dist/cjs/{controller-f7dd8dc0.js.map → controller-ce13f0a2.js.map} +1 -1
  18. package/dist/cjs/{controller-2176883f.js → controller-d0743a95.js} +1 -1
  19. package/dist/cjs/{controller-2176883f.js.map → controller-d0743a95.js.map} +1 -1
  20. package/dist/cjs/{controller-7254416e.js → controller-dbbddbe7.js} +1 -1
  21. package/dist/cjs/{controller-7254416e.js.map → controller-dbbddbe7.js.map} +1 -1
  22. package/dist/cjs/{controller-icon-7980fc53.js → controller-icon-b87565c4.js} +1 -1
  23. package/dist/cjs/{controller-icon-7980fc53.js.map → controller-icon-b87565c4.js.map} +1 -1
  24. package/dist/cjs/{devtools-910a0fd1.js → devtools-a9a95b0a.js} +1 -1
  25. package/dist/cjs/{devtools-910a0fd1.js.map → devtools-a9a95b0a.js.map} +1 -1
  26. package/dist/cjs/i18n-5d946612.js +4 -0
  27. package/dist/cjs/i18n-5d946612.js.map +1 -0
  28. package/dist/cjs/icon-ccf4ad42.js +4 -0
  29. package/dist/cjs/icon-ccf4ad42.js.map +1 -0
  30. package/dist/cjs/index-29c5d3c6.js.map +1 -1
  31. package/dist/cjs/{index-cc5674d0.js → index-e9fcaeca.js} +1 -1
  32. package/dist/cjs/index-e9fcaeca.js.map +1 -0
  33. package/dist/cjs/index-ecda65e0.js +4 -0
  34. package/dist/cjs/{i18n-ca8f5c94.js.map → index-ecda65e0.js.map} +1 -1
  35. package/dist/cjs/index.cjs.js +1 -1
  36. package/dist/cjs/index.cjs.js.map +1 -1
  37. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  39. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  41. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  43. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  45. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  47. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-heading-wc_2.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-heading-wc_2.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-icon-icofont.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  68. package/dist/cjs/kol-image.cjs.entry.js +4 -0
  69. package/dist/cjs/kol-image.cjs.entry.js.map +1 -0
  70. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  72. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  74. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  76. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  84. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  88. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  104. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  110. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  112. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kolibri.cjs.js +1 -1
  135. package/dist/cjs/kolibri.cjs.js.map +1 -1
  136. package/dist/cjs/label-ce9fe285.js +4 -0
  137. package/dist/cjs/{label-3818e25c.js.map → label-ce9fe285.js.map} +1 -1
  138. package/dist/cjs/loader.cjs.js +1 -1
  139. package/dist/cjs/loader.cjs.js.map +1 -1
  140. package/dist/cjs/prop.validators-69d5cf89.js +4 -0
  141. package/dist/cjs/prop.validators-69d5cf89.js.map +1 -0
  142. package/dist/cjs/{tab-index-0ff2fc1d.js → tab-index-1d448ede.js} +1 -1
  143. package/dist/cjs/{tab-index-0ff2fc1d.js.map → tab-index-1d448ede.js.map} +1 -1
  144. package/dist/cjs/{validation-ccaf8393.js → validation-1e8663e2.js} +1 -1
  145. package/dist/cjs/{validation-ccaf8393.js.map → validation-1e8663e2.js.map} +1 -1
  146. package/dist/cjs/{validation-a59108e9.js → validation-2b3c81d9.js} +1 -1
  147. package/dist/cjs/{validation-a59108e9.js.map → validation-2b3c81d9.js.map} +1 -1
  148. package/dist/components/bund.js +1 -1
  149. package/dist/components/bund.js.map +1 -1
  150. package/dist/components/component.js +1 -1
  151. package/dist/components/component.js.map +1 -1
  152. package/dist/components/component10.js +1 -1
  153. package/dist/components/component10.js.map +1 -1
  154. package/dist/components/component11.js +1 -1
  155. package/dist/components/component11.js.map +1 -1
  156. package/dist/components/component12.js +1 -1
  157. package/dist/components/component12.js.map +1 -1
  158. package/dist/components/component13.js +1 -1
  159. package/dist/components/component13.js.map +1 -1
  160. package/dist/components/component2.js +1 -1
  161. package/dist/components/component2.js.map +1 -1
  162. package/dist/components/component3.js +1 -1
  163. package/dist/components/component3.js.map +1 -1
  164. package/dist/components/component4.js +1 -1
  165. package/dist/components/component4.js.map +1 -1
  166. package/dist/components/component5.js +1 -1
  167. package/dist/components/component5.js.map +1 -1
  168. package/dist/components/component6.js +1 -1
  169. package/dist/components/component6.js.map +1 -1
  170. package/dist/components/component8.js +1 -1
  171. package/dist/components/component8.js.map +1 -1
  172. package/dist/components/controller-icon.js +1 -1
  173. package/dist/components/controller.js +1 -1
  174. package/dist/components/controller2.js +1 -1
  175. package/dist/components/controller3.js +1 -1
  176. package/dist/components/controller4.js +1 -1
  177. package/dist/components/devtools.js +1 -1
  178. package/dist/components/i18n.js +1 -1
  179. package/dist/components/i18n.js.map +1 -1
  180. package/dist/components/index.js +1 -1
  181. package/dist/components/index.js.map +1 -1
  182. package/dist/components/kol-abbr.js +1 -1
  183. package/dist/components/kol-abbr.js.map +1 -1
  184. package/dist/components/kol-accordion.js +1 -1
  185. package/dist/components/kol-accordion.js.map +1 -1
  186. package/dist/components/kol-breadcrumb.js +1 -1
  187. package/dist/components/kol-breadcrumb.js.map +1 -1
  188. package/dist/components/kol-button-group.js +1 -1
  189. package/dist/components/kol-button-group.js.map +1 -1
  190. package/dist/components/kol-button-link.js +1 -1
  191. package/dist/components/kol-button-link.js.map +1 -1
  192. package/dist/components/kol-card.js +1 -1
  193. package/dist/components/kol-card.js.map +1 -1
  194. package/dist/components/kol-details.js +1 -1
  195. package/dist/components/kol-details.js.map +1 -1
  196. package/dist/components/kol-form.js +1 -1
  197. package/dist/components/kol-heading.js +1 -1
  198. package/dist/components/kol-heading.js.map +1 -1
  199. package/dist/components/kol-icon-icofont.js.map +1 -1
  200. package/dist/components/kol-image.d.ts +11 -0
  201. package/dist/components/kol-image.js +4 -0
  202. package/dist/components/kol-image.js.map +1 -0
  203. package/dist/components/kol-input-adapter-leanup.js +1 -1
  204. package/dist/components/kol-input-checkbox.js +1 -1
  205. package/dist/components/kol-input-checkbox.js.map +1 -1
  206. package/dist/components/kol-input-color.js +1 -1
  207. package/dist/components/kol-input-color.js.map +1 -1
  208. package/dist/components/kol-input-date.js +1 -1
  209. package/dist/components/kol-input-date.js.map +1 -1
  210. package/dist/components/kol-input-email.js +1 -1
  211. package/dist/components/kol-input-email.js.map +1 -1
  212. package/dist/components/kol-input-file.js +1 -1
  213. package/dist/components/kol-input-file.js.map +1 -1
  214. package/dist/components/kol-input-password.js +1 -1
  215. package/dist/components/kol-input-password.js.map +1 -1
  216. package/dist/components/kol-input-radio-group.js +1 -1
  217. package/dist/components/kol-input-range.js +1 -1
  218. package/dist/components/kol-input-range.js.map +1 -1
  219. package/dist/components/kol-input-text.js +1 -1
  220. package/dist/components/kol-input-text.js.map +1 -1
  221. package/dist/components/kol-kolibri.js +1 -1
  222. package/dist/components/kol-kolibri.js.map +1 -1
  223. package/dist/components/kol-link-button.js +1 -1
  224. package/dist/components/kol-link-button.js.map +1 -1
  225. package/dist/components/kol-link-group.js +1 -1
  226. package/dist/components/kol-link-group.js.map +1 -1
  227. package/dist/components/kol-logo.js +1 -1
  228. package/dist/components/kol-logo.js.map +1 -1
  229. package/dist/components/kol-modal.js +1 -1
  230. package/dist/components/kol-modal.js.map +1 -1
  231. package/dist/components/kol-nav.js +1 -1
  232. package/dist/components/kol-nav.js.map +1 -1
  233. package/dist/components/kol-progress.js +1 -1
  234. package/dist/components/kol-progress.js.map +1 -1
  235. package/dist/components/kol-skip-nav.js +1 -1
  236. package/dist/components/kol-skip-nav.js.map +1 -1
  237. package/dist/components/kol-span.js +1 -1
  238. package/dist/components/kol-span.js.map +1 -1
  239. package/dist/components/kol-spin.js +1 -1
  240. package/dist/components/kol-spin.js.map +1 -1
  241. package/dist/components/kol-symbol.js +1 -1
  242. package/dist/components/kol-symbol.js.map +1 -1
  243. package/dist/components/kol-table.js +1 -1
  244. package/dist/components/kol-table.js.map +1 -1
  245. package/dist/components/kol-tabs.js +1 -1
  246. package/dist/components/kol-tabs.js.map +1 -1
  247. package/dist/components/kol-textarea.js +1 -1
  248. package/dist/components/kol-textarea.js.map +1 -1
  249. package/dist/components/kol-toast.js +1 -1
  250. package/dist/components/kol-toast.js.map +1 -1
  251. package/dist/components/kol-version.js +1 -1
  252. package/dist/components/kol-version.js.map +1 -1
  253. package/dist/components/prop.validators.js +1 -1
  254. package/dist/components/prop.validators.js.map +1 -1
  255. package/dist/components/shadow.js +1 -1
  256. package/dist/components/shadow.js.map +1 -1
  257. package/dist/components/shadow2.js +1 -1
  258. package/dist/components/shadow2.js.map +1 -1
  259. package/dist/esm/app-globals-81f5e91d.js +4 -0
  260. package/dist/esm/app-globals-81f5e91d.js.map +1 -0
  261. package/dist/esm/bund-fe1f3789.js +4 -0
  262. package/dist/esm/bund-fe1f3789.js.map +1 -0
  263. package/dist/esm/{button-link-54acc67b.js → button-link-3d1888e3.js} +1 -1
  264. package/dist/esm/button-link-3d1888e3.js.map +1 -0
  265. package/dist/esm/{controller-08e3801e.js → controller-04bee517.js} +1 -1
  266. package/dist/esm/{controller-08e3801e.js.map → controller-04bee517.js.map} +1 -1
  267. package/dist/esm/{controller-9fc2799d.js → controller-32fdeebb.js} +1 -1
  268. package/dist/esm/{controller-9fc2799d.js.map → controller-32fdeebb.js.map} +1 -1
  269. package/dist/esm/{controller-31f6d372.js → controller-5bd06546.js} +1 -1
  270. package/dist/esm/{controller-31f6d372.js.map → controller-5bd06546.js.map} +1 -1
  271. package/dist/esm/{controller-af8a55fa.js → controller-944c3e03.js} +1 -1
  272. package/dist/esm/{controller-af8a55fa.js.map → controller-944c3e03.js.map} +1 -1
  273. package/dist/esm/{controller-d46544b6.js → controller-9926eaee.js} +1 -1
  274. package/dist/esm/{controller-d46544b6.js.map → controller-9926eaee.js.map} +1 -1
  275. package/dist/esm/{controller-6aa9b1d6.js → controller-ea28fcf8.js} +1 -1
  276. package/dist/esm/{controller-6aa9b1d6.js.map → controller-ea28fcf8.js.map} +1 -1
  277. package/dist/esm/{controller-icon-d1bf5df0.js → controller-icon-2a9f5c13.js} +1 -1
  278. package/dist/esm/{controller-icon-d1bf5df0.js.map → controller-icon-2a9f5c13.js.map} +1 -1
  279. package/dist/esm/{devtools-a2b3092f.js → devtools-640ace8d.js} +1 -1
  280. package/dist/esm/{devtools-a2b3092f.js.map → devtools-640ace8d.js.map} +1 -1
  281. package/dist/esm/i18n-8e14d822.js +4 -0
  282. package/dist/esm/i18n-8e14d822.js.map +1 -0
  283. package/dist/esm/icon-cab2d129.js +4 -0
  284. package/dist/esm/icon-cab2d129.js.map +1 -0
  285. package/dist/esm/index-4f2a12cc.js +4 -0
  286. package/dist/esm/{i18n-1305db0e.js.map → index-4f2a12cc.js.map} +1 -1
  287. package/dist/esm/index-50adf9a0.js.map +1 -1
  288. package/dist/esm/{index-599f5430.js → index-676dbf61.js} +1 -1
  289. package/dist/esm/index-676dbf61.js.map +1 -0
  290. package/dist/esm/index.js +1 -1
  291. package/dist/esm/index.js.map +1 -1
  292. package/dist/esm/kol-abbr.entry.js +1 -1
  293. package/dist/esm/kol-abbr.entry.js.map +1 -1
  294. package/dist/esm/kol-accordion.entry.js +1 -1
  295. package/dist/esm/kol-accordion.entry.js.map +1 -1
  296. package/dist/esm/kol-alert.entry.js +1 -1
  297. package/dist/esm/kol-alert.entry.js.map +1 -1
  298. package/dist/esm/kol-badge.entry.js +1 -1
  299. package/dist/esm/kol-badge.entry.js.map +1 -1
  300. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  301. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  302. package/dist/esm/kol-button-group.entry.js +1 -1
  303. package/dist/esm/kol-button-group.entry.js.map +1 -1
  304. package/dist/esm/kol-button-link.entry.js +1 -1
  305. package/dist/esm/kol-button-link.entry.js.map +1 -1
  306. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  307. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  308. package/dist/esm/kol-button.entry.js +1 -1
  309. package/dist/esm/kol-button.entry.js.map +1 -1
  310. package/dist/esm/kol-card.entry.js +1 -1
  311. package/dist/esm/kol-card.entry.js.map +1 -1
  312. package/dist/esm/kol-details.entry.js +1 -1
  313. package/dist/esm/kol-details.entry.js.map +1 -1
  314. package/dist/esm/kol-form.entry.js +1 -1
  315. package/dist/esm/kol-form.entry.js.map +1 -1
  316. package/dist/esm/kol-heading-wc_2.entry.js +1 -1
  317. package/dist/esm/kol-heading-wc_2.entry.js.map +1 -1
  318. package/dist/esm/kol-heading.entry.js +1 -1
  319. package/dist/esm/kol-heading.entry.js.map +1 -1
  320. package/dist/esm/kol-icon-icofont.entry.js.map +1 -1
  321. package/dist/esm/kol-icon.entry.js +1 -1
  322. package/dist/esm/kol-icon.entry.js.map +1 -1
  323. package/dist/esm/kol-image.entry.js +4 -0
  324. package/dist/esm/kol-image.entry.js.map +1 -0
  325. package/dist/esm/kol-indented-text.entry.js +1 -1
  326. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  327. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  328. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  329. package/dist/esm/kol-input-color.entry.js +1 -1
  330. package/dist/esm/kol-input-color.entry.js.map +1 -1
  331. package/dist/esm/kol-input-date.entry.js +1 -1
  332. package/dist/esm/kol-input-date.entry.js.map +1 -1
  333. package/dist/esm/kol-input-email.entry.js +1 -1
  334. package/dist/esm/kol-input-email.entry.js.map +1 -1
  335. package/dist/esm/kol-input-file.entry.js +1 -1
  336. package/dist/esm/kol-input-file.entry.js.map +1 -1
  337. package/dist/esm/kol-input-number.entry.js +1 -1
  338. package/dist/esm/kol-input-number.entry.js.map +1 -1
  339. package/dist/esm/kol-input-password.entry.js +1 -1
  340. package/dist/esm/kol-input-password.entry.js.map +1 -1
  341. package/dist/esm/kol-input-radio.entry.js +1 -1
  342. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  343. package/dist/esm/kol-input-range.entry.js +1 -1
  344. package/dist/esm/kol-input-range.entry.js.map +1 -1
  345. package/dist/esm/kol-input-text.entry.js +1 -1
  346. package/dist/esm/kol-input-text.entry.js.map +1 -1
  347. package/dist/esm/kol-kolibri.entry.js +1 -1
  348. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  349. package/dist/esm/kol-link-button.entry.js +1 -1
  350. package/dist/esm/kol-link-button.entry.js.map +1 -1
  351. package/dist/esm/kol-link-group.entry.js +1 -1
  352. package/dist/esm/kol-link-group.entry.js.map +1 -1
  353. package/dist/esm/kol-link-wc.entry.js +1 -1
  354. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  355. package/dist/esm/kol-link.entry.js +1 -1
  356. package/dist/esm/kol-link.entry.js.map +1 -1
  357. package/dist/esm/kol-logo.entry.js +1 -1
  358. package/dist/esm/kol-logo.entry.js.map +1 -1
  359. package/dist/esm/kol-modal.entry.js +1 -1
  360. package/dist/esm/kol-modal.entry.js.map +1 -1
  361. package/dist/esm/kol-nav.entry.js +1 -1
  362. package/dist/esm/kol-nav.entry.js.map +1 -1
  363. package/dist/esm/kol-pagination.entry.js +1 -1
  364. package/dist/esm/kol-pagination.entry.js.map +1 -1
  365. package/dist/esm/kol-progress.entry.js +1 -1
  366. package/dist/esm/kol-progress.entry.js.map +1 -1
  367. package/dist/esm/kol-select.entry.js +1 -1
  368. package/dist/esm/kol-select.entry.js.map +1 -1
  369. package/dist/esm/kol-skip-nav.entry.js +1 -1
  370. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  371. package/dist/esm/kol-span.entry.js +1 -1
  372. package/dist/esm/kol-span.entry.js.map +1 -1
  373. package/dist/esm/kol-spin.entry.js +1 -1
  374. package/dist/esm/kol-spin.entry.js.map +1 -1
  375. package/dist/esm/kol-symbol.entry.js +1 -1
  376. package/dist/esm/kol-symbol.entry.js.map +1 -1
  377. package/dist/esm/kol-table.entry.js +1 -1
  378. package/dist/esm/kol-table.entry.js.map +1 -1
  379. package/dist/esm/kol-tabs.entry.js +1 -1
  380. package/dist/esm/kol-tabs.entry.js.map +1 -1
  381. package/dist/esm/kol-textarea.entry.js +1 -1
  382. package/dist/esm/kol-textarea.entry.js.map +1 -1
  383. package/dist/esm/kol-toast.entry.js +1 -1
  384. package/dist/esm/kol-toast.entry.js.map +1 -1
  385. package/dist/esm/kol-tooltip.entry.js +1 -1
  386. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  387. package/dist/esm/kol-version.entry.js +1 -1
  388. package/dist/esm/kol-version.entry.js.map +1 -1
  389. package/dist/esm/kolibri.js +1 -1
  390. package/dist/esm/kolibri.js.map +1 -1
  391. package/dist/esm/label-ea9f2a1a.js +4 -0
  392. package/dist/esm/{label-d850cbb4.js.map → label-ea9f2a1a.js.map} +1 -1
  393. package/dist/esm/loader.js +1 -1
  394. package/dist/esm/loader.js.map +1 -1
  395. package/dist/esm/prop.validators-769a843a.js +4 -0
  396. package/dist/esm/prop.validators-769a843a.js.map +1 -0
  397. package/dist/esm/{tab-index-2ca912cf.js → tab-index-22c62334.js} +1 -1
  398. package/dist/esm/{tab-index-2ca912cf.js.map → tab-index-22c62334.js.map} +1 -1
  399. package/dist/esm/validation-d9821b54.js +4 -0
  400. package/dist/esm/{validation-af1d04b2.js.map → validation-d9821b54.js.map} +1 -1
  401. package/dist/esm/{validation-8149b359.js → validation-f13f1eed.js} +1 -1
  402. package/dist/esm/{validation-8149b359.js.map → validation-f13f1eed.js.map} +1 -1
  403. package/dist/kolibri/app-globals-81f5e91d.js +4 -0
  404. package/dist/kolibri/app-globals-81f5e91d.js.map +1 -0
  405. package/dist/kolibri/assets/images/abgrenzung.jpg +0 -0
  406. package/dist/kolibri/bund-fe1f3789.js +4 -0
  407. package/dist/kolibri/bund-fe1f3789.js.map +1 -0
  408. package/dist/kolibri/button-link-3d1888e3.js +4 -0
  409. package/dist/kolibri/button-link-3d1888e3.js.map +1 -0
  410. package/dist/kolibri/{controller-08e3801e.js → controller-04bee517.js} +1 -1
  411. package/dist/kolibri/{controller-9fc2799d.js → controller-32fdeebb.js} +1 -1
  412. package/dist/kolibri/controller-5bd06546.js +4 -0
  413. package/dist/kolibri/{controller-af8a55fa.js → controller-944c3e03.js} +1 -1
  414. package/dist/kolibri/{controller-d46544b6.js → controller-9926eaee.js} +1 -1
  415. package/dist/kolibri/{controller-6aa9b1d6.js → controller-ea28fcf8.js} +1 -1
  416. package/dist/kolibri/{controller-icon-d1bf5df0.js → controller-icon-2a9f5c13.js} +1 -1
  417. package/dist/kolibri/{devtools-a2b3092f.js → devtools-640ace8d.js} +1 -1
  418. package/dist/kolibri/i18n-8e14d822.js +4 -0
  419. package/dist/kolibri/i18n-8e14d822.js.map +1 -0
  420. package/dist/kolibri/icon-cab2d129.js +4 -0
  421. package/dist/kolibri/icon-cab2d129.js.map +1 -0
  422. package/dist/kolibri/index-4f2a12cc.js +4 -0
  423. package/dist/kolibri/index-4f2a12cc.js.map +1 -0
  424. package/dist/kolibri/index-50adf9a0.js.map +1 -1
  425. package/dist/kolibri/index-676dbf61.js +4 -0
  426. package/dist/kolibri/index-676dbf61.js.map +1 -0
  427. package/dist/kolibri/index.esm.js +1 -1
  428. package/dist/kolibri/index.esm.js.map +1 -1
  429. package/dist/kolibri/kol-abbr.entry.js +1 -1
  430. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  431. package/dist/kolibri/kol-accordion.entry.js +1 -1
  432. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  433. package/dist/kolibri/kol-alert.entry.js +1 -1
  434. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  435. package/dist/kolibri/kol-badge.entry.js +1 -1
  436. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  437. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  438. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  439. package/dist/kolibri/kol-button-group.entry.js +1 -1
  440. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  441. package/dist/kolibri/kol-button-link.entry.js +1 -1
  442. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  443. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  444. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  445. package/dist/kolibri/kol-button.entry.js +1 -1
  446. package/dist/kolibri/kol-button.entry.js.map +1 -1
  447. package/dist/kolibri/kol-card.entry.js +1 -1
  448. package/dist/kolibri/kol-card.entry.js.map +1 -1
  449. package/dist/kolibri/kol-details.entry.js +1 -1
  450. package/dist/kolibri/kol-details.entry.js.map +1 -1
  451. package/dist/kolibri/kol-form.entry.js +1 -1
  452. package/dist/kolibri/kol-form.entry.js.map +1 -1
  453. package/dist/kolibri/kol-heading-wc_2.entry.js +1 -1
  454. package/dist/kolibri/kol-heading-wc_2.entry.js.map +1 -1
  455. package/dist/kolibri/kol-heading.entry.js +1 -1
  456. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  457. package/dist/kolibri/kol-icon-icofont.entry.js.map +1 -1
  458. package/dist/kolibri/kol-icon.entry.js +1 -1
  459. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  460. package/dist/kolibri/kol-image.entry.js +4 -0
  461. package/dist/kolibri/kol-image.entry.js.map +1 -0
  462. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  463. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  464. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  465. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  466. package/dist/kolibri/kol-input-color.entry.js +1 -1
  467. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  468. package/dist/kolibri/kol-input-date.entry.js +1 -1
  469. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  470. package/dist/kolibri/kol-input-email.entry.js +1 -1
  471. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  472. package/dist/kolibri/kol-input-file.entry.js +1 -1
  473. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  474. package/dist/kolibri/kol-input-number.entry.js +1 -1
  475. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  476. package/dist/kolibri/kol-input-password.entry.js +1 -1
  477. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  478. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  479. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  480. package/dist/kolibri/kol-input-range.entry.js +1 -1
  481. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  482. package/dist/kolibri/kol-input-text.entry.js +1 -1
  483. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  484. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  485. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  486. package/dist/kolibri/kol-link-button.entry.js +1 -1
  487. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  488. package/dist/kolibri/kol-link-group.entry.js +1 -1
  489. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  490. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  491. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  492. package/dist/kolibri/kol-link.entry.js +1 -1
  493. package/dist/kolibri/kol-link.entry.js.map +1 -1
  494. package/dist/kolibri/kol-logo.entry.js +1 -1
  495. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  496. package/dist/kolibri/kol-modal.entry.js +1 -1
  497. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  498. package/dist/kolibri/kol-nav.entry.js +1 -1
  499. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  500. package/dist/kolibri/kol-pagination.entry.js +1 -1
  501. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  502. package/dist/kolibri/kol-progress.entry.js +1 -1
  503. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  504. package/dist/kolibri/kol-select.entry.js +1 -1
  505. package/dist/kolibri/kol-select.entry.js.map +1 -1
  506. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  507. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  508. package/dist/kolibri/kol-span.entry.js +1 -1
  509. package/dist/kolibri/kol-span.entry.js.map +1 -1
  510. package/dist/kolibri/kol-spin.entry.js +1 -1
  511. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  512. package/dist/kolibri/kol-symbol.entry.js +1 -1
  513. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  514. package/dist/kolibri/kol-table.entry.js +1 -1
  515. package/dist/kolibri/kol-table.entry.js.map +1 -1
  516. package/dist/kolibri/kol-tabs.entry.js +1 -1
  517. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  518. package/dist/kolibri/kol-textarea.entry.js +1 -1
  519. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  520. package/dist/kolibri/kol-toast.entry.js +1 -1
  521. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  522. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  523. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  524. package/dist/kolibri/kol-version.entry.js +1 -1
  525. package/dist/kolibri/kol-version.entry.js.map +1 -1
  526. package/dist/kolibri/kolibri.esm.js +1 -1
  527. package/dist/kolibri/kolibri.esm.js.map +1 -1
  528. package/dist/kolibri/label-ea9f2a1a.js +4 -0
  529. package/dist/kolibri/label-ea9f2a1a.js.map +1 -0
  530. package/dist/kolibri/prop.validators-769a843a.js +4 -0
  531. package/dist/kolibri/prop.validators-769a843a.js.map +1 -0
  532. package/dist/kolibri/tab-index-22c62334.js +4 -0
  533. package/dist/kolibri/{tab-index-2ca912cf.js.map → tab-index-22c62334.js.map} +1 -1
  534. package/dist/kolibri/{validation-af1d04b2.js → validation-d9821b54.js} +1 -1
  535. package/dist/kolibri/validation-f13f1eed.js +4 -0
  536. package/dist/types/components/accordion/component.d.ts +0 -3
  537. package/dist/types/components/button/test/html.mock.d.ts +7 -0
  538. package/dist/types/components/heading/component.d.ts +15 -9
  539. package/dist/types/components/heading/shadow.d.ts +2 -2
  540. package/dist/types/components/icon-icofont/component.d.ts +0 -1
  541. package/dist/types/components/image/shadow.d.ts +18 -0
  542. package/dist/types/components/image/types.d.ts +21 -0
  543. package/dist/types/components/link-group/component.d.ts +0 -1
  544. package/dist/types/components/pagination/component.d.ts +4 -4
  545. package/dist/types/components.d.ts +67 -12
  546. package/dist/types/core/i18n.d.ts +18 -0
  547. package/dist/types/core/index.d.ts +4 -0
  548. package/dist/types/enums/bund.d.ts +2 -2
  549. package/dist/types/global/script.d.ts +1 -1
  550. package/dist/types/index.d.ts +1 -1
  551. package/dist/types/schema/i18n-keys.d.ts +29 -0
  552. package/dist/types/schema/index.d.ts +2 -0
  553. package/dist/types/schema/tag-names.d.ts +50 -0
  554. package/dist/types/types/button-link.d.ts +14 -12
  555. package/dist/types/utils/prop.validators.d.ts +1 -1
  556. package/dist/types/utils/validators/loading.d.ts +3 -0
  557. package/doc/accordion.md +8 -2
  558. package/doc/badge.md +1 -1
  559. package/doc/button-link.md +1 -1
  560. package/doc/button.md +2 -2
  561. package/doc/heading.md +5 -5
  562. package/doc/icon-font-awesome.md +1 -1
  563. package/doc/icon-icofont.md +1 -1
  564. package/doc/icon.md +0 -2
  565. package/doc/image.md +60 -0
  566. package/doc/input-color.md +1 -1
  567. package/doc/input-date.md +1 -1
  568. package/doc/input-email.md +1 -1
  569. package/doc/input-file.md +1 -1
  570. package/doc/input-number.md +1 -1
  571. package/doc/input-password.md +1 -1
  572. package/doc/input-text.md +1 -1
  573. package/doc/link.md +2 -2
  574. package/doc/logo.md +1 -1
  575. package/jest-test-results.json +1 -1
  576. package/package.json +2 -2
  577. package/vscode-custom-data.json +52 -15
  578. package/dist/cjs/app-globals-c4419a36.js +0 -4
  579. package/dist/cjs/app-globals-c4419a36.js.map +0 -1
  580. package/dist/cjs/bund-5ad49011.js +0 -4
  581. package/dist/cjs/bund-5ad49011.js.map +0 -1
  582. package/dist/cjs/button-link-06ab7d7c.js +0 -4
  583. package/dist/cjs/button-link-06ab7d7c.js.map +0 -1
  584. package/dist/cjs/i18n-ca8f5c94.js +0 -4
  585. package/dist/cjs/icon-d0e921c9.js +0 -4
  586. package/dist/cjs/icon-d0e921c9.js.map +0 -1
  587. package/dist/cjs/index-cc5674d0.js.map +0 -1
  588. package/dist/cjs/label-3818e25c.js +0 -4
  589. package/dist/cjs/prop.validators-7154e3f9.js +0 -4
  590. package/dist/cjs/prop.validators-7154e3f9.js.map +0 -1
  591. package/dist/esm/app-globals-addf78f2.js +0 -4
  592. package/dist/esm/app-globals-addf78f2.js.map +0 -1
  593. package/dist/esm/bund-7a6ffb62.js +0 -4
  594. package/dist/esm/bund-7a6ffb62.js.map +0 -1
  595. package/dist/esm/button-link-54acc67b.js.map +0 -1
  596. package/dist/esm/i18n-1305db0e.js +0 -4
  597. package/dist/esm/icon-f44df3c5.js +0 -4
  598. package/dist/esm/icon-f44df3c5.js.map +0 -1
  599. package/dist/esm/index-599f5430.js.map +0 -1
  600. package/dist/esm/label-d850cbb4.js +0 -4
  601. package/dist/esm/prop.validators-15724e89.js +0 -4
  602. package/dist/esm/prop.validators-15724e89.js.map +0 -1
  603. package/dist/esm/validation-af1d04b2.js +0 -4
  604. package/dist/kolibri/app-globals-addf78f2.js +0 -4
  605. package/dist/kolibri/app-globals-addf78f2.js.map +0 -1
  606. package/dist/kolibri/bund-7a6ffb62.js +0 -4
  607. package/dist/kolibri/bund-7a6ffb62.js.map +0 -1
  608. package/dist/kolibri/button-link-54acc67b.js +0 -4
  609. package/dist/kolibri/button-link-54acc67b.js.map +0 -1
  610. package/dist/kolibri/controller-31f6d372.js +0 -4
  611. package/dist/kolibri/i18n-1305db0e.js +0 -4
  612. package/dist/kolibri/i18n-1305db0e.js.map +0 -1
  613. package/dist/kolibri/icon-f44df3c5.js +0 -4
  614. package/dist/kolibri/icon-f44df3c5.js.map +0 -1
  615. package/dist/kolibri/index-599f5430.js +0 -4
  616. package/dist/kolibri/index-599f5430.js.map +0 -1
  617. package/dist/kolibri/label-d850cbb4.js +0 -4
  618. package/dist/kolibri/label-d850cbb4.js.map +0 -1
  619. package/dist/kolibri/prop.validators-15724e89.js +0 -4
  620. package/dist/kolibri/prop.validators-15724e89.js.map +0 -1
  621. package/dist/kolibri/tab-index-2ca912cf.js +0 -4
  622. package/dist/kolibri/validation-8149b359.js +0 -4
  623. package/dist/types/components/icon-icofont/test/html.mock.d.ts +0 -2
  624. package/dist/types/components/link-group/test/html.mock.d.ts +0 -2
  625. /package/dist/kolibri/{controller-08e3801e.js.map → controller-04bee517.js.map} +0 -0
  626. /package/dist/kolibri/{controller-9fc2799d.js.map → controller-32fdeebb.js.map} +0 -0
  627. /package/dist/kolibri/{controller-31f6d372.js.map → controller-5bd06546.js.map} +0 -0
  628. /package/dist/kolibri/{controller-af8a55fa.js.map → controller-944c3e03.js.map} +0 -0
  629. /package/dist/kolibri/{controller-d46544b6.js.map → controller-9926eaee.js.map} +0 -0
  630. /package/dist/kolibri/{controller-6aa9b1d6.js.map → controller-ea28fcf8.js.map} +0 -0
  631. /package/dist/kolibri/{controller-icon-d1bf5df0.js.map → controller-icon-2a9f5c13.js.map} +0 -0
  632. /package/dist/kolibri/{devtools-a2b3092f.js.map → devtools-640ace8d.js.map} +0 -0
  633. /package/dist/kolibri/{validation-af1d04b2.js.map → validation-d9821b54.js.map} +0 -0
  634. /package/dist/kolibri/{validation-8149b359.js.map → validation-f13f1eed.js.map} +0 -0
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e,t,o){return e(o={path:t,exports:{},require:function(e,t){return n()}},o.exports),o.exports}function n(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var o=t((function(t){!function(e,o){t.exports?t.exports=o():e.log=o()}(e,(function(){var e=function(){},t="undefined",o=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),n=["trace","debug","info","warn","error"];function l(e,t){var o=e[t];if("function"==typeof o.bind)return o.bind(e);try{return Function.prototype.bind.call(o,e)}catch(t){return function(){return Function.prototype.apply.apply(o,[e,arguments])}}}function s(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function r(n){return"debug"===n&&(n="log"),typeof console!==t&&("trace"===n&&o?s:void 0!==console[n]?l(console,n):void 0!==console.log?l(console,"log"):e)}function i(t,o){for(var l=0;l<n.length;l++){var s=n[l];this[s]=l<t?e:this.methodFactory(s,t,o)}this.log=this.debug}function a(e,o,n){return function(){typeof console!==t&&(i.call(this,o,n),this[e].apply(this,arguments))}}function c(e,t,o){return r(e)||a.apply(this,arguments)}function f(e,o,l){var s,r=this;o=null==o?"WARN":o;var a="loglevel";function f(e){var o=(n[e]||"silent").toUpperCase();if(typeof window!==t&&a){try{return void(window.localStorage[a]=o)}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"="+o+";"}catch(e){}}}function y(){var e;if(typeof window!==t&&a){try{e=window.localStorage[a]}catch(e){}if(typeof e===t)try{var o=window.document.cookie,n=o.indexOf(encodeURIComponent(a)+"=");-1!==n&&(e=/^([^;]+)/.exec(o.slice(n))[1])}catch(e){}return void 0===r.levels[e]&&(e=void 0),e}}"string"==typeof e?a+=":"+e:"symbol"==typeof e&&(a=void 0),r.name=e,r.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},r.methodFactory=l||c,r.getLevel=function(){return s},r.setLevel=function(o,n){if("string"==typeof o&&void 0!==r.levels[o.toUpperCase()]&&(o=r.levels[o.toUpperCase()]),!("number"==typeof o&&o>=0&&o<=r.levels.SILENT))throw"log.setLevel() called with invalid level: "+o;if(s=o,!1!==n&&f(o),i.call(r,o,e),typeof console===t&&o<r.levels.SILENT)return"No console available for logging"},r.setDefaultLevel=function(e){o=e,y()||r.setLevel(e,!1)},r.resetLevel=function(){r.setLevel(o,!1),function(){if(typeof window!==t&&a){try{return void window.localStorage.removeItem(a)}catch(e){}try{window.document.cookie=encodeURIComponent(a)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}}()},r.enableAll=function(e){r.setLevel(r.levels.TRACE,e)},r.disableAll=function(e){r.setLevel(r.levels.SILENT,e)};var h=y();null==h&&(h=o),r.setLevel(h,!1)}var y=new f,h={};y.getLogger=function(e){if("symbol"!=typeof e&&"string"!=typeof e||""===e)throw new TypeError("You must supply a name when creating a logger.");var t=h[e];return t||(t=h[e]=new f(e,y.getLevel(),y.methodFactory)),t};var m=typeof window!==t?window.log:void 0;return y.noConflict=function(){return typeof window!==t&&window.log===y&&(window.log=m),y},y.getLoggers=function(){return h},y.default=y,y}))}));const i=(e,t)=>o=>o(e,t),s=(e,t)=>o=>o(e,t),f="object"==typeof window?window:"object"==typeof global?global:"object"==typeof self?self:{};let l=!0,r=!1;const c=/^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/,u=e=>"string"==typeof e&&c.test(e),a=e=>{if(!1===u(e))throw new Error(`[Theming] The theme identifier "${"string"==typeof e?e:""}" (Type: ${typeof e}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`)},y=(e,t,n)=>{a(e),!0===l&&!1===r&&(r=!0,o.warn(`[Theming] The theme process is locked. This means that the theme "${e}" should not be patched.\n\nimport { register } from '@a11y-ui/core';\nimport { defineCustomElements } from '...';\nimport { THEME } from '...';\n\nregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\tconst htmlDivElement: HTMLElement | null = document.querySelector<HTMLElement>('#my-app');\n if (htmlDivElement instanceof HTMLElement) {\n const root = createRoot(htmlDivElement);\n root.render(<App />);\n }\n })\n .catch(console.warn);`)),"object"==typeof f.A11yUi&&null!==f.A11yUi||(f.A11yUi={}),"object"!=typeof f.A11yUi||null===f.A11yUi||"object"==typeof f.A11yUi.Themes&&null!==f.A11yUi.Themes||(f.A11yUi.Themes={}),"object"!=typeof f.A11yUi||null===f.A11yUi||"object"!=typeof f.A11yUi.Themes||null===f.A11yUi.Themes||"object"==typeof f.A11yUi.Themes[e]&&null!==f.A11yUi.Themes[e]||(f.A11yUi.Themes[e]={}),"object"==typeof f.A11yUi&&null!==f.A11yUi&&"object"==typeof f.A11yUi.Themes&&null!==f.A11yUi.Themes&&"object"==typeof f.A11yUi.Themes[e]&&null!==f.A11yUi.Themes[e]&&(f.A11yUi.Themes[e][t]=n)},p=(e,t)=>{if(a(e),"object"==typeof t&&null!==t){Object.getOwnPropertyNames(t).forEach((o=>{const n=t[o];"string"==typeof n&&n.length>0&&y(e,o,n)}))}return e},d=e=>{if(e instanceof HTMLElement){if("string"==typeof e.dataset.theme)return e;{let t=e.parentNode;for(;t instanceof ShadowRoot;)t=t.host;return d(t)}}return null},h=(e={})=>"false"!==e.themeEncroachCss&&"true"!==e.themeReset&&{mode:"after"===e.themeEncroachCssMode||"before"===e.themeEncroachCssMode?e.themeEncroachCssMode:"before"},w=()=>"object"==typeof f.A11yUi&&null!==f.A11yUi&&"object"==typeof f.A11yUi.Theme&&null!==f.A11yUi.Theme&&"boolean"==typeof f.A11yUi.Theme.cache&&"object"==typeof f.A11yUi.Theme.encroachCss&&null!==typeof f.A11yUi.Theme.encroachCss&&"string"==typeof f.A11yUi.Theme.encroachCss.mode&&"string"==typeof f.A11yUi.Theme.name,m=()=>!1==("object"==typeof f.A11yUi&&null!==f.A11yUi)||!1==("object"==typeof f.A11yUi.Theme&&null!==f.A11yUi.Theme)||"default"!==f.A11yUi.Theme.name,b=e=>{if(w())return f.A11yUi.Theme;{const t={cache:!0,encroachCss:h(),loglevel:"silent",name:null},o=d(e);return o instanceof HTMLElement&&(t.cache="false"!==o.dataset.themeCache,t.encroachCss=h(o.dataset),t.loglevel="debug"===o.dataset.themeLoglevel?o.dataset.themeLoglevel:"silent",t.name=o.dataset.theme||null),t}},g=(e,t)=>({cache:!1!==t.cache,detect:"auto"===t.detect?"auto":"fixed",encroachCss:!1!==t.encroachCss&&("object"!=typeof t.encroachCss||null==t.encroachCss||"after"!==t.encroachCss.mode&&"before"!==t.encroachCss.mode?{mode:"before"}:t.encroachCss),loglevel:"debug"===t.loglevel?t.loglevel:"silent",name:"string"==typeof t.name?t.name:e}),T=(e,t)=>{!1!==w()||0!=("object"==typeof f.A11yUi&&null!==f.A11yUi)&&0!=("object"==typeof f.A11yUi.Theme&&null!==f.A11yUi.Theme)&&"default"===f.A11yUi.Theme.name||"object"==typeof t&&null!==t&&("fixed"===(t=g(e,t)).detect?(null===t.name&&"string"==typeof e&&(t.name=e),e===t.name&&("object"==typeof f.A11yUi&&null!==f.A11yUi||(f.A11yUi={}),f.A11yUi.Theme=t,o.info(`[Theming] Theme "${e}" was set as default theme.`))):o.warn("[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode."))};let v=!1;const E=(e,t,n={})=>{!1===v&&(v=!0,l=!1),"function"==typeof e?e=new Set([e]):Array.isArray(e)&&(e=new Set(e)),e instanceof Set&&e.forEach((e=>{"function"==typeof e&&1===e.length?T(e(p),{cache:n.theme?.cache,detect:n.theme?.detect,encroachCss:n.theme?.encroachCss,name:n.theme?.name}):o.error("[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.")})),l=!0,"function"==typeof t?t=new Set([t]):Array.isArray(t)&&(t=new Set(t));const s=[];return t.forEach((e=>s.push(e()))),Promise.all(s)},j=new Map,S=[],A=new Set,L=new Map,R=/--[^;]+/g,C=/:/;"object"==typeof f.A11yUi&&null!==f.A11yUi||(f.A11yUi={CSS_STYLE_CACHE:L,HYDRATED_HISTORY:S,STYLING_TASK_QUEUE:j});const D=(e,t)=>{let o=t.match(R);if(Array.isArray(o)){o=o.filter((e=>C.test(e)));const t=document.createElement("style");t.innerHTML=`.${e} {${o.join(";")}}`,document.querySelector("head")?.appendChild(t)}A.add(e)},M=(e,t)=>"object"==typeof f.A11yUi&&null!==f.A11yUi&&"object"==typeof f.A11yUi.Themes&&null!==f.A11yUi.Themes&&"object"==typeof f.A11yUi.Themes[e]&&null!==f.A11yUi.Themes[e]&&"string"==typeof f.A11yUi.Themes[e][t]?f.A11yUi.Themes[e][t].replace(/\r?\n/g,""):"",H=e=>{for(const t of Array.from(e.childNodes)){if(!(t instanceof HTMLStyleElement&&"STYLE"===t.tagName))break;e.removeChild(t)}},O=(e,t)=>{try{const o=[];t.forEach((e=>{const t=new CSSStyleSheet;t.replaceSync(e),o.push(t)})),e.adoptedStyleSheets=o}catch(o){t.reverse().forEach((t=>{const o=document.createElement("style");o.innerHTML=t,e.insertBefore(o,e.firstChild)}))}},I=(e,t,o)=>{if(!1!==o){const n=[...Array.from(e.childNodes).filter((e=>e instanceof HTMLStyleElement&&"STYLE"===e.tagName))];let l;try{l=[...Array.from(e.adoptedStyleSheets)]}catch(e){l=[]}"before"===o?.mode?(n.reverse().forEach((e=>t.unshift(e.innerHTML))),l.reverse().forEach((e=>t.unshift(Array.from(e.cssRules).map((e=>e.cssText)).join(""))))):"after"===o?.mode&&(n.forEach((e=>t.push(e.innerHTML))),l.forEach((e=>t.push(Array.from(e.cssRules).map((e=>e.cssText)).join("")))))}},$=(e,t,o)=>{const n=t.name||"default";let l;try{if(null===e.shadowRoot)throw new Error("ShadowRoot is null");l=e.shadowRoot}catch(t){l=e}if(L.get(n)?.has(e.tagName))z(e,l,L.get(n)?.get(e.tagName),o);else{const s=M(n,"PROPERTIES"),r=M(n,"GLOBAL"),i=M(n,e.tagName);!1===A.has(n)&&D(n,r);const a=[s,r,i];I(l,a,t.encroachCss),"debug"===t.loglevel&&console.log(e.tagName,a),!0===t.cache&&(!1===L.has(n)&&L.set(n,new Map),L.get(n)?.set(e.tagName,a)),z(e,l,a,o)}},z=(e,t,o,n)=>{H(t),O(t,o),e.style.display=n},U=e=>{"debug"===e.loglevel&&S.push({timestamp:Date.now(),numberOfTasks:j.size})},Y=(e,t)=>{j.set(e,{styleDisplay:`${e.style.display}`,themeDetails:t})},x=(e,t)=>{Y(e,t),U(t)},N=e=>{j.delete(e)},F=(e,t)=>{N(e),U(t)},_=e=>{const t=setTimeout((()=>{if(clearTimeout(t),j.has(e)&&e.classList.contains("hydrated")){const{styleDisplay:t,themeDetails:o}=j.get(e);$(e,o,t),F(e,o)}else _(e)}),25)},k=e=>{for(const t of e)if(j.has(t.target)&&t.target.classList.contains("hydrated")){const{styleDisplay:e,themeDetails:o}=j.get(t.target);$(t.target,o,e),F(t.target,o)}},P={attributes:!0,attributeFilter:["class"],childList:!1,subtree:!1};let q;try{q=new MutationObserver(k)}catch(e){q=null}const G=(e,t)=>{x(e,t),q?q.observe(e,P):_(e),e.style.display="none"};class B{constructor(e,t,o){this.createTheme=(e,t)=>s(e,t),this.createTranslation=(e,t)=>i(e,t),this.Prefix=e,this.Key=Object.getOwnPropertyNames(t),this.Tag=Object.getOwnPropertyNames(o)}}export{f as S,B as T,y as a,b as g,p,E as r,G as s};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["root","definition","module","exports","log","this","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","self","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","localStorage","ignore","document","cookie","encodeURIComponent","getPersistedLevel","storedLevel","location","indexOf","exec","slice","levels","clearPersistedLevel","removeItem","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","setDefaultLevel","resetLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","createTranslation","map","patch","createTheme","STORE","global","lockThemePatching","warrentyWarning","THEME_NAME_PATTERN","isThemeNameValid","validateThemeName","Error","patchThemeTag","themeName","tagName","css","warn","A11yUi","Themes","patchTheme","tagNames","Object","getOwnPropertyNames","forEach","cssStyle","getThemeNode","element","HTMLElement","dataset","theme","parentNode","ShadowRoot","host","getEncroachCss","themeEncroachCss","themeReset","mode","themeEncroachCssMode","isTheCurrentThemeConfigValid","Theme","cache","encroachCss","isTheCurrentThemeNotDefault","getThemeDetails","details","loglevel","themeNode","themeCache","themeLoglevel","getThemeOptionDefaults","options","detect","setConfigureTheme","info","registered","register","themes","loaders","Set","Array","isArray","error","promises","loader","push","Promise","all","STYLING_TASK_QUEUE","Map","HYDRATED_HISTORY","CSS_PROPERTIES_REGISTERED","CSS_STYLE_CACHE","REGEX_CSS_PROPERTIES","REGEX_SPLIT_CSS_PROPERTY","extractProperties","properties","match","filter","property","style","createElement","innerHTML","join","querySelector","appendChild","add","getCssStyle","replace","removeStyle","shadow","childNode","from","childNodes","HTMLStyleElement","removeChild","patchStyle","styles","styleSheets","styleSheet","CSSStyleSheet","replaceSync","adoptedStyleSheets","reverse","styleElement","insertBefore","firstChild","encroachStyles","defaultStyleNodes","node","defaultStyleSheets","unshift","cssRules","rule","cssText","setThemeStyleAfterHydrated","elm","themeDetails","styleDisplay","shadowRoot","get","has","switchStyle","PROPERTY_STYLE","GLOBAL_STYLE","TAG_STYLE","STYLES","set","display","logHydratedHistory","timestamp","Date","now","numberOfTasks","size","pushToDoTask","loggedPushToDoTask","deleteDoneTask","delete","loggedDeleteDoneTask","waitForHydrated","T","setTimeout","clearTimeout","classList","contains","observerCallback","mutationsList","mutation","target","observerOptions","attributes","attributeFilter","childList","subtree","observer","MutationObserver","setThemeStyle","observe","constructor","prefix","keyEnum","tagEnum","Prefix","Key","Tag"],"sources":["./node_modules/loglevel/lib/loglevel.js","./node_modules/@a11y-ui/core/dist/index.mjs"],"sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import log from 'loglevel';\n\nconst createTranslation = (name, map) => {\n return (patch) => patch(name, map);\n};\n\nconst createTheme = (name, map) => {\n return (patch) => patch(name, map);\n};\n\nconst STORE = typeof window === \"object\" ? window : typeof global === \"object\" ? global : typeof self === \"object\" ? self : {};\n\nlet lockThemePatching = true;\nlet warrentyWarning = false;\nconst THEME_NAME_PATTERN = /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/;\nconst isThemeNameValid = (name) => {\n return typeof name === \"string\" && THEME_NAME_PATTERN.test(name);\n};\nconst validateThemeName = (name) => {\n if (isThemeNameValid(name) === false) {\n throw new Error(\n `[Theming] The theme identifier \"${typeof name === \"string\" ? name : \"\"}\" (Type: ${typeof name}) is not valid. Please use only follow this pattern: /^[a-z][a-z0-9]{1,}(-[a-z0-9]+)?$/`\n );\n }\n};\nconst patchThemeTag = (themeName, tagName, css) => {\n validateThemeName(themeName);\n if (lockThemePatching === true && warrentyWarning === false) {\n warrentyWarning = true;\n log.warn(\n `[Theming] The theme process is locked. This means that the theme \"${themeName}\" should not be patched.\n\nimport { register } from '@a11y-ui/core';\nimport { defineCustomElements } from '...';\nimport { THEME } from '...';\n\nregister(THEME, defineCustomElements)\n\t.then(() => {\n\t\tconst htmlDivElement: HTMLElement | null = document.querySelector<HTMLElement>('#my-app');\n if (htmlDivElement instanceof HTMLElement) {\n const root = createRoot(htmlDivElement);\n root.render(<App />);\n }\n })\n .catch(console.warn);`\n );\n }\n if (typeof STORE.A11yUi !== \"object\" || STORE.A11yUi === null) {\n STORE.A11yUi = {};\n }\n if (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && (typeof STORE.A11yUi.Themes !== \"object\" || STORE.A11yUi.Themes === null)) {\n STORE.A11yUi.Themes = {};\n }\n if (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Themes === \"object\" && STORE.A11yUi.Themes !== null && (typeof STORE.A11yUi.Themes[themeName] !== \"object\" || STORE.A11yUi.Themes[themeName] === null)) {\n STORE.A11yUi.Themes[themeName] = {};\n }\n if (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Themes === \"object\" && STORE.A11yUi.Themes !== null && typeof STORE.A11yUi.Themes[themeName] === \"object\" && STORE.A11yUi.Themes[themeName] !== null) {\n STORE.A11yUi.Themes[themeName][tagName] = css;\n }\n};\nconst patchTheme = (name, map) => {\n validateThemeName(name);\n if (typeof map === \"object\" && map !== null) {\n const tagNames = Object.getOwnPropertyNames(map);\n tagNames.forEach((tagName) => {\n const cssStyle = map[tagName];\n if (typeof cssStyle === \"string\" && cssStyle.length > 0) {\n patchThemeTag(name, tagName, cssStyle);\n }\n });\n }\n return name;\n};\nconst getThemeNode = (element) => {\n if (element instanceof HTMLElement) {\n if (typeof element.dataset.theme === \"string\") {\n return element;\n } else {\n let parentNode = element.parentNode;\n while (parentNode instanceof ShadowRoot) {\n parentNode = parentNode.host;\n }\n return getThemeNode(parentNode);\n }\n } else {\n return null;\n }\n};\nconst getEncroachCss = (dataset = {}) => {\n if (dataset.themeEncroachCss === \"false\" || dataset.themeReset === \"true\") {\n return false;\n } else {\n return {\n mode: dataset.themeEncroachCssMode === \"after\" || dataset.themeEncroachCssMode === \"before\" ? dataset.themeEncroachCssMode : \"before\"\n };\n }\n};\nconst isTheCurrentThemeConfigValid = () => typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Theme === \"object\" && STORE.A11yUi.Theme !== null && typeof STORE.A11yUi.Theme.cache === \"boolean\" && typeof STORE.A11yUi.Theme.encroachCss === \"object\" && typeof STORE.A11yUi.Theme.encroachCss !== null && typeof STORE.A11yUi.Theme.encroachCss.mode === \"string\" && typeof STORE.A11yUi.Theme.name === \"string\";\nconst isTheCurrentThemeNotDefault = () => (typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null) === false || (typeof STORE.A11yUi.Theme === \"object\" && STORE.A11yUi.Theme !== null) === false || STORE.A11yUi.Theme.name !== \"default\";\nconst getThemeDetails = (element) => {\n if (isTheCurrentThemeConfigValid()) {\n return STORE.A11yUi.Theme;\n } else {\n const details = {\n cache: true,\n encroachCss: getEncroachCss(),\n loglevel: \"silent\",\n name: null\n };\n const themeNode = getThemeNode(element);\n if (themeNode instanceof HTMLElement) {\n details.cache = themeNode.dataset.themeCache !== \"false\";\n details.encroachCss = getEncroachCss(themeNode.dataset);\n details.loglevel = themeNode.dataset.themeLoglevel === \"debug\" ? themeNode.dataset.themeLoglevel : \"silent\";\n details.name = themeNode.dataset.theme || null;\n }\n return details;\n }\n};\nconst getTheme = (element) => {\n return getThemeDetails(element).name;\n};\nconst getThemeOptionDefaults = (themeName, options) => {\n return {\n cache: options.cache !== false,\n // default: true\n detect: options.detect === \"auto\" ? \"auto\" : \"fixed\",\n // default: 'fixed'\n encroachCss: options.encroachCss === false ? false : typeof options.encroachCss === \"object\" && options.encroachCss != null && (options.encroachCss.mode === \"after\" || options.encroachCss.mode === \"before\") ? options.encroachCss : {\n mode: \"before\"\n // default: 'before'\n },\n loglevel: options.loglevel === \"debug\" ? options.loglevel : \"silent\",\n // default: 'silent'\n name: typeof options.name === \"string\" ? options.name : themeName\n // default: themeName\n };\n};\nconst setConfigureTheme = (themeName, options) => {\n if (isTheCurrentThemeConfigValid() === false && isTheCurrentThemeNotDefault()) {\n if (\n // Die Options müssen ein Objekt sein.\n typeof options === \"object\" && options !== null\n ) {\n options = getThemeOptionDefaults(themeName, options);\n if (\n /**\n * The presetting of theme options is only relevant by using 'fixed'\n * detection mode.\n */\n options.detect === \"fixed\"\n ) {\n if (options.name === null && typeof themeName === \"string\") {\n options.name = themeName;\n }\n if (\n /**\n * Wenn mehrere Themes geladen werden, dann wird nur der Theme-Name gesetzt,\n * der mit dem Name eines Themes übereinstimmt.\n */\n themeName === options.name\n ) {\n if (typeof STORE.A11yUi !== \"object\" || STORE.A11yUi === null) {\n STORE.A11yUi = {};\n }\n STORE.A11yUi.Theme = options;\n log.info(`[Theming] Theme \"${themeName}\" was set as default theme.`);\n }\n } else {\n log.warn(`[Theming] The presetting of theme options is only relevant by using 'fixed' detection mode.`);\n }\n }\n }\n};\nlet registered = false;\nconst register = (themes, loaders, options = {}) => {\n if (registered === false) {\n registered = true;\n lockThemePatching = false;\n }\n if (typeof themes === \"function\") {\n themes = /* @__PURE__ */ new Set([themes]);\n } else if (Array.isArray(themes)) {\n themes = new Set(themes);\n }\n if (themes instanceof Set) {\n themes.forEach((theme) => {\n if (typeof theme === \"function\" && theme.length === 1) {\n setConfigureTheme(theme(patchTheme), {\n cache: options.theme?.cache,\n detect: options.theme?.detect,\n encroachCss: options.theme?.encroachCss,\n name: options.theme?.name\n });\n } else {\n log.error(`[Theming] Es wurde versucht eine nicht kompatibles Theme zu laden.`);\n }\n });\n }\n lockThemePatching = true;\n if (typeof loaders === \"function\") {\n loaders = /* @__PURE__ */ new Set([loaders]);\n } else if (Array.isArray(loaders)) {\n loaders = new Set(loaders);\n }\n const promises = [];\n loaders.forEach((loader) => promises.push(loader()));\n return Promise.all(promises);\n};\n\nconst _RobustStore = class {\n constructor(object, identifier) {\n this.store = this.createStore(object, identifier);\n }\n static getInstance(identifier, object) {\n let instance = _RobustStore.instances.get(identifier);\n if (instance === void 0) {\n instance = new _RobustStore(object, identifier);\n _RobustStore.instances.set(identifier, instance);\n }\n return instance;\n }\n createStore(object, identifier) {\n Object.defineProperty(object, identifier, {\n enumerable: false,\n value: {},\n writable: false\n });\n return object[identifier];\n }\n recursiveSetItem(store, key, value, options = _RobustStore.options) {\n let storeValue = typeof value === \"object\" && value !== null ? {} : value;\n Object.defineProperty(store, key, {\n enumerable: options.enumerable === true,\n get: () => storeValue,\n /**\n * Die set Methode muss eigentlich ein this.recursiveSetItem aufrufen.\n */\n set: options.immutable === true ? void 0 : (value2) => storeValue = value2\n });\n if (typeof value === \"object\" && value !== null) {\n for (const [k, v] of Object.entries(value)) {\n this.recursiveSetItem(store[key], k, v, options);\n }\n }\n }\n setItem(key, value, options = _RobustStore.options) {\n this.recursiveSetItem(this.store, key, value, options);\n return this;\n }\n getItem(key) {\n if (Array.isArray(key)) {\n return key.map((k) => this.getItem(k));\n }\n return this.store[key];\n }\n};\nlet RobustStore = _RobustStore;\nRobustStore.options = {\n enumerable: false,\n immutable: false\n};\nRobustStore.instances = /* @__PURE__ */ new Map();\n\nconst STYLING_TASK_QUEUE = /* @__PURE__ */ new Map();\nconst HYDRATED_HISTORY = [];\nconst CSS_PROPERTIES_REGISTERED = /* @__PURE__ */ new Set();\nconst CSS_STYLE_CACHE = /* @__PURE__ */ new Map();\nconst REGEX_CSS_PROPERTIES = /--[^;]+/g;\nconst REGEX_SPLIT_CSS_PROPERTY = /:/;\nif (typeof STORE.A11yUi !== \"object\" || STORE.A11yUi === null) {\n STORE.A11yUi = {\n CSS_STYLE_CACHE,\n HYDRATED_HISTORY,\n STYLING_TASK_QUEUE\n };\n}\nconst extractProperties = (themeName, css) => {\n let properties = css.match(REGEX_CSS_PROPERTIES);\n if (Array.isArray(properties)) {\n properties = properties.filter((property) => REGEX_SPLIT_CSS_PROPERTY.test(property));\n const style = document.createElement(\"style\");\n style.innerHTML = `.${themeName} {${properties.join(\";\")}}`;\n document.querySelector(\"head\")?.appendChild(style);\n }\n CSS_PROPERTIES_REGISTERED.add(themeName);\n};\nconst getCssStyle = (themeName, tagName) => {\n if (\n /**\n * Search custom StyleSheet in Config\n * TODO: Performance???\n */\n typeof STORE.A11yUi === \"object\" && STORE.A11yUi !== null && typeof STORE.A11yUi.Themes === \"object\" && STORE.A11yUi.Themes !== null && typeof STORE.A11yUi.Themes[themeName] === \"object\" && STORE.A11yUi.Themes[themeName] !== null && typeof STORE.A11yUi.Themes[themeName][tagName] === \"string\"\n ) {\n return STORE.A11yUi.Themes[themeName][tagName].replace(\n /\\r?\\n/g,\n \"\"\n );\n } else {\n return \"\";\n }\n};\nconst removeStyle = (shadow) => {\n for (const childNode of Array.from(shadow.childNodes)) {\n if (childNode instanceof HTMLStyleElement && childNode.tagName === \"STYLE\") {\n shadow.removeChild(childNode);\n } else {\n break;\n }\n }\n};\nconst patchStyle = (shadow, styles) => {\n try {\n const styleSheets = [];\n styles.forEach((style) => {\n const styleSheet = new CSSStyleSheet();\n styleSheet.replaceSync(style);\n styleSheets.push(styleSheet);\n });\n shadow.adoptedStyleSheets = styleSheets;\n } catch (e) {\n styles.reverse().forEach((style) => {\n const styleElement = document.createElement(\"style\");\n styleElement.innerHTML = style;\n shadow.insertBefore(styleElement, shadow.firstChild);\n });\n }\n};\nconst encroachStyles = (shadow, styles, encroachCss) => {\n if (encroachCss !== false) {\n const defaultStyleNodes = [\n ...Array.from(shadow.childNodes).filter((node) => node instanceof HTMLStyleElement && node.tagName === \"STYLE\")\n ];\n let defaultStyleSheets;\n try {\n defaultStyleSheets = [...Array.from(shadow.adoptedStyleSheets)];\n } catch (e) {\n defaultStyleSheets = [];\n }\n if (encroachCss?.mode === \"before\") {\n defaultStyleNodes.reverse().forEach((style) => styles.unshift(style.innerHTML));\n defaultStyleSheets.reverse().forEach(\n (style) => styles.unshift(\n Array.from(style.cssRules).map((rule) => rule.cssText).join(\"\")\n )\n );\n } else if (encroachCss?.mode === \"after\") {\n defaultStyleNodes.forEach((style) => styles.push(style.innerHTML));\n defaultStyleSheets.forEach(\n (style) => styles.push(\n Array.from(style.cssRules).map((rule) => rule.cssText).join(\"\")\n )\n );\n }\n }\n};\nconst setThemeStyleAfterHydrated = (elm, themeDetails, styleDisplay) => {\n const themeName = themeDetails.name || \"default\";\n let shadow;\n try {\n if (elm.shadowRoot === null) {\n throw new Error(\"ShadowRoot is null\");\n }\n shadow = elm.shadowRoot;\n } catch (e) {\n shadow = elm;\n }\n if (CSS_STYLE_CACHE.get(themeName)?.has(elm.tagName)) {\n switchStyle(elm, shadow, CSS_STYLE_CACHE.get(themeName)?.get(elm.tagName), styleDisplay);\n } else {\n const PROPERTY_STYLE = getCssStyle(themeName, \"PROPERTIES\");\n const GLOBAL_STYLE = getCssStyle(themeName, \"GLOBAL\");\n const TAG_STYLE = getCssStyle(themeName, elm.tagName);\n if (CSS_PROPERTIES_REGISTERED.has(themeName) === false) {\n extractProperties(themeName, GLOBAL_STYLE);\n }\n const STYLES = [PROPERTY_STYLE, GLOBAL_STYLE, TAG_STYLE];\n encroachStyles(shadow, STYLES, themeDetails.encroachCss);\n if (themeDetails.loglevel === \"debug\") {\n console.log(elm.tagName, STYLES);\n }\n if (themeDetails.cache === true) {\n if (CSS_STYLE_CACHE.has(themeName) === false) {\n CSS_STYLE_CACHE.set(themeName, /* @__PURE__ */ new Map());\n }\n CSS_STYLE_CACHE.get(themeName)?.set(elm.tagName, STYLES);\n }\n switchStyle(elm, shadow, STYLES, styleDisplay);\n }\n};\nconst switchStyle = (elm, shadow, styles, styleDisplay) => {\n removeStyle(shadow);\n patchStyle(shadow, styles);\n elm.style.display = styleDisplay;\n};\nconst logHydratedHistory = (themeDetails) => {\n if (themeDetails.loglevel === \"debug\") {\n HYDRATED_HISTORY.push({\n timestamp: Date.now(),\n numberOfTasks: STYLING_TASK_QUEUE.size\n });\n }\n};\nconst pushToDoTask = (elm, themeDetails) => {\n STYLING_TASK_QUEUE.set(elm, {\n /**\n * Das Element soll solange nicht sichtbar bleiben\n * bis der Style im DOM gesetzt ist.\n */\n styleDisplay: `${elm.style.display}`,\n themeDetails\n });\n};\nconst loggedPushToDoTask = (elm, themeDetails) => {\n pushToDoTask(elm, themeDetails);\n logHydratedHistory(themeDetails);\n};\nconst deleteDoneTask = (elm) => {\n STYLING_TASK_QUEUE.delete(elm);\n};\nconst loggedDeleteDoneTask = (elm, themeDetails) => {\n deleteDoneTask(elm);\n logHydratedHistory(themeDetails);\n};\nconst waitForHydrated = (elm) => {\n const T = setTimeout(() => {\n clearTimeout(T);\n if (STYLING_TASK_QUEUE.has(elm) && elm.classList.contains(\"hydrated\")) {\n const { styleDisplay, themeDetails } = STYLING_TASK_QUEUE.get(elm);\n setThemeStyleAfterHydrated(elm, themeDetails, styleDisplay);\n loggedDeleteDoneTask(elm, themeDetails);\n } else {\n waitForHydrated(elm);\n }\n }, 25);\n};\nconst observerCallback = (mutationsList) => {\n for (const mutation of mutationsList) {\n if (\n /**\n * Save by observer config\n */\n // mutation.type === 'attributes' &&\n // mutation.attributeName === 'class' &&\n /**\n * Implizit check for HTMLElement\n */\n // mutation.target &&\n STYLING_TASK_QUEUE.has(mutation.target) && mutation.target.classList.contains(\"hydrated\")\n ) {\n const { styleDisplay, themeDetails } = STYLING_TASK_QUEUE.get(mutation.target);\n setThemeStyleAfterHydrated(mutation.target, themeDetails, styleDisplay);\n loggedDeleteDoneTask(mutation.target, themeDetails);\n }\n }\n};\nconst observerOptions = {\n attributes: true,\n attributeFilter: [\"class\"],\n childList: false,\n subtree: false\n};\nlet observer;\ntry {\n observer = new MutationObserver(observerCallback);\n} catch (e) {\n observer = null;\n}\nconst setThemeStyle = (elm, themeDetails) => {\n loggedPushToDoTask(elm, themeDetails);\n if (observer) {\n observer.observe(elm, observerOptions);\n } else {\n waitForHydrated(elm);\n }\n elm.style.display = \"none\";\n};\n\nclass Theme {\n constructor(prefix, keyEnum, tagEnum) {\n this.createTheme = (name, map) => createTheme(name, map);\n this.createTranslation = (name, map) => createTranslation(name, map);\n this.Prefix = prefix;\n this.Key = Object.getOwnPropertyNames(keyEnum);\n this.Tag = Object.getOwnPropertyNames(tagEnum);\n }\n}\n\nexport { RobustStore, STORE, Theme, getTheme, getThemeDetails, patchTheme, patchThemeTag, register, setThemeStyle };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- export{c as BUNDESAEMTER,e as BUNDESANSTALTEN,a as BUNDESMINISTERIEN,f as BUND_LOGO_TEXT_MAP,b as Bundesamt,d as Bundesanstalt,B as Bundesministerium}from"./bund-7a6ffb62.js";export{T as ToasterService,c as configKoliBri}from"./dev.utils-05f4e663.js";export{K as KoliBriDevHelper}from"./prop.validators-15724e89.js";export{r as register,t as translations}from"./i18n-1305db0e.js";import"./reuse-56bb5a4b.js";import"./index-599f5430.js";import"./a11y.tipps-5cdbd5e2.js";
4
+ export{r as register}from"./index-4f2a12cc.js";export{c as BUNDESAEMTER,e as BUNDESANSTALTEN,a as BUNDESMINISTERIEN,f as BUND_LOGO_TEXT_MAP,b as Bundesamt,d as Bundesanstalt,B as Bundesministerium}from"./bund-fe1f3789.js";import{T as o}from"./index-676dbf61.js";export{T as ToasterService,c as configKoliBri}from"./dev.utils-05f4e663.js";export{K as KoliBriDevHelper}from"./prop.validators-769a843a.js";export{t as translations}from"./i18n-8e14d822.js";import"./reuse-56bb5a4b.js";import"./a11y.tipps-5cdbd5e2.js";var i,n;!function(e){e[e.error=0]="error",e[e.warning=1]="warning",e[e.info=2]="info",e[e.success=3]="success",e[e.message=4]="message",e[e.close=5]="close",e[e["form-description"]=6]="form-description",e[e.of=7]="of",e[e.characters=8]="characters",e[e.new=9]="new",e[e["no-entries"]=10]="no-entries",e[e["change-order"]=11]="change-order",e[e["action-running"]=12]="action-running",e[e["action-done"]=13]="action-done",e[e["page-first"]=14]="page-first",e[e["page-back"]=15]="page-back",e[e["page-next"]=16]="page-next",e[e["page-last"]=17]="page-last",e[e["entries-per-site"]=18]="entries-per-site",e[e["page-current"]=19]="page-current",e[e["page-selected"]=20]="page-selected",e[e["page-per-site"]=21]="page-per-site",e[e["nav-maximize"]=22]="nav-maximize",e[e["nav-minimize"]=23]="nav-minimize",e[e["logo-description"]=24]="logo-description",e[e["open-link-in-tab"]=25]="open-link-in-tab",e[e["kolibri-logo"]=26]="kolibri-logo"}(i||(i={})),function(e){e[e.abbr=0]="abbr",e[e.accordion=1]="accordion",e[e["accordion-group"]=2]="accordion-group",e[e.alert=3]="alert",e[e.avatar=4]="avatar",e[e.badge=5]="badge",e[e.breadcrumb=6]="breadcrumb",e[e.button=7]="button",e[e["button-group"]=8]="button-group",e[e["button-link"]=9]="button-link",e[e.card=10]="card",e[e.details=11]="details",e[e.dialog=12]="dialog",e[e.dropdown=13]="dropdown",e[e.form=14]="form",e[e.heading=15]="heading",e[e.icon=16]="icon",e[e.image=17]="image",e[e["indented-text"]=18]="indented-text",e[e["input-checkbox"]=19]="input-checkbox",e[e["input-color"]=20]="input-color",e[e["input-date"]=21]="input-date",e[e["input-file"]=22]="input-file",e[e["input-email"]=23]="input-email",e[e["input-number"]=24]="input-number",e[e["input-password"]=25]="input-password",e[e["input-radio"]=26]="input-radio",e[e["input-range"]=27]="input-range",e[e["input-text"]=28]="input-text",e[e.link=29]="link",e[e["link-button"]=30]="link-button",e[e["link-group"]=31]="link-group",e[e.modal=32]="modal",e[e.nav=33]="nav",e[e.pagination=34]="pagination",e[e.popover=35]="popover",e[e.progress=36]="progress",e[e.select=37]="select",e[e.separator=38]="separator",e[e["skip-nav"]=39]="skip-nav",e[e.spin=40]="spin",e[e.symbol=41]="symbol",e[e.table=42]="table",e[e.tabs=43]="tabs",e[e.textarea=44]="textarea",e[e.toast=45]="toast",e[e.toolbar=46]="toolbar",e[e.tooltip=47]="tooltip"}(n||(n={}));const s=new o("kol",i,n);export{s as KoliBri};
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":[],"mappings":""}
1
+ {"version":3,"names":["KeyEnum","TagEnum","KoliBri","Theme"],"sources":["./src/schema/i18n-keys.ts","./src/schema/tag-names.ts","./src/schema/index.ts"],"sourcesContent":["export enum KeyEnum {\n\t'error',\n\t'warning',\n\t'info',\n\t'success',\n\t'message',\n\t'close',\n\t'form-description',\n\t'of',\n\t'characters',\n\t'new',\n\t'no-entries',\n\t'change-order',\n\t'action-running',\n\t'action-done',\n\t'page-first',\n\t'page-back',\n\t'page-next',\n\t'page-last',\n\t'entries-per-site',\n\t'page-current',\n\t'page-selected',\n\t'page-per-site',\n\t'nav-maximize',\n\t'nav-minimize',\n\t'logo-description',\n\t'open-link-in-tab',\n\t'kolibri-logo',\n}\n","export enum TagEnum {\n\t'abbr',\n\t'accordion',\n\t'accordion-group', // TODO: github pr link\n\t'alert',\n\t'avatar', // TODO: github pr link\n\t'badge',\n\t'breadcrumb',\n\t'button',\n\t'button-group',\n\t'button-link',\n\t'card',\n\t'details',\n\t'dialog', // TODO: github pr link\n\t'dropdown', // TODO: github pr link\n\t'form',\n\t'heading',\n\t'icon',\n\t'image', // TODO: github pr link\n\t'indented-text',\n\t'input-checkbox',\n\t'input-color',\n\t'input-date',\n\t'input-file',\n\t'input-email',\n\t'input-number',\n\t'input-password',\n\t'input-radio',\n\t'input-range',\n\t'input-text',\n\t'link',\n\t'link-button',\n\t'link-group',\n\t'modal',\n\t'nav',\n\t'pagination',\n\t'popover', // TODO: github pr link\n\t'progress',\n\t'select',\n\t'separator', // TODO: github pr link\n\t'skip-nav',\n\t'spin',\n\t'symbol',\n\t'table',\n\t'tabs',\n\t'textarea',\n\t'toast',\n\t'toolbar', // TODO: github pr link\n\t'tooltip',\n}\n","import { Theme } from '@a11y-ui/core';\nimport { KeyEnum } from './i18n-keys';\nimport { TagEnum } from './tag-names';\n\nexport const KoliBri = new Theme<'kol', keyof typeof KeyEnum, keyof typeof TagEnum>('kol', KeyEnum, TagEnum);\n"],"mappings":";;;kgBAAA,IAAYA,GAAZ,SAAYA,GACXA,IAAA,oBACAA,IAAA,wBACAA,IAAA,kBACAA,IAAA,wBACAA,IAAA,wBACAA,IAAA,oBACAA,IAAA,0CACAA,IAAA,cACAA,IAAA,8BACAA,IAAA,gBACAA,IAAA,+BACAA,IAAA,mCACAA,IAAA,uCACAA,IAAA,iCACAA,IAAA,+BACAA,IAAA,6BACAA,IAAA,6BACAA,IAAA,6BACAA,IAAA,2CACAA,IAAA,mCACAA,IAAA,qCACAA,IAAA,qCACAA,IAAA,mCACAA,IAAA,mCACAA,IAAA,2CACAA,IAAA,2CACAA,IAAA,kCACA,EA5BD,CAAYA,MAAO,KCAnB,IAAYC,GAAZ,SAAYA,GACXA,IAAA,kBACAA,IAAA,4BACAA,IAAA,wCACAA,IAAA,oBACAA,IAAA,sBACAA,IAAA,oBACAA,IAAA,8BACAA,IAAA,sBACAA,IAAA,kCACAA,IAAA,gCACAA,IAAA,mBACAA,IAAA,yBACAA,IAAA,uBACAA,IAAA,2BACAA,IAAA,mBACAA,IAAA,yBACAA,IAAA,mBACAA,IAAA,qBACAA,IAAA,qCACAA,IAAA,uCACAA,IAAA,iCACAA,IAAA,+BACAA,IAAA,+BACAA,IAAA,iCACAA,IAAA,mCACAA,IAAA,uCACAA,IAAA,iCACAA,IAAA,iCACAA,IAAA,+BACAA,IAAA,mBACAA,IAAA,iCACAA,IAAA,+BACAA,IAAA,qBACAA,IAAA,iBACAA,IAAA,+BACAA,IAAA,yBACAA,IAAA,2BACAA,IAAA,uBACAA,IAAA,6BACAA,IAAA,2BACAA,IAAA,mBACAA,IAAA,uBACAA,IAAA,qBACAA,IAAA,mBACAA,IAAA,2BACAA,IAAA,qBACAA,IAAA,yBACAA,IAAA,wBACA,EAjDD,CAAYA,MAAO,K,MCINC,EAAU,IAAIC,EAAyD,MAAOH,EAASC,U"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as o,H as r}from"./index-50adf9a0.js";import{w as t}from"./button-link-54acc67b.js";import{n as l}from"./dev.utils-05f4e663.js";import{w as n}from"./prop.validators-15724e89.js";import"./reuse-56bb5a4b.js";import"./index-599f5430.js";import"./a11y.tipps-5cdbd5e2.js";const a=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host{font-family:inherit;font-size:inherit}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{display:inline-block}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}:host>abbr{cursor:help}",e=class{constructor(o){i(this,o),this.nonce=l(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"",_tooltipAlign:"top"}}render(){return o(r,null,o("abbr",{"aria-labelledby":this.nonce,role:"definition",title:this.state._title},o("span",{title:""},o("slot",null))),o("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(i){n(this,"_title",i,{required:!0})}validateTooltipAlign(i){t(this,"_tooltipAlign",i)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};e.style={default:a};export{e as kol_abbr};
4
+ import{r as i,h as o,H as r}from"./index-50adf9a0.js";import{w as t}from"./button-link-3d1888e3.js";import{n as l}from"./dev.utils-05f4e663.js";import{w as a}from"./prop.validators-769a843a.js";import"./reuse-56bb5a4b.js";import"./index-676dbf61.js";import"./a11y.tipps-5cdbd5e2.js";const e=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size)}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}:host>abbr{cursor:help}",n=class{constructor(o){i(this,o),this.nonce=l(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"",_tooltipAlign:"top"}}render(){return o(r,null,o("abbr",{"aria-labelledby":this.nonce,role:"definition",title:this.state._title},o("span",{title:""},o("slot",null))),o("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(i){a(this,"_title",i,{required:!0})}validateTooltipAlign(i){t(this,"_tooltipAlign",i)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};n.style={default:e};export{n as kol_abbr};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolAbbr","this","nonce","_title","_tooltipAlign","render","h","Host","role","title","state","_align","_id","_label","validateTitle","value","watchString","required","validateTooltipAlign","watchTooltipAlignment","componentWillLoad"],"sources":["./src/components/abbr/style.css?tag=kol-abbr&mode=default&encapsulation=shadow","./src/components/abbr/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > abbr {\n\tcursor: help;\n}\n","import { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { watchTooltipAlignment } from '../../types/button-link';\nimport { Alignment } from '../../types/props/alignment';\nimport { nonce } from '../../utils/dev.utils';\nimport { watchString } from '../../utils/prop.validators';\n\n/**\n * API\n */\ntype RequiredProps = {\n\ttitle: string;\n};\ntype OptionalProps = {\n\ttooltipAlign: Alignment;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps & OptionalProps;\ntype OptionalStates = unknown;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-abbr',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAbbr implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<abbr aria-labelledby={this.nonce} role=\"definition\" title={this.state._title}>\n\t\t\t\t\t<span title=\"\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t</abbr>\n\t\t\t\t<kol-tooltip _align={this.state._tooltipAlign} _id={this.nonce} _label={this.state._title}></kol-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Dieses Property gibt die Beschreibung oder Erläuterung der Abkürzung an.\n\t */\n\t@Prop() public _title!: string;\n\n\t/**\n\t * Die State-Parameter repräsentieren den inneren State\n\t * einer Komponente.\n\t *\n\t * @see: https://stenciljs.com/docs/state\n\t */\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_title: '',\n\t\t_tooltipAlign: 'top',\n\t};\n\n\t/**\n\t * Die Watch-Methoden dienen der Möglichkeit zur\n\t * Validierung der Werte eines Properties und\n\t * dem Mapping dessen auf einen anderen internen\n\t * State-Typ.\n\t *\n\t * @see: https://stenciljs.com/docs/properties#prop-validation\n\t */\n\t@Watch('_title')\n\tpublic validateTitle(value?: string): void {\n\t\twatchString(this, '_title', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateTitle(this._title);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n}\n"],"mappings":";;;2RAAA,MAAMA,EAAkB,6hD,MC8BXC,EAAO,M,yBACFC,KAAAC,MAAQA,I,mBAkBkB,M,iCAgBX,CAC/BC,OAAQ,GACRC,cAAe,M,CAlCTC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,0BAAuBL,KAAKC,MAAOM,KAAK,aAAaC,MAAOR,KAAKS,MAAMP,QACtEG,EAAA,QAAMG,MAAM,IACXH,EAAA,eAGFA,EAAA,eAAaK,OAAQV,KAAKS,MAAMN,cAAeQ,IAAKX,KAAKC,MAAOW,OAAQZ,KAAKS,MAAMP,S,CAsC/EW,cAAcC,GACpBC,EAAYf,KAAM,SAAUc,EAAO,CAClCE,SAAU,M,CAQLC,qBAAqBH,GAC3BI,EAAsBlB,KAAM,gBAAiBc,E,CAMvCK,oBACNnB,KAAKa,cAAcb,KAAKE,QACxBF,KAAKiB,qBAAqBjB,KAAKG,c"}
1
+ {"version":3,"names":["defaultStyleCss","KolAbbr","this","nonce","_title","_tooltipAlign","render","h","Host","role","title","state","_align","_id","_label","validateTitle","value","watchString","required","validateTooltipAlign","watchTooltipAlignment","componentWillLoad"],"sources":["./src/components/abbr/style.css?tag=kol-abbr&mode=default&encapsulation=shadow","./src/components/abbr/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > abbr {\n\tcursor: help;\n}\n","import { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { watchTooltipAlignment } from '../../types/button-link';\nimport { Alignment } from '../../types/props/alignment';\nimport { nonce } from '../../utils/dev.utils';\nimport { watchString } from '../../utils/prop.validators';\n\n/**\n * API\n */\ntype RequiredProps = {\n\ttitle: string;\n};\ntype OptionalProps = {\n\ttooltipAlign: Alignment;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps & OptionalProps;\ntype OptionalStates = unknown;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-abbr',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAbbr implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<abbr aria-labelledby={this.nonce} role=\"definition\" title={this.state._title}>\n\t\t\t\t\t<span title=\"\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t</abbr>\n\t\t\t\t<kol-tooltip _align={this.state._tooltipAlign} _id={this.nonce} _label={this.state._title}></kol-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Dieses Property gibt die Beschreibung oder Erläuterung der Abkürzung an.\n\t */\n\t@Prop() public _title!: string;\n\n\t/**\n\t * Die State-Parameter repräsentieren den inneren State\n\t * einer Komponente.\n\t *\n\t * @see: https://stenciljs.com/docs/state\n\t */\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_title: '', // ⚠ required\n\t\t_tooltipAlign: 'top',\n\t};\n\n\t/**\n\t * Die Watch-Methoden dienen der Möglichkeit zur\n\t * Validierung der Werte eines Properties und\n\t * dem Mapping dessen auf einen anderen internen\n\t * State-Typ.\n\t *\n\t * @see: https://stenciljs.com/docs/properties#prop-validation\n\t */\n\t@Watch('_title')\n\tpublic validateTitle(value?: string): void {\n\t\twatchString(this, '_title', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: Alignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateTitle(this._title);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n}\n"],"mappings":";;;2RAAA,MAAMA,EAAkB,+7C,MC8BXC,EAAO,M,yBACFC,KAAAC,MAAQA,I,mBAkBkB,M,iCAgBX,CAC/BC,OAAQ,IACRC,cAAe,M,CAlCTC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,0BAAuBL,KAAKC,MAAOM,KAAK,aAAaC,MAAOR,KAAKS,MAAMP,QACtEG,EAAA,QAAMG,MAAM,IACXH,EAAA,eAGFA,EAAA,eAAaK,OAAQV,KAAKS,MAAMN,cAAeQ,IAAKX,KAAKC,MAAOW,OAAQZ,KAAKS,MAAMP,S,CAsC/EW,cAAcC,GACpBC,EAAYf,KAAM,SAAUc,EAAO,CAClCE,SAAU,M,CAQLC,qBAAqBH,GAC3BI,EAAsBlB,KAAM,gBAAiBc,E,CAMvCK,oBACNnB,KAAKa,cAAcb,KAAKE,QACxBF,KAAKiB,qBAAqBjB,KAAKG,c"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as o,H as e}from"./index-50adf9a0.js";import{f as n}from"./a11y.tipps-5cdbd5e2.js";import{n as t}from"./dev.utils-05f4e663.js";import{w as r,s as a,b as s}from"./prop.validators-15724e89.js";import{w as l}from"./validation-af1d04b2.js";import"./reuse-56bb5a4b.js";import"./index-599f5430.js";const d=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host{font-family:inherit;font-size:inherit}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{display:inline-block}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}";n("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),n("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const c=class{constructor(o){i(this,o),this.nonce=t(),this.catchAriaExpanded=i=>{i instanceof HTMLButtonElement&&(this.buttonRef=i,this.triggerAriaExpanded(i))},this.triggerAriaExpanded=i=>{i.setAttribute("aria-expanded",this.state._open?"true":"false")},this.onClick=i=>{this._open=!1===this._open;const o=setTimeout((()=>{var e;clearTimeout(o),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&this.state._on.onClick(i,!0===this._open),this.buttonRef instanceof HTMLButtonElement&&this.triggerAriaExpanded(this.buttonRef)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"",_level:1}}render(){return o(e,null,o("div",{part:"accordion "+(this.state._open?"open":"close")},o("kol-heading-wc",{_label:"",_level:this.state._level},o("button",{"aria-controls":this.nonce,ref:this.catchAriaExpanded,onClick:this.onClick},o("kol-icon",{_ariaLabel:"",_icon:this.state._open?"fa-solid fa-minus":"fa-solid fa-plus",_part:this.state._open?"close":"open"}),o("span",null,this.state._heading))),o("div",{part:"header"},o("slot",{name:"header"})),o("div",{id:this.nonce,part:"content",style:!1===this.state._open?{display:"none",height:"0",visibility:"hidden"}:void 0},o("slot",{name:"content"}))))}validateHeading(i){r(this,"_heading",i,{required:!0})}validateLevel(i){l(this,i)}validateOn(i){"object"==typeof i&&null!==i&&"function"==typeof i.onClick&&a(this,"_on",i)}validateOpen(i){s(this,"_open",i)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};c.style={default:d};export{c as kol_accordion};
4
+ import{r as i,h as o,H as e}from"./index-50adf9a0.js";import{f as n}from"./a11y.tipps-5cdbd5e2.js";import{n as r}from"./dev.utils-05f4e663.js";import{w as t,s as a,b as s}from"./prop.validators-769a843a.js";import{w as l}from"./validation-d9821b54.js";import"./reuse-56bb5a4b.js";import"./index-676dbf61.js";const d=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size)}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}";n("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),n("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const c=class{constructor(o){i(this,o),this.nonce=r(),this.onClick=i=>{this._open=!1===this._open;const o=setTimeout((()=>{var e;clearTimeout(o),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&this.state._on.onClick(i,!0===this._open)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"",_level:1}}render(){return o(e,null,o("div",{class:{accordion:!0,open:!0===this.state._open,close:!0!==this.state._open}},o("kol-heading-wc",{_headline:"",_level:this.state._level},o("kol-button-wc",{_ariaControls:this.nonce,_ariaExpanded:this.state._open,_icon:this.state._open?"fa-solid fa-minus":"fa-solid fa-plus",_label:this.state._heading,_on:{onClick:this.onClick}})),o("div",{class:"header"},o("slot",{name:"header"})),o("div",{"aria-hidden":!1===this.state._open?"true":void 0,class:"content",id:this.nonce,hidden:!1===this.state._open,style:!1===this.state._open?{display:"none",height:"0",visibility:"hidden"}:void 0},o("slot",{name:"content"}))))}validateHeading(i){t(this,"_heading",i,{required:!0})}validateLevel(i){l(this,i)}validateOn(i){"object"==typeof i&&null!==i&&"function"==typeof i.onClick&&a(this,"_on",i)}validateOpen(i){s(this,"_open",i)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};c.style={default:d};export{c as kol_accordion};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","featureHint","KolAccordion","this","nonce","catchAriaExpanded","button","HTMLButtonElement","buttonRef","triggerAriaExpanded","setAttribute","state","_open","onClick","event","timeout","setTimeout","clearTimeout","_a","_on","_heading","_level","render","h","Host","part","_label","ref","_ariaLabel","_icon","_part","name","id","style","display","height","visibility","undefined","validateHeading","value","watchString","required","validateLevel","watchHeadingLevel","validateOn","setState","validateOpen","watchBoolean","componentWillLoad"],"sources":["./src/components/accordion/style.css?tag=kol-accordion&mode=default&encapsulation=shadow","./src/components/accordion/component.tsx"],"sourcesContent":["@import '../style.css';\n","// https://codepen.io/mbxtr/pen/OJPOYg?html-preprocessor=haml\n\nimport { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Events } from '../../enums/events';\n\nimport { EventValueOrEventCallback } from '../../types/callbacks';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\n\nfeatureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend`);\nfeatureHint(`[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.`);\n\nexport type KoliBriAccordionCallbacks = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, boolean>;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\theading: string;\n};\ntype OptionalProps = {\n\tlevel: HeadingLevel;\n\topen: boolean;\n\ton: KoliBriAccordionCallbacks;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part accordion - Ermöglicht das Stylen des äußeren Container des Accordions.\n * @part open - Ermöglicht das Stylen des geöffneten Zustands und Icons.\n * @part close - Ermöglicht das Stylen des geschlossenen Zustands und Icons.\n * @part icon - Ermöglicht das Stylen der Icons.\n * @part header - Ermöglicht das Stylen des Kopfbereichs.\n * @part content - Ermöglicht das Stylen des Inhaltsbereichs.\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich des Accordions.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich des Accordions.\n */\n@Component({\n\ttag: 'kol-accordion',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAccordion implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate buttonRef?: HTMLButtonElement;\n\tprivate readonly nonce = nonce();\n\t// private content?: HTMLDivElement;\n\n\tprivate catchAriaExpanded = (button?: HTMLButtonElement) => {\n\t\tif (button instanceof HTMLButtonElement) {\n\t\t\tthis.buttonRef = button;\n\t\t\tthis.triggerAriaExpanded(button);\n\t\t}\n\t};\n\tprivate triggerAriaExpanded = (button: HTMLButtonElement) => {\n\t\tbutton.setAttribute('aria-expanded', this.state._open ? 'true' : 'false');\n\t};\n\n\tpublic render(): JSX.Element {\n\t\t// const height = this.content?.getBoundingClientRect().height ?? 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div part={`accordion ${this.state._open ? 'open' : 'close'}`}>\n\t\t\t\t\t<kol-heading-wc _label=\"\" _level={this.state._level}>\n\t\t\t\t\t\t<button aria-controls={this.nonce} ref={this.catchAriaExpanded} onClick={this.onClick}>\n\t\t\t\t\t\t\t<kol-icon _ariaLabel=\"\" _icon={this.state._open ? 'fa-solid fa-minus' : 'fa-solid fa-plus'} _part={this.state._open ? 'close' : 'open'} />\n\t\t\t\t\t\t\t<span>{this.state._heading}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t<div part=\"header\">\n\t\t\t\t\t\t<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={this.nonce}\n\t\t\t\t\t\tpart=\"content\"\n\t\t\t\t\t\t// ref={(r) => (this.content = r)}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.state._open === false\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\theight: '0',\n\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// style={\n\t\t\t\t\t\t// \tthis.state._open\n\t\t\t\t\t\t// \t\t? height > 0 && processEnv !== 'test' // TODO: remove this check when testing is fixed\n\t\t\t\t\t\t// \t\t\t? {\n\t\t\t\t\t\t// \t\t\t\theight: `${height}px`,\n\t\t\t\t\t\t// \t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\t}\n\t\t\t\t\t\t// \t\t\t: undefined\n\t\t\t\t\t\t// \t\t: {\n\t\t\t\t\t\t// \t\t\theight: '0',\n\t\t\t\t\t\t// \t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t// \t\t}\n\t\t\t\t\t\t// }\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Überschrift des Accordions an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen an.\n\t */\n\t@Prop() public _on?: KoliBriAccordionCallbacks;\n\n\t/**\n\t * Gibt an, ob das Accordion geöffnet ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_heading: '⚠',\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAccordionCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null && typeof value.onClick === 'function') {\n\t\t\tsetState(this, '_on', value);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_open')\n\tpublic validateOpen(value?: boolean): void {\n\t\twatchBoolean(this, '_open', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateOpen(this._open);\n\t}\n\n\tprivate onClick = (event: Event) => {\n\t\tthis._open = this._open === false;\n\n\t\t/**\n\t\t * Der Timeout wird benötigt, damit das Event\n\t\t * vom Button- auf das Accordion-Event wechselt.\n\t\t * So ist es dem Anwendenden möglich das _open-\n\t\t * Attribute abzufragen.\n\t\t */\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\t\tthis.state._on.onClick(event, this._open === true);\n\t\t\t}\n\t\t\tif (this.buttonRef instanceof HTMLButtonElement) {\n\t\t\t\tthis.triggerAriaExpanded(this.buttonRef);\n\t\t\t}\n\t\t});\n\t};\n}\n"],"mappings":";;;oTAAA,MAAMA,EAAkB,sgDCaxBC,EAAY,+OAKZA,EAAY,mE,MAyCCC,EAAY,M,yBAEPC,KAAAC,MAAQA,IAGjBD,KAAAE,kBAAqBC,IAC5B,GAAIA,aAAkBC,kBAAmB,CACxCJ,KAAKK,UAAYF,EACjBH,KAAKM,oBAAoBH,E,GAGnBH,KAAAM,oBAAuBH,IAC9BA,EAAOI,aAAa,gBAAiBP,KAAKQ,MAAMC,MAAQ,OAAS,QAAQ,EA8HlET,KAAAU,QAAWC,IAClBX,KAAKS,MAAQT,KAAKS,QAAU,MAQ5B,MAAMG,EAAUC,YAAW,K,MAC1BC,aAAaF,GACb,WAAWG,EAAAf,KAAKQ,MAAMQ,OAAG,MAAAD,SAAA,SAAAA,EAAEL,WAAY,WAAY,CAClDV,KAAKQ,MAAMQ,IAAIN,QAAQC,EAAOX,KAAKS,QAAU,K,CAE9C,GAAIT,KAAKK,qBAAqBD,kBAAmB,CAChDJ,KAAKM,oBAAoBN,KAAKK,U,IAE9B,E,oCAnFoC,E,8BAU0B,M,WAKjC,CAC/BY,SAAU,IACVC,OAAQ,E,CA1EFC,SAEN,OACCC,EAACC,EAAI,KACJD,EAAA,OAAKE,KAAM,aAAatB,KAAKQ,MAAMC,MAAQ,OAAS,WACnDW,EAAA,kBAAgBG,OAAO,GAAGL,OAAQlB,KAAKQ,MAAMU,QAC5CE,EAAA,0BAAuBpB,KAAKC,MAAOuB,IAAKxB,KAAKE,kBAAmBQ,QAASV,KAAKU,SAC7EU,EAAA,YAAUK,WAAW,GAAGC,MAAO1B,KAAKQ,MAAMC,MAAQ,oBAAsB,mBAAoBkB,MAAO3B,KAAKQ,MAAMC,MAAQ,QAAU,SAChIW,EAAA,YAAOpB,KAAKQ,MAAMS,YAGpBG,EAAA,OAAKE,KAAK,UACTF,EAAA,QAAMQ,KAAK,YAEZR,EAAA,OACCS,GAAI7B,KAAKC,MACTqB,KAAK,UAELQ,MACC9B,KAAKQ,MAAMC,QAAU,MAClB,CACAsB,QAAS,OACTC,OAAQ,IACRC,WAAY,UAEZC,WAiBJd,EAAA,QAAMQ,KAAK,c,CAuCTO,gBAAgBC,GACtBC,EAAYrC,KAAM,WAAYoC,EAAO,CACpCE,SAAU,M,CAQLC,cAAcH,GACpBI,EAAkBxC,KAAMoC,E,CAOlBK,WAAWL,GACjB,UAAWA,IAAU,UAAYA,IAAU,aAAeA,EAAM1B,UAAY,WAAY,CACvFgC,EAAS1C,KAAM,MAAOoC,E,EAQjBO,aAAaP,GACnBQ,EAAa5C,KAAM,QAASoC,E,CAMtBS,oBACN7C,KAAKmC,gBAAgBnC,KAAKiB,UAC1BjB,KAAKuC,cAAcvC,KAAKkB,QACxBlB,KAAKyC,WAAWzC,KAAKgB,KACrBhB,KAAK2C,aAAa3C,KAAKS,M"}
1
+ {"version":3,"names":["defaultStyleCss","featureHint","KolAccordion","this","nonce","onClick","event","_open","timeout","setTimeout","clearTimeout","_a","state","_on","_heading","_level","render","h","Host","class","accordion","open","close","_headline","_ariaControls","_ariaExpanded","_icon","_label","name","undefined","id","hidden","style","display","height","visibility","validateHeading","value","watchString","required","validateLevel","watchHeadingLevel","validateOn","setState","validateOpen","watchBoolean","componentWillLoad"],"sources":["./src/components/accordion/style.css?tag=kol-accordion&mode=default&encapsulation=shadow","./src/components/accordion/component.tsx"],"sourcesContent":["@import '../style.css';\n","// https://codepen.io/mbxtr/pen/OJPOYg?html-preprocessor=haml\n\nimport { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Events } from '../../enums/events';\n\nimport { EventValueOrEventCallback } from '../../types/callbacks';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\n\nfeatureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend`);\nfeatureHint(`[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.`);\n\nexport type KoliBriAccordionCallbacks = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, boolean>;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\theading: string;\n};\ntype OptionalProps = {\n\tlevel: HeadingLevel;\n\topen: boolean;\n\ton: KoliBriAccordionCallbacks;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part accordion - Ermöglicht das Stylen des äußeren Container des Accordions.\n * @part open - Ermöglicht das Stylen des geöffneten Zustands und Icons.\n * @part close - Ermöglicht das Stylen des geschlossenen Zustands und Icons.\n * @part icon - Ermöglicht das Stylen der Icons.\n * @part header - Ermöglicht das Stylen des Kopfbereichs.\n * @part content - Ermöglicht das Stylen des Inhaltsbereichs.\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich des Accordions.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich des Accordions.\n */\n@Component({\n\ttag: 'kol-accordion',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAccordion implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\t// const height = this.content?.getBoundingClientRect().height ?? 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\taccordion: true,\n\t\t\t\t\t\topen: this.state._open === true,\n\t\t\t\t\t\tclose: this.state._open !== true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-heading-wc _headline=\"\" _level={this.state._level}>\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t// slot=\"expert\"\n\t\t\t\t\t\t\t_ariaControls={this.nonce}\n\t\t\t\t\t\t\t_ariaExpanded={this.state._open}\n\t\t\t\t\t\t\t_icon={this.state._open ? 'fa-solid fa-minus' : 'fa-solid fa-plus'}\n\t\t\t\t\t\t\t_label={this.state._heading}\n\t\t\t\t\t\t\t_on={{ onClick: this.onClick }}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden={this.state._open === false ? 'true' : undefined}\n\t\t\t\t\t\tclass=\"content\"\n\t\t\t\t\t\tid={this.nonce}\n\t\t\t\t\t\thidden={this.state._open === false}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.state._open === false\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\theight: '0',\n\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// style={\n\t\t\t\t\t\t// \tthis.state._open\n\t\t\t\t\t\t// \t\t? height > 0 && processEnv !== 'test' // TODO: remove this check when testing is fixed\n\t\t\t\t\t\t// \t\t\t? {\n\t\t\t\t\t\t// \t\t\t\theight: `${height}px`,\n\t\t\t\t\t\t// \t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\t}\n\t\t\t\t\t\t// \t\t\t: undefined\n\t\t\t\t\t\t// \t\t: {\n\t\t\t\t\t\t// \t\t\theight: '0',\n\t\t\t\t\t\t// \t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t// \t\t}\n\t\t\t\t\t\t// }\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Überschrift des Accordions an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen an.\n\t */\n\t@Prop() public _on?: KoliBriAccordionCallbacks;\n\n\t/**\n\t * Gibt an, ob das Accordion geöffnet ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_heading: '…', // required\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAccordionCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null && typeof value.onClick === 'function') {\n\t\t\tsetState(this, '_on', value);\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_open')\n\tpublic validateOpen(value?: boolean): void {\n\t\twatchBoolean(this, '_open', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateOpen(this._open);\n\t}\n\n\tprivate onClick = (event: Event) => {\n\t\tthis._open = this._open === false;\n\n\t\t/**\n\t\t * Der Timeout wird benötigt, damit das Event\n\t\t * vom Button- auf das Accordion-Event wechselt.\n\t\t * So ist es dem Anwendenden möglich das _open-\n\t\t * Attribute abzufragen.\n\t\t */\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\t\tthis.state._on.onClick(event, this._open === true);\n\t\t\t}\n\t\t});\n\t};\n}\n"],"mappings":";;;oTAAA,MAAMA,EAAkB,w6CCaxBC,EAAY,+OAKZA,EAAY,mE,MAyCCC,EAAY,M,yBACPC,KAAAC,MAAQA,IAwIjBD,KAAAE,QAAWC,IAClBH,KAAKI,MAAQJ,KAAKI,QAAU,MAQ5B,MAAMC,EAAUC,YAAW,K,MAC1BC,aAAaF,GACb,WAAWG,EAAAR,KAAKS,MAAMC,OAAG,MAAAF,SAAA,SAAAA,EAAEN,WAAY,WAAY,CAClDF,KAAKS,MAAMC,IAAIR,QAAQC,EAAOH,KAAKI,QAAU,K,IAE7C,E,oCAhFoC,E,8BAU0B,M,WAKjC,CAC/BO,SAAU,IACVC,OAAQ,E,CArFFC,SAEN,OACCC,EAACC,EAAI,KACJD,EAAA,OACCE,MAAO,CACNC,UAAW,KACXC,KAAMlB,KAAKS,MAAML,QAAU,KAC3Be,MAAOnB,KAAKS,MAAML,QAAU,OAG7BU,EAAA,kBAAgBM,UAAU,GAAGR,OAAQZ,KAAKS,MAAMG,QAC/CE,EAAA,iBAECO,cAAerB,KAAKC,MACpBqB,cAAetB,KAAKS,MAAML,MAC1BmB,MAAOvB,KAAKS,MAAML,MAAQ,oBAAsB,mBAChDoB,OAAQxB,KAAKS,MAAME,SACnBD,IAAK,CAAER,QAASF,KAAKE,YAGvBY,EAAA,OAAKE,MAAM,UACVF,EAAA,QAAMW,KAAK,YAEZX,EAAA,qBACcd,KAAKS,MAAML,QAAU,MAAQ,OAASsB,UACnDV,MAAM,UACNW,GAAI3B,KAAKC,MACT2B,OAAQ5B,KAAKS,MAAML,QAAU,MAC7ByB,MACC7B,KAAKS,MAAML,QAAU,MAClB,CACA0B,QAAS,OACTC,OAAQ,IACRC,WAAY,UAEZN,WAiBJZ,EAAA,QAAMW,KAAK,c,CAuCTQ,gBAAgBC,GACtBC,EAAYnC,KAAM,WAAYkC,EAAO,CACpCE,SAAU,M,CAQLC,cAAcH,GACpBI,EAAkBtC,KAAMkC,E,CAOlBK,WAAWL,GACjB,UAAWA,IAAU,UAAYA,IAAU,aAAeA,EAAMhC,UAAY,WAAY,CACvFsC,EAASxC,KAAM,MAAOkC,E,EAQjBO,aAAaP,GACnBQ,EAAa1C,KAAM,QAASkC,E,CAMtBS,oBACN3C,KAAKiC,gBAAgBjC,KAAKW,UAC1BX,KAAKqC,cAAcrC,KAAKY,QACxBZ,KAAKuC,WAAWvC,KAAKU,KACrBV,KAAKyC,aAAazC,KAAKI,M"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as o,H as r}from"./index-50adf9a0.js";import{b as a,w as e,s as n,a as l}from"./prop.validators-15724e89.js";import{w as t}from"./validation-af1d04b2.js";import{a as s}from"./i18n-1305db0e.js";import{L as c}from"./dev.utils-05f4e663.js";import"./index-599f5430.js";import"./a11y.tipps-5cdbd5e2.js";import"./reuse-56bb5a4b.js";const d=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host{font-family:inherit;font-size:inherit}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{display:inline-block}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}:host{display:inline-block}:host>div{background-color:white;border-radius:var(--kolibri-border-radius);border-style:solid;border-width:calc(2 * var(--kolibri-border-width));display:inline-grid;place-items:stretch;overflow:hidden;width:100%}.heading{display:flex;gap:var(--kolibri-spacing);place-items:center}.heading>div{display:grid;gap:var(--kolibri-spacing);margin:var(--kolibri-spacing) var(--kolibri-spacing) var(--kolibri-spacing) 0}.heading .heading-icon{align-items:center;align-self:stretch;display:inline-flex;color:white;padding:calc(2 * var(--kolibri-spacing))}.card>.heading .heading-icon{border-radius:0 0 var(--kolibri-border-radius) 0}.heading .close button{min-width:44px;min-height:44px}.card>.content{padding:var(--kolibri-spacing)}.default{border-color:var(--kolibri-color-normal)}.default .heading-icon{background-color:var(--kolibri-color-normal)}.error{border-color:var(--kolibri-color-error)}.error .heading-icon{background-color:var(--kolibri-color-error)}.info{border-color:var(--kolibri-color-info)}.info .heading-icon{background-color:var(--kolibri-color-info)}.success{border-color:var(--kolibri-color-success)}.success .heading-icon{background-color:var(--kolibri-color-success)}.warning{border-color:var(--kolibri-color-warning)}.warning .heading-icon{background-color:var(--kolibri-color-warning)}",h=i=>o("kol-icon",{class:"heading-icon",_ariaLabel:"string"==typeof i.heading&&i.heading.length>0?"":i.ariaLabel,_icon:i.icon}),b=i=>{switch(i.type){case"error":return o(h,{ariaLabel:s("kol-error"),icon:"fa-solid fa-circle-xmark",heading:i.heading});case"info":return o(h,{ariaLabel:s("kol-info"),icon:"fa-solid fa-circle-info",heading:i.heading});case"warning":return o(h,{ariaLabel:s("kol-warning"),icon:"fa-solid fa-triangle-exclamation",heading:i.heading});case"success":return o(h,{ariaLabel:s("kol-success"),icon:"fa-solid fa-circle-check",heading:i.heading});default:return o(h,{ariaLabel:s("kol-message"),icon:"fa-regular fa-comment",heading:i.heading})}},g=class{constructor(a){i(this,a),this.close=()=>{var i;void 0!==(null===(i=this._on)||void 0===i?void 0:i.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this.validateOnValue=i=>"object"==typeof i&&null!==i&&"function"==typeof i.onClose,this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){var i;if(this.state._alert){try{c.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(i){c.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return o(r,null,o("div",{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},o("div",{class:"heading"},o(b,{heading:this.state._heading,type:this.state._type}),o("div",null,"string"==typeof this.state._heading&&(null===(i=this.state._heading)||void 0===i?void 0:i.length)>0&&o("kol-heading-wc",{_label:this.state._heading,_level:this.state._level}),"msg"===this._variant&&o("div",{class:"content"},o("slot",null))),this.state._hasCloser&&o("kol-button-wc",{class:"close",_icon:{left:{icon:"fa-solid fa-xmark"}},_iconOnly:!0,_label:s("kol-close"),_on:this.on,_tooltipAlign:"left"})),"card"===this._variant&&o("div",{class:"content"},o("slot",null))))}validateAlert(i){a(this,"_alert",i)}validateHasCloser(i){a(this,"_hasCloser",i)}validateHeading(i){e(this,"_heading",i)}validateLevel(i){t(this,i)}validateOn(i){this.validateOnValue(i)&&n(this,"_on",{onClose:i.onClose})}validateType(i){l(this,"_type",(i=>"string"==typeof i&&("default"===i||"error"===i||"info"===i||"success"===i||"warning"===i)),new Set("String {success, info, warning, error}"),i)}validateVariant(i){l(this,"_variant",(i=>"card"===i||"msg"===i),new Set("AlertVariant {card, msg}"),i)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}};g.style={default:d};export{g as kol_alert};
4
+ import{r as i,h as r,H as o}from"./index-50adf9a0.js";import{b as a,w as e,s as l,a as n}from"./prop.validators-769a843a.js";import{w as t}from"./validation-d9821b54.js";import{a as s}from"./i18n-8e14d822.js";import{L as c}from"./dev.utils-05f4e663.js";import"./index-676dbf61.js";import"./a11y.tipps-5cdbd5e2.js";import"./index-4f2a12cc.js";import"./reuse-56bb5a4b.js";const d=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size)}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}:host{display:inline-block}:host>div{background-color:white;border-radius:var(--kolibri-border-radius);border-style:solid;border-width:calc(2 * var(--kolibri-border-width));display:inline-grid;place-items:stretch;overflow:hidden;width:100%}.heading{display:flex;gap:var(--kolibri-spacing);place-items:center}.heading>div{display:grid;gap:var(--kolibri-spacing);margin:var(--kolibri-spacing) var(--kolibri-spacing) var(--kolibri-spacing) 0}.heading .heading-icon{align-items:center;align-self:stretch;display:inline-flex;color:white;padding:calc(2 * var(--kolibri-spacing))}.card>.heading .heading-icon{border-radius:0 0 var(--kolibri-border-radius) 0}.heading .close button{min-width:44px;min-height:44px}.card>.content{padding:var(--kolibri-spacing)}.default{border-color:var(--kolibri-color-normal)}.default .heading-icon{background-color:var(--kolibri-color-normal)}.error{border-color:var(--kolibri-color-error)}.error .heading-icon{background-color:var(--kolibri-color-error)}.info{border-color:var(--kolibri-color-info)}.info .heading-icon{background-color:var(--kolibri-color-info)}.success{border-color:var(--kolibri-color-success)}.success .heading-icon{background-color:var(--kolibri-color-success)}.warning{border-color:var(--kolibri-color-warning)}.warning .heading-icon{background-color:var(--kolibri-color-warning)}",h=i=>r("kol-icon",{class:"heading-icon",_ariaLabel:"string"==typeof i.heading&&i.heading.length>0?"":i.ariaLabel,_icon:i.icon}),b=i=>{switch(i.type){case"error":return r(h,{ariaLabel:s("kol-error"),icon:"fa-solid fa-circle-xmark",heading:i.heading});case"info":return r(h,{ariaLabel:s("kol-info"),icon:"fa-solid fa-circle-info",heading:i.heading});case"warning":return r(h,{ariaLabel:s("kol-warning"),icon:"fa-solid fa-triangle-exclamation",heading:i.heading});case"success":return r(h,{ariaLabel:s("kol-success"),icon:"fa-solid fa-circle-check",heading:i.heading});default:return r(h,{ariaLabel:s("kol-message"),icon:"fa-regular fa-comment",heading:i.heading})}},g=class{constructor(a){i(this,a),this.close=()=>{var i;void 0!==(null===(i=this._on)||void 0===i?void 0:i.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this.validateOnValue=i=>"object"==typeof i&&null!==i&&"function"==typeof i.onClose,this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){var i;if(this.state._alert){try{c.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(i){c.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return r(o,null,r("div",{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},r("div",{class:"heading"},r(b,{heading:this.state._heading,type:this.state._type}),r("div",null,"string"==typeof this.state._heading&&(null===(i=this.state._heading)||void 0===i?void 0:i.length)>0&&r("kol-heading-wc",{_headline:this.state._heading,_level:this.state._level}),"msg"===this._variant&&r("div",{class:"content"},r("slot",null))),this.state._hasCloser&&r("kol-button-wc",{class:"close",_icon:{left:{icon:"fa-solid fa-xmark"}},_iconOnly:!0,_label:s("kol-close"),_on:this.on,_tooltipAlign:"left"})),"card"===this._variant&&r("div",{class:"content"},r("slot",null))))}validateAlert(i){a(this,"_alert",i)}validateHasCloser(i){a(this,"_hasCloser",i)}validateHeading(i){e(this,"_heading",i)}validateLevel(i){t(this,i)}validateOn(i){this.validateOnValue(i)&&l(this,"_on",{onClose:i.onClose})}validateType(i){n(this,"_type",(i=>"string"==typeof i&&("default"===i||"error"===i||"info"===i||"success"===i||"warning"===i)),new Set("String {success, info, warning, error}"),i)}validateVariant(i){n(this,"_variant",(i=>"card"===i||"msg"===i),new Set("AlertVariant {card, msg}"),i)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}};g.style={default:d};export{g as kol_alert};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","Icon","props","h","class","_ariaLabel","heading","length","ariaLabel","_icon","icon","AlertIcon","type","translate","KolAlert","this","close","_a","_on","onClose","undefined","Event","on","onClick","validateOnValue","value","_level","render","state","_alert","Log","debug","navigator","vibrate","e","setTimeout","validateAlert","Host","_type","_variant","role","_heading","_label","_hasCloser","left","_iconOnly","_tooltipAlign","watchBoolean","validateHasCloser","validateHeading","watchString","validateLevel","watchHeadingLevel","validateOn","setState","validateType","watchValidator","Set","validateVariant","componentWillLoad"],"sources":["./src/components/alert/style.css?tag=kol-alert&mode=default&encapsulation=shadow","./src/components/alert/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host {\n\tdisplay: inline-block;\n}\n:host > div {\n\tbackground-color: white;\n\tborder-radius: var(--kolibri-border-radius);\n\tborder-style: solid;\n\tborder-width: calc(2 * var(--kolibri-border-width));\n\tdisplay: inline-grid;\n\tplace-items: stretch;\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n.heading {\n\tdisplay: flex;\n\tgap: var(--kolibri-spacing);\n\tplace-items: center;\n}\n.heading > div {\n\tdisplay: grid;\n\tgap: var(--kolibri-spacing);\n\tmargin: var(--kolibri-spacing) var(--kolibri-spacing) var(--kolibri-spacing) 0;\n}\n.heading .heading-icon {\n\talign-items: center;\n\talign-self: stretch;\n\tdisplay: inline-flex;\n\tcolor: white;\n\tpadding: calc(2 * var(--kolibri-spacing));\n}\n.card > .heading .heading-icon {\n\tborder-radius: 0 0 var(--kolibri-border-radius) 0;\n}\n.heading .close button {\n\tmin-width: 44px;\n\tmin-height: 44px;\n}\n.card > .content {\n\tpadding: var(--kolibri-spacing);\n}\n.default {\n\tborder-color: var(--kolibri-color-normal);\n}\n.default .heading-icon {\n\tbackground-color: var(--kolibri-color-normal);\n}\n.error {\n\tborder-color: var(--kolibri-color-error);\n}\n.error .heading-icon {\n\tbackground-color: var(--kolibri-color-error);\n}\n.info {\n\tborder-color: var(--kolibri-color-info);\n}\n.info .heading-icon {\n\tbackground-color: var(--kolibri-color-info);\n}\n.success {\n\tborder-color: var(--kolibri-color-success);\n}\n.success .heading-icon {\n\tbackground-color: var(--kolibri-color-success);\n}\n.warning {\n\tborder-color: var(--kolibri-color-warning);\n}\n.warning .heading-icon {\n\tbackground-color: var(--kolibri-color-warning);\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { AlertType, AlertVariant, KoliBriAlertEventCallbacks } from '../../types/alert';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { translate } from '../../i18n';\nimport { Log } from '../../utils/dev.utils';\n\n/**\n * API\n */\ntype RequiredProps = unknown;\ntype OptionalProps = {\n\talert: boolean;\n\thasCloser: boolean;\n\theading: string;\n\tlevel: HeadingLevel;\n\ton: KoliBriAlertEventCallbacks;\n\ttype: AlertType;\n\tvariant: AlertVariant;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"fa-solid fa-circle-xmark\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"fa-solid fa-circle-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"fa-solid fa-triangle-exclamation\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"fa-solid fa-circle-check\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"fa-regular fa-comment\" heading={props.heading} />;\n\t}\n};\n\n@Component({\n\ttag: 'kol-alert',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAlert implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\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\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\t}}\n\t\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t\t<AlertIcon heading={this.state._heading} type={this.state._type} />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\t\ticon: 'fa-solid fa-xmark',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung vorlesen soll.\n\t */\n\t@Prop({ reflect: true }) public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob der Alert ein Schließen-Icon hat.\n\t */\n\t@Prop({ reflect: true }) public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt den Titel der Meldung an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\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 * Gibt an, ob es sich um eine Erfolgs-, Info-, Warnung- oder Fehlermeldung handelt.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Benachrichtigungsvariante dargestellt wird.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCloser', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyleCss","Icon","props","h","class","_ariaLabel","heading","length","ariaLabel","_icon","icon","AlertIcon","type","translate","KolAlert","this","close","_a","_on","onClose","undefined","Event","on","onClick","validateOnValue","value","_level","render","state","_alert","Log","debug","navigator","vibrate","e","setTimeout","validateAlert","Host","_type","_variant","role","_heading","_headline","_hasCloser","left","_iconOnly","_label","_tooltipAlign","watchBoolean","validateHasCloser","validateHeading","watchString","validateLevel","watchHeadingLevel","validateOn","setState","validateType","watchValidator","Set","validateVariant","componentWillLoad"],"sources":["./src/components/alert/style.css?tag=kol-alert&mode=default&encapsulation=shadow","./src/components/alert/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host {\n\tdisplay: inline-block;\n}\n:host > div {\n\tbackground-color: white;\n\tborder-radius: var(--kolibri-border-radius);\n\tborder-style: solid;\n\tborder-width: calc(2 * var(--kolibri-border-width));\n\tdisplay: inline-grid;\n\tplace-items: stretch;\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n.heading {\n\tdisplay: flex;\n\tgap: var(--kolibri-spacing);\n\tplace-items: center;\n}\n.heading > div {\n\tdisplay: grid;\n\tgap: var(--kolibri-spacing);\n\tmargin: var(--kolibri-spacing) var(--kolibri-spacing) var(--kolibri-spacing) 0;\n}\n.heading .heading-icon {\n\talign-items: center;\n\talign-self: stretch;\n\tdisplay: inline-flex;\n\tcolor: white;\n\tpadding: calc(2 * var(--kolibri-spacing));\n}\n.card > .heading .heading-icon {\n\tborder-radius: 0 0 var(--kolibri-border-radius) 0;\n}\n.heading .close button {\n\tmin-width: 44px;\n\tmin-height: 44px;\n}\n.card > .content {\n\tpadding: var(--kolibri-spacing);\n}\n.default {\n\tborder-color: var(--kolibri-color-normal);\n}\n.default .heading-icon {\n\tbackground-color: var(--kolibri-color-normal);\n}\n.error {\n\tborder-color: var(--kolibri-color-error);\n}\n.error .heading-icon {\n\tbackground-color: var(--kolibri-color-error);\n}\n.info {\n\tborder-color: var(--kolibri-color-info);\n}\n.info .heading-icon {\n\tbackground-color: var(--kolibri-color-info);\n}\n.success {\n\tborder-color: var(--kolibri-color-success);\n}\n.success .heading-icon {\n\tbackground-color: var(--kolibri-color-success);\n}\n.warning {\n\tborder-color: var(--kolibri-color-warning);\n}\n.warning .heading-icon {\n\tbackground-color: var(--kolibri-color-warning);\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { AlertType, AlertVariant, KoliBriAlertEventCallbacks } from '../../types/alert';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { translate } from '../../i18n';\nimport { Log } from '../../utils/dev.utils';\n\n/**\n * API\n */\ntype RequiredProps = unknown;\ntype OptionalProps = {\n\talert: boolean;\n\thasCloser: boolean;\n\theading: string;\n\tlevel: HeadingLevel;\n\ton: KoliBriAlertEventCallbacks;\n\ttype: AlertType;\n\tvariant: AlertVariant;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"fa-solid fa-circle-xmark\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"fa-solid fa-circle-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"fa-solid fa-triangle-exclamation\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"fa-solid fa-circle-check\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"fa-regular fa-comment\" heading={props.heading} />;\n\t}\n};\n\n@Component({\n\ttag: 'kol-alert',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAlert implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\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\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\t}}\n\t\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t\t<AlertIcon heading={this.state._heading} type={this.state._type} />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t\t\t<kol-heading-wc _headline={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\t\ticon: 'fa-solid fa-xmark',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung vorlesen soll.\n\t */\n\t@Prop({ reflect: true }) public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob der Alert ein Schließen-Icon hat.\n\t */\n\t@Prop({ reflect: true }) public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt den Titel der Meldung an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat.\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 * Gibt an, ob es sich um eine Erfolgs-, Info-, Warnung- oder Fehlermeldung handelt.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Benachrichtigungsvariante dargestellt wird.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCloser', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as o,h as i,H as t}from"./index-50adf9a0.js";import{f as r,d as a,a as s}from"./a11y.tipps-5cdbd5e2.js";import{r as e,c as n,a as l,o as c,p,s as h}from"./prop.validators-15724e89.js";import{v as b}from"./label-d850cbb4.js";import{c as d}from"./index-d14da386.js";import"./dev.utils-05f4e663.js";import"./reuse-56bb5a4b.js";import"./index-599f5430.js";const f=(o,t,r)=>(299*o+587*t+114*r)/1e3>=128?-1:1,g=(o,t,r,a=1)=>{const i=[Math.max(Math.min(Math.round(t[0]+a*Math.max(1,t[0]/100)),255),0),Math.max(Math.min(Math.round(t[1]+a*Math.max(1,t[1]/100)),255),0),Math.max(Math.min(Math.round(t[2]+a*Math.max(1,t[2]/100)),255),0)],s=n(e.hex(`rgba(${o.join(",")},1)`),e.hex(`rgba(${i.join(",")},1)`)),l=i[0]+i[1]+i[2];return 0===l||765===l||s>r?{background:o,foreground:i,contrast:s}:g(o,i,r,a)},k=new Map,u=(o,t,r,a=1)=>{if(k.has(o))return k.get(o);const i=g(o,t,r,a);return k.set(o,i),i},m=(o,t=7)=>{let r=[0,0,0,1],a=[255,255,255,1];"string"==typeof o?(r=d(o),a=r):"object"==typeof o&&null!==o&&"string"==typeof o.background&&"string"==typeof o.foreground&&(r=d(o.background),a="string"==typeof o.foreground?d(o.foreground):r);const i=f(r[0],r[1],r[2]),n=u([r[0],r[1],r[2]],[a[0],a[1],a[2]],t,i);return a=[...n.foreground,1],{background:e.hex(`rgba(${r.join(",")})`),foreground:e.hex(`rgba(${a.join(",")})`),contrast:n.contrast}},y=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host{font-family:inherit;font-size:inherit}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{display:inline-block}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}:host{display:inline-block}:host>span{border-radius:var(--kolibri-border-radius);display:flex;line-height:calc(1rem + var(--kolibri-spacing));place-items:center}:host>span kol-span-wc{padding:var(--kolibri-spacing) calc(2 * var(--kolibri-spacing))}:host>span>kol-span-wc{align-items:center;font-style:normal;gap:calc(2 * var(--kolibri-spacing))}:host>span.smart-button>kol-span-wc{border-right:1px solid rgba(0, 0, 0, 0.25)}:host>span>kol-span-wc>span{display:flex;gap:var(--kolibri-spacing)}:host>span>kol-button-wc button{border-radius:0 var(--kolibri-spacing) var(--kolibri-spacing) 0;color:inherit}";r("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const v=/^([a-f0-9]{3}|[a-f0-9]{6})$/,w=class{constructor(t){o(this,t),this.bgColorStr="#000",this.colorStr="#fff",this.handleColorChange=o=>{let t,r=o;"string"==typeof r?(v.test(r)&&(a("[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),r=`#${r}`),t=m(r)):t=m({background:r.backgroundColor,foreground:r.color}),t.contrast<7&&s(`[KolBadge] The contrast of ${t.contrast} (≥7, AAA) is too low, between the color pair ${t.background} and ${t.foreground}.`),this.bgColorStr=t.background,this.colorStr=t.foreground},this._color="#000",this._icon=void 0,this._iconOnly=!1,this._label=void 0,this._smartButton=void 0,this.state={_color:"#000",_label:""}}render(){return i(t,null,i("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},i("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this.state._label}),"object"==typeof this.state._smartButton&&null!==this.state._smartButton&&i("kol-button-wc",{_ariaLabel:this.state._smartButton._ariaLabel,_customClass:this.state._smartButton._customClass,_disabled:this.state._smartButton._disabled,_icon:this.state._smartButton._icon,_iconOnly:!0,_id:this.state._smartButton._id,_label:this.state._smartButton._label,_on:this.state._smartButton._on,_tooltipAlign:this.state._smartButton._tooltipAlign,_variant:this.state._smartButton._variant})))}validateColor(o){l(this,"_color",(o=>"string"==typeof o||"object"==typeof o&&null!==o&&"string"==typeof o.backgroundColor&&"string"==typeof o.color),new Set(["string","KoliBriColor"]),o,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateLabel(o){b(this,o,{hooks:{afterPatch:o=>{"string"==typeof o&&o.length>32&&s(`[KolBadge] The label is too long for a badge (${o.length} > 32).`)}}})}validateSmartButton(o){c(o,(()=>{try{o=p(o)}catch(o){}h(this,"_smartButton",o)}))}componentWillLoad(){this.validateColor(this._color),this.validateLabel(this._label),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_label:["validateLabel"],_smartButton:["validateSmartButton"]}}};w.style={default:y};export{w as kol_badge};
4
+ import{r as o,h as i,H as t}from"./index-50adf9a0.js";import{f as r,d as a,a as s}from"./a11y.tipps-5cdbd5e2.js";import{r as e,c as n,a as l,o as c,p as d,s as p}from"./prop.validators-769a843a.js";import{v as b}from"./label-ea9f2a1a.js";import{c as h}from"./index-d14da386.js";import"./dev.utils-05f4e663.js";import"./reuse-56bb5a4b.js";import"./index-676dbf61.js";const f=(o,t,r)=>(299*o+587*t+114*r)/1e3>=128?-1:1,g=(o,t,r,a=1)=>{const i=[Math.max(Math.min(Math.round(t[0]+a*Math.max(1,t[0]/100)),255),0),Math.max(Math.min(Math.round(t[1]+a*Math.max(1,t[1]/100)),255),0),Math.max(Math.min(Math.round(t[2]+a*Math.max(1,t[2]/100)),255),0)],s=n(e.hex(`rgba(${o.join(",")},1)`),e.hex(`rgba(${i.join(",")},1)`)),l=i[0]+i[1]+i[2];return 0===l||765===l||s>r?{background:o,foreground:i,contrast:s}:g(o,i,r,a)},k=new Map,u=(o,t,r,a=1)=>{if(k.has(o))return k.get(o);const i=g(o,t,r,a);return k.set(o,i),i},m=(o,t=7)=>{let r=[0,0,0,1],a=[255,255,255,1];"string"==typeof o?(r=h(o),a=r):"object"==typeof o&&null!==o&&"string"==typeof o.background&&"string"==typeof o.foreground&&(r=h(o.background),a="string"==typeof o.foreground?h(o.foreground):r);const i=f(r[0],r[1],r[2]),s=u([r[0],r[1],r[2]],[a[0],a[1],a[2]],t,i);return a=[...s.foreground,1],{background:e.hex(`rgba(${r.join(",")})`),foreground:e.hex(`rgba(${a.join(",")})`),contrast:s.contrast}},y=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size)}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}:host{display:inline-block}:host>span{border-radius:var(--kolibri-border-radius);display:flex;line-height:calc(1rem + var(--kolibri-spacing));place-items:center}:host>span kol-span-wc{padding:var(--kolibri-spacing) calc(2 * var(--kolibri-spacing))}:host>span>kol-span-wc{align-items:center;font-style:normal;gap:calc(2 * var(--kolibri-spacing))}:host>span.smart-button>kol-span-wc{border-right:1px solid rgba(0, 0, 0, 0.25)}:host>span>kol-span-wc>span{display:flex;gap:var(--kolibri-spacing)}:host>span>kol-button-wc button{border-radius:0 var(--kolibri-spacing) var(--kolibri-spacing) 0;color:inherit}";r("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const v=/^([a-f0-9]{3}|[a-f0-9]{6})$/,w=class{constructor(t){o(this,t),this.bgColorStr="#000",this.colorStr="#fff",this.handleColorChange=o=>{let t,r=o;"string"==typeof r?(v.test(r)&&(a("[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),r=`#${r}`),t=m(r)):t=m({background:r.backgroundColor,foreground:r.color}),t.contrast<7&&s(`[KolBadge] The contrast of ${t.contrast} (≥7, AAA) is too low, between the color pair ${t.background} and ${t.foreground}.`),this.bgColorStr=t.background,this.colorStr=t.foreground},this._color="#000",this._icon=void 0,this._iconOnly=!1,this._label=void 0,this._smartButton=void 0,this.state={_color:"#000",_label:""}}render(){return i(t,null,i("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},i("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this.state._label}),"object"==typeof this.state._smartButton&&null!==this.state._smartButton&&i("kol-button-wc",{_ariaLabel:this.state._smartButton._ariaLabel,_customClass:this.state._smartButton._customClass,_disabled:this.state._smartButton._disabled,_icon:this.state._smartButton._icon,_iconOnly:!0,_id:this.state._smartButton._id,_label:this.state._smartButton._label,_on:this.state._smartButton._on,_tooltipAlign:this.state._smartButton._tooltipAlign,_variant:this.state._smartButton._variant})))}validateColor(o){l(this,"_color",(o=>"string"==typeof o||"object"==typeof o&&null!==o&&"string"==typeof o.backgroundColor&&"string"==typeof o.color),new Set(["string","KoliBriColor"]),o,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateLabel(o){b(this,o,{hooks:{afterPatch:o=>{"string"==typeof o&&o.length>32&&s(`[KolBadge] The label is too long for a badge (${o.length} > 32).`)}}})}validateSmartButton(o){c(o,(()=>{try{o=d(o)}catch(o){}p(this,"_smartButton",o)}))}componentWillLoad(){this.validateColor(this._color),this.validateLabel(this._label),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_label:["validateLabel"],_smartButton:["validateSmartButton"]}}};w.style={default:y};export{w as kol_badge};
@@ -1 +1 @@
1
- {"version":3,"names":["getContrastYIQ","r","g","b","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","color","Math","max","min","round","contrast","hex","rgbaConvert","join","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","defaultStyleCss","featureHint","HACK_REG_EX","KolBadge","this","bgColorStr","colorStr","handleColorChange","value","test","devHint","backgroundColor","a11yHint","_color","_label","render","h","Host","class","state","_smartButton","style","_icon","_iconOnly","_ariaLabel","_customClass","_disabled","_id","_on","_tooltipAlign","_variant","validateColor","watchValidator","Set","defaultValue","hooks","beforePatch","validateLabel","afterPatch","length","validateSmartButton","objectObjectHandler","parseJson","e","setState","componentWillLoad"],"sources":["./src/components/badge/contrast.ts","./src/components/badge/style.css?tag=kol-badge&mode=default&encapsulation=shadow","./src/components/badge/component.tsx"],"sourcesContent":["import { rgbaConvert } from './rgba-convert';\nimport { hex } from 'wcag-contrast';\nimport { colorRgba } from './color-rgba';\nimport { RGB } from 'color-convert/conversions';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","@import '../style.css';\n\n:host {\n\tdisplay: inline-block;\n}\n:host > span {\n\tborder-radius: var(--kolibri-border-radius);\n\tdisplay: flex;\n\t/* height: calc(1rem + 3 * var(--kolibri-spacing)); we could not limited the height */\n\tline-height: calc(1rem + var(--kolibri-spacing));\n\tplace-items: center;\n}\n:host > span kol-span-wc {\n\tpadding: var(--kolibri-spacing) calc(2 * var(--kolibri-spacing));\n}\n:host > span > kol-span-wc {\n\talign-items: center;\n\tfont-style: normal;\n\tgap: calc(2 * var(--kolibri-spacing));\n}\n:host > span.smart-button > kol-span-wc {\n\tborder-right: 1px solid rgba(0, 0, 0, 0.25);\n}\n:host > span > kol-span-wc > span {\n\tdisplay: flex;\n\tgap: var(--kolibri-spacing);\n}\n:host > span > kol-button-wc button {\n\tborder-radius: 0 var(--kolibri-spacing) var(--kolibri-spacing) 0;\n\tcolor: inherit;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { a11yHint, devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { validateLabel } from '../../utils/validators/label';\nimport { ColorContrast, createContrastColorPair } from './contrast';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\nconst HACK_REG_EX = /^([a-f0-9]{3}|[a-f0-9]{6})$/;\n\nexport type KoliBriColor = {\n\tbackgroundColor: string;\n\tcolor: string;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\tcolor: Stringified<KoliBriColor>;\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n\tsmartButton: Stringified<ButtonProps>;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcolor: Stringified<KoliBriColor>;\n\tlabel: string;\n};\ntype OptionalStates = {\n\tsmartButton: ButtonProps;\n};\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements Props {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\n\tpublic render(): JSX.Element {\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 _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._label}></kol-span-wc>\n\t\t\t\t\t{typeof this.state._smartButton === 'object' && this.state._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_ariaLabel={this.state._smartButton._ariaLabel}\n\t\t\t\t\t\t\t_customClass={this.state._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this.state._smartButton._icon}\n\t\t\t\t\t\t\t_iconOnly={true}\n\t\t\t\t\t\t\t_id={this.state._smartButton._id}\n\t\t\t\t\t\t\t_label={this.state._smartButton._label}\n\t\t\t\t\t\t\t_on={this.state._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this.state._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Farbe des Hintergrundes bzw. der Schrift an.\n\t */\n\t@Prop() public _color?: string | KoliBriColor = '#000';\n\n\t/**\n\t * Gibt einen Identifier eines Icons aus den Icofont's an. (https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob nur das Icon angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _iconOnly?: boolean = false;\n\n\t/**\n\t * Gibt den Label-Text des Badges an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_color: '#000',\n\t\t_label: '',\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tlet color = value as string | KoliBriColor;\n\t\tlet colorContrast: ColorContrast<string>;\n\t\tif (typeof color === 'string') {\n\t\t\tif (HACK_REG_EX.test(color)) {\n\t\t\t\t// Catch Breaking Change - remove next Major\n\t\t\t\tdevHint(\n\t\t\t\t\t`[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).`\n\t\t\t\t);\n\t\t\t\tcolor = `#${color}`;\n\t\t\t}\n\t\t\tcolorContrast = createContrastColorPair(color);\n\t\t} else {\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: color.backgroundColor,\n\t\t\t\tforeground: color.color,\n\t\t\t});\n\t\t}\n\t\tif (colorContrast.contrast < 7) {\n\t\t\ta11yHint(\n\t\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is too low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t\t);\n\t\t}\n\t\tthis.bgColorStr = colorContrast.background;\n\t\tthis.colorStr = colorContrast.foreground;\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_color')\n\tpublic validateColor(value?: string | KoliBriColor): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_color',\n\t\t\t(value) =>\n\t\t\t\ttypeof value === 'string' ||\n\t\t\t\t(typeof value === 'object' && value !== null && typeof value.backgroundColor === 'string' && typeof value.color === 'string'),\n\t\t\tnew Set(['string', 'KoliBriColor']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: '#000',\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabel(this, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\tif (typeof value === 'string' && value.length > 32) {\n\t\t\t\t\t\ta11yHint(`[KolBadge] The label is too long for a badge (${value.length} > 32).`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["getContrastYIQ","r","g","b","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","color","Math","max","min","round","contrast","hex","rgbaConvert","join","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","defaultStyleCss","featureHint","HACK_REG_EX","KolBadge","this","bgColorStr","colorStr","handleColorChange","value","test","devHint","backgroundColor","a11yHint","_color","_label","render","h","Host","class","state","_smartButton","style","_icon","_iconOnly","_ariaLabel","_customClass","_disabled","_id","_on","_tooltipAlign","_variant","validateColor","watchValidator","Set","defaultValue","hooks","beforePatch","validateLabel","afterPatch","length","validateSmartButton","objectObjectHandler","parseJson","e","setState","componentWillLoad"],"sources":["./src/components/badge/contrast.ts","./src/components/badge/style.css?tag=kol-badge&mode=default&encapsulation=shadow","./src/components/badge/component.tsx"],"sourcesContent":["import { rgbaConvert } from './rgba-convert';\nimport { hex } from 'wcag-contrast';\nimport { colorRgba } from './color-rgba';\nimport { RGB } from 'color-convert/conversions';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","@import '../style.css';\n\n:host {\n\tdisplay: inline-block;\n}\n:host > span {\n\tborder-radius: var(--kolibri-border-radius);\n\tdisplay: flex;\n\t/* height: calc(1rem + 3 * var(--kolibri-spacing)); we could not limited the height */\n\tline-height: calc(1rem + var(--kolibri-spacing));\n\tplace-items: center;\n}\n:host > span kol-span-wc {\n\tpadding: var(--kolibri-spacing) calc(2 * var(--kolibri-spacing));\n}\n:host > span > kol-span-wc {\n\talign-items: center;\n\tfont-style: normal;\n\tgap: calc(2 * var(--kolibri-spacing));\n}\n:host > span.smart-button > kol-span-wc {\n\tborder-right: 1px solid rgba(0, 0, 0, 0.25);\n}\n:host > span > kol-span-wc > span {\n\tdisplay: flex;\n\tgap: var(--kolibri-spacing);\n}\n:host > span > kol-button-wc button {\n\tborder-radius: 0 var(--kolibri-spacing) var(--kolibri-spacing) 0;\n\tcolor: inherit;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { a11yHint, devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { validateLabel } from '../../utils/validators/label';\nimport { ColorContrast, createContrastColorPair } from './contrast';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\nconst HACK_REG_EX = /^([a-f0-9]{3}|[a-f0-9]{6})$/;\n\nexport type KoliBriColor = {\n\tbackgroundColor: string;\n\tcolor: string;\n};\n\n/**\n * API\n */\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\tcolor: Stringified<KoliBriColor>;\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n\tsmartButton: Stringified<ButtonProps>;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcolor: Stringified<KoliBriColor>;\n\tlabel: string;\n};\ntype OptionalStates = {\n\tsmartButton: ButtonProps;\n};\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements Props {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\n\tpublic render(): JSX.Element {\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 _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._label}></kol-span-wc>\n\t\t\t\t\t{typeof this.state._smartButton === 'object' && this.state._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_ariaLabel={this.state._smartButton._ariaLabel}\n\t\t\t\t\t\t\t_customClass={this.state._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this.state._smartButton._icon}\n\t\t\t\t\t\t\t_iconOnly={true}\n\t\t\t\t\t\t\t_id={this.state._smartButton._id}\n\t\t\t\t\t\t\t_label={this.state._smartButton._label}\n\t\t\t\t\t\t\t_on={this.state._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this.state._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Farbe des Hintergrundes bzw. der Schrift an.\n\t */\n\t@Prop() public _color?: string | KoliBriColor = '#000';\n\n\t/**\n\t * Gibt einen Identifier eines Icons aus den Icofont's an. (https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob nur das Icon angezeigt wird.\n\t */\n\t@Prop({ reflect: true }) public _iconOnly?: boolean = false;\n\n\t/**\n\t * Gibt den Label-Text des Badges an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_color: '#000',\n\t\t_label: '…', // ⚠ required\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tlet color = value as string | KoliBriColor;\n\t\tlet colorContrast: ColorContrast<string>;\n\t\tif (typeof color === 'string') {\n\t\t\tif (HACK_REG_EX.test(color)) {\n\t\t\t\t// Catch Breaking Change - remove next Major\n\t\t\t\tdevHint(\n\t\t\t\t\t`[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).`\n\t\t\t\t);\n\t\t\t\tcolor = `#${color}`;\n\t\t\t}\n\t\t\tcolorContrast = createContrastColorPair(color);\n\t\t} else {\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: color.backgroundColor,\n\t\t\t\tforeground: color.color,\n\t\t\t});\n\t\t}\n\t\tif (colorContrast.contrast < 7) {\n\t\t\ta11yHint(\n\t\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is too low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t\t);\n\t\t}\n\t\tthis.bgColorStr = colorContrast.background;\n\t\tthis.colorStr = colorContrast.foreground;\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_color')\n\tpublic validateColor(value?: string | KoliBriColor): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_color',\n\t\t\t(value) =>\n\t\t\t\ttypeof value === 'string' ||\n\t\t\t\t(typeof value === 'object' && value !== null && typeof value.backgroundColor === 'string' && typeof value.color === 'string'),\n\t\t\tnew Set(['string', 'KoliBriColor']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: '#000',\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabel(this, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\tif (typeof value === 'string' && value.length > 32) {\n\t\t\t\t\t\ta11yHint(`[KolBadge] The label is too long for a badge (${value.length} > 32).`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as o,F as r,H as a}from"./index-50adf9a0.js";import{b as e}from"./a11y.tipps-5cdbd5e2.js";import{w as l}from"./prop.validators-15724e89.js";import{w as n}from"./validation-8149b359.js";import"./dev.utils-05f4e663.js";import"./reuse-56bb5a4b.js";import"./index-599f5430.js";const t=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host{font-family:inherit;font-size:inherit}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{display:inline-block}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}ul,li{margin:0;padding:0;list-style:none;display:flex;gap:0.5em;flex-wrap:wrap;place-items:center}kol-icon::part(separator){font-weight:900;font-size:0.7em}kol-icon::part(separator)::before{content:'\\f054';font-family:'Font Awesome 6 Free'}",s=class{constructor(o){i(this,o),this._ariaLabel=void 0,this._links=void 0,this.state={_ariaLabel:"…",_links:[]}}render(){const i=this.state._links.length-1;return o(a,null,o("nav",{"aria-label":this.state._ariaLabel},o("ul",null,0===this.state._links.length&&o("li",null,o("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-house"}),"…"),this.state._links.map(((a,l)=>o("li",{key:l},0!==l&&o("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right",_part:"separator",exportparts:"separator"}),l===i?o("span",null,a._iconOnly?o("kol-icon",{_ariaLabel:a._label,_icon:"string"==typeof a._icon?a._icon:"fa-solid fa-link-slash"}):o(r,null,a._label)):o("kol-link",Object.assign({exportparts:"link",_useCase:"nav"},a,{_ariaLabel:a._label}),a._label)))))))}validateAriaLabel(i){l(this,"_ariaLabel",i,{required:!0}),e(i)}validateLinks(i){n("KolBreadcrumb",this,i)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateLinks(this._links)}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_links:["validateLinks"]}}};s.style={default:t};export{s as kol_breadcrumb};
4
+ import{r as i,h as o,F as r,H as a}from"./index-50adf9a0.js";import{b as e}from"./a11y.tipps-5cdbd5e2.js";import{w as l}from"./prop.validators-769a843a.js";import{w as n}from"./validation-f13f1eed.js";import"./dev.utils-05f4e663.js";import"./reuse-56bb5a4b.js";import"./index-676dbf61.js";const t=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}a,button{background-color:transparent;border:none;font-size:inherit;margin:0;padding:0;transition-duration:0.5s;transition-property:background-color, color, border-color}:host{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size)}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}kol-span-wc>kol-icon,kol-span-wc>span>kol-icon{display:inline-grid;place-items:center;width:1em;height:1em}a,button,input,select,textarea{appearance:none;cursor:pointer}.icon-only>kol-span-wc>span>span{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--kolibri-font-family);font-size:var(--kolibri-font-size);margin:0;padding:0}ul,li{margin:0;padding:0;list-style:none;display:flex;gap:0.5em;flex-wrap:wrap;place-items:center}kol-icon::part(separator){font-weight:900;font-size:0.7em}kol-icon::part(separator)::before{content:'\\f054';font-family:'Font Awesome 6 Free'}",s=class{constructor(a){i(this,a),this._ariaLabel=void 0,this._links=void 0,this.state={_ariaLabel:"…",_links:[]}}render(){const i=this.state._links.length-1;return o(a,null,o("nav",{"aria-label":this.state._ariaLabel},o("ul",null,0===this.state._links.length&&o("li",null,o("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-house"}),"…"),this.state._links.map(((a,l)=>o("li",{key:l},0!==l&&o("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right",_part:"separator",exportparts:"separator"}),l===i?o("span",null,a._iconOnly?o("kol-icon",{_ariaLabel:a._label,_icon:"string"==typeof a._icon?a._icon:"fa-solid fa-link-slash"}):o(r,null,a._label)):o("kol-link",Object.assign({exportparts:"link",_useCase:"nav"},a,{_ariaLabel:a._label}),a._label)))))))}validateAriaLabel(i){l(this,"_ariaLabel",i,{required:!0}),e(i)}validateLinks(i){n("KolBreadcrumb",this,i)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateLinks(this._links)}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_links:["validateLinks"]}}};s.style={default:t};export{s as kol_breadcrumb};