@public-ui/components 1.4.0-rc.11 → 1.4.0-rc.13

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 (405) hide show
  1. package/cheat-sheet.html +6 -6
  2. package/custom-elements.json +1 -1
  3. package/dist/cjs/a11y.tipps-2d865b06.js +4 -0
  4. package/dist/cjs/a11y.tipps-2d865b06.js.map +1 -0
  5. package/dist/cjs/app-globals-af33015e.js +4 -0
  6. package/dist/cjs/app-globals-af33015e.js.map +1 -0
  7. package/dist/cjs/button-link-229f6162.js +4 -0
  8. package/dist/cjs/{button-link-17aa6a40.js.map → button-link-229f6162.js.map} +1 -1
  9. package/dist/cjs/{controller-0753ec3a.js → controller-3250fec0.js} +1 -1
  10. package/dist/cjs/{controller-0753ec3a.js.map → controller-3250fec0.js.map} +1 -1
  11. package/dist/cjs/{controller-cb433205.js → controller-38b9d7cd.js} +1 -1
  12. package/dist/cjs/{controller-cb433205.js.map → controller-38b9d7cd.js.map} +1 -1
  13. package/dist/cjs/{controller-dd3f28d0.js → controller-5d32ca74.js} +1 -1
  14. package/dist/cjs/{controller-dd3f28d0.js.map → controller-5d32ca74.js.map} +1 -1
  15. package/dist/cjs/{controller-75784c0e.js → controller-8965ad37.js} +1 -1
  16. package/dist/cjs/{controller-75784c0e.js.map → controller-8965ad37.js.map} +1 -1
  17. package/dist/cjs/controller-8f89aa09.js +4 -0
  18. package/dist/cjs/{controller-ec443a90.js.map → controller-8f89aa09.js.map} +1 -1
  19. package/dist/cjs/controller-e18e6217.js +4 -0
  20. package/dist/cjs/{controller-8c609713.js.map → controller-e18e6217.js.map} +1 -1
  21. package/dist/cjs/{controller-icon-ac752d0d.js → controller-icon-33aa7391.js} +1 -1
  22. package/dist/cjs/{controller-icon-ac752d0d.js.map → controller-icon-33aa7391.js.map} +1 -1
  23. package/dist/cjs/dev.utils-51eb4546.js +4 -0
  24. package/dist/cjs/dev.utils-51eb4546.js.map +1 -0
  25. package/dist/cjs/devtools-3fcb1cf8.js +4 -0
  26. package/dist/cjs/devtools-3fcb1cf8.js.map +1 -0
  27. package/dist/cjs/{i18n-d56b3736.js → i18n-597aadd6.js} +1 -1
  28. package/dist/cjs/{i18n-d56b3736.js.map → i18n-597aadd6.js.map} +1 -1
  29. package/dist/cjs/{icon-2a4562a6.js → icon-a37e4664.js} +1 -1
  30. package/dist/cjs/{icon-2a4562a6.js.map → icon-a37e4664.js.map} +1 -1
  31. package/dist/cjs/index.cjs.js +1 -1
  32. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  33. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  34. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  35. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  37. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  39. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-heading-wc_2.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  70. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  76. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  87. package/dist/cjs/kolibri.cjs.js +1 -1
  88. package/dist/cjs/label-f5fcff50.js +4 -0
  89. package/dist/cjs/label-f5fcff50.js.map +1 -0
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/cjs/prop.validators-effc9f22.js +4 -0
  92. package/dist/cjs/prop.validators-effc9f22.js.map +1 -0
  93. package/dist/cjs/reuse-2909f881.js +4 -0
  94. package/dist/cjs/reuse-2909f881.js.map +1 -0
  95. package/dist/cjs/{tab-index-a499e8df.js → tab-index-fc3e1bd4.js} +1 -1
  96. package/dist/cjs/{tab-index-a499e8df.js.map → tab-index-fc3e1bd4.js.map} +1 -1
  97. package/dist/cjs/validation-606d723e.js +4 -0
  98. package/dist/cjs/{validation-9fd3dc0c.js.map → validation-606d723e.js.map} +1 -1
  99. package/dist/cjs/{validation-421fff30.js → validation-80e152fa.js} +1 -1
  100. package/dist/cjs/{validation-421fff30.js.map → validation-80e152fa.js.map} +1 -1
  101. package/dist/components/component.js +1 -1
  102. package/dist/components/component.js.map +1 -1
  103. package/dist/components/component13.js +1 -1
  104. package/dist/components/component13.js.map +1 -1
  105. package/dist/components/component3.js +1 -1
  106. package/dist/components/component3.js.map +1 -1
  107. package/dist/components/component5.js +1 -1
  108. package/dist/components/component5.js.map +1 -1
  109. package/dist/components/component6.js +1 -1
  110. package/dist/components/component6.js.map +1 -1
  111. package/dist/components/controller-icon.js +1 -1
  112. package/dist/components/devtools.js.map +1 -1
  113. package/dist/components/index.js +1 -1
  114. package/dist/components/index.js.map +1 -1
  115. package/dist/components/kol-input-adapter-leanup.js +1 -1
  116. package/dist/components/kol-input-checkbox.js +1 -1
  117. package/dist/components/kol-input-radio-group.js +1 -1
  118. package/dist/components/kol-tabs.js.map +1 -1
  119. package/dist/components/prop.validators.js +1 -1
  120. package/dist/components/prop.validators.js.map +1 -1
  121. package/dist/esm/a11y.tipps-a876ebb7.js +4 -0
  122. package/dist/esm/a11y.tipps-a876ebb7.js.map +1 -0
  123. package/dist/esm/app-globals-c03fa275.js +4 -0
  124. package/dist/esm/app-globals-c03fa275.js.map +1 -0
  125. package/dist/esm/{button-link-75df8fe4.js → button-link-c6783bbf.js} +1 -1
  126. package/dist/esm/{button-link-75df8fe4.js.map → button-link-c6783bbf.js.map} +1 -1
  127. package/dist/esm/controller-37aebfec.js +4 -0
  128. package/dist/esm/{controller-4fb4a3b9.js.map → controller-37aebfec.js.map} +1 -1
  129. package/dist/esm/{controller-b2f78852.js → controller-651f292f.js} +1 -1
  130. package/dist/esm/{controller-b2f78852.js.map → controller-651f292f.js.map} +1 -1
  131. package/dist/esm/controller-a23b4b6b.js +4 -0
  132. package/dist/esm/{controller-f1a122f2.js.map → controller-a23b4b6b.js.map} +1 -1
  133. package/dist/esm/{controller-b7800467.js → controller-ac36853c.js} +1 -1
  134. package/dist/esm/{controller-b7800467.js.map → controller-ac36853c.js.map} +1 -1
  135. package/dist/esm/{controller-5c769b0e.js → controller-ae63fa3a.js} +1 -1
  136. package/dist/esm/{controller-5c769b0e.js.map → controller-ae63fa3a.js.map} +1 -1
  137. package/dist/esm/{controller-3dd01f3f.js → controller-b4263f6b.js} +1 -1
  138. package/dist/esm/{controller-3dd01f3f.js.map → controller-b4263f6b.js.map} +1 -1
  139. package/dist/esm/{controller-icon-ac7d7589.js → controller-icon-1f62443f.js} +1 -1
  140. package/dist/esm/{controller-icon-ac7d7589.js.map → controller-icon-1f62443f.js.map} +1 -1
  141. package/dist/esm/dev.utils-ec1c1b88.js +4 -0
  142. package/dist/esm/dev.utils-ec1c1b88.js.map +1 -0
  143. package/dist/esm/devtools-f9831038.js +4 -0
  144. package/dist/esm/devtools-f9831038.js.map +1 -0
  145. package/dist/esm/{i18n-23bb2f48.js → i18n-e297566c.js} +1 -1
  146. package/dist/esm/{i18n-23bb2f48.js.map → i18n-e297566c.js.map} +1 -1
  147. package/dist/esm/{icon-286d4116.js → icon-bad239de.js} +1 -1
  148. package/dist/esm/{icon-286d4116.js.map → icon-bad239de.js.map} +1 -1
  149. package/dist/esm/index.js +1 -1
  150. package/dist/esm/kol-abbr.entry.js +1 -1
  151. package/dist/esm/kol-accordion.entry.js +1 -1
  152. package/dist/esm/kol-alert.entry.js +1 -1
  153. package/dist/esm/kol-alert.entry.js.map +1 -1
  154. package/dist/esm/kol-badge.entry.js +1 -1
  155. package/dist/esm/kol-badge.entry.js.map +1 -1
  156. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  157. package/dist/esm/kol-button-link.entry.js +1 -1
  158. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  159. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  160. package/dist/esm/kol-button.entry.js +1 -1
  161. package/dist/esm/kol-card.entry.js +1 -1
  162. package/dist/esm/kol-details.entry.js +1 -1
  163. package/dist/esm/kol-form.entry.js +1 -1
  164. package/dist/esm/kol-heading-wc_2.entry.js +1 -1
  165. package/dist/esm/kol-icon.entry.js +1 -1
  166. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  167. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  168. package/dist/esm/kol-input-color.entry.js +1 -1
  169. package/dist/esm/kol-input-date.entry.js +1 -1
  170. package/dist/esm/kol-input-email.entry.js +1 -1
  171. package/dist/esm/kol-input-file.entry.js +1 -1
  172. package/dist/esm/kol-input-number.entry.js +1 -1
  173. package/dist/esm/kol-input-password.entry.js +1 -1
  174. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  175. package/dist/esm/kol-input-radio.entry.js +1 -1
  176. package/dist/esm/kol-input-range.entry.js +1 -1
  177. package/dist/esm/kol-input-text.entry.js +1 -1
  178. package/dist/esm/kol-kolibri.entry.js +1 -1
  179. package/dist/esm/kol-link-button.entry.js +1 -1
  180. package/dist/esm/kol-link-group.entry.js +1 -1
  181. package/dist/esm/kol-link-wc.entry.js +1 -1
  182. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  183. package/dist/esm/kol-link.entry.js +1 -1
  184. package/dist/esm/kol-logo.entry.js +1 -1
  185. package/dist/esm/kol-modal.entry.js +1 -1
  186. package/dist/esm/kol-nav.entry.js +1 -1
  187. package/dist/esm/kol-pagination.entry.js +1 -1
  188. package/dist/esm/kol-progress.entry.js +1 -1
  189. package/dist/esm/kol-select.entry.js +1 -1
  190. package/dist/esm/kol-select.entry.js.map +1 -1
  191. package/dist/esm/kol-skip-nav.entry.js +1 -1
  192. package/dist/esm/kol-spin.entry.js +1 -1
  193. package/dist/esm/kol-symbol.entry.js +1 -1
  194. package/dist/esm/kol-table.entry.js +1 -1
  195. package/dist/esm/kol-tabs.entry.js +1 -1
  196. package/dist/esm/kol-tabs.entry.js.map +1 -1
  197. package/dist/esm/kol-textarea.entry.js +1 -1
  198. package/dist/esm/kol-toast.entry.js +1 -1
  199. package/dist/esm/kol-tooltip.entry.js +1 -1
  200. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  201. package/dist/esm/kol-version.entry.js +1 -1
  202. package/dist/esm/kolibri.js +1 -1
  203. package/dist/esm/label-ed7a7276.js +4 -0
  204. package/dist/esm/label-ed7a7276.js.map +1 -0
  205. package/dist/esm/loader.js +1 -1
  206. package/dist/esm/prop.validators-dd337216.js +4 -0
  207. package/dist/esm/prop.validators-dd337216.js.map +1 -0
  208. package/dist/esm/reuse-9dd1192b.js +4 -0
  209. package/dist/esm/reuse-9dd1192b.js.map +1 -0
  210. package/dist/esm/{tab-index-7446a923.js → tab-index-0a44a354.js} +1 -1
  211. package/dist/esm/{tab-index-7446a923.js.map → tab-index-0a44a354.js.map} +1 -1
  212. package/dist/esm/{validation-7fe30a10.js → validation-1165b64b.js} +1 -1
  213. package/dist/esm/{validation-7fe30a10.js.map → validation-1165b64b.js.map} +1 -1
  214. package/dist/esm/validation-68f4e65e.js +4 -0
  215. package/dist/esm/{validation-57ce54ee.js.map → validation-68f4e65e.js.map} +1 -1
  216. package/dist/kolibri/a11y.tipps-a876ebb7.js +4 -0
  217. package/dist/kolibri/{a11y.tipps-7a139717.js.map → a11y.tipps-a876ebb7.js.map} +1 -1
  218. package/dist/kolibri/app-globals-c03fa275.js +4 -0
  219. package/dist/kolibri/app-globals-c03fa275.js.map +1 -0
  220. package/dist/kolibri/{button-link-75df8fe4.js → button-link-c6783bbf.js} +1 -1
  221. package/dist/kolibri/controller-37aebfec.js +4 -0
  222. package/dist/kolibri/{controller-4fb4a3b9.js.map → controller-37aebfec.js.map} +1 -1
  223. package/dist/kolibri/{controller-b2f78852.js → controller-651f292f.js} +1 -1
  224. package/dist/kolibri/controller-a23b4b6b.js +4 -0
  225. package/dist/kolibri/{controller-f1a122f2.js.map → controller-a23b4b6b.js.map} +1 -1
  226. package/dist/kolibri/{controller-b7800467.js → controller-ac36853c.js} +1 -1
  227. package/dist/kolibri/{controller-5c769b0e.js → controller-ae63fa3a.js} +1 -1
  228. package/dist/kolibri/{controller-3dd01f3f.js → controller-b4263f6b.js} +1 -1
  229. package/dist/kolibri/controller-icon-1f62443f.js +4 -0
  230. package/dist/kolibri/{log-829fbbc7.js → dev.utils-ec1c1b88.js} +1 -1
  231. package/dist/kolibri/dev.utils-ec1c1b88.js.map +1 -0
  232. package/dist/kolibri/devtools-f9831038.js +4 -0
  233. package/dist/kolibri/devtools-f9831038.js.map +1 -0
  234. package/dist/kolibri/{i18n-23bb2f48.js → i18n-e297566c.js} +1 -1
  235. package/dist/kolibri/icon-bad239de.js +4 -0
  236. package/dist/kolibri/{icon-286d4116.js.map → icon-bad239de.js.map} +1 -1
  237. package/dist/kolibri/index.esm.js +1 -1
  238. package/dist/kolibri/kol-abbr.entry.js +1 -1
  239. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  240. package/dist/kolibri/kol-accordion.entry.js +1 -1
  241. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  242. package/dist/kolibri/kol-alert.entry.js +1 -1
  243. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  244. package/dist/kolibri/kol-badge.entry.js +1 -1
  245. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  246. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  247. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  248. package/dist/kolibri/kol-button-link.entry.js +1 -1
  249. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  250. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  251. package/dist/kolibri/kol-button.entry.js +1 -1
  252. package/dist/kolibri/kol-card.entry.js +1 -1
  253. package/dist/kolibri/kol-card.entry.js.map +1 -1
  254. package/dist/kolibri/kol-details.entry.js +1 -1
  255. package/dist/kolibri/kol-details.entry.js.map +1 -1
  256. package/dist/kolibri/kol-form.entry.js +1 -1
  257. package/dist/kolibri/kol-form.entry.js.map +1 -1
  258. package/dist/kolibri/kol-heading-wc_2.entry.js +1 -1
  259. package/dist/kolibri/kol-heading-wc_2.entry.js.map +1 -1
  260. package/dist/kolibri/kol-icon.entry.js +1 -1
  261. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  262. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  263. package/dist/kolibri/kol-input-adapter-leanup.entry.js.map +1 -1
  264. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  265. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  266. package/dist/kolibri/kol-input-color.entry.js +1 -1
  267. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  268. package/dist/kolibri/kol-input-date.entry.js +1 -1
  269. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  270. package/dist/kolibri/kol-input-email.entry.js +1 -1
  271. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  272. package/dist/kolibri/kol-input-file.entry.js +1 -1
  273. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  274. package/dist/kolibri/kol-input-number.entry.js +1 -1
  275. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  276. package/dist/kolibri/kol-input-password.entry.js +1 -1
  277. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  278. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  279. package/dist/kolibri/kol-input-radio-group.entry.js.map +1 -1
  280. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  281. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  282. package/dist/kolibri/kol-input-range.entry.js +1 -1
  283. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  284. package/dist/kolibri/kol-input-text.entry.js +1 -1
  285. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  286. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  287. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  288. package/dist/kolibri/kol-link-button.entry.js +1 -1
  289. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  290. package/dist/kolibri/kol-link-group.entry.js +1 -1
  291. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  292. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  293. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  294. package/dist/kolibri/kol-link.entry.js +1 -1
  295. package/dist/kolibri/kol-logo.entry.js +1 -1
  296. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  297. package/dist/kolibri/kol-modal.entry.js +1 -1
  298. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  299. package/dist/kolibri/kol-nav.entry.js +1 -1
  300. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  301. package/dist/kolibri/kol-pagination.entry.js +1 -1
  302. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  303. package/dist/kolibri/kol-progress.entry.js +1 -1
  304. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  305. package/dist/kolibri/kol-select.entry.js +1 -1
  306. package/dist/kolibri/kol-select.entry.js.map +1 -1
  307. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  308. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  309. package/dist/kolibri/kol-spin.entry.js +1 -1
  310. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  311. package/dist/kolibri/kol-symbol.entry.js +1 -1
  312. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  313. package/dist/kolibri/kol-table.entry.js +1 -1
  314. package/dist/kolibri/kol-table.entry.js.map +1 -1
  315. package/dist/kolibri/kol-tabs.entry.js +1 -1
  316. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  317. package/dist/kolibri/kol-textarea.entry.js +1 -1
  318. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  319. package/dist/kolibri/kol-toast.entry.js +1 -1
  320. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  321. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  322. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  323. package/dist/kolibri/kol-version.entry.js +1 -1
  324. package/dist/kolibri/kol-version.entry.js.map +1 -1
  325. package/dist/kolibri/kolibri.esm.js +1 -1
  326. package/dist/kolibri/kolibri.esm.js.map +1 -1
  327. package/dist/kolibri/label-ed7a7276.js +4 -0
  328. package/dist/kolibri/label-ed7a7276.js.map +1 -0
  329. package/dist/kolibri/prop.validators-dd337216.js +4 -0
  330. package/dist/kolibri/prop.validators-dd337216.js.map +1 -0
  331. package/dist/kolibri/reuse-9dd1192b.js +4 -0
  332. package/dist/kolibri/reuse-9dd1192b.js.map +1 -0
  333. package/dist/kolibri/{tab-index-7446a923.js → tab-index-0a44a354.js} +1 -1
  334. package/dist/kolibri/{validation-7fe30a10.js → validation-1165b64b.js} +1 -1
  335. package/dist/kolibri/validation-68f4e65e.js +4 -0
  336. package/dist/types/components/badge/component.d.ts +2 -0
  337. package/dist/types/types/input/types.d.ts +1 -1
  338. package/dist/types/utils/dev.utils.d.ts +17 -0
  339. package/dist/types/utils/prop.validators.d.ts +2 -1
  340. package/dist/types/utils/validators/label.d.ts +4 -2
  341. package/jest-test-results.json +1 -1
  342. package/package.json +1 -1
  343. package/dist/cjs/a11y.tipps-ab1afcfd.js +0 -4
  344. package/dist/cjs/a11y.tipps-ab1afcfd.js.map +0 -1
  345. package/dist/cjs/app-globals-725a044c.js +0 -4
  346. package/dist/cjs/app-globals-725a044c.js.map +0 -1
  347. package/dist/cjs/button-link-17aa6a40.js +0 -4
  348. package/dist/cjs/controller-8c609713.js +0 -4
  349. package/dist/cjs/controller-ec443a90.js +0 -4
  350. package/dist/cjs/devtools-29b8b4ff.js +0 -4
  351. package/dist/cjs/devtools-29b8b4ff.js.map +0 -1
  352. package/dist/cjs/label-b702acbd.js +0 -4
  353. package/dist/cjs/label-b702acbd.js.map +0 -1
  354. package/dist/cjs/log-c0dc35c9.js +0 -4
  355. package/dist/cjs/log-c0dc35c9.js.map +0 -1
  356. package/dist/cjs/prop.validators-da7d3db2.js +0 -4
  357. package/dist/cjs/prop.validators-da7d3db2.js.map +0 -1
  358. package/dist/cjs/reuse-b43997f3.js +0 -4
  359. package/dist/cjs/reuse-b43997f3.js.map +0 -1
  360. package/dist/cjs/validation-9fd3dc0c.js +0 -4
  361. package/dist/esm/a11y.tipps-7a139717.js +0 -4
  362. package/dist/esm/a11y.tipps-7a139717.js.map +0 -1
  363. package/dist/esm/app-globals-0ffb53ba.js +0 -4
  364. package/dist/esm/app-globals-0ffb53ba.js.map +0 -1
  365. package/dist/esm/controller-4fb4a3b9.js +0 -4
  366. package/dist/esm/controller-f1a122f2.js +0 -4
  367. package/dist/esm/devtools-1fae3661.js +0 -4
  368. package/dist/esm/devtools-1fae3661.js.map +0 -1
  369. package/dist/esm/label-bd914c5e.js +0 -4
  370. package/dist/esm/label-bd914c5e.js.map +0 -1
  371. package/dist/esm/log-829fbbc7.js +0 -4
  372. package/dist/esm/log-829fbbc7.js.map +0 -1
  373. package/dist/esm/prop.validators-27682076.js +0 -4
  374. package/dist/esm/prop.validators-27682076.js.map +0 -1
  375. package/dist/esm/reuse-2b3b6999.js +0 -4
  376. package/dist/esm/reuse-2b3b6999.js.map +0 -1
  377. package/dist/esm/validation-57ce54ee.js +0 -4
  378. package/dist/kolibri/a11y.tipps-7a139717.js +0 -4
  379. package/dist/kolibri/app-globals-0ffb53ba.js +0 -4
  380. package/dist/kolibri/app-globals-0ffb53ba.js.map +0 -1
  381. package/dist/kolibri/controller-4fb4a3b9.js +0 -4
  382. package/dist/kolibri/controller-f1a122f2.js +0 -4
  383. package/dist/kolibri/controller-icon-ac7d7589.js +0 -4
  384. package/dist/kolibri/devtools-1fae3661.js +0 -4
  385. package/dist/kolibri/devtools-1fae3661.js.map +0 -1
  386. package/dist/kolibri/icon-286d4116.js +0 -4
  387. package/dist/kolibri/label-bd914c5e.js +0 -4
  388. package/dist/kolibri/label-bd914c5e.js.map +0 -1
  389. package/dist/kolibri/log-829fbbc7.js.map +0 -1
  390. package/dist/kolibri/prop.validators-27682076.js +0 -4
  391. package/dist/kolibri/prop.validators-27682076.js.map +0 -1
  392. package/dist/kolibri/reuse-2b3b6999.js +0 -4
  393. package/dist/kolibri/reuse-2b3b6999.js.map +0 -1
  394. package/dist/kolibri/validation-57ce54ee.js +0 -4
  395. package/dist/types/utils/log.d.ts +0 -18
  396. /package/dist/kolibri/{button-link-75df8fe4.js.map → button-link-c6783bbf.js.map} +0 -0
  397. /package/dist/kolibri/{controller-b2f78852.js.map → controller-651f292f.js.map} +0 -0
  398. /package/dist/kolibri/{controller-b7800467.js.map → controller-ac36853c.js.map} +0 -0
  399. /package/dist/kolibri/{controller-5c769b0e.js.map → controller-ae63fa3a.js.map} +0 -0
  400. /package/dist/kolibri/{controller-3dd01f3f.js.map → controller-b4263f6b.js.map} +0 -0
  401. /package/dist/kolibri/{controller-icon-ac7d7589.js.map → controller-icon-1f62443f.js.map} +0 -0
  402. /package/dist/kolibri/{i18n-23bb2f48.js.map → i18n-e297566c.js.map} +0 -0
  403. /package/dist/kolibri/{tab-index-7446a923.js.map → tab-index-0a44a354.js.map} +0 -0
  404. /package/dist/kolibri/{validation-7fe30a10.js.map → validation-1165b64b.js.map} +0 -0
  405. /package/dist/kolibri/{validation-57ce54ee.js.map → validation-68f4e65e.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/components",
3
- "version": "1.4.0-rc.11",
3
+ "version": "1.4.0-rc.13",
4
4
  "license": "EUPL-1.2",
5
5
  "homepage": "https://public-ui.github.io",
6
6
  "bugs": { "url": "https://github.com/public-ui/kolibri/issues", "email": "kolibri@itzbund.de" },
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const log=require("./log-c0dc35c9.js"),a11yCache=new Set,a11yHint=e=>{!1===a11yCache.has(e)&&(a11yCache.add(e),log.Log.info(e,{classifier:"✋ a11y",overwriteStyle:"; background-color: #09f"}))},deprecatedCache=new Set,deprecatedHint=e=>{!1===deprecatedCache.has(e)&&(deprecatedCache.add(e),log.Log.warn(e,{classifier:"🔥 deprecated",forceLog:!0,overwriteStyle:"; background-color: #f00"}))},devCache=new Set,devHint=e=>{!1===devCache.has(e)&&(devCache.add(e),log.Log.debug(e,{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},featureCache=new Set,featureHint=(e,i=!1)=>{!1===featureCache.has(e)&&(featureCache.add(e),e+=!0===i?" ✅":"",log.Log.debug(e,{classifier:"🌟 feature",overwriteStyle:"; background-color: #309"}))};devHint("Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!");const uiUxCache=new Set,uiUxHint=e=>{!1===uiUxCache.has(e)&&(uiUxCache.add(e),log.Log.debug(e,{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"}))},a11yHintDisabled=()=>{a11yHint('"Disabled" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae')},a11yHintLabelingLandmarks=e=>{"string"==typeof e&&""!==e||a11yHint("Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns")},uiUxHintMillerscheZahl=(e,i=8)=>{var a;i>7&&(a=`[${e}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`,!1===uiUxCache.has(a)&&(uiUxCache.add(a),log.Log.debug(a,{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"})))};exports.a11yHint=a11yHint,exports.a11yHintDisabled=a11yHintDisabled,exports.a11yHintLabelingLandmarks=a11yHintLabelingLandmarks,exports.deprecatedHint=deprecatedHint,exports.devHint=devHint,exports.featureHint=featureHint,exports.uiUxHintMillerscheZahl=uiUxHintMillerscheZahl;
@@ -1 +0,0 @@
1
- {"file":"a11y.tipps-ab1afcfd.js","mappings":";;;;;;;AAEA,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;MACpC,QAAQ,GAAG,CAAC,GAAW;EACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACjC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnBA,OAAG,CAAC,IAAI,CAAC,GAAG,EAAE;MACb,UAAU,EAAE,QAAQ;MACpB,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AAEF,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAU,CAAC;MAC1C,cAAc,GAAG,CAAC,GAAW;EACzC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACvC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzBA,OAAG,CAAC,IAAI,CAAC,GAAG,EAAE;MACb,UAAU,EAAE,eAAe;MAC3B,QAAQ,EAAE,IAAI;MACd,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AAEF,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAU,CAAC;MACnC,OAAO,GAAG,CAAC,GAAW;EAClC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClBA,OAAG,CAAC,KAAK,CAAC,GAAG,EAAE;MACd,UAAU,EAAE,QAAQ;MACpB,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AAEF,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAU,CAAC;MACvC,WAAW,GAAG,CAAC,GAAW,EAAE,IAAI,GAAG,KAAK;EACpD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACpC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACjCA,OAAG,CAAC,KAAK,CAAC,GAAG,EAAE;MACd,UAAU,EAAE,YAAY;MACxB,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AACF,OAAO,CACN,4JAA4J,CAC5J,CAAC;AAEF,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;AACjD,MAAM,QAAQ,GAAG,CAAC,GAAW;EAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACjC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnBA,OAAG,CAAC,KAAK,CAAC,GAAG,EAAE;MACd,UAAU,EAAE,UAAU;MACtB,cAAc,EAAE,2BAA2B;KAC3C,CAAC,CAAC;GACH;AACF,CAAC,CAAC;MAEW,gBAAgB,GAAG;EAC/B,QAAQ,CACP,oOAAoO,CACpO,CAAC;AACH,EAAE;MAEW,yBAAyB,GAAG,CAAC,KAAc;EACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE;IAC9C,QAAQ,CACP,qVAAqV,CACrV,CAAC;GACF;AACF,EAAE;MAEW,sBAAsB,GAAG,CAAC,SAAiB,EAAE,MAAM,GAAG,CAAC;EACnE,IAAI,MAAM,GAAG,CAAC,EAAE;IACf,QAAQ,CACP,IAAI,SAAS;;;;gDAIgC,CAC7C,CAAC;GACF;AACF;;;;;;;;;;","names":["Log"],"sources":["./src/utils/a11y.tipps.ts"],"sourcesContent":["import { Log } from './log';\n\nconst a11yCache: Set<string> = new Set<string>();\nexport const a11yHint = (msg: string): void => {\n\tif (a11yCache.has(msg) === false) {\n\t\ta11yCache.add(msg);\n\t\tLog.info(msg, {\n\t\t\tclassifier: `✋ a11y`,\n\t\t\toverwriteStyle: '; background-color: #09f',\n\t\t});\n\t}\n};\n\nconst deprecatedCache: Set<string> = new Set<string>();\nexport const deprecatedHint = (msg: string): void => {\n\tif (deprecatedCache.has(msg) === false) {\n\t\tdeprecatedCache.add(msg);\n\t\tLog.warn(msg, {\n\t\t\tclassifier: `🔥 deprecated`,\n\t\t\tforceLog: true,\n\t\t\toverwriteStyle: '; background-color: #f00',\n\t\t});\n\t}\n};\n\nconst devCache: Set<string> = new Set<string>();\nexport const devHint = (msg: string): void => {\n\tif (devCache.has(msg) === false) {\n\t\tdevCache.add(msg);\n\t\tLog.debug(msg, {\n\t\t\tclassifier: `💻 dev`,\n\t\t\toverwriteStyle: '; background-color: #f09',\n\t\t});\n\t}\n};\n\nconst featureCache: Set<string> = new Set<string>();\nexport const featureHint = (msg: string, done = false): void => {\n\tif (featureCache.has(msg) === false) {\n\t\tfeatureCache.add(msg);\n\t\tmsg += done === true ? ' ✅' : '';\n\t\tLog.debug(msg, {\n\t\t\tclassifier: `🌟 feature`,\n\t\t\toverwriteStyle: '; background-color: #309',\n\t\t});\n\t}\n};\ndevHint(\n\t`Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!`\n);\n\nconst uiUxCache: Set<string> = new Set<string>();\nconst uiUxHint = (msg: string): void => {\n\tif (uiUxCache.has(msg) === false) {\n\t\tuiUxCache.add(msg);\n\t\tLog.debug(msg, {\n\t\t\tclassifier: `📑 ui/ux`,\n\t\t\toverwriteStyle: '; background-color: #060;',\n\t\t});\n\t}\n};\n\nexport const a11yHintDisabled = (): void => {\n\ta11yHint(\n\t\t`\"Disabled\" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae`\n\t);\n};\n\nexport const a11yHintLabelingLandmarks = (value: unknown): void => {\n\tif (typeof value !== 'string' || value === '') {\n\t\ta11yHint(\n\t\t\t`Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns`\n\t\t);\n\t}\n};\n\nexport const uiUxHintMillerscheZahl = (className: string, length = 8): void => {\n\tif (length > 7) {\n\t\tuiUxHint(\n\t\t\t`[${className}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`\n\t\t);\n\t}\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const index$1=require("./index-cc5674d0.js"),index=require("./index-29c5d3c6.js"),log=require("./log-c0dc35c9.js"),appGlobalScript=()=>{log.Log.debug("\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n| |\\ \\ | '-' | | | | | | '--' / | | | |\n`--' `--´ `---´ `--' `--' `------´ `--' `--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t",{forceLog:!0}),index.setMode((e=>(e.shadowRoot instanceof ShadowRoot&&index$1.setThemeStyle(e,index$1.getThemeDetails(e)),"default"))),Promise.resolve().then((function(){return require("./devtools-29b8b4ff.js")})).then((e=>{"object"==typeof e&&null!==e&&"function"==typeof e.initialize&&e.initialize()})).catch((e=>{log.Log.error(e)}))},globalScripts=appGlobalScript;exports.globalScripts=globalScripts;
@@ -1 +0,0 @@
1
- {"file":"app-globals-725a044c.js","mappings":";;;;;;;;;AAKA,wBAAe;EACdA,OAAG,CAAC,KAAK,CACR;;;;;;;EAOA,EACA;IACC;GACA,CACD,CAAC;EAEFC;IACC,IAAI,GAAG,CAAC;MACPC,qBAAa,CAAC,GAAG,EAAEC,uBAAe,CAAC,GAAG,CAAC,CAAC,CAAC;KACzC;IACD;GACA,CAAC,CAAC;EAEH;KACE,IAAI,CAAC,CAAC,QAAQ;IACd,IAAI,OAAO,QAAQ;MAClB,QAAQ,CAAC,UAAU,EAAE,CAAC;KACtB;GACD,CAAC;;IAEDH,OAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;GACjB,CAAC,CAAC;AACL,CAAC;;ACnCW,MAAC,aAAa,GAAG;;;;","names":["Log","setMode","setThemeStyle","getThemeDetails"],"sources":["./src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from '@a11y-ui/core';\nimport { setMode } from '@stencil/core';\nimport { Log } from '../utils/log';\n\n// ts-prune-ignore-next\nexport default (): void => {\n\tLog.debug(\n\t\t`\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t`,\n\t\t{\n\t\t\tforceLog: true,\n\t\t}\n\t);\n\n\tsetMode((elm) => {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t\treturn 'default';\n\t});\n\n\timport('./devtools')\n\t\t.then((devTools) => {\n\t\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\t\tdevTools.initialize();\n\t\t\t}\n\t\t})\n\t\t.catch((error) => {\n\t\t\tLog.error(error);\n\t\t});\n};\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/library/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-da7d3db2.js"),watchTooltipAlignment=(t,o,a)=>{prop_validators.watchValidator(t,o,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["Alignment {top, right, buttom, left}"]),a,{defaultValue:"top"})};exports.watchTooltipAlignment=watchTooltipAlignment;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const a11y_tipps=require("./a11y.tipps-ab1afcfd.js"),prop_validators=require("./prop.validators-da7d3db2.js"),tabIndex=require("./tab-index-a499e8df.js"),log=require("./log-c0dc35c9.js"),getRenderStates=t=>{const o="string"==typeof t._error&&t._error.length>0&&!0===t._touched,e="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===o&&n.push(`${t._id}-error`),!0===e&&n.push(`${t._id}-hint`),{hasError:o,hasHint:e,ariaDiscribedBy:n}},EXPERIMENTAL_MODE=log.getExperimalMode();class ControlledInputController{constructor(t,o,e){var n,i,a,s,r;if(this.syncFormAssociatedName=()=>{var t;EXPERIMENTAL_MODE&&(null===(t=this.formAssociated)||void 0===t||t.setAttribute("name",this.component.state._name||this.component.state._id))},this.setFormAssociatedValue=(t=null)=>{var o;EXPERIMENTAL_MODE&&(null===(o=this.formAssociated)||void 0===o||o.setAttribute("value",t))},this.component=t,this.name=o,this.host=e,EXPERIMENTAL_MODE){this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden");const t=(null===(n=this.host)||void 0===n?void 0:n.children)||[];for(let o=0;o<t.length;o++)"INPUT"===(null===(i=this.host)||void 0===i?void 0:i.children[o].tagName)&&(null===(a=this.host)||void 0===a||a.removeChild(null===(s=this.host)||void 0===s?void 0:s.children[o]));null===(r=this.host)||void 0===r||r.appendChild(this.formAssociated)}}validateAlert(t){prop_validators.watchBoolean(this.component,"_alert",t)}validateTouched(t){prop_validators.watchBoolean(this.component,"_touched",t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,o,e){super(t,o,e),this.hideLabel=!1,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){prop_validators.watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){prop_validators.watchBoolean(this.component,"_adjustHeight",t)}validateDisabled(t){prop_validators.watchBoolean(this.component,"_disabled",t),!0===t&&a11y_tipps.a11yHintDisabled()}validateError(t){prop_validators.watchString(this.component,"_error",t)}validateHideLabel(t){prop_validators.watchBoolean(this.component,"_hideLabel",t)}validateHint(t){prop_validators.watchString(this.component,"_hint",t)}validateId(t){prop_validators.watchString(this.component,"_id",t,{hooks:{afterPatch:this.syncFormAssociatedName}}),void 0===t&&a11y_tipps.devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateName(t){prop_validators.watchString(this.component,"_name",t,{hooks:{afterPatch:this.syncFormAssociatedName}}),void 0===t&&a11y_tipps.devHint("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&prop_validators.setState(this.component,"_on",t)}validateSmartButton(t){prop_validators.objectObjectHandler(t,(()=>{try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.setState(this.component,"_smartButton",t)}))}validateTabIndex(t){tabIndex.validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex),this.syncFormAssociatedName()}onBlur(t){var o;this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onBlur)&&this.component._on.onBlur(t)}onChange(t){var o;this.setFormAssociatedValue(t.target.value),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,t.target.value)}onClick(t){var o;"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onClick)&&this.component._on.onClick(t)}onFocus(t){var o;this.component._alert=!0,"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onFocus)&&this.component._on.onFocus(t)}setValue(t,o){var e;this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}}exports.InputController=InputController,exports.getRenderStates=getRenderStates;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const a11y_tipps=require("./a11y.tipps-ab1afcfd.js"),log=require("./log-c0dc35c9.js"),prop_validators=require("./prop.validators-da7d3db2.js"),searchFormElement=e=>{for(log.getExperimalMode()&&(a11y_tipps.devHint("↓ Search form element start."),console.log(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&"KOL-FORM"!==e.tagName;)e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null,log.getExperimalMode()&&console.log(e);return log.getExperimalMode()&&a11y_tipps.devHint("↑ Search form element finished."),e},propergateResetEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===t.tagName)prop_validators.setEventTargetAndStopPropagation(e,t),t.dispatchEvent(e);else if("KOL-FORM"===t.tagName){prop_validators.setEventTargetAndStopPropagation(e,prop_validators.KoliBriDevHelper.querySelector("form",t));const o=t;"object"==typeof o._on&&null!==typeof o._on&&"function"==typeof o._on.onReset&&o._on.onReset(e)}}},propergateSubmitEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t});if("FORM"===t.tagName)prop_validators.setEventTargetAndStopPropagation(e,t),t.dispatchEvent(e);else if("KOL-FORM"===t.tagName){prop_validators.setEventTargetAndStopPropagation(e,prop_validators.KoliBriDevHelper.querySelector("form",t));const o=t;"object"==typeof o._on&&null!==typeof o._on&&"function"==typeof o._on.onSubmit&&o._on.onSubmit(e)}}};exports.propergateResetEventToForm=propergateResetEventToForm,exports.propergateSubmitEventToForm=propergateSubmitEventToForm;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const log=require("./log-c0dc35c9.js"),prop_validators=require("./prop.validators-da7d3db2.js");function prototypeKoliBri(o,t){try{Object.defineProperty(log.KoliBri,o,{get:function(){return t}})}catch(t){log.Log.debug(`KoliBri property ${o} is already bind.`)}}require("./reuse-b43997f3.js"),require("./index-cc5674d0.js"),require("./a11y.tipps-ab1afcfd.js");const metaModeLog=(o,t)=>log.Log.debug(`${o} ${t?"":"not "}activated`),initialize=()=>{if(log.initKoliBri(),log.getDevMode()){log.renderDevAdvice(),prototypeKoliBri("a11yColorContrast",prop_validators.koliBriA11yColorContrast),prototypeKoliBri("querySelector",prop_validators.koliBriQuerySelector),prototypeKoliBri("querySelectorAll",prop_validators.koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",prop_validators.koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return prop_validators.KoliBriUtils})),prototypeKoliBri("parseJson",prop_validators.parseJson),prototypeKoliBri("stringifyJson",prop_validators.stringifyJson);const o=log.getDocument().body,t=log.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>',log.getDocument().body.appendChild(t),metaModeLog("Development mode",log.getDevMode()),metaModeLog("Experimental mode",log.getExperimalMode()),metaModeLog("Color contrast analysis",log.getColorContrastAnalysis()),log.getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{prop_validators.KoliBriUtils.queryHtmlElementColors(log.getDocument().createElement("div"),prop_validators.koliBriA11yColorContrast(o),!1,!1)}),1e4)}),2500)}}};exports.initialize=initialize;
@@ -1 +0,0 @@
1
- {"file":"devtools-29b8b4ff.js","mappings":";;;;;;;;;;;AAYA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;EAC/C,IAAI;IACH,MAAM,CAAC,cAAc,CAACA,WAAO,EAAE,IAAI,EAAE;MACpC,GAAG,EAAE;QACJ,OAAO,EAAE,CAAC;OACV;KACD,CAAC,CAAC;GACH;EAAC,OAAO,CAAC,EAAE;IACXC,OAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;GACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAKA,OAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;EACzBC,eAAW,EAAE,CAAC;EACd,IAAIC,cAAU,EAAE,EAAE;IACjBC,mBAAe,EAAE,CAAC;IAElB,gBAAgB,CAAC,mBAAmB,EAAEC,wCAAwB,CAAC,CAAC;IAChE,gBAAgB,CAAC,eAAe,EAAEC,oCAAoB,CAAC,CAAC;IACxD,gBAAgB,CAAC,kBAAkB,EAAEC,uCAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,qBAAqB,EAAEC,0CAA0B,CAAC,CAAC;IACpE,gBAAgB,CAAC,OAAO,EAAE;MACzB,OAAOC,4BAAY,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,WAAW,EAAEC,yBAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,eAAe,EAAEC,6BAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAGC,eAAW,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,GAAG,GAAGA,eAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;IAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;IAENA,eAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,WAAW,CAAC,kBAAkB,EAAET,cAAU,EAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,mBAAmB,EAAEU,oBAAgB,EAAE,CAAC,CAAC;IACrD,WAAW,CAAC,yBAAyB,EAAEC,4BAAwB,EAAE,CAAC,CAAC;IAEnE,IAAIA,4BAAwB,EAAE,EAAE;MAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,WAAW,CAAC;UACXL,4BAAY,CAAC,sBAAsB,CAACG,eAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAEP,wCAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACtH,EAAE,KAAK,CAAC,CAAC;OACV,EAAE,IAAI,CAAC,CAAC;KACT;GAmBD;AACF;;;;","names":["KoliBri","Log","initKoliBri","getDevMode","renderDevAdvice","koliBriA11yColorContrast","koliBriQuerySelector","koliBriQuerySelectorAll","koliBriQuerySelectorColors","KoliBriUtils","parseJson","stringifyJson","getDocument","getExperimalMode","getColorContrastAnalysis"],"sources":["./src/global/devtools.ts"],"sourcesContent":["import { getColorContrastAnalysis, getDevMode, getDocument, getExperimalMode, initKoliBri, KoliBri, renderDevAdvice } from '../utils/dev.utils';\nimport { Log } from '../utils/log';\nimport {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '../utils/prop.validators';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(KoliBri, 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', getExperimalMode());\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,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const a11y_tipps=require("./a11y.tipps-ab1afcfd.js"),prop_validators=require("./prop.validators-da7d3db2.js"),reuse=require("./reuse-b43997f3.js"),READABLE_CHARS=/[a-zA-Z0-9äöüÄÖÜß]/g,ONLY_NUMBERS=/^\d+$/,countReadableChars=e=>{var a;return"string"==typeof e&&(null===(a=e.match(READABLE_CHARS))||void 0===a?void 0:a.length)||0},hasEnoughReadableChars=(e,a=1)=>countReadableChars(e)>=a,containsOnlyNumbers=e=>ONLY_NUMBERS.test(e),syncAriaLabelBeforePatch=(e,a,r,i)=>{const s=a.has("_ariaLabel")?a.get("_ariaLabel"):r.state._ariaLabel;if("string"==typeof s){const e=a.has("_label")?a.get("_label"):r.state._label;!1===reuse.isEmptyOrPrefixOf(e,s)&&("_ariaLabel"===i?a.set("_label",s):a.set("_ariaLabel",e),a11y_tipps.a11yHint("Das abweichende Aria-Label ist nicht barrierefrei. Ein abweichendes Aria-Label muss aus Gründern der Barrierefreiheit für die Sprachsteuerung mit dem Label-Text beginnen."))}},validateAriaLabel=(e,a)=>{prop_validators.watchString(e,"_ariaLabel",a,{hooks:{afterPatch:e=>{"string"==typeof e&&e.length>0&&!1===hasEnoughReadableChars(e,3)&&!1===containsOnlyNumbers(e)&&a11y_tipps.a11yHint(`Ein abweichendes Aria-Label (${e}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`)},beforePatch:syncAriaLabelBeforePatch}})},validateLabel=(e,a)=>{prop_validators.watchString(e,"_label",a,{hooks:{afterPatch:e=>{"string"==typeof e&&!1===hasEnoughReadableChars(e,3)&&!1===containsOnlyNumbers(e)&&a11y_tipps.a11yHint(`Ein Label (${e}) ist nicht barrierefrei. Ein Label sollte aus mindestens drei lesbaren Zeichen bestehen.`)},beforePatch:syncAriaLabelBeforePatch},required:!0})};exports.containsOnlyNumbers=containsOnlyNumbers,exports.hasEnoughReadableChars=hasEnoughReadableChars,exports.validateAriaLabel=validateAriaLabel,exports.validateLabel=validateLabel;
@@ -1 +0,0 @@
1
- {"file":"label-b702acbd.js","mappings":";;;;;;;;;AAKA,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAC7C,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,kBAAkB,GAAG,CAAC,GAAW,eAAa,QAAC,OAAO,GAAG,KAAK,QAAQ,GAAG,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,0CAAE,MAAM,KAAI,CAAC,GAAG,CAAC,EAAC,EAAA,CAAC;MAE9G,sBAAsB,GAAG,CAAC,GAAW,EAAE,GAAG,GAAG,CAAC,KAAc,kBAAkB,CAAC,GAAG,CAAC,IAAI,IAAI;MAE3F,mBAAmB,GAAG,CAAC,GAAW,KAAc,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;AAMpF,MAAM,wBAAwB,GAA2C,CAAC,UAAU,EAAE,SAAS,EAAE,SAAoC,EAAE,GAAG;EACzI,MAAM,SAAS,GAAuB,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAY,GAAI,SAAS,CAAC,KAAK,CAAC,UAAqB,CAAC;EACrJ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;IAClC,MAAM,KAAK,GAAuB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAY,GAAI,SAAS,CAAC,KAAK,CAAC,MAAiB,CAAC;IACrI,IAAIA,uBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,EAAE;MAClD,IAAI,GAAG,KAAK,YAAY,EAAE;QACzB,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;OAEnC;WAAM;QACN,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;OAEnC;MACDC,mBAAQ,CACP,4KAA4K,CAC5K,CAAC;KACF;GACD;AACF,CAAC,CAAC;MAEW,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAc;EACrFC,2BAAW,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;IAC3C,KAAK,EAAE;MACN,UAAU,EAAE,CAAC,KAAK;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;UACxID,mBAAQ,CACP,gCAAgC,KAAK,6GAA6G,CAClJ,CAAC;SACF;OACD;MACD,WAAW,EAAE,wBAAwB;KACrC;GACD,CAAC,CAAC;AACJ,EAAE;MAEW,aAAa,GAAG,CAAC,SAAoC,EAAE,KAAc;EACjFC,2BAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;IACvC,KAAK,EAAE;MACN,UAAU,EAAE,CAAC,KAAK;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;UACpHD,mBAAQ,CAAC,cAAc,KAAK,2FAA2F,CAAC,CAAC;SACzH;OACD;MACD,WAAW,EAAE,wBAAwB;KACrC;IACD,QAAQ,EAAE,IAAI;GACd,CAAC,CAAC;AACJ;;;;;;;","names":["isEmptyOrPrefixOf","a11yHint","watchString"],"sources":["./src/utils/validators/label.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { a11yHint } from '../a11y.tipps';\nimport { watchString } from '../prop.validators';\nimport { isEmptyOrPrefixOf } from '../validator';\n\nconst READABLE_CHARS = /[a-zA-Z0-9äöüÄÖÜß]/g;\nconst ONLY_NUMBERS = /^\\d+$/;\n\nconst countReadableChars = (str: string): number => (typeof str === 'string' ? str.match(READABLE_CHARS)?.length || 0 : 0);\n\nexport const hasEnoughReadableChars = (str: string, min = 1): boolean => countReadableChars(str) >= min;\n\nexport const containsOnlyNumbers = (str: string): boolean => ONLY_NUMBERS.test(str);\n\n/**\n * Ein abweichendes Aria-Label muss aus Gründern der Barrierefreiheit für\n * die Sprachsteuerung mit dem Label-Text beginnen.\n */\nconst syncAriaLabelBeforePatch: Generic.Element.NextStateHooksCallback = (_nextValue, nextState, component: Generic.Element.Component, key): void => {\n\tconst ariaLabel: string | undefined = nextState.has('_ariaLabel') ? (nextState.get('_ariaLabel') as string) : (component.state._ariaLabel as string);\n\tif (typeof ariaLabel === 'string') {\n\t\tconst label: string | undefined = nextState.has('_label') ? (nextState.get('_label') as string) : (component.state._label as string);\n\t\tif (isEmptyOrPrefixOf(label, ariaLabel) === false) {\n\t\t\tif (key === '_ariaLabel') {\n\t\t\t\tnextState.set('_label', ariaLabel);\n\t\t\t\t// smartSetTimeout(() => ((component as Generic.Element.Component & { _label: string })._label = ariaLabel), 50);\n\t\t\t} else {\n\t\t\t\tnextState.set('_ariaLabel', label);\n\t\t\t\t// smartSetTimeout(() => ((component as Generic.Element.Component & { _ariaLabel: string })._ariaLabel = label), 50);\n\t\t\t}\n\t\t\ta11yHint(\n\t\t\t\t`Das abweichende Aria-Label ist nicht barrierefrei. Ein abweichendes Aria-Label muss aus Gründern der Barrierefreiheit für die Sprachsteuerung mit dem Label-Text beginnen.`\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const validateAriaLabel = (component: Generic.Element.Component, value?: string): void => {\n\twatchString(component, '_ariaLabel', value, {\n\t\thooks: {\n\t\t\tafterPatch: (value) => {\n\t\t\t\tif (typeof value === 'string' && value.length > 0 && hasEnoughReadableChars(value, 3) === false && containsOnlyNumbers(value) === false) {\n\t\t\t\t\ta11yHint(\n\t\t\t\t\t\t`Ein abweichendes Aria-Label (${value}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tbeforePatch: syncAriaLabelBeforePatch,\n\t\t},\n\t});\n};\n\nexport const validateLabel = (component: Generic.Element.Component, value?: string): void => {\n\twatchString(component, '_label', value, {\n\t\thooks: {\n\t\t\tafterPatch: (value) => {\n\t\t\t\tif (typeof value === 'string' && hasEnoughReadableChars(value, 3) === false && containsOnlyNumbers(value) === false) {\n\t\t\t\t\ta11yHint(`Ein Label (${value}) ist nicht barrierefrei. Ein Label sollte aus mindestens drei lesbaren Zeichen bestehen.`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tbeforePatch: syncAriaLabelBeforePatch,\n\t\t},\n\t\trequired: true,\n\t});\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const reuse=require("./reuse-b43997f3.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){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)}}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)}}}class ToasterService{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){this.toastElement.setAttribute("_heading",e.heading),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE$1=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE$1,getExperimalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS,initMeta=()=>{if(null===DEV_MODE$1&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE$1=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};exports.KoliBri=null;const getKoliBri=()=>exports.KoliBri||{},initKoliBri=()=>{if(null===exports.KoliBri){exports.KoliBri=getWindow().KoliBri||{};const e=new ModalService,t=new ToasterService(getDocument());Object.defineProperty(exports.KoliBri,"Modal",{get:function(){return e}}),Object.defineProperty(exports.KoliBri,"Toaster",{get:function(){return t}}),initMeta()}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{void 0===getWindow().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return exports.KoliBri}}),!0!==getKoliBri().adviceShown&&(Object.defineProperty(exports.KoliBri,"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.des\n"))};exports.nonce=()=>Math.floor(16777215*Math.random()).toString(16),"test"===reuse.processEnv&&(exports.nonce=()=>"nonce");const DEV_MODE=getDevMode();class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"},exports.Log=Log,exports.ToasterService=ToasterService,exports.configKoliBri=configKoliBri,exports.getColorContrastAnalysis=getColorContrastAnalysis,exports.getDevMode=getDevMode,exports.getDocument=getDocument,exports.getExperimalMode=getExperimalMode,exports.getKoliBri=getKoliBri,exports.getWindow=getWindow,exports.initKoliBri=initKoliBri,exports.renderDevAdvice=renderDevAdvice;
@@ -1 +0,0 @@
1
- {"file":"log-c0dc35c9.js","mappings":"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","names":["DEV_MODE","KoliBri","nonce","processEnv"],"sources":["./src/components/modal/service.ts","./src/components/toast/toaster.tsx","./src/utils/dev.utils.ts","./src/utils/log.ts"],"sourcesContent":["import { getDocument } from '../../utils/dev.utils';\nimport { Log } from '../../utils/log';\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\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\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 { AlertType } from '../../types/alert';\n\ntype Toast = {\n\theading: string;\n\tdescription: string;\n\ttype: AlertType;\n};\n\nexport class ToasterService {\n\tprivate readonly toastElement: HTMLKolToastElement;\n\n\tprivate readonly queue: Set<Toast> = new Set();\n\n\tprivate isOpen = false;\n\n\tconstructor(private readonly document: Document) {\n\t\tthis.toastElement = this.document.createElement('kol-toast');\n\t\tthis.toastElement.setAttribute('_level', '3');\n\t\tthis.toastElement.setAttribute('_show', 'false');\n\t\tthis.toastElement.setAttribute('_show-duration', '-1');\n\t\tthis.toastElement.setAttribute('_has-closer', 'true');\n\t\tthis.toastElement._on = {\n\t\t\tonClose: () => {\n\t\t\t\tconst next = this.queue.values().next();\n\t\t\t\tif (next.value) {\n\t\t\t\t\tthis.queue.delete(next.value as Toast);\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.showToast(next.value as Toast);\n\t\t\t\t\t}, 200);\n\t\t\t\t} else {\n\t\t\t\t\tthis.isOpen = false;\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t\tthis.document.body.insertBefore(this.toastElement, this.document.body.firstChild);\n\t}\n\n\t/**\n\t * Reiht einen neuen Toast in die Warteschlange ein, um ihn anzuzeigen.\n\t */\n\tpublic enqueue(data: Toast): void {\n\t\tif (this.isOpen) {\n\t\t\tthis.queue.add(data);\n\t\t} else {\n\t\t\tthis.showToast(data);\n\t\t}\n\t}\n\n\tprivate showToast(data: Toast): void {\n\t\tthis.toastElement.setAttribute('_heading', data.heading);\n\t\tthis.toastElement.setAttribute('_show', 'true');\n\t\tthis.toastElement.setAttribute('_type', data.type);\n\t\tthis.toastElement.innerText = data.description;\n\t\tthis.isOpen = true;\n\t}\n}\n","import { ModalService } from '../components/modal/service';\nimport { ToasterService } from '../components/toast/toaster';\nimport { Log } from './log';\nimport { processEnv } from './reuse';\n\nlet WINDOW: Window | null = null;\nlet DOCUMENT: Document | null = null;\n\nexport const configKoliBri = (window: Window): void => {\n\tif (window instanceof Window) {\n\t\tWINDOW = window;\n\t\tif (WINDOW.document instanceof Document) {\n\t\t\tDOCUMENT = 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\nexport const getWindow = (): Window => (WINDOW || typeof window === 'undefined' ? (null as unknown as Window) : window);\nexport const getDocument = (): Document => (DOCUMENT || typeof getWindow().document === 'undefined' ? (null as unknown as Document) : getWindow().document);\n\nlet META_CONFIG: string | null = null;\nlet DEV_MODE: boolean | null = null;\nlet EXPERIMENTAL_MODE: boolean | null = null;\nlet COLOR_CONTRAST_ANALYSIS: boolean | null = null;\n\nexport const getDevMode = (): boolean => DEV_MODE === true;\nexport const getExperimalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\nconst initMeta = (): void => {\n\tif (DEV_MODE === null && EXPERIMENTAL_MODE === null && COLOR_CONTRAST_ANALYSIS === null) {\n\t\tconst meta = getDocument().querySelector('meta[name=\"kolibri\"]');\n\t\tif (meta && meta.hasAttribute('content')) {\n\t\t\tMETA_CONFIG = meta.getAttribute('content');\n\t\t\tif (typeof META_CONFIG === 'string') {\n\t\t\t\tDEV_MODE = META_CONFIG.includes('dev-mode=true');\n\t\t\t\tEXPERIMENTAL_MODE = META_CONFIG.includes('experimental-mode=true');\n\t\t\t\tCOLOR_CONTRAST_ANALYSIS = META_CONFIG.includes('color-contrast-analysis=true');\n\t\t\t}\n\t\t}\n\t} else {\n\t\tconsole.warn(`You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.`);\n\t}\n};\n\nlet KoliBri: Record<string, unknown> | null = null;\nexport const getKoliBri = (): Record<string, unknown> => KoliBri || {};\nexport const initKoliBri = (): void => {\n\tif (KoliBri === null) {\n\t\tKoliBri = getWindow().KoliBri || {};\n\t\tconst Modal = new ModalService();\n\t\tconst Toaster = new ToasterService(getDocument());\n\t\tObject.defineProperty(KoliBri, 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tObject.defineProperty(KoliBri, 'Toaster', {\n\t\t\tget: function (): ToasterService {\n\t\t\t\treturn Toaster;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { KoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getWindow().KoliBri === undefined) {\n\t\tObject.defineProperty(window, 'KoliBri', {\n\t\t\tget: function () {\n\t\t\t\treturn KoliBri;\n\t\t\t},\n\t\t});\n\t}\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(KoliBri, '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.des\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","import { getDevMode } from './dev.utils';\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\n\nconst DEV_MODE = getDevMode();\n\nexport class Log {\n\tprivate static shield: LogShield = {\n\t\tlabel: '%cKoliBri',\n\t\tstyle: 'color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000',\n\t};\n\n\tprivate static mapToArray(msg: unknown | unknown[]): unknown[] {\n\t\treturn Array.isArray(msg) ? msg : [msg];\n\t}\n\n\tprivate static handleClassifier(classifier?: string): string {\n\t\tif (typeof classifier === 'string' && classifier.length > 0) {\n\t\t\treturn `${Log.shield.label} | ${classifier}`;\n\t\t} else {\n\t\t\treturn Log.shield.label;\n\t\t}\n\t}\n\n\tprivate static getShield(options?: LogShieldOptions): string[] {\n\t\treturn [Log.handleClassifier(options?.classifier), `${Log.shield.style};${options?.overwriteStyle || ''}`];\n\t}\n\n\tpublic static debug(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.debug(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static info(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.info(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static trace(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.trace(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static warn(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.warn(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static error(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tconsole.error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n\n\tpublic static throw(msg: unknown | unknown[], options?: LogShieldOptions): void {\n\t\tif (DEV_MODE || options?.forceLog === true) {\n\t\t\tthrow new Error(...Log.getShield(options), ...Log.mapToArray(msg));\n\t\t}\n\t}\n}\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const index=require("./index-cc5674d0.js"),a11y_tipps=require("./a11y.tipps-ab1afcfd.js"),log=require("./log-c0dc35c9.js"),pushNodes=(e,t)=>{t.forEach((t=>{!1===e.has(t)&&e.add(t)}))},querySelectorAll=(e,t=document)=>{if(t instanceof Document||t instanceof HTMLElement||t instanceof ShadowRoot){const r=new Set;pushNodes(r,t.querySelectorAll(e));const o=t.querySelectorAll('[class*="hydrated"]');for(let t=0;t<o.length;t++){const n=o[t].shadowRoot;pushNodes(r,querySelectorAll(e,"object"==typeof n&&null!==n?n:o[t]))}return Array.from(r)}throw new Error("The parameter document for the method querySelectorAll is not type of Document, HTMLElement or ShadowRoot.")},querySelector=(e,t=document)=>{if(t instanceof Document||t instanceof HTMLElement||t instanceof ShadowRoot){let r=t.querySelector(e);if(null===r){const o=t.querySelectorAll('[class*="hydrated"]');for(let t=0;t<o.length;t++){const n=o[t].shadowRoot;if(r=querySelector(e,"object"==typeof n&&null!==n?n:o[t]),null!==r)break}}return r}throw new Error("The parameter document for the method querySelector is not type of Document, HTMLElement or ShadowRoot.")};var rgbaConvert=arr,arr_1=arr,obj_1=obj,css_1=css,hex_1=hex,num_1=num;function arr(e){var t=parse(e);return 3==t.length?t.concat(255):(t[3]=Math.round(t[3]),t)}function obj(e){var t=parse(e);return{r:t[0],g:t[1],b:t[2],a:3==t.length?255:Math.round(t[3])}}function css(e){var t=parse(e);return 3==t.length&&t.push(255),255==t[3]?"rgb("+t[0]+", "+t[1]+", "+t[2]+")":0==t[3]?"rgba("+t[0]+", "+t[1]+", "+t[2]+", 0)":"rgba("+t[0]+", "+t[1]+", "+t[2]+", "+String(t[3]/255).substr(1)+")"}function hex(e){3==(t=parse(e)).length&&t.push(255);var t,r=255==t[3],o=num2hex(t[0]),n=num2hex(t[1]),l=num2hex(t[2]),i=isshort(o,n,l,t=num2hex(Math.round(t[3])));return r?i?"#"+o.charAt(0)+n.charAt(0)+l.charAt(0):"#"+o+n+l:i?"#"+o.charAt(0)+n.charAt(0)+l.charAt(0)+t.charAt(0):"#"+o+n+l+t}function num(e){var t=parse(e);return 3==t.length?t.push(255):t[3]=Math.round(t[3]),(t[3]<<24>>>0|t[0]<<16|t[1]<<8|t[2])>>>0}function parse(e){return"string"==typeof e?name(e=e.toLowerCase())||hex3(e)||hex6(e)||rgb(e)||rgba(e)||[0,0,0,255]:object(e)||array(e)||number(e)||[0,0,0,255]}function num2hex(e){var t=e.toString(16);return 1==t.length?"0"+t:t}function isshort(e,t,r,o){var n=["ff","00","11","22","33","44","55","66","77","88","99","aa","bb","cc","dd","ee"];return-1!=n.indexOf(e)&&-1!=n.indexOf(t)&&-1!=n.indexOf(r)&&-1!=n.indexOf(o)}function name(e){return"red"==e?[255,0,0]:"green"==e?[0,255,0]:"blue"==e?[0,0,255]:"black"==e?[0,0,0]:"white"==e?[255,255,255]:"cyan"==e?[0,255,255]:"gray"==e||"grey"==e?[128,128,128]:"magenta"==e||"pink"==e?[255,0,255]:"yellow"==e?[255,255,0]:void 0}function hex2num(e){return 1==e.length?parseInt(e+e,16):parseInt(e,16)}function hex3(e){var t=e.replace(/^#/,""),r=t.length;if(3==r||4==r){var o=hex2num(t[0]),n=hex2num(t[1]),l=hex2num(t[2]),i=3==r?255:hex2num(t[3]);if(isNaN(o)||isNaN(n)||isNaN(l)||isNaN(i))return;return[o,n,l,i]}}function hex6(e){var t=e.replace(/^#/,""),r=t.length;if(6==r||8==r){var o=hex2num(t.slice(0,2)),n=hex2num(t.slice(2,4)),l=hex2num(t.slice(4,6)),i=6==r?255:hex2num(t.slice(6,8));if(isNaN(o)||isNaN(n)||isNaN(l)||isNaN(i))return;return[o,n,l,i]}}function getnum(e,t){return"number"!=typeof e||!0===t&&Math.floor(e)!==e?-1:e>=0&&e<=255?e:-1}function object(e){if("[object Object]"===Object.prototype.toString.call(e)&&Object.getPrototypeOf(e)===Object.getPrototypeOf({})){var t=getnum(null!=e.r?e.r:null!=e.red?e.red:0,!0),r=getnum(null!=e.g?e.g:null!=e.green?e.green:0,!0),o=getnum(null!=e.b?e.b:null!=e.blue?e.blue:0,!0),n=getnum(null!=e.a?e.a:null!=e.alpha?e.alpha:255,!0);if(-1!=t&&-1!=r&&-1!=o&&-1!=n)return[t,r,o,n]}}function array(e){if(Array.isArray(e)&&(3==e.length||4==e.length)){var t=getnum(e[0],!0),r=getnum(e[1],!0),o=getnum(e[2],!0),n=getnum(null!=e[3]?e[3]:255,!0);if(-1!=t&&-1!=r&&-1!=o&&-1!=n)return[t,r,o,n]}}function number(e){if("number"==typeof e&&Math.floor(e)==e&&e<=4294967295&&e>=0)return[e>>16&255,e>>8&255,255&e,e>>24&255]}function rgb(e){if("rgb("==e.substr(0,4)){var t=(e=e.match(/^rgb\(([^)]+)\)/)[1]).split(/ *, */).map(Number),r=getnum(t[0],!0),o=getnum(t[1],!0),n=getnum(t[2],!0);if(-1!=r&&-1!=o&&-1!=n)return[r,o,n,255]}}function rgba(e){if("rgba("==e.substr(0,5)){var t=(e=e.match(/^rgba\(([^)]+)\)/)[1]).split(/ *, */).map(Number),r=getnum(t[0],!0),o=getnum(t[1],!0),n=getnum(t[2],!0),l=getnum(255*t[3]);if(-1!=r&&-1!=o&&-1!=n&&-1!=l)return[r,o,n,l]}}rgbaConvert.arr=arr_1,rgbaConvert.obj=obj_1,rgbaConvert.css=css_1,rgbaConvert.hex=hex_1,rgbaConvert.num=num_1;var n=.2126,r=.7152,t=.0722,e=1/12.92;function u(e){return Math.pow((e+.055)/1.055,2.4)}function a(o){var l=o[0]/255,i=o[1]/255,a=o[2]/255,s=l<=.03928?l*e:u(l),c=i<=.03928?i*e:u(i),d=a<=.03928?a*e:u(a);return s*n+c*r+d*t}function i(e){var t=255;8===(e=e.replace(/^#/,"")).length&&(t=parseInt(e.slice(6,8),16),e=e.substring(0,6)),4===e.length&&(t=parseInt(e.slice(3,4).repeat(2),16),e=e.substring(0,3)),3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);var r=parseInt(e,16);return[r>>16,r>>8&255,255&r,t]}function c(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function o(e,t){return c(a(e),a(t))}function s(e,t){return o(i(e),i(t))}function f(e){return e>=7?"AAA":e>=4.5?"AA":e>=3?"AA Large":"Fail"}const OBJECT_OBJECT=/\[object Object\]/,objectObjectHandler=(e,t)=>{"string"==typeof e&&OBJECT_OBJECT.test(e)||t()},emptyStringByArrayHandler=(e,t)=>{"string"==typeof e&&""===e||t()},setEventTargetAndStopPropagation=(e,t)=>{log.getExperimalMode()&&(log.Log.debug([e,t]),log.Log.debug("↑ We propagate the (submit) event to this target.")),Object.defineProperty(e,"target",{value:t,writable:!1})},patchState=e=>{var t,r,o;null===(t=e.nextHooks)||void 0===t||t.forEach(((t,r)=>{var o;const n=t.get("beforePatch");"function"==typeof n&&n(null===(o=e.nextState)||void 0===o?void 0:o.get(r),e.nextState,e,r)})),(null===(r=e.nextState)||void 0===r?void 0:r.size)>0&&(e.state=Object.assign(Object.assign({},e.state),Object.fromEntries(e.nextState)),delete e.nextState,null===(o=e.nextHooks)||void 0===o||o.forEach(((t,r)=>{const o=t.get("afterPatch");"function"==typeof o&&o(e.state[r],e.state,e,r)}))),delete e.nextHooks},setState=(e,t,r,o={})=>{var n,l;if(void 0===e.nextHooks&&(e.nextHooks=new Map),void 0===e.nextState&&(e.nextState=new Map),e.nextState.get(t)!==r){e.nextHooks.get(t)instanceof Map==!1&&e.nextHooks.set(t,new Map),"function"==typeof o.afterPatch&&(null===(n=e.nextHooks.get(t))||void 0===n||n.set("afterPatch",o.afterPatch)),"function"==typeof o.beforePatch&&(null===(l=e.nextHooks.get(t))||void 0===l||l.set("beforePatch",o.beforePatch)),e.nextState.set(t,r),patchState(e)}},logWarn=(e,t,r,o)=>{a11y_tipps.devHint(`[${e.constructor.name}] Der Property-Wert (${r}) für '${t}' ist nicht valide. Folgende Werte sind erlaubt: ${Array.from(o).join(", ")}`)},watchValidator=(e,t,r,o,n,l={})=>{r(n)?setState(e,t,n,null==l?void 0:l.hooks):void 0===n||null===n&&(void 0===(null==l?void 0:l.required)||!1===(null==l?void 0:l.required))?setState(e,t,null==l?void 0:l.defaultValue,null==l?void 0:l.hooks):(void 0!==(null==l?void 0:l.required)&&!1!==(null==l?void 0:l.required)||o.add(null),logWarn(e,t,n,o))},watchBoolean=(e,t,r,o)=>{watchValidator(e,t,(e=>"boolean"==typeof e),new Set(["Boolean {true, false}"]),r,o)},watchString=(e,t,r,o={})=>{const n="number"==typeof o.minLength?null==o?void 0:o.minLength:0;watchValidator(e,t,(e=>"string"==typeof e&&e.length>=n),new Set([`String (Mindestlänge ${n})`]),r,o)},watchNumber=(e,t,r,o)=>{watchValidator(e,t,(e=>"number"==typeof e&&(void 0===(null==o?void 0:o.min)||"number"==typeof(null==o?void 0:o.min)&&e>=o.min)&&(void 0===(null==o?void 0:o.max)||"number"==typeof(null==o?void 0:o.max)&&e<=o.max)),new Set(["Number"]),r,o)},watchJsonArrayString=(e,t,r,o,n=(e=>e==e),l={})=>{emptyStringByArrayHandler(o,(()=>{objectObjectHandler(o,(()=>{void 0===o&&(o=[]);try{try{o=parseJson(o)}catch(e){}if(Array.isArray(o)){const i=o.find((e=>!r(e)));void 0===i&&n(o)?setState(e,t,o,l.hooks):objectObjectHandler(i,(()=>{throw log.Log.debug(i),new Error("↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.")}))}else objectObjectHandler(o,(()=>{throw log.Log.debug(o),new Error("↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.")}))}catch(e){log.Log.debug(e)}}))}))},BOOLEAN=/^(true|false)$/,INTEGER=/^-?(0|[1-9]\d*)$/,FLOAT=/^-?(0.|[1-9]\d*.)\d*[1-9]$/,mapString2Unknown=e=>{const t=typeof e,r=`${e}`;if("string"==typeof e)if(BOOLEAN.test(e))e="true"===e;else if(INTEGER.test(e))e=parseInt(e);else if(FLOAT.test(e))e=parseFloat(e);else if(JSON_CHARS.test(e))try{e=parseJson(e)}catch(e){}return t!==typeof e&&a11y_tipps.devHint(`You have used a stringified property value (${r} to ${JSON.stringify(e)}) which type switched from ${t} to ${typeof e}!`),e},stringifyJson=e=>{try{return JSON.stringify(e).replace(/"/g,"'")}catch(t){throw log.Log.warn(["stringifyJson",e]),log.Log.error("↑ Das JSON konnte nicht in einen String umgewandelt werden. Es wird ein stringifizierbares JSON erwartet."),new Error}},JSON_CHARS=/^[{[]/,parseJson=e=>{if("string"==typeof e)try{return JSON.parse(e)}catch(t){if(JSON_CHARS.test(e))try{return JSON.parse(e.replace(/'/g,'"'))}catch(t){log.Log.warn(["parseJson",e]),log.Log.error("↑ Der JSON-String konnte nicht geparsed werden. Achten Sie darauf, dass einfache Anführungszeichen im Text maskiert werden (&#8216;).")}}throw new Error},mapBoolean2String=e=>"boolean"==typeof e?!0===e?"true":"false":void 0,mapStringOrBoolean2String=e=>"string"==typeof e?e:mapBoolean2String(e),koliBriQuerySelector=(e,t)=>querySelector(e,t||log.getDocument()),koliBriQuerySelectorAll=(e,t)=>querySelectorAll(e,t||log.getDocument());let DEFAULT_COLOR_CONTRAST=null;const getDefaultColorContrast=()=>(DEFAULT_COLOR_CONTRAST=DEFAULT_COLOR_CONTRAST||{backgroundColor:"#00000000",color:"#00000000",domNode:log.getDocument().body,level:"Fail",score:1},DEFAULT_COLOR_CONTRAST),TRANSPARENT_REGEXP=/(\d+, ){3}0\)/,koliBriA11yColorContrast=(e,t=getDefaultColorContrast())=>{const r=getComputedStyle(e),o=TRANSPARENT_REGEXP.test(r.backgroundColor)?t.backgroundColor:rgbaConvert.hex(r.backgroundColor),n=TRANSPARENT_REGEXP.test(r.color)?t.color:rgbaConvert.hex(r.color),l=s(o,n),i={backgroundColor:o,color:n,domNode:e,level:f(l),score:l};return l<4.5&&log.Log.error(["Color-Contrast-Error",{backgroundColor:i.backgroundColor,color:i.color,level:i.level,score:i.score},i.domNode]),i},koliBriQuerySelectorColors=(e,t=getDefaultColorContrast())=>{t.domNode instanceof HTMLElement&&(t=koliBriA11yColorContrast(t.domNode,t));const r=t.domNode.querySelector(e);if(null===r){const r=t.domNode.querySelectorAll('[class="hydrated"]');for(let o=0;o<r.length&&(t.domNode=r[o],null===(t=koliBriQuerySelectorColors(e,t)).domNode);o++);return t}return koliBriA11yColorContrast(r,t)},scrollByHTMLElement=(e,t=window)=>{e instanceof HTMLElement?(t.scrollTo({behavior:"smooth",top:e.getBoundingClientRect().top+log.getWindow().pageYOffset-50}),e.focus()):a11y_tipps.devHint("Das HTMLElement ist nicht valide, zu dem gescrollt werden soll.")},scrollBySelector=(e,t)=>{if((e instanceof Document||e instanceof HTMLElement||e instanceof ShadowRoot)&&"string"==typeof t){a11y_tipps.devHint("Bei der Methode querySelectorAll wurden die Parameter document, selector in selector, document getauscht, da der Parameter selector nicht, allerdings der Parameter document optional sein kann.");const r=`${t}`;t=e,e=r}if("string"==typeof e){const r=koliBriQuerySelector(e,t);r instanceof HTMLElement?scrollByHTMLElement(r):a11y_tipps.devHint(`Es konnte kein HTMLElement mit dem Selector (${e}) gefunden werden, zu dem gescrollt werden soll.`)}else a11y_tipps.devHint("Der Selector ist nicht valide, zu dem gescrollt werden soll.")};class KoliBriUtils{static queryHtmlElementColors(e,t,r=!1,o=!0){let n=null;if(!0===r||!1===KoliBriUtils.executionLock)if(!1===r&&(KoliBriUtils.cache.clear(),KoliBriUtils.cache.set(t.domNode,t),KoliBriUtils.executionLock=!0,!0===o&&log.Log.debug("[KoliBriUtils] Color contrast analysis started...")),e===t.domNode)n=t;else{const r=new Set;if(t.domNode.shadowRoot){const e=t.domNode.shadowRoot.children;for(let t=0;t<e.length;t++)r.add(e[t])}const o=t.domNode;if("function"==typeof o.assignedNodes){const e=o.assignedNodes();for(let t=0;t<e.length;t++)e[t]instanceof HTMLElement&&r.add(e[t])}const l=t.domNode.children;for(let e=0;e<l.length;e++)r.add(l[e]);const i=Array.from(r);for(let r=0;r<i.length;r++){let o=KoliBriUtils.cache.get(i[r]);void 0===o&&(o=koliBriA11yColorContrast(i[r],t)),KoliBriUtils.cache.set(i[r],o);const l=KoliBriUtils.queryHtmlElementColors(e,o,!0,!1);if(null!==l){n=l;break}}}else log.Log.debug("[KoliBriUtils] Call aborted because a color contrast analysis is currently being executed.");return!1===r&&(!0===o&&log.Log.debug(`[KoliBriUtils] Color contrast analysis finished (${KoliBriUtils.cache.size} DOM elements are analysed).`),KoliBriUtils.executionLock=!1,KoliBriUtils.cache.clear()),n}}KoliBriUtils.executionLock=!1,KoliBriUtils.cache=new Map;class KoliBriDevHelper{}KoliBriDevHelper.patchTheme=index.patchTheme,KoliBriDevHelper.patchThemeTag=index.patchThemeTag,KoliBriDevHelper.querySelector=koliBriQuerySelector,KoliBriDevHelper.querySelectorAll=koliBriQuerySelectorAll,KoliBriDevHelper.scrollByHTMLElement=scrollByHTMLElement,KoliBriDevHelper.scrollBySelector=scrollBySelector,KoliBriDevHelper.stringifyJson=stringifyJson,exports.KoliBriDevHelper=KoliBriDevHelper,exports.KoliBriUtils=KoliBriUtils,exports.emptyStringByArrayHandler=emptyStringByArrayHandler,exports.koliBriA11yColorContrast=koliBriA11yColorContrast,exports.koliBriQuerySelector=koliBriQuerySelector,exports.koliBriQuerySelectorAll=koliBriQuerySelectorAll,exports.koliBriQuerySelectorColors=koliBriQuerySelectorColors,exports.mapBoolean2String=mapBoolean2String,exports.mapString2Unknown=mapString2Unknown,exports.mapStringOrBoolean2String=mapStringOrBoolean2String,exports.objectObjectHandler=objectObjectHandler,exports.parseJson=parseJson,exports.rgbaConvert=rgbaConvert,exports.s=s,exports.scrollBySelector=scrollBySelector,exports.setEventTargetAndStopPropagation=setEventTargetAndStopPropagation,exports.setState=setState,exports.stringifyJson=stringifyJson,exports.watchBoolean=watchBoolean,exports.watchJsonArrayString=watchJsonArrayString,exports.watchNumber=watchNumber,exports.watchString=watchString,exports.watchValidator=watchValidator;
@@ -1 +0,0 @@
1
- {"file":"prop.validators-da7d3db2.js","mappings":";;;;;;;;;AAAA,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,QAAQ,KAAK;AACrC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;AAClC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,EAAE;AACxC,YAAY,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC,CAAC;AACK,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,QAAQ,KAAK;AAC/D,IAAI,IAAI,IAAI,YAAY,QAAQ;AAChC,QAAQ,IAAI,YAAY,WAAW;AACnC,QAAQ,IAAI,YAAY,UAAU,EAAE;AACpC,QAAQ,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AACnC,QAAQ,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7D,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AACtE,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,YAAY,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE;AACvE,gBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAC5E,aAAa;AACb,iBAAiB;AACjB,gBAAgB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,0GAA0G,CAAC,CAAC,CAAC;AACtI,KAAK;AACL,CAAC;;AC5BM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,QAAQ,KAAK;AAC5D,IAAI,IAAI,IAAI,YAAY,QAAQ;AAChC,QAAQ,IAAI,YAAY,WAAW;AACnC,QAAQ,IAAI,YAAY,UAAU,EAAE;AACpC,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACnD,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE;AAC9B,YAAY,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AAC1E,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD,gBAAgB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC1D,gBAAgB,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE;AAC3E,oBAAoB,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAClE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,iBAAiB;AACjB,gBAAgB,IAAI,OAAO,KAAK,IAAI,EAAE;AACtC,oBAAoB,MAAM;AAC1B,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,OAAO,CAAC;AACvB,KAAK;AACL,SAAS;AACT,QAAQ,MAAM,IAAI,KAAK,CAAC,CAAC,uGAAuG,CAAC,CAAC,CAAC;AACnI,KAAK;AACL,CAAC;;eCxBa,OAAO,IAAG;AACxB,SAAkB,GAAG,IAAG;AACxB,SAAkB,GAAG,IAAG;AACxB,SAAkB,GAAG,IAAG;AACxB,SAAkB,GAAG,IAAG;AACxB,SAAkB,GAAG,IAAG;AACxB;AACA,SAAS,GAAG,CAAC,IAAI,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC;AACrB,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;AACrB,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;AACxB,GAAG,MAAM;AACT,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AAC3B,IAAI,OAAO,CAAC;AACZ,GAAG;AACH,CAAC;AACD;AACA,SAAS,GAAG,CAAC,IAAI,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC;AACrB,EAAE,OAAO;AACT,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACX,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACX,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACX,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;AACpB,QAAQ,GAAG;AACX,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,GAAG;AACH,CAAC;AACD;AACA,SAAS,GAAG,CAAC,IAAI,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC;AACrB,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAC;AAChC;AACA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;AACpB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG;AACrD,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACf,QAAQ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM;AAC3D,QAAQ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG;AAC9F,CAAC;AACD;AACA,SAAS,GAAG,CAAC,IAAI,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC;AACrB,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAC;AAChC,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAG;AAC1B,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACvB,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACvB,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACvB,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACnC,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC;AAC9B,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,OAAO,EAAE;AACb,QAAQ,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AACzB,CAAC;AACD;AACA,SAAS,GAAG,CAAC,IAAI,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,EAAC;AACrB,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAC;AAChC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AAC9B,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AACD;AACA,SAAS,KAAK,CAAC,IAAI,EAAE;AACrB,EAAE,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE;AAC/B,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,GAAE;AAC7B,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC;AACrB,SAAS,IAAI,CAAC,IAAI,CAAC;AACnB,SAAS,IAAI,CAAC,IAAI,CAAC;AACnB,SAAS,GAAG,CAAC,IAAI,CAAC;AAClB,SAAS,IAAI,CAAC,IAAI,CAAC;AACnB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACvB,GAAG;AACH,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,OAAO,KAAK,CAAC,IAAI,CAAC;AAClB,OAAO,MAAM,CAAC,IAAI,CAAC;AACnB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AACrB,CAAC;AACD;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAC;AAC1B,EAAE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC;AACtB,MAAM,GAAG,GAAG,CAAC;AACb,MAAM,CAAC;AACP,CAAC;AACD;AACA,SAAS,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AAC7B,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;AACzD,WAAW,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;AAC1D,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AACD;AACA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,IAAI,GAAG,IAAI,KAAK,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1C,EAAE,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC1C,EAAE,IAAI,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AAC1C,EAAE,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,EAAE,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC9C,EAAE,IAAI,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;AAC5C,EAAE,IAAI,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC9C,EAAE,IAAI,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC9C,EAAE,IAAI,GAAG,IAAI,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;AAC5C;AACA;AACA,EAAE,IAAI,GAAG,IAAI,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;AAC5C,EAAE,IAAI,GAAG,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC5C,CAAC;AACD;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC;AACxB,MAAM,QAAQ,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;AAC7B,MAAM,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC;AACvB,CAAC;AACD;AACA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC;AAC9B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAM;AAClB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxB,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACzB,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACzB,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAClB,QAAQ,GAAG;AACX,QAAQ,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;AACrB;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM;AAC5D;AACA,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvB,GAAG;AACH,CAAC;AACD;AACA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAC;AAC9B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,OAAM;AAClB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AACxB,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;AAClC,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;AAClC,IAAI,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;AAClC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAClB,QAAQ,GAAG;AACX,QAAQ,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAC;AAC9B;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM;AAC5D;AACA,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvB,GAAG;AACH,CAAC;AACD;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE;AAC9B,EAAE,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvC,EAAE,IAAI,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC,CAAC;AAC5D,EAAE,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG;AAC/B,MAAM,GAAG;AACT,MAAM,CAAC,CAAC;AACR,CAAC;AACD;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,iBAAiB;AAC/D,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;AACjE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,EAAC;AAC/F,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,EAAC;AAC/F,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,EAAC;AAC/F,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,SAAS,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,EAAC;AAC/F,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAClD,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,KAAK,CAAC,GAAG,EAAE;AACpB,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;AAClE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAC;AAClC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAC;AAClC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAC;AAClC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAC;AAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAClD,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,CAAC,EAAE;AACzF,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAG;AAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAG;AAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,IAAG;AAC3B,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,IAAG;AACrB,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvB,GAAG;AACH,CAAC;AACD;AACA,SAAS,GAAG,CAAC,GAAG,EAAE;AAClB,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,EAAE;AAClC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAC;AACzC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAC;AAC1C,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC;AAC9B,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC;AAC9B,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC;AAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AACvC,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;AAC3B,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE;AACnC,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAC;AAC1C,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,EAAC;AAC1C,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC;AAC9B,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC;AAC9B,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAC;AAC9B,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAC;AAC9B,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;AAClD,MAAM,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzB,KAAK;AACL,GAAG;AACH;;;;;;;AC/NA,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;;ACkB9rB,MAAM,aAAa,GAAG,mBAAmB,CAAC;MAC7B,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAc;EACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IAC3D,OAAO;GACP;EACD,EAAE,EAAE,CAAC;AACN,EAAE;MAOW,yBAAyB,GAAG,CAAC,KAAc,EAAE,EAAc;EACvE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE;IAC9C,OAAO;GACP;EACD,EAAE,EAAE,CAAC;AACN,EAAE;MAUW,gCAAgC,GAAG,CAAC,KAAY,EAAE,MAAoB;EAClF,IAAIA,oBAAgB,EAAE,EAAE;IACvBC,OAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3BA,OAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;GAC/D;EACD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;IACtC,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,KAAK;GACf,CAAC,CAAC;AACJ,EAAE;AAEF,MAAM,UAAU,GAAG,CAAC,SAAoC;;EACvD,MAAA,SAAS,CAAC,SAAS,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG;;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAA2C,CAAC;IACvF,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;MACtC,WAAW,CAAC,MAAA,SAAS,CAAC,SAAS,0CAAE,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,SAAiC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;KACxG;GACD,CAAC,CAAC;EAMH,IAAI,CAAA,MAAC,SAAS,CAAC,SAAkC,0CAAE,IAAI,IAAG,CAAC,EAAE;IAC5D,SAAS,CAAC,KAAK,mCACX,SAAS,CAAC,KAAK,GACf,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAiC,CAAC,CAClE,CAAC;IACF,OAAO,SAAS,CAAC,SAAS,CAAC;IAE3B,MAAA,SAAS,CAAC,SAAS,0CAAE,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG;MACvC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAuC,CAAC;MACjF,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;QACrC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;OAClE;KACD,CAAC,CAAC;GACH;EACD,OAAO,SAAS,CAAC,SAAS,CAAC;AAC5B,CAAC,CAAC;MAOW,QAAQ,GAAG,CAAI,SAAoC,EAAE,QAAgB,EAAE,KAA4B,EAAE,QAAuB,EAAE;;EAC1I,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;IACtC,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;GAChC;EACD,IAAI,SAAS,CAAC,SAAS,KAAK,SAAS,EAAE;IACtC,SAAS,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;GAChC;EACD,IAAI,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,EAAE;IAChD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,SAAS,YAAY,GAAG,KAAK,KAAK,EAAE;MACvC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;KAC7C;IACD,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,UAAU,EAAE;MAC3C,MAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;KACvE;IACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE;MAC5C,MAAA,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;KACzE;IACD,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAYzC,UAAU,CAAC,SAAS,CAAC,CAAC;GAEtB;AACF,EAAE;AAEF,MAAM,OAAO,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAc,EAAE,eAA+C;EACvIC,kBAAO,CACN,IAAI,SAAS,CAAC,WAAW,CAAC,IAAI,wBAAwB,KAAe,UAAU,QAAQ,oDAAoD,KAAK,CAAC,IAAI,CACpJ,eAAe,CACf,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;AACH,CAAC,CAAC;MAuBW,cAAc,GAAG,CAC7B,SAAoC,EACpC,QAAgB,EAChB,kBAA0C,EAC1C,eAA+C,EAC/C,KAAS,EACT,UAAwB,EAAE;EAE1B,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;IAI9B,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC;GACrD;OAAM,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,KAAK,IAAI,KAAK,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,SAAS,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,KAAK,CAAC,CAAC,EAAE;IAOvH,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC;GACrE;OAAM;IAIN,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,SAAS,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,KAAK,EAAE;MACnE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KAC1B;IACD,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;GACrD;AACF,EAAE;MAEW,YAAY,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAe,EAAE,OAA6B;EAClI,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACzI,EAAE;MAEW,WAAW,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAc,EAAE,UAA8B,EAAE;EACnI,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,GAAG,CAAC,CAAC;EACjF,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAC1E,IAAI,GAAG,CAAC,CAAC,wBAAwB,SAAS,GAAG,CAAC,CAAC,EAC/C,KAAK,EACL,OAAO,CACP,CAAC;AACH,EAAE;MAEW,WAAW,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAAc,EAAE,OAA4B;EAC/H,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,KACL,OAAO,KAAK,KAAK,QAAQ;KACxB,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,WAAW,KAAK,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;KAClG,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,WAAW,KAAK,QAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAA,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,EACpG,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EACnB,KAAK,EACL,OAAO,CACP,CAAC;AACH,EAAE;MAEW,oBAAoB,GAAG,CACnC,SAAoC,EACpC,QAAgB,EAChB,cAAoC,EACpC,KAAwB,EACxB,kBAA2C,CAAC,KAAU,KAAK,KAAK,KAAK,KAAK,EAC1E,UAAwB,EAAE;EAE1B,yBAAyB,CAAC,KAAK,EAAE;IAChC,mBAAmB,CAAC,KAAK,EAAE;MAC1B,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QACjC,KAAK,GAAG,EAAE,CAAC;OACX;MACD,IAAI;QACH,IAAI;UACH,KAAK,GAAG,SAAS,CAAM,KAAK,CAAC,CAAC;SAE9B;QAAC,OAAO,CAAC,EAAE;SAEX;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;UACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAO,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;UAC/D,IAAI,OAAO,KAAK,SAAS,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YACpD,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;WACpD;eAAM;YACN,mBAAmB,CAAC,OAAO,EAAE;cAC5BD,OAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;cACnB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;aAC5G,CAAC,CAAC;WACH;SACD;aAAM;UACN,mBAAmB,CAAC,KAAK,EAAE;YAC1BA,OAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;WAC5G,CAAC,CAAC;SACH;OACD;MAAC,OAAO,KAAK,EAAE;QAIfA,OAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OAEjB;KACD,CAAC,CAAC;GACH,CAAC,CAAC;AACJ,EAAE;AAEF,MAAM,OAAO,GAAG,gBAAgB,CAAC;AACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC;AACnC,MAAM,KAAK,GAAG,4BAA4B,CAAC;MAC9B,iBAAiB,GAAG,CAAC,KAAc;EAC/C,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC;EAC7B,MAAM,QAAQ,GAAG,GAAG,KAAe,EAAE,CAAC;EACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MACxB,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC;KACzB;SAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC/B,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxB;SAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAC7B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;MAClC,IAAI;QACH,KAAK,GAAG,SAAS,CAAU,KAAK,CAAC,CAAC;OAElC;MAAC,OAAO,CAAC,EAAE;OAEX;KACD;GACD;EACD,IAAI,OAAO,KAAK,OAAO,KAAK,EAAE;IAC7BC,kBAAO,CAAC,+CAA+C,QAAQ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,8BAA8B,OAAO,OAAO,OAAO,KAAK,GAAG,CAAC,CAAC;GACxJ;EACD,OAAO,KAAK,CAAC;AACd,EAAE;MAEW,aAAa,GAAG,CAAC,KAAc;EAC3C,IAAI;IACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;GAChD;EAAC,OAAO,KAAK,EAAE;IACfD,OAAG,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IACnCA,OAAG,CAAC,KAAK,CAAC,2GAA2G,CAAC,CAAC;IACvH,MAAM,IAAI,KAAK,EAAE,CAAC;GAClB;AACF,EAAE;AAEF,MAAM,UAAU,GAAG,OAAO,CAAC;MACd,SAAS,GAAG,CAAI,KAAc;EAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;IAC9B,IAAI;MAEH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACzB;IAAC,OAAO,KAAK,EAAE;MACf,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAC3B,IAAI;UACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;SAC5C;QAAC,OAAO,KAAK,EAAE;UACfA,OAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;UAC/BA,OAAG,CAAC,KAAK,CAAC,uIAAuI,CAAC,CAAC;SACnJ;OACD;KACD;GACD;EACD,MAAM,IAAI,KAAK,EAAE,CAAC;AACnB,EAAE;MAEW,iBAAiB,GAAG,CAAC,KAAe;EAChD,OAAO,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,IAAI,SAAS,CAAC;AACrF,EAAE;MAEW,yBAAyB,GAAG,CAAC,KAAwB;EACjE,OAAO,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACrE,EAAE;MAEW,oBAAoB,GAAG,CAAoB,QAAgB,EAAE,IAA0C,KACnH,aAAa,CAAI,QAAQ,EAAE,IAAI,IAAIE,eAAW,EAAE,EAAE;MAEtC,uBAAuB,GAAG,CAAoB,QAAgB,EAAE,IAA0C,KACtH,gBAAgB,CAAI,QAAQ,EAAE,IAAI,IAAIA,eAAW,EAAE,EAAE;AAUtD,IAAI,sBAAsB,GAA6B,IAAI,CAAC;AAC5D,MAAM,uBAAuB,GAAG;EAC/B,sBAAsB,GAAG,sBAAsB,IAAI;IAClD,eAAe,EAAE,WAAW;IAC5B,KAAK,EAAE,WAAW;IAClB,OAAO,EAAEA,eAAW,EAAE,CAAC,IAAI;IAC3B,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,CAAC;GACR,CAAC;EACF,OAAO,sBAAsB,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,eAAe,CAAC;MAC9B,wBAAwB,GAAG,CAAC,OAAoB,EAAE,oBAAuC,uBAAuB,EAAE;EAC9H,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;EAChD,MAAM,KAAK,GAAW,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,GAAG,iBAAiB,CAAC,eAAe,GAAGC,WAAI,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;EAC3J,MAAM,IAAI,GAAW,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,KAAK,GAAGA,WAAI,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EAC5H,MAAM,IAAI,GAAGC,CAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;EAC9B,MAAM,QAAQ,GAAG;IAChB,eAAe,EAAE,KAAK;IACtB,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,OAAO;IAChB,KAAK,EAAEC,CAAK,CAAC,IAAI,CAAC;IAClB,KAAK,EAAE,IAAI;GACX,CAAC;EACF,IAAI,IAAI,GAAG,GAAG,EAAE;IACfL,OAAG,CAAC,KAAK,CAAC;MACT,sBAAsB;MACtB;QACC,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;OACrB;MACD,QAAQ,CAAC,OAAO;KAChB,CAAC,CAAC;GACH;EACD,OAAO,QAAQ,CAAC;AACjB,EAAE;MAEW,0BAA0B,GAAG,CAAC,QAAgB,EAAE,oBAAuC,uBAAuB,EAAE;EAC5H,IAAI,iBAAiB,CAAC,OAAO,YAAY,WAAW,EAAE;IACrD,iBAAiB,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;GAC3F;EACD,MAAM,YAAY,GAAuB,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAc,QAAQ,CAAC,CAAC;EACxG,IAAI,YAAY,KAAK,IAAI,EAAE;IAC1B,MAAM,QAAQ,GAA4B,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAc,oBAAoB,CAAC,CAAC;IACxH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;MAMzC,iBAAiB,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;MACxC,iBAAiB,GAAG,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;MAE5E,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE;QACvC,MAAM;OACN;KACD;IACD,OAAO,iBAAiB,CAAC;GACzB;OAAM;IACN,OAAO,wBAAwB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;GACjE;AACF,EAAE;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAoB,EAAE,gBAAsC,MAAM;EAC9F,IAAI,OAAO,YAAY,WAAW,EAAE;IACnC,aAAa,CAAC,QAAQ,CAAC;MACtB,QAAQ,EAAE,QAAQ;MAClB,GAAG,EAAE,OAAO,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAGM,aAAS,EAAE,CAAC,WAAW,GAAG,EAAE;KACvE,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,EAAE,CAAC;GAChB;OAAM;IACNL,kBAAO,CAAC,iEAAiE,CAAC,CAAC;GAC3E;AACF,CAAC,CAAC;MACW,gBAAgB,GAAG,CAAC,QAAgB,EAAE,QAA8C;EAChG,IACC,CAAE,QAAoB,YAAY,QAAQ,IAAK,QAAoB,YAAY,WAAW,IAAK,QAAoB,YAAY,UAAU;IACzI,OAAO,QAAQ,KAAK,QAAQ,EAC3B;IACDA,kBAAO,CACN,kMAAkM,CAClM,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,QAA6B,EAAE,CAAC;IAChD,QAAQ,GAAG,QAA+B,CAAC;IAC3C,QAAQ,GAAG,IAAI,CAAC;GAChB;EACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;IACjC,MAAM,OAAO,GAAuB,oBAAoB,CAAc,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC1F,IAAI,OAAO,YAAY,WAAW,EAAE;MACnC,mBAAmB,CAAC,OAAO,CAAC,CAAC;KAC7B;SAAM;MACNA,kBAAO,CAAC,gDAAgD,QAAQ,kDAAkD,CAAC,CAAC;KACpH;GACD;OAAM;IACNA,kBAAO,CAAC,8DAA8D,CAAC,CAAC;GACxE;AACF,EAAE;MAEW,YAAY;EAGjB,OAAO,sBAAsB,CAAC,UAAuB,EAAE,iBAAoC,EAAE,SAAS,GAAG,KAAK,EAAEM,KAAG,GAAG,IAAI;IAChI,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,SAAS,KAAK,IAAI,IAAI,YAAY,CAAC,aAAa,KAAK,KAAK,EAAE;MAC/D,IAAI,SAAS,KAAK,KAAK,EAAE;QACxB,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QACrE,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,IAAIA,KAAG,KAAK,IAAI,EAAE;UACjBP,OAAG,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;SAC/D;OACD;MAED,IAAI,UAAU,KAAK,iBAAiB,CAAC,OAAO,EAAE;QAC7C,WAAW,GAAG,iBAAiB,CAAC;OAChC;WAAM;QACN,MAAM,QAAQ,GAAiB,IAAI,GAAG,EAAW,CAAC;QAClD,IAAI,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE;UACzC,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;UACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/C,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;WAChC;SACD;QACD,MAAM,WAAW,GAAoB,iBAAiB,CAAC,OAA0B,CAAC;QAClF,IAAI,OAAO,WAAW,CAAC,aAAa,KAAK,UAAU,EAAE;UACpD,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;UACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,WAAW,EAAE;cAC3C,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAgB,CAAC,CAAC;aAC7C;WACD;SACD;QACD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;UAC5C,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7B;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;UAC9C,IAAI,aAAa,GAAkC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;UAC5F,IAAI,aAAa,KAAK,SAAS,EAAE;YAChC,aAAa,GAAG,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAgB,EAAE,iBAAiB,CAAC,CAAC;WAC7F;UACD,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;UACxD,MAAM,MAAM,GAA6B,YAAY,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;UACrH,IAAI,MAAM,KAAK,IAAI,EAAE;YACpB,WAAW,GAAG,MAAM,CAAC;YACrB,MAAM;WACN;SACD;OACD;KACD;SAAM;MACNA,OAAG,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;KACxG;IACD,IAAI,SAAS,KAAK,KAAK,EAAE;MACxB,IAAIO,KAAG,KAAK,IAAI,EAAE;QACjBP,OAAG,CAAC,KAAK,CAAC,oDAAoD,YAAY,CAAC,KAAK,CAAC,IAAI,8BAA8B,CAAC,CAAC;OACrH;MACD,YAAY,CAAC,aAAa,GAAG,KAAK,CAAC;MACnC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;KAC3B;IACD,OAAO,WAAW,CAAC;GACnB;;AA9Dc,0BAAa,GAAG,KAAK,CAAC;AACtB,kBAAK,GAAG,IAAI,GAAG,EAA8B,CAAC;MAgEjD,gBAAgB;;AACL,2BAAU,GAAGQ,gBAAU,CAAC;AACxB,8BAAa,GAAGC,mBAAa,CAAC;AAC9B,8BAAa,GAAG,oBAAoB,CAAC;AACrC,iCAAgB,GAAG,uBAAuB,CAAC;AAC3C,oCAAmB,GAAG,mBAAmB,CAAC;AAC1C,iCAAgB,GAAG,gBAAgB,CAAC;AACpC,8BAAa,GAAG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["getExperimalMode","Log","devHint","getDocument","rgba","hex","score","getWindow","log","patchTheme","patchThemeTag"],"sources":["./node_modules/query-selector-all-shadow-root/esm/index.js","./node_modules/query-selector-shadow-root/esm/index.js","./node_modules/rgba-convert/index.js","./node_modules/wcag-contrast/dist/index.m.js","./src/utils/prop.validators.ts"],"sourcesContent":["const pushNodes = (set, domNodes) => {\n domNodes.forEach((domNode) => {\n if (set.has(domNode) === false) {\n set.add(domNode);\n }\n });\n};\nexport const querySelectorAll = (selector, node = document) => {\n if (node instanceof Document ||\n node instanceof HTMLElement ||\n node instanceof ShadowRoot) {\n const domNodes = new Set();\n pushNodes(domNodes, node.querySelectorAll(selector));\n const nodeList = node.querySelectorAll('[class*=\"hydrated\"]');\n for (let i = 0; i < nodeList.length; i++) {\n const shadowRoot = nodeList[i].shadowRoot;\n if (typeof shadowRoot === \"object\" && shadowRoot !== null) {\n pushNodes(domNodes, querySelectorAll(selector, shadowRoot));\n }\n else {\n pushNodes(domNodes, querySelectorAll(selector, nodeList[i]));\n }\n }\n return Array.from(domNodes);\n }\n else {\n throw new Error(`The parameter document for the method querySelectorAll is not type of Document, HTMLElement or ShadowRoot.`);\n }\n};\n//# sourceMappingURL=index.js.map","export const querySelector = (selector, node = document) => {\n if (node instanceof Document ||\n node instanceof HTMLElement ||\n node instanceof ShadowRoot) {\n let domNode = node.querySelector(selector);\n if (domNode === null) {\n const nodeList = node.querySelectorAll('[class*=\"hydrated\"]');\n for (let i = 0; i < nodeList.length; i++) {\n const shadowRoot = nodeList[i].shadowRoot;\n if (typeof shadowRoot === \"object\" && shadowRoot !== null) {\n domNode = querySelector(selector, shadowRoot);\n }\n else {\n domNode = querySelector(selector, nodeList[i]);\n }\n if (domNode !== null) {\n break;\n }\n }\n }\n return domNode;\n }\n else {\n throw new Error(`The parameter document for the method querySelector is not type of Document, HTMLElement or ShadowRoot.`);\n }\n};\n//# sourceMappingURL=index.js.map","\nmodule.exports = arr\nmodule.exports.arr = arr\nmodule.exports.obj = obj\nmodule.exports.css = css\nmodule.exports.hex = hex\nmodule.exports.num = num\n\nfunction arr(data) {\n var a = parse(data)\n if (a.length == 3) {\n return a.concat(255)\n } else {\n a[3] = Math.round(a[3])\n return a\n }\n}\n\nfunction obj(data) {\n var a = parse(data)\n return {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length == 3\n ? 255\n : Math.round(a[3])\n }\n}\n\nfunction css(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n\n return a[3] == 255\n ? 'rgb(' + a[0] + ', ' + a[1] + ', ' + a[2] + ')'\n : a[3] == 0\n ? 'rgba(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', 0)'\n : 'rgba(' + a[0] + ', ' + a[1] + ', ' + a[2] + ', ' + String(a[3] / 255).substr(1) + ')'\n}\n\nfunction hex(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n var opaque = a[3] == 255\n var r = num2hex(a[0])\n var g = num2hex(a[1])\n var b = num2hex(a[2])\n var a = num2hex(Math.round(a[3]))\n var is = isshort(r, g, b, a)\n if (opaque) {\n return is\n ? '#' + r.charAt(0) + g.charAt(0) + b.charAt(0)\n : '#' + r + g + b\n }\n return is\n ? '#' + r.charAt(0) + g.charAt(0) + b.charAt(0) + a.charAt(0)\n : '#' + r + g + b + a\n}\n\nfunction num(data) {\n var a = parse(data)\n if (a.length == 3) a.push(255)\n else a[3] = Math.round(a[3])\n return ((a[3] << 24) >>> 0 | a[0] << 16 | a[1] << 8 | a[2]) >>> 0\n}\n\nfunction parse(data) {\n if (typeof data == 'string') {\n data = data.toLowerCase()\n return name(data)\n || hex3(data)\n || hex6(data)\n || rgb(data)\n || rgba(data)\n || [0, 0, 0, 255]\n }\n return object(data)\n || array(data)\n || number(data)\n || [0, 0, 0, 255]\n}\n\nfunction num2hex(num) {\n var s = num.toString(16)\n return s.length == 1\n ? '0' + s\n : s\n}\n\nfunction isshort(r, g, b, a) {\n var h = ['ff', '00', '11', '22', '33', '44', '55', '66',\n '77', '88', '99', 'aa', 'bb', 'cc', 'dd', 'ee']\n return h.indexOf(r) != -1\n && h.indexOf(g) != -1\n && h.indexOf(b) != -1\n && h.indexOf(a) != -1\n}\n\nfunction name(str) {\n if (str == 'red') return [255, 0, 0]\n if (str == 'green') return [0, 255, 0]\n if (str == 'blue') return [0, 0, 255]\n if (str == 'black') return [0, 0, 0]\n if (str == 'white') return [255, 255, 255]\n if (str == 'cyan') return [0, 255, 255]\n if (str == 'gray') return [128, 128, 128]\n if (str == 'grey') return [128, 128, 128]\n if (str == 'magenta') return [255, 0, 255]\n // ok, not the real css `pink` but my personal `magenta` alias\n // `pink` is simpler than `fuchsia`, whatever...\n if (str == 'pink') return [255, 0, 255]\n if (str == 'yellow') return [255, 255, 0]\n}\n\nfunction hex2num(str) {\n return str.length == 1\n ? parseInt(str + str, 16)\n : parseInt(str, 16)\n}\n\nfunction hex3(str) {\n var s = str.replace(/^#/,'')\n var l = s.length\n if (l == 3 || l == 4) {\n var r = hex2num(s[0])\n var g = hex2num(s[1])\n var b = hex2num(s[2])\n var a = l == 3\n ? 255\n : hex2num(s[3])\n\n if (isNaN(r) || isNaN(g) || isNaN(b) || isNaN(a)) return\n\n return [r, g, b, a]\n }\n}\n\nfunction hex6(str) {\n var s = str.replace(/^#/,'')\n var l = s.length\n if (l == 6 || l == 8) {\n var r = hex2num(s.slice(0, 2))\n var g = hex2num(s.slice(2, 4))\n var b = hex2num(s.slice(4, 6))\n var a = l == 6\n ? 255\n : hex2num(s.slice(6, 8))\n\n if (isNaN(r) || isNaN(g) || isNaN(b) || isNaN(a)) return\n\n return [r, g, b, a]\n }\n}\n\nfunction getnum(val, integer) {\n if (typeof val != 'number') return -1\n if (integer === true && Math.floor(val) !== val) return -1\n return val >= 0 && val <= 255\n ? val\n : -1\n}\n\nfunction object(obj) {\n if (Object.prototype.toString.call(obj) === '[object Object]'\n && Object.getPrototypeOf(obj) === Object.getPrototypeOf({})) {\n var r = getnum(obj.r != undefined ? obj.r : obj.red != undefined ? obj.red : 0, true)\n var g = getnum(obj.g != undefined ? obj.g : obj.green != undefined ? obj.green : 0, true)\n var b = getnum(obj.b != undefined ? obj.b : obj.blue != undefined ? obj.blue : 0, true)\n var a = getnum(obj.a != undefined ? obj.a : obj.alpha != undefined ? obj.alpha : 255, true)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n\nfunction array(arr) {\n if (Array.isArray(arr) && (arr.length == 3 || arr.length == 4)) {\n var r = getnum(arr[0], true)\n var g = getnum(arr[1], true)\n var b = getnum(arr[2], true)\n var a = getnum(arr[3] != undefined ? arr[3] : 255, true)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n\nfunction number(num) {\n if (typeof num == 'number' && Math.floor(num) == num && num <= 4294967295 && num >= 0) {\n var a = num >> 24 & 255\n var r = num >> 16 & 255\n var g = num >> 8 & 255\n var b = num & 255\n return [r, g, b, a]\n }\n}\n\nfunction rgb(str) {\n if (str.substr(0, 4) == 'rgb(') {\n str = str.match(/^rgb\\(([^)]+)\\)/)[1]\n var t = str.split(/ *, */).map(Number)\n var r = getnum(t[0], true)\n var g = getnum(t[1], true)\n var b = getnum(t[2], true)\n if (r != -1 && g != -1 && b != -1) {\n return [r, g, b, 255]\n }\n }\n}\n\nfunction rgba(str) {\n if (str.substr(0, 5) == 'rgba(') {\n str = str.match(/^rgba\\(([^)]+)\\)/)[1]\n var t = str.split(/ *, */).map(Number)\n var r = getnum(t[0], true)\n var g = getnum(t[1], true)\n var b = getnum(t[2], true)\n var a = getnum(t[3] * 255)\n if (r != -1 && g != -1 && b != -1 && a != -1) {\n return [r, g, b, a]\n }\n }\n}\n","var n=.2126,r=.7152,t=.0722,e=1/12.92;function u(n){return Math.pow((n+.055)/1.055,2.4)}function a(a){var i=a[0]/255,c=a[1]/255,o=a[2]/255,s=i<=.03928?i*e:u(i),f=c<=.03928?c*e:u(c),l=o<=.03928?o*e:u(o);return s*n+f*r+l*t}function i(n){var r=255;8===(n=n.replace(/^#/,\"\")).length&&(r=parseInt(n.slice(6,8),16),n=n.substring(0,6)),4===n.length&&(r=parseInt(n.slice(3,4).repeat(2),16),n=n.substring(0,3)),3===n.length&&(n=n[0]+n[0]+n[1]+n[1]+n[2]+n[2]);var t=parseInt(n,16);return[t>>16,t>>8&255,255&t,r]}function c(n,r){return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function o(n,r){return c(a(n),a(r))}function s(n,r){return o(i(n),i(r))}function f(n){return n>=7?\"AAA\":n>=4.5?\"AA\":n>=3?\"AA Large\":\"Fail\"}export{c as luminance,o as rgb,s as hex,f as score};\n//# sourceMappingURL=index.m.js.map\n","import { patchTheme, patchThemeTag } from '@a11y-ui/core';\nimport { querySelectorAll } from 'query-selector-all-shadow-root';\nimport { querySelector } from 'query-selector-shadow-root';\nimport rgba from 'rgba-convert';\nimport { hex, score } from 'wcag-contrast';\nimport { Generic } from '@a11y-ui/core';\n\nimport { devHint } from './a11y.tipps';\nimport { getDocument, getExperimalMode, getWindow } from './dev.utils';\nimport { Stringified } from '../types/common';\nimport { Log } from './log';\n\n// https://regex101.com/r/lSYLO9/1\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines komplexer Objekte\n * der String \"[object Object]\" an die Web Component übergeben wird. Um den Neben-\n * effekt abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nconst OBJECT_OBJECT = /\\[object Object\\]/;\nexport const objectObjectHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && OBJECT_OBJECT.test(value)) {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei Stencil kann es vorkommen, dass bei der Übergabe eines leeren Array's\n * ein leerer String an die Web Component übergeben wird. Um den Nebeneffekt\n * abzufangen, wird dieser Fall abgefangen und nicht ausgeführt.\n */\nexport const emptyStringByArrayHandler = (value: unknown, cb: () => void): void => {\n\tif (typeof value === 'string' && value === '') {\n\t\treturn;\n\t}\n\tcb();\n};\n\n/**\n * Bei interaktiven HTML-Elementen kommt es vor, dass der Event an einem nicht\n * interaktiven HTML-Element \"lostriggert\" und dann den DOM-Baum hoch propagiert.\n * Zu unterschiedlichen Zeitpunkten sind an dem einen Event somit immer unterschiedliche\n * HTML-Elemente.\n * Damit wir das \"richtige\" interaktive HTML-Element an das Event binden, setzen\n * wir das Target explizit und stoppen die Propagation.\n */\nexport const setEventTargetAndStopPropagation = (event: Event, target?: HTMLElement): void => {\n\tif (getExperimalMode()) {\n\t\tLog.debug([event, target]);\n\t\tLog.debug(`↑ We propagate the (submit) event to this target.`);\n\t}\n\tObject.defineProperty(event, 'target', {\n\t\tvalue: target,\n\t\twritable: false,\n\t});\n};\n\nconst patchState = (component: Generic.Element.Component): void => {\n\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\tconst beforePatch = hooks.get('beforePatch') as Generic.Element.NextStateHooksCallback;\n\t\tif (typeof beforePatch === 'function') {\n\t\t\tbeforePatch(component.nextState?.get(key), component.nextState as Map<string, unknown>, component, key);\n\t\t}\n\t});\n\t/**\n\t * Wenn in beforePatch Methoden die Änderung verworfen wird,\n\t * muss auch nicht der State aktualisiert und neu gerendert\n\t * werden.\n\t */\n\tif ((component.nextState as Map<string, unknown>)?.size > 0) {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t...Object.fromEntries(component.nextState as Map<string, unknown>),\n\t\t};\n\t\tdelete component.nextState;\n\n\t\tcomponent.nextHooks?.forEach((hooks, key) => {\n\t\t\tconst afterPatch = hooks.get('afterPatch') as Generic.Element.StateHooksCallback;\n\t\t\tif (typeof afterPatch === 'function') {\n\t\t\t\tafterPatch(component.state[key], component.state, component, key);\n\t\t\t}\n\t\t});\n\t}\n\tdelete component.nextHooks;\n};\n\ntype SetStateHooks = {\n\tafterPatch?: Generic.Element.StateHooksCallback;\n\tbeforePatch?: Generic.Element.NextStateHooksCallback;\n};\n\nexport const setState = <T>(component: Generic.Element.Component, propName: string, value?: T | null | undefined, hooks: SetStateHooks = {}): void => {\n\tif (component.nextHooks === undefined) {\n\t\tcomponent.nextHooks = new Map();\n\t}\n\tif (component.nextState === undefined) {\n\t\tcomponent.nextState = new Map();\n\t}\n\tif (component.nextState.get(propName) !== value) {\n\t\tconst nextHooks = component.nextHooks.get(propName);\n\t\tif (nextHooks instanceof Map === false) {\n\t\t\tcomponent.nextHooks.set(propName, new Map());\n\t\t}\n\t\tif (typeof hooks.afterPatch === 'function') {\n\t\t\tcomponent.nextHooks.get(propName)?.set('afterPatch', hooks.afterPatch);\n\t\t}\n\t\tif (typeof hooks.beforePatch === 'function') {\n\t\t\tcomponent.nextHooks.get(propName)?.set('beforePatch', hooks.beforePatch);\n\t\t}\n\t\tcomponent.nextState.set(propName, value);\n\t\t/**\n\t\t * Muss erstmal in sync bleiben, da sonst der\n\t\t * Tooltip nicht korrekt ausgerichtet wird.\n\t\t */\n\t\t// if (component.hydrated === true || processEnv !== 'test') {\n\t\t// clearTimeout(component.timeout as NodeJS.Timeout);\n\t\t// component.timeout = setTimeout(() => {\n\t\t// \tclearTimeout(component.timeout as NodeJS.Timeout);\n\t\t// \tpatchState(component);\n\t\t// }, 50);\n\t\t// } else {\n\t\tpatchState(component);\n\t\t// }\n\t}\n};\n\nconst logWarn = (component: Generic.Element.Component, propName: string, value: unknown, requiredGeneric: Set<string | null | undefined>): void => {\n\tdevHint(\n\t\t`[${component.constructor.name}] Der Property-Wert (${value as string}) für '${propName}' ist nicht valide. Folgende Werte sind erlaubt: ${Array.from(\n\t\t\trequiredGeneric\n\t\t).join(', ')}`\n\t);\n};\n\ntype WatchOptions = {\n\tdefaultValue?: unknown;\n\thooks?: SetStateHooks;\n\trequired?: boolean;\n};\n\ntype WatchBooleanOptions = WatchOptions & {\n\tdefaultValue?: boolean | null;\n};\n\ntype WatchStringOptions = WatchOptions & {\n\tdefaultValue?: string | null;\n\tminLength?: number;\n};\n\nexport type WatchNumberOptions = WatchOptions & {\n\tdefaultValue?: number | null;\n\tmin?: number;\n\tmax?: number;\n};\n\nexport const watchValidator = <T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\tvalidationFunction: (value?: T) => boolean,\n\trequiredGeneric: Set<string | null | undefined>,\n\tvalue?: T,\n\toptions: WatchOptions = {}\n): void => {\n\tif (validationFunction(value)) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert entweder VALIDE ist.\n\t\t */\n\t\tsetState(component, propName, value, options?.hooks);\n\t} else if (value === undefined || (value === null && (options?.required === undefined || options?.required === false))) {\n\t\t/**\n\t\t * Triff zu, wenn der Wert entweder ...\n\t\t * - UNDEFINED oder\n\t\t * - NULL und NICHT REQUIRED\n\t\t * ... ist.\n\t\t */\n\t\tsetState(component, propName, options?.defaultValue, options?.hooks);\n\t} else {\n\t\t/**\n\t\t * Triff zu, wenn der Wert NICHT valide ist.\n\t\t */\n\t\tif (options?.required === undefined || options?.required === false) {\n\t\t\trequiredGeneric.add(null);\n\t\t}\n\t\tlogWarn(component, propName, value, requiredGeneric);\n\t}\n};\n\nexport const watchBoolean = (component: Generic.Element.Component, propName: string, value?: boolean, options?: WatchBooleanOptions): void => {\n\twatchValidator(component, propName, (value): boolean => typeof value === 'boolean', new Set(['Boolean {true, false}']), value, options);\n};\n\nexport const watchString = (component: Generic.Element.Component, propName: string, value?: string, options: WatchStringOptions = {}): void => {\n\tconst minLength = typeof options.minLength === 'number' ? options?.minLength : 0;\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean => typeof value === 'string' && value.length >= minLength,\n\t\tnew Set([`String (Mindestlänge ${minLength})`]),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nexport const watchNumber = (component: Generic.Element.Component, propName: string, value?: number, options?: WatchNumberOptions): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value): boolean =>\n\t\t\ttypeof value === 'number' &&\n\t\t\t(typeof options?.min === 'undefined' || (typeof options?.min === 'number' && value >= options.min)) &&\n\t\t\t(typeof options?.max === 'undefined' || (typeof options?.max === 'number' && value <= options.max)),\n\t\tnew Set(['Number']),\n\t\tvalue,\n\t\toptions\n\t);\n};\n\nexport const watchJsonArrayString = <T>(\n\tcomponent: Generic.Element.Component,\n\tpropName: string,\n\titemValidation: (item: T) => boolean,\n\tvalue?: Stringified<T[]>,\n\tarrayValidation: (items: T[]) => boolean = (items: T[]) => items === items, // nochmal hirnen\n\toptions: WatchOptions = {}\n): void => {\n\temptyStringByArrayHandler(value, () => {\n\t\tobjectObjectHandler(value, () => {\n\t\t\tif (typeof value === 'undefined') {\n\t\t\t\tvalue = [];\n\t\t\t}\n\t\t\ttry {\n\t\t\t\ttry {\n\t\t\t\t\tvalue = parseJson<T[]>(value);\n\t\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t\t} catch (e) {\n\t\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t\t}\n\t\t\t\tif (Array.isArray(value)) {\n\t\t\t\t\tconst invalid = value.find((item: T) => !itemValidation(item));\n\t\t\t\t\tif (invalid === undefined && arrayValidation(value)) {\n\t\t\t\t\t\tsetState(component, propName, value, options.hooks);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tobjectObjectHandler(invalid, () => {\n\t\t\t\t\t\t\tLog.debug(invalid);\n\t\t\t\t\t\t\tthrow new Error(`↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.`);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tobjectObjectHandler(value, () => {\n\t\t\t\t\t\tLog.debug(value);\n\t\t\t\t\t\tthrow new Error(`↑ Das Schema für das Property (_options) ist nicht valide. Der Wert wird nicht geändert.`);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/**\n\t\t\t\t * TODO: Wir haben einen Known-Bug beim Propergieren von Zeichenkettenliste (string[]).\n\t\t\t\t */\n\t\t\t\tLog.debug(error);\n\t\t\t\t// devHint(`Known bug: Zeichenkettenliste (string[])`);\n\t\t\t}\n\t\t});\n\t});\n};\n\nconst BOOLEAN = /^(true|false)$/;\nconst INTEGER = /^-?(0|[1-9]\\d*)$/;\nconst FLOAT = /^-?(0.|[1-9]\\d*.)\\d*[1-9]$/;\nexport const mapString2Unknown = (value: unknown) => {\n\tconst typeStr = typeof value;\n\tconst oldValue = `${value as string}`;\n\tif (typeof value === 'string') {\n\t\tif (BOOLEAN.test(value)) {\n\t\t\tvalue = value === 'true';\n\t\t} else if (INTEGER.test(value)) {\n\t\t\tvalue = parseInt(value);\n\t\t} else if (FLOAT.test(value)) {\n\t\t\tvalue = parseFloat(value);\n\t\t} else if (JSON_CHARS.test(value)) {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<unknown>(value);\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}\n\t}\n\tif (typeStr !== typeof value) {\n\t\tdevHint(`You have used a stringified property value (${oldValue} to ${JSON.stringify(value)}) which type switched from ${typeStr} to ${typeof value}!`);\n\t}\n\treturn value;\n};\n\nexport const stringifyJson = (value: unknown): string => {\n\ttry {\n\t\treturn JSON.stringify(value).replace(/\"/g, \"'\");\n\t} catch (error) {\n\t\tLog.warn(['stringifyJson', value]);\n\t\tLog.error(`↑ Das JSON konnte nicht in einen String umgewandelt werden. Es wird ein stringifizierbares JSON erwartet.`);\n\t\tthrow new Error();\n\t}\n};\n\nconst JSON_CHARS = /^[{[]/; // string starts with { or [\nexport const parseJson = <T>(value: unknown): T => {\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\t// \"null\", \"true\", \"false\", \"0\" works too\n\t\t\treturn JSON.parse(value);\n\t\t} catch (error) {\n\t\t\tif (JSON_CHARS.test(value)) {\n\t\t\t\ttry {\n\t\t\t\t\treturn JSON.parse(value.replace(/'/g, '\"'));\n\t\t\t\t} catch (error) {\n\t\t\t\t\tLog.warn(['parseJson', value]);\n\t\t\t\t\tLog.error(`↑ Der JSON-String konnte nicht geparsed werden. Achten Sie darauf, dass einfache Anführungszeichen im Text maskiert werden (&#8216;).`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tthrow new Error();\n};\n\nexport const mapBoolean2String = (value?: boolean): string | undefined => {\n\treturn typeof value === 'boolean' ? (value === true ? 'true' : 'false') : undefined;\n};\n\nexport const mapStringOrBoolean2String = (value?: string | boolean): string | undefined => {\n\treturn typeof value === 'string' ? value : mapBoolean2String(value);\n};\n\nexport const koliBriQuerySelector = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T | null =>\n\tquerySelector<T>(selector, node || getDocument());\n\nexport const koliBriQuerySelectorAll = <T extends Element>(selector: string, node?: Document | HTMLElement | ShadowRoot): T[] =>\n\tquerySelectorAll<T>(selector, node || getDocument());\n\ninterface A11yColorContrast {\n\tbackgroundColor: string;\n\tcolor: string;\n\tdomNode: HTMLElement | HTMLSlotElement;\n\tlevel: string;\n\tscore: number;\n}\n\nlet DEFAULT_COLOR_CONTRAST: A11yColorContrast | null = null;\nconst getDefaultColorContrast = (): A11yColorContrast => {\n\tDEFAULT_COLOR_CONTRAST = DEFAULT_COLOR_CONTRAST || {\n\t\tbackgroundColor: '#00000000',\n\t\tcolor: '#00000000',\n\t\tdomNode: getDocument().body,\n\t\tlevel: 'Fail',\n\t\tscore: 1,\n\t};\n\treturn DEFAULT_COLOR_CONTRAST;\n};\n\nconst TRANSPARENT_REGEXP = /(\\d+, ){3}0\\)/;\nexport const koliBriA11yColorContrast = (domNode: HTMLElement, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tconst computedStyle = getComputedStyle(domNode);\n\tconst hexBG: string = TRANSPARENT_REGEXP.test(computedStyle.backgroundColor) ? a11yColorContrast.backgroundColor : rgba.hex(computedStyle.backgroundColor);\n\tconst hexC: string = TRANSPARENT_REGEXP.test(computedStyle.color) ? a11yColorContrast.color : rgba.hex(computedStyle.color);\n\tconst diff = hex(hexBG, hexC);\n\tconst contrast = {\n\t\tbackgroundColor: hexBG,\n\t\tcolor: hexC,\n\t\tdomNode: domNode,\n\t\tlevel: score(diff),\n\t\tscore: diff,\n\t};\n\tif (diff < 4.5) {\n\t\tLog.error([\n\t\t\t'Color-Contrast-Error',\n\t\t\t{\n\t\t\t\tbackgroundColor: contrast.backgroundColor,\n\t\t\t\tcolor: contrast.color,\n\t\t\t\tlevel: contrast.level,\n\t\t\t\tscore: contrast.score,\n\t\t\t},\n\t\t\tcontrast.domNode,\n\t\t]);\n\t}\n\treturn contrast;\n};\n\nexport const koliBriQuerySelectorColors = (selector: string, a11yColorContrast: A11yColorContrast = getDefaultColorContrast()): A11yColorContrast => {\n\tif (a11yColorContrast.domNode instanceof HTMLElement) {\n\t\ta11yColorContrast = koliBriA11yColorContrast(a11yColorContrast.domNode, a11yColorContrast);\n\t}\n\tconst selectedNode: HTMLElement | null = a11yColorContrast.domNode.querySelector<HTMLElement>(selector);\n\tif (selectedNode === null) {\n\t\tconst nodeList: NodeListOf<HTMLElement> = a11yColorContrast.domNode.querySelectorAll<HTMLElement>('[class=\"hydrated\"]');\n\t\tfor (let i = 0; i < nodeList.length; i++) {\n\t\t\t// const shadowRoot: ShadowRoot = nodeList[i].shadowRoot as ShadowRoot;\n\t\t\t// if (typeof shadowRoot === 'object' && shadowRoot !== null) {\n\t\t\t// a11yColorContrast.domNode = shadowRoot;\n\t\t\t// a11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// } else {\n\t\t\ta11yColorContrast.domNode = nodeList[i];\n\t\t\ta11yColorContrast = koliBriQuerySelectorColors(selector, a11yColorContrast);\n\t\t\t// }\n\t\t\tif (a11yColorContrast.domNode !== null) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn a11yColorContrast;\n\t} else {\n\t\treturn koliBriA11yColorContrast(selectedNode, a11yColorContrast);\n\t}\n};\n\nconst scrollByHTMLElement = (element: HTMLElement, parentElement: Window | HTMLElement = window): void => {\n\tif (element instanceof HTMLElement) {\n\t\tparentElement.scrollTo({\n\t\t\tbehavior: 'smooth',\n\t\t\ttop: element.getBoundingClientRect().top + getWindow().pageYOffset - 50,\n\t\t});\n\t\telement.focus();\n\t} else {\n\t\tdevHint(`Das HTMLElement ist nicht valide, zu dem gescrollt werden soll.`);\n\t}\n};\nexport const scrollBySelector = (selector: string, document?: Document | HTMLElement | ShadowRoot): void => {\n\tif (\n\t\t((selector as unknown) instanceof Document || (selector as unknown) instanceof HTMLElement || (selector as unknown) instanceof ShadowRoot) &&\n\t\ttypeof document === 'string'\n\t) {\n\t\tdevHint(\n\t\t\t`Bei der Methode querySelectorAll wurden die Parameter document, selector in selector, document getauscht, da der Parameter selector nicht, allerdings der Parameter document optional sein kann.`\n\t\t);\n\t\tconst temp = `${document as unknown as string}`;\n\t\tdocument = selector as unknown as Document;\n\t\tselector = temp;\n\t}\n\tif (typeof selector === 'string') {\n\t\tconst element: HTMLElement | null = koliBriQuerySelector<HTMLElement>(selector, document);\n\t\tif (element instanceof HTMLElement) {\n\t\t\tscrollByHTMLElement(element);\n\t\t} else {\n\t\t\tdevHint(`Es konnte kein HTMLElement mit dem Selector (${selector}) gefunden werden, zu dem gescrollt werden soll.`);\n\t\t}\n\t} else {\n\t\tdevHint(`Der Selector ist nicht valide, zu dem gescrollt werden soll.`);\n\t}\n};\n\nexport class KoliBriUtils {\n\tprivate static executionLock = false;\n\tprivate static cache = new Map<Element, A11yColorContrast>();\n\tpublic static queryHtmlElementColors(targetNode: HTMLElement, a11yColorContrast: A11yColorContrast, recursion = false, log = true): A11yColorContrast | null {\n\t\tlet returnValue = null;\n\t\tif (recursion === true || KoliBriUtils.executionLock === false) {\n\t\t\tif (recursion === false) {\n\t\t\t\tKoliBriUtils.cache.clear();\n\t\t\t\tKoliBriUtils.cache.set(a11yColorContrast.domNode, a11yColorContrast);\n\t\t\t\tKoliBriUtils.executionLock = true;\n\t\t\t\tif (log === true) {\n\t\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis started...`);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Log.debug(a11yColorContrast.domNode);\n\t\t\tif (targetNode === a11yColorContrast.domNode) {\n\t\t\t\treturnValue = a11yColorContrast;\n\t\t\t} else {\n\t\t\t\tconst children: Set<Element> = new Set<Element>();\n\t\t\t\tif (a11yColorContrast.domNode.shadowRoot) {\n\t\t\t\t\tconst shadowChildren = a11yColorContrast.domNode.shadowRoot.children;\n\t\t\t\t\tfor (let i = 0; i < shadowChildren.length; i++) {\n\t\t\t\t\t\tchildren.add(shadowChildren[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst slotElement: HTMLSlotElement = a11yColorContrast.domNode as HTMLSlotElement;\n\t\t\t\tif (typeof slotElement.assignedNodes === 'function') {\n\t\t\t\t\tconst slotChildren = slotElement.assignedNodes();\n\t\t\t\t\tfor (let i = 0; i < slotChildren.length; i++) {\n\t\t\t\t\t\tif (slotChildren[i] instanceof HTMLElement) {\n\t\t\t\t\t\t\tchildren.add(slotChildren[i] as HTMLElement);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst domChildren = a11yColorContrast.domNode.children;\n\t\t\t\tfor (let i = 0; i < domChildren.length; i++) {\n\t\t\t\t\tchildren.add(domChildren[i]);\n\t\t\t\t}\n\t\t\t\tconst arrayChildren = Array.from(children);\n\t\t\t\tfor (let i = 0; i < arrayChildren.length; i++) {\n\t\t\t\t\tlet colorContrast: A11yColorContrast | undefined = KoliBriUtils.cache.get(arrayChildren[i]);\n\t\t\t\t\tif (colorContrast === undefined) {\n\t\t\t\t\t\tcolorContrast = koliBriA11yColorContrast(arrayChildren[i] as HTMLElement, a11yColorContrast);\n\t\t\t\t\t}\n\t\t\t\t\tKoliBriUtils.cache.set(arrayChildren[i], colorContrast);\n\t\t\t\t\tconst colors: A11yColorContrast | null = KoliBriUtils.queryHtmlElementColors(targetNode, colorContrast, true, false);\n\t\t\t\t\tif (colors !== null) {\n\t\t\t\t\t\treturnValue = colors;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tLog.debug(`[KoliBriUtils] Call aborted because a color contrast analysis is currently being executed.`);\n\t\t}\n\t\tif (recursion === false) {\n\t\t\tif (log === true) {\n\t\t\t\tLog.debug(`[KoliBriUtils] Color contrast analysis finished (${KoliBriUtils.cache.size} DOM elements are analysed).`);\n\t\t\t}\n\t\t\tKoliBriUtils.executionLock = false;\n\t\t\tKoliBriUtils.cache.clear();\n\t\t}\n\t\treturn returnValue;\n\t}\n}\n\nexport class KoliBriDevHelper {\n\tpublic static readonly patchTheme = patchTheme;\n\tpublic static readonly patchThemeTag = patchThemeTag;\n\tpublic static readonly querySelector = koliBriQuerySelector;\n\tpublic static readonly querySelectorAll = koliBriQuerySelectorAll;\n\tpublic static readonly scrollByHTMLElement = scrollByHTMLElement;\n\tpublic static readonly scrollBySelector = scrollBySelector;\n\tpublic static readonly stringifyJson = stringifyJson;\n}\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const isObject=t=>"object"==typeof t&&null!==t,isString=(t,e=0)=>"string"==typeof t&&t.length>=e,isStyle=t=>{if("object"!=typeof t||null===t)return isString(t,1);for(const e in t)if(!1===isString(e,1))return!1;return!0},isPrefixOf=(t,e)=>new RegExp(`^${t}`).test(e),isEmptyOrPrefixOf=(t,e)=>0===e.length||isPrefixOf(t,e),STATE_CHANGE_EVENT=new Event("StateChange"),propergateFocus=(t,e)=>{isObject(t)&&t&&(t.focus=t=>null==e?void 0:e.focus(t))},smartSetTimeout=(t,e)=>{const s=setTimeout((()=>{clearTimeout(s),t()}),e)};exports.processEnv="development";try{exports.processEnv="production"}catch(t){exports.processEnv="production"}exports.STATE_CHANGE_EVENT=STATE_CHANGE_EVENT,exports.isEmptyOrPrefixOf=isEmptyOrPrefixOf,exports.isObject=isObject,exports.isString=isString,exports.isStyle=isStyle,exports.propergateFocus=propergateFocus,exports.smartSetTimeout=smartSetTimeout;
@@ -1 +0,0 @@
1
- {"file":"reuse-b43997f3.js","mappings":";;;;;MAAa,QAAQ,GAAG,CAAC,KAAc,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK;MAEpF,QAAQ,GAAG,CAAC,KAAc,EAAE,SAAS,GAAG,CAAC,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU;MAE9G,OAAO,GAAG,CAAC,KAA8B;EACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;IAChD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;MAC7B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK,EAAE;QACpC,OAAO,KAAK,CAAC;OACb;KACD;GACD;OAAM;IACN,OAAO,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;GAC1B;EACD,OAAO,IAAI,CAAC;AACb,EAAE;AAKF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,IAAY,KAAK,IAAI,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;MAK5E,iBAAiB,GAAG,CAAC,MAAc,EAAE,IAAY,KAAK,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE;MAKpG,kBAAkB,GAAG,IAAI,KAAK,CAAC,aAAa;;MC5B5C,eAAe,GAAG,CAA+C,IAAQ,EAAE,GAAO;EAC9F,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;IAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,GAAiB,KAAK,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;GACpD;AACF,EAAE;MAUW,eAAe,GAAG,CAAC,EAAc,EAAE,KAAc;EAC7D,MAAM,OAAO,GAAG,UAAU,CAAC;IAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,EAAE,EAAE,CAAC;GACL,EAAE,KAAK,CAAC,CAAC;AACX,EAAE;AAGSA,kBAAU,GAAe,cAAc;AAClD,IAAI;EACHA,kBAAU,GAAG,YAAkC,CAAC;CAChD;AAAC,OAAO,CAAC,EAAE;EACXA,kBAAU,GAAG,YAAY,CAAC;;;;;;;;;;;","names":["processEnv"],"sources":["./src/utils/validator.ts","./src/utils/reuse.ts"],"sourcesContent":["export const isObject = (value: unknown): boolean => typeof value === 'object' && value !== null;\n\nexport const isString = (value: unknown, minLength = 0): boolean => typeof value === 'string' && value.length >= minLength;\n\nexport const isStyle = (style?: Record<string, string>): boolean => {\n\tif (typeof style === 'object' && style !== null) {\n\t\tfor (const property in style) {\n\t\t\tif (isString(property, 1) === false) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t} else {\n\t\treturn isString(style, 1);\n\t}\n\treturn true;\n};\n\n/**\n * Validate, if a text contains a prefix.\n */\nconst isPrefixOf = (prefix: string, text: string) => new RegExp(`^${prefix}`).test(text);\n\n/**\n * Validate, if a text is empty or contains a prefix.\n */\nexport const isEmptyOrPrefixOf = (prefix: string, text: string) => text.length === 0 || isPrefixOf(prefix, text);\n\n/**\n * Fix event instance for state changes.\n */\nexport const STATE_CHANGE_EVENT = new Event('StateChange');\n","import { isObject } from './validator';\n\nexport const propergateFocus = <H extends HTMLElement, R extends HTMLElement>(host?: H, ref?: R) => {\n\tif (isObject(host) && host) {\n\t\thost.focus = (ops: FocusOptions) => ref?.focus(ops);\n\t}\n};\n\n/**\n * If you need a tiny setTimeout with clearTimeout, you can\n * use this compact implementation.\n *\n * @param cb Callback with the code to run\n * @param delay Timeout delay\n */\n// ts-prune-ignore-next\nexport const smartSetTimeout = (cb: () => void, delay?: number) => {\n\tconst timeout = setTimeout(() => {\n\t\tclearTimeout(timeout);\n\t\tcb();\n\t}, delay);\n};\n\ntype ProzessEnv = 'development' | 'production' | 'test';\nexport let processEnv: ProzessEnv = 'development';\ntry {\n\tprocessEnv = process.env.NODE_ENV as ProzessEnv;\n} catch (e) {\n\tprocessEnv = 'production';\n}\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const a11y_tipps=require("./a11y.tipps-ab1afcfd.js"),prop_validators=require("./prop.validators-da7d3db2.js"),watchNavLinks=(a,t,s)=>{prop_validators.watchJsonArrayString(t,"_links",(a=>"object"==typeof a&&"string"==typeof a._label),s),a11y_tipps.uiUxHintMillerscheZahl(a,t.state._links.length)};exports.watchNavLinks=watchNavLinks;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{L as Log}from"./log-829fbbc7.js";const a11yCache=new Set,a11yHint=e=>{!1===a11yCache.has(e)&&(a11yCache.add(e),Log.info(e,{classifier:"✋ a11y",overwriteStyle:"; background-color: #09f"}))},deprecatedCache=new Set,deprecatedHint=e=>{!1===deprecatedCache.has(e)&&(deprecatedCache.add(e),Log.warn(e,{classifier:"🔥 deprecated",forceLog:!0,overwriteStyle:"; background-color: #f00"}))},devCache=new Set,devHint=e=>{!1===devCache.has(e)&&(devCache.add(e),Log.debug(e,{classifier:"💻 dev",overwriteStyle:"; background-color: #f09"}))},featureCache=new Set,featureHint=(e,a=!1)=>{!1===featureCache.has(e)&&(featureCache.add(e),e+=!0===a?" ✅":"",Log.debug(e,{classifier:"🌟 feature",overwriteStyle:"; background-color: #309"}))};devHint("Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!");const uiUxCache=new Set,uiUxHint=e=>{!1===uiUxCache.has(e)&&(uiUxCache.add(e),Log.debug(e,{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"}))},a11yHintDisabled=()=>{a11yHint('"Disabled" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae')},a11yHintLabelingLandmarks=e=>{"string"==typeof e&&""!==e||a11yHint("Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns")},uiUxHintMillerscheZahl=(e,a=8)=>{var i;a>7&&(i=`[${e}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`,!1===uiUxCache.has(i)&&(uiUxCache.add(i),Log.debug(i,{classifier:"📑 ui/ux",overwriteStyle:"; background-color: #060;"})))};export{a11yHint as a,a11yHintLabelingLandmarks as b,deprecatedHint as c,devHint as d,a11yHintDisabled as e,featureHint as f,uiUxHintMillerscheZahl as u};
@@ -1 +0,0 @@
1
- {"file":"a11y.tipps-7a139717.js","mappings":";;;;;AAEA,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;MACpC,QAAQ,GAAG,CAAC,GAAW;EACnC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACjC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;MACb,UAAU,EAAE,QAAQ;MACpB,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AAEF,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAU,CAAC;MAC1C,cAAc,GAAG,CAAC,GAAW;EACzC,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACvC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE;MACb,UAAU,EAAE,eAAe;MAC3B,QAAQ,EAAE,IAAI;MACd,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AAEF,MAAM,QAAQ,GAAgB,IAAI,GAAG,EAAU,CAAC;MACnC,OAAO,GAAG,CAAC,GAAW;EAClC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IAChC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;MACd,UAAU,EAAE,QAAQ;MACpB,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AAEF,MAAM,YAAY,GAAgB,IAAI,GAAG,EAAU,CAAC;MACvC,WAAW,GAAG,CAAC,GAAW,EAAE,IAAI,GAAG,KAAK;EACpD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACpC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;MACd,UAAU,EAAE,YAAY;MACxB,cAAc,EAAE,0BAA0B;KAC1C,CAAC,CAAC;GACH;AACF,EAAE;AACF,OAAO,CACN,4JAA4J,CAC5J,CAAC;AAEF,MAAM,SAAS,GAAgB,IAAI,GAAG,EAAU,CAAC;AACjD,MAAM,QAAQ,GAAG,CAAC,GAAW;EAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;IACjC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;MACd,UAAU,EAAE,UAAU;MACtB,cAAc,EAAE,2BAA2B;KAC3C,CAAC,CAAC;GACH;AACF,CAAC,CAAC;MAEW,gBAAgB,GAAG;EAC/B,QAAQ,CACP,oOAAoO,CACpO,CAAC;AACH,EAAE;MAEW,yBAAyB,GAAG,CAAC,KAAc;EACvD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,EAAE;IAC9C,QAAQ,CACP,qVAAqV,CACrV,CAAC;GACF;AACF,EAAE;MAEW,sBAAsB,GAAG,CAAC,SAAiB,EAAE,MAAM,GAAG,CAAC;EACnE,IAAI,MAAM,GAAG,CAAC,EAAE;IACf,QAAQ,CACP,IAAI,SAAS;;;;gDAIgC,CAC7C,CAAC;GACF;AACF;;;;","names":[],"sources":["./src/utils/a11y.tipps.ts"],"sourcesContent":["import { Log } from './log';\n\nconst a11yCache: Set<string> = new Set<string>();\nexport const a11yHint = (msg: string): void => {\n\tif (a11yCache.has(msg) === false) {\n\t\ta11yCache.add(msg);\n\t\tLog.info(msg, {\n\t\t\tclassifier: `✋ a11y`,\n\t\t\toverwriteStyle: '; background-color: #09f',\n\t\t});\n\t}\n};\n\nconst deprecatedCache: Set<string> = new Set<string>();\nexport const deprecatedHint = (msg: string): void => {\n\tif (deprecatedCache.has(msg) === false) {\n\t\tdeprecatedCache.add(msg);\n\t\tLog.warn(msg, {\n\t\t\tclassifier: `🔥 deprecated`,\n\t\t\tforceLog: true,\n\t\t\toverwriteStyle: '; background-color: #f00',\n\t\t});\n\t}\n};\n\nconst devCache: Set<string> = new Set<string>();\nexport const devHint = (msg: string): void => {\n\tif (devCache.has(msg) === false) {\n\t\tdevCache.add(msg);\n\t\tLog.debug(msg, {\n\t\t\tclassifier: `💻 dev`,\n\t\t\toverwriteStyle: '; background-color: #f09',\n\t\t});\n\t}\n};\n\nconst featureCache: Set<string> = new Set<string>();\nexport const featureHint = (msg: string, done = false): void => {\n\tif (featureCache.has(msg) === false) {\n\t\tfeatureCache.add(msg);\n\t\tmsg += done === true ? ' ✅' : '';\n\t\tLog.debug(msg, {\n\t\t\tclassifier: `🌟 feature`,\n\t\t\toverwriteStyle: '; background-color: #309',\n\t\t});\n\t}\n};\ndevHint(\n\t`Wir freuen uns über jedes Feedback, Kommentare, Screenshots oder Demo-Links von einer auf KoliBri-basierenden Anwendung (kolibri@itzbund.de). Vielen Dank!`\n);\n\nconst uiUxCache: Set<string> = new Set<string>();\nconst uiUxHint = (msg: string): void => {\n\tif (uiUxCache.has(msg) === false) {\n\t\tuiUxCache.add(msg);\n\t\tLog.debug(msg, {\n\t\t\tclassifier: `📑 ui/ux`,\n\t\t\toverwriteStyle: '; background-color: #060;',\n\t\t});\n\t}\n};\n\nexport const a11yHintDisabled = (): void => {\n\ta11yHint(\n\t\t`\"Disabled\" schränkt die Zugänglichkeit und Sichtbarkeit ein. Wir empfehlen aus Sicht der Barrierefreiheit readonly- statt disabled-Attribut zu verwenden.\\n- https://uxdesign.cc/is-it-ok-to-grey-out-disabled-buttons-8afa74a0fae`\n\t);\n};\n\nexport const a11yHintLabelingLandmarks = (value: unknown): void => {\n\tif (typeof value !== 'string' || value === '') {\n\t\ta11yHint(\n\t\t\t`Manche Strukturelemente, wie bspw. der nav-Tag, können mehrfach in einer Webseite verwendet werden. Damit die gleichnamigen Strukturelemente voneinander unterschieden werden können, ist es erforderlich ein Aria-Label zu setzen.\\n- https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Navigation_Role#accessibility_concerns`\n\t\t);\n\t}\n};\n\nexport const uiUxHintMillerscheZahl = (className: string, length = 8): void => {\n\tif (length > 7) {\n\t\tuiUxHint(\n\t\t\t`[${className}] Innerhalb von Navigationsstrukturen wird empfohlen nicht mehr als 7 Menüpunkte zu verwenden.\n\nLinks:\n- https://de.ryte.com/wiki/Millersche_Zahl\n- https://de.wikipedia.org/wiki/Millersche_Zahl`\n\t\t);\n\t}\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{s as setThemeStyle,g as getThemeDetails}from"./index-599f5430.js";import{a as setMode}from"./index-50adf9a0.js";import{L as Log}from"./log-829fbbc7.js";const appGlobalScript=()=>{Log.debug("\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n| |\\ \\ | '-' | | | | | | '--' / | | | |\n`--' `--´ `---´ `--' `--' `------´ `--' `--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t",{forceLog:!0}),setMode((e=>(e.shadowRoot instanceof ShadowRoot&&setThemeStyle(e,getThemeDetails(e)),"default"))),import("./devtools-1fae3661.js").then((e=>{"object"==typeof e&&null!==e&&"function"==typeof e.initialize&&e.initialize()})).catch((e=>{Log.error(e)}))},globalScripts=appGlobalScript;export{globalScripts as g};
@@ -1 +0,0 @@
1
- {"file":"app-globals-0ffb53ba.js","mappings":";;;;;;;AAKA,wBAAe;EACd,GAAG,CAAC,KAAK,CACR;;;;;;;EAOA,EACA;IACC;GACA,CACD,CAAC;EAEF;IACC,IAAI,GAAG,CAAC;MACP,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;KACzC;IACD;GACA,CAAC,CAAC;EAEH;KACE,IAAI,CAAC,CAAC,QAAQ;IACd,IAAI,OAAO,QAAQ;MAClB,QAAQ,CAAC,UAAU,EAAE,CAAC;KACtB;GACD,CAAC;;IAED,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;GACjB,CAAC,CAAC;AACL,CAAC;;ACnCW,MAAC,aAAa,GAAG;;;;","names":[],"sources":["./src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from '@a11y-ui/core';\nimport { setMode } from '@stencil/core';\nimport { Log } from '../utils/log';\n\n// ts-prune-ignore-next\nexport default (): void => {\n\tLog.debug(\n\t\t`\n,--. ,--. ,--. ,--. ,-----. ,--.\n| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io\n\t`,\n\t\t{\n\t\t\tforceLog: true,\n\t\t}\n\t);\n\n\tsetMode((elm) => {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t\treturn 'default';\n\t});\n\n\timport('./devtools')\n\t\t.then((devTools) => {\n\t\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\t\tdevTools.initialize();\n\t\t\t}\n\t\t})\n\t\t.catch((error) => {\n\t\t\tLog.error(error);\n\t\t});\n};\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/library/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{d as devHint}from"./a11y.tipps-7a139717.js";import{b as getExperimalMode}from"./log-829fbbc7.js";import{f as setEventTargetAndStopPropagation,K as KoliBriDevHelper}from"./prop.validators-27682076.js";const searchFormElement=e=>{for(getExperimalMode()&&(devHint("↓ Search form element start."),console.log(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&"KOL-FORM"!==e.tagName;)e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null,getExperimalMode()&&console.log(e);return getExperimalMode()&&devHint("↑ Search form element finished."),e},propergateResetEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===t.tagName)setEventTargetAndStopPropagation(e,t),t.dispatchEvent(e);else if("KOL-FORM"===t.tagName){setEventTargetAndStopPropagation(e,KoliBriDevHelper.querySelector("form",t));const o=t;"object"==typeof o._on&&null!==typeof o._on&&"function"==typeof o._on.onReset&&o._on.onReset(e)}}},propergateSubmitEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t});if("FORM"===t.tagName)setEventTargetAndStopPropagation(e,t),t.dispatchEvent(e);else if("KOL-FORM"===t.tagName){setEventTargetAndStopPropagation(e,KoliBriDevHelper.querySelector("form",t));const o=t;"object"==typeof o._on&&null!==typeof o._on&&"function"==typeof o._on.onSubmit&&o._on.onSubmit(e)}}};export{propergateResetEventToForm as a,propergateSubmitEventToForm as p};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{e as a11yHintDisabled,d as devHint}from"./a11y.tipps-7a139717.js";import{b as watchBoolean,w as watchString,s as setState,o as objectObjectHandler,p as parseJson}from"./prop.validators-27682076.js";import{v as validateTabIndex}from"./tab-index-7446a923.js";import{b as getExperimalMode}from"./log-829fbbc7.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,ariaDiscribedBy:n}},EXPERIMENTAL_MODE=getExperimalMode();class ControlledInputController{constructor(t,e,o){var n,i,a,s,h;if(this.syncFormAssociatedName=()=>{var t;EXPERIMENTAL_MODE&&(null===(t=this.formAssociated)||void 0===t||t.setAttribute("name",this.component.state._name||this.component.state._id))},this.setFormAssociatedValue=(t=null)=>{var e;EXPERIMENTAL_MODE&&(null===(e=this.formAssociated)||void 0===e||e.setAttribute("value",t))},this.component=t,this.name=e,this.host=o,EXPERIMENTAL_MODE){this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden");const t=(null===(n=this.host)||void 0===n?void 0:n.children)||[];for(let e=0;e<t.length;e++)"INPUT"===(null===(i=this.host)||void 0===i?void 0:i.children[e].tagName)&&(null===(a=this.host)||void 0===a||a.removeChild(null===(s=this.host)||void 0===s?void 0:s.children[e]));null===(h=this.host)||void 0===h||h.appendChild(this.formAssociated)}}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){watchBoolean(this.component,"_touched",t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,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){watchBoolean(this.component,"_adjustHeight",t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideLabel(t){watchBoolean(this.component,"_hideLabel",t)}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:this.syncFormAssociatedName}}),void 0===t&&devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateName(t){watchString(this.component,"_name",t,{hooks:{afterPatch:this.syncFormAssociatedName}}),void 0===t&&devHint("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateName(this.component._name),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex),this.syncFormAssociatedName()}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;this.setFormAssociatedValue(t.target.value),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,t.target.value)}onClick(t){var e;"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}}export{InputController as I,getRenderStates as g};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{i as initKoliBri,e as getDevMode,r as renderDevAdvice,g as getDocument,L as Log,b as getExperimalMode,f as getColorContrastAnalysis,K as KoliBri}from"./log-829fbbc7.js";import{l as KoliBriUtils,n as koliBriA11yColorContrast,k as koliBriQuerySelector,q as koliBriQuerySelectorAll,t as koliBriQuerySelectorColors,p as parseJson,u as stringifyJson}from"./prop.validators-27682076.js";import"./reuse-2b3b6999.js";import"./index-599f5430.js";import"./a11y.tipps-7a139717.js";function prototypeKoliBri(o,t){try{Object.defineProperty(KoliBri,o,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${o} is already bind.`)}}const metaModeLog=(o,t)=>Log.debug(`${o} ${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 o=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",getExperimalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(o),!1,!1)}),1e4)}),2500)}}};export{initialize};
@@ -1 +0,0 @@
1
- {"file":"devtools-1fae3661.js","mappings":";;;;;;;;;AAYA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;EAC/C,IAAI;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE;MACpC,GAAG,EAAE;QACJ,OAAO,EAAE,CAAC;OACV;KACD,CAAC,CAAC;GACH;EAAC,OAAO,CAAC,EAAE;IACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;GACvD;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;EACzB,WAAW,EAAE,CAAC;EACd,IAAI,UAAU,EAAE,EAAE;IACjB,eAAe,EAAE,CAAC;IAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;IAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;IACpE,gBAAgB,CAAC,OAAO,EAAE;MACzB,OAAO,YAAY,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;IAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;IACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;IAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;IAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACrD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEnE,IAAI,wBAAwB,EAAE,EAAE;MAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,WAAW,CAAC;UACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SACtH,EAAE,KAAK,CAAC,CAAC;OACV,EAAE,IAAI,CAAC,CAAC;KACT;GAmBD;AACF;;;;","names":[],"sources":["./src/global/devtools.ts"],"sourcesContent":["import { getColorContrastAnalysis, getDevMode, getDocument, getExperimalMode, initKoliBri, KoliBri, renderDevAdvice } from '../utils/dev.utils';\nimport { Log } from '../utils/log';\nimport {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '../utils/prop.validators';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(KoliBri, 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', getExperimalMode());\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,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as a11yHint}from"./a11y.tipps-7a139717.js";import{w as watchString}from"./prop.validators-27682076.js";import{d as isEmptyOrPrefixOf}from"./reuse-2b3b6999.js";const READABLE_CHARS=/[a-zA-Z0-9äöüÄÖÜß]/g,ONLY_NUMBERS=/^\d+$/,countReadableChars=e=>{var a;return"string"==typeof e&&(null===(a=e.match(READABLE_CHARS))||void 0===a?void 0:a.length)||0},hasEnoughReadableChars=(e,a=1)=>countReadableChars(e)>=a,containsOnlyNumbers=e=>ONLY_NUMBERS.test(e),syncAriaLabelBeforePatch=(e,a,r,i)=>{const t=a.has("_ariaLabel")?a.get("_ariaLabel"):r.state._ariaLabel;if("string"==typeof t){const e=a.has("_label")?a.get("_label"):r.state._label;!1===isEmptyOrPrefixOf(e,t)&&("_ariaLabel"===i?a.set("_label",t):a.set("_ariaLabel",e),a11yHint("Das abweichende Aria-Label ist nicht barrierefrei. Ein abweichendes Aria-Label muss aus Gründern der Barrierefreiheit für die Sprachsteuerung mit dem Label-Text beginnen."))}},validateAriaLabel=(e,a)=>{watchString(e,"_ariaLabel",a,{hooks:{afterPatch:e=>{"string"==typeof e&&e.length>0&&!1===hasEnoughReadableChars(e,3)&&!1===containsOnlyNumbers(e)&&a11yHint(`Ein abweichendes Aria-Label (${e}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`)},beforePatch:syncAriaLabelBeforePatch}})},validateLabel=(e,a)=>{watchString(e,"_label",a,{hooks:{afterPatch:e=>{"string"==typeof e&&!1===hasEnoughReadableChars(e,3)&&!1===containsOnlyNumbers(e)&&a11yHint(`Ein Label (${e}) ist nicht barrierefrei. Ein Label sollte aus mindestens drei lesbaren Zeichen bestehen.`)},beforePatch:syncAriaLabelBeforePatch},required:!0})};export{validateLabel as a,containsOnlyNumbers as c,hasEnoughReadableChars as h,validateAriaLabel as v};
@@ -1 +0,0 @@
1
- {"file":"label-bd914c5e.js","mappings":";;;;;;;AAKA,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAC7C,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,MAAM,kBAAkB,GAAG,CAAC,GAAW,eAAa,QAAC,OAAO,GAAG,KAAK,QAAQ,GAAG,CAAA,MAAA,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,0CAAE,MAAM,KAAI,CAAC,GAAG,CAAC,EAAC,EAAA,CAAC;MAE9G,sBAAsB,GAAG,CAAC,GAAW,EAAE,GAAG,GAAG,CAAC,KAAc,kBAAkB,CAAC,GAAG,CAAC,IAAI,IAAI;MAE3F,mBAAmB,GAAG,CAAC,GAAW,KAAc,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;AAMpF,MAAM,wBAAwB,GAA2C,CAAC,UAAU,EAAE,SAAS,EAAE,SAAoC,EAAE,GAAG;EACzI,MAAM,SAAS,GAAuB,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAY,GAAI,SAAS,CAAC,KAAK,CAAC,UAAqB,CAAC;EACrJ,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;IAClC,MAAM,KAAK,GAAuB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAY,GAAI,SAAS,CAAC,KAAK,CAAC,MAAiB,CAAC;IACrI,IAAI,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,KAAK,EAAE;MAClD,IAAI,GAAG,KAAK,YAAY,EAAE;QACzB,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;OAEnC;WAAM;QACN,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;OAEnC;MACD,QAAQ,CACP,4KAA4K,CAC5K,CAAC;KACF;GACD;AACF,CAAC,CAAC;MAEW,iBAAiB,GAAG,CAAC,SAAoC,EAAE,KAAc;EACrF,WAAW,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE;IAC3C,KAAK,EAAE;MACN,UAAU,EAAE,CAAC,KAAK;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;UACxI,QAAQ,CACP,gCAAgC,KAAK,6GAA6G,CAClJ,CAAC;SACF;OACD;MACD,WAAW,EAAE,wBAAwB;KACrC;GACD,CAAC,CAAC;AACJ,EAAE;MAEW,aAAa,GAAG,CAAC,SAAoC,EAAE,KAAc;EACjF,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;IACvC,KAAK,EAAE;MACN,UAAU,EAAE,CAAC,KAAK;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,sBAAsB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;UACpH,QAAQ,CAAC,cAAc,KAAK,2FAA2F,CAAC,CAAC;SACzH;OACD;MACD,WAAW,EAAE,wBAAwB;KACrC;IACD,QAAQ,EAAE,IAAI;GACd,CAAC,CAAC;AACJ;;;;","names":[],"sources":["./src/utils/validators/label.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { a11yHint } from '../a11y.tipps';\nimport { watchString } from '../prop.validators';\nimport { isEmptyOrPrefixOf } from '../validator';\n\nconst READABLE_CHARS = /[a-zA-Z0-9äöüÄÖÜß]/g;\nconst ONLY_NUMBERS = /^\\d+$/;\n\nconst countReadableChars = (str: string): number => (typeof str === 'string' ? str.match(READABLE_CHARS)?.length || 0 : 0);\n\nexport const hasEnoughReadableChars = (str: string, min = 1): boolean => countReadableChars(str) >= min;\n\nexport const containsOnlyNumbers = (str: string): boolean => ONLY_NUMBERS.test(str);\n\n/**\n * Ein abweichendes Aria-Label muss aus Gründern der Barrierefreiheit für\n * die Sprachsteuerung mit dem Label-Text beginnen.\n */\nconst syncAriaLabelBeforePatch: Generic.Element.NextStateHooksCallback = (_nextValue, nextState, component: Generic.Element.Component, key): void => {\n\tconst ariaLabel: string | undefined = nextState.has('_ariaLabel') ? (nextState.get('_ariaLabel') as string) : (component.state._ariaLabel as string);\n\tif (typeof ariaLabel === 'string') {\n\t\tconst label: string | undefined = nextState.has('_label') ? (nextState.get('_label') as string) : (component.state._label as string);\n\t\tif (isEmptyOrPrefixOf(label, ariaLabel) === false) {\n\t\t\tif (key === '_ariaLabel') {\n\t\t\t\tnextState.set('_label', ariaLabel);\n\t\t\t\t// smartSetTimeout(() => ((component as Generic.Element.Component & { _label: string })._label = ariaLabel), 50);\n\t\t\t} else {\n\t\t\t\tnextState.set('_ariaLabel', label);\n\t\t\t\t// smartSetTimeout(() => ((component as Generic.Element.Component & { _ariaLabel: string })._ariaLabel = label), 50);\n\t\t\t}\n\t\t\ta11yHint(\n\t\t\t\t`Das abweichende Aria-Label ist nicht barrierefrei. Ein abweichendes Aria-Label muss aus Gründern der Barrierefreiheit für die Sprachsteuerung mit dem Label-Text beginnen.`\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport const validateAriaLabel = (component: Generic.Element.Component, value?: string): void => {\n\twatchString(component, '_ariaLabel', value, {\n\t\thooks: {\n\t\t\tafterPatch: (value) => {\n\t\t\t\tif (typeof value === 'string' && value.length > 0 && hasEnoughReadableChars(value, 3) === false && containsOnlyNumbers(value) === false) {\n\t\t\t\t\ta11yHint(\n\t\t\t\t\t\t`Ein abweichendes Aria-Label (${value}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t\tbeforePatch: syncAriaLabelBeforePatch,\n\t\t},\n\t});\n};\n\nexport const validateLabel = (component: Generic.Element.Component, value?: string): void => {\n\twatchString(component, '_label', value, {\n\t\thooks: {\n\t\t\tafterPatch: (value) => {\n\t\t\t\tif (typeof value === 'string' && hasEnoughReadableChars(value, 3) === false && containsOnlyNumbers(value) === false) {\n\t\t\t\t\ta11yHint(`Ein Label (${value}) ist nicht barrierefrei. Ein Label sollte aus mindestens drei lesbaren Zeichen bestehen.`);\n\t\t\t\t}\n\t\t\t},\n\t\t\tbeforePatch: syncAriaLabelBeforePatch,\n\t\t},\n\t\trequired: true,\n\t});\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{p as processEnv}from"./reuse-2b3b6999.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){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)}}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)}}}class ToasterService{constructor(e){this.document=e,this.queue=new Set,this.isOpen=!1,this.toastElement=this.document.createElement("kol-toast"),this.toastElement.setAttribute("_level","3"),this.toastElement.setAttribute("_show","false"),this.toastElement.setAttribute("_show-duration","-1"),this.toastElement.setAttribute("_has-closer","true"),this.toastElement._on={onClose:()=>{const e=this.queue.values().next();e.value?(this.queue.delete(e.value),setTimeout((()=>{this.showToast(e.value)}),200)):this.isOpen=!1}},this.document.body.insertBefore(this.toastElement,this.document.body.firstChild)}enqueue(e){this.isOpen?this.queue.add(e):this.showToast(e)}showToast(e){this.toastElement.setAttribute("_heading",e.heading),this.toastElement.setAttribute("_show","true"),this.toastElement.setAttribute("_type",e.type),this.toastElement.innerText=e.description,this.isOpen=!0}}let WINDOW=null,DOCUMENT=null;const configKoliBri=e=>{e instanceof Window?(WINDOW=e,WINDOW.document instanceof Document?DOCUMENT=e.document:console.warn("The given Window has no valid Document.")):console.warn("The given Window is not valid.")},getWindow=()=>WINDOW||"undefined"==typeof window?null:window,getDocument=()=>DOCUMENT||void 0===getWindow().document?null:getWindow().document;let META_CONFIG=null,DEV_MODE$1=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE$1,getExperimalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS,initMeta=()=>{if(null===DEV_MODE$1&&null===EXPERIMENTAL_MODE&&null===COLOR_CONTRAST_ANALYSIS){const e=getDocument().querySelector('meta[name="kolibri"]');e&&e.hasAttribute("content")&&(META_CONFIG=e.getAttribute("content"),"string"==typeof META_CONFIG&&(DEV_MODE$1=META_CONFIG.includes("dev-mode=true"),EXPERIMENTAL_MODE=META_CONFIG.includes("experimental-mode=true"),COLOR_CONTRAST_ANALYSIS=META_CONFIG.includes("color-contrast-analysis=true")))}else console.warn("You can only initialize DEV_MODE and COLOR_CONTRAST_ANALYSIS once.")};let KoliBri=null;const getKoliBri=()=>KoliBri||{},initKoliBri=()=>{if(null===KoliBri){KoliBri=getWindow().KoliBri||{};const e=new ModalService,t=new ToasterService(getDocument());Object.defineProperty(KoliBri,"Modal",{get:function(){return e}}),Object.defineProperty(KoliBri,"Toaster",{get:function(){return t}}),initMeta()}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{void 0===getWindow().KoliBri&&Object.defineProperty(window,"KoliBri",{get:function(){return KoliBri}}),!0!==getKoliBri().adviceShown&&(Object.defineProperty(KoliBri,"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.des\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");const DEV_MODE=getDevMode();class Log{static mapToArray(e){return Array.isArray(e)?e:[e]}static handleClassifier(e){return"string"==typeof e&&e.length>0?`${Log.shield.label} | ${e}`:Log.shield.label}static getShield(e){return[Log.handleClassifier(null==e?void 0:e.classifier),`${Log.shield.style};${(null==e?void 0:e.overwriteStyle)||""}`]}static debug(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.debug(...Log.getShield(t),...Log.mapToArray(e))}static info(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.info(...Log.getShield(t),...Log.mapToArray(e))}static trace(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.trace(...Log.getShield(t),...Log.mapToArray(e))}static warn(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.warn(...Log.getShield(t),...Log.mapToArray(e))}static error(e,t){(DEV_MODE||!0===(null==t?void 0:t.forceLog))&&console.error(...Log.getShield(t),...Log.mapToArray(e))}static throw(e,t){if(DEV_MODE||!0===(null==t?void 0:t.forceLog))throw new Error(...Log.getShield(t),...Log.mapToArray(e))}}Log.shield={label:"%cKoliBri",style:"color: white; background: #666; font-weight: bold; padding: .25em .5em; border-radius: 3px; border: 1px solid #000"};export{KoliBri as K,Log as L,ToasterService as T,getWindow as a,getExperimalMode as b,configKoliBri as c,getKoliBri as d,getDevMode as e,getColorContrastAnalysis as f,getDocument as g,initKoliBri as i,nonce as n,renderDevAdvice as r};