@public-ui/components 2.0.8 → 2.0.9

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 (705) hide show
  1. package/custom-elements.json +1 -1
  2. package/dist/cjs/{InternalUnderlinedAccessKey-d747e37e.js → InternalUnderlinedAccessKey-5b714ef5.js} +1 -1
  3. package/dist/cjs/{InternalUnderlinedAccessKey-d747e37e.js.map → InternalUnderlinedAccessKey-5b714ef5.js.map} +1 -1
  4. package/dist/cjs/{align-floating-elements-d36239e1.js → align-floating-elements-5e1a7195.js} +1 -1
  5. package/dist/cjs/{align-floating-elements-d36239e1.js.map → align-floating-elements-5e1a7195.js.map} +1 -1
  6. package/dist/cjs/app-globals-2e330721.js +4 -0
  7. package/dist/cjs/app-globals-2e330721.js.map +1 -0
  8. package/dist/cjs/{associated.controller-bb6795bd.js → associated.controller-a6eb85af.js} +1 -1
  9. package/dist/cjs/{associated.controller-bb6795bd.js.map → associated.controller-a6eb85af.js.map} +1 -1
  10. package/dist/cjs/{controller-8eb9efb3.js → controller-3b669735.js} +1 -1
  11. package/dist/cjs/{controller-8eb9efb3.js.map → controller-3b669735.js.map} +1 -1
  12. package/dist/cjs/{controller-33e76eb0.js → controller-3fe71201.js} +1 -1
  13. package/dist/cjs/{controller-33e76eb0.js.map → controller-3fe71201.js.map} +1 -1
  14. package/dist/cjs/{controller-1cba321f.js → controller-425ed194.js} +1 -1
  15. package/dist/cjs/{controller-1cba321f.js.map → controller-425ed194.js.map} +1 -1
  16. package/dist/cjs/{controller-99f96990.js → controller-5b9d2323.js} +1 -1
  17. package/dist/cjs/{controller-99f96990.js.map → controller-5b9d2323.js.map} +1 -1
  18. package/dist/cjs/{controller-9b9d5459.js → controller-853319f9.js} +1 -1
  19. package/dist/cjs/{controller-9b9d5459.js.map → controller-853319f9.js.map} +1 -1
  20. package/dist/cjs/{controller-icon-e8abc692.js → controller-icon-d10a4ba1.js} +1 -1
  21. package/dist/cjs/{controller-icon-e8abc692.js.map → controller-icon-d10a4ba1.js.map} +1 -1
  22. package/dist/cjs/dev.utils-9b501ccc.js +4 -0
  23. package/dist/cjs/dev.utils-9b501ccc.js.map +1 -0
  24. package/dist/cjs/devtools-89984454.js +4 -0
  25. package/dist/cjs/devtools-89984454.js.map +1 -0
  26. package/dist/cjs/form-field-msg-e5b32f21.js +4 -0
  27. package/dist/cjs/form-field-msg-e5b32f21.js.map +1 -0
  28. package/dist/cjs/i18n-244e23b9.js +4 -0
  29. package/dist/cjs/i18n-244e23b9.js.map +1 -0
  30. package/dist/cjs/i18n-c3fa5bd7.js +4 -0
  31. package/dist/cjs/i18n-c3fa5bd7.js.map +1 -0
  32. package/dist/cjs/index-2ec36735.js +4 -0
  33. package/dist/cjs/index-2ec36735.js.map +1 -0
  34. package/dist/cjs/index-5c89abf7.js +4 -0
  35. package/dist/cjs/index-5c89abf7.js.map +1 -0
  36. package/dist/cjs/index.cjs.js +1 -1
  37. package/dist/cjs/index.cjs.js.map +1 -1
  38. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  39. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  40. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  42. package/dist/cjs/kol-alert-wc_3.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +1 -1
  44. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  46. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
  48. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  50. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  52. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  54. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +1 -1
  56. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  62. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  64. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  68. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  70. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  72. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  74. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  76. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  84. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  88. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  110. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  112. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-span-wc_2.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  135. package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
  136. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  137. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  138. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  139. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  140. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  141. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  142. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  143. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
  144. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
  145. package/dist/cjs/kol-tree-item-wc.cjs.entry.js.map +1 -1
  146. package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
  147. package/dist/cjs/kol-tree-item.cjs.entry.js.map +1 -1
  148. package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
  149. package/dist/cjs/kol-tree-wc.cjs.entry.js.map +1 -1
  150. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  151. package/dist/cjs/kol-tree.cjs.entry.js.map +1 -1
  152. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  153. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  154. package/dist/cjs/kolibri.cjs.js +1 -1
  155. package/dist/cjs/kolibri.cjs.js.map +1 -1
  156. package/dist/cjs/loader.cjs.js +1 -1
  157. package/dist/cjs/loader.cjs.js.map +1 -1
  158. package/dist/cjs/{validation-d8534dca.js → validation-09d15540.js} +1 -1
  159. package/dist/cjs/{validation-d8534dca.js.map → validation-09d15540.js.map} +1 -1
  160. package/dist/cjs/{validation-86066145.js → validation-7b1b3488.js} +1 -1
  161. package/dist/cjs/{validation-86066145.js.map → validation-7b1b3488.js.map} +1 -1
  162. package/dist/components/component.js +1 -1
  163. package/dist/components/component.js.map +1 -1
  164. package/dist/components/component10.js +1 -1
  165. package/dist/components/component10.js.map +1 -1
  166. package/dist/components/component11.js +1 -1
  167. package/dist/components/component11.js.map +1 -1
  168. package/dist/components/component12.js +1 -1
  169. package/dist/components/component12.js.map +1 -1
  170. package/dist/components/component13.js +1 -1
  171. package/dist/components/component13.js.map +1 -1
  172. package/dist/components/component14.js +1 -1
  173. package/dist/components/component14.js.map +1 -1
  174. package/dist/components/component15.js +1 -1
  175. package/dist/components/component15.js.map +1 -1
  176. package/dist/components/component16.js +1 -1
  177. package/dist/components/component16.js.map +1 -1
  178. package/dist/components/component2.js +1 -1
  179. package/dist/components/component2.js.map +1 -1
  180. package/dist/components/component3.js +1 -1
  181. package/dist/components/component3.js.map +1 -1
  182. package/dist/components/component4.js +1 -1
  183. package/dist/components/component4.js.map +1 -1
  184. package/dist/components/component5.js +1 -1
  185. package/dist/components/component5.js.map +1 -1
  186. package/dist/components/component6.js +1 -1
  187. package/dist/components/component6.js.map +1 -1
  188. package/dist/components/component7.js +1 -1
  189. package/dist/components/component7.js.map +1 -1
  190. package/dist/components/component8.js +1 -1
  191. package/dist/components/component8.js.map +1 -1
  192. package/dist/components/component9.js +1 -1
  193. package/dist/components/component9.js.map +1 -1
  194. package/dist/components/controller-icon.js +1 -1
  195. package/dist/components/controller.js +1 -1
  196. package/dist/components/controller2.js +1 -1
  197. package/dist/components/controller3.js +1 -1
  198. package/dist/components/controller4.js +1 -1
  199. package/dist/components/dev.utils.js +1 -1
  200. package/dist/components/dev.utils.js.map +1 -1
  201. package/dist/components/devtools.js +1 -1
  202. package/dist/components/devtools.js.map +1 -1
  203. package/dist/components/i18n.js +1 -1
  204. package/dist/components/i18n.js.map +1 -1
  205. package/dist/components/i18n2.js +4 -0
  206. package/dist/components/i18n2.js.map +1 -0
  207. package/dist/components/index.js +1 -1
  208. package/dist/components/index.js.map +1 -1
  209. package/dist/components/index2.js +1 -1
  210. package/dist/components/index2.js.map +1 -1
  211. package/dist/components/kol-abbr.js +1 -1
  212. package/dist/components/kol-abbr.js.map +1 -1
  213. package/dist/components/kol-accordion.js +1 -1
  214. package/dist/components/kol-accordion.js.map +1 -1
  215. package/dist/components/kol-avatar.js +1 -1
  216. package/dist/components/kol-avatar.js.map +1 -1
  217. package/dist/components/kol-breadcrumb.js +1 -1
  218. package/dist/components/kol-breadcrumb.js.map +1 -1
  219. package/dist/components/kol-button-group.js +1 -1
  220. package/dist/components/kol-button-group.js.map +1 -1
  221. package/dist/components/kol-button-link.js +1 -1
  222. package/dist/components/kol-button-link.js.map +1 -1
  223. package/dist/components/kol-card.js +1 -1
  224. package/dist/components/kol-card.js.map +1 -1
  225. package/dist/components/kol-details.js +1 -1
  226. package/dist/components/kol-details.js.map +1 -1
  227. package/dist/components/kol-form.js +1 -1
  228. package/dist/components/kol-form.js.map +1 -1
  229. package/dist/components/kol-heading.js +1 -1
  230. package/dist/components/kol-heading.js.map +1 -1
  231. package/dist/components/kol-image.js +1 -1
  232. package/dist/components/kol-image.js.map +1 -1
  233. package/dist/components/kol-input-checkbox.js +1 -1
  234. package/dist/components/kol-input-checkbox.js.map +1 -1
  235. package/dist/components/kol-input-color.js +1 -1
  236. package/dist/components/kol-input-color.js.map +1 -1
  237. package/dist/components/kol-input-date.js +1 -1
  238. package/dist/components/kol-input-date.js.map +1 -1
  239. package/dist/components/kol-input-email.js +1 -1
  240. package/dist/components/kol-input-email.js.map +1 -1
  241. package/dist/components/kol-input-file.js +1 -1
  242. package/dist/components/kol-input-file.js.map +1 -1
  243. package/dist/components/kol-input-number.js +1 -1
  244. package/dist/components/kol-input-number.js.map +1 -1
  245. package/dist/components/kol-input-password.js +1 -1
  246. package/dist/components/kol-input-password.js.map +1 -1
  247. package/dist/components/kol-input-radio.js +1 -1
  248. package/dist/components/kol-input-radio.js.map +1 -1
  249. package/dist/components/kol-input-range.js +1 -1
  250. package/dist/components/kol-input-range.js.map +1 -1
  251. package/dist/components/kol-input-text.js +1 -1
  252. package/dist/components/kol-input-text.js.map +1 -1
  253. package/dist/components/kol-kolibri.js +1 -1
  254. package/dist/components/kol-kolibri.js.map +1 -1
  255. package/dist/components/kol-link-button.js +1 -1
  256. package/dist/components/kol-link-button.js.map +1 -1
  257. package/dist/components/kol-link-group.js +1 -1
  258. package/dist/components/kol-link-group.js.map +1 -1
  259. package/dist/components/kol-logo.js +1 -1
  260. package/dist/components/kol-logo.js.map +1 -1
  261. package/dist/components/kol-modal.js +1 -1
  262. package/dist/components/kol-modal.js.map +1 -1
  263. package/dist/components/kol-nav.js +1 -1
  264. package/dist/components/kol-nav.js.map +1 -1
  265. package/dist/components/kol-popover-wc.js +1 -1
  266. package/dist/components/kol-popover-wc.js.map +1 -1
  267. package/dist/components/kol-progress.js +1 -1
  268. package/dist/components/kol-progress.js.map +1 -1
  269. package/dist/components/kol-quote.js +1 -1
  270. package/dist/components/kol-quote.js.map +1 -1
  271. package/dist/components/kol-skip-nav.js +1 -1
  272. package/dist/components/kol-skip-nav.js.map +1 -1
  273. package/dist/components/kol-span.js +1 -1
  274. package/dist/components/kol-span.js.map +1 -1
  275. package/dist/components/kol-spin.js +1 -1
  276. package/dist/components/kol-spin.js.map +1 -1
  277. package/dist/components/kol-split-button.js +1 -1
  278. package/dist/components/kol-split-button.js.map +1 -1
  279. package/dist/components/kol-symbol.js +1 -1
  280. package/dist/components/kol-symbol.js.map +1 -1
  281. package/dist/components/kol-table.js +1 -1
  282. package/dist/components/kol-table.js.map +1 -1
  283. package/dist/components/kol-tabs.js +1 -1
  284. package/dist/components/kol-tabs.js.map +1 -1
  285. package/dist/components/kol-textarea.js +1 -1
  286. package/dist/components/kol-textarea.js.map +1 -1
  287. package/dist/components/kol-toast-container.js +1 -1
  288. package/dist/components/kol-toast-container.js.map +1 -1
  289. package/dist/components/kol-tree-item.js +1 -1
  290. package/dist/components/kol-tree-item.js.map +1 -1
  291. package/dist/components/kol-tree.js +1 -1
  292. package/dist/components/kol-tree.js.map +1 -1
  293. package/dist/components/kol-version.js +1 -1
  294. package/dist/components/kol-version.js.map +1 -1
  295. package/dist/components/shadow.js +1 -1
  296. package/dist/components/shadow.js.map +1 -1
  297. package/dist/components/shadow2.js +1 -1
  298. package/dist/components/shadow2.js.map +1 -1
  299. package/dist/components/shadow3.js +1 -1
  300. package/dist/components/shadow3.js.map +1 -1
  301. package/dist/components/validation.js +1 -1
  302. package/dist/esm/{InternalUnderlinedAccessKey-2cbdead6.js → InternalUnderlinedAccessKey-d7c17bf1.js} +1 -1
  303. package/dist/esm/{InternalUnderlinedAccessKey-2cbdead6.js.map → InternalUnderlinedAccessKey-d7c17bf1.js.map} +1 -1
  304. package/dist/esm/{align-floating-elements-477c7acb.js → align-floating-elements-98d5b72a.js} +1 -1
  305. package/dist/esm/{align-floating-elements-477c7acb.js.map → align-floating-elements-98d5b72a.js.map} +1 -1
  306. package/dist/esm/app-globals-021e97fa.js +4 -0
  307. package/dist/esm/app-globals-021e97fa.js.map +1 -0
  308. package/dist/esm/associated.controller-8fccc6c0.js +4 -0
  309. package/dist/esm/{associated.controller-3f6bde32.js.map → associated.controller-8fccc6c0.js.map} +1 -1
  310. package/dist/esm/{controller-49b01330.js → controller-147855ed.js} +1 -1
  311. package/dist/esm/{controller-49b01330.js.map → controller-147855ed.js.map} +1 -1
  312. package/dist/esm/controller-6fe6eac8.js +4 -0
  313. package/dist/esm/{controller-ec7c96d6.js.map → controller-6fe6eac8.js.map} +1 -1
  314. package/dist/esm/{controller-0ea2a876.js → controller-8a87c04f.js} +1 -1
  315. package/dist/esm/{controller-0ea2a876.js.map → controller-8a87c04f.js.map} +1 -1
  316. package/dist/esm/{controller-b21789f7.js → controller-becdf4a7.js} +1 -1
  317. package/dist/esm/{controller-b21789f7.js.map → controller-becdf4a7.js.map} +1 -1
  318. package/dist/esm/{controller-4e891541.js → controller-e8dcda30.js} +1 -1
  319. package/dist/esm/{controller-4e891541.js.map → controller-e8dcda30.js.map} +1 -1
  320. package/dist/esm/{controller-icon-03261e4e.js → controller-icon-7ccd08c2.js} +1 -1
  321. package/dist/esm/{controller-icon-03261e4e.js.map → controller-icon-7ccd08c2.js.map} +1 -1
  322. package/dist/esm/dev.utils-128eb6c5.js +4 -0
  323. package/dist/esm/dev.utils-128eb6c5.js.map +1 -0
  324. package/dist/esm/devtools-8d83fa27.js +4 -0
  325. package/dist/esm/devtools-8d83fa27.js.map +1 -0
  326. package/dist/esm/form-field-msg-610b9203.js +4 -0
  327. package/dist/esm/form-field-msg-610b9203.js.map +1 -0
  328. package/dist/esm/i18n-b4a93d2a.js +4 -0
  329. package/dist/esm/i18n-b4a93d2a.js.map +1 -0
  330. package/dist/esm/i18n-fddf0324.js +4 -0
  331. package/dist/esm/i18n-fddf0324.js.map +1 -0
  332. package/dist/esm/index-1c7e13d0.js +4 -0
  333. package/dist/esm/index-1c7e13d0.js.map +1 -0
  334. package/dist/esm/index-8d6fcece.js +4 -0
  335. package/dist/esm/index-8d6fcece.js.map +1 -0
  336. package/dist/esm/index.js +1 -1
  337. package/dist/esm/index.js.map +1 -1
  338. package/dist/esm/kol-abbr.entry.js +1 -1
  339. package/dist/esm/kol-abbr.entry.js.map +1 -1
  340. package/dist/esm/kol-accordion.entry.js +1 -1
  341. package/dist/esm/kol-accordion.entry.js.map +1 -1
  342. package/dist/esm/kol-alert-wc_3.entry.js +1 -1
  343. package/dist/esm/kol-alert-wc_3.entry.js.map +1 -1
  344. package/dist/esm/kol-alert.entry.js +1 -1
  345. package/dist/esm/kol-alert.entry.js.map +1 -1
  346. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  347. package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
  348. package/dist/esm/kol-avatar.entry.js +1 -1
  349. package/dist/esm/kol-avatar.entry.js.map +1 -1
  350. package/dist/esm/kol-badge.entry.js +1 -1
  351. package/dist/esm/kol-badge.entry.js.map +1 -1
  352. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  353. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  354. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  355. package/dist/esm/kol-button-group-wc.entry.js.map +1 -1
  356. package/dist/esm/kol-button-group.entry.js +1 -1
  357. package/dist/esm/kol-button-group.entry.js.map +1 -1
  358. package/dist/esm/kol-button-link.entry.js +1 -1
  359. package/dist/esm/kol-button-link.entry.js.map +1 -1
  360. package/dist/esm/kol-button.entry.js +1 -1
  361. package/dist/esm/kol-button.entry.js.map +1 -1
  362. package/dist/esm/kol-card.entry.js +1 -1
  363. package/dist/esm/kol-card.entry.js.map +1 -1
  364. package/dist/esm/kol-details.entry.js +1 -1
  365. package/dist/esm/kol-details.entry.js.map +1 -1
  366. package/dist/esm/kol-form.entry.js +1 -1
  367. package/dist/esm/kol-form.entry.js.map +1 -1
  368. package/dist/esm/kol-heading.entry.js +1 -1
  369. package/dist/esm/kol-heading.entry.js.map +1 -1
  370. package/dist/esm/kol-icon.entry.js +1 -1
  371. package/dist/esm/kol-icon.entry.js.map +1 -1
  372. package/dist/esm/kol-image.entry.js +1 -1
  373. package/dist/esm/kol-image.entry.js.map +1 -1
  374. package/dist/esm/kol-indented-text.entry.js +1 -1
  375. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  376. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  377. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  378. package/dist/esm/kol-input-color.entry.js +1 -1
  379. package/dist/esm/kol-input-color.entry.js.map +1 -1
  380. package/dist/esm/kol-input-date.entry.js +1 -1
  381. package/dist/esm/kol-input-date.entry.js.map +1 -1
  382. package/dist/esm/kol-input-email.entry.js +1 -1
  383. package/dist/esm/kol-input-email.entry.js.map +1 -1
  384. package/dist/esm/kol-input-file.entry.js +1 -1
  385. package/dist/esm/kol-input-file.entry.js.map +1 -1
  386. package/dist/esm/kol-input-number.entry.js +1 -1
  387. package/dist/esm/kol-input-number.entry.js.map +1 -1
  388. package/dist/esm/kol-input-password.entry.js +1 -1
  389. package/dist/esm/kol-input-password.entry.js.map +1 -1
  390. package/dist/esm/kol-input-radio.entry.js +1 -1
  391. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  392. package/dist/esm/kol-input-range.entry.js +1 -1
  393. package/dist/esm/kol-input-range.entry.js.map +1 -1
  394. package/dist/esm/kol-input-text.entry.js +1 -1
  395. package/dist/esm/kol-input-text.entry.js.map +1 -1
  396. package/dist/esm/kol-input.entry.js +1 -1
  397. package/dist/esm/kol-input.entry.js.map +1 -1
  398. package/dist/esm/kol-kolibri.entry.js +1 -1
  399. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  400. package/dist/esm/kol-link-button.entry.js +1 -1
  401. package/dist/esm/kol-link-button.entry.js.map +1 -1
  402. package/dist/esm/kol-link-group.entry.js +1 -1
  403. package/dist/esm/kol-link-group.entry.js.map +1 -1
  404. package/dist/esm/kol-link-wc.entry.js +1 -1
  405. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  406. package/dist/esm/kol-link.entry.js +1 -1
  407. package/dist/esm/kol-link.entry.js.map +1 -1
  408. package/dist/esm/kol-logo.entry.js +1 -1
  409. package/dist/esm/kol-logo.entry.js.map +1 -1
  410. package/dist/esm/kol-modal.entry.js +1 -1
  411. package/dist/esm/kol-modal.entry.js.map +1 -1
  412. package/dist/esm/kol-nav.entry.js +1 -1
  413. package/dist/esm/kol-nav.entry.js.map +1 -1
  414. package/dist/esm/kol-pagination.entry.js +1 -1
  415. package/dist/esm/kol-pagination.entry.js.map +1 -1
  416. package/dist/esm/kol-popover-wc.entry.js +1 -1
  417. package/dist/esm/kol-popover-wc.entry.js.map +1 -1
  418. package/dist/esm/kol-progress.entry.js +1 -1
  419. package/dist/esm/kol-progress.entry.js.map +1 -1
  420. package/dist/esm/kol-quote.entry.js +1 -1
  421. package/dist/esm/kol-quote.entry.js.map +1 -1
  422. package/dist/esm/kol-select.entry.js +1 -1
  423. package/dist/esm/kol-select.entry.js.map +1 -1
  424. package/dist/esm/kol-skip-nav.entry.js +1 -1
  425. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  426. package/dist/esm/kol-span-wc_2.entry.js +1 -1
  427. package/dist/esm/kol-span-wc_2.entry.js.map +1 -1
  428. package/dist/esm/kol-span.entry.js +1 -1
  429. package/dist/esm/kol-span.entry.js.map +1 -1
  430. package/dist/esm/kol-spin.entry.js +1 -1
  431. package/dist/esm/kol-spin.entry.js.map +1 -1
  432. package/dist/esm/kol-split-button.entry.js +1 -1
  433. package/dist/esm/kol-split-button.entry.js.map +1 -1
  434. package/dist/esm/kol-symbol.entry.js +1 -1
  435. package/dist/esm/kol-symbol.entry.js.map +1 -1
  436. package/dist/esm/kol-table.entry.js +1 -1
  437. package/dist/esm/kol-table.entry.js.map +1 -1
  438. package/dist/esm/kol-tabs.entry.js +1 -1
  439. package/dist/esm/kol-tabs.entry.js.map +1 -1
  440. package/dist/esm/kol-textarea.entry.js +1 -1
  441. package/dist/esm/kol-textarea.entry.js.map +1 -1
  442. package/dist/esm/kol-toast-container.entry.js +1 -1
  443. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  444. package/dist/esm/kol-tree-item-wc.entry.js +1 -1
  445. package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
  446. package/dist/esm/kol-tree-item.entry.js +1 -1
  447. package/dist/esm/kol-tree-item.entry.js.map +1 -1
  448. package/dist/esm/kol-tree-wc.entry.js +1 -1
  449. package/dist/esm/kol-tree-wc.entry.js.map +1 -1
  450. package/dist/esm/kol-tree.entry.js +1 -1
  451. package/dist/esm/kol-tree.entry.js.map +1 -1
  452. package/dist/esm/kol-version.entry.js +1 -1
  453. package/dist/esm/kol-version.entry.js.map +1 -1
  454. package/dist/esm/kolibri.js +1 -1
  455. package/dist/esm/kolibri.js.map +1 -1
  456. package/dist/esm/loader.js +1 -1
  457. package/dist/esm/loader.js.map +1 -1
  458. package/dist/esm/validation-76684103.js +4 -0
  459. package/dist/esm/{validation-6a9d569a.js.map → validation-76684103.js.map} +1 -1
  460. package/dist/esm/validation-ad9e4cbd.js +4 -0
  461. package/dist/esm/{validation-cd55e47b.js.map → validation-ad9e4cbd.js.map} +1 -1
  462. package/dist/kolibri/{InternalUnderlinedAccessKey-2cbdead6.js → InternalUnderlinedAccessKey-d7c17bf1.js} +1 -1
  463. package/dist/kolibri/{align-floating-elements-477c7acb.js → align-floating-elements-98d5b72a.js} +1 -1
  464. package/dist/kolibri/app-globals-021e97fa.js +4 -0
  465. package/dist/kolibri/app-globals-021e97fa.js.map +1 -0
  466. package/dist/kolibri/assets/style.css +17 -17
  467. package/dist/kolibri/associated.controller-8fccc6c0.js +4 -0
  468. package/dist/kolibri/{associated.controller-3f6bde32.js.map → associated.controller-8fccc6c0.js.map} +1 -1
  469. package/dist/kolibri/{controller-49b01330.js → controller-147855ed.js} +1 -1
  470. package/dist/kolibri/controller-6fe6eac8.js +4 -0
  471. package/dist/kolibri/{controller-ec7c96d6.js.map → controller-6fe6eac8.js.map} +1 -1
  472. package/dist/kolibri/{controller-0ea2a876.js → controller-8a87c04f.js} +1 -1
  473. package/dist/kolibri/{controller-b21789f7.js → controller-becdf4a7.js} +1 -1
  474. package/dist/kolibri/controller-e8dcda30.js +4 -0
  475. package/dist/kolibri/{controller-4e891541.js.map → controller-e8dcda30.js.map} +1 -1
  476. package/dist/kolibri/{controller-icon-03261e4e.js → controller-icon-7ccd08c2.js} +1 -1
  477. package/dist/kolibri/dev.utils-128eb6c5.js +4 -0
  478. package/dist/kolibri/dev.utils-128eb6c5.js.map +1 -0
  479. package/dist/kolibri/devtools-8d83fa27.js +4 -0
  480. package/dist/kolibri/devtools-8d83fa27.js.map +1 -0
  481. package/dist/kolibri/form-field-msg-610b9203.js +4 -0
  482. package/dist/kolibri/form-field-msg-610b9203.js.map +1 -0
  483. package/dist/kolibri/i18n-b4a93d2a.js +4 -0
  484. package/dist/kolibri/i18n-b4a93d2a.js.map +1 -0
  485. package/dist/kolibri/i18n-fddf0324.js +4 -0
  486. package/dist/kolibri/i18n-fddf0324.js.map +1 -0
  487. package/dist/kolibri/{index-62e5924b.js → index-1c7e13d0.js} +2 -2
  488. package/dist/kolibri/index-1c7e13d0.js.map +1 -0
  489. package/dist/kolibri/index-8d6fcece.js +4 -0
  490. package/dist/kolibri/index-8d6fcece.js.map +1 -0
  491. package/dist/kolibri/index.esm.js +1 -1
  492. package/dist/kolibri/index.esm.js.map +1 -1
  493. package/dist/kolibri/kol-abbr.entry.js +1 -1
  494. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  495. package/dist/kolibri/kol-accordion.entry.js +1 -1
  496. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  497. package/dist/kolibri/kol-alert-wc_3.entry.js +1 -1
  498. package/dist/kolibri/kol-alert-wc_3.entry.js.map +1 -1
  499. package/dist/kolibri/kol-alert.entry.js +1 -1
  500. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  501. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  502. package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
  503. package/dist/kolibri/kol-avatar.entry.js +1 -1
  504. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  505. package/dist/kolibri/kol-badge.entry.js +1 -1
  506. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  507. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  508. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  509. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  510. package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
  511. package/dist/kolibri/kol-button-group.entry.js +1 -1
  512. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  513. package/dist/kolibri/kol-button-link.entry.js +1 -1
  514. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  515. package/dist/kolibri/kol-button.entry.js +1 -1
  516. package/dist/kolibri/kol-button.entry.js.map +1 -1
  517. package/dist/kolibri/kol-card.entry.js +1 -1
  518. package/dist/kolibri/kol-card.entry.js.map +1 -1
  519. package/dist/kolibri/kol-details.entry.js +1 -1
  520. package/dist/kolibri/kol-details.entry.js.map +1 -1
  521. package/dist/kolibri/kol-form.entry.js +1 -1
  522. package/dist/kolibri/kol-form.entry.js.map +1 -1
  523. package/dist/kolibri/kol-heading.entry.js +1 -1
  524. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  525. package/dist/kolibri/kol-icon.entry.js +1 -1
  526. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  527. package/dist/kolibri/kol-image.entry.js +1 -1
  528. package/dist/kolibri/kol-image.entry.js.map +1 -1
  529. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  530. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  531. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  532. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  533. package/dist/kolibri/kol-input-color.entry.js +1 -1
  534. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  535. package/dist/kolibri/kol-input-date.entry.js +1 -1
  536. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  537. package/dist/kolibri/kol-input-email.entry.js +1 -1
  538. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  539. package/dist/kolibri/kol-input-file.entry.js +1 -1
  540. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  541. package/dist/kolibri/kol-input-number.entry.js +1 -1
  542. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  543. package/dist/kolibri/kol-input-password.entry.js +1 -1
  544. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  545. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  546. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  547. package/dist/kolibri/kol-input-range.entry.js +1 -1
  548. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  549. package/dist/kolibri/kol-input-text.entry.js +1 -1
  550. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  551. package/dist/kolibri/kol-input.entry.js +1 -1
  552. package/dist/kolibri/kol-input.entry.js.map +1 -1
  553. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  554. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  555. package/dist/kolibri/kol-link-button.entry.js +1 -1
  556. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  557. package/dist/kolibri/kol-link-group.entry.js +1 -1
  558. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  559. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  560. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  561. package/dist/kolibri/kol-link.entry.js +1 -1
  562. package/dist/kolibri/kol-link.entry.js.map +1 -1
  563. package/dist/kolibri/kol-logo.entry.js +1 -1
  564. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  565. package/dist/kolibri/kol-modal.entry.js +1 -1
  566. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  567. package/dist/kolibri/kol-nav.entry.js +1 -1
  568. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  569. package/dist/kolibri/kol-pagination.entry.js +1 -1
  570. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  571. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  572. package/dist/kolibri/kol-popover-wc.entry.js.map +1 -1
  573. package/dist/kolibri/kol-progress.entry.js +1 -1
  574. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  575. package/dist/kolibri/kol-quote.entry.js +1 -1
  576. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  577. package/dist/kolibri/kol-select.entry.js +1 -1
  578. package/dist/kolibri/kol-select.entry.js.map +1 -1
  579. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  580. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  581. package/dist/kolibri/kol-span-wc_2.entry.js +1 -1
  582. package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -1
  583. package/dist/kolibri/kol-span.entry.js +1 -1
  584. package/dist/kolibri/kol-span.entry.js.map +1 -1
  585. package/dist/kolibri/kol-spin.entry.js +1 -1
  586. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  587. package/dist/kolibri/kol-split-button.entry.js +1 -1
  588. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  589. package/dist/kolibri/kol-symbol.entry.js +1 -1
  590. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  591. package/dist/kolibri/kol-table.entry.js +1 -1
  592. package/dist/kolibri/kol-table.entry.js.map +1 -1
  593. package/dist/kolibri/kol-tabs.entry.js +1 -1
  594. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  595. package/dist/kolibri/kol-textarea.entry.js +1 -1
  596. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  597. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  598. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  599. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  600. package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
  601. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  602. package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
  603. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  604. package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
  605. package/dist/kolibri/kol-tree.entry.js +1 -1
  606. package/dist/kolibri/kol-tree.entry.js.map +1 -1
  607. package/dist/kolibri/kol-version.entry.js +1 -1
  608. package/dist/kolibri/kol-version.entry.js.map +1 -1
  609. package/dist/kolibri/kolibri.esm.js +1 -1
  610. package/dist/kolibri/kolibri.esm.js.map +1 -1
  611. package/dist/kolibri/validation-76684103.js +4 -0
  612. package/dist/kolibri/validation-ad9e4cbd.js +4 -0
  613. package/dist/types/components/input-date/component.d.ts +1 -1
  614. package/dist/types/components/input-email/component.d.ts +1 -1
  615. package/dist/types/components/input-number/component.d.ts +1 -1
  616. package/dist/types/components/input-password/component.d.ts +1 -1
  617. package/dist/types/components/input-range/component.d.ts +1 -1
  618. package/dist/types/components/input-text/component.d.ts +1 -1
  619. package/dist/types/core/bootstrap.d.ts +5 -0
  620. package/dist/types/core/i18n.d.ts +9 -8
  621. package/dist/types/global/script.d.ts +1 -2
  622. package/dist/types/i18n.d.ts +1 -3
  623. package/dist/types/index.d.ts +1 -3
  624. package/dist/types/utils/dev.utils.d.ts +1 -2
  625. package/doc/alert.md +4 -0
  626. package/doc/input-checkbox.md +1 -2
  627. package/doc/input-color.md +1 -2
  628. package/doc/input-date.md +1 -2
  629. package/doc/input-email.md +1 -2
  630. package/doc/input-file.md +1 -2
  631. package/doc/input-number.md +1 -2
  632. package/doc/input-password.md +1 -2
  633. package/doc/input-radio.md +3 -4
  634. package/doc/input-range.md +1 -2
  635. package/doc/input-text.md +1 -2
  636. package/doc/pagination.md +1 -2
  637. package/doc/select.md +1 -2
  638. package/doc/table.md +1 -2
  639. package/doc/textarea.md +1 -2
  640. package/package.json +1 -1
  641. package/dist/cjs/app-globals-36b2927e.js +0 -4
  642. package/dist/cjs/app-globals-36b2927e.js.map +0 -1
  643. package/dist/cjs/dev.utils-0fc7119f.js +0 -4
  644. package/dist/cjs/dev.utils-0fc7119f.js.map +0 -1
  645. package/dist/cjs/devtools-568c4042.js +0 -4
  646. package/dist/cjs/devtools-568c4042.js.map +0 -1
  647. package/dist/cjs/form-field-msg-5dbb2e1d.js +0 -4
  648. package/dist/cjs/form-field-msg-5dbb2e1d.js.map +0 -1
  649. package/dist/cjs/i18n-82c97757.js +0 -4
  650. package/dist/cjs/i18n-82c97757.js.map +0 -1
  651. package/dist/cjs/index-3e2b9662.js +0 -4
  652. package/dist/cjs/index-3e2b9662.js.map +0 -1
  653. package/dist/cjs/index-5ef2fde6.js +0 -4
  654. package/dist/cjs/index-5ef2fde6.js.map +0 -1
  655. package/dist/cjs/index-c196e946.js +0 -4
  656. package/dist/cjs/index-c196e946.js.map +0 -1
  657. package/dist/esm/app-globals-665820ef.js +0 -4
  658. package/dist/esm/app-globals-665820ef.js.map +0 -1
  659. package/dist/esm/associated.controller-3f6bde32.js +0 -4
  660. package/dist/esm/controller-ec7c96d6.js +0 -4
  661. package/dist/esm/dev.utils-744f41b3.js +0 -4
  662. package/dist/esm/dev.utils-744f41b3.js.map +0 -1
  663. package/dist/esm/devtools-9428beb1.js +0 -4
  664. package/dist/esm/devtools-9428beb1.js.map +0 -1
  665. package/dist/esm/form-field-msg-8ba9ac0f.js +0 -4
  666. package/dist/esm/form-field-msg-8ba9ac0f.js.map +0 -1
  667. package/dist/esm/i18n-8b7a6ddc.js +0 -4
  668. package/dist/esm/i18n-8b7a6ddc.js.map +0 -1
  669. package/dist/esm/index-62e5924b.js +0 -4
  670. package/dist/esm/index-62e5924b.js.map +0 -1
  671. package/dist/esm/index-8cb3c3b2.js +0 -4
  672. package/dist/esm/index-8cb3c3b2.js.map +0 -1
  673. package/dist/esm/index-de9d4ee0.js +0 -4
  674. package/dist/esm/index-de9d4ee0.js.map +0 -1
  675. package/dist/esm/validation-6a9d569a.js +0 -4
  676. package/dist/esm/validation-cd55e47b.js +0 -4
  677. package/dist/kolibri/app-globals-665820ef.js +0 -4
  678. package/dist/kolibri/app-globals-665820ef.js.map +0 -1
  679. package/dist/kolibri/associated.controller-3f6bde32.js +0 -4
  680. package/dist/kolibri/controller-4e891541.js +0 -4
  681. package/dist/kolibri/controller-ec7c96d6.js +0 -4
  682. package/dist/kolibri/dev.utils-744f41b3.js +0 -4
  683. package/dist/kolibri/dev.utils-744f41b3.js.map +0 -1
  684. package/dist/kolibri/devtools-9428beb1.js +0 -4
  685. package/dist/kolibri/devtools-9428beb1.js.map +0 -1
  686. package/dist/kolibri/form-field-msg-8ba9ac0f.js +0 -4
  687. package/dist/kolibri/form-field-msg-8ba9ac0f.js.map +0 -1
  688. package/dist/kolibri/i18n-8b7a6ddc.js +0 -4
  689. package/dist/kolibri/i18n-8b7a6ddc.js.map +0 -1
  690. package/dist/kolibri/index-62e5924b.js.map +0 -1
  691. package/dist/kolibri/index-8cb3c3b2.js +0 -4
  692. package/dist/kolibri/index-8cb3c3b2.js.map +0 -1
  693. package/dist/kolibri/index-de9d4ee0.js +0 -4
  694. package/dist/kolibri/index-de9d4ee0.js.map +0 -1
  695. package/dist/kolibri/validation-6a9d569a.js +0 -4
  696. package/dist/kolibri/validation-cd55e47b.js +0 -4
  697. package/dist/types/core/index.d.ts +0 -4
  698. /package/dist/kolibri/{InternalUnderlinedAccessKey-2cbdead6.js.map → InternalUnderlinedAccessKey-d7c17bf1.js.map} +0 -0
  699. /package/dist/kolibri/{align-floating-elements-477c7acb.js.map → align-floating-elements-98d5b72a.js.map} +0 -0
  700. /package/dist/kolibri/{controller-49b01330.js.map → controller-147855ed.js.map} +0 -0
  701. /package/dist/kolibri/{controller-0ea2a876.js.map → controller-8a87c04f.js.map} +0 -0
  702. /package/dist/kolibri/{controller-b21789f7.js.map → controller-becdf4a7.js.map} +0 -0
  703. /package/dist/kolibri/{controller-icon-03261e4e.js.map → controller-icon-7ccd08c2.js.map} +0 -0
  704. /package/dist/kolibri/{validation-6a9d569a.js.map → validation-76684103.js.map} +0 -0
  705. /package/dist/kolibri/{validation-cd55e47b.js.map → validation-ad9e4cbd.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"component7.js","mappings":";;;;;;;AAAA,MAAM,mBAAmB,GAAG,CAAC,IAAY;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,CAAC;KACV;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAa;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAG1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;QACvC,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;KACnE;IAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;;MCPY,WAAW;;;;;;qBA2Be;YACrC,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACV;;IA7BM,MAAM;QACZ,QACC,EAAC,IAAI,uDACJ,0EAAiB,SAAS,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,KAAK,IACvH,IAAI,CAAC,KAAK,CAAC,IAAI,IACf,WAAK,GAAG,EAAC,EAAE,iBAAa,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAI,KAErE,2BAAkB,MAAM,EAAC,KAAK,EAAC,UAAU,IACvC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAC1C,CACP,CACI,CACA,EACN;KACF;IAkBM,WAAW,CAAC,KAA2B;QAC7C,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACjC;IAGM,aAAa,CAAC,KAAqB;QACzC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;YAC1B,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/avatar/controller.ts","src/components/avatar/component.tsx"],"sourcesContent":["const formatNameAsInitial = (name: string): string => {\n\tif (name.length === 0) {\n\t\treturn '';\n\t}\n\n\treturn name[0].toUpperCase();\n};\n\nexport const formatLabelAsInitials = (label: string): string => {\n\tconst names = label.split(/\\s+/); // split by any whitespace characters\n\tconst first = names.at(0);\n\tconst last = names.at(-1);\n\n\t// names might consist of only one word\n\tif (names.length >= 2 && first && last) {\n\t\treturn `${formatNameAsInitial(first)}${formatNameAsInitial(last)}`;\n\t}\n\n\treturn formatNameAsInitial(label);\n};\n","import type { JSX } from '@stencil/core';\nimport { validateImageSource, validateLabel } from '@public-ui/schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { formatLabelAsInitials } from './controller';\n\nimport type { AvatarAPI, AvatarStates, ImageSourcePropType, LabelPropType } from '@public-ui/schema';\n@Component({\n\ttag: 'kol-avatar-wc',\n\tshadow: false,\n})\nexport class KolAvatarWc implements AvatarAPI {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div aria-label={translate('kol-avatar-alt', { placeholders: { name: this.state._label } })} class=\"container\" role=\"img\">\n\t\t\t\t\t{this.state._src ? (\n\t\t\t\t\t\t<img alt=\"\" aria-hidden=\"true\" class=\"image\" src={this.state._src} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span aria-hidden=\"true\" class=\"initials\">\n\t\t\t\t\t\t\t{formatLabelAsInitials(this.state._label.trim())}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Sets the image `src` attribute to the given string.\n\t */\n\t@Prop() public _src?: ImageSourcePropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t@State() public state: AvatarStates = {\n\t\t_src: '',\n\t\t_label: '', // ⚠ required\n\t};\n\n\t@Watch('_src')\n\tpublic validateSrc(value?: ImageSourcePropType): void {\n\t\tvalidateImageSource(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateSrc(this._src);\n\t\tthis.validateLabel(this._label);\n\t}\n}\n"],"version":3}
1
+ {"file":"component7.js","mappings":";;;;;;;AAAA,MAAM,mBAAmB,GAAG,CAAC,IAAY;IACxC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAO,EAAE,CAAC;KACV;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEK,MAAM,qBAAqB,GAAG,CAAC,KAAa;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAG1B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE;QACvC,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;KACnE;IAED,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;;MCPY,WAAW;;;;;;qBA2Be;YACrC,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;SACV;;IA7BM,MAAM;QACZ,QACC,EAAC,IAAI,qDAAC,KAAK,EAAC,eAAe,IAC1B,0EAAiB,SAAS,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,KAAK,IACvH,IAAI,CAAC,KAAK,CAAC,IAAI,IACf,WAAK,GAAG,EAAC,EAAE,iBAAa,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAI,KAErE,2BAAkB,MAAM,EAAC,KAAK,EAAC,UAAU,IACvC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAC1C,CACP,CACI,CACA,EACN;KACF;IAkBM,WAAW,CAAC,KAA2B;QAC7C,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACjC;IAGM,aAAa,CAAC,KAAqB;QACzC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;YAC1B,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/avatar/controller.ts","src/components/avatar/component.tsx"],"sourcesContent":["const formatNameAsInitial = (name: string): string => {\n\tif (name.length === 0) {\n\t\treturn '';\n\t}\n\n\treturn name[0].toUpperCase();\n};\n\nexport const formatLabelAsInitials = (label: string): string => {\n\tconst names = label.split(/\\s+/); // split by any whitespace characters\n\tconst first = names.at(0);\n\tconst last = names.at(-1);\n\n\t// names might consist of only one word\n\tif (names.length >= 2 && first && last) {\n\t\treturn `${formatNameAsInitial(first)}${formatNameAsInitial(last)}`;\n\t}\n\n\treturn formatNameAsInitial(label);\n};\n","import type { JSX } from '@stencil/core';\nimport { validateImageSource, validateLabel } from '@public-ui/schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { formatLabelAsInitials } from './controller';\n\nimport type { AvatarAPI, AvatarStates, ImageSourcePropType, LabelPropType } from '@public-ui/schema';\n@Component({\n\ttag: 'kol-avatar-wc',\n\tshadow: false,\n})\nexport class KolAvatarWc implements AvatarAPI {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host class=\"kol-avatar-wc\">\n\t\t\t\t<div aria-label={translate('kol-avatar-alt', { placeholders: { name: this.state._label } })} class=\"container\" role=\"img\">\n\t\t\t\t\t{this.state._src ? (\n\t\t\t\t\t\t<img alt=\"\" aria-hidden=\"true\" class=\"image\" src={this.state._src} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span aria-hidden=\"true\" class=\"initials\">\n\t\t\t\t\t\t\t{formatLabelAsInitials(this.state._label.trim())}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Sets the image `src` attribute to the given string.\n\t */\n\t@Prop() public _src?: ImageSourcePropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t@State() public state: AvatarStates = {\n\t\t_src: '',\n\t\t_label: '', // ⚠ required\n\t};\n\n\t@Watch('_src')\n\tpublic validateSrc(value?: ImageSourcePropType): void {\n\t\tvalidateImageSource(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateSrc(this._src);\n\t\tthis.validateLabel(this._label);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{t as featureHint,Z as handleColorChange,$ as validateColor,a0 as objectObjectHandler,a1 as parseJson,y as setState}from"./index2.js";import{n as nonce}from"./dev.utils.js";import{d as defineCustomElement$4}from"./component5.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$2}from"./component2.js";import{d as defineCustomElement$1}from"./component3.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .hidden {\n display: none;\n visibility: hidden;\n }\n /* This is the text label. */\n .hide-label > kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed !important;\n opacity: 0.5 !important;\n outline: none !important;\n }\n [aria-disabled=true]:focus kol-span-wc,\n [disabled]:focus kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host > span {\n display: inline-flex;\n place-items: center;\n /* Visible with forced colors */\n outline: transparent solid 1px;\n }\n :host > span > kol-button-wc button {\n color: inherit;\n }\n}",KolBadgeDefaultStyle0=defaultStyleCss;featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const KolBadge=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.bgColorStr="#000",this.colorStr="#fff",this.id=nonce(),this.handleColorChange=t=>{const n=handleColorChange(t);this.bgColorStr=n.backgroundColor,this.colorStr=n.foregroundColor},this._color="#000",this._icons=void 0,this._label=void 0,this._smartButton=void 0,this.state={_color:{backgroundColor:"#000",foregroundColor:"#fff"}}}renderSmartButton(t){return h("kol-button-wc",{_ariaControls:this.id,_customClass:t._customClass,_disabled:t._disabled,_hideLabel:!0,_icons:t._icons,_id:t._id,_label:t._label,_on:t._on,_tooltipAlign:t._tooltipAlign,_variant:t._variant})}render(){const t="object"==typeof this.state._smartButton&&null!==this.state._smartButton;return h(Host,{key:"5d1fd671a172d0ba38cbf23fa045948e8f9aa742"},h("span",{key:"5ec75d0bd6b870de76b6cba1b6c930e23c789cfb",class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},h("kol-span-wc",{key:"5e1dffd59c041e0ef27fd2fa20549a25cc5d4e38",id:t?this.id:void 0,_allowMarkdown:!0,_icons:this._icons,_label:this._label}),t&&this.renderSmartButton(this.state._smartButton)))}validateColor(t){validateColor(this,t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_smartButton:["validateSmartButton"]}}static get style(){return{default:KolBadgeDefaultStyle0}}},[33,"kol-badge",{_color:[1],_icons:[1],_label:[1],_smartButton:[1,"_smart-button"],state:[32]},void 0,{_color:["validateColor"],_smartButton:["validateSmartButton"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-badge","kol-button-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-badge":customElements.get(t)||customElements.define(t,KolBadge);break;case"kol-button-wc":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolBadge as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{q as featureHint,X as handleColorChange,Y as validateColor,Z as objectObjectHandler,$ as parseJson,u as setState}from"./index2.js";import{n as nonce}from"./dev.utils.js";import{d as defineCustomElement$4}from"./component5.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$2}from"./component2.js";import{d as defineCustomElement$1}from"./component3.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .hidden {\n display: none;\n visibility: hidden;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed !important;\n opacity: 0.5 !important;\n outline: none !important;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host > span {\n display: inline-flex;\n place-items: center;\n /* Visible with forced colors */\n outline: transparent solid 1px;\n }\n :host > span > .kol-button-wc button {\n color: inherit;\n }\n}",KolBadgeDefaultStyle0=defaultStyleCss;featureHint("[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).");const KolBadge=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.bgColorStr="#000",this.colorStr="#fff",this.id=nonce(),this.handleColorChange=t=>{const n=handleColorChange(t);this.bgColorStr=n.backgroundColor,this.colorStr=n.foregroundColor},this._color="#000",this._icons=void 0,this._label=void 0,this._smartButton=void 0,this.state={_color:{backgroundColor:"#000",foregroundColor:"#fff"}}}renderSmartButton(t){return h("kol-button-wc",{_ariaControls:this.id,_customClass:t._customClass,_disabled:t._disabled,_hideLabel:!0,_icons:t._icons,_id:t._id,_label:t._label,_on:t._on,_tooltipAlign:t._tooltipAlign,_variant:t._variant})}render(){const t="object"==typeof this.state._smartButton&&null!==this.state._smartButton;return h(Host,{key:"4ee15e917658c0dbcfe96555fcf19b0483d7d300",class:"kol-badge"},h("span",{key:"f1b1220b525a84cfca0726a7b65ef510df462def",class:{"smart-button":"object"==typeof this.state._smartButton&&null!==this.state._smartButton},style:{backgroundColor:this.bgColorStr,color:this.colorStr}},h("kol-span-wc",{key:"06c0229bab48dfeeac92629e1e8c8445095a293e",id:t?this.id:void 0,_allowMarkdown:!0,_icons:this._icons,_label:this._label}),t&&this.renderSmartButton(this.state._smartButton)))}validateColor(t){validateColor(this,t,{defaultValue:"#000",hooks:{beforePatch:this.handleColorChange}})}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this,"_smartButton",t)}))}componentWillLoad(){this.validateColor(this._color),this.validateSmartButton(this._smartButton)}static get watchers(){return{_color:["validateColor"],_smartButton:["validateSmartButton"]}}static get style(){return{default:KolBadgeDefaultStyle0}}},[33,"kol-badge",{_color:[1],_icons:[1],_label:[1],_smartButton:[1,"_smart-button"],state:[32]},void 0,{_color:["validateColor"],_smartButton:["validateSmartButton"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-badge","kol-button-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-badge":customElements.get(t)||customElements.define(t,KolBadge);break;case"kol-button-wc":customElements.get(t)||defineCustomElement$4();break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolBadge as K,defineCustomElement as d};
@@ -1 +1 @@
1
- {"file":"component8.js","mappings":";;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,+yIAA+yI,CAAC;AACx0I,8BAAe,eAAe;;ACM9B,WAAW,CAAC,qEAAqE,CAAC,CAAC;MAStE,QAAQ;;;;;QACZ,eAAU,GAAG,MAAM,CAAC;QACpB,aAAQ,GAAG,MAAM,CAAC;QACT,OAAE,GAAG,KAAK,EAAE,CAAC;QAkEtB,sBAAiB,GAAG,CAAC,KAAc;YAC1C,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,eAAyB,CAAC;SACpD,CAAC;sBA5B+C,MAAM;;;;qBAiBlB;YACpC,MAAM,EAAE;gBACP,eAAe,EAAE,MAAM;gBACvB,eAAe,EAAE,MAAM;aACvB;SACD;;IA9DO,iBAAiB,CAAC,KAAkB;QAC3C,QACC,qBACC,aAAa,EAAE,IAAI,CAAC,EAAE,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GACR,EAChB;KACF;IAEM,MAAM;QACZ,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;QACvG,QACC,EAAC,IAAI,uDACJ,6DACC,KAAK,EAAE;gBACN,cAAc,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI;aAC/F,EACD,KAAK,EAAE;gBACN,eAAe,EAAE,IAAI,CAAC,UAAU;gBAChC,KAAK,EAAE,IAAI,CAAC,QAAQ;aACpB,IAED,oEAAa,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,QAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAgB,EAC7H,cAAc,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAA2B,CAAC,CAC3E,CACD,EACN;KACF;IAoCM,aAAa,CAAC,KAA8B;QAClD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;YAC1B,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE;gBACN,WAAW,EAAE,IAAI,CAAC,iBAAiB;aACnC;SACD,CAAC,CAAC;KACH;IAGM,mBAAmB,CAAC,KAA4B;QACtD,mBAAmB,CAAC,KAAK,EAAE;YAC1B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAc,KAAe,CAAC,CAAC;aAEhD;YAAC,OAAO,CAAC,EAAE;aAEX;YACD,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;SACtC,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/badge/style.scss?tag=kol-badge&mode=default&encapsulation=shadow","src/components/badge/component.tsx"],"sourcesContent":["@import '../style';\n\n@layer kol-component {\n\t:host > span {\n\t\tdisplay: inline-flex;\n\t\tplace-items: center;\n\t\t/* Visible with forced colors */\n\t\toutline: transparent solid 1px;\n\t}\n\n\t:host > span > kol-button-wc button {\n\t\tcolor: inherit;\n\t}\n}\n","import type { BadgeAPI, BadgeStates, ButtonProps, KoliBriIconsProp, LabelPropType, PropColor, Stringified } from '@public-ui/schema';\nimport { featureHint, handleColorChange, objectObjectHandler, parseJson, setState, validateColor } from '@public-ui/schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { nonce } from '../../utils/dev.utils';\n\nimport type { JSX } from '@stencil/core';\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements BadgeAPI {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\tprivate readonly id = nonce();\n\n\tprivate renderSmartButton(props: ButtonProps): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t_ariaControls={this.id}\n\t\t\t\t_customClass={props._customClass}\n\t\t\t\t_disabled={props._disabled}\n\t\t\t\t_hideLabel={true}\n\t\t\t\t_icons={props._icons}\n\t\t\t\t_id={props._id}\n\t\t\t\t_label={props._label}\n\t\t\t\t_on={props._on}\n\t\t\t\t_tooltipAlign={props._tooltipAlign}\n\t\t\t\t_variant={props._variant}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst hasSmartButton = typeof this.state._smartButton === 'object' && this.state._smartButton !== null;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc id={hasSmartButton ? this.id : undefined} _allowMarkdown _icons={this._icons} _label={this._label}></kol-span-wc>\n\t\t\t\t\t{hasSmartButton && this.renderSmartButton(this.state._smartButton as ButtonProps)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the backgroundColor and foregroundColor.\n\t */\n\t@Prop() public _color?: Stringified<PropColor> = '#000';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Allows to add a button with an arbitrary action within the element (_hide-label only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t@State() public state: BadgeStates = {\n\t\t_color: {\n\t\t\tbackgroundColor: '#000',\n\t\t\tforegroundColor: '#fff',\n\t\t},\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tconst colorPair = handleColorChange(value);\n\t\tthis.bgColorStr = colorPair.backgroundColor;\n\t\tthis.colorStr = colorPair.foregroundColor as string;\n\t};\n\n\t@Watch('_color')\n\tpublic validateColor(value?: Stringified<PropColor>): void {\n\t\tvalidateColor(this, value, {\n\t\t\tdefaultValue: '#000',\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"version":3}
1
+ {"file":"component8.js","mappings":";;;;;;;;;;;AAAA,MAAM,eAAe,GAAG,szIAAszI,CAAC;AAC/0I,8BAAe,eAAe;;ACM9B,WAAW,CAAC,qEAAqE,CAAC,CAAC;MAStE,QAAQ;;;;;QACZ,eAAU,GAAG,MAAM,CAAC;QACpB,aAAQ,GAAG,MAAM,CAAC;QACT,OAAE,GAAG,KAAK,EAAE,CAAC;QAkEtB,sBAAiB,GAAG,CAAC,KAAc;YAC1C,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,eAAyB,CAAC;SACpD,CAAC;sBA5B+C,MAAM;;;;qBAiBlB;YACpC,MAAM,EAAE;gBACP,eAAe,EAAE,MAAM;gBACvB,eAAe,EAAE,MAAM;aACvB;SACD;;IA9DO,iBAAiB,CAAC,KAAkB;QAC3C,QACC,qBACC,aAAa,EAAE,IAAI,CAAC,EAAE,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GACR,EAChB;KACF;IAEM,MAAM;QACZ,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;QACvG,QACC,EAAC,IAAI,qDAAC,KAAK,EAAC,WAAW,IACtB,6DACC,KAAK,EAAE;gBACN,cAAc,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI;aAC/F,EACD,KAAK,EAAE;gBACN,eAAe,EAAE,IAAI,CAAC,UAAU;gBAChC,KAAK,EAAE,IAAI,CAAC,QAAQ;aACpB,IAED,oEAAa,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,cAAc,QAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAgB,EAC7H,cAAc,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,YAA2B,CAAC,CAC3E,CACD,EACN;KACF;IAoCM,aAAa,CAAC,KAA8B;QAClD,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE;YAC1B,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE;gBACN,WAAW,EAAE,IAAI,CAAC,iBAAiB;aACnC;SACD,CAAC,CAAC;KACH;IAGM,mBAAmB,CAAC,KAA4B;QACtD,mBAAmB,CAAC,KAAK,EAAE;YAC1B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAc,KAAe,CAAC,CAAC;aAEhD;YAAC,OAAO,CAAC,EAAE;aAEX;YACD,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;SACtC,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAC5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/badge/style.scss?tag=kol-badge&mode=default&encapsulation=shadow","src/components/badge/component.tsx"],"sourcesContent":["@import '../style';\n\n@layer kol-component {\n\t:host > span {\n\t\tdisplay: inline-flex;\n\t\tplace-items: center;\n\t\t/* Visible with forced colors */\n\t\toutline: transparent solid 1px;\n\t}\n\n\t:host > span > .kol-button-wc button {\n\t\tcolor: inherit;\n\t}\n}\n","import type { BadgeAPI, BadgeStates, ButtonProps, KoliBriIconsProp, LabelPropType, PropColor, Stringified } from '@public-ui/schema';\nimport { featureHint, handleColorChange, objectObjectHandler, parseJson, setState, validateColor } from '@public-ui/schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { nonce } from '../../utils/dev.utils';\n\nimport type { JSX } from '@stencil/core';\nfeatureHint(`[KolBadge] Optimierung des _color-Properties (rgba, rgb, hex usw.).`);\n\n@Component({\n\ttag: 'kol-badge',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolBadge implements BadgeAPI {\n\tprivate bgColorStr = '#000';\n\tprivate colorStr = '#fff';\n\tprivate readonly id = nonce();\n\n\tprivate renderSmartButton(props: ButtonProps): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\t_ariaControls={this.id}\n\t\t\t\t_customClass={props._customClass}\n\t\t\t\t_disabled={props._disabled}\n\t\t\t\t_hideLabel={true}\n\t\t\t\t_icons={props._icons}\n\t\t\t\t_id={props._id}\n\t\t\t\t_label={props._label}\n\t\t\t\t_on={props._on}\n\t\t\t\t_tooltipAlign={props._tooltipAlign}\n\t\t\t\t_variant={props._variant}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tconst hasSmartButton = typeof this.state._smartButton === 'object' && this.state._smartButton !== null;\n\t\treturn (\n\t\t\t<Host class=\"kol-badge\">\n\t\t\t\t<span\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'smart-button': typeof this.state._smartButton === 'object' && this.state._smartButton !== null,\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackgroundColor: this.bgColorStr,\n\t\t\t\t\t\tcolor: this.colorStr,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc id={hasSmartButton ? this.id : undefined} _allowMarkdown _icons={this._icons} _label={this._label}></kol-span-wc>\n\t\t\t\t\t{hasSmartButton && this.renderSmartButton(this.state._smartButton as ButtonProps)}\n\t\t\t\t</span>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the backgroundColor and foregroundColor.\n\t */\n\t@Prop() public _color?: Stringified<PropColor> = '#000';\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Allows to add a button with an arbitrary action within the element (_hide-label only).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t@State() public state: BadgeStates = {\n\t\t_color: {\n\t\t\tbackgroundColor: '#000',\n\t\t\tforegroundColor: '#fff',\n\t\t},\n\t};\n\n\tprivate handleColorChange = (value: unknown) => {\n\t\tconst colorPair = handleColorChange(value);\n\t\tthis.bgColorStr = colorPair.backgroundColor;\n\t\tthis.colorStr = colorPair.foregroundColor as string;\n\t};\n\n\t@Watch('_color')\n\tpublic validateColor(value?: Stringified<PropColor>): void {\n\t\tvalidateColor(this, value, {\n\t\t\tdefaultValue: '#000',\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.handleColorChange,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateColor(this._color);\n\t\tthis.validateSmartButton(this._smartButton);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{u as propagateFocus,D as setEventTarget,d as devHint,j as validateAccessKey,a5 as validateAriaCurrentValue,x as validateDisabled,a6 as validateDownload,l as validateHideLabel,a7 as validateHref,m as validateIcons,n as validateLabelWithExpertSlot,a8 as validateLinkCallbacks,Q as validateAlternativeButtonLinkRole,R as validateTabIndex,a9 as validateLinkTarget,i as validateTooltipAlign,o as showExpertSlot}from"./index2.js";import{a as translate}from"./i18n.js";import{o as onLocationChange}from"./ariaCurrentService.js";import{p as preventDefaultAndStopPropagation}from"./events.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$2}from"./component2.js";import{d as defineCustomElement$1}from"./component3.js";const KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.catchRef=e=>{this.ref=e,propagateFocus(this.host,this.ref)},this.onClick=e=>{var t,a;!0===this.state._disabled?preventDefaultAndStopPropagation(e):"function"==typeof(null===(t=this.state._on)||void 0===t?void 0:t.onClick)&&(e.preventDefault(),e.stopPropagation(),setEventTarget(e,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(e,this.state._href))},this.getRenderValues=()=>{const e="string"==typeof this.state._target&&"_self"!==this.state._target,t={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:e?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn _hide-label gesetzt ist."),{isExternal:e,tagAttrs:t}},this._accessKey=void 0,this._ariaCurrentValue=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this.state={_ariaCurrentValue:"page",_href:"",_icons:{}}}render(){const{isExternal:e,tagAttrs:t}=this.getRenderValues(),a=showExpertSlot(this.state._label);return h(Host,{key:"5af118226534baebdc688bbe495e5d1640d485e9"},h("a",Object.assign({key:"7327fe25769295d0786ddaf0c60b8758e3411715",ref:this.catchRef},t,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-disabled":this.state._disabled?"true":void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?`${this.state._label}${e?` (${translate("kol-open-link-in-tab")})`:""}`:void 0,class:{disabled:!0===this.state._disabled,"external-link":e,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._disabled?-1:this.state._tabIndex}),h("kol-span-wc",{key:"5d7506bc04fb5790b1ee3f6dfdc56d309c9c829e",_accessKey:this.state._accessKey,_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:a?"":this.state._label||this.state._href},h("slot",{key:"7212d1125baffafd781c7bdd9aef082332fa1d58",name:"expert",slot:"expert"})),e&&h("kol-icon",{class:"external-link-icon",_label:this.state._hideLabel?"":translate("kol-open-link-in-tab"),_icons:"codicon codicon-link-external","aria-hidden":this.state._hideLabel})),h("kol-tooltip-wc",{key:"8ad3681d1c91dc44b2282f8ba180d1c1868db92a","aria-hidden":"true",hidden:a||!this.state._hideLabel,_accessKey:this.state._accessKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAccessKey(e){validateAccessKey(this,e)}validateAriaCurrentValue(e){validateAriaCurrentValue(this,e)}validateDisabled(e){validateDisabled(this,e)}validateDownload(e){validateDownload(this,e)}validateHideLabel(e){validateHideLabel(this,e)}validateHref(e){validateHref(this,e,{required:!0})}validateIcons(e){validateIcons(this,e)}validateLabel(e){validateLabelWithExpertSlot(this,e)}validateOn(e){validateLinkCallbacks(this,e)}validateRole(e){validateAlternativeButtonLinkRole(this,e)}validateTabIndex(e){validateTabIndex(this,e)}validateTarget(e){validateLinkTarget(this,e)}validateTooltipAlign(e){validateTooltipAlign(this,e)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTooltipAlign(this._tooltipAlign),this.unsubscribeOnLocationChange=onLocationChange((e=>{this.state._ariaCurrent=e===this.state._href?this.state._ariaCurrentValue:void 0}))}disconnectedCallback(){this.unsubscribeOnLocationChange&&this.unsubscribeOnLocationChange()}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"]}}},[4,"kol-link-wc",{_accessKey:[1,"_access-key"],_ariaCurrentValue:[1,"_aria-current-value"],_disabled:[4],_download:[1],_hideLabel:[4,"_hide-label"],_href:[1],_icons:[1],_label:[1],_on:[16],_role:[1],_tabIndex:[2,"_tab-index"],_target:[1],_tooltipAlign:[1,"_tooltip-align"],state:[32]},void 0,{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((e=>{switch(e){case"kol-link-wc":customElements.get(e)||customElements.define(e,KolLinkWc);break;case"kol-icon":customElements.get(e)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(e)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(e)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{r as propagateFocus,B as setEventTarget,D as devHint,f as validateAccessKey,a3 as validateAriaCurrentValue,t as validateDisabled,a4 as validateDownload,i as validateHideLabel,a5 as validateHref,k as validateIcons,l as validateLabelWithExpertSlot,a6 as validateLinkCallbacks,P as validateAlternativeButtonLinkRole,Q as validateTabIndex,a7 as validateLinkTarget,a as validateTooltipAlign,m as showExpertSlot}from"./index2.js";import{t as translate}from"./i18n2.js";import{o as onLocationChange}from"./ariaCurrentService.js";import{p as preventDefaultAndStopPropagation}from"./events.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$2}from"./component2.js";import{d as defineCustomElement$1}from"./component3.js";const KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.catchRef=e=>{this.ref=e,propagateFocus(this.host,this.ref)},this.onClick=e=>{var t,a;!0===this.state._disabled?preventDefaultAndStopPropagation(e):"function"==typeof(null===(t=this.state._on)||void 0===t?void 0:t.onClick)&&(e.preventDefault(),e.stopPropagation(),setEventTarget(e,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(e,this.state._href))},this.getRenderValues=()=>{const e="string"==typeof this.state._target&&"_self"!==this.state._target,t={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:e?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn _hide-label gesetzt ist."),{isExternal:e,tagAttrs:t}},this._accessKey=void 0,this._ariaCurrentValue=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this.state={_ariaCurrentValue:"page",_href:"",_icons:{}}}render(){const{isExternal:e,tagAttrs:t}=this.getRenderValues(),a=showExpertSlot(this.state._label);return h(Host,{key:"f0c3b25a60371e5ff1e7619f2ffa9defc5047d63",class:"kol-link-wc"},h("a",Object.assign({key:"96f2ec8d7272865c3901574ede6d017531f97a29",ref:this.catchRef},t,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-disabled":this.state._disabled?"true":void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?`${this.state._label}${e?` (${translate("kol-open-link-in-tab")})`:""}`:void 0,class:{disabled:!0===this.state._disabled,"external-link":e,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._disabled?-1:this.state._tabIndex}),h("kol-span-wc",{key:"a5b675c4f9b4cd25c51aaba72f0ce6cb3a5c979b",_accessKey:this.state._accessKey,_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:a?"":this.state._label||this.state._href},h("slot",{key:"9b6a4ed20fe6478d7394fcdfe0fec727223132bf",name:"expert",slot:"expert"})),e&&h("kol-icon",{class:"external-link-icon",_label:this.state._hideLabel?"":translate("kol-open-link-in-tab"),_icons:"codicon codicon-link-external","aria-hidden":this.state._hideLabel})),h("kol-tooltip-wc",{key:"76e6cb58659867ec918400b1ef4583521eafb160","aria-hidden":"true",hidden:a||!this.state._hideLabel,_accessKey:this.state._accessKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAccessKey(e){validateAccessKey(this,e)}validateAriaCurrentValue(e){validateAriaCurrentValue(this,e)}validateDisabled(e){validateDisabled(this,e)}validateDownload(e){validateDownload(this,e)}validateHideLabel(e){validateHideLabel(this,e)}validateHref(e){validateHref(this,e,{required:!0})}validateIcons(e){validateIcons(this,e)}validateLabel(e){validateLabelWithExpertSlot(this,e)}validateOn(e){validateLinkCallbacks(this,e)}validateRole(e){validateAlternativeButtonLinkRole(this,e)}validateTabIndex(e){validateTabIndex(this,e)}validateTarget(e){validateLinkTarget(this,e)}validateTooltipAlign(e){validateTooltipAlign(this,e)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTooltipAlign(this._tooltipAlign),this.unsubscribeOnLocationChange=onLocationChange((e=>{this.state._ariaCurrent=e===this.state._href?this.state._ariaCurrentValue:void 0}))}disconnectedCallback(){this.unsubscribeOnLocationChange&&this.unsubscribeOnLocationChange()}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"]}}},[4,"kol-link-wc",{_accessKey:[1,"_access-key"],_ariaCurrentValue:[1,"_aria-current-value"],_disabled:[4],_download:[1],_hideLabel:[4,"_hide-label"],_href:[1],_icons:[1],_label:[1],_on:[16],_role:[1],_tabIndex:[2,"_tab-index"],_target:[1],_tooltipAlign:[1,"_tooltip-align"],state:[32]},void 0,{_accessKey:["validateAccessKey"],_ariaCurrentValue:["validateAriaCurrentValue"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((e=>{switch(e){case"kol-link-wc":customElements.get(e)||customElements.define(e,KolLinkWc);break;case"kol-icon":customElements.get(e)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(e)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(e)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
@@ -1 +1 @@
1
- {"file":"component9.js","mappings":"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","names":[],"sources":["src/components/link/component.tsx"],"sourcesContent":["import type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaCurrentValuePropType,\n\tDownloadPropType,\n\tHrefPropType,\n\tKoliBriIconsProp,\n\tLabelWithExpertSlotPropType,\n\tLinkAPI,\n\tLinkOnCallbacksPropType,\n\tLinkStates,\n\tLinkTargetPropType,\n\tStringified,\n\tTooltipAlignPropType,\n\tDisabledPropType,\n} from '@public-ui/schema';\nimport {\n\tdevHint,\n\tpropagateFocus,\n\tsetEventTarget,\n\tshowExpertSlot,\n\tvalidateAccessKey,\n\tvalidateAlternativeButtonLinkRole,\n\tvalidateAriaCurrentValue,\n\tvalidateDownload,\n\tvalidateHideLabel,\n\tvalidateHref,\n\tvalidateIcons,\n\tvalidateLabelWithExpertSlot,\n\tvalidateLinkCallbacks,\n\tvalidateLinkTarget,\n\tvalidateTabIndex,\n\tvalidateTooltipAlign,\n} from '@public-ui/schema';\nimport { Component, Element, Host, Prop, State, Watch, h } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { onLocationChange } from './ariaCurrentService';\n\nimport { validateDisabled } from '@public-ui/schema';\nimport type { JSX } from '@stencil/core';\nimport type { UnsubscribeFunction } from './ariaCurrentService';\nimport { preventDefaultAndStopPropagation } from '../../utils/events';\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements LinkAPI {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\tprivate unsubscribeOnLocationChange?: UnsubscribeFunction;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (this.state._disabled === true) {\n\t\t\tpreventDefaultAndStopPropagation(event);\n\t\t} else if (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-disabled={this.state._disabled ? 'true' : undefined}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tthis.state._hideLabel && typeof this.state._label === 'string'\n\t\t\t\t\t\t\t? `${this.state._label}${isExternal ? ` (${translate('kol-open-link-in-tab')})` : ''}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._disabled ? -1 : this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc\n\t\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t\t_icons={this.state._icons}\n\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t_label={hasExpertSlot ? '' : this.state._label || this.state._href}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && (\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tclass=\"external-link-icon\"\n\t\t\t\t\t\t\t_label={this.state._hideLabel ? '' : translate('kol-open-link-in-tab')}\n\t\t\t\t\t\t\t_icons={'codicon codicon-link-external'}\n\t\t\t\t\t\t\taria-hidden={this.state._hideLabel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the elements access key.\n\t */\n\t@Prop() public _accessKey?: AccessKeyPropType;\n\n\t/**\n\t * Defines the value for the aria-current attribute.\n\t */\n\t@Prop() public _ariaCurrentValue?: AriaCurrentValuePropType;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_ariaCurrentValue: 'page',\n\t\t_href: '', // ⚠ required\n\t\t_icons: {},\n\t};\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: AccessKeyPropType): void {\n\t\tvalidateAccessKey(this, value);\n\t}\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentValuePropType): void {\n\t\tvalidateAriaCurrentValue(this, value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: DisabledPropType): void {\n\t\tvalidateDisabled(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAccessKey(this._accessKey);\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.unsubscribeOnLocationChange = onLocationChange((location) => {\n\t\t\tthis.state._ariaCurrent = location === this.state._href ? this.state._ariaCurrentValue : undefined;\n\t\t});\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.unsubscribeOnLocationChange) {\n\t\t\tthis.unsubscribeOnLocationChange();\n\t\t}\n\t}\n}\n"],"version":3}
1
+ {"file":"component9.js","mappings":"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","names":[],"sources":["src/components/link/component.tsx"],"sourcesContent":["import type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaCurrentValuePropType,\n\tDownloadPropType,\n\tHrefPropType,\n\tKoliBriIconsProp,\n\tLabelWithExpertSlotPropType,\n\tLinkAPI,\n\tLinkOnCallbacksPropType,\n\tLinkStates,\n\tLinkTargetPropType,\n\tStringified,\n\tTooltipAlignPropType,\n\tDisabledPropType,\n} from '@public-ui/schema';\nimport {\n\tdevHint,\n\tpropagateFocus,\n\tsetEventTarget,\n\tshowExpertSlot,\n\tvalidateAccessKey,\n\tvalidateAlternativeButtonLinkRole,\n\tvalidateAriaCurrentValue,\n\tvalidateDownload,\n\tvalidateHideLabel,\n\tvalidateHref,\n\tvalidateIcons,\n\tvalidateLabelWithExpertSlot,\n\tvalidateLinkCallbacks,\n\tvalidateLinkTarget,\n\tvalidateTabIndex,\n\tvalidateTooltipAlign,\n} from '@public-ui/schema';\nimport { Component, Element, Host, Prop, State, Watch, h } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { onLocationChange } from './ariaCurrentService';\n\nimport { validateDisabled } from '@public-ui/schema';\nimport type { JSX } from '@stencil/core';\nimport type { UnsubscribeFunction } from './ariaCurrentService';\nimport { preventDefaultAndStopPropagation } from '../../utils/events';\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements LinkAPI {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\tprivate unsubscribeOnLocationChange?: UnsubscribeFunction;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (this.state._disabled === true) {\n\t\t\tpreventDefaultAndStopPropagation(event);\n\t\t} else if (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host class=\"kol-link-wc\">\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-disabled={this.state._disabled ? 'true' : undefined}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tthis.state._hideLabel && typeof this.state._label === 'string'\n\t\t\t\t\t\t\t? `${this.state._label}${isExternal ? ` (${translate('kol-open-link-in-tab')})` : ''}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._disabled ? -1 : this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc\n\t\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t\t_icons={this.state._icons}\n\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t_label={hasExpertSlot ? '' : this.state._label || this.state._href}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && (\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tclass=\"external-link-icon\"\n\t\t\t\t\t\t\t_label={this.state._hideLabel ? '' : translate('kol-open-link-in-tab')}\n\t\t\t\t\t\t\t_icons={'codicon codicon-link-external'}\n\t\t\t\t\t\t\taria-hidden={this.state._hideLabel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the elements access key.\n\t */\n\t@Prop() public _accessKey?: AccessKeyPropType;\n\n\t/**\n\t * Defines the value for the aria-current attribute.\n\t */\n\t@Prop() public _ariaCurrentValue?: AriaCurrentValuePropType;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_ariaCurrentValue: 'page',\n\t\t_href: '', // ⚠ required\n\t\t_icons: {},\n\t};\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: AccessKeyPropType): void {\n\t\tvalidateAccessKey(this, value);\n\t}\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentValuePropType): void {\n\t\tvalidateAriaCurrentValue(this, value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: DisabledPropType): void {\n\t\tvalidateDisabled(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAccessKey(this._accessKey);\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.unsubscribeOnLocationChange = onLocationChange((location) => {\n\t\t\tthis.state._ariaCurrent = location === this.state._href ? this.state._ariaCurrentValue : undefined;\n\t\t});\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.unsubscribeOnLocationChange) {\n\t\t\tthis.unsubscribeOnLocationChange();\n\t\t}\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{a0 as objectObjectHandler,a1 as parseJson,A as watchValidator,ae as isString,at as isIcon}from"./index2.js";import{I as InputController}from"./controller.js";const beforePatchIcons=(o,t)=>{const n=o;"object"==typeof n&&null!==n&&(isString(n.right,1)&&(n.right={icon:n.right}),isString(n.left,1)&&(n.left={icon:n.left}),t.set("_icons",n))};class InputIconController extends InputController{constructor(o,t,n){super(o,t,n),this.component=o}validateIcon(o){this.validateIcons(o)}validateIcons(o){objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(o){}watchValidator(this.component,"_icons",(o=>"object"==typeof o&&null!==o&&(isString(o.left,1)||isIcon(o.left)||isString(o.right,1)||isIcon(o.right))),new Set(["KoliBriHorizontalIcon"]),o,{hooks:{beforePatch:beforePatchIcons},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons||this.component._icon)}}export{InputIconController as I};
4
+ import{Z as objectObjectHandler,$ as parseJson,y as watchValidator,ac as isString,ar as isIcon}from"./index2.js";import{I as InputController}from"./controller.js";const beforePatchIcons=(o,t)=>{const n=o;"object"==typeof n&&null!==n&&(isString(n.right,1)&&(n.right={icon:n.right}),isString(n.left,1)&&(n.left={icon:n.left}),t.set("_icons",n))};class InputIconController extends InputController{constructor(o,t,n){super(o,t,n),this.component=o}validateIcon(o){this.validateIcons(o)}validateIcons(o){objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(o){}watchValidator(this.component,"_icons",(o=>"object"==typeof o&&null!==o&&(isString(o.left,1)||isIcon(o.left)||isString(o.right,1)||isIcon(o.right))),new Set(["KoliBriHorizontalIcon"]),o,{hooks:{beforePatch:beforePatchIcons},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons||this.component._icon)}}export{InputIconController as I};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{k as watchBoolean,ah as validateTouched,w as watchString,ai as validateAdjustHeight,aj as a11yHintDisabled,ak as validateHideError,l as validateHideLabel,al as a11yHint,d as devHint,n as validateLabelWithExpertSlot,y as setState,a0 as objectObjectHandler,a1 as parseJson,R as validateTabIndex}from"./index2.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events.js";import{A as AssociatedInputController}from"./component5.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t,{required:!0})}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideError(this.component._hideError),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g};
4
+ import{h as watchBoolean,af as validateTouched,w as watchString,ag as validateAdjustHeight,ah as a11yHintDisabled,ai as validateHideError,i as validateHideLabel,aj as a11yHint,D as devHint,l as validateLabelWithExpertSlot,u as setState,Z as objectObjectHandler,$ as parseJson,Q as validateTabIndex}from"./index2.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events.js";import{A as AssociatedInputController}from"./component5.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t,{required:!0})}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideError(this.component._hideError),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{am as validateRequired,A as watchValidator,an as orientationOptions,ao as validateOptions,ap as mapString2Unknown,y as setState,aq as STATE_CHANGE_EVENT}from"./index2.js";import{I as InputController}from"./controller.js";const fillKeyOptionMap=(t,o,e="")=>{o.forEach(((o,i)=>{const a=`${e}-${i}`;"object"==typeof o&&null!==o&&"string"==typeof o.label&&o.label.length>0&&(Array.isArray(o.options)?fillKeyOptionMap(t,o.options,a):t.set(a,o))}))};class InputCheckboxRadioController extends InputController{constructor(t,o,e){super(t,o,e),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,o,e){super(t,o,e),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,o)=>void 0!==o.find((o=>o.value===t)),this.afterPatchOptions=(t,o,e,i)=>{"_value"===i&&this.setFormAssociatedValue(t)},this.beforePatchOptions=(t,o)=>{const e=o.has("_options")?o.get("_options"):this.component.state._options;if(Array.isArray(e)&&e.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,e);const t=o.has("_value")?o.get("_value"):this.component.state._value;!1===this.isValueInOptions(t,e)&&(o.set("_value",e[0].value),this.onStateChange())}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions})}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const o=setTimeout((()=>{clearTimeout(o),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f};
4
+ import{ak as validateRequired,y as watchValidator,al as orientationOptions,am as validateOptions,an as mapString2Unknown,u as setState,ao as STATE_CHANGE_EVENT}from"./index2.js";import{I as InputController}from"./controller.js";const fillKeyOptionMap=(t,o,e="")=>{o.forEach(((o,i)=>{const a=`${e}-${i}`;"object"==typeof o&&null!==o&&"string"==typeof o.label&&o.label.length>0&&(Array.isArray(o.options)?fillKeyOptionMap(t,o.options,a):t.set(a,o))}))};class InputCheckboxRadioController extends InputController{constructor(t,o,e){super(t,o,e),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,o,e){super(t,o,e),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,o)=>void 0!==o.find((o=>o.value===t)),this.afterPatchOptions=(t,o,e,i)=>{"_value"===i&&this.setFormAssociatedValue(t)},this.beforePatchOptions=(t,o)=>{const e=o.has("_options")?o.get("_options"):this.component.state._options;if(Array.isArray(e)&&e.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,e);const t=o.has("_value")?o.get("_value"):this.component.state._value;!1===this.isValueInOptions(t,e)&&(o.set("_value",e[0].value),this.onStateChange())}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{afterPatch:this.afterPatchOptions,beforePatch:this.beforePatchOptions})}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const o=setTimeout((()=>{clearTimeout(o),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{A as watchValidator,ay as inputTextTypeOptions,az as validateHasCounter,as as validateSuggestions}from"./index2.js";import{I as InputPasswordController}from"./controller4.js";class InputTextEmailController extends InputPasswordController{constructor(t,o,e){super(t,o,e),this.component=t}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,o,e){super(t,o,e),this.hasError=!1,this.component=t}validateType(t){watchValidator(this.component,"_type",(t=>"string"==typeof t&&inputTextTypeOptions.includes(t)),new Set([`String {${inputTextTypeOptions.join(", ")}`]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{InputTextEmailController as I,InputTextController as a};
4
+ import{y as watchValidator,aw as inputTextTypeOptions,ax as validateHasCounter,aq as validateSuggestions}from"./index2.js";import{I as InputPasswordController}from"./controller4.js";class InputTextEmailController extends InputPasswordController{constructor(t,o,e){super(t,o,e),this.component=t}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,o,e){super(t,o,e),this.hasError=!1,this.component=t}validateType(t){watchValidator(this.component,"_type",(t=>"string"==typeof t&&inputTextTypeOptions.includes(t)),new Set([`String {${inputTextTypeOptions.join(", ")}`]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{InputTextEmailController as I,InputTextController as a};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{A as watchValidator,az as validateHasCounter,av as watchNumber,w as watchString,k as watchBoolean}from"./index2.js";import{I as InputIconController}from"./controller-icon.js";class InputPasswordController extends InputIconController{constructor(t,e,o){super(t,e,o),this.component=t}validateAutoComplete(t){watchValidator(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}validateMaxLength(t){watchNumber(this.component,"_maxLength",t,{min:0})}validatePattern(t){watchString(this.component,"_pattern",t)}validatePlaceholder(t){watchString(this.component,"_placeholder",t)}validateReadOnly(t){watchBoolean(this.component,"_readOnly",t)}validateRequired(t){watchBoolean(this.component,"_required",t)}validateValue(t){watchString(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),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.validateValue(this.component._value)}onBlur(t){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(t)}onFocus(t){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(t)}}export{InputPasswordController as I};
4
+ import{y as watchValidator,ax as validateHasCounter,at as watchNumber,w as watchString,h as watchBoolean}from"./index2.js";import{I as InputIconController}from"./controller-icon.js";class InputPasswordController extends InputIconController{constructor(t,e,o){super(t,e,o),this.component=t}validateAutoComplete(t){watchValidator(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}validateMaxLength(t){watchNumber(this.component,"_maxLength",t,{min:0})}validatePattern(t){watchString(this.component,"_pattern",t)}validatePlaceholder(t){watchString(this.component,"_placeholder",t)}validateReadOnly(t){watchBoolean(this.component,"_readOnly",t)}validateRequired(t){watchBoolean(this.component,"_required",t)}validateValue(t){watchString(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateHasCounter(this.component._hasCounter),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.validateValue(this.component._value)}onBlur(t){this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:this.placeholderCache}),this.placeholderCache=void 0,super.onBlur(t)}onFocus(t){this.placeholderCache=this.component.state._placeholder,this.component.state=Object.assign(Object.assign({},this.component.state),{_placeholder:void 0}),super.onFocus(t)}}export{InputPasswordController as I};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{g as getDocument,L as Log,a as getWindow,s as setWindow,b as setDocument,p as processEnv,c as setDevMode,f as setExperimentalMode,h as setColorContrastAnalysis}from"./index2.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){try{if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}catch(e){}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}const configKoliBri=e=>{e instanceof Window?(setWindow(e),getWindow().document instanceof Document?setDocument(e.document):console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},initMeta=()=>{const e=getDocument().querySelector('meta[name="kolibri"]');if(e&&e.hasAttribute("content")){const t=e.getAttribute("content");"string"==typeof t&&(setDevMode(t.includes("dev-mode=true")),setExperimentalMode(t.includes("experimental-mode=true")),setColorContrastAnalysis(t.includes("color-contrast-analysis=true")))}},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{if(void 0===getKoliBri().Modal){const e=new ModalService;Object.defineProperty(getKoliBri(),"Modal",{get:function(){return e}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.8\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{!0!==getKoliBri().adviceShown&&(Object.defineProperty(getKoliBri(),"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{configKoliBri as c,getKoliBri as g,initKoliBri as i,nonce as n,renderDevAdvice as r};
4
+ import{p as processEnv,L as Log,g as getDocument,s as setDevMode,b as setExperimentalMode,c as setColorContrastAnalysis,d as getWindow}from"./index2.js";const initMeta=()=>{const e=getDocument().querySelector('meta[name="kolibri"]');if(e&&e.hasAttribute("content")){const t=e.getAttribute("content");"string"==typeof t&&(setDevMode(t.includes("dev-mode=true")),setExperimentalMode(t.includes("experimental-mode=true")),setColorContrastAnalysis(t.includes("color-contrast-analysis=true")))}},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{initMeta(),void 0===getKoliBri()?Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.9\n\t\t",{forceLog:!0}):console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{!0!==getKoliBri().adviceShown&&(Object.defineProperty(getKoliBri(),"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{initKoliBri as i,nonce as n,renderDevAdvice as r};
@@ -1 +1 @@
1
- {"file":"dev.utils.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/utils/dev.utils.ts"],"sourcesContent":["import { Log, getDocument } from '@public-ui/schema';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\ttry {\n\t\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { Log, getDocument, processEnv, setColorContrastAnalysis, setDevMode, setExperimentalMode } from '@public-ui/schema';\n\nimport { getWindow, setDocument, setWindow } from '@public-ui/schema';\nimport { ModalService } from '../components/modal/service';\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tsetWindow(window);\n\t\tif (getWindow().document instanceof Document) {\n\t\t\tsetDocument(window.document);\n\t\t} else {\n\t\t\tconsole.warn(`The given Window has no valid Document.`);\n\t\t}\n\t} else {\n\t\tconsole.warn(`The given Window is not valid.`);\n\t}\n};\n\nconst initMeta = (): void => {\n\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\tif (meta && meta.hasAttribute('content')) {\n\t\tconst content = meta.getAttribute('content');\n\t\tif (typeof content === 'string') {\n\t\t\tsetDevMode(content.includes('dev-mode=true'));\n\t\t\tsetExperimentalMode(content.includes('experimental-mode=true'));\n\t\t\tsetColorContrastAnalysis(content.includes('color-contrast-analysis=true'));\n\t\t}\n\t}\n};\n\nconst getKoliBri = (): Record<string, unknown> => {\n\tlet kolibri = getWindow().KoliBri;\n\tif (kolibri === undefined) {\n\t\tkolibri = {};\n\t\tObject.defineProperty(getWindow(), 'KoliBri', {\n\t\t\tvalue: kolibri,\n\t\t\twritable: false,\n\t\t});\n\t}\n\treturn kolibri;\n};\n\nexport const initKoliBri = (): void => {\n\tif (getKoliBri().Modal === undefined) {\n\t\tconst Modal = new ModalService();\n\t\tObject.defineProperty(getKoliBri(), 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.8\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { getKoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(getKoliBri(), 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"version":3}
1
+ {"file":"dev.utils.js","mappings":";;;;;AAIA,MAAM,QAAQ,GAAG;IAChB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACjE,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAChC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9C,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAChE,wBAAwB,CAAC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,CAAC;SAC3E;KACD;AACF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG;IAClB,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE;QAC1B,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;YAC7C,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;KACH;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;MAIW,WAAW,GAAG;IAC1B,QAAQ,EAAE,CAAC;IACX,IAAI,UAAU,EAAE,KAAK,SAAS,EAAE;QAC/B,GAAG,CAAC,KAAK,CACR;;;;;;;GAOA,EACA;YACC,QAAQ,EAAE,IAAI;SACd,CACD,CAAC;KACF;SAAM;QACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;KACtD;AACF,EAAE;MAEW,eAAe,GAAG;IAC9B,IAAI,UAAU,EAAE,CAAC,WAAW,KAAK,IAAI,EAAE;QACtC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE;YAClD,GAAG,EAAE;gBACJ,OAAO,IAAI,CAAC;aACZ;SACD,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CACR;;;;;CAKF,CACE,CAAC;KACF;AACF,EAAE;IAEE,KAAK,GAAG,MAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE;AAE5E,IAAI,UAAU,KAAK,MAAM,EAAE;IAC1B,KAAK,GAAG,MAAc,OAAO,CAAC;AAC/B;;;;","names":[],"sources":["src/utils/dev.utils.ts"],"sourcesContent":["import { Log, getDocument, processEnv, setColorContrastAnalysis, setDevMode, setExperimentalMode } from '@public-ui/schema';\n\nimport { getWindow } from '@public-ui/schema';\n\nconst initMeta = (): void => {\n\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\tif (meta && meta.hasAttribute('content')) {\n\t\tconst content = meta.getAttribute('content');\n\t\tif (typeof content === 'string') {\n\t\t\tsetDevMode(content.includes('dev-mode=true'));\n\t\t\tsetExperimentalMode(content.includes('experimental-mode=true'));\n\t\t\tsetColorContrastAnalysis(content.includes('color-contrast-analysis=true'));\n\t\t}\n\t}\n};\n\nconst getKoliBri = (): Record<string, unknown> => {\n\tlet kolibri = getWindow().KoliBri;\n\tif (kolibri === undefined) {\n\t\tkolibri = {};\n\t\tObject.defineProperty(getWindow(), 'KoliBri', {\n\t\t\tvalue: kolibri,\n\t\t\twritable: false,\n\t\t});\n\t}\n\treturn kolibri;\n};\n\nexport { getKoliBri };\n\nexport const initKoliBri = (): void => {\n\tinitMeta();\n\tif (getKoliBri() === undefined) {\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.9\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\n\nexport const renderDevAdvice = (): void => {\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(getKoliBri(), 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{aR as getDevMode,g as getDocument,L as Log,E as getExperimentalMode,aS as getColorContrastAnalysis,aT as KoliBriUtils,aU as koliBriA11yColorContrast,aO as koliBriQuerySelector,aV as koliBriQuerySelectorAll,aW as koliBriQuerySelectorColors,a1 as parseJson,aX as stringifyJson}from"./index2.js";import{i as initKoliBri,r as renderDevAdvice,g as getKoliBri}from"./dev.utils.js";function prototypeKoliBri(e,t){try{Object.defineProperty(getKoliBri(),e,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${e} is already bind.`)}}const metaModeLog=(e,t)=>Log.debug(`${e} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const e=getDocument().body,t=getDocument().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(t),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(e),!1,!1)}),1e4)}),2500)}}};export{initialize};
4
+ import{aP as getDevMode,g as getDocument,L as Log,C as getExperimentalMode,aQ as getColorContrastAnalysis,aR as KoliBriUtils,aS as koliBriA11yColorContrast,aM as koliBriQuerySelector,aT as koliBriQuerySelectorAll,aU as koliBriQuerySelectorColors,$ as parseJson,aV as stringifyJson,d as getWindow}from"./index2.js";import{i as initKoliBri,r as renderDevAdvice}from"./dev.utils.js";const getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e};function prototypeKoliBri(e,t){try{Object.defineProperty(getKoliBri(),e,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${e} is already bind.`)}}const metaModeLog=(e,t)=>Log.debug(`${e} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const e=getDocument().body,t=getDocument().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(t),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(e),!1,!1)}),1e4)}),2500)}}};export{initialize};
@@ -1 +1 @@
1
- {"file":"devtools.js","mappings":";;;;;;AAgBA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;IAC/C,IAAI;QACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;YACzC,GAAG,EAAE;gBACJ,OAAO,EAAE,CAAC;aACV;SACD,CAAC,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;KACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;IACd,IAAI,UAAU,EAAE,EAAE;QACjB,eAAe,EAAE,CAAC;QAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;QAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACpE,gBAAgB,CAAC,OAAO,EAAE;YACzB,OAAO,YAAY,CAAC;SACpB,CAAC,CAAC;QACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;QAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;QAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAEnE,IAAI,wBAAwB,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;gBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,WAAW,CAAC;oBACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACtH,EAAE,KAAK,CAAC,CAAC;aACV,EAAE,IAAI,CAAC,CAAC;SACT;KAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import {\n\tgetColorContrastAnalysis,\n\tgetDevMode,\n\tgetDocument,\n\tgetExperimentalMode,\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tLog,\n\tparseJson,\n\tstringifyJson,\n} from '@public-ui/schema';\nimport { getKoliBri, initKoliBri, renderDevAdvice } from '../utils/dev.utils';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(getKoliBri(), name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}
1
+ {"file":"devtools.js","mappings":";;;;;;AAiBA,MAAM,UAAU,GAAG;IAClB,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE;QAC1B,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;YAC7C,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;KACH;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;IAC/C,IAAI;QACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;YACzC,GAAG,EAAE;gBACJ,OAAO,EAAE,CAAC;aACV;SACD,CAAC,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;KACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;IACd,IAAI,UAAU,EAAE,EAAE;QACjB,eAAe,EAAE,CAAC;QAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;QAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACpE,gBAAgB,CAAC,OAAO,EAAE;YACzB,OAAO,YAAY,CAAC;SACpB,CAAC,CAAC;QACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;QAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;QAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAEnE,IAAI,wBAAwB,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;gBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,WAAW,CAAC;oBACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACtH,EAAE,KAAK,CAAC,CAAC;aACV,EAAE,IAAI,CAAC,CAAC;SACT;KAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import {\n\tgetColorContrastAnalysis,\n\tgetDevMode,\n\tgetDocument,\n\tgetExperimentalMode,\n\tgetWindow,\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tLog,\n\tparseJson,\n\tstringifyJson,\n} from '@public-ui/schema';\nimport { initKoliBri, renderDevAdvice } from '../utils/dev.utils';\n\nconst getKoliBri = (): Record<string, unknown> => {\n\tlet kolibri = getWindow().KoliBri;\n\tif (kolibri === undefined) {\n\t\tkolibri = {};\n\t\tObject.defineProperty(getWindow(), 'KoliBri', {\n\t\t\tvalue: kolibri,\n\t\t\twritable: false,\n\t\t});\n\t}\n\treturn kolibri;\n};\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(getKoliBri(), name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}