@public-ui/components 1.5.0-rc.12 → 1.5.0-rc.14

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 (440) hide show
  1. package/assets/codicons/LICENSE +395 -0
  2. package/assets/codicons/LICENSE-CODE +21 -0
  3. package/assets/codicons/codicon.css +571 -0
  4. package/assets/codicons/codicon.csv +421 -0
  5. package/assets/codicons/codicon.html +3871 -0
  6. package/assets/codicons/codicon.svg +1 -0
  7. package/assets/codicons/codicon.ttf +0 -0
  8. package/assets/kolibri.ico +0 -0
  9. package/cheat-sheet.html +8 -8
  10. package/custom-elements.json +7 -7
  11. package/dist/cjs/color-40b15935.js +4 -0
  12. package/dist/cjs/color-40b15935.js.map +1 -0
  13. package/dist/cjs/{controller-ae0aa1fb.js → controller-073aa3b2.js} +1 -1
  14. package/dist/cjs/{controller-ae0aa1fb.js.map → controller-073aa3b2.js.map} +1 -1
  15. package/dist/cjs/{controller-34b64835.js → controller-272d14fd.js} +1 -1
  16. package/dist/cjs/{controller-34b64835.js.map → controller-272d14fd.js.map} +1 -1
  17. package/dist/cjs/{controller-6dbcc733.js → controller-46148a56.js} +1 -1
  18. package/dist/cjs/{controller-6dbcc733.js.map → controller-46148a56.js.map} +1 -1
  19. package/dist/cjs/{controller-a1c1ce64.js → controller-536f457e.js} +1 -1
  20. package/dist/cjs/controller-536f457e.js.map +1 -0
  21. package/dist/cjs/{controller-icon-295d3454.js → controller-icon-f01acf97.js} +1 -1
  22. package/dist/cjs/{controller-icon-295d3454.js.map → controller-icon-f01acf97.js.map} +1 -1
  23. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  25. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  27. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  28. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  31. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  33. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  34. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  35. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  37. package/dist/cjs/kol-button-wc_3.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-button-wc_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  41. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  43. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  45. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  47. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  49. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  93. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  95. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  97. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  99. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  101. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  103. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  107. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  109. package/dist/cjs/prop.validators-dd1f7878.js.map +1 -1
  110. package/dist/cjs/{validation-b38b683c.js → validation-55ae497d.js} +1 -1
  111. package/dist/cjs/{validation-b38b683c.js.map → validation-55ae497d.js.map} +1 -1
  112. package/dist/components/color.js +4 -0
  113. package/dist/components/color.js.map +1 -0
  114. package/dist/components/component.js +1 -1
  115. package/dist/components/component.js.map +1 -1
  116. package/dist/components/component10.js +1 -1
  117. package/dist/components/component10.js.map +1 -1
  118. package/dist/components/component11.js +1 -1
  119. package/dist/components/component11.js.map +1 -1
  120. package/dist/components/component12.js +1 -1
  121. package/dist/components/component12.js.map +1 -1
  122. package/dist/components/component13.js +1 -1
  123. package/dist/components/component13.js.map +1 -1
  124. package/dist/components/component14.js +1 -1
  125. package/dist/components/component14.js.map +1 -1
  126. package/dist/components/component15.js +1 -1
  127. package/dist/components/component15.js.map +1 -1
  128. package/dist/components/component4.js +1 -1
  129. package/dist/components/component4.js.map +1 -1
  130. package/dist/components/component6.js +1 -1
  131. package/dist/components/component6.js.map +1 -1
  132. package/dist/components/component7.js +1 -1
  133. package/dist/components/component7.js.map +1 -1
  134. package/dist/components/controller.js +1 -1
  135. package/dist/components/controller.js.map +1 -1
  136. package/dist/components/kol-abbr.js +1 -1
  137. package/dist/components/kol-abbr.js.map +1 -1
  138. package/dist/components/kol-accordion.js +1 -1
  139. package/dist/components/kol-accordion.js.map +1 -1
  140. package/dist/components/kol-breadcrumb.js +1 -1
  141. package/dist/components/kol-breadcrumb.js.map +1 -1
  142. package/dist/components/kol-button-group.js +1 -1
  143. package/dist/components/kol-button-group.js.map +1 -1
  144. package/dist/components/kol-button-link.js +1 -1
  145. package/dist/components/kol-button-link.js.map +1 -1
  146. package/dist/components/kol-card.js +1 -1
  147. package/dist/components/kol-card.js.map +1 -1
  148. package/dist/components/kol-details.js +1 -1
  149. package/dist/components/kol-details.js.map +1 -1
  150. package/dist/components/kol-heading.js +1 -1
  151. package/dist/components/kol-heading.js.map +1 -1
  152. package/dist/components/kol-input-checkbox.js +1 -1
  153. package/dist/components/kol-input-checkbox.js.map +1 -1
  154. package/dist/components/kol-input-color.js +1 -1
  155. package/dist/components/kol-input-color.js.map +1 -1
  156. package/dist/components/kol-input-date.js +1 -1
  157. package/dist/components/kol-input-date.js.map +1 -1
  158. package/dist/components/kol-input-email.js +1 -1
  159. package/dist/components/kol-input-email.js.map +1 -1
  160. package/dist/components/kol-input-file.js +1 -1
  161. package/dist/components/kol-input-file.js.map +1 -1
  162. package/dist/components/kol-input-password.js +1 -1
  163. package/dist/components/kol-input-password.js.map +1 -1
  164. package/dist/components/kol-input-range.js +1 -1
  165. package/dist/components/kol-input-range.js.map +1 -1
  166. package/dist/components/kol-input-text.js +1 -1
  167. package/dist/components/kol-input-text.js.map +1 -1
  168. package/dist/components/kol-kolibri.js +1 -1
  169. package/dist/components/kol-kolibri.js.map +1 -1
  170. package/dist/components/kol-link-button.js +1 -1
  171. package/dist/components/kol-link-button.js.map +1 -1
  172. package/dist/components/kol-link-group.js +1 -1
  173. package/dist/components/kol-link-group.js.map +1 -1
  174. package/dist/components/kol-logo.js +1 -1
  175. package/dist/components/kol-logo.js.map +1 -1
  176. package/dist/components/kol-modal.js +1 -1
  177. package/dist/components/kol-modal.js.map +1 -1
  178. package/dist/components/kol-nav.js +1 -1
  179. package/dist/components/kol-nav.js.map +1 -1
  180. package/dist/components/kol-progress.js +1 -1
  181. package/dist/components/kol-progress.js.map +1 -1
  182. package/dist/components/kol-quote.js +1 -1
  183. package/dist/components/kol-quote.js.map +1 -1
  184. package/dist/components/kol-skip-nav.js +1 -1
  185. package/dist/components/kol-skip-nav.js.map +1 -1
  186. package/dist/components/kol-span.js +1 -1
  187. package/dist/components/kol-span.js.map +1 -1
  188. package/dist/components/kol-spin.js +1 -1
  189. package/dist/components/kol-spin.js.map +1 -1
  190. package/dist/components/kol-table.js +1 -1
  191. package/dist/components/kol-table.js.map +1 -1
  192. package/dist/components/kol-tabs.js +1 -1
  193. package/dist/components/kol-tabs.js.map +1 -1
  194. package/dist/components/kol-textarea.js +1 -1
  195. package/dist/components/kol-textarea.js.map +1 -1
  196. package/dist/components/kol-toast.js +1 -1
  197. package/dist/components/kol-toast.js.map +1 -1
  198. package/dist/components/kol-version.js +1 -1
  199. package/dist/components/kol-version.js.map +1 -1
  200. package/dist/components/prop.validators.js.map +1 -1
  201. package/dist/components/shadow.js +1 -1
  202. package/dist/components/shadow.js.map +1 -1
  203. package/dist/components/shadow2.js +1 -1
  204. package/dist/components/shadow2.js.map +1 -1
  205. package/dist/esm/color-32939623.js +4 -0
  206. package/dist/esm/color-32939623.js.map +1 -0
  207. package/dist/esm/{controller-bc7e1fb9.js → controller-0f18a72b.js} +1 -1
  208. package/dist/esm/{controller-bc7e1fb9.js.map → controller-0f18a72b.js.map} +1 -1
  209. package/dist/esm/{controller-0bcb86ac.js → controller-22781e1d.js} +1 -1
  210. package/dist/esm/{controller-0bcb86ac.js.map → controller-22781e1d.js.map} +1 -1
  211. package/dist/esm/{controller-1827c5e4.js → controller-a9333e53.js} +1 -1
  212. package/dist/esm/{controller-1827c5e4.js.map → controller-a9333e53.js.map} +1 -1
  213. package/dist/esm/{controller-fd64aa81.js → controller-cbcb5b86.js} +1 -1
  214. package/dist/esm/controller-cbcb5b86.js.map +1 -0
  215. package/dist/esm/{controller-icon-b3feb2a8.js → controller-icon-8695323b.js} +1 -1
  216. package/dist/esm/{controller-icon-b3feb2a8.js.map → controller-icon-8695323b.js.map} +1 -1
  217. package/dist/esm/kol-abbr.entry.js +1 -1
  218. package/dist/esm/kol-abbr.entry.js.map +1 -1
  219. package/dist/esm/kol-accordion.entry.js +1 -1
  220. package/dist/esm/kol-accordion.entry.js.map +1 -1
  221. package/dist/esm/kol-alert.entry.js +1 -1
  222. package/dist/esm/kol-alert.entry.js.map +1 -1
  223. package/dist/esm/kol-badge.entry.js +1 -1
  224. package/dist/esm/kol-badge.entry.js.map +1 -1
  225. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  226. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  227. package/dist/esm/kol-button-group.entry.js +1 -1
  228. package/dist/esm/kol-button-group.entry.js.map +1 -1
  229. package/dist/esm/kol-button-link.entry.js +1 -1
  230. package/dist/esm/kol-button-link.entry.js.map +1 -1
  231. package/dist/esm/kol-button-wc_3.entry.js +1 -1
  232. package/dist/esm/kol-button-wc_3.entry.js.map +1 -1
  233. package/dist/esm/kol-button.entry.js +1 -1
  234. package/dist/esm/kol-button.entry.js.map +1 -1
  235. package/dist/esm/kol-card.entry.js +1 -1
  236. package/dist/esm/kol-card.entry.js.map +1 -1
  237. package/dist/esm/kol-details.entry.js +1 -1
  238. package/dist/esm/kol-details.entry.js.map +1 -1
  239. package/dist/esm/kol-heading.entry.js +1 -1
  240. package/dist/esm/kol-heading.entry.js.map +1 -1
  241. package/dist/esm/kol-indented-text.entry.js +1 -1
  242. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  243. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  244. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  245. package/dist/esm/kol-input-color.entry.js +1 -1
  246. package/dist/esm/kol-input-color.entry.js.map +1 -1
  247. package/dist/esm/kol-input-date.entry.js +1 -1
  248. package/dist/esm/kol-input-date.entry.js.map +1 -1
  249. package/dist/esm/kol-input-email.entry.js +1 -1
  250. package/dist/esm/kol-input-email.entry.js.map +1 -1
  251. package/dist/esm/kol-input-file.entry.js +1 -1
  252. package/dist/esm/kol-input-file.entry.js.map +1 -1
  253. package/dist/esm/kol-input-number.entry.js +1 -1
  254. package/dist/esm/kol-input-number.entry.js.map +1 -1
  255. package/dist/esm/kol-input-password.entry.js +1 -1
  256. package/dist/esm/kol-input-password.entry.js.map +1 -1
  257. package/dist/esm/kol-input-radio.entry.js +1 -1
  258. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  259. package/dist/esm/kol-input-range.entry.js +1 -1
  260. package/dist/esm/kol-input-range.entry.js.map +1 -1
  261. package/dist/esm/kol-input-text.entry.js +1 -1
  262. package/dist/esm/kol-input-text.entry.js.map +1 -1
  263. package/dist/esm/kol-kolibri.entry.js +1 -1
  264. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  265. package/dist/esm/kol-link-button.entry.js +1 -1
  266. package/dist/esm/kol-link-button.entry.js.map +1 -1
  267. package/dist/esm/kol-link-group.entry.js +1 -1
  268. package/dist/esm/kol-link-group.entry.js.map +1 -1
  269. package/dist/esm/kol-link.entry.js +1 -1
  270. package/dist/esm/kol-link.entry.js.map +1 -1
  271. package/dist/esm/kol-logo.entry.js +1 -1
  272. package/dist/esm/kol-logo.entry.js.map +1 -1
  273. package/dist/esm/kol-modal.entry.js +1 -1
  274. package/dist/esm/kol-modal.entry.js.map +1 -1
  275. package/dist/esm/kol-nav.entry.js +1 -1
  276. package/dist/esm/kol-nav.entry.js.map +1 -1
  277. package/dist/esm/kol-pagination.entry.js +1 -1
  278. package/dist/esm/kol-pagination.entry.js.map +1 -1
  279. package/dist/esm/kol-progress.entry.js +1 -1
  280. package/dist/esm/kol-progress.entry.js.map +1 -1
  281. package/dist/esm/kol-quote.entry.js +1 -1
  282. package/dist/esm/kol-quote.entry.js.map +1 -1
  283. package/dist/esm/kol-select.entry.js +1 -1
  284. package/dist/esm/kol-select.entry.js.map +1 -1
  285. package/dist/esm/kol-skip-nav.entry.js +1 -1
  286. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  287. package/dist/esm/kol-span.entry.js +1 -1
  288. package/dist/esm/kol-span.entry.js.map +1 -1
  289. package/dist/esm/kol-spin.entry.js +1 -1
  290. package/dist/esm/kol-spin.entry.js.map +1 -1
  291. package/dist/esm/kol-table.entry.js +1 -1
  292. package/dist/esm/kol-table.entry.js.map +1 -1
  293. package/dist/esm/kol-tabs.entry.js +1 -1
  294. package/dist/esm/kol-tabs.entry.js.map +1 -1
  295. package/dist/esm/kol-textarea.entry.js +1 -1
  296. package/dist/esm/kol-textarea.entry.js.map +1 -1
  297. package/dist/esm/kol-toast.entry.js +1 -1
  298. package/dist/esm/kol-toast.entry.js.map +1 -1
  299. package/dist/esm/kol-tooltip.entry.js +1 -1
  300. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  301. package/dist/esm/kol-version.entry.js +1 -1
  302. package/dist/esm/kol-version.entry.js.map +1 -1
  303. package/dist/esm/prop.validators-e402ad49.js.map +1 -1
  304. package/dist/esm/{validation-b331e3a7.js → validation-a42d9cc9.js} +1 -1
  305. package/dist/esm/{validation-b331e3a7.js.map → validation-a42d9cc9.js.map} +1 -1
  306. package/dist/kolibri/assets/bundes/style.css +4 -4
  307. package/dist/kolibri/assets/tabler-icons/tabler-icons.css +0 -1
  308. package/dist/kolibri/assets/tabler-icons/tabler-icons.min.css +1 -1
  309. package/dist/kolibri/color-32939623.js +4 -0
  310. package/dist/kolibri/color-32939623.js.map +1 -0
  311. package/dist/kolibri/{controller-bc7e1fb9.js → controller-0f18a72b.js} +1 -1
  312. package/dist/kolibri/controller-22781e1d.js +4 -0
  313. package/dist/kolibri/{controller-1827c5e4.js → controller-a9333e53.js} +1 -1
  314. package/dist/kolibri/controller-cbcb5b86.js +4 -0
  315. package/dist/kolibri/controller-cbcb5b86.js.map +1 -0
  316. package/dist/kolibri/{controller-icon-b3feb2a8.js → controller-icon-8695323b.js} +1 -1
  317. package/dist/kolibri/kol-abbr.entry.js +1 -1
  318. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  319. package/dist/kolibri/kol-accordion.entry.js +1 -1
  320. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  321. package/dist/kolibri/kol-alert.entry.js +1 -1
  322. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  323. package/dist/kolibri/kol-badge.entry.js +1 -1
  324. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  325. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  326. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  327. package/dist/kolibri/kol-button-group.entry.js +1 -1
  328. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  329. package/dist/kolibri/kol-button-link.entry.js +1 -1
  330. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  331. package/dist/kolibri/kol-button-wc_3.entry.js +1 -1
  332. package/dist/kolibri/kol-button-wc_3.entry.js.map +1 -1
  333. package/dist/kolibri/kol-button.entry.js +1 -1
  334. package/dist/kolibri/kol-button.entry.js.map +1 -1
  335. package/dist/kolibri/kol-card.entry.js +1 -1
  336. package/dist/kolibri/kol-card.entry.js.map +1 -1
  337. package/dist/kolibri/kol-details.entry.js +1 -1
  338. package/dist/kolibri/kol-details.entry.js.map +1 -1
  339. package/dist/kolibri/kol-heading.entry.js +1 -1
  340. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  341. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  342. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  343. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  344. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  345. package/dist/kolibri/kol-input-color.entry.js +1 -1
  346. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  347. package/dist/kolibri/kol-input-date.entry.js +1 -1
  348. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  349. package/dist/kolibri/kol-input-email.entry.js +1 -1
  350. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  351. package/dist/kolibri/kol-input-file.entry.js +1 -1
  352. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  353. package/dist/kolibri/kol-input-number.entry.js +1 -1
  354. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  355. package/dist/kolibri/kol-input-password.entry.js +1 -1
  356. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  357. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  358. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  359. package/dist/kolibri/kol-input-range.entry.js +1 -1
  360. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  361. package/dist/kolibri/kol-input-text.entry.js +1 -1
  362. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  363. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  364. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  365. package/dist/kolibri/kol-link-button.entry.js +1 -1
  366. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  367. package/dist/kolibri/kol-link-group.entry.js +1 -1
  368. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  369. package/dist/kolibri/kol-link.entry.js +1 -1
  370. package/dist/kolibri/kol-link.entry.js.map +1 -1
  371. package/dist/kolibri/kol-logo.entry.js +1 -1
  372. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  373. package/dist/kolibri/kol-modal.entry.js +1 -1
  374. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  375. package/dist/kolibri/kol-nav.entry.js +1 -1
  376. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  377. package/dist/kolibri/kol-pagination.entry.js +1 -1
  378. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  379. package/dist/kolibri/kol-progress.entry.js +1 -1
  380. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  381. package/dist/kolibri/kol-quote.entry.js +1 -1
  382. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  383. package/dist/kolibri/kol-select.entry.js +1 -1
  384. package/dist/kolibri/kol-select.entry.js.map +1 -1
  385. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  386. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  387. package/dist/kolibri/kol-span.entry.js +1 -1
  388. package/dist/kolibri/kol-span.entry.js.map +1 -1
  389. package/dist/kolibri/kol-spin.entry.js +1 -1
  390. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  391. package/dist/kolibri/kol-table.entry.js +1 -1
  392. package/dist/kolibri/kol-table.entry.js.map +1 -1
  393. package/dist/kolibri/kol-tabs.entry.js +1 -1
  394. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  395. package/dist/kolibri/kol-textarea.entry.js +1 -1
  396. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  397. package/dist/kolibri/kol-toast.entry.js +1 -1
  398. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  399. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  400. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  401. package/dist/kolibri/kol-version.entry.js +1 -1
  402. package/dist/kolibri/kol-version.entry.js.map +1 -1
  403. package/dist/kolibri/prop.validators-e402ad49.js.map +1 -1
  404. package/dist/kolibri/validation-a42d9cc9.js +4 -0
  405. package/dist/kolibri/{validation-b331e3a7.js.map → validation-a42d9cc9.js.map} +1 -1
  406. package/dist/types/components/badge/component.d.ts +5 -8
  407. package/dist/types/components/kolibri/component.d.ts +5 -3
  408. package/dist/types/components.d.ts +10 -8
  409. package/dist/types/types/props/color.d.ts +20 -0
  410. package/dist/types/utils/prop.validators.d.ts +1 -1
  411. package/doc/badge.md +2 -2
  412. package/doc/breadcrumb.md +1 -1
  413. package/doc/button.md +12 -21
  414. package/doc/icon-font-awesome.md +1 -1
  415. package/doc/icon-icofont.md +1 -1
  416. package/doc/icon.md +1 -1
  417. package/doc/kolibri.md +5 -5
  418. package/doc/nav.md +10 -10
  419. package/jest-test-results.json +1 -1
  420. package/package.json +3 -2
  421. package/vscode-custom-data.json +12 -12
  422. package/dist/cjs/controller-a1c1ce64.js.map +0 -1
  423. package/dist/cjs/index-1266b30d.js +0 -4
  424. package/dist/cjs/index-1266b30d.js.map +0 -1
  425. package/dist/components/index2.js +0 -4
  426. package/dist/components/index2.js.map +0 -1
  427. package/dist/esm/controller-fd64aa81.js.map +0 -1
  428. package/dist/esm/index-d14da386.js +0 -4
  429. package/dist/esm/index-d14da386.js.map +0 -1
  430. package/dist/kolibri/controller-0bcb86ac.js +0 -4
  431. package/dist/kolibri/controller-fd64aa81.js +0 -4
  432. package/dist/kolibri/controller-fd64aa81.js.map +0 -1
  433. package/dist/kolibri/index-d14da386.js +0 -4
  434. package/dist/kolibri/index-d14da386.js.map +0 -1
  435. package/dist/kolibri/validation-b331e3a7.js +0 -4
  436. package/dist/types/core/declare.d.ts +0 -10
  437. /package/dist/kolibri/{controller-bc7e1fb9.js.map → controller-0f18a72b.js.map} +0 -0
  438. /package/dist/kolibri/{controller-0bcb86ac.js.map → controller-22781e1d.js.map} +0 -0
  439. /package/dist/kolibri/{controller-1827c5e4.js.map → controller-a9333e53.js.map} +0 -0
  440. /package/dist/kolibri/{controller-icon-b3feb2a8.js.map → controller-icon-8695323b.js.map} +0 -0
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{r as e,c as r,a}from"./prop.validators-e402ad49.js";import{d as t,a as o}from"./a11y.tipps-1cea9822.js";var n={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},l=s,i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function s(e){var r,o,a=[],t=1;if("string"==typeof e)if(n[e])a=n[e].slice(),o="rgb";else if("transparent"===e)t=0,o="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var l=e.slice(1);t=1,(u=l.length)<=4?(a=[parseInt(l[0]+l[0],16),parseInt(l[1]+l[1],16),parseInt(l[2]+l[2],16)],4===u&&(t=parseInt(l[3]+l[3],16)/255)):(a=[parseInt(l[0]+l[1],16),parseInt(l[2]+l[3],16),parseInt(l[4]+l[5],16)],8===u&&(t=parseInt(l[6]+l[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),o="rgb"}else if(r=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(e)){var s=r[1],g="rgb"===s;o=l=s.replace(/a$/,"");var u="cmyk"===l?4:"gray"===l?1:3;a=r[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(e,r){if(/%$/.test(e))return r===u?parseFloat(e)/100:"rgb"===l?255*parseFloat(e)/100:parseFloat(e);if("h"===l[r]){if(/deg$/.test(e))return parseFloat(e);if(void 0!==i[e])return i[e]}return parseFloat(e)})),s===l&&a.push(1),t=g||void 0===a[u]?1:a[u],a=a.slice(0,u)}else e.length>10&&/[0-9](?:\s|\/)/.test(e)&&(a=e.match(/([0-9]+)/g).map((function(e){return parseFloat(e)})),o=e.match(/([a-z])/gi).join("").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(a=[e[0],e[1],e[2]],o="rgb",t=4===e.length?e[3]:1):e instanceof Object&&(null!=e.r||null!=e.red||null!=e.R?(o="rgb",a=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(o="hsl",a=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),t=e.a||e.alpha||e.opacity||1,null!=e.opacity&&(t/=100)):(o="rgb",a=[e>>>16,(65280&e)>>>8,255&e]);return{space:o,values:a,alpha:t}}var g=function(e){var r;Array.isArray(e)&&e.raw&&(e=String.raw.apply(null,arguments));var o=l(e);if(!o.space)return[];var a=[0,0,0],t="h"===o.space[0]?[360,100,100]:[255,255,255];return(r=Array(3))[0]=Math.min(Math.max(o.values[0],a[0]),t[0]),r[1]=Math.min(Math.max(o.values[1],a[1]),t[1]),r[2]=Math.min(Math.max(o.values[2],a[2]),t[2]),"h"===o.space[0]&&(r=u(r)),r.push(Math.min(Math.max(o.alpha,0),1)),r};function u(e){var r,o,a,t,n,l=e[0]/360,i=e[1]/100,s=e[2]/100,g=0;if(0===i)return[n=255*s,n,n];for(r=2*s-(o=s<.5?s*(1+i):s+i-s*i),t=[0,0,0];g<3;)(a=l+1/3*-(g-1))<0?a++:a>1&&a--,n=6*a<1?r+6*(o-r)*a:2*a<1?o:3*a<2?r+(o-r)*(2/3-a)*6:r,t[g++]=255*n;return t}const d=(e,r,o)=>(299*e+587*r+114*o)/1e3>=128?-1:1,f=(o,a,t,n=1)=>{const l=[Math.max(Math.min(Math.round(a[0]+n*Math.max(1,a[0]/100)),255),0),Math.max(Math.min(Math.round(a[1]+n*Math.max(1,a[1]/100)),255),0),Math.max(Math.min(Math.round(a[2]+n*Math.max(1,a[2]/100)),255),0)],i=r(e.hex(`rgba(${o.join(",")},1)`),e.hex(`rgba(${l.join(",")},1)`)),s=l[0]+l[1]+l[2];return 0===s||765===s||i>t?{background:o,foreground:l,contrast:i}:f(o,l,t,n)},c=new Map,p=(e,r,o,a=1)=>{if(c.has(e))return c.get(e);const t=f(e,r,o,a);return c.set(e,t),t},h=(r,o=7)=>{let a=[0,0,0,1],t=[255,255,255,1];"string"==typeof r?(a=g(r),t=a):"object"==typeof r&&null!==r&&"string"==typeof r.background&&"string"==typeof r.foreground&&(a=g(r.background),t="string"==typeof r.foreground?g(r.foreground):a);const n=d(a[0],a[1],a[2]),l=p([a[0],a[1],a[2]],[t[0],t[1],t[2]],o,n);return t=[...l.foreground,1],{background:e.hex(`rgba(${a.join(",")})`),foreground:e.hex(`rgba(${t.join(",")})`),contrast:l.contrast}},y=(e,r,o)=>{a(e,"_color",(e=>{const r=e,o=e;return"string"==typeof e||"object"==typeof r&&null!==r&&"string"==typeof r.backgroundColor&&"string"==typeof r.foregroundColor||"object"==typeof r&&null!==r&&"string"==typeof r.backgroundColor&&"object"==typeof r.foregroundColor&&null!==r.foregroundColor&&"string"==typeof r.foregroundColor.primary&&"string"==typeof r.foregroundColor.secondary&&"string"==typeof r.foregroundColor.neutral||"object"==typeof o&&null!==o&&"string"==typeof o.backgroundColor&&"string"==typeof o.color}),new Set(["PropColor"]),r,o)},b=/^([a-f0-9]{3}|[a-f0-9]{6})$/,m=e=>{let r=e;const a=e,n=e;let l;return"string"==typeof r?(b.test(r)&&(t("[Color] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),r=`#${r}`),l=h(r)):"string"==typeof a.foregroundColor?l=h({background:a.backgroundColor,foreground:a.foregroundColor}):"string"==typeof n.color?(l=h({background:n.backgroundColor,foreground:n.color}),t("[KolBadge] The property `color` of PropColor is deprecated. Please us `foreground` instead.")):(l=h({background:a.backgroundColor,foreground:a.foregroundColor.primary}),t("[KolBadge] You used the color schema with characteristic colors (primary, secondary, neutral). For the badge use only the primary color.")),l.contrast<7&&o(`[KolBadge] The contrast of ${l.contrast} (≥7, AAA) is too low, between the color pair ${l.background} and ${l.foreground}.`),{backgroundColor:l.background,foregroundColor:l.foreground}};export{g as c,m as h,y as v};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["colorName","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","colorParse","parse","baseHues","cstr","m","parts","alpha","space","names","slice","test","base","size","length","isShort","parseInt","exec","name","isRGB","replace","trim","split","map","x","i","parseFloat","undefined","push","match","value","join","toLowerCase","isNaN","Array","isArray","Object","r","R","g","G","b","B","h","hue","H","s","saturation","S","l","lightness","L","brightness","a","opacity","values","rgba","color","raw","String","apply","arguments","parsed","min","max","Math","hsl2rgb","hsl","t1","t2","t3","rgb","val","getContrastYIQ","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","round","contrast","hex","rgbaConvert","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","validateColor","component","options","watchValidator","asString","asColorPair","asDeprecatedColorPair","backgroundColor","foregroundColor","primary","secondary","neutral","Set","HACK_REG_EX","handleColorChange","devHint","a11yHint"],"sources":["./node_modules/color-name/index.js","./node_modules/color-parse/index.js","./node_modules/color-rgba/index.js","./src/components/badge/contrast.ts","./src/types/props/color.ts"],"sourcesContent":["'use strict'\r\n\r\nmodule.exports = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\r\n","/**\r\n * @module color-parse\r\n */\r\n\r\n'use strict'\r\n\r\nvar names = require('color-name')\r\n\r\nmodule.exports = parse\r\n\r\n/**\r\n * Base hues\r\n * http://dev.w3.org/csswg/css-color/#typedef-named-hue\r\n */\r\n//FIXME: use external hue detector\r\nvar baseHues = {\r\n\tred: 0,\r\n\torange: 60,\r\n\tyellow: 120,\r\n\tgreen: 180,\r\n\tblue: 240,\r\n\tpurple: 300\r\n}\r\n\r\n/**\r\n * Parse color from the string passed\r\n *\r\n * @return {Object} A space indicator `space`, an array `values` and `alpha`\r\n */\r\nfunction parse (cstr) {\r\n\tvar m, parts = [], alpha = 1, space\r\n\r\n\tif (typeof cstr === 'string') {\r\n\t\t//keyword\r\n\t\tif (names[cstr]) {\r\n\t\t\tparts = names[cstr].slice()\r\n\t\t\tspace = 'rgb'\r\n\t\t}\r\n\r\n\t\t//reserved words\r\n\t\telse if (cstr === 'transparent') {\r\n\t\t\talpha = 0\r\n\t\t\tspace = 'rgb'\r\n\t\t\tparts = [0,0,0]\r\n\t\t}\r\n\r\n\t\t//hex\r\n\t\telse if (/^#[A-Fa-f0-9]+$/.test(cstr)) {\r\n\t\t\tvar base = cstr.slice(1)\r\n\t\t\tvar size = base.length\r\n\t\t\tvar isShort = size <= 4\r\n\t\t\talpha = 1\r\n\r\n\t\t\tif (isShort) {\r\n\t\t\t\tparts = [\r\n\t\t\t\t\tparseInt(base[0] + base[0], 16),\r\n\t\t\t\t\tparseInt(base[1] + base[1], 16),\r\n\t\t\t\t\tparseInt(base[2] + base[2], 16)\r\n\t\t\t\t]\r\n\t\t\t\tif (size === 4) {\r\n\t\t\t\t\talpha = parseInt(base[3] + base[3], 16) / 255\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparts = [\r\n\t\t\t\t\tparseInt(base[0] + base[1], 16),\r\n\t\t\t\t\tparseInt(base[2] + base[3], 16),\r\n\t\t\t\t\tparseInt(base[4] + base[5], 16)\r\n\t\t\t\t]\r\n\t\t\t\tif (size === 8) {\r\n\t\t\t\t\talpha = parseInt(base[6] + base[7], 16) / 255\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!parts[0]) parts[0] = 0\r\n\t\t\tif (!parts[1]) parts[1] = 0\r\n\t\t\tif (!parts[2]) parts[2] = 0\r\n\r\n\t\t\tspace = 'rgb'\r\n\t\t}\r\n\r\n\t\t//color space\r\n\t\telse if (m = /^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(cstr)) {\r\n\t\t\tvar name = m[1]\r\n\t\t\tvar isRGB = name === 'rgb'\r\n\t\t\tvar base = name.replace(/a$/, '')\r\n\t\t\tspace = base\r\n\t\t\tvar size = base === 'cmyk' ? 4 : base === 'gray' ? 1 : 3\r\n\t\t\tparts = m[2].trim()\r\n\t\t\t\t.split(/\\s*[,\\/]\\s*|\\s+/)\r\n\t\t\t\t.map(function (x, i) {\r\n\t\t\t\t\t//<percentage>\r\n\t\t\t\t\tif (/%$/.test(x)) {\r\n\t\t\t\t\t\t//alpha\r\n\t\t\t\t\t\tif (i === size)\treturn parseFloat(x) / 100\r\n\t\t\t\t\t\t//rgb\r\n\t\t\t\t\t\tif (base === 'rgb') return parseFloat(x) * 255 / 100\r\n\t\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//hue\r\n\t\t\t\t\telse if (base[i] === 'h') {\r\n\t\t\t\t\t\t//<deg>\r\n\t\t\t\t\t\tif (/deg$/.test(x)) {\r\n\t\t\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//<base-hue>\r\n\t\t\t\t\t\telse if (baseHues[x] !== undefined) {\r\n\t\t\t\t\t\t\treturn baseHues[x]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn parseFloat(x)\r\n\t\t\t\t})\r\n\r\n\t\t\tif (name === base) parts.push(1)\r\n\t\t\talpha = (isRGB) ? 1 : (parts[size] === undefined) ? 1 : parts[size]\r\n\t\t\tparts = parts.slice(0, size)\r\n\t\t}\r\n\r\n\t\t//named channels case\r\n\t\telse if (cstr.length > 10 && /[0-9](?:\\s|\\/)/.test(cstr)) {\r\n\t\t\tparts = cstr.match(/([0-9]+)/g).map(function (value) {\r\n\t\t\t\treturn parseFloat(value)\r\n\t\t\t})\r\n\r\n\t\t\tspace = cstr.match(/([a-z])/ig).join('').toLowerCase()\r\n\t\t}\r\n\t}\r\n\r\n\t//numeric case\r\n\telse if (!isNaN(cstr)) {\r\n\t\tspace = 'rgb'\r\n\t\tparts = [cstr >>> 16, (cstr & 0x00ff00) >>> 8, cstr & 0x0000ff]\r\n\t}\r\n\r\n\t//array-like\r\n\telse if (Array.isArray(cstr) || cstr.length) {\r\n\t\tparts = [cstr[0], cstr[1], cstr[2]]\r\n\t\tspace = 'rgb'\r\n\t\talpha = cstr.length === 4 ? cstr[3] : 1\r\n\t}\r\n\r\n\t//object case - detects css cases of rgb and hsl\r\n\telse if (cstr instanceof Object) {\r\n\t\tif (cstr.r != null || cstr.red != null || cstr.R != null) {\r\n\t\t\tspace = 'rgb'\r\n\t\t\tparts = [\r\n\t\t\t\tcstr.r || cstr.red || cstr.R || 0,\r\n\t\t\t\tcstr.g || cstr.green || cstr.G || 0,\r\n\t\t\t\tcstr.b || cstr.blue || cstr.B || 0\r\n\t\t\t]\r\n\t\t}\r\n\t\telse {\r\n\t\t\tspace = 'hsl'\r\n\t\t\tparts = [\r\n\t\t\t\tcstr.h || cstr.hue || cstr.H || 0,\r\n\t\t\t\tcstr.s || cstr.saturation || cstr.S || 0,\r\n\t\t\t\tcstr.l || cstr.lightness || cstr.L || cstr.b || cstr.brightness\r\n\t\t\t]\r\n\t\t}\r\n\r\n\t\talpha = cstr.a || cstr.alpha || cstr.opacity || 1\r\n\r\n\t\tif (cstr.opacity != null) alpha /= 100\r\n\t}\r\n\r\n\treturn {\r\n\t\tspace: space,\r\n\t\tvalues: parts,\r\n\t\talpha: alpha\r\n\t}\r\n}\r\n","/** @module color-rgba */\r\n\r\n'use strict'\r\n\r\nvar parse = require('color-parse')\r\n\r\nmodule.exports = function rgba (color) {\r\n\t// template literals\r\n\tif (Array.isArray(color) && color.raw) color = String.raw.apply(null, arguments)\r\n\r\n\tvar values, i, l\r\n\r\n\t//attempt to parse non-array arguments\r\n\tvar parsed = parse(color)\r\n\r\n\tif (!parsed.space) return []\r\n\r\n\tvar min = [0,0,0], max = parsed.space[0] === 'h' ? [360,100,100] : [255,255,255]\r\n\r\n\tvalues = Array(3)\r\n\tvalues[0] = Math.min(Math.max(parsed.values[0], min[0]), max[0])\r\n\tvalues[1] = Math.min(Math.max(parsed.values[1], min[1]), max[1])\r\n\tvalues[2] = Math.min(Math.max(parsed.values[2], min[2]), max[2])\r\n\r\n\tif (parsed.space[0] === 'h') values = hsl2rgb(values)\r\n\r\n\tvalues.push(Math.min(Math.max(parsed.alpha, 0), 1))\r\n\r\n\treturn values\r\n}\r\n\r\n\r\n// excerpt from color-space/hsl\r\nfunction hsl2rgb(hsl) {\r\n\tvar h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;\r\n\r\n\tif (s === 0) return val = l * 255, [val, val, val];\r\n\r\n\tt2 = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n\tt1 = 2 * l - t2;\r\n\r\n\trgb = [0, 0, 0];\r\n\tfor (;i<3;) {\r\n\t\tt3 = h + 1 / 3 * - (i - 1);\r\n\t\tt3 < 0 ? t3++ : t3 > 1 && t3--;\r\n\t\tval = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :\r\n\t\t2 * t3 < 1 ? t2 :\r\n\t\t3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :\r\n\t\tt1;\r\n\t\trgb[i++] = val * 255;\r\n\t}\r\n\r\n\treturn rgb;\r\n}\r\n","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 { Generic } from '@a11y-ui/core';\nimport { WatchOptions, watchValidator } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\nimport { ColorContrast, createContrastColorPair } from '../../components/badge/contrast';\nimport { a11yHint, devHint } from '../../utils/a11y.tipps';\n\n/* types */\ntype CharacteristicColors = {\n\tprimary: string;\n\tsecondary: string;\n\tneutral: string;\n};\n\nexport type ColorPair = {\n\tbackgroundColor: string;\n\tforegroundColor: Stringified<CharacteristicColors>;\n};\n\n/**\n * @deprecated\n */\ntype DeprecatedColorPair = {\n\tbackgroundColor: string;\n\t/**\n\t * @deprecated Please use `foregroundColor` instead of `color`.\n\t */\n\tcolor: string;\n};\n\nexport type PropColor = ColorPair | DeprecatedColorPair;\n\n/* validator */\nexport const validateColor = (component: Generic.Element.Component, value?: Stringified<PropColor>, options?: WatchOptions): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\t'_color',\n\t\t(value) => {\n\t\t\tconst asString = value;\n\t\t\tconst asColorPair = value as ColorPair;\n\t\t\tconst asDeprecatedColorPair = value as DeprecatedColorPair;\n\t\t\treturn (\n\t\t\t\ttypeof asString === 'string' ||\n\t\t\t\t(typeof asColorPair === 'object' &&\n\t\t\t\t\tasColorPair !== null &&\n\t\t\t\t\ttypeof asColorPair.backgroundColor === 'string' &&\n\t\t\t\t\ttypeof asColorPair.foregroundColor === 'string') ||\n\t\t\t\t(typeof asColorPair === 'object' &&\n\t\t\t\t\tasColorPair !== null &&\n\t\t\t\t\ttypeof asColorPair.backgroundColor === 'string' &&\n\t\t\t\t\ttypeof asColorPair.foregroundColor === 'object' &&\n\t\t\t\t\tasColorPair.foregroundColor !== null &&\n\t\t\t\t\ttypeof asColorPair.foregroundColor.primary === 'string' &&\n\t\t\t\t\ttypeof asColorPair.foregroundColor.secondary === 'string' &&\n\t\t\t\t\ttypeof asColorPair.foregroundColor.neutral === 'string') ||\n\t\t\t\t(typeof asDeprecatedColorPair === 'object' &&\n\t\t\t\t\tasDeprecatedColorPair !== null &&\n\t\t\t\t\ttypeof asDeprecatedColorPair.backgroundColor === 'string' &&\n\t\t\t\t\ttypeof asDeprecatedColorPair.color === 'string')\n\t\t\t);\n\t\t},\n\t\tnew Set(['PropColor']),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nconst HACK_REG_EX = /^([a-f0-9]{3}|[a-f0-9]{6})$/;\n\nexport const handleColorChange = (value: unknown): ColorPair => {\n\tlet asString = value as string;\n\tconst asColorPair = value as ColorPair;\n\tconst asDeprecatedColorPair = value as DeprecatedColorPair;\n\tlet colorContrast: ColorContrast<string>;\n\tif (typeof asString === 'string') {\n\t\tif (HACK_REG_EX.test(asString)) {\n\t\t\t// Catch Breaking Change - remove next Major\n\t\t\tdevHint(`[Color] 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\tasString = `#${asString}`;\n\t\t}\n\t\tcolorContrast = createContrastColorPair(asString);\n\t} else if (typeof asColorPair.foregroundColor === 'string') {\n\t\tcolorContrast = createContrastColorPair({\n\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\tforeground: asColorPair.foregroundColor,\n\t\t});\n\t} else if (typeof asDeprecatedColorPair.color === 'string') {\n\t\tcolorContrast = createContrastColorPair({\n\t\t\tbackground: asDeprecatedColorPair.backgroundColor,\n\t\t\tforeground: asDeprecatedColorPair.color,\n\t\t});\n\t\tdevHint(`[KolBadge] The property \\`color\\` of PropColor is deprecated. Please us \\`foreground\\` instead.`);\n\t} else {\n\t\tcolorContrast = createContrastColorPair({\n\t\t\tbackground: asColorPair.backgroundColor,\n\t\t\tforeground: asColorPair.foregroundColor.primary,\n\t\t});\n\t\tdevHint(`[KolBadge] You used the color schema with characteristic colors (primary, secondary, neutral). For the badge use only the primary color.`);\n\t}\n\tif (colorContrast.contrast < 7) {\n\t\ta11yHint(\n\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);\n\t}\n\treturn {\n\t\tbackgroundColor: colorContrast.background,\n\t\tforegroundColor: colorContrast.foreground,\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{d as t}from"./a11y.tipps-1cea9822.js";import{a as e,b as i,e as s,w as a}from"./prop.validators-e402ad49.js";import{I as h}from"./controller-icon-b3feb2a8.js";class r extends h{constructor(e,a,n){super(e,a,n),this.handleHiddenLabelAndRequired=()=>{!0===this.component.state._hideLabel&&!0===this.component.state._required?(t("[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist."),this.hideLabel=!1):this.hideLabel=!0===this.component.state._hideLabel},this.component=e}validateAutoComplete(t){e(this.component,"_autoComplete",(e=>"string"==typeof e&&("on"===e||"off"===e)),new Set(["on | off"]),t)}validateHideLabel(e){i(this.component,"_hideLabel",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateMaxLength(e){s(this.component,"_maxLength",e,{min:0})}validatePattern(e){a(this.component,"_pattern",e)}validatePlaceholder(e){a(this.component,"_placeholder",e)}validateReadOnly(e){i(this.component,"_readOnly",e)}validateRequired(e){i(this.component,"_required",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateSize(e){s(this.component,"_size",e,{min:1})}validateValue(e){a(this.component,"_value",e)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(e){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(e)}onFocus(e){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(e)}}export{r as I};
4
+ import{d as t}from"./a11y.tipps-1cea9822.js";import{a as e,b as i,e as s,w as a}from"./prop.validators-e402ad49.js";import{I as h}from"./controller-icon-8695323b.js";class r extends h{constructor(e,a,n){super(e,a,n),this.handleHiddenLabelAndRequired=()=>{!0===this.component.state._hideLabel&&!0===this.component.state._required?(t("[KolInput*] Wenn man das Label ausblendet, dann kann der sehende Nutzer:in nicht mehr erkennen, ob die Eingabe erforderlich ist."),this.hideLabel=!1):this.hideLabel=!0===this.component.state._hideLabel},this.component=e}validateAutoComplete(t){e(this.component,"_autoComplete",(e=>"string"==typeof e&&("on"===e||"off"===e)),new Set(["on | off"]),t)}validateHideLabel(e){i(this.component,"_hideLabel",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateMaxLength(e){s(this.component,"_maxLength",e,{min:0})}validatePattern(e){a(this.component,"_pattern",e)}validatePlaceholder(e){a(this.component,"_placeholder",e)}validateReadOnly(e){i(this.component,"_readOnly",e)}validateRequired(e){i(this.component,"_required",e,{hooks:{afterPatch:this.handleHiddenLabelAndRequired}})}validateSize(e){s(this.component,"_size",e,{min:1})}validateValue(e){a(this.component,"_value",e)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMaxLength(this.component._maxLength),this.validatePattern(this.component._pattern),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateSize(this.component._size),this.validateValue(this.component._value)}onBlur(e){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(e)}onFocus(e){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(e)}}export{r as I};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{a as t,d as s}from"./prop.validators-e402ad49.js";import{I as e}from"./controller-0f18a72b.js";class r extends e{constructor(t,s,e){super(t,s,e),this.component=t}validateList(t){s(this.component,"_list",(t=>"string"==typeof t),t)}componentWillLoad(){super.componentWillLoad(),this.validateList(this.component._list)}}class a extends r{constructor(t,s,e){super(t,s,e),this.hasError=!1,this.hasList=!1,this.component=t}validateType(s){t(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),s)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type)}}export{r as I,a};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{a as t,d as s,m as i,s as e,b as a}from"./prop.validators-e402ad49.js";import{S as o}from"./reuse-3a02afb9.js";import{I as r}from"./controller-fd64aa81.js";const h=(t,e,o="")=>{e.forEach(((e,a)=>{const i=`${o}-${a}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?h(t,e.options,i):t.set(i,e))}))};class l extends r{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){a(this.component,"_required",t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class n extends l{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchListValue=(t,e)=>{const o=e.has("_list")?e.get("_list"):this.component.state._list;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),h(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(e){t(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),e,{defaultValue:"vertical"})}validateList(t){s(this.component,"_list",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),t,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,e(this.component,"_value",t,{beforePatch:this.beforePatchListValue}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(o)}))}},this.validateOrientation(this.component._orientation),this.validateList(this.component._list),this.validateValue(this.component._value)}}export{l as I,n as a,h as f};
4
+ import{a as t,d as s,m as i,s as e,b as a}from"./prop.validators-e402ad49.js";import{S as o}from"./reuse-3a02afb9.js";import{I as r}from"./controller-cbcb5b86.js";const h=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?h(t,e.options,a):t.set(a,e))}))};class l extends r{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){a(this.component,"_required",t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class n extends l{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchListValue=(t,e)=>{const o=e.has("_list")?e.get("_list"):this.component.state._list;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),h(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(e){t(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),e,{defaultValue:"vertical"})}validateList(t){s(this.component,"_list",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),t,void 0,{hooks:{beforePatch:this.beforePatchListValue}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,e(this.component,"_value",t,{beforePatch:this.beforePatchListValue}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(o)}))}},this.validateOrientation(this.component._orientation),this.validateList(this.component._list),this.validateValue(this.component._value)}}export{l as I,n as a,h as f};
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{e as i,d as t}from"./a11y.tipps-1cea9822.js";import{b as s,w as e,s as h,o as n,p as o}from"./prop.validators-e402ad49.js";import{v as a}from"./tab-index-63d1379d.js";import{b as d}from"./dev.utils-157f0499.js";const r=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDiscribedBy:n}},l=d();class u{constructor(t,e,o){var n,i,s,a,h;if(this.syncFormAssociatedName=()=>{var t;l&&(null===(t=this.formAssociated)||void 0===t||t.setAttribute("name",this.component.state._name||this.component.state._id))},this.setFormAssociatedValue=(t=null)=>{var e;l&&(null===(e=this.formAssociated)||void 0===e||e.setAttribute("value",t))},this.component=t,this.name=e,this.host=o,l){this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden");const t=(null===(n=this.host)||void 0===n?void 0:n.children)||[];for(let e=0;e<t.length;e++)"INPUT"===(null===(i=this.host)||void 0===i?void 0:i.children[e].tagName)&&(null===(s=this.host)||void 0===s||s.removeChild(null===(a=this.host)||void 0===a?void 0:a.children[e]));null===(h=this.host)||void 0===h||h.appendChild(this.formAssociated)}}validateAlert(t){s(this.component,"_alert",t)}validateTouched(t){s(this.component,"_touched",t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class v extends u{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){e(this.component,"_accessKey",t)}validateAdjustHeight(t){s(this.component,"_adjustHeight",t)}validateDisabled(t){s(this.component,"_disabled",t),!0===t&&i()}validateError(t){e(this.component,"_error",t)}validateHideLabel(t){s(this.component,"_hideLabel",t)}validateHint(t){e(this.component,"_hint",t)}validateId(o){e(this.component,"_id",o,{hooks:{afterPatch:this.syncFormAssociatedName},minLength:1}),""!==o&&void 0!==o||t("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateName(o){e(this.component,"_name",o,{hooks:{afterPatch:this.syncFormAssociatedName}}),void 0===o&&t("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&h(this.component,"_on",t)}validateSmartButton(t){n(t,(()=>{try{t=o(t)}catch(t){}h(this.component,"_smartButton",t)}))}validateTabIndex(t){a(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex),this.syncFormAssociatedName()}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;this.setFormAssociatedValue(o),this.valueChangeListeners.forEach((t=>t(o))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}onClick(t){var e;"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{v as I,r as g};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDiscribedBy","push","_id","EXPERIMENTAL_MODE","getExperimalMode","ControlledInputController","constructor","component","name","host","this","syncFormAssociatedName","_a","formAssociated","setAttribute","_name","setFormAssociatedValue","value","document","createElement","children","i","_b","tagName","_c","removeChild","_d","_e","appendChild","validateAlert","watchBoolean","validateTouched","componentWillLoad","_alert","InputController","super","hideLabel","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateAdjustHeight","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","validateHint","validateId","hooks","afterPatch","minLength","devHint","validateName","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","e","validateTabIndex","_accessKey","_adjustHeight","_disabled","_hideLabel","_smartButton","_on","_tabIndex","event","target","forEach","listener","setValue","addValueChangeListener"],"sources":["./src/components/input/controller.ts","./src/components/input-adapter-leanup/controller.ts","./src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDiscribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDiscribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDiscribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDiscribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDiscribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\nimport { getExperimalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\tconst children = this.host?.children || [];\n\t\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\t\tif (this.host?.children[i].tagName === 'INPUT') {\n\t\t\t\t\tthis.host?.removeChild(this.host?.children[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected readonly syncFormAssociatedName = () => {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.formAssociated?.setAttribute('name', (this.component.state._name as string) || (this.component.state._id as string));\n\t\t}\n\t};\n\n\tpublic readonly setFormAssociatedValue = (value: string | null = null) => {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.formAssociated?.setAttribute('value', value as string);\n\t\t}\n\t};\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\twatchBoolean(this.component, '_touched', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\twatchBoolean(this.component, '_adjustHeight', value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.syncFormAssociatedName,\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: this.syncFormAssociatedName,\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t\tthis.syncFormAssociatedName();\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{o,p as t,a as s}from"./prop.validators-e402ad49.js";import{b as r}from"./reuse-3a02afb9.js";import{i}from"./icon-00018c54.js";import{I as a}from"./controller-fd64aa81.js";const e=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class c extends a{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(c){o(c,(()=>{try{c=t(c)}catch(o){}s(this.component,"_icon",(o=>"object"==typeof o&&null!==o&&(r(o.left,1)||i(o.left)||r(o.right,1)||i(o.right))),new Set(["KoliBriHorizontalIcon"]),c,{hooks:{beforePatch:e},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{c as I};
4
+ import{o,p as t,a as s}from"./prop.validators-e402ad49.js";import{b as r}from"./reuse-3a02afb9.js";import{i}from"./icon-00018c54.js";import{I as c}from"./controller-cbcb5b86.js";const e=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class a extends c{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(c){o(c,(()=>{try{c=t(c)}catch(o){}s(this.component,"_icon",(o=>"object"==typeof o&&null!==o&&(r(o.left,1)||i(o.left)||r(o.right,1)||i(o.right))),new Set(["KoliBriHorizontalIcon"]),c,{hooks:{beforePatch:e},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{a as I};
@@ -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 e}from"./index-50adf9a0.js";import{w as n}from"./button-link-0f3cba87.js";import{n as o}from"./dev.utils-157f0499.js";import{w as a}from"./prop.validators-e402ad49.js";import"./reuse-3a02afb9.js";import"./a11y.tipps-1cea9822.js";import"./index-81bd9b41.js";const p=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>abbr{cursor:help}",s=class{constructor(i){t(this,i),this.nonce=o(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"…",_tooltipAlign:"top"}}render(){return i(e,null,i("abbr",{"aria-labelledby":this.nonce,role:"definition",title:this.state._title},i("span",{title:""},i("slot",null))),i("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(t){a(this,"_title",t,{required:!0})}validateTooltipAlign(t){n(this,"_tooltipAlign",t)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};s.style={default:p};export{s as kol_abbr};
4
+ import{r as t,h as i,H as o}from"./index-50adf9a0.js";import{w as e}from"./button-link-0f3cba87.js";import{n as a}from"./dev.utils-157f0499.js";import{w as n}from"./prop.validators-e402ad49.js";import"./reuse-3a02afb9.js";import"./a11y.tipps-1cea9822.js";import"./index-81bd9b41.js";const s=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']){min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>abbr{cursor:help}",r=class{constructor(i){t(this,i),this.nonce=a(),this._tooltipAlign="top",this._title=void 0,this.state={_title:"…",_tooltipAlign:"top"}}render(){return i(o,null,i("abbr",{"aria-labelledby":this.nonce,role:"definition",title:this.state._title},i("span",{title:""},i("slot",null))),i("kol-tooltip",{_align:this.state._tooltipAlign,_id:this.nonce,_label:this.state._title}))}validateTitle(t){n(this,"_title",t,{required:!0})}validateTooltipAlign(t){e(this,"_tooltipAlign",t)}componentWillLoad(){this.validateTitle(this._title),this.validateTooltipAlign(this._tooltipAlign)}static get watchers(){return{_title:["validateTitle"],_tooltipAlign:["validateTooltipAlign"]}}};r.style={default:s};export{r as kol_abbr};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolAbbr","this","nonce","_title","_tooltipAlign","render","h","Host","role","title","state","_align","_id","_label","validateTitle","value","watchString","required","validateTooltipAlign","watchTooltipAlignment","componentWillLoad"],"sources":["./src/components/abbr/style.css?tag=kol-abbr&mode=default&encapsulation=shadow","./src/components/abbr/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > abbr {\n\tcursor: help;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { watchTooltipAlignment } from '../../types/button-link';\nimport { PropAlignment } from '../../types/props';\nimport { nonce } from '../../utils/dev.utils';\nimport { watchString } from '../../utils/prop.validators';\nimport { API, States } from './types';\n\n@Component({\n\ttag: 'kol-abbr',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAbbr implements API {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<abbr aria-labelledby={this.nonce} role=\"definition\" title={this.state._title}>\n\t\t\t\t\t<span title=\"\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t</abbr>\n\t\t\t\t<kol-tooltip _align={this.state._tooltipAlign} _id={this.nonce} _label={this.state._title}></kol-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: PropAlignment = 'top';\n\n\t/**\n\t * Dieses Property gibt die Beschreibung oder Erläuterung der Abkürzung an.\n\t */\n\t@Prop() public _title!: string;\n\n\t/**\n\t * Die State-Parameter repräsentieren den inneren State\n\t * einer Komponente.\n\t *\n\t * @see: https://stenciljs.com/docs/state\n\t */\n\t@State() public state: States = {\n\t\t_title: '…', // ⚠ required\n\t\t_tooltipAlign: 'top',\n\t};\n\n\t/**\n\t * Die Watch-Methoden dienen der Möglichkeit zur\n\t * Validierung der Werte eines Properties und\n\t * dem Mapping dessen auf einen anderen internen\n\t * State-Typ.\n\t *\n\t * @see: https://stenciljs.com/docs/properties#prop-validation\n\t */\n\t@Watch('_title')\n\tpublic validateTitle(value?: string): void {\n\t\twatchString(this, '_title', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: PropAlignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateTitle(this._title);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n}\n"],"mappings":";;;2RAAA,MAAMA,EAAkB,87B,MCeXC,EAAO,M,yBACFC,KAAAC,MAAQA,I,mBAkBsB,M,iCAaf,CAC/BC,OAAQ,IACRC,cAAe,M,CA/BTC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,0BAAuBL,KAAKC,MAAOM,KAAK,aAAaC,MAAOR,KAAKS,MAAMP,QACtEG,EAAA,QAAMG,MAAM,IACXH,EAAA,eAGFA,EAAA,eAAaK,OAAQV,KAAKS,MAAMN,cAAeQ,IAAKX,KAAKC,MAAOW,OAAQZ,KAAKS,MAAMP,S,CAmC/EW,cAAcC,GACpBC,EAAYf,KAAM,SAAUc,EAAO,CAClCE,SAAU,M,CAKLC,qBAAqBH,GAC3BI,EAAsBlB,KAAM,gBAAiBc,E,CAGvCK,oBACNnB,KAAKa,cAAcb,KAAKE,QACxBF,KAAKiB,qBAAqBjB,KAAKG,c"}
1
+ {"version":3,"names":["defaultStyleCss","KolAbbr","this","nonce","_title","_tooltipAlign","render","h","Host","role","title","state","_align","_id","_label","validateTitle","value","watchString","required","validateTooltipAlign","watchTooltipAlignment","componentWillLoad"],"sources":["./src/components/abbr/style.css?tag=kol-abbr&mode=default&encapsulation=shadow","./src/components/abbr/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > abbr {\n\tcursor: help;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { watchTooltipAlignment } from '../../types/button-link';\nimport { PropAlignment } from '../../types/props';\nimport { nonce } from '../../utils/dev.utils';\nimport { watchString } from '../../utils/prop.validators';\nimport { API, States } from './types';\n\n@Component({\n\ttag: 'kol-abbr',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAbbr implements API {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<abbr aria-labelledby={this.nonce} role=\"definition\" title={this.state._title}>\n\t\t\t\t\t<span title=\"\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t</abbr>\n\t\t\t\t<kol-tooltip _align={this.state._tooltipAlign} _id={this.nonce} _label={this.state._title}></kol-tooltip>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Tooltip entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: PropAlignment = 'top';\n\n\t/**\n\t * Dieses Property gibt die Beschreibung oder Erläuterung der Abkürzung an.\n\t */\n\t@Prop() public _title!: string;\n\n\t/**\n\t * Die State-Parameter repräsentieren den inneren State\n\t * einer Komponente.\n\t *\n\t * @see: https://stenciljs.com/docs/state\n\t */\n\t@State() public state: States = {\n\t\t_title: '…', // ⚠ required\n\t\t_tooltipAlign: 'top',\n\t};\n\n\t/**\n\t * Die Watch-Methoden dienen der Möglichkeit zur\n\t * Validierung der Werte eines Properties und\n\t * dem Mapping dessen auf einen anderen internen\n\t * State-Typ.\n\t *\n\t * @see: https://stenciljs.com/docs/properties#prop-validation\n\t */\n\t@Watch('_title')\n\tpublic validateTitle(value?: string): void {\n\t\twatchString(this, '_title', value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: PropAlignment): void {\n\t\twatchTooltipAlignment(this, '_tooltipAlign', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateTitle(this._title);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n}\n"],"mappings":";;;2RAAA,MAAMA,EAAkB,4pB,MCeXC,EAAO,M,yBACFC,KAAAC,MAAQA,I,mBAkBsB,M,iCAaf,CAC/BC,OAAQ,IACRC,cAAe,M,CA/BTC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,0BAAuBL,KAAKC,MAAOM,KAAK,aAAaC,MAAOR,KAAKS,MAAMP,QACtEG,EAAA,QAAMG,MAAM,IACXH,EAAA,eAGFA,EAAA,eAAaK,OAAQV,KAAKS,MAAMN,cAAeQ,IAAKX,KAAKC,MAAOW,OAAQZ,KAAKS,MAAMP,S,CAmC/EW,cAAcC,GACpBC,EAAYf,KAAM,SAAUc,EAAO,CAClCE,SAAU,M,CAKLC,qBAAqBH,GAC3BI,EAAsBlB,KAAM,gBAAiBc,E,CAGvCK,oBACNnB,KAAKa,cAAcb,KAAKE,QACxBF,KAAKiB,qBAAqBjB,KAAKG,c"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as e,H as i}from"./index-50adf9a0.js";import{f as n}from"./a11y.tipps-1cea9822.js";import{n as o}from"./dev.utils-157f0499.js";import{b as a,w as s,s as r}from"./prop.validators-e402ad49.js";import{w as d}from"./validation-b331e3a7.js";import"./reuse-3a02afb9.js";import"./index-81bd9b41.js";const l=(e,t)=>{a(e,"_open",t)},p=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}.accordion kol-heading-wc kol-button-wc button kol-span-wc{justify-items:start}";n("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),n("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const c=class{constructor(e){t(this,e),this.nonce=o(),this.onClick=e=>{this._open=!1===this._open,setTimeout((()=>{var t;"function"==typeof(null===(t=this.state._on)||void 0===t?void 0:t.onClick)&&this.state._on.onClick(e,!0===this._open)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"…",_level:1}}render(){return e(i,null,e("div",{class:{accordion:!0,open:!0===this.state._open,close:!0!==this.state._open}},e("kol-heading-wc",{_headline:"",_level:this.state._level},e("kol-button-wc",{_ariaControls:this.nonce,_ariaExpanded:this.state._open,_icon:this.state._open?"codicon codicon-remove":"codicon codicon-add",_label:this.state._heading,_on:{onClick:this.onClick}})),e("div",{class:"header"},e("slot",{name:"header"})),e("div",{"aria-hidden":!1===this.state._open?"true":void 0,class:"content",id:this.nonce,hidden:!1===this.state._open,style:!1===this.state._open?{display:"none",height:"0",visibility:"hidden"}:void 0},e("slot",{name:"content"}))))}validateHeading(e){s(this,"_heading",e,{required:!0})}validateLevel(e){d(this,e)}validateOn(e){"object"==typeof e&&null!==e&&"function"==typeof e.onClick&&r(this,"_on",e)}validateOpen(e){l(this,e)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};c.style={default:p};export{c as kol_accordion};
4
+ import{r as i,h as t,H as e}from"./index-50adf9a0.js";import{f as n}from"./a11y.tipps-1cea9822.js";import{n as o}from"./dev.utils-157f0499.js";import{b as s,w as a,s as d}from"./prop.validators-e402ad49.js";import{w as r}from"./validation-a42d9cc9.js";import"./reuse-3a02afb9.js";import"./index-81bd9b41.js";const l=(t,e)=>{s(t,"_open",e)},c=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']){min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}.accordion kol-heading-wc kol-button-wc button kol-span-wc{justify-items:start}";n("[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend"),n("[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.");const h=class{constructor(t){i(this,t),this.nonce=o(),this.onClick=t=>{this._open=!1===this._open,setTimeout((()=>{var e;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&this.state._on.onClick(t,!0===this._open)}))},this._heading=void 0,this._level=1,this._on=void 0,this._open=!1,this.state={_heading:"…",_level:1}}render(){return t(e,null,t("div",{class:{accordion:!0,open:!0===this.state._open,close:!0!==this.state._open}},t("kol-heading-wc",{_headline:"",_level:this.state._level},t("kol-button-wc",{_ariaControls:this.nonce,_ariaExpanded:this.state._open,_icon:this.state._open?"codicon codicon-remove":"codicon codicon-add",_label:this.state._heading,_on:{onClick:this.onClick}})),t("div",{class:"header"},t("slot",{name:"header"})),t("div",{"aria-hidden":!1===this.state._open?"true":void 0,class:"content",id:this.nonce,hidden:!1===this.state._open,style:!1===this.state._open?{display:"none",height:"0",visibility:"hidden"}:void 0},t("slot",{name:"content"}))))}validateHeading(t){a(this,"_heading",t,{required:!0})}validateLevel(t){r(this,t)}validateOn(t){"object"==typeof t&&null!==t&&"function"==typeof t.onClick&&d(this,"_on",t)}validateOpen(t){l(this,t)}componentWillLoad(){this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateOpen(this._open)}static get watchers(){return{_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_open:["validateOpen"]}}};h.style={default:c};export{h as kol_accordion};
@@ -1 +1 @@
1
- {"version":3,"names":["validateOpen","component","value","watchBoolean","defaultStyleCss","featureHint","KolAccordion","this","nonce","onClick","event","_open","setTimeout","_a","state","_on","_heading","_level","render","h","Host","class","accordion","open","close","_headline","_ariaControls","_ariaExpanded","_icon","_label","name","undefined","id","hidden","style","display","height","visibility","validateHeading","watchString","required","validateLevel","watchHeadingLevel","validateOn","setState","componentWillLoad"],"sources":["./src/types/props/open.ts","./src/components/accordion/style.css?tag=kol-accordion&mode=default&encapsulation=shadow","./src/components/accordion/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Klappt das Element auf sofern gesetzt (oder true) und klappt es zu sofern nicht gesetzt (oder false).\n */\n/** en\n * If set (to true) opens/expands the element, closes if not set (or set to false).\n */\nexport type PropOpen = {\n\topen: boolean;\n};\n\n/* validator */\nexport const validateOpen = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_open', value);\n};\n","@import '../style.css';\n@import '../host-display-block.css';\n\n.accordion kol-heading-wc kol-button-wc button kol-span-wc {\n\tjustify-items: start;\n}\n","// https://codepen.io/mbxtr/pen/OJPOYg?html-preprocessor=haml\n\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { HeadingLevel } from '../../types/heading-level';\nimport { validateOpen } from '../../types/props';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { API, KoliBriAccordionCallbacks, States } from './types';\n\nfeatureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend`);\nfeatureHint(`[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.`);\n\n/**\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich des Accordions.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich des Accordions.\n */\n@Component({\n\ttag: 'kol-accordion',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAccordion implements API {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\t// const height = this.content?.getBoundingClientRect().height ?? 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\taccordion: true,\n\t\t\t\t\t\topen: this.state._open === true,\n\t\t\t\t\t\tclose: this.state._open !== true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-heading-wc _headline=\"\" _level={this.state._level}>\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t// slot=\"expert\"\n\t\t\t\t\t\t\t_ariaControls={this.nonce}\n\t\t\t\t\t\t\t_ariaExpanded={this.state._open}\n\t\t\t\t\t\t\t_icon={this.state._open ? 'codicon codicon-remove' : 'codicon codicon-add'}\n\t\t\t\t\t\t\t_label={this.state._heading}\n\t\t\t\t\t\t\t_on={{ onClick: this.onClick }}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden={this.state._open === false ? 'true' : undefined}\n\t\t\t\t\t\tclass=\"content\"\n\t\t\t\t\t\tid={this.nonce}\n\t\t\t\t\t\thidden={this.state._open === false}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.state._open === false\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\theight: '0',\n\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// style={\n\t\t\t\t\t\t// \tthis.state._open\n\t\t\t\t\t\t// \t\t? height > 0 && processEnv !== 'test' // TODO: remove this check when testing is fixed\n\t\t\t\t\t\t// \t\t\t? {\n\t\t\t\t\t\t// \t\t\t\theight: `${height}px`,\n\t\t\t\t\t\t// \t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\t}\n\t\t\t\t\t\t// \t\t\t: undefined\n\t\t\t\t\t\t// \t\t: {\n\t\t\t\t\t\t// \t\t\theight: '0',\n\t\t\t\t\t\t// \t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t// \t\t}\n\t\t\t\t\t\t// }\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Überschrift des Accordions an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Setzt den H-Level, von 1 bis 6, der Überschrift.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen an.\n\t */\n\t@Prop() public _on?: KoliBriAccordionCallbacks;\n\n\t/**\n\t * Gibt an, ob das Accordion geöffnet ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t@State() public state: States = {\n\t\t_heading: '…', // ⚠ required\n\t\t_level: 1,\n\t};\n\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@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAccordionCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null && typeof value.onClick === 'function') {\n\t\t\tsetState(this, '_on', value);\n\t\t}\n\t}\n\n\t@Watch('_open')\n\tpublic validateOpen(value?: boolean): void {\n\t\tvalidateOpen(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateOpen(this._open);\n\t}\n\n\tprivate onClick = (event: Event) => {\n\t\tthis._open = this._open === false;\n\n\t\t/**\n\t\t * Der Timeout wird benötigt, damit das Event\n\t\t * vom Button- auf das Accordion-Event wechselt.\n\t\t * So ist es dem Anwendenden möglich das _open-\n\t\t * Attribute abzufragen.\n\t\t */\n\t\tsetTimeout(() => {\n\t\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\t\tthis.state._on.onClick(event, this._open === true);\n\t\t\t}\n\t\t});\n\t};\n}\n"],"mappings":";;;oTAeO,MAAMA,EAAe,CAACC,EAAsCC,KAClEC,EAAaF,EAAW,QAASC,EAAM,EChBxC,MAAME,EAAkB,0gCCYxBC,EAAY,+OAKZA,EAAY,mE,MAcCC,EAAY,M,yBACPC,KAAAC,MAAQA,IAsHjBD,KAAAE,QAAWC,IAClBH,KAAKI,MAAQJ,KAAKI,QAAU,MAQ5BC,YAAW,K,MACV,WAAWC,EAAAN,KAAKO,MAAMC,OAAG,MAAAF,SAAA,SAAAA,EAAEJ,WAAY,WAAY,CAClDF,KAAKO,MAAMC,IAAIN,QAAQC,EAAOH,KAAKI,QAAU,K,IAE7C,E,oCA7DoC,E,8BAU0B,M,WAEjC,CAC/BK,SAAU,IACVC,OAAQ,E,CAlFFC,SAEN,OACCC,EAACC,EAAI,KACJD,EAAA,OACCE,MAAO,CACNC,UAAW,KACXC,KAAMhB,KAAKO,MAAMH,QAAU,KAC3Ba,MAAOjB,KAAKO,MAAMH,QAAU,OAG7BQ,EAAA,kBAAgBM,UAAU,GAAGR,OAAQV,KAAKO,MAAMG,QAC/CE,EAAA,iBAECO,cAAenB,KAAKC,MACpBmB,cAAepB,KAAKO,MAAMH,MAC1BiB,MAAOrB,KAAKO,MAAMH,MAAQ,yBAA2B,sBACrDkB,OAAQtB,KAAKO,MAAME,SACnBD,IAAK,CAAEN,QAASF,KAAKE,YAGvBU,EAAA,OAAKE,MAAM,UACVF,EAAA,QAAMW,KAAK,YAEZX,EAAA,qBACcZ,KAAKO,MAAMH,QAAU,MAAQ,OAASoB,UACnDV,MAAM,UACNW,GAAIzB,KAAKC,MACTyB,OAAQ1B,KAAKO,MAAMH,QAAU,MAC7BuB,MACC3B,KAAKO,MAAMH,QAAU,MAClB,CACAwB,QAAS,OACTC,OAAQ,IACRC,WAAY,UAEZN,WAiBJZ,EAAA,QAAMW,KAAK,c,CAiCTQ,gBAAgBpC,GACtBqC,EAAYhC,KAAM,WAAYL,EAAO,CACpCsC,SAAU,M,CAKLC,cAAcvC,GACpBwC,EAAkBnC,KAAML,E,CAIlByC,WAAWzC,GACjB,UAAWA,IAAU,UAAYA,IAAU,aAAeA,EAAMO,UAAY,WAAY,CACvFmC,EAASrC,KAAM,MAAOL,E,EAKjBF,aAAaE,GACnBF,EAAaO,KAAML,E,CAGb2C,oBACNtC,KAAK+B,gBAAgB/B,KAAKS,UAC1BT,KAAKkC,cAAclC,KAAKU,QACxBV,KAAKoC,WAAWpC,KAAKQ,KACrBR,KAAKP,aAAaO,KAAKI,M"}
1
+ {"version":3,"names":["validateOpen","component","value","watchBoolean","defaultStyleCss","featureHint","KolAccordion","this","nonce","onClick","event","_open","setTimeout","_a","state","_on","_heading","_level","render","h","Host","class","accordion","open","close","_headline","_ariaControls","_ariaExpanded","_icon","_label","name","undefined","id","hidden","style","display","height","visibility","validateHeading","watchString","required","validateLevel","watchHeadingLevel","validateOn","setState","componentWillLoad"],"sources":["./src/types/props/open.ts","./src/components/accordion/style.css?tag=kol-accordion&mode=default&encapsulation=shadow","./src/components/accordion/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Klappt das Element auf sofern gesetzt (oder true) und klappt es zu sofern nicht gesetzt (oder false).\n */\n/** en\n * If set (to true) opens/expands the element, closes if not set (or set to false).\n */\nexport type PropOpen = {\n\topen: boolean;\n};\n\n/* validator */\nexport const validateOpen = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_open', value);\n};\n","@import '../style.css';\n@import '../host-display-block.css';\n\n.accordion kol-heading-wc kol-button-wc button kol-span-wc {\n\tjustify-items: start;\n}\n","// https://codepen.io/mbxtr/pen/OJPOYg?html-preprocessor=haml\n\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { HeadingLevel } from '../../types/heading-level';\nimport { validateOpen } from '../../types/props';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState, watchString } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { API, KoliBriAccordionCallbacks, States } from './types';\n\nfeatureHint(`[KolAccordion] Anfrage nach einer KolAccordionGroup bei dem immer nur ein Accordion geöffnet ist.\n\n- onClick auf der KolAccordion anwenden\n- Click-Event prüft den _open-Status der Accordions\n- Logik Öffnet und Schließt entsprechend`);\nfeatureHint(`[KolAccordion] Tab-Sperre des Inhalts im geschlossenen Zustand.`);\n\n/**\n *\n * @slot header - Ermöglicht das Einfügen beliebigen HTML's in den Kopfbereich des Accordions.\n * @slot content - Ermöglicht das Einfügen beliebigen HTML's in den Inhaltsbereich des Accordions.\n */\n@Component({\n\ttag: 'kol-accordion',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAccordion implements API {\n\tprivate readonly nonce = nonce();\n\n\tpublic render(): JSX.Element {\n\t\t// const height = this.content?.getBoundingClientRect().height ?? 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\taccordion: true,\n\t\t\t\t\t\topen: this.state._open === true,\n\t\t\t\t\t\tclose: this.state._open !== true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-heading-wc _headline=\"\" _level={this.state._level}>\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t// slot=\"expert\"\n\t\t\t\t\t\t\t_ariaControls={this.nonce}\n\t\t\t\t\t\t\t_ariaExpanded={this.state._open}\n\t\t\t\t\t\t\t_icon={this.state._open ? 'codicon codicon-remove' : 'codicon codicon-add'}\n\t\t\t\t\t\t\t_label={this.state._heading}\n\t\t\t\t\t\t\t_on={{ onClick: this.onClick }}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t</kol-heading-wc>\n\t\t\t\t\t<div class=\"header\">\n\t\t\t\t\t\t<slot name=\"header\" />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-hidden={this.state._open === false ? 'true' : undefined}\n\t\t\t\t\t\tclass=\"content\"\n\t\t\t\t\t\tid={this.nonce}\n\t\t\t\t\t\thidden={this.state._open === false}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.state._open === false\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tdisplay: 'none',\n\t\t\t\t\t\t\t\t\t\theight: '0',\n\t\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// style={\n\t\t\t\t\t\t// \tthis.state._open\n\t\t\t\t\t\t// \t\t? height > 0 && processEnv !== 'test' // TODO: remove this check when testing is fixed\n\t\t\t\t\t\t// \t\t\t? {\n\t\t\t\t\t\t// \t\t\t\theight: `${height}px`,\n\t\t\t\t\t\t// \t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\t}\n\t\t\t\t\t\t// \t\t\t: undefined\n\t\t\t\t\t\t// \t\t: {\n\t\t\t\t\t\t// \t\t\theight: '0',\n\t\t\t\t\t\t// \t\t\toverflow: 'hidden',\n\t\t\t\t\t\t// \t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t// \t\t}\n\t\t\t\t\t\t// }\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"content\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Überschrift des Accordions an.\n\t */\n\t@Prop() public _heading!: string;\n\n\t/**\n\t * Setzt den H-Level, von 1 bis 6, der Überschrift.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen an.\n\t */\n\t@Prop() public _on?: KoliBriAccordionCallbacks;\n\n\t/**\n\t * Gibt an, ob das Accordion geöffnet ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _open?: boolean = false;\n\n\t@State() public state: States = {\n\t\t_heading: '…', // ⚠ required\n\t\t_level: 1,\n\t};\n\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@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAccordionCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null && typeof value.onClick === 'function') {\n\t\t\tsetState(this, '_on', value);\n\t\t}\n\t}\n\n\t@Watch('_open')\n\tpublic validateOpen(value?: boolean): void {\n\t\tvalidateOpen(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateOpen(this._open);\n\t}\n\n\tprivate onClick = (event: Event) => {\n\t\tthis._open = this._open === false;\n\n\t\t/**\n\t\t * Der Timeout wird benötigt, damit das Event\n\t\t * vom Button- auf das Accordion-Event wechselt.\n\t\t * So ist es dem Anwendenden möglich das _open-\n\t\t * Attribute abzufragen.\n\t\t */\n\t\tsetTimeout(() => {\n\t\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\t\tthis.state._on.onClick(event, this._open === true);\n\t\t\t}\n\t\t});\n\t};\n}\n"],"mappings":";;;oTAeO,MAAMA,EAAe,CAACC,EAAsCC,KAClEC,EAAaF,EAAW,QAASC,EAAM,EChBxC,MAAME,EAAkB,wuBCYxBC,EAAY,+OAKZA,EAAY,mE,MAcCC,EAAY,M,yBACPC,KAAAC,MAAQA,IAsHjBD,KAAAE,QAAWC,IAClBH,KAAKI,MAAQJ,KAAKI,QAAU,MAQ5BC,YAAW,K,MACV,WAAWC,EAAAN,KAAKO,MAAMC,OAAG,MAAAF,SAAA,SAAAA,EAAEJ,WAAY,WAAY,CAClDF,KAAKO,MAAMC,IAAIN,QAAQC,EAAOH,KAAKI,QAAU,K,IAE7C,E,oCA7DoC,E,8BAU0B,M,WAEjC,CAC/BK,SAAU,IACVC,OAAQ,E,CAlFFC,SAEN,OACCC,EAACC,EAAI,KACJD,EAAA,OACCE,MAAO,CACNC,UAAW,KACXC,KAAMhB,KAAKO,MAAMH,QAAU,KAC3Ba,MAAOjB,KAAKO,MAAMH,QAAU,OAG7BQ,EAAA,kBAAgBM,UAAU,GAAGR,OAAQV,KAAKO,MAAMG,QAC/CE,EAAA,iBAECO,cAAenB,KAAKC,MACpBmB,cAAepB,KAAKO,MAAMH,MAC1BiB,MAAOrB,KAAKO,MAAMH,MAAQ,yBAA2B,sBACrDkB,OAAQtB,KAAKO,MAAME,SACnBD,IAAK,CAAEN,QAASF,KAAKE,YAGvBU,EAAA,OAAKE,MAAM,UACVF,EAAA,QAAMW,KAAK,YAEZX,EAAA,qBACcZ,KAAKO,MAAMH,QAAU,MAAQ,OAASoB,UACnDV,MAAM,UACNW,GAAIzB,KAAKC,MACTyB,OAAQ1B,KAAKO,MAAMH,QAAU,MAC7BuB,MACC3B,KAAKO,MAAMH,QAAU,MAClB,CACAwB,QAAS,OACTC,OAAQ,IACRC,WAAY,UAEZN,WAiBJZ,EAAA,QAAMW,KAAK,c,CAiCTQ,gBAAgBpC,GACtBqC,EAAYhC,KAAM,WAAYL,EAAO,CACpCsC,SAAU,M,CAKLC,cAAcvC,GACpBwC,EAAkBnC,KAAML,E,CAIlByC,WAAWzC,GACjB,UAAWA,IAAU,UAAYA,IAAU,aAAeA,EAAMO,UAAY,WAAY,CACvFmC,EAASrC,KAAM,MAAOL,E,EAKjBF,aAAaE,GACnBF,EAAaO,KAAML,E,CAGb2C,oBACNtC,KAAK+B,gBAAgB/B,KAAKS,UAC1BT,KAAKkC,cAAclC,KAAKU,QACxBV,KAAKoC,WAAWpC,KAAKQ,KACrBR,KAAKP,aAAaO,KAAKI,M"}
@@ -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 e}from"./index-50adf9a0.js";import{b as a,w as n,s,a as o}from"./prop.validators-e402ad49.js";import{w as r}from"./validation-b331e3a7.js";import{a as l}from"./i18n-c97dc260.js";import{L as c}from"./dev.utils-157f0499.js";import"./a11y.tipps-1cea9822.js";import"./index-81bd9b41.js";import"./index-a007a589.js";import"./reuse-3a02afb9.js";const d=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}:host>div{display:grid;place-items:stretch}.heading{display:grid;grid-template-columns:auto 1fr auto;place-items:center}.heading>div{display:grid;justify-self:start}.heading .heading-icon{align-items:center;align-self:stretch;display:inline-flex}",h=t=>i("kol-icon",{class:"heading-icon",_ariaLabel:"string"==typeof t.heading&&t.heading.length>0?"":t.ariaLabel,_icon:t.icon}),p=t=>{switch(t.type){case"error":return i(h,{ariaLabel:l("kol-error"),icon:"codicon codicon-error",heading:t.heading});case"info":return i(h,{ariaLabel:l("kol-info"),icon:"codicon codicon-info",heading:t.heading});case"warning":return i(h,{ariaLabel:l("kol-warning"),icon:"codicon codicon-warning",heading:t.heading});case"success":return i(h,{ariaLabel:l("kol-success"),icon:"codicon codicon-pass",heading:t.heading});default:return i(h,{ariaLabel:l("kol-message"),icon:"codicon codicon-comment",heading:t.heading})}},u=class{constructor(i){t(this,i),this.close=()=>{var t;void 0!==(null===(t=this._on)||void 0===t?void 0:t.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this.validateOnValue=t=>"object"==typeof t&&null!==t&&"function"==typeof t.onClose,this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){var t;if(this.state._alert){try{c.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(t){c.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return i(e,null,i("div",{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},i("div",{class:"heading"},i(p,{heading:this.state._heading,type:this.state._type}),i("div",null,"string"==typeof this.state._heading&&(null===(t=this.state._heading)||void 0===t?void 0:t.length)>0&&i("kol-heading-wc",{_headline:this.state._heading,_level:this.state._level}),"msg"===this._variant&&i("div",{class:"content"},i("slot",null))),this.state._hasCloser&&i("kol-button-wc",{class:"close",_icon:{left:{icon:"codicon codicon-close"}},_iconOnly:!0,_label:l("kol-close"),_on:this.on,_tooltipAlign:"left"})),"card"===this._variant&&i("div",{class:"content"},i("slot",null))))}validateAlert(t){a(this,"_alert",t)}validateHasCloser(t){a(this,"_hasCloser",t)}validateHeading(t){n(this,"_heading",t)}validateLevel(t){r(this,t)}validateOn(t){this.validateOnValue(t)&&s(this,"_on",{onClose:t.onClose})}validateType(t){o(this,"_type",(t=>"string"==typeof t&&("default"===t||"error"===t||"info"===t||"success"===t||"warning"===t)),new Set("String {success, info, warning, error}"),t)}validateVariant(t){o(this,"_variant",(t=>"card"===t||"msg"===t),new Set("AlertVariant {card, msg}"),t)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}};u.style={default:d};export{u as kol_alert};
4
+ import{r as i,h as t,H as a}from"./index-50adf9a0.js";import{b as e,w as s,s as n,a as o}from"./prop.validators-e402ad49.js";import{w as r}from"./validation-a42d9cc9.js";import{a as l}from"./i18n-c97dc260.js";import{L as c}from"./dev.utils-157f0499.js";import"./a11y.tipps-1cea9822.js";import"./index-81bd9b41.js";import"./index-a007a589.js";import"./reuse-3a02afb9.js";const d=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']){min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}:host>div{display:grid;place-items:stretch}.heading{display:grid;grid-template-columns:auto 1fr auto;place-items:center}.heading>div{display:grid;justify-self:start}",h=a=>t("kol-icon",{class:"heading-icon",_ariaLabel:"string"==typeof a.heading&&a.heading.length>0?"":a.ariaLabel,_icon:a.icon}),p=a=>{switch(a.type){case"error":return t(h,{ariaLabel:l("kol-error"),icon:"codicon codicon-error",heading:a.heading});case"info":return t(h,{ariaLabel:l("kol-info"),icon:"codicon codicon-info",heading:a.heading});case"warning":return t(h,{ariaLabel:l("kol-warning"),icon:"codicon codicon-warning",heading:a.heading});case"success":return t(h,{ariaLabel:l("kol-success"),icon:"codicon codicon-pass",heading:a.heading});default:return t(h,{ariaLabel:l("kol-message"),icon:"codicon codicon-comment",heading:a.heading})}},u=class{constructor(t){i(this,t),this.close=()=>{var t;void 0!==(null===(t=this._on)||void 0===t?void 0:t.onClose)&&this._on.onClose(new Event("Close"))},this.on={onClick:this.close},this.validateOnValue=t=>"object"==typeof t&&null!==t&&"function"==typeof t.onClose,this._alert=!1,this._hasCloser=!1,this._heading=void 0,this._level=1,this._on=void 0,this._type="default",this._variant="msg",this.state={_level:1}}render(){var i;if(this.state._alert){try{c.debug(["Navigator should vibrate ...",navigator.vibrate([100,75,100,75,100])])}catch(i){c.debug("Navigator does not support vibration.")}setTimeout((()=>{this.validateAlert(!1)}),1e4)}return t(a,null,t("div",{class:{[this.state._type]:!0,[this.state._variant]:!0},role:this.state._alert?"alert":void 0},t("div",{class:"heading"},t(p,{heading:this.state._heading,type:this.state._type}),t("div",null,"string"==typeof this.state._heading&&(null===(i=this.state._heading)||void 0===i?void 0:i.length)>0&&t("kol-heading-wc",{_headline:this.state._heading,_level:this.state._level}),"msg"===this._variant&&t("div",{class:"content"},t("slot",null))),this.state._hasCloser&&t("kol-button-wc",{class:"close",_icon:{left:{icon:"codicon codicon-close"}},_iconOnly:!0,_label:l("kol-close"),_on:this.on,_tooltipAlign:"left"})),"card"===this._variant&&t("div",{class:"content"},t("slot",null))))}validateAlert(t){e(this,"_alert",t)}validateHasCloser(t){e(this,"_hasCloser",t)}validateHeading(t){s(this,"_heading",t)}validateLevel(t){r(this,t)}validateOn(t){this.validateOnValue(t)&&n(this,"_on",{onClose:t.onClose})}validateType(t){o(this,"_type",(t=>"string"==typeof t&&("default"===t||"error"===t||"info"===t||"success"===t||"warning"===t)),new Set("String {success, info, warning, error}"),t)}validateVariant(t){o(this,"_variant",(t=>"card"===t||"msg"===t),new Set("AlertVariant {card, msg}"),t)}componentWillLoad(){this.validateAlert(this._alert),this.validateHasCloser(this._hasCloser),this.validateHeading(this._heading),this.validateLevel(this._level),this.validateOn(this._on),this.validateType(this._type),this.validateVariant(this._variant)}static get watchers(){return{_alert:["validateAlert"],_hasCloser:["validateHasCloser"],_heading:["validateHeading"],_level:["validateLevel"],_on:["validateOn"],_type:["validateType"],_variant:["validateVariant"]}}};u.style={default:d};export{u as kol_alert};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","Icon","props","h","class","_ariaLabel","heading","length","ariaLabel","_icon","icon","AlertIcon","type","translate","KolAlert","this","close","_a","_on","onClose","undefined","Event","on","onClick","validateOnValue","value","_level","render","state","_alert","Log","debug","navigator","vibrate","e","setTimeout","validateAlert","Host","_type","_variant","role","_heading","_headline","_hasCloser","left","_iconOnly","_label","_tooltipAlign","watchBoolean","validateHasCloser","validateHeading","watchString","validateLevel","watchHeadingLevel","validateOn","setState","validateType","watchValidator","Set","validateVariant","componentWillLoad"],"sources":["./src/components/alert/style.css?tag=kol-alert&mode=default&encapsulation=shadow","./src/components/alert/component.tsx"],"sourcesContent":["@import '../style.css';\n@import '../host-display-block.css';\n\n:host > div {\n\tdisplay: grid;\n\tplace-items: stretch;\n}\n\n.heading {\n\tdisplay: grid;\n\tgrid-template-columns: auto 1fr auto;\n\tplace-items: center;\n}\n.heading > div {\n\tdisplay: grid;\n\tjustify-self: start;\n}\n.heading .heading-icon {\n\talign-items: center;\n\talign-self: stretch;\n\tdisplay: inline-flex;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { API, States, AlertType, AlertVariant, KoliBriAlertEventCallbacks } from './types';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { translate } from '../../i18n';\nimport { Log } from '../../utils/dev.utils';\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" heading={props.heading} />;\n\t}\n};\n\n@Component({\n\ttag: 'kol-alert',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAlert implements API {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\t}}\n\t\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t\t<AlertIcon heading={this.state._heading} type={this.state._type} />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t\t\t<kol-heading-wc _headline={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung vorlesen soll.\n\t */\n\t@Prop({ reflect: true }) public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob der Alert ein Schließen-Icon hat.\n\t */\n\t@Prop({ reflect: true }) public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt den Titel der Meldung an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Setzt den H-Level, von 1 bis 6, der Überschrift.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Gibt an, ob es sich um eine Erfolgs-, Info-, Warnung- oder Fehlermeldung handelt.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Benachrichtigungsvariante dargestellt wird.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCloser', value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\tprivate validateOnValue = (value: unknown): boolean =>\n\t\ttypeof value === 'object' && value !== null && typeof (value as KoliBriAlertEventCallbacks).onClose === 'function';\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (this.validateOnValue(value)) {\n\t\t\tsetState<KoliBriAlertEventCallbacks>(\n\t\t\t\tthis,\n\t\t\t\t'_on',\n\t\t\t\t{\n\t\t\t\t\tonClose: (value as KoliBriAlertEventCallbacks).onClose,\n\t\t\t\t}\n\t\t\t\t// {\n\t\t\t\t// \tafterPatch: (value: unknown) => {\n\t\t\t\t// \t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t\t// \t},\n\t\t\t\t// }\n\t\t\t);\n\t\t\t// } else {\n\t\t\t// \tsetState<KoliBriAlertEventCallbacks>(this, '_on', null, {\n\t\t\t// \t\tafterPatch: (value: unknown) => {\n\t\t\t// \t\t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t}\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyleCss","Icon","props","h","class","_ariaLabel","heading","length","ariaLabel","_icon","icon","AlertIcon","type","translate","KolAlert","this","close","_a","_on","onClose","undefined","Event","on","onClick","validateOnValue","value","_level","render","state","_alert","Log","debug","navigator","vibrate","e","setTimeout","validateAlert","Host","_type","_variant","role","_heading","_headline","_hasCloser","left","_iconOnly","_label","_tooltipAlign","watchBoolean","validateHasCloser","validateHeading","watchString","validateLevel","watchHeadingLevel","validateOn","setState","validateType","watchValidator","Set","validateVariant","componentWillLoad"],"sources":["./src/components/alert/style.css?tag=kol-alert&mode=default&encapsulation=shadow","./src/components/alert/component.tsx"],"sourcesContent":["@import '../style.css';\n@import '../host-display-block.css';\n\n:host > div {\n\tdisplay: grid;\n\tplace-items: stretch;\n}\n.heading {\n\tdisplay: grid;\n\tgrid-template-columns: auto 1fr auto;\n\tplace-items: center;\n}\n.heading > div {\n\tdisplay: grid;\n\tjustify-self: start;\n}\n/* .heading .heading-icon {\n\talign-items: center;\n\talign-self: stretch;\n\tdisplay: inline-flex;\n} */\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { API, States, AlertType, AlertVariant, KoliBriAlertEventCallbacks } from './types';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { setState, watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { translate } from '../../i18n';\nimport { Log } from '../../utils/dev.utils';\n\nconst Icon = (props: { ariaLabel: string; icon: string; heading?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _ariaLabel={typeof props.heading === 'string' && props.heading.length > 0 ? '' : props.ariaLabel} _icon={props.icon} />;\n};\n\nconst AlertIcon = (props: { heading?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" heading={props.heading} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" heading={props.heading} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" heading={props.heading} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" heading={props.heading} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" heading={props.heading} />;\n\t}\n};\n\n@Component({\n\ttag: 'kol-alert',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolAlert implements API {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\t}}\n\t\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t\t>\n\t\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t\t<AlertIcon heading={this.state._heading} type={this.state._type} />\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t\t\t<kol-heading-wc _headline={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t\t_icon={{\n\t\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_iconOnly\n\t\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung vorlesen soll.\n\t */\n\t@Prop({ reflect: true }) public _alert?: boolean = false;\n\n\t/**\n\t * Gibt an, ob der Alert ein Schließen-Icon hat.\n\t */\n\t@Prop({ reflect: true }) public _hasCloser?: boolean = false;\n\n\t/**\n\t * Gibt den Titel der Meldung an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Setzt den H-Level, von 1 bis 6, der Überschrift.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Gibt an, ob es sich um eine Erfolgs-, Info-, Warnung- oder Fehlermeldung handelt.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Gibt an, welche Benachrichtigungsvariante dargestellt wird.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: boolean): void {\n\t\twatchBoolean(this, '_hasCloser', value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\tprivate validateOnValue = (value: unknown): boolean =>\n\t\ttypeof value === 'object' && value !== null && typeof (value as KoliBriAlertEventCallbacks).onClose === 'function';\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (this.validateOnValue(value)) {\n\t\t\tsetState<KoliBriAlertEventCallbacks>(\n\t\t\t\tthis,\n\t\t\t\t'_on',\n\t\t\t\t{\n\t\t\t\t\tonClose: (value as KoliBriAlertEventCallbacks).onClose,\n\t\t\t\t}\n\t\t\t\t// {\n\t\t\t\t// \tafterPatch: (value: unknown) => {\n\t\t\t\t// \t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t\t// \t},\n\t\t\t\t// }\n\t\t\t);\n\t\t\t// } else {\n\t\t\t// \tsetState<KoliBriAlertEventCallbacks>(this, '_on', null, {\n\t\t\t// \t\tafterPatch: (value: unknown) => {\n\t\t\t// \t\t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t}\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"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 e,H as o}from"./index-50adf9a0.js";import{f as i,d as a,a as n}from"./a11y.tipps-1cea9822.js";import{r as s,c as r,a as l,o as p,p as h,s as c}from"./prop.validators-e402ad49.js";import{v as d}from"./label-d51b1a57.js";import{c as u}from"./index-d14da386.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";import"./index-81bd9b41.js";const f=(t,o,a)=>(299*t+587*o+114*a)/1e3>=128?-1:1,b=(t,o,a,e=1)=>{const n=[Math.max(Math.min(Math.round(o[0]+e*Math.max(1,o[0]/100)),255),0),Math.max(Math.min(Math.round(o[1]+e*Math.max(1,o[1]/100)),255),0),Math.max(Math.min(Math.round(o[2]+e*Math.max(1,o[2]/100)),255),0)],i=r(s.hex(`rgba(${t.join(",")},1)`),s.hex(`rgba(${n.join(",")},1)`)),l=n[0]+n[1]+n[2];return 0===l||765===l||i>a?{background:t,foreground:n,contrast:i}:b(t,n,a,e)},g=new Map,y=(t,o,a,e=1)=>{if(g.has(t))return g.get(t);const n=b(t,o,a,e);return g.set(t,n),n},m=(t,o=7)=>{let a=[0,0,0,1],e=[255,255,255,1];"string"==typeof t?(a=u(t),e=a):"object"==typeof t&&null!==t&&"string"==typeof t.background&&"string"==typeof t.foreground&&(a=u(t.background),e="string"==typeof t.foreground?u(t.foreground):a);const n=f(a[0],a[1],a[2]),r=y([a[0],a[1],a[2]],[e[0],e[1],e[2]],o,n);return e=[...r.foreground,1],{background:s.hex(`rgba(${a.join(",")})`),foreground:s.hex(`rgba(${e.join(",")})`),contrast:r.contrast}},_=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>span{display:inline-flex;place-items:center}:host>span>kol-button-wc button{color:inherit}";i("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const w=/^([a-f0-9]{3}|[a-f0-9]{6})$/,k=class{constructor(o){t(this,o),this.bgColorStr="#000",this.colorStr="#fff",this.handleColorChange=t=>{let o,e=t;"string"==typeof e?(w.test(e)&&(a("[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value)."),e=`#${e}`),o=m(e)):o=m({background:e.backgroundColor,foreground:e.color}),o.contrast<7&&n(`[KolBadge] The contrast of ${o.contrast} (≥7, AAA) is too low, between the color pair ${o.background} and ${o.foreground}.`),this.bgColorStr=o.background,this.colorStr=o.foreground},this._color="#000",this._icon=void 0,this._iconOnly=!1,this._label=void 0,this._smartButton=void 0,this.state={_color:"#000",_label:"…"}}render(){return e(o,null,e("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},e("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this.state._label}),"object"==typeof this.state._smartButton&&null!==this.state._smartButton&&e("kol-button-wc",{_ariaLabel:this.state._smartButton._ariaLabel,_customClass:this.state._smartButton._customClass,_disabled:this.state._smartButton._disabled,_icon:this.state._smartButton._icon,_iconOnly:!0,_id:this.state._smartButton._id,_label:this.state._smartButton._label,_on:this.state._smartButton._on,_tooltipAlign:this.state._smartButton._tooltipAlign,_variant:this.state._smartButton._variant})))}validateColor(t){l(this,"_color",(t=>"string"==typeof t||"object"==typeof t&&null!==t&&"string"==typeof t.backgroundColor&&"string"==typeof t.color),new Set(["string","KoliBriColor"]),t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateLabel(t){d(this,t,{hooks:{afterPatch:t=>{"string"==typeof t&&t.length>32&&n(`[KolBadge] The label is too long for a badge (${t.length} > 32).`)}}})}validateSmartButton(t){p(t,(()=>{try{t=h(t)}catch(t){}c(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateLabel(this._label),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_label:["validateLabel"],_smartButton:["validateSmartButton"]}}};k.style={default:_};export{k as kol_badge};
4
+ import{r as t,h as i,H as o}from"./index-50adf9a0.js";import{h as s,v as a}from"./color-32939623.js";import{v as e}from"./label-d51b1a57.js";import{f as n,a as r}from"./a11y.tipps-1cea9822.js";import{o as l,p as h,s as d}from"./prop.validators-e402ad49.js";import"./reuse-3a02afb9.js";import"./dev.utils-157f0499.js";import"./index-81bd9b41.js";const c=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']){min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>span{display:inline-flex;place-items:center}:host>span>kol-button-wc button{color:inherit}";n("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const p=class{constructor(o){t(this,o),this.bgColorStr="#000",this.colorStr="#fff",this.handleColorChange=t=>{const o=s(t);this.bgColorStr=o.backgroundColor,this.colorStr=o.foregroundColor},this._color="#000",this._icon=void 0,this._iconOnly=!1,this._label=void 0,this._smartButton=void 0,this.state={_color:{backgroundColor:"#000",foregroundColor:"#fff"},_label:"…"}}render(){return i(o,null,i("span",{class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},i("kol-span-wc",{_icon:this._icon,_iconOnly:this._iconOnly,_label:this.state._label}),"object"==typeof this.state._smartButton&&null!==this.state._smartButton&&i("kol-button-wc",{_ariaLabel:this.state._smartButton._ariaLabel,_customClass:this.state._smartButton._customClass,_disabled:this.state._smartButton._disabled,_icon:this.state._smartButton._icon,_iconOnly:!0,_id:this.state._smartButton._id,_label:this.state._smartButton._label,_on:this.state._smartButton._on,_tooltipAlign:this.state._smartButton._tooltipAlign,_variant:this.state._smartButton._variant})))}validateColor(t){a(this,t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateLabel(t){e(this,t,{hooks:{afterPatch:t=>{"string"==typeof t&&t.length>32&&r(`[KolBadge] The label is too long for a badge (${t.length} > 32).`)}}})}validateSmartButton(t){l(t,(()=>{try{t=h(t)}catch(t){}d(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateLabel(this._label),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_label:["validateLabel"],_smartButton:["validateSmartButton"]}}};p.style={default:c};export{p as kol_badge};
@@ -1 +1 @@
1
- {"version":3,"names":["getContrastYIQ","r","g","b","yiq","calcColorContrast","baseColor","contrastColor","ratio","dir","color","Math","max","min","round","contrast","hex","rgbaConvert","join","summe","background","foreground","cache","Map","getColorContrast","has","get","set","createContrastColorPair","contrastRatio","colorRgba","colorContrast","defaultStyleCss","featureHint","HACK_REG_EX","KolBadge","this","bgColorStr","colorStr","handleColorChange","value","test","devHint","backgroundColor","a11yHint","_color","_label","render","h","Host","class","state","_smartButton","style","_icon","_iconOnly","_ariaLabel","_customClass","_disabled","_id","_on","_tooltipAlign","_variant","validateColor","watchValidator","Set","defaultValue","hooks","beforePatch","validateLabel","afterPatch","length","validateSmartButton","objectObjectHandler","parseJson","e","setState","componentWillLoad"],"sources":["./src/components/badge/contrast.ts","./src/components/badge/style.css?tag=kol-badge&mode=default&encapsulation=shadow","./src/components/badge/component.tsx"],"sourcesContent":["import { rgbaConvert } from './rgba-convert';\nimport { hex } from 'wcag-contrast';\nimport { colorRgba } from './color-rgba';\nimport { RGB } from 'color-convert/conversions';\n\ntype RGBA = [number, number, number, number];\n\n// const calcColor = (color: RGBA, diff: number): RGBA => [\n// Math.max(Math.min(Math.round(color[0] + (color[0] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[1] + (color[1] / 100 + 1) * diff), 255), 0),\n// Math.max(Math.min(Math.round(color[2] + (color[2] / 100 + 1) * diff), 255), 0),\n// color[3],\n// ];\n\n// const relativeLuminanceFormel = (c: number): number => {\n// if (c <= 0.03928) {\n// return c / 12.92;\n// } else {\n// return ((c + 0.055) / 1.055) ** 2.4;\n// }\n// };\n// // https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n// const relativeLuminance = (r: number, g: number, b: number): number => {\n// return (\n// 0.2126 * relativeLuminanceFormel(r) + 0.7152 * relativeLuminanceFormel(g) + 0.0722 * relativeLuminanceFormel(b)\n// );\n// };\n\n// https://css-tricks.com/snippets/javascript/random-hex-color/\n// const randomColor = () => Math.floor(Math.random() * 16777215).toString(16);\n\n// https://24ways.org/2010/calculating-color-contrast/\n// ts-prune-ignore-next\nexport const getContrastYIQ = (r: number, g: number, b: number): number => {\n\tconst yiq = (r * 299 + g * 587 + b * 114) / 1000;\n\treturn yiq >= 128 ? -1 : 1;\n};\n\ntype ColorPair<T> = {\n\tbackground: T;\n\tforeground: T;\n};\n\nexport type ColorContrast<T> = ColorPair<T> & {\n\tcontrast: number;\n};\n\n// ts-prune-ignore-next\nexport const calcColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tconst color: RGB = [\n\t\tMath.max(Math.min(Math.round(contrastColor[0] + dir * Math.max(1, contrastColor[0] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[1] + dir * Math.max(1, contrastColor[1] / 100)), 255), 0),\n\t\tMath.max(Math.min(Math.round(contrastColor[2] + dir * Math.max(1, contrastColor[2] / 100)), 255), 0),\n\t];\n\tconst contrast = hex(rgbaConvert.hex(`rgba(${baseColor.join(',')},1)`), rgbaConvert.hex(`rgba(${color.join(',')},1)`));\n\tconst summe = color[0] + color[1] + color[2];\n\tif (summe === 0 || summe === 765 || contrast > ratio) {\n\t\treturn {\n\t\t\tbackground: baseColor,\n\t\t\tforeground: color,\n\t\t\tcontrast,\n\t\t};\n\t} else {\n\t\treturn calcColorContrast(baseColor, color, ratio, dir);\n\t}\n};\n\nconst cache: Map<unknown, ColorContrast<RGB>> = new Map();\n\n// ts-prune-ignore-next\nexport const getColorContrast = (baseColor: RGB, contrastColor: RGB, ratio: number, dir = 1): ColorContrast<RGB> => {\n\tif (cache.has(baseColor)) {\n\t\treturn cache.get(baseColor) as ColorContrast<RGB>;\n\t}\n\tconst color = calcColorContrast(baseColor, contrastColor, ratio, dir);\n\tcache.set(baseColor, color);\n\treturn color;\n};\n\nexport const createContrastColorPair = (color: string | ColorPair<string>, contrastRatio = 7): ColorContrast<string> => {\n\tlet baseColor: RGBA = [0, 0, 0, 1];\n\tlet contrastColor: RGBA = [255, 255, 255, 1];\n\tif (typeof color === 'string') {\n\t\tbaseColor = colorRgba(color);\n\t\tcontrastColor = baseColor;\n\t} else if (typeof color === 'object' && color !== null && typeof color.background === 'string' && typeof color.foreground === 'string') {\n\t\tbaseColor = colorRgba(color.background);\n\t\tif (typeof color.foreground === 'string') {\n\t\t\tcontrastColor = colorRgba(color.foreground);\n\t\t} else {\n\t\t\tcontrastColor = baseColor;\n\t\t}\n\t}\n\tconst yiq = getContrastYIQ(baseColor[0], baseColor[1], baseColor[2]);\n\tconst colorContrast = getColorContrast(\n\t\t[baseColor[0], baseColor[1], baseColor[2]],\n\t\t[contrastColor[0], contrastColor[1], contrastColor[2]],\n\t\tcontrastRatio,\n\t\tyiq\n\t);\n\tcontrastColor = [...colorContrast.foreground, 1];\n\n\treturn {\n\t\tbackground: rgbaConvert.hex(`rgba(${baseColor.join(',')})`),\n\t\tforeground: rgbaConvert.hex(`rgba(${contrastColor.join(',')})`),\n\t\tcontrast: colorContrast.contrast,\n\t};\n};\n","@import '../style.css';\n\n:host > span {\n\tdisplay: inline-flex;\n\tplace-items: center;\n}\n:host > span > kol-button-wc button {\n\tcolor: inherit;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { a11yHint, devHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchValidator } from '../../utils/prop.validators';\nimport { validateLabel } from '../../types/props/label';\nimport { ColorContrast, createContrastColorPair } from './contrast';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\nconst HACK_REG_EX = /^([a-f0-9]{3}|[a-f0-9]{6})$/;\n\nexport type KoliBriColor = {\n\tbackgroundColor: string;\n\tcolor: string;\n};\n\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\tcolor: Stringified<KoliBriColor>;\n\ticon: Stringified<KoliBriIconProp>;\n\ticonOnly: boolean;\n\tsmartButton: Stringified<ButtonProps>;\n};\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tcolor: Stringified<KoliBriColor>;\n\tlabel: string;\n};\ntype OptionalStates = {\n\tsmartButton: ButtonProps;\n};\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements Props {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._label}></kol-span-wc>\n\t\t\t\t\t{typeof this.state._smartButton === 'object' && this.state._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_ariaLabel={this.state._smartButton._ariaLabel}\n\t\t\t\t\t\t\t_customClass={this.state._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this.state._smartButton._icon}\n\t\t\t\t\t\t\t_iconOnly={true}\n\t\t\t\t\t\t\t_id={this.state._smartButton._id}\n\t\t\t\t\t\t\t_label={this.state._smartButton._label}\n\t\t\t\t\t\t\t_on={this.state._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this.state._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Setzt die Hintergrundfarbe.\n\t */\n\t@Prop() public _color?: string | KoliBriColor = '#000';\n\n\t/**\n\t * Iconklasse (z.B.: \"codicon codicon-home\")\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 * Setzt den sichtbaren Text des Elements.\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@State() public state: States = {\n\t\t_color: '#000',\n\t\t_label: '…', // ⚠ required\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tlet color = value as string | KoliBriColor;\n\t\tlet colorContrast: ColorContrast<string>;\n\t\tif (typeof color === 'string') {\n\t\t\tif (HACK_REG_EX.test(color)) {\n\t\t\t\t// Catch Breaking Change - remove next Major\n\t\t\t\tdevHint(\n\t\t\t\t\t`[KolBadge] Bitte verwenden Sie zukünftig nur noch das Standard-Farbformat für CSS (https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).`\n\t\t\t\t);\n\t\t\t\tcolor = `#${color}`;\n\t\t\t}\n\t\t\tcolorContrast = createContrastColorPair(color);\n\t\t} else {\n\t\t\tcolorContrast = createContrastColorPair({\n\t\t\t\tbackground: color.backgroundColor,\n\t\t\t\tforeground: color.color,\n\t\t\t});\n\t\t}\n\t\tif (colorContrast.contrast < 7) {\n\t\t\ta11yHint(\n\t\t\t\t`[KolBadge] The contrast of ${colorContrast.contrast} (≥7, AAA) is too low, between the color pair ${colorContrast.background} and ${colorContrast.foreground}.`\n\t\t\t);\n\t\t}\n\t\tthis.bgColorStr = colorContrast.background;\n\t\tthis.colorStr = colorContrast.foreground;\n\t};\n\n\t@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@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabel(this, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\tif (typeof value === 'string' && value.length > 32) {\n\t\t\t\t\t\ta11yHint(`[KolBadge] The label is too long for a badge (${value.length} > 32).`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyleCss","featureHint","KolBadge","this","bgColorStr","colorStr","handleColorChange","value","colorPair","backgroundColor","foregroundColor","_color","_label","render","h","Host","class","state","_smartButton","style","color","_icon","_iconOnly","_ariaLabel","_customClass","_disabled","_id","_on","_tooltipAlign","_variant","validateColor","defaultValue","hooks","beforePatch","validateLabel","afterPatch","length","a11yHint","validateSmartButton","objectObjectHandler","parseJson","e","setState","componentWillLoad"],"sources":["./src/components/badge/style.css?tag=kol-badge&mode=default&encapsulation=shadow","./src/components/badge/component.tsx"],"sourcesContent":["@import '../style.css';\n\n:host > span {\n\tdisplay: inline-flex;\n\tplace-items: center;\n}\n:host > span > kol-button-wc button {\n\tcolor: inherit;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { ColorPair, handleColorChange, PropColor, validateColor } from '../../types/props/color';\nimport { validateLabel } from '../../types/props/label';\nimport { a11yHint, featureHint } from '../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState } from '../../utils/prop.validators';\n\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\ntype RequiredProps = {\n\tlabel: string;\n};\ntype OptionalProps = {\n\tcolor: Stringified<PropColor>;\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: ColorPair;\n\tlabel: string;\n};\ntype OptionalStates = {\n\tsmartButton: ButtonProps;\n};\nexport type States = Generic.Element.Members<RequiredStates, OptionalStates>;\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements Props {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this._icon} _iconOnly={this._iconOnly} _label={this.state._label}></kol-span-wc>\n\t\t\t\t\t{typeof this.state._smartButton === 'object' && this.state._smartButton !== null && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\t_ariaLabel={this.state._smartButton._ariaLabel}\n\t\t\t\t\t\t\t_customClass={this.state._smartButton._customClass}\n\t\t\t\t\t\t\t_disabled={this.state._smartButton._disabled}\n\t\t\t\t\t\t\t_icon={this.state._smartButton._icon}\n\t\t\t\t\t\t\t_iconOnly={true}\n\t\t\t\t\t\t\t_id={this.state._smartButton._id}\n\t\t\t\t\t\t\t_label={this.state._smartButton._label}\n\t\t\t\t\t\t\t_on={this.state._smartButton._on}\n\t\t\t\t\t\t\t_tooltipAlign={this.state._smartButton._tooltipAlign}\n\t\t\t\t\t\t\t_variant={this.state._smartButton._variant}\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Setzt die Hintergrundfarbe.\n\t */\n\t@Prop() public _color?: Stringified<PropColor> = '#000';\n\n\t/**\n\t * Iconklasse (z.B.: \"codicon codicon-home\")\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 * Setzt den sichtbaren Text des Elements.\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@State() public state: States = {\n\t\t_color: {\n\t\t\tbackgroundColor: '#000',\n\t\t\tforegroundColor: '#fff',\n\t\t},\n\t\t_label: '…', // ⚠ required\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tconst colorPair = handleColorChange(value);\n\t\tthis.bgColorStr = colorPair.backgroundColor;\n\t\tthis.colorStr = colorPair.foregroundColor as string;\n\t};\n\n\t@Watch('_color')\n\tpublic validateColor(value?: Stringified<PropColor>): void {\n\t\tvalidateColor(this, value, {\n\t\t\tdefaultValue: '#000',\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabel(this, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\tif (typeof value === 'string' && value.length > 32) {\n\t\t\t\t\t\ta11yHint(`[KolBadge] The label is too long for a badge (${value.length} > 32).`);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"mappings":";;;yVAAA,MAAMA,EAAkB,quBCWxBC,EAAY,uE,MA6BCC,EAAQ,M,yBACZC,KAAAC,WAAa,OACbD,KAAAE,SAAW,OAmEXF,KAAAG,kBAAqBC,IAC5B,MAAMC,EAAYF,EAAkBC,GACpCJ,KAAKC,WAAaI,EAAUC,gBAC5BN,KAAKE,SAAWG,EAAUE,eAAyB,E,YAjCH,O,oCAUK,M,6DAYtB,CAC/BC,OAAQ,CACPF,gBAAiB,OACjBC,gBAAiB,QAElBE,OAAQ,I,CA9DFC,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,QACCE,MAAO,CACN,sBAAuBb,KAAKc,MAAMC,eAAiB,UAAYf,KAAKc,MAAMC,eAAiB,MAE5FC,MAAO,CACNV,gBAAiBN,KAAKC,WACtBgB,MAAOjB,KAAKE,WAGbS,EAAA,eAAaO,MAAOlB,KAAKkB,MAAOC,UAAWnB,KAAKmB,UAAWV,OAAQT,KAAKc,MAAML,gBACtET,KAAKc,MAAMC,eAAiB,UAAYf,KAAKc,MAAMC,eAAiB,MAC3EJ,EAAA,iBACCS,WAAYpB,KAAKc,MAAMC,aAAaK,WACpCC,aAAcrB,KAAKc,MAAMC,aAAaM,aACtCC,UAAWtB,KAAKc,MAAMC,aAAaO,UACnCJ,MAAOlB,KAAKc,MAAMC,aAAaG,MAC/BC,UAAW,KACXI,IAAKvB,KAAKc,MAAMC,aAAaQ,IAC7Bd,OAAQT,KAAKc,MAAMC,aAAaN,OAChCe,IAAKxB,KAAKc,MAAMC,aAAaS,IAC7BC,cAAezB,KAAKc,MAAMC,aAAaU,cACvCC,SAAU1B,KAAKc,MAAMC,aAAaW,Y,CAgDjCC,cAAcvB,GACpBuB,EAAc3B,KAAMI,EAAO,CAC1BwB,aAAc,OACdC,MAAO,CACNC,YAAa9B,KAAKG,oB,CAMd4B,cAAc3B,GACpB2B,EAAc/B,KAAMI,EAAO,CAC1ByB,MAAO,CACNG,WAAa5B,IACZ,UAAWA,IAAU,UAAYA,EAAM6B,OAAS,GAAI,CACnDC,EAAS,iDAAiD9B,EAAM6B,gB,MAQ9DE,oBAAoB/B,GAC1BgC,EAAoBhC,GAAO,KAC1B,IACCA,EAAQiC,EAAuBjC,E,CAE9B,MAAOkC,G,CAGTC,EAASvC,KAAM,eAAgBI,EAAM,G,CAIhCoC,oBACNxC,KAAK2B,cAAc3B,KAAKQ,QACxBR,KAAK+B,cAAc/B,KAAKS,QACxBT,KAAKmC,oBAAoBnC,KAAKe,a"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,F as e,H as a}from"./index-50adf9a0.js";import{b as n}from"./a11y.tipps-1cea9822.js";import{w as o}from"./prop.validators-e402ad49.js";import{w as r}from"./validation-ab9a6c0d.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";import"./index-81bd9b41.js";const s=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}ul,li{margin:0;padding:0;list-style:none;display:flex;gap:0.5em;flex-wrap:wrap;place-items:center}kol-icon::part(separator){font-weight:900;font-size:0.7em}kol-icon::part(separator)::before{content:'\\f054';font-family:'Font Awesome 6 Free'}",l=class{constructor(i){t(this,i),this._ariaLabel=void 0,this._links=void 0,this.state={_ariaLabel:"…",_links:[]}}render(){const t=this.state._links.length-1;return i(a,null,i("nav",{"aria-label":this.state._ariaLabel},i("ul",null,0===this.state._links.length&&i("li",null,i("kol-icon",{_ariaLabel:"",_icon:"codicon codicon-home"}),"…"),this.state._links.map(((a,n)=>i("li",{key:n},0!==n&&i("kol-icon",{_ariaLabel:"",_icon:"codicon codicon-chevron-right"}),n===t?i("span",null,a._iconOnly?i("kol-icon",{_ariaLabel:a._label,_icon:"string"==typeof a._icon?a._icon:"codicon codicon-symbol-event"}):i(e,null,a._label)):i("kol-link",Object.assign({_useCase:"nav"},a,{_ariaLabel:a._label}),a._label)))))))}validateAriaLabel(i){o(this,"_ariaLabel",i,{required:!0}),n(i)}validateLinks(i){r("KolBreadcrumb",this,i)}componentWillLoad(){this.validateAriaLabel(this._ariaLabel),this.validateLinks(this._links)}static get watchers(){return{_ariaLabel:["validateAriaLabel"],_links:["validateLinks"]}}};l.style={default:s};export{l as kol_breadcrumb};
4
+ import{r as i,h as a,F as t,H as e}from"./index-50adf9a0.js";import{b as n}from"./a11y.tipps-1cea9822.js";import{w as o}from"./prop.validators-e402ad49.js";import{w as r}from"./validation-ab9a6c0d.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";import"./index-81bd9b41.js";const s=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']){min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}ul,li{margin:0;padding:0;list-style:none;display:flex;gap:0.5em;flex-wrap:wrap;place-items:center}kol-icon::part(separator){font-weight:900;font-size:0.7em}kol-icon::part(separator)::before{content:'\\f054';font-family:'Font Awesome 6 Free'}",l=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 a(e,null,a("nav",{"aria-label":this.state._ariaLabel},a("ul",null,0===this.state._links.length&&a("li",null,a("kol-icon",{_ariaLabel:"",_icon:"codicon codicon-home"}),"…"),this.state._links.map(((e,n)=>a("li",{key:n},0!==n&&a("kol-icon",{_ariaLabel:"",_icon:"codicon codicon-chevron-right"}),n===i?a("span",null,e._iconOnly?a("kol-icon",{_ariaLabel:e._label,_icon:"string"==typeof e._icon?e._icon:"codicon codicon-symbol-event"}):a(t,null,e._label)):a("kol-link",Object.assign({_useCase:"nav"},e,{_ariaLabel:e._label}),e._label)))))))}validateAriaLabel(a){o(this,"_ariaLabel",a,{required:!0}),n(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:s};export{l 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","_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\nul,\nli {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tdisplay: flex;\n\tgap: 0.5em;\n\tflex-wrap: wrap;\n\tplace-items: center;\n}\n\nkol-icon::part(separator) {\n\tfont-weight: 900;\n\tfont-size: 0.7em;\n}\n\nkol-icon::part(separator)::before {\n\tcontent: '\\f054';\n\tfont-family: 'Font Awesome 6 Free';\n}\n","import { Component, Fragment, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { LinkProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { a11yHintLabelingLandmarks } from '../../utils/a11y.tipps';\nimport { watchString } from '../../utils/prop.validators';\nimport { watchNavLinks } from '../nav/validation';\n\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<LinkProps[]>;\n};\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaLabel: string;\n\tlinks: LinkProps[];\n};\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\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=\"codicon codicon-home\" />…\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=\"codicon codicon-chevron-right\" />}\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 : 'codicon codicon-symbol-event'} />\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 _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 * Setzt die Liste der darzustellenden Links.\n\t */\n\t@Prop() public _links!: Stringified<LinkProps[]>;\n\n\t@State() public state: States = {\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_links: [],\n\t};\n\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@Watch('_links')\n\tpublic validateLinks(value?: Stringified<LinkProps[]>): void {\n\t\twatchNavLinks('KolBreadcrumb', this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t}\n}\n"],"mappings":";;;iSAAA,MAAMA,EAAkB,wpC,MC8BXC,EAAa,M,oFAgDO,CAC/BC,WAAY,IACZC,OAAQ,G,CAjDFC,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,yBAAyB,KAGxDL,KAAKC,MAAMJ,OAAOS,KAAI,CAACC,EAAMC,IAE5BL,EAAA,MAAIM,IAAKD,GACPA,IAAU,GAAKL,EAAA,YAAUP,WAAW,GAAGS,MAAM,kCAC7CG,IAAUT,EACVI,EAAA,YACEI,EAAKG,UACLP,EAAA,YAAUP,WAAYW,EAAKI,OAAQN,aAAcE,EAAKF,QAAU,SAAWE,EAAKF,MAAQ,iCAExFF,EAACS,EAAQ,KAAEL,EAAKI,SAIlBR,EAAA,WAAAU,OAAAC,OAAA,CAAUC,SAAS,OAAUR,EAAI,CAAEX,WAAYW,EAAKI,SAClDJ,EAAKI,a,CA4BTK,kBAAkBC,GACxBC,EAAYlB,KAAM,aAAciB,EAAO,CACtCE,SAAU,OAEXC,EAA0BH,E,CAIpBI,cAAcJ,GACpBK,EAAc,gBAAiBtB,KAAMiB,E,CAG/BM,oBACNvB,KAAKgB,kBAAkBhB,KAAKJ,YAC5BI,KAAKqB,cAAcrB,KAAKH,O"}
1
+ {"version":3,"names":["defaultStyleCss","KolBreadcrumb","_ariaLabel","_links","render","lastIndex","this","state","length","h","Host","_icon","map","link","index","key","_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\nul,\nli {\n\tmargin: 0;\n\tpadding: 0;\n\tlist-style: none;\n\tdisplay: flex;\n\tgap: 0.5em;\n\tflex-wrap: wrap;\n\tplace-items: center;\n}\n\nkol-icon::part(separator) {\n\tfont-weight: 900;\n\tfont-size: 0.7em;\n}\n\nkol-icon::part(separator)::before {\n\tcontent: '\\f054';\n\tfont-family: 'Font Awesome 6 Free';\n}\n","import { Component, Fragment, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Generic } from '@a11y-ui/core';\nimport { LinkProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { a11yHintLabelingLandmarks } from '../../utils/a11y.tipps';\nimport { watchString } from '../../utils/prop.validators';\nimport { watchNavLinks } from '../nav/validation';\n\ntype RequiredProps = {\n\tariaLabel: string;\n\tlinks: Stringified<LinkProps[]>;\n};\ntype OptionalProps = unknown;\nexport type Props = Generic.Element.Members<RequiredProps, OptionalProps>;\n\ntype RequiredStates = {\n\tariaLabel: string;\n\tlinks: LinkProps[];\n};\ntype OptionalStates = OptionalProps;\ntype States = Generic.Element.Members<RequiredStates, OptionalStates>;\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=\"codicon codicon-home\" />…\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=\"codicon codicon-chevron-right\" />}\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 : 'codicon codicon-symbol-event'} />\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 _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 * Setzt die Liste der darzustellenden Links.\n\t */\n\t@Prop() public _links!: Stringified<LinkProps[]>;\n\n\t@State() public state: States = {\n\t\t_ariaLabel: '…', // '⚠'\n\t\t_links: [],\n\t};\n\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@Watch('_links')\n\tpublic validateLinks(value?: Stringified<LinkProps[]>): void {\n\t\twatchNavLinks('KolBreadcrumb', this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaLabel(this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t}\n}\n"],"mappings":";;;iSAAA,MAAMA,EAAkB,s3B,MC8BXC,EAAa,M,oFAgDO,CAC/BC,WAAY,IACZC,OAAQ,G,CAjDFC,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,yBAAyB,KAGxDL,KAAKC,MAAMJ,OAAOS,KAAI,CAACC,EAAMC,IAE5BL,EAAA,MAAIM,IAAKD,GACPA,IAAU,GAAKL,EAAA,YAAUP,WAAW,GAAGS,MAAM,kCAC7CG,IAAUT,EACVI,EAAA,YACEI,EAAKG,UACLP,EAAA,YAAUP,WAAYW,EAAKI,OAAQN,aAAcE,EAAKF,QAAU,SAAWE,EAAKF,MAAQ,iCAExFF,EAACS,EAAQ,KAAEL,EAAKI,SAIlBR,EAAA,WAAAU,OAAAC,OAAA,CAAUC,SAAS,OAAUR,EAAI,CAAEX,WAAYW,EAAKI,SAClDJ,EAAKI,a,CA4BTK,kBAAkBC,GACxBC,EAAYlB,KAAM,aAAciB,EAAO,CACtCE,SAAU,OAEXC,EAA0BH,E,CAIpBI,cAAcJ,GACpBK,EAAc,gBAAiBtB,KAAMiB,E,CAG/BM,oBACNvB,KAAKgB,kBAAkBhB,KAAKJ,YAC5BI,KAAKqB,cAAcrB,KAAKH,O"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as n,H as e}from"./index-50adf9a0.js";const i=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']),input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],option,select,textarea{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>kol-button-group-wc{display:inline-flex;flex-wrap:wrap}",o=class{constructor(n){t(this,n)}render(){return n(e,null,n("kol-button-group-wc",null,n("slot",null)))}};o.style={default:i};export{o as kol_button_group};
4
+ import{r as t,h as n,H as o}from"./index-50adf9a0.js";const i=":host{--a11y-min-size:44px}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}*[role='button'],button:not([role='link']){min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}a,button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host>kol-button-group-wc{display:inline-flex;flex-wrap:wrap}",a=class{constructor(n){t(this,n)}render(){return n(o,null,n("kol-button-group-wc",null,n("slot",null)))}};a.style={default:i};export{a as kol_button_group};