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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. package/cheat-sheet.html +27 -14
  2. package/custom-elements.json +2285 -107
  3. package/dist/cjs/a11y.tipps-bd1e1e68.js +4 -0
  4. package/dist/cjs/a11y.tipps-bd1e1e68.js.map +1 -0
  5. package/dist/cjs/app-globals-ead7cf69.js +4 -0
  6. package/dist/cjs/app-globals-ead7cf69.js.map +1 -0
  7. package/dist/cjs/button-link-8476ef97.js +4 -0
  8. package/dist/cjs/{button-link-a6efe03a.js.map → button-link-8476ef97.js.map} +1 -1
  9. package/dist/cjs/controller-0b45980a.js +4 -0
  10. package/dist/cjs/{controller-7d31a408.js.map → controller-0b45980a.js.map} +1 -1
  11. package/dist/cjs/{controller-2a86ec5b.js → controller-169c2e5c.js} +1 -1
  12. package/dist/cjs/{controller-2a86ec5b.js.map → controller-169c2e5c.js.map} +1 -1
  13. package/dist/cjs/{controller-ec5e2d7d.js → controller-323daab1.js} +1 -1
  14. package/dist/cjs/{controller-ec5e2d7d.js.map → controller-323daab1.js.map} +1 -1
  15. package/dist/cjs/{controller-29f3c454.js → controller-3b1b8088.js} +1 -1
  16. package/dist/cjs/{controller-29f3c454.js.map → controller-3b1b8088.js.map} +1 -1
  17. package/dist/cjs/{controller-ddebcf52.js → controller-891952ee.js} +1 -1
  18. package/dist/cjs/{controller-ddebcf52.js.map → controller-891952ee.js.map} +1 -1
  19. package/dist/cjs/{controller-1584664d.js → controller-e6f251c2.js} +1 -1
  20. package/dist/cjs/{controller-1584664d.js.map → controller-e6f251c2.js.map} +1 -1
  21. package/dist/cjs/controller-icon-a996cb01.js +4 -0
  22. package/dist/cjs/controller-icon-a996cb01.js.map +1 -0
  23. package/dist/cjs/dev.utils-b6dd5206.js +4 -0
  24. package/dist/cjs/dev.utils-b6dd5206.js.map +1 -0
  25. package/dist/cjs/devtools-8d17bfd4.js +4 -0
  26. package/dist/cjs/{devtools-3cff8604.js.map → devtools-8d17bfd4.js.map} +1 -1
  27. package/dist/cjs/{i18n-d2bd0802.js → i18n-2f63f0ca.js} +1 -1
  28. package/dist/cjs/{i18n-d2bd0802.js.map → i18n-2f63f0ca.js.map} +1 -1
  29. package/dist/cjs/icon-4f733b4e.js +4 -0
  30. package/dist/cjs/icon-4f733b4e.js.map +1 -0
  31. package/dist/cjs/{index-c4f8dd50.js → index-1266b30d.js} +1 -1
  32. package/dist/cjs/index-1266b30d.js.map +1 -0
  33. package/dist/cjs/index-66aa0f41.js +4 -0
  34. package/dist/cjs/index-66aa0f41.js.map +1 -0
  35. package/dist/cjs/index-d637d600.js +4 -0
  36. package/dist/cjs/{index-35d18542.js.map → index-d637d600.js.map} +1 -1
  37. package/dist/cjs/index.cjs.js +1 -1
  38. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  39. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  40. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  42. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  44. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  46. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  48. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +1 -1
  50. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  54. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  56. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  62. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-heading-wc_2.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-heading-wc_2.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-icon-icofont.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-input-radio-group.cjs.entry.js.map +1 -1
  93. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  95. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  97. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  99. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  101. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  103. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  107. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  111. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  113. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  115. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  116. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  117. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  119. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  120. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  121. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  122. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  123. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  124. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  125. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  126. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  127. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  128. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  135. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  136. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  137. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  138. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  139. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  140. package/dist/cjs/kolibri.cjs.js +1 -1
  141. package/dist/cjs/kolibri.cjs.js.map +1 -1
  142. package/dist/cjs/label-b9c8787b.js +4 -0
  143. package/dist/cjs/{label-92997e6d.js.map → label-b9c8787b.js.map} +1 -1
  144. package/dist/cjs/loader.cjs.js +1 -1
  145. package/dist/cjs/loader.cjs.js.map +1 -1
  146. package/dist/cjs/prop.validators-125ca9b8.js +4 -0
  147. package/dist/cjs/prop.validators-125ca9b8.js.map +1 -0
  148. package/dist/cjs/reuse-b43997f3.js +4 -0
  149. package/dist/cjs/reuse-b43997f3.js.map +1 -0
  150. package/dist/cjs/{tab-index-7d4e8d14.js → tab-index-7d5103dc.js} +1 -1
  151. package/dist/cjs/{tab-index-7d4e8d14.js.map → tab-index-7d5103dc.js.map} +1 -1
  152. package/dist/cjs/{validation-9cdc8b6c.js → validation-314516d8.js} +1 -1
  153. package/dist/cjs/{validation-9cdc8b6c.js.map → validation-314516d8.js.map} +1 -1
  154. package/dist/cjs/{validation-b1132e50.js → validation-c071c3ac.js} +1 -1
  155. package/dist/cjs/{validation-b1132e50.js.map → validation-c071c3ac.js.map} +1 -1
  156. package/dist/components/component.js +1 -1
  157. package/dist/components/component.js.map +1 -1
  158. package/dist/components/component10.js +1 -1
  159. package/dist/components/component10.js.map +1 -1
  160. package/dist/components/component11.js +1 -1
  161. package/dist/components/component11.js.map +1 -1
  162. package/dist/components/component12.js +1 -1
  163. package/dist/components/component12.js.map +1 -1
  164. package/dist/components/component13.js +1 -1
  165. package/dist/components/component13.js.map +1 -1
  166. package/dist/components/component2.js +1 -1
  167. package/dist/components/component2.js.map +1 -1
  168. package/dist/components/component3.js +1 -1
  169. package/dist/components/component3.js.map +1 -1
  170. package/dist/components/component4.js +1 -1
  171. package/dist/components/component4.js.map +1 -1
  172. package/dist/components/component5.js +1 -1
  173. package/dist/components/component5.js.map +1 -1
  174. package/dist/components/component6.js +1 -1
  175. package/dist/components/component7.js +1 -1
  176. package/dist/components/component7.js.map +1 -1
  177. package/dist/components/component8.js +1 -1
  178. package/dist/components/component8.js.map +1 -1
  179. package/dist/components/controller-icon.js +1 -1
  180. package/dist/components/controller.js +1 -1
  181. package/dist/components/controller2.js +1 -1
  182. package/dist/components/controller2.js.map +1 -1
  183. package/dist/components/controller3.js +1 -1
  184. package/dist/components/controller4.js +1 -1
  185. package/dist/components/devtools.js +1 -1
  186. package/dist/components/i18n.js +1 -1
  187. package/dist/components/index.js +1 -1
  188. package/dist/components/index.js.map +1 -1
  189. package/dist/components/index2.js +1 -1
  190. package/dist/components/index2.js.map +1 -1
  191. package/dist/components/kol-abbr.js +1 -1
  192. package/dist/components/kol-abbr.js.map +1 -1
  193. package/dist/components/kol-accordion.js +1 -1
  194. package/dist/components/kol-accordion.js.map +1 -1
  195. package/dist/components/kol-breadcrumb.js +1 -1
  196. package/dist/components/kol-breadcrumb.js.map +1 -1
  197. package/dist/components/kol-button-group.js +1 -1
  198. package/dist/components/kol-button-group.js.map +1 -1
  199. package/dist/components/kol-button-link.js +1 -1
  200. package/dist/components/kol-button-link.js.map +1 -1
  201. package/dist/components/kol-card.js +1 -1
  202. package/dist/components/kol-card.js.map +1 -1
  203. package/dist/components/kol-details.js +1 -1
  204. package/dist/components/kol-details.js.map +1 -1
  205. package/dist/components/kol-form.js +1 -1
  206. package/dist/components/kol-heading.js +1 -1
  207. package/dist/components/kol-heading.js.map +1 -1
  208. package/dist/components/kol-icon-font-awesome.js +1 -1
  209. package/dist/components/kol-icon-font-awesome.js.map +1 -1
  210. package/dist/components/kol-icon-icofont.js +1 -1
  211. package/dist/components/kol-icon-icofont.js.map +1 -1
  212. package/dist/components/kol-input-adapter-leanup.js +1 -1
  213. package/dist/components/kol-input-checkbox.js +1 -1
  214. package/dist/components/kol-input-checkbox.js.map +1 -1
  215. package/dist/components/kol-input-color.js +1 -1
  216. package/dist/components/kol-input-color.js.map +1 -1
  217. package/dist/components/kol-input-date.js +1 -1
  218. package/dist/components/kol-input-date.js.map +1 -1
  219. package/dist/components/kol-input-email.js +1 -1
  220. package/dist/components/kol-input-email.js.map +1 -1
  221. package/dist/components/kol-input-file.js +1 -1
  222. package/dist/components/kol-input-file.js.map +1 -1
  223. package/dist/components/kol-input-password.js +1 -1
  224. package/dist/components/kol-input-password.js.map +1 -1
  225. package/dist/components/kol-input-radio-group.js +1 -1
  226. package/dist/components/kol-input-range.js +1 -1
  227. package/dist/components/kol-input-range.js.map +1 -1
  228. package/dist/components/kol-input-text.js +1 -1
  229. package/dist/components/kol-input-text.js.map +1 -1
  230. package/dist/components/kol-kolibri.js +1 -1
  231. package/dist/components/kol-kolibri.js.map +1 -1
  232. package/dist/components/kol-link-button.js +1 -1
  233. package/dist/components/kol-link-button.js.map +1 -1
  234. package/dist/components/kol-link-group.js +1 -1
  235. package/dist/components/kol-link-group.js.map +1 -1
  236. package/dist/components/kol-logo.js +1 -1
  237. package/dist/components/kol-logo.js.map +1 -1
  238. package/dist/components/kol-modal.js +1 -1
  239. package/dist/components/kol-modal.js.map +1 -1
  240. package/dist/components/kol-nav.js +1 -1
  241. package/dist/components/kol-nav.js.map +1 -1
  242. package/dist/components/kol-progress.js +1 -1
  243. package/dist/components/kol-progress.js.map +1 -1
  244. package/dist/components/kol-skip-nav.js +1 -1
  245. package/dist/components/kol-skip-nav.js.map +1 -1
  246. package/dist/components/kol-span.js +1 -1
  247. package/dist/components/kol-span.js.map +1 -1
  248. package/dist/components/kol-spin.js +1 -1
  249. package/dist/components/kol-spin.js.map +1 -1
  250. package/dist/components/kol-table.js +1 -1
  251. package/dist/components/kol-table.js.map +1 -1
  252. package/dist/components/kol-tabs.js +1 -1
  253. package/dist/components/kol-tabs.js.map +1 -1
  254. package/dist/components/kol-textarea.js +1 -1
  255. package/dist/components/kol-textarea.js.map +1 -1
  256. package/dist/components/kol-toast.js +1 -1
  257. package/dist/components/kol-toast.js.map +1 -1
  258. package/dist/components/kol-tooltip.js +1 -1
  259. package/dist/components/kol-version.js +1 -1
  260. package/dist/components/kol-version.js.map +1 -1
  261. package/dist/components/prop.validators.js +1 -1
  262. package/dist/components/prop.validators.js.map +1 -1
  263. package/dist/components/shadow.js +1 -1
  264. package/dist/components/shadow.js.map +1 -1
  265. package/dist/components/shadow2.js +1 -1
  266. package/dist/components/shadow2.js.map +1 -1
  267. package/dist/components/validation.js +1 -1
  268. package/dist/esm/a11y.tipps-353a7f35.js +4 -0
  269. package/dist/esm/a11y.tipps-353a7f35.js.map +1 -0
  270. package/dist/esm/app-globals-4be5aa27.js +4 -0
  271. package/dist/esm/app-globals-4be5aa27.js.map +1 -0
  272. package/dist/esm/{button-link-d9d215b8.js → button-link-5bb8204c.js} +1 -1
  273. package/dist/esm/{button-link-d9d215b8.js.map → button-link-5bb8204c.js.map} +1 -1
  274. package/dist/esm/{controller-58b484bb.js → controller-059a3921.js} +1 -1
  275. package/dist/esm/{controller-58b484bb.js.map → controller-059a3921.js.map} +1 -1
  276. package/dist/esm/{controller-401e5985.js → controller-15111cee.js} +1 -1
  277. package/dist/esm/{controller-401e5985.js.map → controller-15111cee.js.map} +1 -1
  278. package/dist/esm/{controller-3cfe91c9.js → controller-766d4423.js} +1 -1
  279. package/dist/esm/{controller-3cfe91c9.js.map → controller-766d4423.js.map} +1 -1
  280. package/dist/esm/{controller-7adb5f0e.js → controller-9f66274a.js} +1 -1
  281. package/dist/esm/{controller-7adb5f0e.js.map → controller-9f66274a.js.map} +1 -1
  282. package/dist/esm/{controller-eecee40f.js → controller-b8a587ec.js} +1 -1
  283. package/dist/esm/{controller-eecee40f.js.map → controller-b8a587ec.js.map} +1 -1
  284. package/dist/esm/controller-ee46a348.js +4 -0
  285. package/dist/esm/{controller-4c6206b0.js.map → controller-ee46a348.js.map} +1 -1
  286. package/dist/esm/controller-icon-dbd368be.js +4 -0
  287. package/dist/esm/{controller-icon-c113ba17.js.map → controller-icon-dbd368be.js.map} +1 -1
  288. package/dist/esm/dev.utils-3ec9f837.js +4 -0
  289. package/dist/esm/dev.utils-3ec9f837.js.map +1 -0
  290. package/dist/esm/devtools-65ea920c.js +4 -0
  291. package/dist/esm/{devtools-d2ea86e5.js.map → devtools-65ea920c.js.map} +1 -1
  292. package/dist/esm/{i18n-b31d8a52.js → i18n-f2ab4562.js} +1 -1
  293. package/dist/esm/{i18n-b31d8a52.js.map → i18n-f2ab4562.js.map} +1 -1
  294. package/dist/esm/icon-4f6266ca.js +4 -0
  295. package/dist/esm/{icon-22dfdb71.js.map → icon-4f6266ca.js.map} +1 -1
  296. package/dist/esm/index-2a11dd6d.js +4 -0
  297. package/dist/esm/index-2a11dd6d.js.map +1 -0
  298. package/dist/esm/index-781a1af1.js +4 -0
  299. package/dist/esm/{index-5cef3ddc.js.map → index-781a1af1.js.map} +1 -1
  300. package/dist/{components/index3.js → esm/index-d14da386.js} +1 -1
  301. package/dist/esm/index-d14da386.js.map +1 -0
  302. package/dist/esm/index.js +1 -1
  303. package/dist/esm/kol-abbr.entry.js +1 -1
  304. package/dist/esm/kol-abbr.entry.js.map +1 -1
  305. package/dist/esm/kol-accordion.entry.js +1 -1
  306. package/dist/esm/kol-accordion.entry.js.map +1 -1
  307. package/dist/esm/kol-alert.entry.js +1 -1
  308. package/dist/esm/kol-alert.entry.js.map +1 -1
  309. package/dist/esm/kol-badge.entry.js +1 -1
  310. package/dist/esm/kol-badge.entry.js.map +1 -1
  311. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  312. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  313. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  314. package/dist/esm/kol-button-group-wc.entry.js.map +1 -1
  315. package/dist/esm/kol-button-group.entry.js +1 -1
  316. package/dist/esm/kol-button-group.entry.js.map +1 -1
  317. package/dist/esm/kol-button-link.entry.js +1 -1
  318. package/dist/esm/kol-button-link.entry.js.map +1 -1
  319. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  320. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  321. package/dist/esm/kol-button.entry.js +1 -1
  322. package/dist/esm/kol-button.entry.js.map +1 -1
  323. package/dist/esm/kol-card.entry.js +1 -1
  324. package/dist/esm/kol-card.entry.js.map +1 -1
  325. package/dist/esm/kol-details.entry.js +1 -1
  326. package/dist/esm/kol-details.entry.js.map +1 -1
  327. package/dist/esm/kol-form.entry.js +1 -1
  328. package/dist/esm/kol-heading-wc_2.entry.js +1 -1
  329. package/dist/esm/kol-heading-wc_2.entry.js.map +1 -1
  330. package/dist/esm/kol-heading.entry.js +1 -1
  331. package/dist/esm/kol-heading.entry.js.map +1 -1
  332. package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
  333. package/dist/esm/kol-icon-font-awesome.entry.js.map +1 -1
  334. package/dist/esm/kol-icon-icofont.entry.js +1 -1
  335. package/dist/esm/kol-icon-icofont.entry.js.map +1 -1
  336. package/dist/esm/kol-icon.entry.js +1 -1
  337. package/dist/esm/kol-icon.entry.js.map +1 -1
  338. package/dist/esm/kol-indented-text.entry.js +1 -1
  339. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  340. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  341. package/dist/esm/kol-input-adapter-leanup.entry.js.map +1 -1
  342. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  343. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  344. package/dist/esm/kol-input-color.entry.js +1 -1
  345. package/dist/esm/kol-input-color.entry.js.map +1 -1
  346. package/dist/esm/kol-input-date.entry.js +1 -1
  347. package/dist/esm/kol-input-date.entry.js.map +1 -1
  348. package/dist/esm/kol-input-email.entry.js +1 -1
  349. package/dist/esm/kol-input-email.entry.js.map +1 -1
  350. package/dist/esm/kol-input-file.entry.js +1 -1
  351. package/dist/esm/kol-input-file.entry.js.map +1 -1
  352. package/dist/esm/kol-input-number.entry.js +1 -1
  353. package/dist/esm/kol-input-number.entry.js.map +1 -1
  354. package/dist/esm/kol-input-password.entry.js +1 -1
  355. package/dist/esm/kol-input-password.entry.js.map +1 -1
  356. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  357. package/dist/esm/kol-input-radio-group.entry.js.map +1 -1
  358. package/dist/esm/kol-input-radio.entry.js +1 -1
  359. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  360. package/dist/esm/kol-input-range.entry.js +1 -1
  361. package/dist/esm/kol-input-range.entry.js.map +1 -1
  362. package/dist/esm/kol-input-text.entry.js +1 -1
  363. package/dist/esm/kol-input-text.entry.js.map +1 -1
  364. package/dist/esm/kol-kolibri.entry.js +1 -1
  365. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  366. package/dist/esm/kol-link-button.entry.js +1 -1
  367. package/dist/esm/kol-link-button.entry.js.map +1 -1
  368. package/dist/esm/kol-link-group.entry.js +1 -1
  369. package/dist/esm/kol-link-group.entry.js.map +1 -1
  370. package/dist/esm/kol-link-wc.entry.js +1 -1
  371. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  372. package/dist/esm/kol-link.entry.js +1 -1
  373. package/dist/esm/kol-link.entry.js.map +1 -1
  374. package/dist/esm/kol-logo.entry.js +1 -1
  375. package/dist/esm/kol-logo.entry.js.map +1 -1
  376. package/dist/esm/kol-modal.entry.js +1 -1
  377. package/dist/esm/kol-modal.entry.js.map +1 -1
  378. package/dist/esm/kol-nav.entry.js +1 -1
  379. package/dist/esm/kol-nav.entry.js.map +1 -1
  380. package/dist/esm/kol-pagination.entry.js +1 -1
  381. package/dist/esm/kol-pagination.entry.js.map +1 -1
  382. package/dist/esm/kol-progress.entry.js +1 -1
  383. package/dist/esm/kol-progress.entry.js.map +1 -1
  384. package/dist/esm/kol-select.entry.js +1 -1
  385. package/dist/esm/kol-select.entry.js.map +1 -1
  386. package/dist/esm/kol-skip-nav.entry.js +1 -1
  387. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  388. package/dist/esm/kol-span.entry.js +1 -1
  389. package/dist/esm/kol-span.entry.js.map +1 -1
  390. package/dist/esm/kol-spin.entry.js +1 -1
  391. package/dist/esm/kol-spin.entry.js.map +1 -1
  392. package/dist/esm/kol-symbol.entry.js +1 -1
  393. package/dist/esm/kol-table.entry.js +1 -1
  394. package/dist/esm/kol-table.entry.js.map +1 -1
  395. package/dist/esm/kol-tabs.entry.js +1 -1
  396. package/dist/esm/kol-tabs.entry.js.map +1 -1
  397. package/dist/esm/kol-textarea.entry.js +1 -1
  398. package/dist/esm/kol-textarea.entry.js.map +1 -1
  399. package/dist/esm/kol-toast.entry.js +1 -1
  400. package/dist/esm/kol-toast.entry.js.map +1 -1
  401. package/dist/esm/kol-tooltip.entry.js +1 -1
  402. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  403. package/dist/esm/kol-version.entry.js +1 -1
  404. package/dist/esm/kol-version.entry.js.map +1 -1
  405. package/dist/esm/kolibri.js +1 -1
  406. package/dist/esm/kolibri.js.map +1 -1
  407. package/dist/esm/label-eaabc3d3.js +4 -0
  408. package/dist/esm/{label-3f6eb03e.js.map → label-eaabc3d3.js.map} +1 -1
  409. package/dist/esm/loader.js +1 -1
  410. package/dist/esm/loader.js.map +1 -1
  411. package/dist/esm/polyfills/core-js.js +1 -1
  412. package/dist/esm/prop.validators-c2234525.js +4 -0
  413. package/dist/esm/prop.validators-c2234525.js.map +1 -0
  414. package/dist/esm/reuse-2b3b6999.js +4 -0
  415. package/dist/esm/reuse-2b3b6999.js.map +1 -0
  416. package/dist/esm/{tab-index-e15e7adc.js → tab-index-1bc7d9c1.js} +1 -1
  417. package/dist/esm/{tab-index-e15e7adc.js.map → tab-index-1bc7d9c1.js.map} +1 -1
  418. package/dist/esm/validation-52548dee.js +4 -0
  419. package/dist/esm/{validation-cac8ee73.js.map → validation-52548dee.js.map} +1 -1
  420. package/dist/esm/{validation-470a9e9e.js → validation-d17349fa.js} +1 -1
  421. package/dist/esm/{validation-470a9e9e.js.map → validation-d17349fa.js.map} +1 -1
  422. package/dist/kolibri/a11y.tipps-353a7f35.js +4 -0
  423. package/dist/kolibri/a11y.tipps-353a7f35.js.map +1 -0
  424. package/dist/kolibri/app-globals-4be5aa27.js +4 -0
  425. package/dist/kolibri/app-globals-4be5aa27.js.map +1 -0
  426. package/dist/kolibri/assets/style.css +49 -77
  427. package/dist/kolibri/{button-link-d9d215b8.js → button-link-5bb8204c.js} +1 -1
  428. package/dist/kolibri/{button-link-d9d215b8.js.map → button-link-5bb8204c.js.map} +0 -0
  429. package/dist/kolibri/{controller-58b484bb.js → controller-059a3921.js} +1 -1
  430. package/dist/kolibri/{controller-58b484bb.js.map → controller-059a3921.js.map} +0 -0
  431. package/dist/kolibri/{controller-401e5985.js → controller-15111cee.js} +1 -1
  432. package/dist/kolibri/{controller-401e5985.js.map → controller-15111cee.js.map} +0 -0
  433. package/dist/kolibri/{controller-3cfe91c9.js → controller-766d4423.js} +1 -1
  434. package/dist/kolibri/{controller-3cfe91c9.js.map → controller-766d4423.js.map} +0 -0
  435. package/dist/kolibri/{controller-7adb5f0e.js → controller-9f66274a.js} +1 -1
  436. package/dist/kolibri/{controller-7adb5f0e.js.map → controller-9f66274a.js.map} +0 -0
  437. package/dist/kolibri/{controller-eecee40f.js → controller-b8a587ec.js} +1 -1
  438. package/dist/kolibri/{controller-eecee40f.js.map → controller-b8a587ec.js.map} +0 -0
  439. package/dist/kolibri/controller-ee46a348.js +4 -0
  440. package/dist/kolibri/{controller-4c6206b0.js.map → controller-ee46a348.js.map} +1 -1
  441. package/dist/kolibri/controller-icon-dbd368be.js +4 -0
  442. package/dist/kolibri/{controller-icon-c113ba17.js.map → controller-icon-dbd368be.js.map} +1 -1
  443. package/dist/kolibri/dev.utils-3ec9f837.js +4 -0
  444. package/dist/kolibri/dev.utils-3ec9f837.js.map +1 -0
  445. package/dist/kolibri/devtools-65ea920c.js +4 -0
  446. package/dist/kolibri/{devtools-d2ea86e5.js.map → devtools-65ea920c.js.map} +1 -1
  447. package/dist/kolibri/{i18n-b31d8a52.js → i18n-f2ab4562.js} +1 -1
  448. package/dist/kolibri/{i18n-b31d8a52.js.map → i18n-f2ab4562.js.map} +0 -0
  449. package/dist/kolibri/icon-4f6266ca.js +4 -0
  450. package/dist/kolibri/{icon-22dfdb71.js.map → icon-4f6266ca.js.map} +1 -1
  451. package/dist/kolibri/index-2a11dd6d.js +4 -0
  452. package/dist/kolibri/index-2a11dd6d.js.map +1 -0
  453. package/dist/kolibri/index-781a1af1.js +4 -0
  454. package/dist/kolibri/{index-5cef3ddc.js.map → index-781a1af1.js.map} +0 -0
  455. package/dist/kolibri/{index-1b8b837d.js → index-d14da386.js} +1 -1
  456. package/dist/kolibri/index-d14da386.js.map +1 -0
  457. package/dist/kolibri/index.esm.js +1 -1
  458. package/dist/kolibri/kol-abbr.entry.js +1 -1
  459. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  460. package/dist/kolibri/kol-accordion.entry.js +1 -1
  461. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  462. package/dist/kolibri/kol-alert.entry.js +1 -1
  463. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  464. package/dist/kolibri/kol-badge.entry.js +1 -1
  465. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  466. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  467. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  468. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  469. package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
  470. package/dist/kolibri/kol-button-group.entry.js +1 -1
  471. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  472. package/dist/kolibri/kol-button-link.entry.js +1 -1
  473. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  474. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  475. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  476. package/dist/kolibri/kol-button.entry.js +1 -1
  477. package/dist/kolibri/kol-button.entry.js.map +1 -1
  478. package/dist/kolibri/kol-card.entry.js +1 -1
  479. package/dist/kolibri/kol-card.entry.js.map +1 -1
  480. package/dist/kolibri/kol-details.entry.js +1 -1
  481. package/dist/kolibri/kol-details.entry.js.map +1 -1
  482. package/dist/kolibri/kol-form.entry.js +1 -1
  483. package/dist/kolibri/kol-form.entry.js.map +1 -1
  484. package/dist/kolibri/kol-heading-wc_2.entry.js +1 -1
  485. package/dist/kolibri/kol-heading-wc_2.entry.js.map +1 -1
  486. package/dist/kolibri/kol-heading.entry.js +1 -1
  487. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  488. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  489. package/dist/kolibri/kol-icon-font-awesome.entry.js.map +1 -1
  490. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  491. package/dist/kolibri/kol-icon-icofont.entry.js.map +1 -1
  492. package/dist/kolibri/kol-icon.entry.js +1 -1
  493. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  494. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  495. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  496. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  497. package/dist/kolibri/kol-input-adapter-leanup.entry.js.map +1 -1
  498. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  499. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  500. package/dist/kolibri/kol-input-color.entry.js +1 -1
  501. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  502. package/dist/kolibri/kol-input-date.entry.js +1 -1
  503. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  504. package/dist/kolibri/kol-input-email.entry.js +1 -1
  505. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  506. package/dist/kolibri/kol-input-file.entry.js +1 -1
  507. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  508. package/dist/kolibri/kol-input-number.entry.js +1 -1
  509. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  510. package/dist/kolibri/kol-input-password.entry.js +1 -1
  511. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  512. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  513. package/dist/kolibri/kol-input-radio-group.entry.js.map +1 -1
  514. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  515. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  516. package/dist/kolibri/kol-input-range.entry.js +1 -1
  517. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  518. package/dist/kolibri/kol-input-text.entry.js +1 -1
  519. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  520. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  521. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  522. package/dist/kolibri/kol-link-button.entry.js +1 -1
  523. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  524. package/dist/kolibri/kol-link-group.entry.js +1 -1
  525. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  526. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  527. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  528. package/dist/kolibri/kol-link.entry.js +1 -1
  529. package/dist/kolibri/kol-link.entry.js.map +1 -1
  530. package/dist/kolibri/kol-logo.entry.js +1 -1
  531. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  532. package/dist/kolibri/kol-modal.entry.js +1 -1
  533. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  534. package/dist/kolibri/kol-nav.entry.js +1 -1
  535. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  536. package/dist/kolibri/kol-pagination.entry.js +1 -1
  537. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  538. package/dist/kolibri/kol-progress.entry.js +1 -1
  539. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  540. package/dist/kolibri/kol-select.entry.js +1 -1
  541. package/dist/kolibri/kol-select.entry.js.map +1 -1
  542. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  543. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  544. package/dist/kolibri/kol-span.entry.js +1 -1
  545. package/dist/kolibri/kol-span.entry.js.map +1 -1
  546. package/dist/kolibri/kol-spin.entry.js +1 -1
  547. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  548. package/dist/kolibri/kol-symbol.entry.js +1 -1
  549. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  550. package/dist/kolibri/kol-table.entry.js +1 -1
  551. package/dist/kolibri/kol-table.entry.js.map +1 -1
  552. package/dist/kolibri/kol-tabs.entry.js +1 -1
  553. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  554. package/dist/kolibri/kol-textarea.entry.js +1 -1
  555. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  556. package/dist/kolibri/kol-toast.entry.js +1 -1
  557. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  558. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  559. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  560. package/dist/kolibri/kol-version.entry.js +1 -1
  561. package/dist/kolibri/kol-version.entry.js.map +1 -1
  562. package/dist/kolibri/kolibri.esm.js +1 -1
  563. package/dist/kolibri/kolibri.esm.js.map +1 -1
  564. package/dist/kolibri/label-eaabc3d3.js +4 -0
  565. package/dist/kolibri/{label-3f6eb03e.js.map → label-eaabc3d3.js.map} +1 -1
  566. package/dist/kolibri/prop.validators-c2234525.js +4 -0
  567. package/dist/kolibri/prop.validators-c2234525.js.map +1 -0
  568. package/dist/kolibri/reuse-2b3b6999.js +4 -0
  569. package/dist/kolibri/reuse-2b3b6999.js.map +1 -0
  570. package/dist/kolibri/{tab-index-e15e7adc.js → tab-index-1bc7d9c1.js} +1 -1
  571. package/dist/kolibri/{tab-index-e15e7adc.js.map → tab-index-1bc7d9c1.js.map} +0 -0
  572. package/dist/kolibri/validation-52548dee.js +4 -0
  573. package/dist/kolibri/{validation-cac8ee73.js.map → validation-52548dee.js.map} +0 -0
  574. package/dist/kolibri/{validation-470a9e9e.js → validation-d17349fa.js} +1 -1
  575. package/dist/kolibri/{validation-470a9e9e.js.map → validation-d17349fa.js.map} +0 -0
  576. package/dist/types/components/badge/contrast.d.ts +10 -6
  577. package/dist/types/components/heading/component.d.ts +9 -1
  578. package/dist/types/components/heading/shadow.d.ts +2 -0
  579. package/dist/types/components/heading/test/html.mock.d.ts +1 -1
  580. package/dist/types/components.d.ts +36 -30
  581. package/dist/types/enums/color.d.ts +0 -5
  582. package/dist/types/types/heading-level.d.ts +1 -1
  583. package/dist/types/utils/reuse.d.ts +3 -0
  584. package/doc/abbr.md +21 -4
  585. package/doc/accordion.md +21 -2
  586. package/doc/alert.md +22 -5
  587. package/doc/badge.md +28 -9
  588. package/doc/breadcrumb.md +23 -18
  589. package/doc/button-group.md +1 -1
  590. package/doc/button-link.md +20 -1
  591. package/doc/button.md +26 -7
  592. package/doc/card.md +29 -10
  593. package/doc/details.md +21 -4
  594. package/doc/heading.md +6 -4
  595. package/doc/icon-icofont.md +1 -1
  596. package/doc/icon.md +24 -10
  597. package/doc/indented-text.md +20 -1
  598. package/doc/input-checkbox.md +19 -0
  599. package/doc/input-color.md +21 -4
  600. package/doc/input-date.md +21 -4
  601. package/doc/input-email.md +21 -4
  602. package/doc/input-file.md +21 -4
  603. package/doc/input-number.md +21 -4
  604. package/doc/input-password.md +21 -4
  605. package/doc/input-radio.md +22 -16
  606. package/doc/input-range.md +21 -4
  607. package/doc/input-text.md +21 -4
  608. package/doc/kolibri.md +20 -1
  609. package/doc/link-button.md +21 -2
  610. package/doc/link-group.md +23 -8
  611. package/doc/link.md +21 -4
  612. package/doc/logo.md +20 -1
  613. package/doc/modal.md +20 -1
  614. package/doc/nav.md +25 -19
  615. package/doc/pagination.md +20 -1
  616. package/doc/progress.md +20 -1
  617. package/doc/select.md +34 -52
  618. package/doc/skip-nav.md +22 -12
  619. package/doc/span.md +19 -0
  620. package/doc/spin.md +20 -1
  621. package/doc/table.md +19 -0
  622. package/doc/tabs.md +22 -16
  623. package/doc/textarea.md +20 -1
  624. package/doc/toast.md +22 -5
  625. package/doc/tooltip.md +19 -0
  626. package/doc/version.md +20 -1
  627. package/jest-test-results.json +1 -1
  628. package/package.json +1 -1
  629. package/vscode-custom-data.json +22 -22
  630. package/dist/cjs/a11y.tipps-e1770acf.js +0 -4
  631. package/dist/cjs/a11y.tipps-e1770acf.js.map +0 -1
  632. package/dist/cjs/app-globals-d2684355.js +0 -4
  633. package/dist/cjs/app-globals-d2684355.js.map +0 -1
  634. package/dist/cjs/button-link-a6efe03a.js +0 -4
  635. package/dist/cjs/color-54989457.js +0 -4
  636. package/dist/cjs/color-54989457.js.map +0 -1
  637. package/dist/cjs/controller-7d31a408.js +0 -4
  638. package/dist/cjs/controller-icon-222f331c.js +0 -4
  639. package/dist/cjs/controller-icon-222f331c.js.map +0 -1
  640. package/dist/cjs/dev.utils-2353100d.js +0 -4
  641. package/dist/cjs/dev.utils-2353100d.js.map +0 -1
  642. package/dist/cjs/devtools-3cff8604.js +0 -4
  643. package/dist/cjs/icon-4ba7c898.js +0 -4
  644. package/dist/cjs/icon-4ba7c898.js.map +0 -1
  645. package/dist/cjs/index-35d18542.js +0 -4
  646. package/dist/cjs/index-95d4d068.js +0 -4
  647. package/dist/cjs/index-95d4d068.js.map +0 -1
  648. package/dist/cjs/index-9ee2c3ec.js +0 -4
  649. package/dist/cjs/index-9ee2c3ec.js.map +0 -1
  650. package/dist/cjs/index-c4f8dd50.js.map +0 -1
  651. package/dist/cjs/index.m-21aa1255.js +0 -4
  652. package/dist/cjs/index.m-21aa1255.js.map +0 -1
  653. package/dist/cjs/kol-color.cjs.entry.js +0 -4
  654. package/dist/cjs/kol-color.cjs.entry.js.map +0 -1
  655. package/dist/cjs/kol-counter.cjs.entry.js +0 -4
  656. package/dist/cjs/kol-counter.cjs.entry.js.map +0 -1
  657. package/dist/cjs/label-92997e6d.js +0 -4
  658. package/dist/cjs/prop.validators-e366929d.js +0 -4
  659. package/dist/cjs/prop.validators-e366929d.js.map +0 -1
  660. package/dist/cjs/reuse-28825ead.js +0 -4
  661. package/dist/cjs/reuse-28825ead.js.map +0 -1
  662. package/dist/cjs/validator-953ea58f.js +0 -4
  663. package/dist/cjs/validator-953ea58f.js.map +0 -1
  664. package/dist/components/color.js +0 -4
  665. package/dist/components/color.js.map +0 -1
  666. package/dist/components/index.m.js +0 -4
  667. package/dist/components/index.m.js.map +0 -1
  668. package/dist/components/index3.js.map +0 -1
  669. package/dist/components/kol-color.d.ts +0 -11
  670. package/dist/components/kol-color.js +0 -4
  671. package/dist/components/kol-color.js.map +0 -1
  672. package/dist/components/kol-counter.d.ts +0 -11
  673. package/dist/components/kol-counter.js +0 -4
  674. package/dist/components/kol-counter.js.map +0 -1
  675. package/dist/esm/a11y.tipps-ff5a1a99.js +0 -4
  676. package/dist/esm/a11y.tipps-ff5a1a99.js.map +0 -1
  677. package/dist/esm/app-globals-42336357.js +0 -4
  678. package/dist/esm/app-globals-42336357.js.map +0 -1
  679. package/dist/esm/color-d69786a5.js +0 -4
  680. package/dist/esm/color-d69786a5.js.map +0 -1
  681. package/dist/esm/controller-4c6206b0.js +0 -4
  682. package/dist/esm/controller-icon-c113ba17.js +0 -4
  683. package/dist/esm/dev.utils-daaf2f39.js +0 -4
  684. package/dist/esm/dev.utils-daaf2f39.js.map +0 -1
  685. package/dist/esm/devtools-d2ea86e5.js +0 -4
  686. package/dist/esm/icon-22dfdb71.js +0 -4
  687. package/dist/esm/index-1b8b837d.js +0 -4
  688. package/dist/esm/index-1b8b837d.js.map +0 -1
  689. package/dist/esm/index-2eac13ad.js +0 -4
  690. package/dist/esm/index-2eac13ad.js.map +0 -1
  691. package/dist/esm/index-5cef3ddc.js +0 -4
  692. package/dist/esm/index-e722bdb7.js +0 -4
  693. package/dist/esm/index-e722bdb7.js.map +0 -1
  694. package/dist/esm/index.m-86dc8c44.js +0 -4
  695. package/dist/esm/index.m-86dc8c44.js.map +0 -1
  696. package/dist/esm/kol-color.entry.js +0 -4
  697. package/dist/esm/kol-color.entry.js.map +0 -1
  698. package/dist/esm/kol-counter.entry.js +0 -4
  699. package/dist/esm/kol-counter.entry.js.map +0 -1
  700. package/dist/esm/label-3f6eb03e.js +0 -4
  701. package/dist/esm/prop.validators-0ce5851c.js +0 -4
  702. package/dist/esm/prop.validators-0ce5851c.js.map +0 -1
  703. package/dist/esm/reuse-2f7da8fc.js +0 -4
  704. package/dist/esm/reuse-2f7da8fc.js.map +0 -1
  705. package/dist/esm/validation-cac8ee73.js +0 -4
  706. package/dist/esm/validator-2e4f8df6.js +0 -4
  707. package/dist/esm/validator-2e4f8df6.js.map +0 -1
  708. package/dist/kolibri/a11y.tipps-ff5a1a99.js +0 -4
  709. package/dist/kolibri/a11y.tipps-ff5a1a99.js.map +0 -1
  710. package/dist/kolibri/app-globals-42336357.js +0 -4
  711. package/dist/kolibri/app-globals-42336357.js.map +0 -1
  712. package/dist/kolibri/color-d69786a5.js +0 -4
  713. package/dist/kolibri/color-d69786a5.js.map +0 -1
  714. package/dist/kolibri/controller-4c6206b0.js +0 -4
  715. package/dist/kolibri/controller-icon-c113ba17.js +0 -4
  716. package/dist/kolibri/dev.utils-daaf2f39.js +0 -4
  717. package/dist/kolibri/dev.utils-daaf2f39.js.map +0 -1
  718. package/dist/kolibri/devtools-d2ea86e5.js +0 -4
  719. package/dist/kolibri/icon-22dfdb71.js +0 -4
  720. package/dist/kolibri/index-1b8b837d.js.map +0 -1
  721. package/dist/kolibri/index-2eac13ad.js +0 -4
  722. package/dist/kolibri/index-2eac13ad.js.map +0 -1
  723. package/dist/kolibri/index-5cef3ddc.js +0 -4
  724. package/dist/kolibri/index-e722bdb7.js +0 -4
  725. package/dist/kolibri/index-e722bdb7.js.map +0 -1
  726. package/dist/kolibri/index.m-86dc8c44.js +0 -4
  727. package/dist/kolibri/index.m-86dc8c44.js.map +0 -1
  728. package/dist/kolibri/kol-color.entry.js +0 -4
  729. package/dist/kolibri/kol-color.entry.js.map +0 -1
  730. package/dist/kolibri/kol-counter.entry.js +0 -4
  731. package/dist/kolibri/kol-counter.entry.js.map +0 -1
  732. package/dist/kolibri/label-3f6eb03e.js +0 -4
  733. package/dist/kolibri/prop.validators-0ce5851c.js +0 -4
  734. package/dist/kolibri/prop.validators-0ce5851c.js.map +0 -1
  735. package/dist/kolibri/reuse-2f7da8fc.js +0 -4
  736. package/dist/kolibri/reuse-2f7da8fc.js.map +0 -1
  737. package/dist/kolibri/validation-cac8ee73.js +0 -4
  738. package/dist/kolibri/validator-2e4f8df6.js +0 -4
  739. package/dist/kolibri/validator-2e4f8df6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["getContrastYIQ","r","g","b","yiq","calcContrastColor","baseColor","contrastColor","ratio","dir","color","Math","max","min","round","contrast","hex","rgbaConvert","join","summe","getContrastColor","contrastcolor","cache","has","get","set","Map","createContrastColorPair","contrastRatio","colorRgba","contrastColorRGB","defaultStyleCss","featureHint","HACK_REG_EX","KolBadge","this","bgColorStr","colorStr","handleColorChange","value","colorPair","test","devHint","backgroundColor","Nationalfarben","Schwarz","_color","render","h","Host","class","state","_smartButton","style","_icon","_iconOnly","_label","_ariaLabel","_customClass","_disabled","_id","_on","_tooltipAlign","_variant","validateColor","watchValidator","Set","defaultValue","hooks","beforePatch","validateSmartButton","objectObjectHandler","parseJson","e","setState","componentWillLoad"],"sources":["./src/components/badge/contrast.ts","./src/components/badge/style.sass?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\n// ts-prune-ignore-next\nexport const calcContrastColor = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): 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 color;\n\t} else {\n\t\treturn calcContrastColor(baseColor, color, ratio, dir);\n\t}\n};\n\n// ts-prune-ignore-next\nexport const getContrastColor = (baseColor: RGB, contrastcolor: RGB, ratio: number, dir = 1): RGB => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as RGB;\n\t}\n\tconst color = calcContrastColor(baseColor, contrastcolor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nconst cache: Map<unknown, RGB> = new Map();\n\nexport type KoliBriContrastColor = {\n\tbaseColor: string;\n\tcontrastColor: string;\n};\n\nexport const createContrastColorPair = (color: string | KoliBriContrastColor, contrastRatio = 7): KoliBriContrastColor => {\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.baseColor === 'string') {\n\t\tbaseColor = colorRgba(color.baseColor);\n\t\tif (typeof color.contrastColor === 'string') {\n\t\t\tcontrastColor = colorRgba(color.contrastColor);\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 contrastColorRGB = getContrastColor(\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 = [...contrastColorRGB, 1];\n\n\treturn {\n\t\tbaseColor: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tcontrastColor: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t};\n};\n","@import ../style\n\nspan\n\tdisplay: inline-flex\n\n\tkol-button-wc,\n\t.kol-button-wc\n\t\tbox-shadow-left: 1px solid rgba(0, 0, 0, 0.25)\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { Nationalfarben } from '../../enums/color';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { createContrastColorPair, KoliBriContrastColor } from './contrast';\nimport { Stringified } from '../../types/common';\nimport { ButtonProps } from '../../types/button-link';\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};\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.sass',\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._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 = Nationalfarben.Schwarz;\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 das Icon entweder links oder rechts dargestellt werden soll.\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\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: Nationalfarben.Schwarz,\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tlet color = value as string | KoliBriColor;\n\t\tlet colorPair: KoliBriContrastColor;\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\tcolorPair = createContrastColorPair(color);\n\t\t} else {\n\t\t\tcolorPair = createContrastColorPair({\n\t\t\t\tbaseColor: color.backgroundColor,\n\t\t\t\tcontrastColor: color.color,\n\t\t\t});\n\t\t}\n\t\tthis.bgColorStr = colorPair.baseColor;\n\t\tthis.colorStr = colorPair.contrastColor;\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) => typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['string', 'KoliBriColor']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: Nationalfarben.Schwarz,\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('_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.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","render","h","Host","class","state","_smartButton","style","_icon","_iconOnly","_label","_ariaLabel","_customClass","_disabled","_id","_on","_tooltipAlign","_variant","validateColor","watchValidator","Set","defaultValue","hooks","beforePatch","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 > span {\n\tdisplay: inline-flex;\n}\n:host > span > kol-button-wc {\n\tbox-shadow-left: 1px solid rgba(0, 0, 0, 0.25);\n}\n:host > span > kol-button-wc button {\n\tcolor: inherit;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { a11yHint, devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { createContrastColorPair, ColorContrast } from './contrast';\nimport { Stringified } from '../../types/common';\nimport { ButtonProps } from '../../types/button-link';\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};\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._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 das Icon entweder links oder rechts dargestellt werden soll.\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\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};\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('_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.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 a,h as i,F as e,H as s}from"./index-0dce65d2.js";import{a as t}from"./a11y.tipps-ff5a1a99.js";import{w as n}from"./prop.validators-0ce5851c.js";import{w as r}from"./validation-cac8ee73.js";import"./dev.utils-daaf2f39.js";import"./index-2eac13ad.js";import"./index.m-86dc8c44.js";const o="@windicss; *{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:700}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{border-width:0}",l=class{constructor(i){a(this,i),this._ariaLabel=void 0,this._links=void 0,this.state={_ariaLabel:"…",_links:[]}}render(){const a=this.state._links.length-1;return i(s,null,i("nav",{"aria-label":this.state._ariaLabel},i("ul",null,0===this.state._links.length&&i("li",null,i("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-house"}),"…"),this.state._links.map(((l,s)=>i("li",{key:s},0!==s&&i("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right",_part:"separator",exportparts:"separator"}),s===a?i("span",null,l._iconOnly?i("kol-icon",{_ariaLabel:l._label,_icon:"string"==typeof l._icon?l._icon:"fa-solid fa-link-slash"}):i(e,null,l._label)):i("kol-link",Object.assign({exportparts:"link",_useCase:"nav"},l,{_ariaLabel:l._label}),l._label)))))))}validateAriaLabel(a){n(this,"_ariaLabel",a,{required:!0}),t(a)}validateLinks(a){r("KolBreadcrumb",this,a)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateLinks(this._links)}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_links:["validateLinks"]}}};l.style={default:o};export{l as kol_breadcrumb};
4
+ import{r as i,h as r,F as o,H as a}from"./index-0dce65d2.js";import{b as l}from"./a11y.tipps-353a7f35.js";import{w as e}from"./prop.validators-c2234525.js";import{w as s}from"./validation-52548dee.js";import"./dev.utils-3ec9f837.js";import"./reuse-2b3b6999.js";import"./index-2a11dd6d.js";const t=":host{--kolibri-border-color:#e0e0e0;--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-spacing:0.25rem}*{box-sizing:border-box;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}",n=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 r(a,null,r("nav",{"aria-label":this.state._ariaLabel},r("ul",null,0===this.state._links.length&&r("li",null,r("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-house"}),"…"),this.state._links.map(((a,l)=>r("li",{key:l},0!==l&&r("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right",_part:"separator",exportparts:"separator"}),l===i?r("span",null,a._iconOnly?r("kol-icon",{_ariaLabel:a._label,_icon:"string"==typeof a._icon?a._icon:"fa-solid fa-link-slash"}):r(o,null,a._label)):r("kol-link",Object.assign({exportparts:"link",_useCase:"nav"},a,{_ariaLabel:a._label}),a._label)))))))}validateAriaLabel(i){e(this,"_ariaLabel",i,{required:!0}),l(i)}validateLinks(i){s("KolBreadcrumb",this,i)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateLinks(this._links)}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_links:["validateLinks"]}}};n.style={default:t};export{n as kol_breadcrumb};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolBreadcrumb","_ariaLabel","_links","render","lastIndex","this","state","length","h","Host","_icon","map","link","index","key","_part","exportparts","_iconOnly","_label","Fragment","Object","assign","_useCase","validateAriaLabel","value","watchString","required","a11yHintLabelingLandmarks","validateLinks","watchNavLinks","componentWillLoad"],"sources":["./src/components/style.sass?tag=kol-breadcrumb&mode=default&encapsulation=shadow","./src/components/breadcrumb/component.tsx"],"sourcesContent":["@windicss\n\n*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: 700\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton\n\tcursor: pointer\n\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tborder-width: 0\n","import { Component, Fragment, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { a11yHintLabelingLandmarks } from '../../utils/a11y.tipps';\nimport { watchString } from '../../utils/prop.validators';\nimport { NavLinkProps } from '../link/component';\nimport { watchNavLinks } from '../nav/validation';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<NavLinkProps[]>;\n};\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaLabel: string;\n\tlinks: NavLinkProps[];\n};\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part link - Ermöglicht das Stylen der Links.\n * @part separator - Ermöglicht das Ändern des Separator-Icons.\n */\n@Component({\n\ttag: 'kol-breadcrumb',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolBreadcrumb implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\tconst lastIndex = this.state._links.length - 1;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<nav aria-label={this.state._ariaLabel}>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{this.state._links.length === 0 && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-house\" />…\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._links.map((link, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li key={index}>\n\t\t\t\t\t\t\t\t\t{index !== 0 && <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-right\" _part=\"separator\" exportparts=\"separator\" />}\n\t\t\t\t\t\t\t\t\t{index === lastIndex ? (\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t{link._iconOnly ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<kol-icon _ariaLabel={link._label} _icon={typeof link._icon === 'string' ? link._icon : 'fa-solid fa-link-slash'} />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>{link._label}</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<kol-link exportparts=\"link\" _useCase=\"nav\" {...link} _ariaLabel={link._label}>\n\t\t\t\t\t\t\t\t\t\t\t{link._label}\n\t\t\t\t\t\t\t\t\t\t</kol-link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie in Links an.\n\t */\n\t@Prop() public _links!: Stringified<NavLinkProps[]>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_links: [],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<NavLinkProps[]>): void {\n\t\twatchNavLinks('KolBreadcrumb', this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t}\n}\n"],"mappings":";;;mSAAA,MAAMA,EAAkB,ge,MCqCXC,EAAa,M,oFAmDO,CAC/BC,WAAY,IACZC,OAAQ,G,CApDFC,SACN,MAAMC,EAAYC,KAAKC,MAAMJ,OAAOK,OAAS,EAC7C,OACCC,EAACC,EAAI,KACJD,EAAA,oBAAiBH,KAAKC,MAAML,YAC3BO,EAAA,UACEH,KAAKC,MAAMJ,OAAOK,SAAW,GAC7BC,EAAA,UACCA,EAAA,YAAUP,WAAW,GAAGS,MAAM,sBAAsB,KAGrDL,KAAKC,MAAMJ,OAAOS,KAAI,CAACC,EAAMC,IAE5BL,EAAA,MAAIM,IAAKD,GACPA,IAAU,GAAKL,EAAA,YAAUP,WAAW,GAAGS,MAAM,0BAA0BK,MAAM,YAAYC,YAAY,cACrGH,IAAUT,EACVI,EAAA,YACEI,EAAKK,UACLT,EAAA,YAAUP,WAAYW,EAAKM,OAAQR,aAAcE,EAAKF,QAAU,SAAWE,EAAKF,MAAQ,2BAExFF,EAACW,EAAQ,KAAEP,EAAKM,SAIlBV,EAAA,WAAAY,OAAAC,OAAA,CAAUL,YAAY,OAAOM,SAAS,OAAUV,EAAI,CAAEX,WAAYW,EAAKM,SACrEN,EAAKM,a,CAkCTK,kBAAkBC,GACxBC,EAAYpB,KAAM,aAAcmB,EAAO,CACtCE,SAAU,OAEXC,EAA0BH,E,CAOpBI,cAAcJ,GACpBK,EAAc,gBAAiBxB,KAAMmB,E,CAM/BM,oBACNzB,KAAKkB,kBAAkBlB,KAAKJ,YAC5BI,KAAKuB,cAAcvB,KAAKH,O"}
1
+ {"version":3,"names":["defaultStyleCss","KolBreadcrumb","_ariaLabel","_links","render","lastIndex","this","state","length","h","Host","_icon","map","link","index","key","_part","exportparts","_iconOnly","_label","Fragment","Object","assign","_useCase","validateAriaLabel","value","watchString","required","a11yHintLabelingLandmarks","validateLinks","watchNavLinks","componentWillLoad"],"sources":["./src/components/breadcrumb/style.css?tag=kol-breadcrumb&mode=default&encapsulation=shadow","./src/components/breadcrumb/component.tsx"],"sourcesContent":["@import '../style.css';\n","import { Component, Fragment, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { a11yHintLabelingLandmarks } from '../../utils/a11y.tipps';\nimport { watchString } from '../../utils/prop.validators';\nimport { NavLinkProps } from '../link/component';\nimport { watchNavLinks } from '../nav/validation';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<NavLinkProps[]>;\n};\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaLabel: string;\n\tlinks: NavLinkProps[];\n};\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n/**\n * @part link - Ermöglicht das Stylen der Links.\n * @part separator - Ermöglicht das Ändern des Separator-Icons.\n */\n@Component({\n\ttag: 'kol-breadcrumb',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBreadcrumb implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\tconst lastIndex = this.state._links.length - 1;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<nav aria-label={this.state._ariaLabel}>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t{this.state._links.length === 0 && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-house\" />…\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._links.map((link, index: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li key={index}>\n\t\t\t\t\t\t\t\t\t{index !== 0 && <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-right\" _part=\"separator\" exportparts=\"separator\" />}\n\t\t\t\t\t\t\t\t\t{index === lastIndex ? (\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t{link._iconOnly ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<kol-icon _ariaLabel={link._label} _icon={typeof link._icon === 'string' ? link._icon : 'fa-solid fa-link-slash'} />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t<Fragment>{link._label}</Fragment>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<kol-link exportparts=\"link\" _useCase=\"nav\" {...link} _ariaLabel={link._label}>\n\t\t\t\t\t\t\t\t\t\t\t{link._label}\n\t\t\t\t\t\t\t\t\t\t</kol-link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Text an, der die Navigation von anderen Navigationen differenziert.\n\t */\n\t@Prop() public _ariaLabel!: string;\n\n\t/**\n\t * Gibt die geordnete Liste der Seitenhierarchie in Links an.\n\t */\n\t@Prop() public _links!: Stringified<NavLinkProps[]>;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_links: [],\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\twatchString(this, '_ariaLabel', value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<NavLinkProps[]>): void {\n\t\twatchNavLinks('KolBreadcrumb', this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t}\n}\n"],"mappings":";;;iSAAA,MAAMA,EAAkB,y8B,MCqCXC,EAAa,M,oFAmDO,CAC/BC,WAAY,IACZC,OAAQ,G,CApDFC,SACN,MAAMC,EAAYC,KAAKC,MAAMJ,OAAOK,OAAS,EAC7C,OACCC,EAACC,EAAI,KACJD,EAAA,oBAAiBH,KAAKC,MAAML,YAC3BO,EAAA,UACEH,KAAKC,MAAMJ,OAAOK,SAAW,GAC7BC,EAAA,UACCA,EAAA,YAAUP,WAAW,GAAGS,MAAM,sBAAsB,KAGrDL,KAAKC,MAAMJ,OAAOS,KAAI,CAACC,EAAMC,IAE5BL,EAAA,MAAIM,IAAKD,GACPA,IAAU,GAAKL,EAAA,YAAUP,WAAW,GAAGS,MAAM,0BAA0BK,MAAM,YAAYC,YAAY,cACrGH,IAAUT,EACVI,EAAA,YACEI,EAAKK,UACLT,EAAA,YAAUP,WAAYW,EAAKM,OAAQR,aAAcE,EAAKF,QAAU,SAAWE,EAAKF,MAAQ,2BAExFF,EAACW,EAAQ,KAAEP,EAAKM,SAIlBV,EAAA,WAAAY,OAAAC,OAAA,CAAUL,YAAY,OAAOM,SAAS,OAAUV,EAAI,CAAEX,WAAYW,EAAKM,SACrEN,EAAKM,a,CAkCTK,kBAAkBC,GACxBC,EAAYpB,KAAM,aAAcmB,EAAO,CACtCE,SAAU,OAEXC,EAA0BH,E,CAOpBI,cAAcJ,GACpBK,EAAc,gBAAiBxB,KAAMmB,E,CAM/BM,oBACNzB,KAAKkB,kBAAkBlB,KAAKJ,YAC5BI,KAAKuB,cAAcvB,KAAKH,O"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r,h as s,H as l}from"./index-0dce65d2.js";const o=class{constructor(s){r(this,s),this.state={}}render(){return s(l,null,s("div",{class:"flex flex-wrap bg-normal"},s("slot",null)))}};export{o as kol_button_group_wc};
4
+ import{r,h as s,H as t}from"./index-0dce65d2.js";const o=class{constructor(s){r(this,s),this.state={}}render(){return s(t,null,s("slot",null))}};export{o as kol_button_group_wc};
@@ -1 +1 @@
1
- {"version":3,"names":["KolButtonGroupWc","render","h","Host","class"],"sources":["./src/components/button-group/component.tsx"],"sourcesContent":["import { Component, h, Host, JSX, State } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\n\n/**\n * API\n */\ntype RequiredProps = unknown;\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-button-group-wc',\n\tshadow: false,\n})\nexport class KolButtonGroupWc implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div class=\"flex flex-wrap bg-normal\">\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {};\n}\n"],"mappings":";;;uDAmBaA,EAAgB,M,oCAcI,E,CAbzBC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,OAAKE,MAAM,4BACVF,EAAA,c"}
1
+ {"version":3,"names":["KolButtonGroupWc","render","h","Host"],"sources":["./src/components/button-group/component.tsx"],"sourcesContent":["import { Component, h, Host, JSX, State } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\n\n/**\n * API\n */\ntype RequiredProps = unknown;\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = RequiredProps;\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-button-group-wc',\n\tshadow: false,\n})\nexport class KolButtonGroupWc implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<slot />\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {};\n}\n"],"mappings":";;;uDAmBaA,EAAgB,M,oCAYI,E,CAXzBC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,a"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as n,h as o,H as e}from"./index-0dce65d2.js";const t="@windicss; *{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:700}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{border-width:0}",i=class{constructor(o){n(this,o)}render(){return o(e,null,o("kol-button-group-wc",null,o("slot",null)))}};i.style={default:t};export{i as kol_button_group};
4
+ import{r as o,h as r,H as i}from"./index-0dce65d2.js";const l=":host{--kolibri-border-color:#e0e0e0;--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-spacing:0.25rem}*{box-sizing:border-box;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}:host>kol-button-group-wc{display:inline-flex;flex-wrap:wrap;gap:calc(2 * var(--kolibri-spacing))}",e=class{constructor(r){o(this,r)}render(){return r(i,null,r("kol-button-group-wc",null,r("slot",null)))}};e.style={default:l};export{e as kol_button_group};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolButtonGroup","render","h","Host"],"sources":["./src/components/style.sass?tag=kol-button-group&mode=default&encapsulation=shadow","./src/components/button-group/shadow.tsx"],"sourcesContent":["@windicss\n\n*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: 700\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton\n\tcursor: pointer\n\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tborder-width: 0\n","import { Component, h, Host, JSX } from '@stencil/core';\n\nimport { Props } from './component';\n\n@Component({\n\ttag: 'kol-button-group',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolButtonGroup implements Props {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-button-group-wc>\n\t\t\t\t\t<slot />\n\t\t\t\t</kol-button-group-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":";;;sDAAA,MAAMA,EAAkB,ge,MCWXC,EAAc,M,yBACnBC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,2BACCA,EAAA,c"}
1
+ {"version":3,"names":["defaultStyleCss","KolButtonGroup","render","h","Host"],"sources":["./src/components/button-group/style.css?tag=kol-button-group&mode=default&encapsulation=shadow","./src/components/button-group/shadow.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > kol-button-group-wc {\n\tdisplay: inline-flex;\n\tflex-wrap: wrap;\n\tgap: calc(2 * var(--kolibri-spacing));\n}\n","import { Component, h, Host, JSX } from '@stencil/core';\n\nimport { Props } from './component';\n\n@Component({\n\ttag: 'kol-button-group',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolButtonGroup implements Props {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-button-group-wc>\n\t\t\t\t\t<slot />\n\t\t\t\t</kol-button-group-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":";;;sDAAA,MAAMA,EAAkB,2iC,MCWXC,EAAc,M,yBACnBC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,2BACCA,EAAA,c"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,H as e,g as s}from"./index-0dce65d2.js";import{p as n}from"./reuse-2f7da8fc.js";import"./validator-2e4f8df6.js";const a="@windicss; *{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:700}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{border-width:0}",o=class{constructor(t){i(this,t),this.catchRef=i=>{this.ref=i,n(this.host,this.ref)},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._disabled=!1,this._icon=void 0,this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0}render(){return t(e,null,t("kol-button-wc",{ref:this.catchRef,_accessKey:this._accessKey,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_disabled:this._disabled,_icon:this._icon,_iconOnly:this._iconOnly,_id:this._id,_label:this._label,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_tooltipAlign:this._tooltipAlign,_type:this._type,_value:this._value},t("slot",{name:"expert",slot:"expert"})))}get host(){return s(this)}};o.style={default:a};export{o as kol_button_link};
4
+ import{r as i,h as e,H as o,g as t}from"./index-0dce65d2.js";import{a as r}from"./reuse-2b3b6999.js";const s=":host{--kolibri-border-color:#e0e0e0;--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-spacing:0.25rem}*{box-sizing:border-box;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}",n=class{constructor(o){i(this,o),this.catchRef=i=>{this.ref=i,r(this.host,this.ref)},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._disabled=!1,this._icon=void 0,this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0}render(){return e(o,null,e("kol-button-wc",{ref:this.catchRef,_accessKey:this._accessKey,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_disabled:this._disabled,_icon:this._icon,_iconOnly:this._iconOnly,_id:this._id,_label:this._label,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_tooltipAlign:this._tooltipAlign,_type:this._type,_value:this._value},e("slot",{name:"expert",slot:"expert"})))}get host(){return t(this)}};n.style={default:s};export{n as kol_button_link};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolButtonLink","this","catchRef","ref","propergateFocus","host","render","h","Host","_accessKey","_ariaControls","_ariaCurrent","_ariaExpanded","_ariaLabel","_ariaSelected","_disabled","_icon","_iconOnly","_id","_label","_on","_role","_tabIndex","_tooltipAlign","_type","_value","name","slot"],"sources":["./src/components/style.sass?tag=kol-button-link&mode=default&encapsulation=shadow","./src/components/button-link/component.tsx"],"sourcesContent":["@windicss\n\n*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: 700\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton\n\tcursor: pointer\n\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tborder-width: 0\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport {\n\tAlternativButtonLinkRole,\n\tAriaCurrent,\n\tKoliBriButtonCallbacks,\n\tKoliBriButtonType,\n\tOptionalButtonLinkProps,\n\tRequiredButtonLinkProps,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { propergateFocus } from '../../utils/reuse';\nimport { Alignment } from '../../types/props/alignment';\n\n@Component({\n\ttag: 'kol-button-link',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolButtonLink implements Generic.Element.Members<RequiredButtonLinkProps, OptionalButtonLinkProps> {\n\t@Element() private readonly host?: HTMLKolButtonLinkElement;\n\tprivate ref?: HTMLKolButtonWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolButtonWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-button-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaCurrent={this._ariaCurrent}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaLabel={this._ariaLabel}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_iconOnly={this._iconOnly}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this._value}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t</kol-button-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man den Button auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Button hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Button etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text für den Screenreader an. Damit die\n\t * Sprachsteuerung von interaktiven Elementen funktioniert, muss der\n\t * Aria-Label-Text mit dem Label-Text des Buttons beginnen.\n\t *\n\t * - https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _ariaLabel?: string = '';\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, ob der Button deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. 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 die ID der Schaltfläche an. (Selection, Testing)\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt einen beschreibenden Text für das Text-Element an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für die Button-Events an.\n\t */\n\t@Prop() public _on?: KoliBriButtonCallbacks<unknown>;\n\n\t/**\n\t * Gibt an, welche Role der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, welche Typ der Button hat.\n\t */\n\t@Prop() public _type?: KoliBriButtonType = 'button';\n\n\t/**\n\t * Gibt einen Wert an, den der Schalter bei einem Klick zurückgibt.\n\t */\n\t@Prop() public _value?: Stringified<unknown>;\n}\n"],"mappings":";;;qIAAA,MAAMA,EAAkB,ge,MCuBXC,EAAa,M,yBAIRC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAgBH,KAAKI,KAAMJ,KAAKE,IAAI,E,gIA2DiC,G,4CAUhB,M,oCAUA,M,6HA8BX,M,WAKA,S,sBA/GpCG,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,iBACCJ,IAAKF,KAAKC,SACVO,WAAYR,KAAKQ,WACjBC,cAAeT,KAAKS,cACpBC,aAAcV,KAAKU,aACnBC,cAAeX,KAAKW,cACpBC,WAAYZ,KAAKY,WACjBC,cAAeb,KAAKa,cACpBC,UAAWd,KAAKc,UAChBC,MAAOf,KAAKe,MACZC,UAAWhB,KAAKgB,UAChBC,IAAKjB,KAAKiB,IACVC,OAAQlB,KAAKkB,OACbC,IAAKnB,KAAKmB,IACVC,MAAOpB,KAAKoB,MACZC,UAAWrB,KAAKqB,UAChBC,cAAetB,KAAKsB,cACpBC,MAAOvB,KAAKuB,MACZC,OAAQxB,KAAKwB,QAEblB,EAAA,QAAMmB,KAAK,SAASC,KAAK,Y"}
1
+ {"version":3,"names":["defaultStyleCss","KolButtonLink","this","catchRef","ref","propergateFocus","host","render","h","Host","_accessKey","_ariaControls","_ariaCurrent","_ariaExpanded","_ariaLabel","_ariaSelected","_disabled","_icon","_iconOnly","_id","_label","_on","_role","_tabIndex","_tooltipAlign","_type","_value","name","slot"],"sources":["./src/components/button-link/style.css?tag=kol-button-link&mode=default&encapsulation=shadow","./src/components/button-link/component.tsx"],"sourcesContent":["@import '../style.css';\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport {\n\tAlternativButtonLinkRole,\n\tAriaCurrent,\n\tKoliBriButtonCallbacks,\n\tKoliBriButtonType,\n\tOptionalButtonLinkProps,\n\tRequiredButtonLinkProps,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { propergateFocus } from '../../utils/reuse';\nimport { Alignment } from '../../types/props/alignment';\n\n@Component({\n\ttag: 'kol-button-link',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolButtonLink implements Generic.Element.Members<RequiredButtonLinkProps, OptionalButtonLinkProps> {\n\t@Element() private readonly host?: HTMLKolButtonLinkElement;\n\tprivate ref?: HTMLKolButtonWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolButtonWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-button-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaCurrent={this._ariaCurrent}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaLabel={this._ariaLabel}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_iconOnly={this._iconOnly}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this._value}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t</kol-button-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man den Button auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Button hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Button etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text für den Screenreader an. Damit die\n\t * Sprachsteuerung von interaktiven Elementen funktioniert, muss der\n\t * Aria-Label-Text mit dem Label-Text des Buttons beginnen.\n\t *\n\t * - https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _ariaLabel?: string = '';\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, ob der Button deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. 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 die ID der Schaltfläche an. (Selection, Testing)\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt einen beschreibenden Text für das Text-Element an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für die Button-Events an.\n\t */\n\t@Prop() public _on?: KoliBriButtonCallbacks<unknown>;\n\n\t/**\n\t * Gibt an, welche Role der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, welche Typ der Button hat.\n\t */\n\t@Prop() public _type?: KoliBriButtonType = 'button';\n\n\t/**\n\t * Gibt einen Wert an, den der Schalter bei einem Klick zurückgibt.\n\t */\n\t@Prop() public _value?: Stringified<unknown>;\n}\n"],"mappings":";;;qGAAA,MAAMA,EAAkB,y8B,MCuBXC,EAAa,M,yBAIRC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAgBH,KAAKI,KAAMJ,KAAKE,IAAI,E,gIA2DiC,G,4CAUhB,M,oCAUA,M,6HA8BX,M,WAKA,S,sBA/GpCG,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,iBACCJ,IAAKF,KAAKC,SACVO,WAAYR,KAAKQ,WACjBC,cAAeT,KAAKS,cACpBC,aAAcV,KAAKU,aACnBC,cAAeX,KAAKW,cACpBC,WAAYZ,KAAKY,WACjBC,cAAeb,KAAKa,cACpBC,UAAWd,KAAKc,UAChBC,MAAOf,KAAKe,MACZC,UAAWhB,KAAKgB,UAChBC,IAAKjB,KAAKiB,IACVC,OAAQlB,KAAKkB,OACbC,IAAKnB,KAAKmB,IACVC,MAAOpB,KAAKoB,MACZC,UAAWrB,KAAKqB,UAChBC,cAAetB,KAAKsB,cACpBC,MAAOvB,KAAKuB,MACZC,OAAQxB,KAAKwB,QAEblB,EAAA,QAAMmB,KAAK,SAASC,KAAK,Y"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,H as s,g as a}from"./index-0dce65d2.js";import{w as e}from"./button-link-d9d215b8.js";import{d as l,c as n}from"./a11y.tipps-ff5a1a99.js";import{n as o}from"./dev.utils-daaf2f39.js";import{e as h,i as d,g as r,w as c,a as u,b as f,s as v}from"./prop.validators-0ce5851c.js";import{p as _}from"./reuse-2f7da8fc.js";import{v as p,w as b}from"./icon-22dfdb71.js";import{v as m,a as y}from"./label-3f6eb03e.js";import{v as g}from"./tab-index-e15e7adc.js";import{p as A,a as j}from"./controller-eecee40f.js";import{a as x,w as I}from"./controller-58b484bb.js";import"./index-2eac13ad.js";import"./index.m-86dc8c44.js";import"./validator-2e4f8df6.js";const C=class{constructor(t){i(this,t),this.nonce=o(),this.catchRef=t=>{this.ref=t,_(this.host,this.ref)},this.onClick=t=>{var a,i;"submit"===this.state._type?A({form:this.host,ref:this.ref}):"reset"===this.state._type?j({form:this.host,ref:this.ref}):"function"==typeof(null===(a=this.state._on)||void 0===a?void 0:a.onClick)?(h(t,this.ref),null===(i=this.state._on)||void 0===i||i.onClick(t,this.state._value)):l("It was no button click callback configured!")},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._customClass=void 0,this._disabled=!1,this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0,this._variant="normal",this.state={_ariaLabel:"",_icon:{},_iconAlign:"left",_label:"",_on:{},_type:"button"}}render(){return t(s,null,t("button",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-controls":this.state._ariaControls,"aria-current":d(this.state._ariaCurrent),"aria-expanded":r(this.state._ariaExpanded),"aria-label":!1===this.state._iconOnly?this.state._ariaLabel||this.state._label:void 0,"aria-labelledby":!0===this.state._iconOnly?this.nonce:void 0,"aria-selected":d(this.state._ariaSelected),class:{[this.state._variant]:"custom"!==this.state._variant,[this.state._customClass]:"custom"===this.state._variant&&"string"==typeof this.state._customClass&&this.state._customClass.length>0,"icon-only":!0===this.state._iconOnly},disabled:this.state._disabled,id:this.state._id},this.state._on,{onClick:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex,type:this.state._type}),t("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this.state._ariaLabel||this.state._label},t("slot",{name:"expert",slot:"expert"}))),!0===this.state._iconOnly&&t("kol-tooltip",{"aria-hidden":"true",_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._ariaLabel||this.state._label}))}validateAccessKey(t){c(this,"_accessKey",t)}validateAriaControls(t){c(this,"_ariaControls",t)}validateAriaCurrent(t){u(this,"_ariaControls",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaExpanded(t){f(this,"_ariaExpanded",t)}validateAriaLabel(t){m(this,t)}validateAriaSelected(t){f(this,"_ariaSelected",t)}validateCustomClass(t){c(this,"_customClass",t,{defaultValue:void 0})}validateDisabled(t){f(this,"_disabled",t),!0===t&&n()}validateIcon(t){p(this,t)}validateIconAlign(t){b(this,t)}validateIconOnly(t){f(this,"_iconOnly",t,{defaultValue:!1})}validateId(t){c(this,"_id",t)}validateLabel(t){y(this,t)}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validateRole(t){c(this,"_role",t)}validateTabIndex(t){g(this,t)}validateTooltipAlign(t){e(this,"_tooltipAlign",t)}validateType(t){x(this,"_type",t)}validateValue(t){v(this,"_value",t)}validateVariant(t){I(this,"_variant",t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaLabel(this._ariaLabel),this.validateAriaSelected(this._ariaSelected),this.validateCustomClass(this._customClass),this.validateDisabled(this._disabled),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateIconOnly(this._iconOnly),this.validateId(this._id),this.validateLabel(this._label),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTooltipAlign(this._tooltipAlign),this.validateType(this._type),this.validateValue(this._value),this.validateVariant(this._variant)}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_customClass:["validateCustomClass"],_disabled:["validateDisabled"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_id:["validateId"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_tooltipAlign:["validateTooltipAlign"],_type:["validateType"],_value:["validateValue"],_variant:["validateVariant"]}}},O=t=>{t instanceof Node&&setTimeout((()=>{var a,i;null===(a=t.parentElement)||void 0===a||a.removeChild(t),null===(i=t.parentNode)||void 0===i||i.removeChild(t)}))},L=class{constructor(t){i(this,t),this._icon=void 0,this._iconOnly=!1,this._label=void 0,this.state={_icon:{},_iconOnly:!1,_label:""}}render(){return t(s,{class:{"icon-only":this.state._iconOnly}},this.state._icon.top&&t("kol-icon",{class:{"icon top":!0},style:this.state._icon.top.style,_ariaLabel:"",_icon:this.state._icon.top.icon}),t("span",null,this.state._icon.left&&t("kol-icon",{class:{"icon left":!0},style:this.state._icon.left.style,_ariaLabel:"",_icon:this.state._icon.left.icon}),!0!==this.state._iconOnly&&this.state._label.length>0?t("span",null,this.state._label):"",t("span",{ref:this.state._label.length>0||!0===this.state._iconOnly?O:void 0},t("slot",{name:"expert"})),this.state._icon.right&&t("kol-icon",{class:{"icon right":!0},style:this.state._icon.right.style,_ariaLabel:"",_icon:this.state._icon.right.icon})),this.state._icon.bottom&&t("kol-icon",{class:{"icon bottom":!0},style:this.state._icon.bottom.style,_ariaLabel:"",_icon:this.state._icon.bottom.icon}))}validateIcon(t){p(this,t)}validateIconOnly(t){f(this,"_iconOnly",t)}validateLabel(t){y(this,t)}componentWillLoad(){this.validateIcon(this._icon),this.validateIconOnly(this._iconOnly),this.validateLabel(this._label)}static get watchers(){return{_icon:["validateIcon"],_iconOnly:["validateIconOnly"],_label:["validateLabel"]}}};export{C as kol_button_wc,L as kol_span_wc};
4
+ import{r as i,h as t,H as s,g as a}from"./index-0dce65d2.js";import{w as e}from"./button-link-5bb8204c.js";import{d as l,e as n}from"./a11y.tipps-353a7f35.js";import{n as h}from"./dev.utils-3ec9f837.js";import{f as o,j as d,h as r,w as c,a as u,b as _,s as v}from"./prop.validators-c2234525.js";import{a as f}from"./reuse-2b3b6999.js";import{v as b,w as p}from"./icon-4f6266ca.js";import{v as m,a as y}from"./label-eaabc3d3.js";import{v as A}from"./tab-index-1bc7d9c1.js";import{p as g,a as j}from"./controller-b8a587ec.js";import{a as I,w as x}from"./controller-059a3921.js";import"./index-2a11dd6d.js";const C=class{constructor(t){i(this,t),this.nonce=h(),this.catchRef=t=>{this.ref=t,f(this.host,this.ref)},this.onClick=t=>{var a,i;"submit"===this.state._type?g({form:this.host,ref:this.ref}):"reset"===this.state._type?j({form:this.host,ref:this.ref}):"function"==typeof(null===(a=this.state._on)||void 0===a?void 0:a.onClick)?(o(t,this.ref),null===(i=this.state._on)||void 0===i||i.onClick(t,this.state._value)):l("It was no button click callback configured!")},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._customClass=void 0,this._disabled=!1,this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0,this._variant="normal",this.state={_ariaLabel:"",_icon:{},_iconAlign:"left",_label:"",_on:{},_type:"button"}}render(){return t(s,null,t("button",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-controls":this.state._ariaControls,"aria-current":d(this.state._ariaCurrent),"aria-expanded":r(this.state._ariaExpanded),"aria-label":!1===this.state._iconOnly?this.state._ariaLabel||this.state._label:void 0,"aria-labelledby":!0===this.state._iconOnly?this.nonce:void 0,"aria-selected":d(this.state._ariaSelected),class:{[this.state._variant]:"custom"!==this.state._variant,[this.state._customClass]:"custom"===this.state._variant&&"string"==typeof this.state._customClass&&this.state._customClass.length>0,"icon-only":!0===this.state._iconOnly},disabled:this.state._disabled,id:this.state._id},this.state._on,{onClick:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex,type:this.state._type}),t("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this.state._ariaLabel||this.state._label},t("slot",{name:"expert",slot:"expert"}))),!0===this.state._iconOnly&&t("kol-tooltip",{"aria-hidden":"true",_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._ariaLabel||this.state._label}))}validateAccessKey(t){c(this,"_accessKey",t)}validateAriaControls(t){c(this,"_ariaControls",t)}validateAriaCurrent(t){u(this,"_ariaControls",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateAriaExpanded(t){_(this,"_ariaExpanded",t)}validateAriaLabel(t){m(this,t)}validateAriaSelected(t){_(this,"_ariaSelected",t)}validateCustomClass(t){c(this,"_customClass",t,{defaultValue:void 0})}validateDisabled(t){_(this,"_disabled",t),!0===t&&n()}validateIcon(t){b(this,t)}validateIconAlign(t){p(this,t)}validateIconOnly(t){_(this,"_iconOnly",t,{defaultValue:!1})}validateId(t){c(this,"_id",t)}validateLabel(t){y(this,t)}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validateRole(t){c(this,"_role",t)}validateTabIndex(t){A(this,t)}validateTooltipAlign(t){e(this,"_tooltipAlign",t)}validateType(t){I(this,"_type",t)}validateValue(t){v(this,"_value",t)}validateVariant(t){x(this,"_variant",t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaLabel(this._ariaLabel),this.validateAriaSelected(this._ariaSelected),this.validateCustomClass(this._customClass),this.validateDisabled(this._disabled),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateIconOnly(this._iconOnly),this.validateId(this._id),this.validateLabel(this._label),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTooltipAlign(this._tooltipAlign),this.validateType(this._type),this.validateValue(this._value),this.validateVariant(this._variant)}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_customClass:["validateCustomClass"],_disabled:["validateDisabled"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_id:["validateId"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_tooltipAlign:["validateTooltipAlign"],_type:["validateType"],_value:["validateValue"],_variant:["validateVariant"]}}},O=t=>{t instanceof Node&&setTimeout((()=>{var a,i;null===(a=t.parentElement)||void 0===a||a.removeChild(t),null===(i=t.parentNode)||void 0===i||i.removeChild(t)}))},L=class{constructor(t){i(this,t),this._icon=void 0,this._iconOnly=!1,this._label=void 0,this.state={_icon:{},_iconOnly:!1,_label:""}}render(){return t(s,{class:{"icon-only":this.state._iconOnly}},this.state._icon.top&&t("kol-icon",{class:{"icon top":!0},style:this.state._icon.top.style,_ariaLabel:"",_icon:this.state._icon.top.icon}),t("span",null,this.state._icon.left&&t("kol-icon",{class:{"icon left":!0},style:this.state._icon.left.style,_ariaLabel:"",_icon:this.state._icon.left.icon}),!0!==this.state._iconOnly&&this.state._label.length>0?t("span",null,this.state._label):"",t("span",{ref:this.state._label.length>0||!0===this.state._iconOnly?O:void 0},t("slot",{name:"expert"})),this.state._icon.right&&t("kol-icon",{class:{"icon right":!0},style:this.state._icon.right.style,_ariaLabel:"",_icon:this.state._icon.right.icon})),this.state._icon.bottom&&t("kol-icon",{class:{"icon bottom":!0},style:this.state._icon.bottom.style,_ariaLabel:"",_icon:this.state._icon.bottom.icon}))}validateIcon(t){b(this,t)}validateIconOnly(t){_(this,"_iconOnly",t)}validateLabel(t){y(this,t)}componentWillLoad(){this.validateIcon(this._icon),this.validateIconOnly(this._iconOnly),this.validateLabel(this._label)}static get watchers(){return{_icon:["validateIcon"],_iconOnly:["validateIconOnly"],_label:["validateLabel"]}}};export{C as kol_button_wc,L as kol_span_wc};
@@ -1 +1 @@
1
- {"version":3,"names":["KolButtonWc","this","nonce","catchRef","ref","propergateFocus","host","onClick","event","state","_type","propergateSubmitEventToForm","form","propergateResetEventToForm","_a","_on","setEventTargetAndStopPropagation","_b","_value","devHint","_ariaLabel","_icon","_iconAlign","_label","render","h","Host","Object","assign","accessKey","_accessKey","_ariaControls","mapStringOrBoolean2String","_ariaCurrent","mapBoolean2String","_ariaExpanded","_iconOnly","undefined","_ariaSelected","class","_variant","_customClass","length","disabled","_disabled","id","_id","role","_role","tabIndex","_tabIndex","type","name","slot","_align","_tooltipAlign","validateAccessKey","value","watchString","validateAriaControls","validateAriaCurrent","watchValidator","Set","validateAriaExpanded","watchBoolean","validateAriaLabel","validateAriaSelected","validateCustomClass","defaultValue","validateDisabled","a11yHintDisabled","validateIcon","validateIconAlign","watchIconAlign","validateIconOnly","validateId","validateLabel","validateOn","validateRole","validateTabIndex","validateTooltipAlign","watchTooltipAlignment","validateType","watchButtonType","validateValue","setState","validateVariant","watchButtonVariant","componentWillLoad","removeNode","el","Node","setTimeout","parentElement","removeChild","parentNode","KolSpanWc","top","style","icon","left","right","bottom"],"sources":["./src/components/button/component.tsx","./src/components/span/component.tsx"],"sourcesContent":["import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport {\n\tAlternativButtonLinkRole,\n\tAriaCurrent,\n\tButtonStates,\n\tKoliBriButtonCallbacks,\n\tKoliBriButtonType,\n\tKoliBriButtonVariant,\n\tOptionalButtonProps,\n\tOptionalButtonStates,\n\tRequiredButtonProps,\n\tRequiredButtonStates,\n\twatchTooltipAlignment,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { a11yHintDisabled, devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport {\n\tmapBoolean2String,\n\tmapStringOrBoolean2String,\n\tsetEventTargetAndStopPropagation,\n\tsetState,\n\twatchBoolean,\n\twatchString,\n\twatchValidator,\n} from '../../utils/prop.validators';\nimport { propergateFocus } from '../../utils/reuse';\nimport { validateIcon, watchIconAlign } from '../../utils/validators/icon';\nimport { validateAriaLabel, validateLabel } from '../../utils/validators/label';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { propergateResetEventToForm, propergateSubmitEventToForm } from '../form/controller';\nimport { watchButtonType, watchButtonVariant } from './controller';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-button-wc',\n\tshadow: false,\n})\nexport class KolButtonWc implements Generic.Element.ComponentApi<RequiredButtonProps, OptionalButtonProps, RequiredButtonStates, OptionalButtonStates> {\n\t@Element() private readonly host?: HTMLKolButtonWcElement;\n\tprivate readonly nonce = nonce();\n\tprivate ref?: HTMLButtonElement;\n\n\tprivate readonly catchRef = (ref?: HTMLButtonElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: MouseEvent) => {\n\t\tif (this.state._type === 'submit') {\n\t\t\tpropergateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else if (this.state._type === 'reset') {\n\t\t\tpropergateResetEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else if (typeof this.state._on?.onClick === 'function') {\n\t\t\tsetEventTargetAndStopPropagation(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._value);\n\t\t} else {\n\t\t\tdevHint(`It was no button click callback configured!`);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<button\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\taria-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={mapStringOrBoolean2String(this.state._ariaCurrent)}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={this.state._iconOnly === false ? this.state._ariaLabel || this.state._label : undefined}\n\t\t\t\t\taria-labelledby={this.state._iconOnly === true ? this.nonce : undefined}\n\t\t\t\t\taria-selected={mapStringOrBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._variant as string]: this.state._variant !== 'custom',\n\t\t\t\t\t\t[this.state._customClass as string]:\n\t\t\t\t\t\t\tthis.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,\n\t\t\t\t\t\t'icon-only': this.state._iconOnly === true,\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t\ttype={this.state._type}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._ariaLabel || this.state._label}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t</button>\n\t\t\t\t{this.state._iconOnly === true && (\n\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t\t_id={this.nonce}\n\t\t\t\t\t\t_label={this.state._ariaLabel || this.state._label}\n\t\t\t\t\t></kol-tooltip>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man den Button auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Button hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Button etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text für den Screenreader an. Damit die\n\t * Sprachsteuerung von interaktiven Elementen funktioniert, muss der\n\t * Aria-Label-Text mit dem Label-Text des Buttons beginnen.\n\t *\n\t * - https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _ariaLabel?: string = '';\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, welche Custom-Class übergeben werden soll, wenn _variant=\"custom\" gesetzt ist.\n\t */\n\t@Prop() public _customClass?: string;\n\n\t/**\n\t * Gibt an, ob der Button deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon links oder rechts dargestellt werden soll.\n\t *\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\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 die ID der Schaltfläche an. (Selection, Testing)\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt den Label für die Beschriftung der Schaltfläche an.\n\t */\n\t// - eslint-disable-next-line @stencil/strict-mutable\n\t@Prop({ mutable: true, reflect: false }) public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für die Button-Events an.\n\t */\n\t@Prop() public _on?: KoliBriButtonCallbacks<unknown>;\n\n\t/**\n\t * Gibt an, welche Role der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, welche Typ der Button hat.\n\t */\n\t@Prop() public _type?: KoliBriButtonType = 'button';\n\n\t/**\n\t * Gibt einen Wert an, den der Schalter bei einem Klick zurückgibt.\n\t */\n\t@Prop() public _value?: Stringified<unknown>;\n\n\t/**\n\t * Gibt an, welche Ausprägung der Button hat.\n\t */\n\t@Prop() public _variant?: KoliBriButtonVariant = 'normal';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: ButtonStates = {\n\t\t_ariaLabel: '',\n\t\t_icon: {},\n\t\t_iconAlign: 'left',\n\t\t_label: '',\n\t\t_on: {},\n\t\t_type: 'button',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this, '_accessKey', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\twatchString(this, '_ariaControls', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrent): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaControls',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\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('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tvalidateAriaLabel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaSelected', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: string): void {\n\t\twatchString(this, '_customClass', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: Alignment): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\twatchBoolean(this, '_iconOnly', value, {\n\t\t\tdefaultValue: false,\n\t\t\t// hooks: {\n\t\t\t// beforePatch: (_value, nextState) => {\n\t\t\t// let ariaLabel = this.state._ariaLabel;\n\t\t\t// if (nextState.has('_ariaLabel')) {\n\t\t\t// ariaLabel = nextState.get('_ariaLabel') as string;\n\t\t\t// }\n\t\t\t// if (typeof ariaLabel !== 'string' || ariaLabel.length <= 0) {\n\t\t\t// devHint(`[KolButton]: Bevor Icon-Only aktiviert wird, muss ein Aria-Label bzw. Label gesetzt werden.`);\n\t\t\t// nextState.set('_iconOnly', false);\n\t\t\t// }\n\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('_id')\n\tpublic validateId(value?: string): void {\n\t\twatchString(this, '_id', value);\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}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriButtonCallbacks<unknown>): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\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('_role')\n\tpublic validateRole(value?: AlternativButtonLinkRole): void {\n\t\twatchString(this, '_role', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\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 (@Watch)\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: KoliBriButtonType): void {\n\t\twatchButtonType(this, '_type', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: Stringified<unknown>): void {\n\t\tsetState(this, '_value', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriButtonVariant): void {\n\t\twatchButtonVariant(this, '_variant', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAccessKey(this._accessKey);\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateIconOnly(this._iconOnly);\n\t\tthis.validateId(this._id);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateType(this._type);\n\t\tthis.validateValue(this._value);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Stringified } from '../../types/common';\n\nimport { KoliBriCustomIcon, KoliBriIconProp } from '../../types/icon';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { validateIcon } from '../../utils/validators/icon';\nimport { validateLabel } from '../../utils/validators/label';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\ticon: {\n\t\ttop?: KoliBriCustomIcon;\n\t\tright?: KoliBriCustomIcon;\n\t\tbottom?: KoliBriCustomIcon;\n\t\tleft?: KoliBriCustomIcon;\n\t};\n\ticonOnly: boolean;\n\tlabel: string;\n};\ntype OptionalStates = unknown;\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst removeNode = (el?: Node) => {\n\tif (el instanceof Node) {\n\t\tsetTimeout(() => {\n\t\t\tel.parentElement?.removeChild(el);\n\t\t\tel.parentNode?.removeChild(el);\n\t\t});\n\t}\n};\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-span-wc',\n\tshadow: false,\n})\nexport class KolSpanWc implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'icon-only': this.state._iconOnly,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._icon.top && (\n\t\t\t\t\t<kol-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'icon top': true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={this.state._icon.top.style}\n\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t_icon={this.state._icon.top.icon}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<span>\n\t\t\t\t\t{this.state._icon.left && (\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'icon left': true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={this.state._icon.left.style}\n\t\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t\t_icon={this.state._icon.left.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.state._iconOnly !== true && this.state._label.length > 0 ? <span>{this.state._label}</span> : ''}\n\t\t\t\t\t{/*\n\t\t\t\t\t\t\tEs ist keine gute Idee hier einen Slot einzufügen,\n\t\t\t\t\t\t\tda dadurch die komplette Unterstützung der Komponente\n\t\t\t\t\t\t\tumgangen werden kann.\n\t\t\t\t\t\t*/}\n\t\t\t\t\t<span ref={this.state._label.length > 0 || this.state._iconOnly === true ? removeNode : undefined}>\n\t\t\t\t\t\t<slot name=\"expert\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t{this.state._icon.right && (\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'icon right': true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={this.state._icon.right.style}\n\t\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t\t_icon={this.state._icon.right.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t\t{this.state._icon.bottom && (\n\t\t\t\t\t<kol-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'icon bottom': true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={this.state._icon.bottom.style}\n\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t_icon={this.state._icon.bottom.icon}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. 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 einen beschreibenden Text für das Text-Element an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_icon: {},\n\t\t_iconOnly: false,\n\t\t_label: '',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\twatchBoolean(this, '_iconOnly', value);\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}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconOnly(this._iconOnly);\n\t\tthis.validateLabel(this._label);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["KolButtonWc","this","nonce","catchRef","ref","propergateFocus","host","onClick","event","state","_type","propergateSubmitEventToForm","form","propergateResetEventToForm","_a","_on","setEventTargetAndStopPropagation","_b","_value","devHint","_ariaLabel","_icon","_iconAlign","_label","render","h","Host","Object","assign","accessKey","_accessKey","_ariaControls","mapStringOrBoolean2String","_ariaCurrent","mapBoolean2String","_ariaExpanded","_iconOnly","undefined","_ariaSelected","class","_variant","_customClass","length","disabled","_disabled","id","_id","role","_role","tabIndex","_tabIndex","type","name","slot","_align","_tooltipAlign","validateAccessKey","value","watchString","validateAriaControls","validateAriaCurrent","watchValidator","Set","validateAriaExpanded","watchBoolean","validateAriaLabel","validateAriaSelected","validateCustomClass","defaultValue","validateDisabled","a11yHintDisabled","validateIcon","validateIconAlign","watchIconAlign","validateIconOnly","validateId","validateLabel","validateOn","validateRole","validateTabIndex","validateTooltipAlign","watchTooltipAlignment","validateType","watchButtonType","validateValue","setState","validateVariant","watchButtonVariant","componentWillLoad","removeNode","el","Node","setTimeout","parentElement","removeChild","parentNode","KolSpanWc","top","style","icon","left","right","bottom"],"sources":["./src/components/button/component.tsx","./src/components/span/component.tsx"],"sourcesContent":["import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport {\n\tAlternativButtonLinkRole,\n\tAriaCurrent,\n\tButtonStates,\n\tKoliBriButtonCallbacks,\n\tKoliBriButtonType,\n\tKoliBriButtonVariant,\n\tOptionalButtonProps,\n\tOptionalButtonStates,\n\tRequiredButtonProps,\n\tRequiredButtonStates,\n\twatchTooltipAlignment,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { a11yHintDisabled, devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport {\n\tmapBoolean2String,\n\tmapStringOrBoolean2String,\n\tsetEventTargetAndStopPropagation,\n\tsetState,\n\twatchBoolean,\n\twatchString,\n\twatchValidator,\n} from '../../utils/prop.validators';\nimport { propergateFocus } from '../../utils/reuse';\nimport { validateIcon, watchIconAlign } from '../../utils/validators/icon';\nimport { validateAriaLabel, validateLabel } from '../../utils/validators/label';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { propergateResetEventToForm, propergateSubmitEventToForm } from '../form/controller';\nimport { watchButtonType, watchButtonVariant } from './controller';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-button-wc',\n\tshadow: false,\n})\nexport class KolButtonWc implements Generic.Element.ComponentApi<RequiredButtonProps, OptionalButtonProps, RequiredButtonStates, OptionalButtonStates> {\n\t@Element() private readonly host?: HTMLKolButtonWcElement;\n\tprivate readonly nonce = nonce();\n\tprivate ref?: HTMLButtonElement;\n\n\tprivate readonly catchRef = (ref?: HTMLButtonElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: MouseEvent) => {\n\t\tif (this.state._type === 'submit') {\n\t\t\tpropergateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else if (this.state._type === 'reset') {\n\t\t\tpropergateResetEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else if (typeof this.state._on?.onClick === 'function') {\n\t\t\tsetEventTargetAndStopPropagation(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._value);\n\t\t} else {\n\t\t\tdevHint(`It was no button click callback configured!`);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<button\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\taria-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={mapStringOrBoolean2String(this.state._ariaCurrent)}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={this.state._iconOnly === false ? this.state._ariaLabel || this.state._label : undefined}\n\t\t\t\t\taria-labelledby={this.state._iconOnly === true ? this.nonce : undefined}\n\t\t\t\t\taria-selected={mapStringOrBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._variant as string]: this.state._variant !== 'custom',\n\t\t\t\t\t\t[this.state._customClass as string]:\n\t\t\t\t\t\t\tthis.state._variant === 'custom' && typeof this.state._customClass === 'string' && this.state._customClass.length > 0,\n\t\t\t\t\t\t'icon-only': this.state._iconOnly === true,\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t\ttype={this.state._type}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._ariaLabel || this.state._label}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t</button>\n\t\t\t\t{this.state._iconOnly === true && (\n\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t */\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t\t_id={this.nonce}\n\t\t\t\t\t\t_label={this.state._ariaLabel || this.state._label}\n\t\t\t\t\t></kol-tooltip>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man den Button auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Button hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Button etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text für den Screenreader an. Damit die\n\t * Sprachsteuerung von interaktiven Elementen funktioniert, muss der\n\t * Aria-Label-Text mit dem Label-Text des Buttons beginnen.\n\t *\n\t * - https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _ariaLabel?: string = '';\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, welche Custom-Class übergeben werden soll, wenn _variant=\"custom\" gesetzt ist.\n\t */\n\t@Prop() public _customClass?: string;\n\n\t/**\n\t * Gibt an, ob der Button deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon links oder rechts dargestellt werden soll.\n\t *\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\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 die ID der Schaltfläche an. (Selection, Testing)\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt den Label für die Beschriftung der Schaltfläche an.\n\t */\n\t// - eslint-disable-next-line @stencil/strict-mutable\n\t@Prop({ mutable: true, reflect: false }) public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für die Button-Events an.\n\t */\n\t@Prop() public _on?: KoliBriButtonCallbacks<unknown>;\n\n\t/**\n\t * Gibt an, welche Role der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, welche Typ der Button hat.\n\t */\n\t@Prop() public _type?: KoliBriButtonType = 'button';\n\n\t/**\n\t * Gibt einen Wert an, den der Schalter bei einem Klick zurückgibt.\n\t */\n\t@Prop() public _value?: Stringified<unknown>;\n\n\t/**\n\t * Gibt an, welche Ausprägung der Button hat.\n\t */\n\t@Prop() public _variant?: KoliBriButtonVariant = 'normal';\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: ButtonStates = {\n\t\t_ariaLabel: '',\n\t\t_icon: {},\n\t\t_iconAlign: 'left',\n\t\t_label: '',\n\t\t_on: {},\n\t\t_type: 'button',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this, '_accessKey', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\twatchString(this, '_ariaControls', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrent): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaControls',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\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('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tvalidateAriaLabel(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaSelected', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: string): void {\n\t\twatchString(this, '_customClass', value, {\n\t\t\tdefaultValue: undefined,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: Alignment): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\twatchBoolean(this, '_iconOnly', value, {\n\t\t\tdefaultValue: false,\n\t\t\t// hooks: {\n\t\t\t// beforePatch: (_value, nextState) => {\n\t\t\t// let ariaLabel = this.state._ariaLabel;\n\t\t\t// if (nextState.has('_ariaLabel')) {\n\t\t\t// ariaLabel = nextState.get('_ariaLabel') as string;\n\t\t\t// }\n\t\t\t// if (typeof ariaLabel !== 'string' || ariaLabel.length <= 0) {\n\t\t\t// devHint(`[KolButton]: Bevor Icon-Only aktiviert wird, muss ein Aria-Label bzw. Label gesetzt werden.`);\n\t\t\t// nextState.set('_iconOnly', false);\n\t\t\t// }\n\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('_id')\n\tpublic validateId(value?: string): void {\n\t\twatchString(this, '_id', value);\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}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriButtonCallbacks<unknown>): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\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('_role')\n\tpublic validateRole(value?: AlternativButtonLinkRole): void {\n\t\twatchString(this, '_role', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\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 (@Watch)\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: KoliBriButtonType): void {\n\t\twatchButtonType(this, '_type', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: Stringified<unknown>): void {\n\t\tsetState(this, '_value', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriButtonVariant): void {\n\t\twatchButtonVariant(this, '_variant', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAccessKey(this._accessKey);\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateIconOnly(this._iconOnly);\n\t\tthis.validateId(this._id);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateType(this._type);\n\t\tthis.validateValue(this._value);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Stringified } from '../../types/common';\n\nimport { KoliBriCustomIcon, KoliBriIconProp } from '../../types/icon';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { validateIcon } from '../../utils/validators/icon';\nimport { validateLabel } from '../../utils/validators/label';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\ticon: {\n\t\ttop?: KoliBriCustomIcon;\n\t\tright?: KoliBriCustomIcon;\n\t\tbottom?: KoliBriCustomIcon;\n\t\tleft?: KoliBriCustomIcon;\n\t};\n\ticonOnly: boolean;\n\tlabel: string;\n};\ntype OptionalStates = unknown;\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\nconst removeNode = (el?: Node) => {\n\tif (el instanceof Node) {\n\t\tsetTimeout(() => {\n\t\t\tel.parentElement?.removeChild(el);\n\t\t\tel.parentNode?.removeChild(el);\n\t\t});\n\t}\n};\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-span-wc',\n\tshadow: false,\n})\nexport class KolSpanWc implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'icon-only': this.state._iconOnly,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._icon.top && (\n\t\t\t\t\t<kol-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'icon top': true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={this.state._icon.top.style}\n\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t_icon={this.state._icon.top.icon}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<span>\n\t\t\t\t\t{this.state._icon.left && (\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'icon left': true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={this.state._icon.left.style}\n\t\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t\t_icon={this.state._icon.left.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{this.state._iconOnly !== true && this.state._label.length > 0 ? <span>{this.state._label}</span> : ''}\n\t\t\t\t\t{/*\n\t\t\t\t\t\t\tEs ist keine gute Idee hier einen Slot einzufügen,\n\t\t\t\t\t\t\tda dadurch die komplette Unterstützung der Komponente\n\t\t\t\t\t\t\tumgangen werden kann.\n\t\t\t\t\t\t*/}\n\t\t\t\t\t<span ref={this.state._label.length > 0 || this.state._iconOnly === true ? removeNode : undefined}>\n\t\t\t\t\t\t<slot name=\"expert\" />\n\t\t\t\t\t</span>\n\t\t\t\t\t{this.state._icon.right && (\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t'icon right': true,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={this.state._icon.right.style}\n\t\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t\t_icon={this.state._icon.right.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t\t{this.state._icon.bottom && (\n\t\t\t\t\t<kol-icon\n\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t'icon bottom': true,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={this.state._icon.bottom.style}\n\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t_icon={this.state._icon.bottom.icon}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. 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 einen beschreibenden Text für das Text-Element an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_icon: {},\n\t\t_iconOnly: false,\n\t\t_label: '',\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\twatchBoolean(this, '_iconOnly', value);\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}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconOnly(this._iconOnly);\n\t\tthis.validateLabel(this._label);\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 t,h as i,H as s,g as n}from"./index-0dce65d2.js";import{p as o}from"./reuse-2f7da8fc.js";import"./validator-2e4f8df6.js";const e="@windicss; *{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:700}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{border-width:0}:host{display:inline-block}:host>kol-button-wc,:host>kol-link-wc{width:inherit}:host>kol-button-wc a,:host>kol-button-wc button,:host>kol-link-wc a,:host>kol-link-wc button{cursor:pointer;display:inline-block;min-height:44px;min-width:44px;padding:0;text-align:center;transition-duration:0.5s;transition-property:background-color, color, border-color;width:inherit}:host>kol-button-wc a:active,:host>kol-button-wc button:active,:host>kol-link-wc a:active,:host>kol-link-wc button:active{outline:0 !important;box-shadow:none !important}:host>kol-button-wc a:disabled,:host>kol-button-wc button:disabled,:host>kol-link-wc a:disabled,:host>kol-link-wc button:disabled{box-shadow:none;cursor:not-allowed;opacity:0.5}",a=class{constructor(i){t(this,i),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._customClass=void 0,this._disabled=!1,this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0,this._variant="normal"}render(){return i(s,null,i("kol-button-wc",{ref:this.catchRef,class:{button:!0,[this._variant]:"custom"!==this._variant,[this._customClass]:"custom"===this._variant&&"string"==typeof this._customClass&&this._customClass.length>0},_accessKey:this._accessKey,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_customClass:this._customClass,_disabled:this._disabled,_icon:this._icon,_iconAlign:this._iconAlign,_iconOnly:this._iconOnly,_id:this._id,_label:this._label,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_tooltipAlign:this._tooltipAlign,_type:this._type,_value:this._value,_variant:this._variant},i("slot",{name:"expert",slot:"expert"})))}get host(){return n(this)}};a.style={default:e};export{a as kol_button};
4
+ import{r as i,h as t,H as o,g as s}from"./index-0dce65d2.js";import{a as n}from"./reuse-2b3b6999.js";const e=":host{--kolibri-border-color:#e0e0e0;--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-spacing:0.25rem}*{box-sizing:border-box;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}:host{display:inline-block}:host>kol-button-wc,:host>kol-link-wc{width:inherit}:host>kol-button-wc a,:host>kol-button-wc button,:host>kol-link-wc a,:host>kol-link-wc button{cursor:pointer;display:inline-block;min-height:44px;min-width:44px;padding:0;text-align:center;transition-duration:0.5s;transition-property:background-color, color, border-color;width:inherit}:host>kol-button-wc a:active,:host>kol-button-wc button:active,:host>kol-link-wc a:active,:host>kol-link-wc button:active{outline:0 !important;box-shadow:none !important}:host>kol-button-wc a:disabled,:host>kol-button-wc button:disabled,:host>kol-link-wc a:disabled,:host>kol-link-wc button:disabled{box-shadow:none;cursor:not-allowed;opacity:0.5}",r=class{constructor(t){i(this,t),this.catchRef=i=>{this.ref=i,n(this.host,this.ref)},this._accessKey=void 0,this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel="",this._ariaSelected=void 0,this._customClass=void 0,this._disabled=!1,this._icon=void 0,this._iconAlign="left",this._iconOnly=!1,this._id=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0,this._variant="normal"}render(){return t(o,null,t("kol-button-wc",{ref:this.catchRef,class:{button:!0,[this._variant]:"custom"!==this._variant,[this._customClass]:"custom"===this._variant&&"string"==typeof this._customClass&&this._customClass.length>0},_accessKey:this._accessKey,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_customClass:this._customClass,_disabled:this._disabled,_icon:this._icon,_iconAlign:this._iconAlign,_iconOnly:this._iconOnly,_id:this._id,_label:this._label,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_tooltipAlign:this._tooltipAlign,_type:this._type,_value:this._value,_variant:this._variant},t("slot",{name:"expert",slot:"expert"})))}get host(){return s(this)}};r.style={default:e};export{r as kol_button};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolButton","this","catchRef","ref","propergateFocus","host","render","h","Host","class","button","_variant","_customClass","length","_accessKey","_ariaControls","_ariaCurrent","_ariaExpanded","_ariaLabel","_ariaSelected","_disabled","_icon","_iconAlign","_iconOnly","_id","_label","_on","_role","_tabIndex","_tooltipAlign","_type","_value","name","slot"],"sources":["./src/components/button/style.sass?tag=kol-button&mode=default&encapsulation=shadow","./src/components/button/shadow.tsx"],"sourcesContent":["@import ../style\n\n:host\n\tdisplay: inline-block\n\n\t&> kol-button-wc,\n\t&> kol-link-wc\n\t\twidth: inherit\n\n\t\ta,\n\t\tbutton\n\t\t\tcursor: pointer\n\t\t\tdisplay: inline-block\n\t\t\tmin-height: 44px\n\t\t\tmin-width: 44px\n\t\t\tpadding: 0\n\t\t\ttext-align: center\n\t\t\ttransition-duration: 0.5s\n\t\t\ttransition-property: background-color, color, border-color\n\t\t\twidth: inherit\n\n\t\t\t&:active\n\t\t\t\toutline: 0 !important\n\t\t\t\tbox-shadow: none !important\n\n\t\t\t&:disabled\n\t\t\t\tbox-shadow: none\n\t\t\t\tcursor: not-allowed\n\t\t\t\topacity: 0.5\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport {\n\tAlternativButtonLinkRole,\n\tAriaCurrent,\n\tKoliBriButtonCallbacks,\n\tKoliBriButtonType,\n\tKoliBriButtonVariant,\n\tOptionalButtonProps,\n\tRequiredButtonProps,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { propergateFocus } from '../../utils/reuse';\n\n@Component({\n\ttag: 'kol-button',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolButton implements Generic.Element.Members<RequiredButtonProps, OptionalButtonProps> {\n\t@Element() private readonly host?: HTMLKolButtonElement;\n\tprivate ref?: HTMLKolButtonWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolButtonWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-button-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tbutton: true,\n\t\t\t\t\t\t[this._variant as string]: this._variant !== 'custom',\n\t\t\t\t\t\t[this._customClass as string]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,\n\t\t\t\t\t}}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaCurrent={this._ariaCurrent}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaLabel={this._ariaLabel}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_customClass={this._customClass}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_iconAlign={this._iconAlign}\n\t\t\t\t\t_iconOnly={this._iconOnly}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this._value}\n\t\t\t\t\t_variant={this._variant}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t</kol-button-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man den Button auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Button hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Button etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text des Buttons an. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label)\n\t */\n\t@Prop() public _ariaLabel?: string = '';\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, welche Custom-Class übergeben werden soll, wenn _variant=\"custom\" gesetzt ist.\n\t */\n\t@Prop() public _customClass?: string;\n\n\t/**\n\t * Gibt an, ob der Button deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon links oder rechts dargestellt werden soll.\n\t *\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\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 die ID der Schaltfläche an. (Selection, Testing)\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt den Label für die Beschriftung der Schaltfläche an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für die Button-Events an.\n\t */\n\t@Prop() public _on?: KoliBriButtonCallbacks<unknown>;\n\n\t/**\n\t * Gibt an, welche Role der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, welche Typ der Button hat.\n\t */\n\t@Prop() public _type?: KoliBriButtonType = 'button';\n\n\t/**\n\t * Gibt einen Wert an, den der Schalter bei einem Klick zurückgibt.\n\t */\n\t@Prop() public _value?: Stringified<unknown>;\n\n\t/**\n\t * Gibt an, welche Ausprägung der Button hat.\n\t */\n\t@Prop() public _variant?: KoliBriButtonVariant = 'normal';\n}\n"],"mappings":";;;qIAAA,MAAMA,EAAkB,wqC,MCwBXC,EAAS,M,yBAIJC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAgBH,KAAKI,KAAMJ,KAAKE,IAAI,E,gIA+DA,G,wEAeiB,M,qCAYd,O,eAKc,M,6HA8BX,M,WAKA,S,oCAUM,Q,CAzI1CG,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,iBACCJ,IAAKF,KAAKC,SACVO,MAAO,CACNC,OAAQ,KACR,CAACT,KAAKU,UAAqBV,KAAKU,WAAa,SAC7C,CAACV,KAAKW,cAAyBX,KAAKU,WAAa,iBAAmBV,KAAKW,eAAiB,UAAYX,KAAKW,aAAaC,OAAS,GAElIC,WAAYb,KAAKa,WACjBC,cAAed,KAAKc,cACpBC,aAAcf,KAAKe,aACnBC,cAAehB,KAAKgB,cACpBC,WAAYjB,KAAKiB,WACjBC,cAAelB,KAAKkB,cACpBP,aAAcX,KAAKW,aACnBQ,UAAWnB,KAAKmB,UAChBC,MAAOpB,KAAKoB,MACZC,WAAYrB,KAAKqB,WACjBC,UAAWtB,KAAKsB,UAChBC,IAAKvB,KAAKuB,IACVC,OAAQxB,KAAKwB,OACbC,IAAKzB,KAAKyB,IACVC,MAAO1B,KAAK0B,MACZC,UAAW3B,KAAK2B,UAChBC,cAAe5B,KAAK4B,cACpBC,MAAO7B,KAAK6B,MACZC,OAAQ9B,KAAK8B,OACbpB,SAAUV,KAAKU,UAEfJ,EAAA,QAAMyB,KAAK,SAASC,KAAK,Y"}
1
+ {"version":3,"names":["defaultStyleCss","KolButton","this","catchRef","ref","propergateFocus","host","render","h","Host","class","button","_variant","_customClass","length","_accessKey","_ariaControls","_ariaCurrent","_ariaExpanded","_ariaLabel","_ariaSelected","_disabled","_icon","_iconAlign","_iconOnly","_id","_label","_on","_role","_tabIndex","_tooltipAlign","_type","_value","name","slot"],"sources":["./src/components/button/style.css?tag=kol-button&mode=default&encapsulation=shadow","./src/components/button/shadow.tsx"],"sourcesContent":["@import '../style.css';\n\n:host {\n\tdisplay: inline-block;\n}\n:host > kol-button-wc,\n:host > kol-link-wc {\n\twidth: inherit;\n}\n:host > kol-button-wc a,\n:host > kol-button-wc button,\n:host > kol-link-wc a,\n:host > kol-link-wc button {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\tmin-height: 44px;\n\tmin-width: 44px;\n\tpadding: 0;\n\ttext-align: center;\n\ttransition-duration: 0.5s;\n\ttransition-property: background-color, color, border-color;\n\twidth: inherit;\n}\n:host > kol-button-wc a:active,\n:host > kol-button-wc button:active,\n:host > kol-link-wc a:active,\n:host > kol-link-wc button:active {\n\toutline: 0 !important;\n\tbox-shadow: none !important;\n}\n:host > kol-button-wc a:disabled,\n:host > kol-button-wc button:disabled,\n:host > kol-link-wc a:disabled,\n:host > kol-link-wc button:disabled {\n\tbox-shadow: none;\n\tcursor: not-allowed;\n\topacity: 0.5;\n}\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport {\n\tAlternativButtonLinkRole,\n\tAriaCurrent,\n\tKoliBriButtonCallbacks,\n\tKoliBriButtonType,\n\tKoliBriButtonVariant,\n\tOptionalButtonProps,\n\tRequiredButtonProps,\n} from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { Alignment } from '../../types/props/alignment';\nimport { propergateFocus } from '../../utils/reuse';\n\n@Component({\n\ttag: 'kol-button',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolButton implements Generic.Element.Members<RequiredButtonProps, OptionalButtonProps> {\n\t@Element() private readonly host?: HTMLKolButtonElement;\n\tprivate ref?: HTMLKolButtonWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolButtonWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-button-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tbutton: true,\n\t\t\t\t\t\t[this._variant as string]: this._variant !== 'custom',\n\t\t\t\t\t\t[this._customClass as string]: this._variant === 'custom' && typeof this._customClass === 'string' && this._customClass.length > 0,\n\t\t\t\t\t}}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaCurrent={this._ariaCurrent}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaLabel={this._ariaLabel}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_customClass={this._customClass}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_iconAlign={this._iconAlign}\n\t\t\t\t\t_iconOnly={this._iconOnly}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this._value}\n\t\t\t\t\t_variant={this._variant}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\" />\n\t\t\t\t</kol-button-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man den Button auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus der Button hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrent;\n\n\t/**\n\t * Gibt an, ob durch den Button etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop({ reflect: true }) public _ariaExpanded?: boolean;\n\n\t/**\n\t * Gibt einen beschreibenden Text des Buttons an. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label)\n\t */\n\t@Prop() public _ariaLabel?: string = '';\n\n\t/**\n\t * Gibt an, ob Element ausgewählt ist (role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop({ reflect: true }) public _ariaSelected?: boolean;\n\n\t/**\n\t * Gibt an, welche Custom-Class übergeben werden soll, wenn _variant=\"custom\" gesetzt ist.\n\t */\n\t@Prop() public _customClass?: string;\n\n\t/**\n\t * Gibt an, ob der Button deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean = false;\n\n\t/**\n\t * Gibt den Class-Identifier eines Icons eine eingebunden Icofont an. (z.B. https://icofont.com/)\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Gibt an, ob das Icon links oder rechts dargestellt werden soll.\n\t *\n\t * @deprecated\n\t */\n\t@Prop() public _iconAlign?: Alignment = 'left';\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 die ID der Schaltfläche an. (Selection, Testing)\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt den Label für die Beschriftung der Schaltfläche an.\n\t */\n\t@Prop() public _label!: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für die Button-Events an.\n\t */\n\t@Prop() public _on?: KoliBriButtonCallbacks<unknown>;\n\n\t/**\n\t * Gibt an, welche Role der Schalter hat.\n\t */\n\t@Prop() public _role?: AlternativButtonLinkRole;\n\n\t/**\n\t * Gibt an, welchen Tab-Index der Button hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Alignment = 'top';\n\n\t/**\n\t * Gibt an, welche Typ der Button hat.\n\t */\n\t@Prop() public _type?: KoliBriButtonType = 'button';\n\n\t/**\n\t * Gibt einen Wert an, den der Schalter bei einem Klick zurückgibt.\n\t */\n\t@Prop() public _value?: Stringified<unknown>;\n\n\t/**\n\t * Gibt an, welche Ausprägung der Button hat.\n\t */\n\t@Prop() public _variant?: KoliBriButtonVariant = 'normal';\n}\n"],"mappings":";;;qGAAA,MAAMA,EAAkB,ipD,MCwBXC,EAAS,M,yBAIJC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAgBH,KAAKI,KAAMJ,KAAKE,IAAI,E,gIA+DA,G,wEAeiB,M,qCAYd,O,eAKc,M,6HA8BX,M,WAKA,S,oCAUM,Q,CAzI1CG,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,iBACCJ,IAAKF,KAAKC,SACVO,MAAO,CACNC,OAAQ,KACR,CAACT,KAAKU,UAAqBV,KAAKU,WAAa,SAC7C,CAACV,KAAKW,cAAyBX,KAAKU,WAAa,iBAAmBV,KAAKW,eAAiB,UAAYX,KAAKW,aAAaC,OAAS,GAElIC,WAAYb,KAAKa,WACjBC,cAAed,KAAKc,cACpBC,aAAcf,KAAKe,aACnBC,cAAehB,KAAKgB,cACpBC,WAAYjB,KAAKiB,WACjBC,cAAelB,KAAKkB,cACpBP,aAAcX,KAAKW,aACnBQ,UAAWnB,KAAKmB,UAChBC,MAAOpB,KAAKoB,MACZC,WAAYrB,KAAKqB,WACjBC,UAAWtB,KAAKsB,UAChBC,IAAKvB,KAAKuB,IACVC,OAAQxB,KAAKwB,OACbC,IAAKzB,KAAKyB,IACVC,MAAO1B,KAAK0B,MACZC,UAAW3B,KAAK2B,UAChBC,cAAe5B,KAAK4B,cACpBC,MAAO7B,KAAK6B,MACZC,OAAQ9B,KAAK8B,OACbpB,SAAUV,KAAKU,UAEfJ,EAAA,QAAMyB,KAAK,SAASC,KAAK,Y"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as e,h as i,H as t}from"./index-0dce65d2.js";import{b as a,w as s}from"./prop.validators-0ce5851c.js";import{w as n}from"./validation-470a9e9e.js";import"./index-2eac13ad.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-ff5a1a99.js";import"./dev.utils-daaf2f39.js";const o="@windicss; *{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:700}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{border-width:0}",l=class{constructor(i){e(this,i),this._hasFooter=!1,this._heading=void 0,this._headline=void 0,this._level=1,this.state={_heading:"…"}}render(){return i(t,null,i("div",null,i("div",{class:"header"},i("kol-heading-wc",{_level:this.state._level},this.state._heading),i("slot",{name:"header"})),i("div",{class:"content"},i("slot",{name:"content"})),!0===this.state._hasFooter&&i("div",{class:"footer"},i("slot",{name:"footer"}))))}validateHasFooter(e){a(this,"_hasFooter",e)}validateHeading(e){s(this,"_heading",e,{required:!0})}validateHeadline(e){this.validateHeading(e)}validateLevel(e){n(this,e)}componentWillLoad(){this.validateHasFooter(this._hasFooter),this.validateHeading(this._heading||this._headline),this.validateLevel(this._level)}static get watchers(){return{_hasFooter:["validateHasFooter"],_heading:["validateHeading"],_headline:["validateHeadline"],_level:["validateLevel"]}}};l.style={default:o};export{l as kol_card};
4
+ import{r as i,h as e,H as o}from"./index-0dce65d2.js";import{b as r,w as a}from"./prop.validators-c2234525.js";import{w as t}from"./validation-d17349fa.js";import"./index-2a11dd6d.js";import"./a11y.tipps-353a7f35.js";import"./dev.utils-3ec9f837.js";import"./reuse-2b3b6999.js";const l=":host{--kolibri-border-color:#e0e0e0;--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-spacing:0.25rem}*{box-sizing:border-box;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}",s=class{constructor(e){i(this,e),this._hasFooter=!1,this._heading=void 0,this._headline=void 0,this._level=1,this.state={_heading:"…"}}render(){return e(o,null,e("div",null,e("div",{class:"header"},e("kol-heading-wc",{_label:this.state._heading,_level:this.state._level}),e("slot",{name:"header"})),e("div",{class:"content"},e("slot",{name:"content"})),!0===this.state._hasFooter&&e("div",{class:"footer"},e("slot",{name:"footer"}))))}validateHasFooter(e){r(this,"_hasFooter",e)}validateHeading(e){a(this,"_heading",e,{required:!0})}validateHeadline(e){this.validateHeading(e)}validateLevel(e){t(this,e)}componentWillLoad(){this.validateHasFooter(this._hasFooter),this.validateHeading(this._heading||this._headline),this.validateLevel(this._level)}static get watchers(){return{_hasFooter:["validateHasFooter"],_heading:["validateHeading"],_headline:["validateHeadline"],_level:["validateLevel"]}}};s.style={default:l};export{s as kol_card};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolCard","_heading","render","h","Host","class","_level","this","state","name","_hasFooter","validateHasFooter","value","watchBoolean","validateHeading","watchString","required","validateHeadline","validateLevel","watchHeadingLevel","componentWillLoad","_headline"],"sources":["./src/components/style.sass?tag=kol-card&mode=default&encapsulation=shadow","./src/components/card/component.tsx"],"sourcesContent":["@windicss\n\n*\n\tbox-sizing: border-box\n\tfont-size: inherit\n\thyphens: auto\n\tletter-spacing: inherit\n\tword-break: break-word\n\tword-spacing: inherit\n\nkol-heading-wc\n\tfont-weight: 700\n\nkol-icon\n\tcolor: inherit\n\nkol-span-wc\n\tdisplay: grid\n\tplace-items: center\n\twidth: 100%\n\n\t> span\n\t\tdisplay: flex\n\t\tgap: 0.25rem\n\t\tplace-items: center\n\na,\nbutton\n\tcursor: pointer\n\n\t&.icon-only\n\n\t\t> kol-span-wc\n\n\t\t\t> span\n\n\t\t\t\t> span\n\t\t\t\t\tdisplay: none\n\na\n\tdisplay: inline-flex\n\tplace-items: baseline\n\nbutton\n\tborder-width: 0\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\n\n/**\n * API\n */\ntype RequiredProps = {\n\theading: string;\n};\ntype OptionalProps = {\n\thasFooter: boolean;\n\t/**\n\t * @deprecated Use _headline instead\n\t */\n\theadline: string;\n\tlevel: HeadingLevel;\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 card - TBD\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich unterhalb der Überschrift der Card.\n * @slot footer - Ermöglicht das Einfügen beliebigen HTML's in den Fußbereich der Card.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich der Card.\n */\n@Component({\n\ttag: 'kol-card',\n\tstyleUrls: {\n\t\tdefault: '../style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolCard implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t<kol-heading-wc _level={this.state._level}>{this.state._heading}</kol-heading-wc>\n\t\t\t\t\t\t<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.state._hasFooter === true && (\n\t\t\t\t\t\t<div class=\"footer\">\n\t\t\t\t\t\t\t<slot name=\"footer\" />\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 die Card einen Footer-Bereich hat.\n\t */\n\t@Prop({ reflect: true }) public _hasFooter?: boolean = false;\n\n\t/**\n\t * Gibt die Überschrift der Card an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Gibt die Überschrift der Card an.\n\t *\n\t * @deprecated Verwende stattdessen das Property _heading.\n\t */\n\t@Prop() public _headline?: 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 * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_heading: '…', // '⚠'\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasFooter')\n\tpublic validateHasFooter(value?: boolean): void {\n\t\twatchBoolean(this, '_hasFooter', 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\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_headline')\n\tpublic validateHeadline(value?: string): void {\n\t\tthis.validateHeading(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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHasFooter(this._hasFooter);\n\t\tthis.validateHeading(this._heading || this._headline);\n\t\tthis.validateLevel(this._level);\n\t}\n}\n"],"mappings":";;;uRAAA,MAAMA,EAAkB,ge,MCyCXC,EAAO,M,yCAyBoC,M,6DAiBhB,E,WAKP,CAC/BC,SAAU,I,CA/CJC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,WACCA,EAAA,OAAKE,MAAM,UACVF,EAAA,kBAAgBG,OAAQC,KAAKC,MAAMF,QAASC,KAAKC,MAAMP,UACvDE,EAAA,QAAMM,KAAK,YAEZN,EAAA,OAAKE,MAAM,WACVF,EAAA,QAAMM,KAAK,aAEXF,KAAKC,MAAME,aAAe,MAC1BP,EAAA,OAAKE,MAAM,UACVF,EAAA,QAAMM,KAAK,a,CAyCVE,kBAAkBC,GACxBC,EAAaN,KAAM,aAAcK,E,CAO3BE,gBAAgBF,GACtBG,EAAYR,KAAM,WAAYK,EAAO,CACpCI,SAAU,M,CASLC,iBAAiBL,GACvBL,KAAKO,gBAAgBF,E,CAOfM,cAAcN,GACpBO,EAAkBZ,KAAMK,E,CAMlBQ,oBACNb,KAAKI,kBAAkBJ,KAAKG,YAC5BH,KAAKO,gBAAgBP,KAAKN,UAAYM,KAAKc,WAC3Cd,KAAKW,cAAcX,KAAKD,O"}
1
+ {"version":3,"names":["defaultStyleCss","KolCard","_heading","render","h","Host","class","_label","this","state","_level","name","_hasFooter","validateHasFooter","value","watchBoolean","validateHeading","watchString","required","validateHeadline","validateLevel","watchHeadingLevel","componentWillLoad","_headline"],"sources":["./src/components/card/style.css?tag=kol-card&mode=default&encapsulation=shadow","./src/components/card/component.tsx"],"sourcesContent":["@import '../style.css';\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\n\n/**\n * API\n */\ntype RequiredProps = {\n\theading: string;\n};\ntype OptionalProps = {\n\thasFooter: boolean;\n\t/**\n\t * @deprecated Use _headline instead\n\t */\n\theadline: string;\n\tlevel: HeadingLevel;\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 card - TBD\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich unterhalb der Überschrift der Card.\n * @slot footer - Ermöglicht das Einfügen beliebigen HTML's in den Fußbereich der Card.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich der Card.\n */\n@Component({\n\ttag: 'kol-card',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolCard implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\"header\">\n\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<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.state._hasFooter === true && (\n\t\t\t\t\t\t<div class=\"footer\">\n\t\t\t\t\t\t\t<slot name=\"footer\" />\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 die Card einen Footer-Bereich hat.\n\t */\n\t@Prop({ reflect: true }) public _hasFooter?: boolean = false;\n\n\t/**\n\t * Gibt die Überschrift der Card an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Gibt die Überschrift der Card an.\n\t *\n\t * @deprecated Verwende stattdessen das Property _heading.\n\t */\n\t@Prop() public _headline?: 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 * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_heading: '…', // '⚠'\n\t};\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hasFooter')\n\tpublic validateHasFooter(value?: boolean): void {\n\t\twatchBoolean(this, '_hasFooter', 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\t\trequired: true,\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_headline')\n\tpublic validateHeadline(value?: string): void {\n\t\tthis.validateHeading(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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHasFooter(this._hasFooter);\n\t\tthis.validateHeading(this._heading || this._headline);\n\t\tthis.validateLevel(this._level);\n\t}\n}\n"],"mappings":";;;qRAAA,MAAMA,EAAkB,y8B,MCyCXC,EAAO,M,yCAyBoC,M,6DAiBhB,E,WAKP,CAC/BC,SAAU,I,CA/CJC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,WACCA,EAAA,OAAKE,MAAM,UACVF,EAAA,kBAAgBG,OAAQC,KAAKC,MAAMP,SAAUQ,OAAQF,KAAKC,MAAMC,SAChEN,EAAA,QAAMO,KAAK,YAEZP,EAAA,OAAKE,MAAM,WACVF,EAAA,QAAMO,KAAK,aAEXH,KAAKC,MAAMG,aAAe,MAC1BR,EAAA,OAAKE,MAAM,UACVF,EAAA,QAAMO,KAAK,a,CAyCVE,kBAAkBC,GACxBC,EAAaP,KAAM,aAAcM,E,CAO3BE,gBAAgBF,GACtBG,EAAYT,KAAM,WAAYM,EAAO,CACpCI,SAAU,M,CASLC,iBAAiBL,GACvBN,KAAKQ,gBAAgBF,E,CAOfM,cAAcN,GACpBO,EAAkBb,KAAMM,E,CAMlBQ,oBACNd,KAAKK,kBAAkBL,KAAKI,YAC5BJ,KAAKQ,gBAAgBR,KAAKN,UAAYM,KAAKe,WAC3Cf,KAAKY,cAAcZ,KAAKE,O"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,H as e}from"./index-0dce65d2.js";import{b as s,w as a}from"./prop.validators-0ce5851c.js";import"./index-2eac13ad.js";import"./index.m-86dc8c44.js";import"./a11y.tipps-ff5a1a99.js";import"./dev.utils-daaf2f39.js";const n="@windicss; *{box-sizing:border-box;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-heading-wc{font-weight:700}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{border-width:0}:host details{display:grid;width:100%}:host details>kol-indented-text{margin:0.25rem 0 0 0.25rem}:host summary{cursor:pointer;display:flow-root;margin:0;padding:0}:host summary span{margin-left:0.25rem;text-decoration:underline}:host summary:hover{text-decoration-thickness:0.25rem}",o=class{constructor(t){i(this,t),this.onClick=()=>{setTimeout((()=>{var t;this._open=null===(t=this.htmlDetailsElement)||void 0===t?void 0:t.open}),25)},this._open=!1,this._summary=void 0,this.state={_summary:"…"}}render(){return t(e,null,t("details",{ref:t=>{this.htmlDetailsElement=t},open:this.state._open},t("summary",{onClick:this.onClick},this.state._open?t("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-down"}):t("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right"}),t("span",null,this.state._summary)),t("kol-indented-text",null,t("slot",null))))}validateOpen(t){s(this,"_open",t)}validateSummary(t){a(this,"_summary",t,{required:!0})}componentWillLoad(){this.validateOpen(this._open),this.validateSummary(this._summary)}static get watchers(){return{_open:["validateOpen"],_summary:["validateSummary"]}}};o.style={default:n};export{o as kol_details};
4
+ import{r as i,h as o,H as r}from"./index-0dce65d2.js";import{b as e,w as a}from"./prop.validators-c2234525.js";import"./index-2a11dd6d.js";import"./a11y.tipps-353a7f35.js";import"./dev.utils-3ec9f837.js";import"./reuse-2b3b6999.js";const t=":host{--kolibri-border-color:#e0e0e0;--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-spacing:0.25rem}*{box-sizing:border-box;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:0.25rem;place-items:center}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,button.icon-only>kol-span-wc>span>span{display:none}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0}:host details{display:grid;width:100%}:host details>kol-indented-text{margin:var(--kolibri-spacing) 0 0 var(--kolibri-spacing)}:host summary{cursor:pointer;display:flow-root;margin:0;padding:0}:host summary span{margin-left:var(--kolibri-spacing);text-decoration:underline}:host summary:hover{text-decoration-thickness:var(--kolibri-spacing)}",s=class{constructor(o){i(this,o),this.onClick=()=>{setTimeout((()=>{var i;this._open=null===(i=this.htmlDetailsElement)||void 0===i?void 0:i.open}),25)},this._open=!1,this._summary=void 0,this.state={_summary:"…"}}render(){return o(r,null,o("details",{ref:i=>{this.htmlDetailsElement=i},open:this.state._open},o("summary",{onClick:this.onClick},this.state._open?o("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-down"}):o("kol-icon",{_ariaLabel:"",_icon:"fa-solid fa-angle-right"}),o("span",null,this.state._summary)),o("kol-indented-text",null,o("slot",null))))}validateOpen(i){e(this,"_open",i)}validateSummary(i){a(this,"_summary",i,{required:!0})}componentWillLoad(){this.validateOpen(this._open),this.validateSummary(this._summary)}static get watchers(){return{_open:["validateOpen"],_summary:["validateSummary"]}}};s.style={default:t};export{s as kol_details};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolDetails","this","onClick","setTimeout","_open","_a","htmlDetailsElement","open","_summary","render","h","Host","ref","el","state","_ariaLabel","_icon","validateOpen","value","watchBoolean","validateSummary","watchString","required","componentWillLoad"],"sources":["./src/components/details/style.sass?tag=kol-details&mode=default&encapsulation=shadow","./src/components/details/component.tsx"],"sourcesContent":["@import ../style\n\n:host\n\n\tdetails\n\t\tdisplay: grid\n\t\twidth: 100%\n\n\t\t> kol-indented-text\n\t\t\tmargin: 0.25rem 0 0 0.25rem\n\n\tsummary\n\t\tcursor: pointer\n\t\tdisplay: flow-root\n\t\tmargin: 0\n\t\tpadding: 0\n\n\t\tspan\n\t\t\tmargin-left: 0.25rem\n\t\t\ttext-decoration: underline\n\n\t\t&:hover\n\t\t\ttext-decoration-thickness: 0.25rem\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tsummary: string;\n};\ntype OptionalProps = {\n\topen: boolean;\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@Component({\n\ttag: 'kol-details',\n\tstyleUrls: {\n\t\tdefault: './style.sass',\n\t},\n\tshadow: true,\n})\nexport class KolDetails implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate htmlDetailsElement?: HTMLDetailsElement;\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<details\n\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\tthis.htmlDetailsElement = el as HTMLDetailsElement;\n\t\t\t\t\t}}\n\t\t\t\t\topen={this.state._open}\n\t\t\t\t>\n\t\t\t\t\t<summary onClick={this.onClick}>\n\t\t\t\t\t\t{this.state._open ? <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-down\" /> : <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-right\" />}\n\t\t\t\t\t\t<span>{this.state._summary}</span>\n\t\t\t\t\t</summary>\n\t\t\t\t\t<kol-indented-text>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</kol-indented-text>\n\t\t\t\t</details>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob die Detailbeschreibung geöffnet oder geschlossen ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t/**\n\t * Gibt die Zusammenfassung der Detailbeschreibung an.\n\t */\n\t@Prop() public _summary!: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_summary: '…', // '⚠'\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 (@Watch)\n\t */\n\t@Watch('_summary')\n\tpublic validateSummary(value?: string): void {\n\t\twatchString(this, '_summary', value, {\n\t\t\trequired: true,\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.validateOpen(this._open);\n\t\tthis.validateSummary(this._summary);\n\t}\n\n\tprivate onClick = () => {\n\t\tsetTimeout(() => {\n\t\t\tthis._open = this.htmlDetailsElement?.open;\n\t\t}, 25);\n\t};\n}\n"],"mappings":";;;0OAAA,MAAMA,EAAkB,0vB,MC2BXC,EAAU,M,yBAmEdC,KAAAC,QAAU,KACjBC,YAAW,K,MACVF,KAAKG,OAAQC,EAAAJ,KAAKK,sBAAkB,MAAAD,SAAA,SAAAA,EAAEE,IAAI,GACxC,GAAG,E,WA3C0D,M,mCAUjC,CAC/BC,SAAU,I,CAnCJC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,WACCE,IAAMC,IACLZ,KAAKK,mBAAqBO,CAAwB,EAEnDN,KAAMN,KAAKa,MAAMV,OAEjBM,EAAA,WAASR,QAASD,KAAKC,SACrBD,KAAKa,MAAMV,MAAQM,EAAA,YAAUK,WAAW,GAAGC,MAAM,2BAA8BN,EAAA,YAAUK,WAAW,GAAGC,MAAM,4BAC9GN,EAAA,YAAOT,KAAKa,MAAMN,WAEnBE,EAAA,yBACCA,EAAA,e,CA4BEO,aAAaC,GACnBC,EAAalB,KAAM,QAASiB,E,CAOtBE,gBAAgBF,GACtBG,EAAYpB,KAAM,WAAYiB,EAAO,CACpCI,SAAU,M,CAOLC,oBACNtB,KAAKgB,aAAahB,KAAKG,OACvBH,KAAKmB,gBAAgBnB,KAAKO,S"}
1
+ {"version":3,"names":["defaultStyleCss","KolDetails","this","onClick","setTimeout","_open","_a","htmlDetailsElement","open","_summary","render","h","Host","ref","el","state","_ariaLabel","_icon","validateOpen","value","watchBoolean","validateSummary","watchString","required","componentWillLoad"],"sources":["./src/components/details/style.css?tag=kol-details&mode=default&encapsulation=shadow","./src/components/details/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host details {\n\tdisplay: grid;\n\twidth: 100%;\n}\n:host details > kol-indented-text {\n\tmargin: var(--kolibri-spacing) 0 0 var(--kolibri-spacing);\n}\n\n:host summary {\n\tcursor: pointer;\n\tdisplay: flow-root;\n\tmargin: 0;\n\tpadding: 0;\n}\n:host summary span {\n\tmargin-left: var(--kolibri-spacing);\n\ttext-decoration: underline;\n}\n:host summary:hover {\n\ttext-decoration-thickness: var(--kolibri-spacing);\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\n\n/**\n * API\n */\ntype RequiredProps = {\n\tsummary: string;\n};\ntype OptionalProps = {\n\topen: boolean;\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@Component({\n\ttag: 'kol-details',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolDetails implements Generic.Element.ComponentApi<RequiredProps, OptionalProps, RequiredStates, OptionalStates> {\n\tprivate htmlDetailsElement?: HTMLDetailsElement;\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<details\n\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\tthis.htmlDetailsElement = el as HTMLDetailsElement;\n\t\t\t\t\t}}\n\t\t\t\t\topen={this.state._open}\n\t\t\t\t>\n\t\t\t\t\t<summary onClick={this.onClick}>\n\t\t\t\t\t\t{this.state._open ? <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-down\" /> : <kol-icon _ariaLabel=\"\" _icon=\"fa-solid fa-angle-right\" />}\n\t\t\t\t\t\t<span>{this.state._summary}</span>\n\t\t\t\t\t</summary>\n\t\t\t\t\t<kol-indented-text>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</kol-indented-text>\n\t\t\t\t</details>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob die Detailbeschreibung geöffnet oder geschlossen ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t/**\n\t * Gibt die Zusammenfassung der Detailbeschreibung an.\n\t */\n\t@Prop() public _summary!: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_summary: '…', // '⚠'\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 (@Watch)\n\t */\n\t@Watch('_summary')\n\tpublic validateSummary(value?: string): void {\n\t\twatchString(this, '_summary', value, {\n\t\t\trequired: true,\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.validateOpen(this._open);\n\t\tthis.validateSummary(this._summary);\n\t}\n\n\tprivate onClick = () => {\n\t\tsetTimeout(() => {\n\t\t\tthis._open = this.htmlDetailsElement?.open;\n\t\t}, 25);\n\t};\n}\n"],"mappings":";;;wOAAA,MAAMA,EAAkB,+xC,MC2BXC,EAAU,M,yBAmEdC,KAAAC,QAAU,KACjBC,YAAW,K,MACVF,KAAKG,OAAQC,EAAAJ,KAAKK,sBAAkB,MAAAD,SAAA,SAAAA,EAAEE,IAAI,GACxC,GAAG,E,WA3C0D,M,mCAUjC,CAC/BC,SAAU,I,CAnCJC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,WACCE,IAAMC,IACLZ,KAAKK,mBAAqBO,CAAwB,EAEnDN,KAAMN,KAAKa,MAAMV,OAEjBM,EAAA,WAASR,QAASD,KAAKC,SACrBD,KAAKa,MAAMV,MAAQM,EAAA,YAAUK,WAAW,GAAGC,MAAM,2BAA8BN,EAAA,YAAUK,WAAW,GAAGC,MAAM,4BAC9GN,EAAA,YAAOT,KAAKa,MAAMN,WAEnBE,EAAA,yBACCA,EAAA,e,CA4BEO,aAAaC,GACnBC,EAAalB,KAAM,QAASiB,E,CAOtBE,gBAAgBF,GACtBG,EAAYpB,KAAM,WAAYiB,EAAO,CACpCI,SAAU,M,CAOLC,oBACNtB,KAAKgB,aAAahB,KAAKG,OACvBH,KAAKmB,gBAAgBnB,KAAKO,S"}