@public-ui/components 2.0.4-rc.0 → 2.0.5

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 (663) hide show
  1. package/custom-elements.json +184 -3
  2. package/dist/cjs/{InternalUnderlinedAccessKey-7ae57f5a.js → InternalUnderlinedAccessKey-129a07ae.js} +1 -1
  3. package/dist/cjs/{InternalUnderlinedAccessKey-7ae57f5a.js.map → InternalUnderlinedAccessKey-129a07ae.js.map} +1 -1
  4. package/dist/cjs/align-floating-elements-c80675c1.js +4 -0
  5. package/dist/cjs/align-floating-elements-c80675c1.js.map +1 -0
  6. package/dist/cjs/{app-globals-89c51fdc.js → app-globals-6806b726.js} +1 -1
  7. package/dist/cjs/{app-globals-89c51fdc.js.map → app-globals-6806b726.js.map} +1 -1
  8. package/dist/cjs/{associated.controller-31ecb2c1.js → associated.controller-0fcef7e4.js} +1 -1
  9. package/dist/cjs/{associated.controller-31ecb2c1.js.map → associated.controller-0fcef7e4.js.map} +1 -1
  10. package/dist/cjs/{controller-3967f9ab.js → controller-00f1a46a.js} +1 -1
  11. package/dist/cjs/{controller-3967f9ab.js.map → controller-00f1a46a.js.map} +1 -1
  12. package/dist/cjs/{controller-a8d3a10e.js → controller-54fbb9a1.js} +1 -1
  13. package/dist/cjs/{controller-a8d3a10e.js.map → controller-54fbb9a1.js.map} +1 -1
  14. package/dist/cjs/{controller-f9770277.js → controller-58519c88.js} +1 -1
  15. package/dist/cjs/{controller-f9770277.js.map → controller-58519c88.js.map} +1 -1
  16. package/dist/cjs/{controller-458fb514.js → controller-dc2a0b4e.js} +1 -1
  17. package/dist/cjs/{controller-458fb514.js.map → controller-dc2a0b4e.js.map} +1 -1
  18. package/dist/cjs/{controller-e048eb24.js → controller-f6115fd9.js} +1 -1
  19. package/dist/cjs/{controller-e048eb24.js.map → controller-f6115fd9.js.map} +1 -1
  20. package/dist/cjs/{controller-icon-ae4c45b7.js → controller-icon-7f3f5230.js} +1 -1
  21. package/dist/cjs/{controller-icon-ae4c45b7.js.map → controller-icon-7f3f5230.js.map} +1 -1
  22. package/dist/cjs/{dev.utils-1c97740c.js → dev.utils-10dd7df2.js} +1 -1
  23. package/dist/cjs/{dev.utils-1c97740c.js.map → dev.utils-10dd7df2.js.map} +1 -1
  24. package/dist/cjs/{devtools-d6fd8409.js → devtools-316976e4.js} +1 -1
  25. package/dist/cjs/{devtools-d6fd8409.js.map → devtools-316976e4.js.map} +1 -1
  26. package/dist/cjs/events-221fcb43.js +4 -0
  27. package/dist/cjs/events-221fcb43.js.map +1 -0
  28. package/dist/cjs/i18n-ff67b74c.js +4 -0
  29. package/dist/cjs/i18n-ff67b74c.js.map +1 -0
  30. package/dist/cjs/index-860e8291.js +4 -0
  31. package/dist/cjs/index-860e8291.js.map +1 -0
  32. package/dist/cjs/index-daeff106.js +4 -0
  33. package/dist/cjs/index-daeff106.js.map +1 -0
  34. package/dist/cjs/index-fcb5b16c.js +4 -0
  35. package/dist/cjs/index-fcb5b16c.js.map +1 -0
  36. package/dist/cjs/index.cjs.js +1 -1
  37. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  39. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  41. package/dist/cjs/kol-alert-wc_3.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-alert-wc_3.cjs.entry.js.map +1 -1
  43. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  45. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  48. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  50. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  52. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  104. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  110. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -1
  112. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-span-wc_2.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-span-wc_2.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  130. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  131. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  132. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  133. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  134. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  135. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  136. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
  137. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +4 -0
  138. package/dist/cjs/kol-tree-item-wc.cjs.entry.js.map +1 -0
  139. package/dist/cjs/kol-tree-item.cjs.entry.js +4 -0
  140. package/dist/cjs/kol-tree-item.cjs.entry.js.map +1 -0
  141. package/dist/cjs/kol-tree-wc.cjs.entry.js +4 -0
  142. package/dist/cjs/kol-tree-wc.cjs.entry.js.map +1 -0
  143. package/dist/cjs/kol-tree.cjs.entry.js +4 -0
  144. package/dist/cjs/kol-tree.cjs.entry.js.map +1 -0
  145. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  146. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  147. package/dist/cjs/kolibri.cjs.js +1 -1
  148. package/dist/cjs/loader.cjs.js +1 -1
  149. package/dist/cjs/validation-215445d0.js +4 -0
  150. package/dist/cjs/{validation-db3a9e1a.js.map → validation-215445d0.js.map} +1 -1
  151. package/dist/cjs/{validation-0bd89158.js → validation-6757487a.js} +1 -1
  152. package/dist/cjs/{validation-0bd89158.js.map → validation-6757487a.js.map} +1 -1
  153. package/dist/components/align-floating-elements.js +1 -1
  154. package/dist/components/align-floating-elements.js.map +1 -1
  155. package/dist/components/component11.js +1 -1
  156. package/dist/components/component11.js.map +1 -1
  157. package/dist/components/component12.js +1 -1
  158. package/dist/components/component13.js +1 -1
  159. package/dist/components/component13.js.map +1 -1
  160. package/dist/components/component14.js +1 -1
  161. package/dist/components/component14.js.map +1 -1
  162. package/dist/components/component15.js +4 -0
  163. package/dist/components/component15.js.map +1 -0
  164. package/dist/components/component16.js +4 -0
  165. package/dist/components/component16.js.map +1 -0
  166. package/dist/components/component2.js +1 -1
  167. package/dist/components/component2.js.map +1 -1
  168. package/dist/components/component3.js +1 -1
  169. package/dist/components/component3.js.map +1 -1
  170. package/dist/components/component4.js +1 -1
  171. package/dist/components/component5.js +1 -1
  172. package/dist/components/component5.js.map +1 -1
  173. package/dist/components/component6.js +1 -1
  174. package/dist/components/component7.js +1 -1
  175. package/dist/components/component8.js +1 -1
  176. package/dist/components/component8.js.map +1 -1
  177. package/dist/components/component9.js +1 -1
  178. package/dist/components/component9.js.map +1 -1
  179. package/dist/components/controller-icon.js +1 -1
  180. package/dist/components/controller.js +1 -1
  181. package/dist/components/controller2.js +1 -1
  182. package/dist/components/controller3.js +1 -1
  183. package/dist/components/controller4.js +1 -1
  184. package/dist/components/dev.utils.js +1 -1
  185. package/dist/components/dev.utils.js.map +1 -1
  186. package/dist/components/devtools.js +1 -1
  187. package/dist/components/events.js +1 -1
  188. package/dist/components/events.js.map +1 -1
  189. package/dist/components/i18n.js +1 -1
  190. package/dist/components/i18n.js.map +1 -1
  191. package/dist/components/index2.js +1 -1
  192. package/dist/components/index2.js.map +1 -1
  193. package/dist/components/kol-abbr.js +1 -1
  194. package/dist/components/kol-abbr.js.map +1 -1
  195. package/dist/components/kol-accordion.js +1 -1
  196. package/dist/components/kol-accordion.js.map +1 -1
  197. package/dist/components/kol-avatar.js +1 -1
  198. package/dist/components/kol-avatar.js.map +1 -1
  199. package/dist/components/kol-breadcrumb.js +1 -1
  200. package/dist/components/kol-breadcrumb.js.map +1 -1
  201. package/dist/components/kol-button-group.js +1 -1
  202. package/dist/components/kol-button-group.js.map +1 -1
  203. package/dist/components/kol-button-link.js +1 -1
  204. package/dist/components/kol-button-link.js.map +1 -1
  205. package/dist/components/kol-card.js +1 -1
  206. package/dist/components/kol-card.js.map +1 -1
  207. package/dist/components/kol-details.js +1 -1
  208. package/dist/components/kol-details.js.map +1 -1
  209. package/dist/components/kol-form.js +1 -1
  210. package/dist/components/kol-form.js.map +1 -1
  211. package/dist/components/kol-heading.js +1 -1
  212. package/dist/components/kol-heading.js.map +1 -1
  213. package/dist/components/kol-image.js +1 -1
  214. package/dist/components/kol-input-checkbox.js +1 -1
  215. package/dist/components/kol-input-checkbox.js.map +1 -1
  216. package/dist/components/kol-input-color.js +1 -1
  217. package/dist/components/kol-input-color.js.map +1 -1
  218. package/dist/components/kol-input-date.js +1 -1
  219. package/dist/components/kol-input-date.js.map +1 -1
  220. package/dist/components/kol-input-email.js +1 -1
  221. package/dist/components/kol-input-email.js.map +1 -1
  222. package/dist/components/kol-input-file.js +1 -1
  223. package/dist/components/kol-input-file.js.map +1 -1
  224. package/dist/components/kol-input-number.js +1 -1
  225. package/dist/components/kol-input-number.js.map +1 -1
  226. package/dist/components/kol-input-password.js +1 -1
  227. package/dist/components/kol-input-password.js.map +1 -1
  228. package/dist/components/kol-input-radio.js +1 -1
  229. package/dist/components/kol-input-radio.js.map +1 -1
  230. package/dist/components/kol-input-range.js +1 -1
  231. package/dist/components/kol-input-range.js.map +1 -1
  232. package/dist/components/kol-input-text.js +1 -1
  233. package/dist/components/kol-input-text.js.map +1 -1
  234. package/dist/components/kol-kolibri.js +1 -1
  235. package/dist/components/kol-kolibri.js.map +1 -1
  236. package/dist/components/kol-link-button.js +1 -1
  237. package/dist/components/kol-link-button.js.map +1 -1
  238. package/dist/components/kol-link-group.js +1 -1
  239. package/dist/components/kol-link-group.js.map +1 -1
  240. package/dist/components/kol-logo.js +1 -1
  241. package/dist/components/kol-logo.js.map +1 -1
  242. package/dist/components/kol-modal.js +1 -1
  243. package/dist/components/kol-modal.js.map +1 -1
  244. package/dist/components/kol-nav.js +1 -1
  245. package/dist/components/kol-nav.js.map +1 -1
  246. package/dist/components/kol-popover-wc.js +1 -1
  247. package/dist/components/kol-popover-wc.js.map +1 -1
  248. package/dist/components/kol-progress.js +1 -1
  249. package/dist/components/kol-progress.js.map +1 -1
  250. package/dist/components/kol-quote.js +1 -1
  251. package/dist/components/kol-quote.js.map +1 -1
  252. package/dist/components/kol-skip-nav.js +1 -1
  253. package/dist/components/kol-skip-nav.js.map +1 -1
  254. package/dist/components/kol-span.js +1 -1
  255. package/dist/components/kol-span.js.map +1 -1
  256. package/dist/components/kol-spin.js +1 -1
  257. package/dist/components/kol-spin.js.map +1 -1
  258. package/dist/components/kol-split-button.js +1 -1
  259. package/dist/components/kol-split-button.js.map +1 -1
  260. package/dist/components/kol-table.js +1 -1
  261. package/dist/components/kol-table.js.map +1 -1
  262. package/dist/components/kol-tabs.js +1 -1
  263. package/dist/components/kol-tabs.js.map +1 -1
  264. package/dist/components/kol-textarea.js +1 -1
  265. package/dist/components/kol-textarea.js.map +1 -1
  266. package/dist/components/kol-toast-container.js.map +1 -1
  267. package/dist/components/kol-tree-item-wc.d.ts +11 -0
  268. package/dist/components/kol-tree-item-wc.js +4 -0
  269. package/dist/components/kol-tree-item-wc.js.map +1 -0
  270. package/dist/components/kol-tree-item.d.ts +11 -0
  271. package/dist/components/kol-tree-item.js +4 -0
  272. package/dist/components/kol-tree-item.js.map +1 -0
  273. package/dist/components/kol-tree-wc.d.ts +11 -0
  274. package/dist/components/kol-tree-wc.js +4 -0
  275. package/dist/components/kol-tree-wc.js.map +1 -0
  276. package/dist/components/kol-tree.d.ts +11 -0
  277. package/dist/components/kol-tree.js +4 -0
  278. package/dist/components/kol-tree.js.map +1 -0
  279. package/dist/components/kol-version.js +1 -1
  280. package/dist/components/kol-version.js.map +1 -1
  281. package/dist/components/shadow.js +1 -1
  282. package/dist/components/shadow.js.map +1 -1
  283. package/dist/components/shadow2.js +1 -1
  284. package/dist/components/shadow2.js.map +1 -1
  285. package/dist/components/shadow3.js +1 -1
  286. package/dist/components/shadow3.js.map +1 -1
  287. package/dist/components/validation.js +1 -1
  288. package/dist/esm/{InternalUnderlinedAccessKey-43e30086.js → InternalUnderlinedAccessKey-af163f50.js} +1 -1
  289. package/dist/esm/{InternalUnderlinedAccessKey-43e30086.js.map → InternalUnderlinedAccessKey-af163f50.js.map} +1 -1
  290. package/dist/esm/align-floating-elements-7330ec1c.js +4 -0
  291. package/dist/esm/align-floating-elements-7330ec1c.js.map +1 -0
  292. package/dist/esm/{app-globals-922be9d8.js → app-globals-4842fd96.js} +1 -1
  293. package/dist/esm/{app-globals-922be9d8.js.map → app-globals-4842fd96.js.map} +1 -1
  294. package/dist/esm/{associated.controller-ac43f4c8.js → associated.controller-4d3dd80f.js} +1 -1
  295. package/dist/esm/{associated.controller-ac43f4c8.js.map → associated.controller-4d3dd80f.js.map} +1 -1
  296. package/dist/esm/{controller-57209260.js → controller-7616f4f3.js} +1 -1
  297. package/dist/esm/{controller-57209260.js.map → controller-7616f4f3.js.map} +1 -1
  298. package/dist/esm/{controller-657d41f2.js → controller-763ec1d2.js} +1 -1
  299. package/dist/esm/{controller-657d41f2.js.map → controller-763ec1d2.js.map} +1 -1
  300. package/dist/esm/controller-837f5a71.js +4 -0
  301. package/dist/esm/{controller-433f1c31.js.map → controller-837f5a71.js.map} +1 -1
  302. package/dist/esm/{controller-04bfb6e9.js → controller-cf349d3e.js} +1 -1
  303. package/dist/esm/{controller-04bfb6e9.js.map → controller-cf349d3e.js.map} +1 -1
  304. package/dist/esm/{controller-fcfaa4fe.js → controller-f3ba85b8.js} +1 -1
  305. package/dist/esm/{controller-fcfaa4fe.js.map → controller-f3ba85b8.js.map} +1 -1
  306. package/dist/esm/{controller-icon-78968844.js → controller-icon-c3e3a4bf.js} +1 -1
  307. package/dist/esm/{controller-icon-78968844.js.map → controller-icon-c3e3a4bf.js.map} +1 -1
  308. package/dist/esm/{dev.utils-d2e25c84.js → dev.utils-44a0a914.js} +1 -1
  309. package/dist/esm/{dev.utils-d2e25c84.js.map → dev.utils-44a0a914.js.map} +1 -1
  310. package/dist/esm/{devtools-e9d54bcb.js → devtools-f30684b8.js} +1 -1
  311. package/dist/esm/{devtools-e9d54bcb.js.map → devtools-f30684b8.js.map} +1 -1
  312. package/dist/esm/events-29e84d75.js +4 -0
  313. package/dist/esm/events-29e84d75.js.map +1 -0
  314. package/dist/esm/i18n-e3260ea2.js +4 -0
  315. package/dist/esm/i18n-e3260ea2.js.map +1 -0
  316. package/dist/esm/index-4391c04d.js +4 -0
  317. package/dist/esm/index-4391c04d.js.map +1 -0
  318. package/dist/esm/index-836a963f.js +4 -0
  319. package/dist/esm/index-836a963f.js.map +1 -0
  320. package/dist/esm/index-a5e15b1e.js +4 -0
  321. package/dist/esm/index-a5e15b1e.js.map +1 -0
  322. package/dist/esm/index.js +1 -1
  323. package/dist/esm/kol-abbr.entry.js +1 -1
  324. package/dist/esm/kol-abbr.entry.js.map +1 -1
  325. package/dist/esm/kol-accordion.entry.js +1 -1
  326. package/dist/esm/kol-accordion.entry.js.map +1 -1
  327. package/dist/esm/kol-alert-wc_3.entry.js +1 -1
  328. package/dist/esm/kol-alert-wc_3.entry.js.map +1 -1
  329. package/dist/esm/kol-alert.entry.js +1 -1
  330. package/dist/esm/kol-alert.entry.js.map +1 -1
  331. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  332. package/dist/esm/kol-avatar.entry.js +1 -1
  333. package/dist/esm/kol-avatar.entry.js.map +1 -1
  334. package/dist/esm/kol-badge.entry.js +1 -1
  335. package/dist/esm/kol-badge.entry.js.map +1 -1
  336. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  337. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  338. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  339. package/dist/esm/kol-button-group.entry.js +1 -1
  340. package/dist/esm/kol-button-group.entry.js.map +1 -1
  341. package/dist/esm/kol-button-link.entry.js +1 -1
  342. package/dist/esm/kol-button-link.entry.js.map +1 -1
  343. package/dist/esm/kol-button.entry.js +1 -1
  344. package/dist/esm/kol-button.entry.js.map +1 -1
  345. package/dist/esm/kol-card.entry.js +1 -1
  346. package/dist/esm/kol-card.entry.js.map +1 -1
  347. package/dist/esm/kol-details.entry.js +1 -1
  348. package/dist/esm/kol-details.entry.js.map +1 -1
  349. package/dist/esm/kol-form.entry.js +1 -1
  350. package/dist/esm/kol-form.entry.js.map +1 -1
  351. package/dist/esm/kol-heading.entry.js +1 -1
  352. package/dist/esm/kol-heading.entry.js.map +1 -1
  353. package/dist/esm/kol-icon.entry.js +1 -1
  354. package/dist/esm/kol-image.entry.js +1 -1
  355. package/dist/esm/kol-indented-text.entry.js +1 -1
  356. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  357. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  358. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  359. package/dist/esm/kol-input-color.entry.js +1 -1
  360. package/dist/esm/kol-input-color.entry.js.map +1 -1
  361. package/dist/esm/kol-input-date.entry.js +1 -1
  362. package/dist/esm/kol-input-date.entry.js.map +1 -1
  363. package/dist/esm/kol-input-email.entry.js +1 -1
  364. package/dist/esm/kol-input-email.entry.js.map +1 -1
  365. package/dist/esm/kol-input-file.entry.js +1 -1
  366. package/dist/esm/kol-input-file.entry.js.map +1 -1
  367. package/dist/esm/kol-input-number.entry.js +1 -1
  368. package/dist/esm/kol-input-number.entry.js.map +1 -1
  369. package/dist/esm/kol-input-password.entry.js +1 -1
  370. package/dist/esm/kol-input-password.entry.js.map +1 -1
  371. package/dist/esm/kol-input-radio.entry.js +1 -1
  372. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  373. package/dist/esm/kol-input-range.entry.js +1 -1
  374. package/dist/esm/kol-input-range.entry.js.map +1 -1
  375. package/dist/esm/kol-input-text.entry.js +1 -1
  376. package/dist/esm/kol-input-text.entry.js.map +1 -1
  377. package/dist/esm/kol-input.entry.js +1 -1
  378. package/dist/esm/kol-kolibri.entry.js +1 -1
  379. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  380. package/dist/esm/kol-link-button.entry.js +1 -1
  381. package/dist/esm/kol-link-button.entry.js.map +1 -1
  382. package/dist/esm/kol-link-group.entry.js +1 -1
  383. package/dist/esm/kol-link-group.entry.js.map +1 -1
  384. package/dist/esm/kol-link-wc.entry.js +1 -1
  385. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  386. package/dist/esm/kol-link.entry.js +1 -1
  387. package/dist/esm/kol-link.entry.js.map +1 -1
  388. package/dist/esm/kol-logo.entry.js +1 -1
  389. package/dist/esm/kol-logo.entry.js.map +1 -1
  390. package/dist/esm/kol-modal.entry.js +1 -1
  391. package/dist/esm/kol-modal.entry.js.map +1 -1
  392. package/dist/esm/kol-nav.entry.js +1 -1
  393. package/dist/esm/kol-nav.entry.js.map +1 -1
  394. package/dist/esm/kol-pagination.entry.js +1 -1
  395. package/dist/esm/kol-pagination.entry.js.map +1 -1
  396. package/dist/esm/kol-popover-wc.entry.js +1 -1
  397. package/dist/esm/kol-popover-wc.entry.js.map +1 -1
  398. package/dist/esm/kol-progress.entry.js +1 -1
  399. package/dist/esm/kol-progress.entry.js.map +1 -1
  400. package/dist/esm/kol-quote.entry.js +1 -1
  401. package/dist/esm/kol-quote.entry.js.map +1 -1
  402. package/dist/esm/kol-select.entry.js +1 -1
  403. package/dist/esm/kol-select.entry.js.map +1 -1
  404. package/dist/esm/kol-skip-nav.entry.js +1 -1
  405. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  406. package/dist/esm/kol-span-wc_2.entry.js +1 -1
  407. package/dist/esm/kol-span-wc_2.entry.js.map +1 -1
  408. package/dist/esm/kol-span.entry.js +1 -1
  409. package/dist/esm/kol-span.entry.js.map +1 -1
  410. package/dist/esm/kol-spin.entry.js +1 -1
  411. package/dist/esm/kol-spin.entry.js.map +1 -1
  412. package/dist/esm/kol-split-button.entry.js +1 -1
  413. package/dist/esm/kol-split-button.entry.js.map +1 -1
  414. package/dist/esm/kol-symbol.entry.js +1 -1
  415. package/dist/esm/kol-table.entry.js +1 -1
  416. package/dist/esm/kol-table.entry.js.map +1 -1
  417. package/dist/esm/kol-tabs.entry.js +1 -1
  418. package/dist/esm/kol-tabs.entry.js.map +1 -1
  419. package/dist/esm/kol-textarea.entry.js +1 -1
  420. package/dist/esm/kol-textarea.entry.js.map +1 -1
  421. package/dist/esm/kol-toast-container.entry.js +1 -1
  422. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  423. package/dist/esm/kol-tree-item-wc.entry.js +4 -0
  424. package/dist/esm/kol-tree-item-wc.entry.js.map +1 -0
  425. package/dist/esm/kol-tree-item.entry.js +4 -0
  426. package/dist/esm/kol-tree-item.entry.js.map +1 -0
  427. package/dist/esm/kol-tree-wc.entry.js +4 -0
  428. package/dist/esm/kol-tree-wc.entry.js.map +1 -0
  429. package/dist/esm/kol-tree.entry.js +4 -0
  430. package/dist/esm/kol-tree.entry.js.map +1 -0
  431. package/dist/esm/kol-version.entry.js +1 -1
  432. package/dist/esm/kol-version.entry.js.map +1 -1
  433. package/dist/esm/kolibri.js +1 -1
  434. package/dist/esm/loader.js +1 -1
  435. package/dist/esm/validation-5ab0a1be.js +4 -0
  436. package/dist/esm/{validation-e8916c82.js.map → validation-5ab0a1be.js.map} +1 -1
  437. package/dist/esm/{validation-223a4d10.js → validation-e897e36e.js} +1 -1
  438. package/dist/esm/{validation-223a4d10.js.map → validation-e897e36e.js.map} +1 -1
  439. package/dist/kolibri/{InternalUnderlinedAccessKey-43e30086.js → InternalUnderlinedAccessKey-af163f50.js} +1 -1
  440. package/dist/kolibri/align-floating-elements-7330ec1c.js +4 -0
  441. package/dist/kolibri/align-floating-elements-7330ec1c.js.map +1 -0
  442. package/dist/kolibri/app-globals-4842fd96.js +4 -0
  443. package/dist/kolibri/{associated.controller-ac43f4c8.js → associated.controller-4d3dd80f.js} +1 -1
  444. package/dist/kolibri/{controller-57209260.js → controller-7616f4f3.js} +1 -1
  445. package/dist/kolibri/{controller-657d41f2.js → controller-763ec1d2.js} +1 -1
  446. package/dist/kolibri/controller-837f5a71.js +4 -0
  447. package/dist/kolibri/{controller-433f1c31.js.map → controller-837f5a71.js.map} +1 -1
  448. package/dist/kolibri/{controller-04bfb6e9.js → controller-cf349d3e.js} +1 -1
  449. package/dist/kolibri/{controller-fcfaa4fe.js → controller-f3ba85b8.js} +1 -1
  450. package/dist/kolibri/{controller-icon-78968844.js → controller-icon-c3e3a4bf.js} +1 -1
  451. package/dist/kolibri/{dev.utils-d2e25c84.js → dev.utils-44a0a914.js} +1 -1
  452. package/dist/kolibri/{dev.utils-d2e25c84.js.map → dev.utils-44a0a914.js.map} +1 -1
  453. package/dist/kolibri/devtools-f30684b8.js +4 -0
  454. package/dist/kolibri/events-29e84d75.js +4 -0
  455. package/dist/kolibri/events-29e84d75.js.map +1 -0
  456. package/dist/kolibri/i18n-e3260ea2.js +4 -0
  457. package/dist/kolibri/i18n-e3260ea2.js.map +1 -0
  458. package/dist/kolibri/index-4391c04d.js +4 -0
  459. package/dist/kolibri/index-4391c04d.js.map +1 -0
  460. package/dist/kolibri/index-836a963f.js +4 -0
  461. package/dist/kolibri/index-836a963f.js.map +1 -0
  462. package/dist/kolibri/index-a5e15b1e.js +5 -0
  463. package/dist/kolibri/index-a5e15b1e.js.map +1 -0
  464. package/dist/kolibri/index.esm.js +1 -1
  465. package/dist/kolibri/kol-abbr.entry.js +1 -1
  466. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  467. package/dist/kolibri/kol-accordion.entry.js +1 -1
  468. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  469. package/dist/kolibri/kol-alert-wc_3.entry.js +1 -1
  470. package/dist/kolibri/kol-alert-wc_3.entry.js.map +1 -1
  471. package/dist/kolibri/kol-alert.entry.js +1 -1
  472. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  473. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  474. package/dist/kolibri/kol-avatar.entry.js +1 -1
  475. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  476. package/dist/kolibri/kol-badge.entry.js +1 -1
  477. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  478. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  479. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  480. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  481. package/dist/kolibri/kol-button-group.entry.js +1 -1
  482. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  483. package/dist/kolibri/kol-button-link.entry.js +1 -1
  484. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  485. package/dist/kolibri/kol-button.entry.js +1 -1
  486. package/dist/kolibri/kol-button.entry.js.map +1 -1
  487. package/dist/kolibri/kol-card.entry.js +1 -1
  488. package/dist/kolibri/kol-card.entry.js.map +1 -1
  489. package/dist/kolibri/kol-details.entry.js +1 -1
  490. package/dist/kolibri/kol-details.entry.js.map +1 -1
  491. package/dist/kolibri/kol-form.entry.js +1 -1
  492. package/dist/kolibri/kol-form.entry.js.map +1 -1
  493. package/dist/kolibri/kol-heading.entry.js +1 -1
  494. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  495. package/dist/kolibri/kol-icon.entry.js +1 -1
  496. package/dist/kolibri/kol-image.entry.js +1 -1
  497. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  498. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  499. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  500. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  501. package/dist/kolibri/kol-input-color.entry.js +1 -1
  502. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  503. package/dist/kolibri/kol-input-date.entry.js +1 -1
  504. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  505. package/dist/kolibri/kol-input-email.entry.js +1 -1
  506. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  507. package/dist/kolibri/kol-input-file.entry.js +1 -1
  508. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  509. package/dist/kolibri/kol-input-number.entry.js +1 -1
  510. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  511. package/dist/kolibri/kol-input-password.entry.js +1 -1
  512. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  513. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  514. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  515. package/dist/kolibri/kol-input-range.entry.js +1 -1
  516. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  517. package/dist/kolibri/kol-input-text.entry.js +1 -1
  518. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  519. package/dist/kolibri/kol-input.entry.js +1 -1
  520. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  521. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  522. package/dist/kolibri/kol-link-button.entry.js +1 -1
  523. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  524. package/dist/kolibri/kol-link-group.entry.js +1 -1
  525. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  526. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  527. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  528. package/dist/kolibri/kol-link.entry.js +1 -1
  529. package/dist/kolibri/kol-link.entry.js.map +1 -1
  530. package/dist/kolibri/kol-logo.entry.js +1 -1
  531. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  532. package/dist/kolibri/kol-modal.entry.js +1 -1
  533. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  534. package/dist/kolibri/kol-nav.entry.js +1 -1
  535. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  536. package/dist/kolibri/kol-pagination.entry.js +1 -1
  537. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  538. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  539. package/dist/kolibri/kol-popover-wc.entry.js.map +1 -1
  540. package/dist/kolibri/kol-progress.entry.js +1 -1
  541. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  542. package/dist/kolibri/kol-quote.entry.js +1 -1
  543. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  544. package/dist/kolibri/kol-select.entry.js +1 -1
  545. package/dist/kolibri/kol-select.entry.js.map +1 -1
  546. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  547. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  548. package/dist/kolibri/kol-span-wc_2.entry.js +1 -1
  549. package/dist/kolibri/kol-span-wc_2.entry.js.map +1 -1
  550. package/dist/kolibri/kol-span.entry.js +1 -1
  551. package/dist/kolibri/kol-span.entry.js.map +1 -1
  552. package/dist/kolibri/kol-spin.entry.js +1 -1
  553. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  554. package/dist/kolibri/kol-split-button.entry.js +1 -1
  555. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  556. package/dist/kolibri/kol-symbol.entry.js +1 -1
  557. package/dist/kolibri/kol-table.entry.js +1 -1
  558. package/dist/kolibri/kol-table.entry.js.map +1 -1
  559. package/dist/kolibri/kol-tabs.entry.js +1 -1
  560. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  561. package/dist/kolibri/kol-textarea.entry.js +1 -1
  562. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  563. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  564. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  565. package/dist/kolibri/kol-tree-item-wc.entry.js +4 -0
  566. package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -0
  567. package/dist/kolibri/kol-tree-item.entry.js +4 -0
  568. package/dist/kolibri/kol-tree-item.entry.js.map +1 -0
  569. package/dist/kolibri/kol-tree-wc.entry.js +4 -0
  570. package/dist/kolibri/kol-tree-wc.entry.js.map +1 -0
  571. package/dist/kolibri/kol-tree.entry.js +4 -0
  572. package/dist/kolibri/kol-tree.entry.js.map +1 -0
  573. package/dist/kolibri/kol-version.entry.js +1 -1
  574. package/dist/kolibri/kol-version.entry.js.map +1 -1
  575. package/dist/kolibri/kolibri.esm.js +1 -1
  576. package/dist/kolibri/kolibri.esm.js.map +1 -1
  577. package/dist/kolibri/{validation-e8916c82.js → validation-5ab0a1be.js} +1 -1
  578. package/dist/kolibri/validation-e897e36e.js +4 -0
  579. package/dist/types/components/accordion/component.d.ts +3 -1
  580. package/dist/types/components/details/DetailsAnimationController.d.ts +1 -1
  581. package/dist/types/components/details/component.d.ts +6 -1
  582. package/dist/types/components/form/component.d.ts +2 -0
  583. package/dist/types/components/link/component.d.ts +3 -1
  584. package/dist/types/components/link/shadow.d.ts +1 -0
  585. package/dist/types/components/link-button/component.d.ts +1 -0
  586. package/dist/types/components/nav/component.d.ts +2 -0
  587. package/dist/types/components/tooltip/component.d.ts +6 -3
  588. package/dist/types/components/tree/component.d.ts +24 -0
  589. package/dist/types/components/tree/constants.d.ts +1 -0
  590. package/dist/types/components/tree/shadow.d.ts +6 -0
  591. package/dist/types/components/tree-item/component.d.ts +25 -0
  592. package/dist/types/components/tree-item/shadow.d.ts +14 -0
  593. package/dist/types/components.d.ts +192 -4
  594. package/dist/types/i18n.d.ts +1 -1
  595. package/dist/types/locales/de.d.ts +1 -0
  596. package/dist/types/locales/en.d.ts +1 -0
  597. package/dist/types/utils/events.d.ts +1 -0
  598. package/doc/accordion.md +7 -6
  599. package/doc/button-group.md +6 -6
  600. package/doc/details.md +6 -5
  601. package/doc/link-button.md +1 -0
  602. package/doc/link.md +3 -3
  603. package/doc/nav.md +9 -8
  604. package/doc/table.md +54 -0
  605. package/doc/tree-item.md +85 -0
  606. package/doc/tree.md +32 -0
  607. package/package.json +1 -1
  608. package/vscode-custom-data.json +98 -2
  609. package/dist/cjs/align-floating-elements-6dbaaa59.js +0 -4
  610. package/dist/cjs/align-floating-elements-6dbaaa59.js.map +0 -1
  611. package/dist/cjs/events-e348a615.js +0 -4
  612. package/dist/cjs/events-e348a615.js.map +0 -1
  613. package/dist/cjs/i18n-4dc5dcfa.js +0 -4
  614. package/dist/cjs/i18n-4dc5dcfa.js.map +0 -1
  615. package/dist/cjs/index-26a16cf8.js +0 -4
  616. package/dist/cjs/index-26a16cf8.js.map +0 -1
  617. package/dist/cjs/index-323319ca.js +0 -4
  618. package/dist/cjs/index-323319ca.js.map +0 -1
  619. package/dist/cjs/index-a28d0d64.js +0 -4
  620. package/dist/cjs/index-a28d0d64.js.map +0 -1
  621. package/dist/cjs/validation-db3a9e1a.js +0 -4
  622. package/dist/esm/align-floating-elements-e01b2462.js +0 -4
  623. package/dist/esm/align-floating-elements-e01b2462.js.map +0 -1
  624. package/dist/esm/controller-433f1c31.js +0 -4
  625. package/dist/esm/events-fa760b68.js +0 -4
  626. package/dist/esm/events-fa760b68.js.map +0 -1
  627. package/dist/esm/i18n-346a0ba2.js +0 -4
  628. package/dist/esm/i18n-346a0ba2.js.map +0 -1
  629. package/dist/esm/index-0b7aa54b.js +0 -4
  630. package/dist/esm/index-0b7aa54b.js.map +0 -1
  631. package/dist/esm/index-807d8631.js +0 -4
  632. package/dist/esm/index-807d8631.js.map +0 -1
  633. package/dist/esm/index-88a06abd.js +0 -4
  634. package/dist/esm/index-88a06abd.js.map +0 -1
  635. package/dist/esm/validation-e8916c82.js +0 -4
  636. package/dist/kolibri/align-floating-elements-e01b2462.js +0 -4
  637. package/dist/kolibri/align-floating-elements-e01b2462.js.map +0 -1
  638. package/dist/kolibri/app-globals-922be9d8.js +0 -4
  639. package/dist/kolibri/controller-433f1c31.js +0 -4
  640. package/dist/kolibri/devtools-e9d54bcb.js +0 -4
  641. package/dist/kolibri/events-fa760b68.js +0 -4
  642. package/dist/kolibri/events-fa760b68.js.map +0 -1
  643. package/dist/kolibri/i18n-346a0ba2.js +0 -4
  644. package/dist/kolibri/i18n-346a0ba2.js.map +0 -1
  645. package/dist/kolibri/index-0b7aa54b.js +0 -5
  646. package/dist/kolibri/index-0b7aa54b.js.map +0 -1
  647. package/dist/kolibri/index-807d8631.js +0 -4
  648. package/dist/kolibri/index-807d8631.js.map +0 -1
  649. package/dist/kolibri/index-88a06abd.js +0 -4
  650. package/dist/kolibri/index-88a06abd.js.map +0 -1
  651. package/dist/kolibri/validation-223a4d10.js +0 -4
  652. package/dist/types/utils/color.utils.d.ts +0 -15
  653. /package/dist/kolibri/{InternalUnderlinedAccessKey-43e30086.js.map → InternalUnderlinedAccessKey-af163f50.js.map} +0 -0
  654. /package/dist/kolibri/{app-globals-922be9d8.js.map → app-globals-4842fd96.js.map} +0 -0
  655. /package/dist/kolibri/{associated.controller-ac43f4c8.js.map → associated.controller-4d3dd80f.js.map} +0 -0
  656. /package/dist/kolibri/{controller-57209260.js.map → controller-7616f4f3.js.map} +0 -0
  657. /package/dist/kolibri/{controller-657d41f2.js.map → controller-763ec1d2.js.map} +0 -0
  658. /package/dist/kolibri/{controller-04bfb6e9.js.map → controller-cf349d3e.js.map} +0 -0
  659. /package/dist/kolibri/{controller-fcfaa4fe.js.map → controller-f3ba85b8.js.map} +0 -0
  660. /package/dist/kolibri/{controller-icon-78968844.js.map → controller-icon-c3e3a4bf.js.map} +0 -0
  661. /package/dist/kolibri/{devtools-e9d54bcb.js.map → devtools-f30684b8.js.map} +0 -0
  662. /package/dist/kolibri/{validation-e8916c82.js.map → validation-5ab0a1be.js.map} +0 -0
  663. /package/dist/kolibri/{validation-223a4d10.js.map → validation-e897e36e.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"controller-04bfb6e9.js","mappings":"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","names":[],"sources":["src/components/input/controller.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import type { TouchedPropType } from '@public-ui/schema';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { validateTouched, watchBoolean } from '@public-ui/schema';\n\nimport { AssociatedInputController } from './associated.controller';\n\nimport type { Props, Watches } from './types';\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type { AdjustHeightPropType, ButtonProps, HideErrorPropType, InputTypeOnDefault, LabelWithExpertSlotPropType } from '@public-ui/schema';\nimport {\n\ta11yHint,\n\ta11yHintDisabled,\n\tdevHint,\n\tobjectObjectHandler,\n\tparseJson,\n\tsetState,\n\tvalidateAdjustHeight,\n\tvalidateHideError,\n\tvalidateHideLabel,\n\tvalidateLabelWithExpertSlot,\n\tvalidateTabIndex,\n\twatchBoolean,\n\twatchString,\n} from '@public-ui/schema';\n\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\n\nimport type { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport type { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"version":3}
1
+ {"file":"controller-cf349d3e.js","mappings":"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","names":[],"sources":["src/components/input/controller.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["import type { TouchedPropType } from '@public-ui/schema';\n\n/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: TouchedPropType;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { validateTouched, watchBoolean } from '@public-ui/schema';\n\nimport { AssociatedInputController } from './associated.controller';\n\nimport type { Props, Watches } from './types';\nexport class ControlledInputController extends AssociatedInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import type { Generic } from 'adopted-style-sheets';\n\nimport type { AdjustHeightPropType, ButtonProps, HideErrorPropType, InputTypeOnDefault, LabelWithExpertSlotPropType } from '@public-ui/schema';\nimport {\n\ta11yHint,\n\ta11yHintDisabled,\n\tdevHint,\n\tobjectObjectHandler,\n\tparseJson,\n\tsetState,\n\tvalidateAdjustHeight,\n\tvalidateHideError,\n\tvalidateHideLabel,\n\tvalidateLabelWithExpertSlot,\n\tvalidateTabIndex,\n\twatchBoolean,\n\twatchString,\n} from '@public-ui/schema';\n\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../../utils/events';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\n\nimport type { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport type { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: AdjustHeightPropType): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideLabel) {\n\t\t\t\t\t\ta11yHint('Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('blur', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\n\t\t// Event handling\n\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t// Static form handling\n\t\tthis.setFormAssociatedValue(value);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\n\t\t/**\n\t\t * TODO: Was ist das?\n\t\t */\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('click', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\n\t\t// Event handling\n\t\tstopPropagation(event);\n\t\ttryToDispatchKoliBriEvent('focus', this.host);\n\n\t\t// Callback\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{M as validateRequired,w as watchValidator,N as orientationOptions,O as validateOptions,P as mapString2Unknown,s as setState,Q as STATE_CHANGE_EVENT}from"./index-807d8631.js";import{I as InputController}from"./controller-04bfb6e9.js";const fillKeyOptionMap=(t,o,e="")=>{o.forEach(((o,i)=>{const n=`${e}-${i}`;"object"==typeof o&&null!==o&&"string"==typeof o.label&&o.label.length>0&&(Array.isArray(o.options)?fillKeyOptionMap(t,o.options,n):t.set(n,o))}))};class InputCheckboxRadioController extends InputController{constructor(t,o,e){super(t,o,e),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,o,e){super(t,o,e),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,o)=>void 0!==o.find((o=>o.value===t)),this.beforePatchOptions=(t,o)=>{const e=o.has("_options")?o.get("_options"):this.component.state._options;if(Array.isArray(e)&&e.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,e);const t=o.has("_value")?o.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,e)){const t=e[0].value;o.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const o=setTimeout((()=>{clearTimeout(o),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f};
4
+ import{N as validateRequired,w as watchValidator,O as orientationOptions,P as validateOptions,Q as mapString2Unknown,s as setState,R as STATE_CHANGE_EVENT}from"./index-836a963f.js";import{I as InputController}from"./controller-cf349d3e.js";const fillKeyOptionMap=(t,o,e="")=>{o.forEach(((o,i)=>{const n=`${e}-${i}`;"object"==typeof o&&null!==o&&"string"==typeof o.label&&o.label.length>0&&(Array.isArray(o.options)?fillKeyOptionMap(t,o.options,n):t.set(n,o))}))};class InputCheckboxRadioController extends InputController{constructor(t,o,e){super(t,o,e),this.component=t}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,o,e){super(t,o,e),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,o)=>void 0!==o.find((o=>o.value===t)),this.beforePatchOptions=(t,o)=>{const e=o.has("_options")?o.get("_options"):this.component.state._options;if(Array.isArray(e)&&e.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,e);const t=o.has("_value")?o.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,e)){const t=e[0].value;o.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const o=setTimeout((()=>{clearTimeout(o),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f};
@@ -1 +1 @@
1
- {"file":"controller-fcfaa4fe.js","mappings":"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","names":[],"sources":["src/components/input-radio/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type {\n\tInputRadioProps,\n\tInputRadioWatches,\n\tOptgroup,\n\tOption,\n\tOptionsPropType,\n\tOrientation,\n\tPropLabelWithExpertSlot,\n\tSelectOption,\n\tStencilUnknown,\n\tStringified,\n\tW3CInputValue,\n} from '@public-ui/schema';\nimport { mapString2Unknown, orientationOptions, setState, STATE_CHANGE_EVENT, validateOptions, validateRequired, watchValidator } from '@public-ui/schema';\n\nimport { InputController } from '../@deprecated/input/controller';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements InputRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputRadioProps;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & InputRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller-f3ba85b8.js","mappings":";;;;;;MAmBa,gBAAgB,GAAG,CAAI,YAAoC,EAAE,OAA0B,EAAE,MAAM,GAAG,EAAE;IAChH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK;QAC7B,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;QACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACjH,IAAI,KAAK,CAAC,OAAO,CAAE,MAAsB,CAAC,OAAO,CAAC,EAAE;gBACnD,gBAAgB,CAAC,YAAY,EAAG,MAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aACrE;iBAAM;gBACN,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAmB,CAAC,CAAC;aAC3C;SACD;KACD,CAAC,CAAC;AACJ,EAAE;MASW,4BAA6B,SAAQ,eAAe;IAGhE,YAAmB,SAA8D,EAAE,IAAY,EAAE,IAAkB;QAClH,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,gBAAgB,CAAC,KAAe;QACtC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACxC;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KAChD;CACD;MAEY,oBAAqB,SAAQ,4BAA4B;IAKrE,YAAmB,SAAsD,EAAE,IAAY,EAAE,IAAkB;QAC1G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAHb,iBAAY,GAAG,IAAI,GAAG,EAAiC,CAAC;QAOzD,mBAAc,GAAG,CAAC,GAAW,KAAwC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/F,qBAAgB,GAAG,CAAC,KAAc,EAAE,OAAgC;YACpF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,SAAS,CAAC;SACtE,CAAC;QAEiB,uBAAkB,GAAG,CAAC,MAAe,EAAE,SAA+B;YACxF,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtG,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAwC,CAAC,CAAC;gBAC9E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9F,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAkC,CAAC,KAAK,KAAK,EAAE;oBAC/E,MAAM,QAAQ,GACb,OAAO,CAAC,CAAC,CAGT,CAAC,KAAK,CAAC;oBACR,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBAClC,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;aACD;SACD,CAAC;QAzBD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IA0BM,mBAAmB,CAAC,KAAmB;QAC7C,cAAc,CACb,IAAI,CAAC,SAAS,EACd,cAAc,EACd,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EACnF,IAAI,GAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAC1D,KAAK,EACL;YACC,YAAY,EAAE,UAAU;SACxB,CACD,CAAC;KACF;IAEM,eAAe,CAAC,KAAuB;QAC7C,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;YACtC,KAAK,EAAE;gBACN,WAAW,EAAE,IAAI,CAAC,kBAAkB;aACpC;SACD,CAAC,CAAC;KACH;IAEM,aAAa,CAAC,KAAmC;QACvD,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAI,KAAK,CAAC,CAAC,CAAoB,GAAG,KAAK,CAAC;QACpE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;YACzC,WAAW,EAAE,IAAI,CAAC,kBAAkB;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAgB,CAAC,CAAC;KAC7D;IAEM,iBAAiB,CAAC,QAAiC;QACzD,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,aAAa,GAAG;YACpB,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBACnC,MAAM,OAAO,GAAG,UAAU,CAAC;oBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,QAAQ,CAAC,kBAAkB,CAAC,CAAC;iBAC7B,CAAC,CAAC;aACH;SACD,CAAC;QAEF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;KAC1C;;;;;","names":[],"sources":["src/components/input-radio/controller.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type {\n\tInputRadioProps,\n\tInputRadioWatches,\n\tOptgroup,\n\tOption,\n\tOptionsPropType,\n\tOrientation,\n\tPropLabelWithExpertSlot,\n\tSelectOption,\n\tStencilUnknown,\n\tStringified,\n\tW3CInputValue,\n} from '@public-ui/schema';\nimport { mapString2Unknown, orientationOptions, setState, STATE_CHANGE_EVENT, validateOptions, validateRequired, watchValidator } from '@public-ui/schema';\n\nimport { InputController } from '../@deprecated/input/controller';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements InputRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputRadioProps;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & InputRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{o as objectObjectHandler,j as parseJson,w as watchValidator,z as isString,W as isIcon}from"./index-807d8631.js";import{I as InputController}from"./controller-04bfb6e9.js";const beforePatchIcons=(o,t)=>{const n=o;"object"==typeof n&&null!==n&&(isString(n.right,1)&&(n.right={icon:n.right}),isString(n.left,1)&&(n.left={icon:n.left}),t.set("_icons",n))};class InputIconController extends InputController{constructor(o,t,n){super(o,t,n),this.component=o}validateIcon(o){this.validateIcons(o)}validateIcons(o){objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(o){}watchValidator(this.component,"_icons",(o=>"object"==typeof o&&null!==o&&(isString(o.left,1)||isIcon(o.left)||isString(o.right,1)||isIcon(o.right))),new Set(["KoliBriHorizontalIcon"]),o,{hooks:{beforePatch:beforePatchIcons},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons||this.component._icon)}}export{InputIconController as I};
4
+ import{o as objectObjectHandler,k as parseJson,w as watchValidator,A as isString,X as isIcon}from"./index-836a963f.js";import{I as InputController}from"./controller-cf349d3e.js";const beforePatchIcons=(o,t)=>{const n=o;"object"==typeof n&&null!==n&&(isString(n.right,1)&&(n.right={icon:n.right}),isString(n.left,1)&&(n.left={icon:n.left}),t.set("_icons",n))};class InputIconController extends InputController{constructor(o,t,n){super(o,t,n),this.component=o}validateIcon(o){this.validateIcons(o)}validateIcons(o){objectObjectHandler(o,(()=>{try{o=parseJson(o)}catch(o){}watchValidator(this.component,"_icons",(o=>"object"==typeof o&&null!==o&&(isString(o.left,1)||isIcon(o.left)||isString(o.right,1)||isIcon(o.right))),new Set(["KoliBriHorizontalIcon"]),o,{hooks:{beforePatch:beforePatchIcons},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcons(this.component._icons||this.component._icon)}}export{InputIconController as I};
@@ -1 +1 @@
1
- {"file":"controller-icon-78968844.js","mappings":";;;;;;AASA,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,SAA+B;IACxE,MAAM,KAAK,GAAG,KAA+B,CAAC;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAChD,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;YAC7B,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAe,EAAE,CAAC;SAC9C;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAC5B,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC;SAC5C;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC/B;AACF,CAAC,CAAC;MAEW,mBAAoB,SAAQ,eAAe;IAGvD,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;QAChG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,YAAY,CAAC,KAA2C;QAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC1B;IAEM,aAAa,CAAC,KAA2C;QAC/D,mBAAmB,CAAC,KAAK,EAAE;YAC1B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAyB,KAAe,CAAC,CAAC;aAE3D;YAAC,OAAO,CAAC,EAAE;aAEX;YACD,cAAc,CACb,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,CAAC,KAAK;gBACL,QACC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAChJ;aACF,EACD,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAClC,KAAK,EACL;gBACC,KAAK,EAAE;oBACN,WAAW,EAAE,gBAAgB;iBAC7B;gBACD,QAAQ,EAAE,IAAI;aACd,CACD,CAAC;SACF,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAClE;;;;;","names":[],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { KoliBriHorizontalIcons, Stringified } from '@public-ui/schema';\nimport { isIcon, isString, objectObjectHandler, parseJson, watchValidator } from '@public-ui/schema';\n\nimport { InputController } from './controller';\n\nimport type { Props, Watches } from './types-icon';\n\nconst beforePatchIcons = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icons = value as KoliBriHorizontalIcons;\n\tif (typeof icons === 'object' && icons !== null) {\n\t\tif (isString(icons.right, 1)) {\n\t\t\ticons.right = { icon: icons.right as string };\n\t\t}\n\t\tif (isString(icons.left, 1)) {\n\t\t\ticons.left = { icon: icons.left as string };\n\t\t}\n\t\tnextState.set('_icons', icons);\n\t}\n};\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\tpublic validateIcons(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcons>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icons',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcons,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcons(this.component._icons || this.component._icon);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller-icon-c3e3a4bf.js","mappings":";;;;;;AASA,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,SAA+B;IACxE,MAAM,KAAK,GAAG,KAA+B,CAAC;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAChD,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;YAC7B,KAAK,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAe,EAAE,CAAC;SAC9C;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAC5B,KAAK,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAc,EAAE,CAAC;SAC5C;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;KAC/B;AACF,CAAC,CAAC;MAEW,mBAAoB,SAAQ,eAAe;IAGvD,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;QAChG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC3B;IAEM,YAAY,CAAC,KAA2C;QAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC1B;IAEM,aAAa,CAAC,KAA2C;QAC/D,mBAAmB,CAAC,KAAK,EAAE;YAC1B,IAAI;gBACH,KAAK,GAAG,SAAS,CAAyB,KAAe,CAAC,CAAC;aAE3D;YAAC,OAAO,CAAC,EAAE;aAEX;YACD,cAAc,CACb,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,CAAC,KAAK;gBACL,QACC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAChJ;aACF,EACD,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAClC,KAAK,EACL;gBACC,KAAK,EAAE;oBACN,WAAW,EAAE,gBAAgB;iBAC7B;gBACD,QAAQ,EAAE,IAAI;aACd,CACD,CAAC;SACF,CAAC,CAAC;KACH;IAEM,iBAAiB;QACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;KAClE;;;;;","names":[],"sources":["src/components/@deprecated/input/controller-icon.ts"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { KoliBriHorizontalIcons, Stringified } from '@public-ui/schema';\nimport { isIcon, isString, objectObjectHandler, parseJson, watchValidator } from '@public-ui/schema';\n\nimport { InputController } from './controller';\n\nimport type { Props, Watches } from './types-icon';\n\nconst beforePatchIcons = (value: unknown, nextState: Map<string, unknown>): void => {\n\tconst icons = value as KoliBriHorizontalIcons;\n\tif (typeof icons === 'object' && icons !== null) {\n\t\tif (isString(icons.right, 1)) {\n\t\t\ticons.right = { icon: icons.right as string };\n\t\t}\n\t\tif (isString(icons.left, 1)) {\n\t\t\ticons.left = { icon: icons.left as string };\n\t\t}\n\t\tnextState.set('_icons', icons);\n\t}\n};\n\nexport class InputIconController extends InputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\tpublic validateIcons(value?: Stringified<KoliBriHorizontalIcons>): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<KoliBriHorizontalIcons>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\twatchValidator(\n\t\t\t\tthis.component,\n\t\t\t\t'_icons',\n\t\t\t\t(value): boolean => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\ttypeof value === 'object' && value !== null && (isString(value.left, 1) || isIcon(value.left) || isString(value.right, 1) || isIcon(value.right))\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tnew Set(['KoliBriHorizontalIcon']),\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\thooks: {\n\t\t\t\t\t\tbeforePatch: beforePatchIcons,\n\t\t\t\t\t},\n\t\t\t\t\trequired: true,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateIcons(this.component._icons || this.component._icon);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{p as processEnv}from"./index-807d8631.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){try{if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}catch(e){}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}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=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;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"};const initMeta=()=>{if(null===DEV_MODE&&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=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.")},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{if(void 0===getKoliBri().Modal){const e=new ModalService;Object.defineProperty(getKoliBri(),"Modal",{get:function(){return e}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.4-rc.0\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{!0!==getKoliBri().adviceShown&&(Object.defineProperty(getKoliBri(),"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{Log as L,getExperimentalMode as a,getDevMode as b,configKoliBri as c,getDocument as d,getColorContrastAnalysis as e,getKoliBri as g,initKoliBri as i,nonce as n,renderDevAdvice as r};
4
+ import{p as processEnv}from"./index-836a963f.js";class ModalService{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){try{if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let o=0;o<e.children.length;o++)this.lockFocus(e.children[o],t)}}catch(e){}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,o)=>{o.style.display=t===o?"inline":"none"})),getDocument().body.style.maxHeight="100vh",getDocument().body.style.overflow="hidden",this.lockFocus(getDocument().body,t)}else getDocument().body.style.maxHeight="unset",getDocument().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)Log.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const o=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(o)}}}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=null,EXPERIMENTAL_MODE=null,COLOR_CONTRAST_ANALYSIS=null;const getDevMode=()=>!0===DEV_MODE,getExperimentalMode=()=>!0===EXPERIMENTAL_MODE,getColorContrastAnalysis=()=>!0===COLOR_CONTRAST_ANALYSIS;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"};const initMeta=()=>{if(null===DEV_MODE&&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=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.")},getKoliBri=()=>{let e=getWindow().KoliBri;return void 0===e&&(e={},Object.defineProperty(getWindow(),"KoliBri",{value:e,writable:!1})),e},initKoliBri=()=>{if(void 0===getKoliBri().Modal){const e=new ModalService;Object.defineProperty(getKoliBri(),"Modal",{get:function(){return e}}),initMeta(),Log.debug("\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | `--' | |) /_ ,--.--. `--'\n\t| . ' | .-. | | | ,--. | .-. \\ | .--' ,--.\n\t| |\\ \\ | '-' | | | | | | '--' / | | | |\n\t`--' `--´ `---´ `--' `--' `------´ `--' `--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.5\n\t\t",{forceLog:!0})}else console.warn("You can only initialize KoliBri once.")},renderDevAdvice=()=>{!0!==getKoliBri().adviceShown&&(Object.defineProperty(getKoliBri(),"adviceShown",{get:function(){return!0}}),Log.debug("\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n"))};let nonce=()=>Math.floor(16777215*Math.random()).toString(16);"test"===processEnv&&(nonce=()=>"nonce");export{Log as L,getExperimentalMode as a,getDevMode as b,configKoliBri as c,getDocument as d,getColorContrastAnalysis as e,getKoliBri as g,initKoliBri as i,nonce as n,renderDevAdvice as r};
@@ -1 +1 @@
1
- {"file":"dev.utils-d2e25c84.js","mappings":";;;;;MAaa,YAAY;IAAzB;QACS,mBAAc,GAA2C,IAAI,GAAG,EAAE,CAAC;QACnE,eAAU,GAAmC,IAAI,GAAG,EAAE,CAAC;KAiH/D;IA/GQ,WAAW,CAAC,WAAwB;QAC3C,MAAM,QAAQ,GAAkB,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrE,IACC,WAAW,YAAY,iBAAiB;YACxC,WAAW,YAAY,iBAAiB;YACxC,WAAW,YAAY,gBAAgB;YACvC,WAAW,YAAY,iBAAiB;YACxC,WAAW,YAAY,mBAAmB;YAC1C,OAAO,QAAQ,KAAK,QAAQ;YAC5B,WAAW,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,EACzC;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE;oBACpC,QAAQ;iBACR,CAAC,CAAC;aACH;iBAAM;gBACN,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;aACzC;YACD,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC3C,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAChD,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;SACtC;KACD;IAEO,aAAa,CAAC,KAA2B,EAAE,WAAwB;QAC1E,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACvC,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;SACrD;aAAM;YACN,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACxC;QACD,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC3C,WAAW,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACxC;IAEO,oBAAoB,CAAC,cAAsD;QAClF,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACtD;IAEO,SAAS,CAAC,WAA4C,EAAE,cAA4B;QAC3F,IAAI;YACH,IAAI,WAAW,KAAK,cAAc,KAAK,WAAW,YAAY,WAAW,IAAI,WAAW,YAAY,UAAU,CAAC,EAAE;gBAChH,IAAI,WAAW,YAAY,WAAW,EAAE;oBACvC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;oBAC9B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;iBACvD;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAgB,EAAE,cAAc,CAAC,CAAC;iBACvE;aACD;SACD;QAAC,OAAO,KAAK,EAAE;SAMf;KACD;IAEO,mBAAmB,CAAC,aAA2B;QACtD,IAAI,aAAa,YAAY,WAAW,EAAE;YACzC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;gBAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAyB,EAAE,aAAa,CAAC,CAAC;aAClG;YACD,MAAM,OAAO,GAAG,UAAU,CAAC;gBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,aAAa,CAAC,KAAK,EAAE,CAAC;aACtB,EAAE,GAAG,CAAC,CAAC;SACR;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;YAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAE9C,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAoB,EAAE,WAAwB;gBACtE,IAAI,QAAQ,KAAK,WAAW,EAAE;oBAC7B,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;iBACrC;qBAAM;oBACN,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;iBACnC;aACD,CAAC,CAAC;YACH,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;YAC7C,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC7C;aAAM;YACN,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;YAC7C,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;SAC5C;KACD;IAEM,SAAS,CAAC,QAAqB,EAAE,aAA2B;QAClE,IAAI,QAAQ,YAAY,WAAW,KAAK,KAAK,EAAE;YAC9C,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;SAC5E;aAAM;YACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC7B,aAAa;aACb,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B;KACD;IAEM,UAAU,CAAC,QAAqB;;QACtC,IAAI,QAAQ,YAAY,WAAW,KAAK,KAAK,EAAE;YAC9C,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;SAC5E;aAAM;YACN,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,0CAAE,aAAa,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;SACxC;KACD;;;AC3HF,IAAI,MAAM,GAAkB,IAAI,CAAC;AACjC,IAAI,QAAQ,GAAoB,IAAI,CAAC;MAExB,aAAa,GAAG,CAAC,MAAc;IAC3C,IAAI,MAAM,YAAY,MAAM,EAAE;QAC7B,MAAM,GAAG,MAAM,CAAC;QAChB,IAAI,MAAM,CAAC,QAAQ,YAAY,QAAQ,EAAE;YACxC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;SAC3B;aAAM;YACN,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;SACxD;KACD;SAAM;QACN,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;KAC/C;AACF,EAAE;AAEK,MAAM,SAAS,GAAG,OAAe,MAAM,IAAI,OAAO,MAAM,KAAK,WAAW,GAAI,IAA0B,GAAG,MAAM,CAAC,CAAC;MAC3G,WAAW,GAAG,OAAiB,QAAQ,IAAI,OAAO,SAAS,EAAE,CAAC,QAAQ,KAAK,WAAW,GAAI,IAA4B,GAAG,SAAS,EAAE,CAAC,QAAQ,EAAE;AAE5J,IAAI,WAAW,GAAkB,IAAI,CAAC;AACtC,IAAI,QAAQ,GAAmB,IAAI,CAAC;AACpC,IAAI,iBAAiB,GAAmB,IAAI,CAAC;AAC7C,IAAI,uBAAuB,GAAmB,IAAI,CAAC;MAEtC,UAAU,GAAG,MAAe,QAAQ,KAAK,KAAK;MAC9C,mBAAmB,GAAG,MAAe,iBAAiB,KAAK,KAAK;MAChE,wBAAwB,GAAG,MAAe,uBAAuB,KAAK,KAAK;MAa3E,GAAG;IAMP,OAAO,UAAU,CAAC,GAAwB;QACjD,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;KACxC;IAEO,OAAO,gBAAgB,CAAC,UAAmB;QAClD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5D,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,UAAU,EAAE,CAAC;SAC7C;aAAM;YACN,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;SACxB;KACD;IAEO,OAAO,SAAS,CAAC,OAA0B;QAClD,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,KAAI,EAAE,EAAE,CAAC,CAAC;KAC3G;IAEM,OAAO,KAAK,CAAC,GAAwB,EAAE,OAA0B;QACvE,IAAI,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,IAAI,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SACjE;KACD;IAEM,OAAO,IAAI,CAAC,GAAwB,EAAE,OAA0B;QACtE,IAAI,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,IAAI,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAChE;KACD;IAEM,OAAO,KAAK,CAAC,GAAwB,EAAE,OAA0B;QACvE,IAAI,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,IAAI,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SACjE;KACD;IAEM,OAAO,IAAI,CAAC,GAAwB,EAAE,OAA0B;QACtE,IAAI,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,IAAI,EAAE;YAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SAChE;KACD;IAEM,OAAO,KAAK,CAAC,GAAwB,EAAE,OAA0B;QACvE,IAAI,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,IAAI,EAAE;YAC3C,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SACjE;KACD;IAEM,OAAO,KAAK,CAAC,GAAwB,EAAE,OAA0B;QACvE,IAAI,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;SACnE;KACD;;AAvDc,UAAM,GAAc;IAClC,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,oHAAoH;CAC3H,CAAC;AAuDH,MAAM,QAAQ,GAAG;IAChB,IAAI,QAAQ,KAAK,IAAI,IAAI,iBAAiB,KAAK,IAAI,IAAI,uBAAuB,KAAK,IAAI,EAAE;QACxF,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QACjE,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;YACzC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;gBACpC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACjD,iBAAiB,GAAG,WAAW,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBACnE,uBAAuB,GAAG,WAAW,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;aAC/E;SACD;KACD;SAAM;QACN,OAAO,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;KACnF;AACF,CAAC,CAAC;MAEI,UAAU,GAAG;IAClB,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,EAAE;QAC1B,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE;YAC7C,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,KAAK;SACf,CAAC,CAAC;KACH;IACD,OAAO,OAAO,CAAC;AAChB,EAAE;MAEW,WAAW,GAAG;IAC1B,IAAI,UAAU,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE;YAC5C,GAAG,EAAE;gBACJ,OAAO,KAAK,CAAC;aACb;SACD,CAAC,CAAC;QACH,QAAQ,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CACR;;;;;;;GAOA,EACA;YACC,QAAQ,EAAE,IAAI;SACd,CACD,CAAC;KACF;SAAM;QACN,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;KACtD;AACF,EAAE;MAGW,eAAe,GAAG;IAC9B,IAAI,UAAU,EAAE,CAAC,WAAW,KAAK,IAAI,EAAE;QACtC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE;YAClD,GAAG,EAAE;gBACJ,OAAO,IAAI,CAAC;aACZ;SACD,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CACR;;;;;CAKF,CACE,CAAC;KACF;AACF,EAAE;IAEE,KAAK,GAAG,MAAc,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE;AAE5E,IAAI,UAAU,KAAK,MAAM,EAAE;IAC1B,KAAK,GAAG,MAAc,OAAO,CAAC;AAC/B;;;;","names":[],"sources":["src/components/modal/service.ts","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\ttry {\n\t\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { processEnv } from '@public-ui/schema';\n\nimport { ModalService } from '../components/modal/service';\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 getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\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\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\nconst getKoliBri = (): Record<string, unknown> => {\n\tlet kolibri = getWindow().KoliBri;\n\tif (kolibri === undefined) {\n\t\tkolibri = {};\n\t\tObject.defineProperty(getWindow(), 'KoliBri', {\n\t\t\tvalue: kolibri,\n\t\t\twritable: false,\n\t\t});\n\t}\n\treturn kolibri;\n};\n\nexport const initKoliBri = (): void => {\n\tif (getKoliBri().Modal === undefined) {\n\t\tconst Modal = new ModalService();\n\t\tObject.defineProperty(getKoliBri(), 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.4-rc.0\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { getKoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(getKoliBri(), 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"version":3}
1
+ {"file":"dev.utils-44a0a914.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/utils/dev.utils.ts"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\ttry {\n\t\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t\t}\n\t\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (error) {\n\t\t\t/**\n\t\t\t * Try is needed for SSR.\n\t\t\t * - no HTMLElement is available\n\t\t\t * - no ShadowRoot is available\n\t\t\t */\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","import { processEnv } from '@public-ui/schema';\n\nimport { ModalService } from '../components/modal/service';\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 getExperimentalMode = (): boolean => EXPERIMENTAL_MODE === true;\nexport const getColorContrastAnalysis = (): boolean => COLOR_CONTRAST_ANALYSIS === true;\n\ntype LogShield = {\n\tlabel: string;\n\tstyle: string;\n};\n\ntype LogShieldOptions = {\n\tclassifier?: string;\n\tforceLog?: boolean;\n\toverwriteStyle?: string;\n};\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\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\nconst getKoliBri = (): Record<string, unknown> => {\n\tlet kolibri = getWindow().KoliBri;\n\tif (kolibri === undefined) {\n\t\tkolibri = {};\n\t\tObject.defineProperty(getWindow(), 'KoliBri', {\n\t\t\tvalue: kolibri,\n\t\t\twritable: false,\n\t\t});\n\t}\n\treturn kolibri;\n};\n\nexport const initKoliBri = (): void => {\n\tif (getKoliBri().Modal === undefined) {\n\t\tconst Modal = new ModalService();\n\t\tObject.defineProperty(getKoliBri(), 'Modal', {\n\t\t\tget: function (): ModalService {\n\t\t\t\treturn Modal;\n\t\t\t},\n\t\t});\n\t\tinitMeta();\n\t\tLog.debug(\n\t\t\t`\n\t,--. ,--. ,--. ,--. ,-----. ,--.\n\t| .' / ,---. | | \\`--' | |) /_ ,--.--. \\`--'\n\t| . ' | .-. | | | ,--. | .-. \\\\ | .--' ,--.\n\t| |\\\\ \\\\ | '-' | | | | | | '--' / | | | |\n\t\\`--' \\`--´ \\`---´ \\`--' \\`--' \\`------´ \\`--' \\`--'\n\t🚹 The accessible HTML-Standard | 👉 https://public-ui.github.io | 2.0.5\n\t\t`,\n\t\t\t{\n\t\t\t\tforceLog: true,\n\t\t\t}\n\t\t);\n\t} else {\n\t\tconsole.warn(`You can only initialize KoliBri once.`);\n\t}\n};\nexport { getKoliBri };\n\nexport const renderDevAdvice = (): void => {\n\tif (getKoliBri().adviceShown !== true) {\n\t\tObject.defineProperty(getKoliBri(), 'adviceShown', {\n\t\t\tget: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\t\t});\n\t\tLog.debug(\n\t\t\t`\nYou are using the KoliBri component library. If you have any suggestions for improvement or find a problem, please contact us:\n\nTicket: https://github.com/public-ui/kolibri/issues/new/choose (for privacy reasons, please use email)\nEmail: kolibri@itzbund.de\n`\n\t\t);\n\t}\n};\n\nlet nonce = (): string => Math.floor(Math.random() * 16777215).toString(16);\n\nif (processEnv === 'test') {\n\tnonce = (): string => 'nonce';\n}\n\nexport { nonce };\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{aI as KoliBriUtils,aJ as koliBriA11yColorContrast,aj as koliBriQuerySelector,aK as koliBriQuerySelectorAll,aL as koliBriQuerySelectorColors,j as parseJson,aM as stringifyJson}from"./index-807d8631.js";import{i as initKoliBri,b as getDevMode,r as renderDevAdvice,d as getDocument,L as Log,a as getExperimentalMode,e as getColorContrastAnalysis,g as getKoliBri}from"./dev.utils-d2e25c84.js";function prototypeKoliBri(e,t){try{Object.defineProperty(getKoliBri(),e,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${e} is already bind.`)}}const metaModeLog=(e,t)=>Log.debug(`${e} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const e=getDocument().body,t=getDocument().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(t),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(e),!1,!1)}),1e4)}),2500)}}};export{initialize};
4
+ import{aK as KoliBriUtils,aL as koliBriA11yColorContrast,al as koliBriQuerySelector,aM as koliBriQuerySelectorAll,aN as koliBriQuerySelectorColors,k as parseJson,aO as stringifyJson}from"./index-836a963f.js";import{i as initKoliBri,b as getDevMode,r as renderDevAdvice,d as getDocument,L as Log,a as getExperimentalMode,e as getColorContrastAnalysis,g as getKoliBri}from"./dev.utils-44a0a914.js";function prototypeKoliBri(e,t){try{Object.defineProperty(getKoliBri(),e,{get:function(){return t}})}catch(t){Log.debug(`KoliBri property ${e} is already bind.`)}}const metaModeLog=(e,t)=>Log.debug(`${e} ${t?"":"not "}activated`),initialize=()=>{if(initKoliBri(),getDevMode()){renderDevAdvice(),prototypeKoliBri("a11yColorContrast",koliBriA11yColorContrast),prototypeKoliBri("querySelector",koliBriQuerySelector),prototypeKoliBri("querySelectorAll",koliBriQuerySelectorAll),prototypeKoliBri("querySelectorColors",koliBriQuerySelectorColors),prototypeKoliBri("utils",(function(){return KoliBriUtils})),prototypeKoliBri("parseJson",parseJson),prototypeKoliBri("stringifyJson",stringifyJson);const e=getDocument().body,t=getDocument().createElement("svg");if(t.setAttribute("aria-label","KoliBri-DevTools"),t.setAttribute("xmlns","http://www.w3.org/2000/svg"),t.setAttribute("role","toolbar"),t.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),t.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',getDocument().body.appendChild(t),metaModeLog("Development mode",getDevMode()),metaModeLog("Experimental mode",getExperimentalMode()),metaModeLog("Color contrast analysis",getColorContrastAnalysis()),getColorContrastAnalysis()){const t=setTimeout((()=>{clearTimeout(t),setInterval((()=>{KoliBriUtils.queryHtmlElementColors(getDocument().createElement("div"),koliBriA11yColorContrast(e),!1,!1)}),1e4)}),2500)}}};export{initialize};
@@ -1 +1 @@
1
- {"file":"devtools-e9d54bcb.js","mappings":";;;;;;AAYA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;IAC/C,IAAI;QACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;YACzC,GAAG,EAAE;gBACJ,OAAO,EAAE,CAAC;aACV;SACD,CAAC,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;KACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;IACd,IAAI,UAAU,EAAE,EAAE;QACjB,eAAe,EAAE,CAAC;QAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;QAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACpE,gBAAgB,CAAC,OAAO,EAAE;YACzB,OAAO,YAAY,CAAC;SACpB,CAAC,CAAC;QACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;QAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;QAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAEnE,IAAI,wBAAwB,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;gBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,WAAW,CAAC;oBACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACtH,EAAE,KAAK,CAAC,CAAC;aACV,EAAE,IAAI,CAAC,CAAC;SACT;KAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '@public-ui/schema';\n\nimport { getColorContrastAnalysis, getDevMode, getDocument, getExperimentalMode, getKoliBri, initKoliBri, Log, renderDevAdvice } from '../utils/dev.utils';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(getKoliBri(), name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}
1
+ {"file":"devtools-f30684b8.js","mappings":";;;;;;AAYA,SAAS,gBAAgB,CAAI,IAAY,EAAE,EAAK;IAC/C,IAAI;QACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE;YACzC,GAAG,EAAE;gBACJ,OAAO,EAAE,CAAC;aACV;SACD,CAAC,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACX,GAAG,CAAC,KAAK,CAAC,oBAAoB,IAAI,mBAAmB,CAAC,CAAC;KACvD;AACF,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAe,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC;MAEhG,UAAU,GAAG;IACzB,WAAW,EAAE,CAAC;IACd,IAAI,UAAU,EAAE,EAAE;QACjB,eAAe,EAAE,CAAC;QAElB,gBAAgB,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;QAChE,gBAAgB,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QACxD,gBAAgB,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;QAC9D,gBAAgB,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACpE,gBAAgB,CAAC,OAAO,EAAE;YACzB,OAAO,YAAY,CAAC;SACpB,CAAC,CAAC;QACH,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzC,gBAAgB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACnD,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;QACxD,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,8EAA8E,CAAC,CAAC;QAC1G,GAAG,CAAC,SAAS,GAAG;;;;;;;;;;;;OAYX,CAAC;QAEN,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEpC,WAAW,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9C,WAAW,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACxD,WAAW,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAEnE,IAAI,wBAAwB,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,UAAU,CAAC;gBAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,WAAW,CAAC;oBACX,YAAY,CAAC,sBAAsB,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;iBACtH,EAAE,KAAK,CAAC,CAAC;aACV,EAAE,IAAI,CAAC,CAAC;SACT;KAmBD;AACF;;;;","names":[],"sources":["src/global/devtools.ts"],"sourcesContent":["import {\n\tkoliBriA11yColorContrast,\n\tkoliBriQuerySelector,\n\tkoliBriQuerySelectorAll,\n\tkoliBriQuerySelectorColors,\n\tKoliBriUtils,\n\tparseJson,\n\tstringifyJson,\n} from '@public-ui/schema';\n\nimport { getColorContrastAnalysis, getDevMode, getDocument, getExperimentalMode, getKoliBri, initKoliBri, Log, renderDevAdvice } from '../utils/dev.utils';\n\nfunction prototypeKoliBri<T>(name: string, cb: T) {\n\ttry {\n\t\tObject.defineProperty(getKoliBri(), name, {\n\t\t\tget: function () {\n\t\t\t\treturn cb;\n\t\t\t},\n\t\t});\n\t} catch (e) {\n\t\tLog.debug(`KoliBri property ${name} is already bind.`);\n\t}\n}\n\nconst metaModeLog = (name: string, active: boolean) => Log.debug(`${name} ${active ? '' : 'not '}activated`);\n\nexport const initialize = (): void => {\n\tinitKoliBri();\n\tif (getDevMode()) {\n\t\trenderDevAdvice();\n\n\t\tprototypeKoliBri('a11yColorContrast', koliBriA11yColorContrast);\n\t\tprototypeKoliBri('querySelector', koliBriQuerySelector);\n\t\tprototypeKoliBri('querySelectorAll', koliBriQuerySelectorAll);\n\t\tprototypeKoliBri('querySelectorColors', koliBriQuerySelectorColors);\n\t\tprototypeKoliBri('utils', function () {\n\t\t\treturn KoliBriUtils;\n\t\t});\n\t\tprototypeKoliBri('parseJson', parseJson);\n\t\tprototypeKoliBri('stringifyJson', stringifyJson);\n\n\t\tconst body = getDocument().body;\n\n\t\tconst div = getDocument().createElement('svg');\n\t\tdiv.setAttribute('aria-label', 'KoliBri-DevTools');\n\t\tdiv.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\t\tdiv.setAttribute('role', 'toolbar');\n\t\tdiv.setAttribute('style', 'position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;');\n\t\tdiv.innerHTML = `<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"50\"\n height=\"50\"\n viewBox=\"0 0 600 600\"\n>\n <path d=\"M353 322L213 304V434L353 322Z\" fill=\"#047\" />\n <path d=\"M209 564V304L149 434L209 564Z\" fill=\"#047\" />\n <path d=\"M357 316L417 250L361 210L275 244L357 316Z\" fill=\"#047\" />\n <path d=\"M353 318L35 36L213 300L353 318Z\" fill=\"#047\" />\n <path d=\"M329 218L237 92L250 222L272 241L329 218Z\" fill=\"#047\" />\n <path d=\"M391 286L565 272L421 252L391 286Z\" fill=\"#047\" />\n</svg>`;\n\n\t\tgetDocument().body.appendChild(div);\n\n\t\tmetaModeLog('Development mode', getDevMode());\n\t\tmetaModeLog('Experimental mode', getExperimentalMode());\n\t\tmetaModeLog('Color contrast analysis', getColorContrastAnalysis());\n\n\t\tif (getColorContrastAnalysis()) {\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tsetInterval(() => {\n\t\t\t\t\tKoliBriUtils.queryHtmlElementColors(getDocument().createElement('div'), koliBriA11yColorContrast(body), false, false);\n\t\t\t\t}, 10000);\n\t\t\t}, 2500);\n\t\t}\n\n\t\t// setTimeout(() => {\n\t\t// const kolButton = koliBriQuerySelector<HTMLButtonElement>(document, '[_label=\"Aktion ausführen\"]');\n\t\t// if (kolButton) {\n\t\t// const button = koliBriQuerySelector<HTMLButtonElement>(kolButton?.shadowRoot as ShadowRoot, 'button');\n\t\t// if (button) {\n\t\t// kolButton.style.backgroundColor = '#988';\n\t\t// button.style.backgroundColor = 'inherit';\n\t\t// button.style.color = '#988';\n\t\t// const kolButtonColors = koliBriQuerySelectorColors('[_label=\"Aktion ausführen\"]');\n\t\t// console.log(\n\t\t// koliBriQuerySelectorColors('button', {\n\t\t// ...kolButtonColors,\n\t\t// })\n\t\t// );\n\t\t// }\n\t\t// }\n\t\t// }, 2500);\n\t}\n};\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ function stopPropagation(t){t.stopImmediatePropagation(),t.stopPropagation()}function createKoliBriEvent(t,o){return new CustomEvent(`kol-${t}`,{bubbles:!0,cancelable:!0,composed:!0,detail:o})}function dispatchKoliBriEvent(t,o,n){return t.dispatchEvent(createKoliBriEvent(o,n))}function tryToDispatchKoliBriEvent(t,o,n){o&&dispatchKoliBriEvent(o,t,n)}function preventDefaultAndStopPropagation(t){t.preventDefault(),stopPropagation(t)}export{preventDefaultAndStopPropagation as p,stopPropagation as s,tryToDispatchKoliBriEvent as t};
@@ -0,0 +1 @@
1
+ {"file":"events-29e84d75.js","mappings":";;;SAGgB,eAAe,CAAC,KAAY;IAC3C,KAAK,CAAC,wBAAwB,EAAE,CAAC;IACjC,KAAK,CAAC,eAAe,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAI,IAAsB,EAAE,MAAS;IAC/D,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;QAC5C,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,MAAM;KACd,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAI,MAAmB,EAAE,IAAsB,EAAE,MAAU;IACvF,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,QAAQ,CAAC;AACjB,CAAC;SAEe,yBAAyB,CAAI,IAAsB,EAAE,MAAoB,EAAE,MAAU;IACpG,MAAM,IAAI,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;SAEe,gCAAgC,CAAC,KAAY;IAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;IACvB,eAAe,CAAC,KAAK,CAAC,CAAC;AACxB;;;;","names":[],"sources":["src/utils/events.ts"],"sourcesContent":["// TODO: Should be synchronized with enums/events.ts\ntype KoliBriEventType = 'blur' | 'change' | 'click' | 'focus' | 'toggle';\n\nexport function stopPropagation(event: Event): void {\n\tevent.stopImmediatePropagation();\n\tevent.stopPropagation();\n}\n\nfunction createKoliBriEvent<T>(type: KoliBriEventType, detail: T): CustomEvent {\n\tconst event = new CustomEvent(`kol-${type}`, {\n\t\tbubbles: true,\n\t\tcancelable: true,\n\t\tcomposed: true,\n\t\tdetail: detail,\n\t});\n\treturn event;\n}\n\nfunction dispatchKoliBriEvent<T>(target: EventTarget, type: KoliBriEventType, detail?: T): boolean {\n\tconst dispatch = target.dispatchEvent(createKoliBriEvent(type, detail));\n\treturn dispatch;\n}\n\nexport function tryToDispatchKoliBriEvent<T>(type: KoliBriEventType, target?: EventTarget, detail?: T): void {\n\ttarget && dispatchKoliBriEvent(target, type, detail);\n}\n\nexport function preventDefaultAndStopPropagation(event: Event) {\n\tevent.preventDefault();\n\tstopPropagation(event);\n}\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{d as devHint}from"./index-836a963f.js";import{g as getI18nService}from"./index-4391c04d.js";const locale_de={error:"Fehler",warning:"Warnung",info:"Hinweis",success:"Erfolg",message:"Nachricht",close:"Schließen","form-description":"Formular-Felder, die mit einem Sternchen (*) gekennzeichnet sind, sind Pflichtangaben.",of:"von",characters:"Zeichen",new:"Neu","no-entries":"Es sind keine Einträge vorhanden.","change-order":"Sortierung von {{colLabel}} ändern","action-running":"Aktion wird ausgeführt...","action-done":"Aktion abgeschlossen",pagination:"Paginierung","page-first":"Direkt zur ersten Seite","page-back":"Eine Seite zurück","page-next":"Eine Seite weiter","page-last":"Direkt zur letzten Seite","entries-per-site":"Einträge pro Seite",page:"Seite","page-current":"Seite {{page}}","page-selected":"Seite {{page}} ist ausgewählt","page-per-site":"{{entries}} Einträge pro Seite","nav-maximize":"Navigation maximieren","nav-minimize":"Navigation minimieren","logo-description":"Logo {{orgShort}}. Bundesadler mit Flaggenstab und Schriftzug {{orgLong}}","open-link-in-tab":"Öffnet in neuem Tab.","kolibri-logo":"Logo von KoliBri","table-pagination-label":"Paginierung für die Tabelle {{label}}","avatar-alt":"Avatar von {{name}}","toast-close-all":"Alle schließen","error-list":"Fehlerliste","error-list-message":"Bitte korrigieren Sie folgende Fehler:",version:"Versionsnummer","table-visible-range":"Einträge {{start}} bis {{end}} von {{total}}"},locale_en={error:"Error",warning:"Warning",info:"Note",success:"Success",message:"Message",close:"Close","form-description":"Form fields marked with an asterisk (*) are mandatory.",of:"of",characters:"characters",new:"New","no-entries":"No entries available.","change-order":"Change order of {{colLabel}}","action-running":"Action is running...","action-done":"Action done",pagination:"Pagination","page-first":"Directly to the first page","page-back":"One page back","page-next":"One page further","page-last":"Directly to the last page","entries-per-site":"Entries per page",page:"Page","page-current":"Page {{page}}","page-selected":"Page {{page}} is selected","page-per-site":"{{entries}} entries per page","nav-maximize":"Maximize navigation","nav-minimize":"Minimize navigation","logo-description":"Logo {{orgShort}}. Federal eagle with flag staff and lettering {{orgLong}}","open-link-in-tab":"Opens in new tab.","kolibri-logo":"KoliBri logo","table-pagination-label":"Pagination for table {{label}}","avatar-alt":"Avatar of {{name}}","toast-close-all":"Close all","error-list":"Error list","error-list-message":"Please correct the following errors",version:"Version number","table-visible-range":"Entries {{start}} to {{end}} of {{total}}"},mapLocaleKeys=e=>Object.keys(e).reduce(((a,n)=>(a[`kol-${n}`]=e[n],a)),{}),translations=new Set([e=>e("en",mapLocaleKeys(locale_en)),e=>e("de",mapLocaleKeys(locale_de))]),translate=(e,a)=>{const n=getI18nService();if(void 0===n)return devHint("[I18n] I18nService not available! Please call the global register function."),e;let i=n.translate(e,a);return i===e&&(devHint("[I18n] Locales not initialized! Initialize default locales automatically."),translations.forEach((e=>e(((e,a)=>(n.addResourceBundle(e,a),e))))),i=n.translate(e,a)),i};export{translate as a,translations as t};
@@ -0,0 +1 @@
1
+ {"file":"i18n-e3260ea2.js","mappings":"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","names":[],"sources":["src/locales/de.ts","src/locales/en.ts","src/i18n.ts"],"sourcesContent":["export default {\n\terror: 'Fehler',\n\twarning: 'Warnung',\n\tinfo: 'Hinweis',\n\tsuccess: 'Erfolg',\n\tmessage: 'Nachricht',\n\tclose: 'Schließen',\n\t'form-description': 'Formular-Felder, die mit einem Sternchen (*) gekennzeichnet sind, sind Pflichtangaben.',\n\tof: 'von',\n\tcharacters: 'Zeichen',\n\tnew: 'Neu',\n\t'no-entries': 'Es sind keine Einträge vorhanden.',\n\t'change-order': 'Sortierung von {{colLabel}} ändern',\n\t'action-running': 'Aktion wird ausgeführt...',\n\t'action-done': 'Aktion abgeschlossen',\n\tpagination: 'Paginierung',\n\t'page-first': 'Direkt zur ersten Seite',\n\t'page-back': 'Eine Seite zurück',\n\t'page-next': 'Eine Seite weiter',\n\t'page-last': 'Direkt zur letzten Seite',\n\t'entries-per-site': 'Einträge pro Seite',\n\tpage: 'Seite',\n\t'page-current': 'Seite {{page}}',\n\t'page-selected': 'Seite {{page}} ist ausgewählt',\n\t'page-per-site': '{{entries}} Einträge pro Seite',\n\t'nav-maximize': 'Navigation maximieren',\n\t'nav-minimize': 'Navigation minimieren',\n\t'logo-description': 'Logo {{orgShort}}. Bundesadler mit Flaggenstab und Schriftzug {{orgLong}}',\n\t'open-link-in-tab': 'Öffnet in neuem Tab.',\n\t'kolibri-logo': 'Logo von KoliBri',\n\t'table-pagination-label': 'Paginierung für die Tabelle {{label}}',\n\t'avatar-alt': 'Avatar von {{name}}',\n\t'toast-close-all': 'Alle schließen',\n\t'error-list': 'Fehlerliste',\n\t'error-list-message': 'Bitte korrigieren Sie folgende Fehler:',\n\tversion: 'Versionsnummer',\n\t'table-visible-range': 'Einträge {{start}} bis {{end}} von {{total}}',\n};\n","export default {\n\terror: 'Error',\n\twarning: 'Warning',\n\tinfo: 'Note',\n\tsuccess: 'Success',\n\tmessage: 'Message',\n\tclose: 'Close',\n\t'form-description': 'Form fields marked with an asterisk (*) are mandatory.',\n\tof: 'of',\n\tcharacters: 'characters',\n\tnew: 'New',\n\t'no-entries': 'No entries available.',\n\t'change-order': 'Change order of {{colLabel}}',\n\t'action-running': 'Action is running...',\n\t'action-done': 'Action done',\n\tpagination: 'Pagination',\n\t'page-first': 'Directly to the first page',\n\t'page-back': 'One page back',\n\t'page-next': 'One page further',\n\t'page-last': 'Directly to the last page',\n\t'entries-per-site': 'Entries per page',\n\tpage: 'Page',\n\t'page-current': 'Page {{page}}',\n\t'page-selected': 'Page {{page}} is selected',\n\t'page-per-site': '{{entries}} entries per page',\n\t'nav-maximize': 'Maximize navigation',\n\t'nav-minimize': 'Minimize navigation',\n\t'logo-description': 'Logo {{orgShort}}. Federal eagle with flag staff and lettering {{orgLong}}',\n\t'open-link-in-tab': 'Opens in new tab.',\n\t'kolibri-logo': 'KoliBri logo',\n\t'table-pagination-label': 'Pagination for table {{label}}',\n\t'avatar-alt': 'Avatar of {{name}}',\n\t'toast-close-all': 'Close all',\n\t'error-list': 'Error list',\n\t'error-list-message': 'Please correct the following errors',\n\tversion: 'Version number',\n\t'table-visible-range': 'Entries {{start}} to {{end}} of {{total}}',\n};\n","import type { Generic } from 'adopted-style-sheets';\n\n/**\n * Issue #2456: Don't use json files\n * - https://github.com/public-ui/kolibri/issues/2456\n * - use instead ts files\n */\nimport { devHint } from '@public-ui/schema';\n\nimport { getI18nService } from './core';\nimport locale_de from './locales/de';\nimport locale_en from './locales/en';\n\ntype ResourcePrefix = 'Kol';\ntype ComponentKeys = keyof typeof locale_de;\n\nconst mapLocaleKeys = (locale: { [K in ComponentKeys]: string }) =>\n\t(Object.keys(locale) as ComponentKeys[]).reduce((a, c) => ((a[`${'kol'}-${c}`] = locale[c]), a), {} as Generic.I18n.Map<ResourcePrefix, ComponentKeys>);\n\nexport const translations = new Set<Generic.I18n.RegisterPatch<Generic.I18n.Locale.ISO_639_1, ResourcePrefix, ComponentKeys>>([\n\t(t: (language: 'en', translationMap: Generic.I18n.Map<ResourcePrefix, ComponentKeys>) => Generic.I18n.Locale.ISO_639_1) => t('en', mapLocaleKeys(locale_en)),\n\t(t: (language: 'de', translationMap: Generic.I18n.Map<ResourcePrefix, ComponentKeys>) => Generic.I18n.Locale.ISO_639_1) => t('de', mapLocaleKeys(locale_de)),\n]);\n\ntype Options = {\n\tcount?: number;\n\tplaceholders?: { [K: string]: string };\n};\n\nexport const translate = (key: `${Lowercase<ResourcePrefix>}-${Lowercase<ComponentKeys>}`, options?: Options) => {\n\tconst i18n = getI18nService();\n\tif (i18n === undefined) {\n\t\tdevHint('[I18n] I18nService not available! Please call the global register function.');\n\t\treturn key;\n\t}\n\n\tlet text = i18n.translate(key, options);\n\tif (text === key) {\n\t\tdevHint('[I18n] Locales not initialized! Initialize default locales automatically.');\n\n\t\ttranslations.forEach((t) =>\n\t\t\tt((l, t) => {\n\t\t\t\ti18n.addResourceBundle(l, t);\n\t\t\t\treturn l;\n\t\t\t})\n\t\t);\n\n\t\ttext = i18n.translate(key, options);\n\t}\n\treturn text;\n};\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{_}from"./index-836a963f.js";import{g as getKoliBri}from"./dev.utils-44a0a914.js";const consoleLogger={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class Logger{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||consoleLogger,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,n){return n&&!this.debug?null:("string"==typeof e[0]&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Logger(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new Logger(this.logger,e)}}var baseLogger=new Logger;class EventEmitter{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n<t;n++)s[n-1]=arguments[n];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((e=>{let[t,n]=e;for(let e=0;e<n;e++)t(...s)}))}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach((t=>{let[n,i]=t;for(let t=0;t<i;t++)n.apply(n,[e,...s])}))}}}function defer(){let e,t;const s=new Promise(((s,n)=>{e=s,t=n}));return s.resolve=e,s.reject=t,s}function makeString(e){return null==e?"":""+e}function copy(e,t,s){e.forEach((e=>{t[e]&&(s[e]=t[e])}))}const lastOfPathSeparatorRegExp=/###/g;function getLastOfPath(e,t,s){function n(e){return e&&e.indexOf("###")>-1?e.replace(lastOfPathSeparatorRegExp,"."):e}function i(){return!e||"string"==typeof e}const o="string"!=typeof t?t:t.split(".");let r=0;for(;r<o.length-1;){if(i())return{};const t=n(o[r]);!e[t]&&s&&(e[t]=new s),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++r}return i()?{}:{obj:e,k:n(o[r])}}function setPath(e,t,s){const{obj:n,k:i}=getLastOfPath(e,t,Object);if(void 0!==n||1===t.length)return void(n[i]=s);let o=t[t.length-1],r=t.slice(0,t.length-1),a=getLastOfPath(e,r,Object);for(;void 0===a.obj&&r.length;)o=`${r[r.length-1]}.${o}`,r=r.slice(0,r.length-1),a=getLastOfPath(e,r,Object),a&&a.obj&&void 0!==a.obj[`${a.k}.${o}`]&&(a.obj=void 0);a.obj[`${a.k}.${o}`]=s}function pushPath(e,t,s,n){const{obj:i,k:o}=getLastOfPath(e,t,Object);i[o]=i[o]||[],n&&(i[o]=i[o].concat(s)),n||i[o].push(s)}function getPath(e,t){const{obj:s,k:n}=getLastOfPath(e,t);if(s)return s[n]}function getPathWithDefaults(e,t,s){const n=getPath(e,s);return void 0!==n?n:getPath(t,s)}function deepExtend(e,t,s){for(const n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?"string"==typeof e[n]||e[n]instanceof String||"string"==typeof t[n]||t[n]instanceof String?s&&(e[n]=t[n]):deepExtend(e[n],t[n],s):e[n]=t[n]);return e}function regexEscape(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var _entityMap={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function escape(e){return"string"==typeof e?e.replace(/[&<>"'\/]/g,(e=>_entityMap[e])):e}class RegExpCache{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}const chars=[" ",",","?","!",";"],looksLikeObjectPathRegExpCache=new RegExpCache(20);function looksLikeObjectPath(e,t,s){t=t||"",s=s||"";const n=chars.filter((e=>t.indexOf(e)<0&&s.indexOf(e)<0));if(0===n.length)return!0;const i=looksLikeObjectPathRegExpCache.getRegExp(`(${n.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!i.test(e);if(!o){const t=e.indexOf(s);t>0&&!i.test(e.substring(0,t))&&(o=!0)}return o}function deepFind(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const n=t.split(s);let i=e;for(let e=0;e<n.length;){if(!i||"object"!=typeof i)return;let t,o="";for(let r=e;r<n.length;++r)if(r!==e&&(o+=s),o+=n[r],t=i[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&r<n.length-1)continue;e+=r-e+1;break}i=t}return i}function getCleanedCode(e){return e&&e.indexOf("_")>0?e.replace("_","-"):e}class ResourceStore extends EventEmitter{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,o=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let r;e.indexOf(".")>-1?r=e.split("."):(r=[e,t],s&&(Array.isArray(s)?r.push(...s):"string"==typeof s&&i?r.push(...s.split(i)):r.push(s)));const a=getPath(this.data,r);return!a&&!t&&!s&&e.indexOf(".")>-1&&(e=r[0],t=r[1],s=r.slice(2).join(".")),a||!o||"string"!=typeof s?a:deepFind(this.data&&this.data[e]&&this.data[e][t],s,i)}addResource(e,t,s,n){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator;let r=[e,t];s&&(r=r.concat(o?s.split(o):s)),e.indexOf(".")>-1&&(r=e.split("."),n=t,t=r[1]),this.addNamespaces(t),setPath(this.data,r,n),i.silent||this.emit("added",e,t,s,n)}addResources(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const n in s)"string"!=typeof s[n]&&"[object Array]"!==Object.prototype.toString.apply(s[n])||this.addResource(e,t,n,s[n],{silent:!0});n.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},r=[e,t];e.indexOf(".")>-1&&(r=e.split("."),n=s,s=t,t=r[1]),this.addNamespaces(t);let a=getPath(this.data,r)||{};n?deepExtend(a,s,i):a={...a,...s},setPath(this.data,r,a),o.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),"v1"===this.options.compatibilityAPI?{...this.getResource(e,t)}:this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var postProcessor={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,n,i){return e.forEach((e=>{this.processors[e]&&(t=this.processors[e].process(t,s,n,i))})),t}};const checkedLoadedFor={};class Translator extends EventEmitter{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),copy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=baseLogger.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const s=this.resolve(e,t);return s&&void 0!==s.res}extractFromKey(e,t){let s=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===s&&(s=":");const n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const o=s&&e.indexOf(s)>-1,r=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||looksLikeObjectPath(e,s,n));if(o&&!r){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i};const o=e.split(s);(s!==n||s===n&&this.options.ns.indexOf(o[0])>-1)&&(i=o.shift()),e=o.join(n)}return"string"==typeof i&&(i=[i]),{key:e,namespaces:i}}translate(e,t,s){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const n=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:o,namespaces:r}=this.extractFromKey(e[e.length-1],t),a=r[r.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(l&&"cimode"===l.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return n?{res:`${a}${e}${o}`,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(t)}:`${a}${e}${o}`}return n?{res:o,usedKey:o,exactUsedKey:o,usedLng:l,usedNS:a,usedParams:this.getUsedParamsDetails(t)}:o}const u=this.resolve(e,t);let h=u&&u.res;const p=u&&u.usedKey||o,g=u&&u.exactUsedKey||o,d=Object.prototype.toString.apply(h),f=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject;if(m&&h&&("string"!=typeof h&&"boolean"!=typeof h&&"number"!=typeof h)&&["[object Number]","[object Function]","[object RegExp]"].indexOf(d)<0&&("string"!=typeof f||"[object Array]"!==d)){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,h,{...t,ns:r}):`key '${o} (${this.language})' returned an object instead of string.`;return n?(u.res=e,u.usedParams=this.getUsedParamsDetails(t),u):e}if(i){const e="[object Array]"===d,s=e?[]:{},n=e?g:p;for(const e in h)if(Object.prototype.hasOwnProperty.call(h,e)){const o=`${n}${i}${e}`;s[e]=this.translate(o,{...t,joinArrays:!1,ns:r}),s[e]===o&&(s[e]=h[e])}h=s}}else if(m&&"string"==typeof f&&"[object Array]"===d)h=h.join(f),h&&(h=this.extendTranslation(h,e,t,s));else{let n=!1,r=!1;const c=void 0!==t.count&&"string"!=typeof t.count,p=Translator.hasDefaultValue(t),g=c?this.pluralResolver.getSuffix(l,t.count,t):"",d=t.ordinal&&c?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",f=c&&!t.ordinal&&0===t.count&&this.pluralResolver.shouldUseIntlApi(),m=f&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${g}`]||t[`defaultValue${d}`]||t.defaultValue;!this.isValidLookup(h)&&p&&(n=!0,h=m),this.isValidLookup(h)||(r=!0,h=o);const y=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&r?void 0:h,v=p&&m!==h&&this.options.updateMissing;if(r||n||v){if(this.logger.log(v?"updateKey":"missingKey",l,a,o,v?m:h),i){const e=this.resolve(o,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const s=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&s&&s[0])for(let t=0;t<s.length;t++)e.push(s[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const n=(e,s,n)=>{const i=p&&n!==h?n:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,a,s,i,v,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(e,a,s,i,v,t),this.emit("missingKey",e,a,s,h)};this.options.saveMissing&&(this.options.saveMissingPlurals&&c?e.forEach((e=>{const s=this.pluralResolver.getSuffixes(e,t);f&&t[`defaultValue${this.options.pluralSeparator}zero`]&&s.indexOf(`${this.options.pluralSeparator}zero`)<0&&s.push(`${this.options.pluralSeparator}zero`),s.forEach((s=>{n([e],o+s,t[`defaultValue${s}`]||m)}))})):n(e,o,m))}h=this.extendTranslation(h,e,t,u,s),r&&h===o&&this.options.appendNamespaceToMissingKey&&(h=`${a}:${o}`),(r||n)&&this.options.parseMissingKeyHandler&&(h="v1"!==this.options.compatibilityAPI?this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${a}:${o}`:o,n?h:void 0):this.options.parseMissingKeyHandler(h))}return n?(u.res=h,u.usedParams=this.getUsedParamsDetails(t),u):h}extendTranslation(e,t,s,n,i){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const r="string"==typeof e&&(s&&s.interpolation&&void 0!==s.interpolation.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let a;if(r){const t=e.match(this.interpolator.nestingRegexp);a=t&&t.length}let l=s.replace&&"string"!=typeof s.replace?s.replace:s;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,s.lng||this.language,s),r){const t=e.match(this.interpolator.nestingRegexp);a<(t&&t.length)&&(s.nest=!1)}!s.lng&&"v1"!==this.options.compatibilityAPI&&n&&n.res&&(s.lng=n.usedLng),!1!==s.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];return i&&i[0]===n[0]&&!s.context?(o.logger.warn(`It seems you are nesting recursively key: ${n[0]} in key: ${t[0]}`),null):o.translate(...n,t)}),s)),s.interpolation&&this.interpolator.reset()}const r=s.postProcess||this.options.postProcess,a="string"==typeof r?[r]:r;return null!=e&&a&&a.length&&!1!==s.applyPostProcessor&&(e=postProcessor.handle(a,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t,s,n,i,o,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof e&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const a=this.extractFromKey(e,r),l=a.key;s=l;let c=a.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const u=void 0!==r.count&&"string"!=typeof r.count,h=u&&!r.ordinal&&0===r.count&&this.pluralResolver.shouldUseIntlApi(),p=void 0!==r.context&&("string"==typeof r.context||"number"==typeof r.context)&&""!==r.context,g=r.lngs?r.lngs:this.languageUtils.toResolveHierarchy(r.lng||this.language,r.fallbackLng);c.forEach((e=>{this.isValidLookup(t)||(o=e,!checkedLoadedFor[`${g[0]}-${e}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(checkedLoadedFor[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${s}" for languages "${g.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach((s=>{if(this.isValidLookup(t))return;i=s;const o=[l];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(o,l,s,e,r);else{let e;u&&(e=this.pluralResolver.getSuffix(s,r.count,r));const t=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(o.push(l+e),r.ordinal&&0===e.indexOf(n)&&o.push(l+e.replace(n,this.options.pluralSeparator)),h&&o.push(l+t)),p){const s=`${l}${this.options.contextSeparator}${r.context}`;o.push(s),u&&(o.push(s+e),r.ordinal&&0===e.indexOf(n)&&o.push(s+e.replace(n,this.options.pluralSeparator)),h&&o.push(s+t))}}let a;for(;a=o.pop();)this.isValidLookup(t)||(n=a,t=this.getResource(s,e,a,r))})))}))})),{res:t,usedKey:s,exactUsedKey:n,usedLng:i,usedNS:o}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,s,n):this.resourceStore.getResource(e,t,s,n)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&"string"!=typeof e.replace;let n=s?e.replace:e;if(s&&void 0!==e.count&&(n.count=e.count),this.options.interpolation.defaultVariables&&(n={...this.options.interpolation.defaultVariables,...n}),!s){n={...n};for(const e of t)delete n[e]}return n}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}function capitalize(e){return e.charAt(0).toUpperCase()+e.slice(1)}class LanguageUtil{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}getScriptPartFromCode(e){if(!(e=getCleanedCode(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=getCleanedCode(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if("string"==typeof e&&e.indexOf("-")>-1){const t=["hans","hant","latn","cyrl","cans","mong","arab"];let s=e.split("-");return this.options.lowerCaseLng?s=s.map((e=>e.toLowerCase())):2===s.length?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=capitalize(s[1].toLowerCase()))):3===s.length&&(s[0]=s[0].toLowerCase(),2===s[1].length&&(s[1]=s[1].toUpperCase()),"sgn"!==s[0]&&2===s[2].length&&(s[2]=s[2].toUpperCase()),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=capitalize(s[1].toLowerCase())),t.indexOf(s[2].toLowerCase())>-1&&(s[2]=capitalize(s[2].toLowerCase()))),s.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const s=this.getLanguagePartFromCode(e);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find((e=>e===s?e:e.indexOf("-")<0&&s.indexOf("-")<0?void 0:0===e.indexOf(s)?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),"string"==typeof e&&(e=[e]),"[object Array]"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes(t||this.options.fallbackLng||[],e),n=[],i=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return"string"==typeof e&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&i(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&i(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&i(this.getLanguagePartFromCode(e))):"string"==typeof e&&i(this.formatLanguageCode(e)),s.forEach((e=>{n.indexOf(e)<0&&i(this.formatLanguageCode(e))})),n}}let sets=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],_rulesPluralsTypes={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0==e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1&&e%100!=11?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0==e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0==e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)},22:function(e){return Number(1==e?0:2==e?1:(e<0||e>10)&&e%10==0?2:3)}};const nonIntlVersions=["v1","v2","v3"],intlVersions=["v4"],suffixesOrder={zero:0,one:1,two:2,few:3,many:4,other:5};function createRules(){const e={};return sets.forEach((t=>{t.lngs.forEach((s=>{e[s]={numbers:t.nr,plurals:_rulesPluralsTypes[t.fc]}}))})),e}class PluralResolver{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=baseLogger.create("pluralResolver"),this.options.compatibilityJSON&&!intlVersions.includes(this.options.compatibilityJSON)||"undefined"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=createRules()}addRule(e,t){this.rules[e]=t}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(getCleanedCode("dev"===e?"en":e),{type:t.ordinal?"ordinal":"cardinal"})}catch(e){return}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(e,t);return this.shouldUseIntlApi()?s&&s.resolvedOptions().pluralCategories.length>1:s&&s.numbers.length>1}getPluralFormsOfKey(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,s).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=this.getRule(e,t);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort(((e,t)=>suffixesOrder[e]-suffixesOrder[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):s.numbers.map((s=>this.getSuffix(e,s,t))):[]}getSuffix(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const n=this.getRule(e,s);return n?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${n.select(t)}`:this.getSuffixRetroCompatible(n,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const s=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let n=e.numbers[s];this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]&&(2===n?n="plural":1===n&&(n=""));const i=()=>this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString();return"v1"===this.options.compatibilityJSON?1===n?"":"number"==typeof n?`_plural_${n.toString()}`:i():"v2"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===e.numbers.length&&1===e.numbers[0]?i():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!nonIntlVersions.includes(this.options.compatibilityJSON)}}function deepFindWithDefaults(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",i=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=getPathWithDefaults(e,t,s);return!o&&i&&"string"==typeof s&&(o=deepFind(e,s,n),void 0===o&&(o=deepFind(t,s,n))),o}class Interpolator{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=baseLogger.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const t=e.interpolation;this.escape=void 0!==t.escape?t.escape:escape,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?regexEscape(t.prefix):t.prefixEscaped||"{{",this.suffix=t.suffix?regexEscape(t.suffix):t.suffixEscaped||"}}",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||",",this.unescapePrefix=t.unescapeSuffix?"":t.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":t.unescapeSuffix||"",this.nestingPrefix=t.nestingPrefix?regexEscape(t.nestingPrefix):t.nestingPrefixEscaped||regexEscape("$t("),this.nestingSuffix=t.nestingSuffix?regexEscape(t.nestingSuffix):t.nestingSuffixEscaped||regexEscape(")"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||",",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e&&e.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,s,n){let i,o,r;const a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function l(e){return e.replace(/\$/g,"$$$$")}const c=e=>{if(e.indexOf(this.formatSeparator)<0){const i=deepFindWithDefaults(t,a,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,s,{...n,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),o=i.shift().trim(),r=i.join(this.formatSeparator).trim();return this.format(deepFindWithDefaults(t,a,o,this.options.keySeparator,this.options.ignoreJSONStructure),r,s,{...n,...t,interpolationkey:o})};this.resetRegExp();const u=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler,h=n&&n.interpolation&&void 0!==n.interpolation.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>l(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?l(this.escape(e)):l(e)}].forEach((t=>{for(r=0;i=t.regex.exec(e);){const s=i[1].trim();if(o=c(s),void 0===o)if("function"==typeof u){const t=u(e,i,n);o="string"==typeof t?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,s))o="";else{if(h){o=i[0];continue}this.logger.warn(`missed to pass in variable ${s} for interpolating ${e}`),o=""}else"string"==typeof o||this.useRawValueToEscape||(o=makeString(o));const a=t.safeValue(o);if(e=e.replace(i[0],a),h?(t.regex.lastIndex+=o.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,r++,r>=this.maxReplaces)break}})),e}nest(e,t){let s,n,i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function r(e,t){const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const n=e.split(new RegExp(`${s}[ ]*{`));let o=`{${n[1]}`;e=n[0],o=this.interpolate(o,i);const r=o.match(/'/g),a=o.match(/"/g);(r&&r.length%2==0&&!a||a.length%2!=0)&&(o=o.replace(/'/g,'"'));try{i=JSON.parse(o),t&&(i={...t,...i})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${o}`}return delete i.defaultValue,e}for(;s=this.nestingRegexp.exec(e);){let a=[];i={...o},i=i.replace&&"string"!=typeof i.replace?i.replace:i,i.applyPostProcessor=!1,delete i.defaultValue;let l=!1;if(-1!==s[0].indexOf(this.formatSeparator)&&!/{.*}/.test(s[1])){const e=s[1].split(this.formatSeparator).map((e=>e.trim()));s[1]=e.shift(),a=e,l=!0}if(n=t(r.call(this,s[1].trim(),i),i),n&&s[0]===e&&"string"!=typeof n)return n;"string"!=typeof n&&(n=makeString(n)),n||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),n=""),l&&(n=a.reduce(((e,t)=>this.format(e,t,o.lng,{...o,interpolationkey:s[1].trim()})),n.trim())),e=e.replace(s[0],n),this.regexp.lastIndex=0}return e}}function parseFormatStr(e){let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const n=e.split("(");t=n[0].toLowerCase().trim();const i=n[1].substring(0,n[1].length-1);if("currency"===t&&i.indexOf(":")<0)s.currency||(s.currency=i.trim());else if("relativetime"===t&&i.indexOf(":")<0)s.range||(s.range=i.trim());else{i.split(";").forEach((e=>{if(!e)return;const[t,...n]=e.split(":"),i=n.join(":").trim().replace(/^'+|'+$/g,"");s[t.trim()]||(s[t.trim()]=i),"false"===i&&(s[t.trim()]=!1),"true"===i&&(s[t.trim()]=!0),isNaN(i)||(s[t.trim()]=parseInt(i,10))}))}}return{formatName:t,formatOptions:s}}function createCachedFormatter(e){const t={};return function(s,n,i){const o=n+JSON.stringify(i);let r=t[o];return r||(r=e(getCleanedCode(n),i),t[o]=r),r(s)}}class Formatter{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=baseLogger.create("formatter"),this.options=e,this.formats={number:createCachedFormatter(((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)})),currency:createCachedFormatter(((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)})),datetime:createCachedFormatter(((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)})),relativetime:createCachedFormatter(((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")})),list:createCachedFormatter(((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)}))},this.init(e)}init(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=createCachedFormatter(t)}format(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return t.split(this.formatSeparator).reduce(((e,t)=>{const{formatName:i,formatOptions:o}=parseFormatStr(t);if(this.formats[i]){let t=e;try{const r=n&&n.formatParams&&n.formatParams[n.interpolationkey]||{},a=r.locale||r.lng||n.locale||n.lng||s;t=this.formats[i](e,a,{...o,...n,...r})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${i}`),e}),e)}}function removePending(e,t){void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)}class Connector extends EventEmitter{constructor(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=n,this.logger=baseLogger.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=n.maxParallelReads||10,this.readingCalls=0,this.maxRetries=n.maxRetries>=0?n.maxRetries:5,this.retryTimeout=n.retryTimeout>=1?n.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(s,n.backend,n)}queueLoad(e,t,s,n){const i={},o={},r={},a={};return e.forEach((e=>{let n=!0;t.forEach((t=>{const r=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===o[r]&&(o[r]=!0):(this.state[r]=1,n=!1,void 0===o[r]&&(o[r]=!0),void 0===i[r]&&(i[r]=!0),void 0===a[t]&&(a[t]=!0)))})),n||(r[e]=!0)})),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:n}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(a)}}loaded(e,t,s){const n=e.split("|"),i=n[0],o=n[1];t&&this.emit("failedLoading",i,o,t),s&&this.store.addResourceBundle(i,o,s),this.state[e]=t?-1:2;const r={};this.queue.forEach((s=>{pushPath(s.loaded,[i],o),removePending(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:n,wait:i,callback:o});this.readingCalls++;const r=(r,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}r&&a&&n<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,s,n+1,2*i,o)}),i):o(r,a)},a=this.backend[s].bind(this.backend);if(2!==a.length)return a(e,t,r);try{const s=a(e,t);s&&"function"==typeof s.then?s.then((e=>r(null,e))).catch(r):r(null,s)}catch(e){r(e)}}prepareLoading(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();"string"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),"string"==typeof t&&(t=[t]);const i=this.queueLoad(e,t,s,n);if(!i.toLoad.length)return i.pending.length||n(),null;i.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const s=e.split("|"),n=s[0],i=s[1];this.read(n,i,"read",void 0,void 0,((s,o)=>{s&&this.logger.warn(`${t}loading namespace ${i} for language ${n} failed`,s),!s&&o&&this.logger.log(`${t}loaded namespace ${i} for language ${n}`,o),this.loaded(e,s,o)}))}saveMissing(e,t,s,n,i){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t))this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");else if(null!=s&&""!==s){if(this.backend&&this.backend.create){const a={...o,isUpdate:i},l=this.backend.create.bind(this.backend);if(l.length<6)try{let i;i=5===l.length?l(e,t,s,n,a):l(e,t,s,n),i&&"function"==typeof i.then?i.then((e=>r(null,e))).catch(r):r(null,i)}catch(e){r(e)}else l(e,t,s,n,r,a)}e&&e[0]&&this.store.addResource(e[0],t,s,n)}}}function get(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){let t={};if("object"==typeof e[1]&&(t=e[1]),"string"==typeof e[1]&&(t.defaultValue=e[1]),"string"==typeof e[2]&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const s=e[3]||e[2];Object.keys(s).forEach((e=>{t[e]=s[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function transformOptions(e){return"string"==typeof e.ns&&(e.ns=[e.ns]),"string"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),"string"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function noop(){}function bindMemberFunctions(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((t=>{"function"==typeof e[t]&&(e[t]=e[t].bind(e))}))}class I18n extends EventEmitter{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=transformOptions(e),this.services={},this.logger=baseLogger,this.modules={external:[]},bindMemberFunctions(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;"function"==typeof t&&(s=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&("string"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const n=get();function i(e){return e?"function"==typeof e?new e:e:null}if(this.options={...n,...this.options,...transformOptions(t)},"v1"!==this.options.compatibilityAPI&&(this.options.interpolation={...n.interpolation,...this.options.interpolation}),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){let t;this.modules.logger?baseLogger.init(i(this.modules.logger),this.options):baseLogger.init(null,this.options),this.modules.formatter?t=this.modules.formatter:"undefined"!=typeof Intl&&(t=Formatter);const s=new LanguageUtil(this.options);this.store=new ResourceStore(this.options.resources,this.options);const o=this.services;o.logger=baseLogger,o.resourceStore=this.store,o.languageUtils=s,o.pluralResolver=new PluralResolver(s,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format||(o.formatter=i(t),o.formatter.init(o,this.options),this.options.interpolation.format=o.formatter.format.bind(o.formatter)),o.interpolator=new Interpolator(this.options),o.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},o.backendConnector=new Connector(i(this.modules.backend),o.resourceStore,o,this.options),o.backendConnector.on("*",(function(t){for(var s=arguments.length,n=new Array(s>1?s-1:0),i=1;i<s;i++)n[i-1]=arguments[i];e.emit(t,...n)})),this.modules.languageDetector&&(o.languageDetector=i(this.modules.languageDetector),o.languageDetector.init&&o.languageDetector.init(o,this.options.detection,this.options)),this.modules.i18nFormat&&(o.i18nFormat=i(this.modules.i18nFormat),o.i18nFormat.init&&o.i18nFormat.init(this)),this.translator=new Translator(this.services,this.options),this.translator.on("*",(function(t){for(var s=arguments.length,n=new Array(s>1?s-1:0),i=1;i<s;i++)n[i-1]=arguments[i];e.emit(t,...n)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,s||(s=noop),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const o=defer(),r=()=>{const e=(e,t)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),o.resolve(t),s(e,t)};if(this.languages&&"v1"!==this.options.compatibilityAPI&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initImmediate?r():setTimeout(r,0),o}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:noop;const s="string"==typeof e?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if(s&&"cimode"===s.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],n=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(s)n(s);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>n(e)))}this.options.preload&&this.options.preload.forEach((e=>n(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,s){const n=defer();return e||(e=this.languages),t||(t=this.options.ns),s||(s=noop),this.services.backendConnector.reload(e,t,(e=>{n.resolve(),s(e)})),n}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&postProcessor.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var s=this;this.isLanguageChangingTo=e;const n=defer();this.emit("languageChanging",e);const i=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},o=(e,o)=>{o?(i(o),this.translator.changeLanguage(o),this.isLanguageChangingTo=void 0,this.emit("languageChanged",o),this.logger.log("languageChanged",o)):this.isLanguageChangingTo=void 0,n.resolve((function(){return s.t(...arguments)})),t&&t(e,(function(){return s.t(...arguments)}))},r=t=>{e||t||!this.services.languageDetector||(t=[]);const s="string"==typeof t?t:this.services.languageUtils.getBestMatchFromCodes(t);s&&(this.language||i(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(s)),this.loadResources(s,(e=>{o(e,s)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(r):this.services.languageDetector.detect(r):r(e):r(this.services.languageDetector.detect()),n}getFixedT(e,t,s){var n=this;const i=function(e,t){let o;if("object"!=typeof t){for(var r=arguments.length,a=new Array(r>2?r-2:0),l=2;l<r;l++)a[l-2]=arguments[l];o=n.options.overloadTranslationOptionHandler([e,t].concat(a))}else o={...t};o.lng=o.lng||i.lng,o.lngs=o.lngs||i.lngs,o.ns=o.ns||i.ns,o.keyPrefix=o.keyPrefix||s||i.keyPrefix;const c=n.options.keySeparator||".";let u;return u=o.keyPrefix&&Array.isArray(e)?e.map((e=>`${o.keyPrefix}${c}${e}`)):o.keyPrefix?`${o.keyPrefix}${c}${e}`:e,n.t(u,o)};return"string"==typeof e?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=s,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],n=!!this.options&&this.options.fallbackLng,i=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||2===s};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!o(s,e)||n&&!o(i,e)))}loadNamespaces(e,t){const s=defer();return this.options.ns?("string"==typeof e&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=defer();"string"==typeof e&&(e=[e]);const n=this.options.preload||[],i=e.filter((e=>n.indexOf(e)<0));return i.length?(this.options.preload=n.concat(i),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services&&this.services.languageUtils||new LanguageUtil(get());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new I18n(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:noop;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const n={...this.options,...e,isClone:!0},i=new I18n(n);void 0===e.debug&&void 0===e.prefix||(i.logger=i.logger.clone(e));return["store","services","language"].forEach((e=>{i[e]=this[e]})),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},s&&(i.store=new ResourceStore(this.store.data,n),i.services.resourceStore=i.store),i.translator=new Translator(i.services,n),i.translator.on("*",(function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),n=1;n<t;n++)s[n-1]=arguments[n];i.emit(e,...s)})),i.init(n,t),i.translator.options=n,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const instance=I18n.createInstance();instance.createInstance=I18n.createInstance;class I18nextService{constructor(){}static async createInstance(e,t){return Array.isArray(t)?t=new Set(t):"function"==typeof t&&(t=new Set([t])),I18nextService.instance=new I18nextService,instance.isInitialized?await instance.loadNamespaces(I18nextService.namespace):await instance.init({ns:[I18nextService.namespace],lng:e}),void 0!==t&&t.forEach((e=>e(((e,t)=>(I18nextService.instance.addResourceBundle(e,t),e))))),this.instance}static addResourceBundle(e,t){instance.addResourceBundle(e,I18nextService.namespace,t,!0)}addResourceBundle(e,t){I18nextService.addResourceBundle(e,t)}translate(e,t){return instance.t(e,Object.assign({ns:I18nextService.namespace,count:null==t?void 0:t.count},null==t?void 0:t.placeholders))}}I18nextService.namespace="KoliBri";const register=async(e,t,s)=>{var n,i;return void 0===getKoliBri().I18n&&Object.defineProperty(getKoliBri(),"I18n",{value:await I18nextService.createInstance(null!==(i=null===(n=null==s?void 0:s.translation)||void 0===n?void 0:n.name)&&void 0!==i?i:"de",null==s?void 0:s.translations),writable:!1}),await _(e,t,s)},getI18nService=()=>getKoliBri().I18n;export{getI18nService as g,register as r};