@public-ui/components 2.1.4 → 2.1.5-rc.0

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 (342) hide show
  1. package/custom-elements.json +1 -1
  2. package/dist/cjs/{InternalUnderlinedAccessKey-03d810c0.js → InternalUnderlinedAccessKey-032e39db.js} +1 -1
  3. package/dist/cjs/{InternalUnderlinedAccessKey-03d810c0.js.map → InternalUnderlinedAccessKey-032e39db.js.map} +1 -1
  4. package/dist/cjs/{app-globals-8ec1aa7e.js → app-globals-042e5a69.js} +1 -1
  5. package/dist/cjs/{app-globals-8ec1aa7e.js.map → app-globals-042e5a69.js.map} +1 -1
  6. package/dist/cjs/component-names-aa6c2521.js +4 -0
  7. package/dist/cjs/component-names-aa6c2521.js.map +1 -0
  8. package/dist/cjs/{controller-8649175b.js → controller-0e749839.js} +1 -1
  9. package/dist/cjs/{controller-8649175b.js.map → controller-0e749839.js.map} +1 -1
  10. package/dist/cjs/{dev.utils-ea52f01d.js → dev.utils-cc304714.js} +1 -1
  11. package/dist/cjs/{dev.utils-ea52f01d.js.map → dev.utils-cc304714.js.map} +1 -1
  12. package/dist/cjs/{devtools-23786135.js → devtools-527acdcf.js} +1 -1
  13. package/dist/cjs/{devtools-23786135.js.map → devtools-527acdcf.js.map} +1 -1
  14. package/dist/cjs/{form-field-msg-72f38184.js → form-field-msg-e67c6eb6.js} +1 -1
  15. package/dist/cjs/{form-field-msg-72f38184.js.map → form-field-msg-e67c6eb6.js.map} +1 -1
  16. package/dist/cjs/{i18n-86815e80.js → i18n-2207af53.js} +1 -1
  17. package/dist/cjs/i18n-2207af53.js.map +1 -0
  18. package/dist/cjs/i18n-50cc2ee1.js +4 -0
  19. package/dist/cjs/i18n-50cc2ee1.js.map +1 -0
  20. package/dist/cjs/index-fcc8f5a8.js +4 -0
  21. package/dist/cjs/index-fcc8f5a8.js.map +1 -0
  22. package/dist/cjs/index.cjs.js +1 -1
  23. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  25. package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  27. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  28. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  29. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  31. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  33. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  34. package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
  35. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  37. package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  39. package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-heading-wc.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  50. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  91. package/dist/cjs/kolibri.cjs.js +1 -1
  92. package/dist/cjs/loader.cjs.js +1 -1
  93. package/dist/components/component-names.js +1 -1
  94. package/dist/components/component-names.js.map +1 -1
  95. package/dist/components/i18n.js +1 -1
  96. package/dist/components/i18n.js.map +1 -1
  97. package/dist/components/i18n2.js.map +1 -1
  98. package/dist/components/kol-combobox.js +1 -1
  99. package/dist/components/kol-input-date.js +1 -1
  100. package/dist/components/kol-input-date.js.map +1 -1
  101. package/dist/components/kol-span-wc.js +1 -1
  102. package/dist/components/kol-spin.js +1 -1
  103. package/dist/components/kol-split-button.js +1 -1
  104. package/dist/components/kol-symbol.js +1 -1
  105. package/dist/components/kol-table-stateful.js +1 -1
  106. package/dist/components/kol-table-stateless-wc.js +1 -1
  107. package/dist/components/kol-table-stateless-wc.js.map +1 -1
  108. package/dist/components/kol-table-stateless.js +1 -1
  109. package/dist/components/kol-table.js +1 -1
  110. package/dist/components/kol-tabs.js +1 -1
  111. package/dist/components/kol-textarea.js +1 -1
  112. package/dist/components/kol-toast-container.js +1 -1
  113. package/dist/components/kol-toolbar.js +1 -1
  114. package/dist/components/kol-tooltip-wc.js +1 -1
  115. package/dist/components/kol-tree-item-wc.js +1 -1
  116. package/dist/components/kol-tree-item.js +1 -1
  117. package/dist/components/kol-tree-wc.js +1 -1
  118. package/dist/components/kol-tree.js +1 -1
  119. package/dist/components/kol-version.js +1 -1
  120. package/dist/esm/{InternalUnderlinedAccessKey-4607eee7.js → InternalUnderlinedAccessKey-5c8d29fc.js} +1 -1
  121. package/dist/esm/{InternalUnderlinedAccessKey-4607eee7.js.map → InternalUnderlinedAccessKey-5c8d29fc.js.map} +1 -1
  122. package/dist/esm/{app-globals-703ac18d.js → app-globals-71552c42.js} +1 -1
  123. package/dist/esm/{app-globals-703ac18d.js.map → app-globals-71552c42.js.map} +1 -1
  124. package/dist/esm/component-names-3f4a13bb.js +4 -0
  125. package/dist/esm/component-names-3f4a13bb.js.map +1 -0
  126. package/dist/esm/{controller-2976d21c.js → controller-78a57072.js} +1 -1
  127. package/dist/esm/{controller-2976d21c.js.map → controller-78a57072.js.map} +1 -1
  128. package/dist/esm/{dev.utils-d751d0cd.js → dev.utils-167104e2.js} +1 -1
  129. package/dist/esm/{dev.utils-d751d0cd.js.map → dev.utils-167104e2.js.map} +1 -1
  130. package/dist/esm/{devtools-6b1e2c90.js → devtools-6ea9df1d.js} +1 -1
  131. package/dist/esm/{devtools-6b1e2c90.js.map → devtools-6ea9df1d.js.map} +1 -1
  132. package/dist/esm/{form-field-msg-60b6ca7c.js → form-field-msg-66ebc479.js} +1 -1
  133. package/dist/esm/{form-field-msg-60b6ca7c.js.map → form-field-msg-66ebc479.js.map} +1 -1
  134. package/dist/esm/i18n-3dcfca85.js +4 -0
  135. package/dist/esm/i18n-3dcfca85.js.map +1 -0
  136. package/dist/esm/{i18n-2cbb513e.js → i18n-59fb5a46.js} +1 -1
  137. package/dist/esm/i18n-59fb5a46.js.map +1 -0
  138. package/dist/esm/index-22a31dab.js +4 -0
  139. package/dist/esm/index-22a31dab.js.map +1 -0
  140. package/dist/esm/index.js +1 -1
  141. package/dist/esm/kol-abbr.entry.js +1 -1
  142. package/dist/esm/kol-accordion.entry.js +1 -1
  143. package/dist/esm/kol-alert-wc.entry.js +1 -1
  144. package/dist/esm/kol-alert.entry.js +1 -1
  145. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  146. package/dist/esm/kol-avatar.entry.js +1 -1
  147. package/dist/esm/kol-badge.entry.js +1 -1
  148. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  149. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  150. package/dist/esm/kol-button-group.entry.js +1 -1
  151. package/dist/esm/kol-button-link.entry.js +1 -1
  152. package/dist/esm/kol-button-wc.entry.js +1 -1
  153. package/dist/esm/kol-button.entry.js +1 -1
  154. package/dist/esm/kol-card.entry.js +1 -1
  155. package/dist/esm/kol-combobox.entry.js +1 -1
  156. package/dist/esm/kol-details.entry.js +1 -1
  157. package/dist/esm/kol-drawer.entry.js +1 -1
  158. package/dist/esm/kol-form.entry.js +1 -1
  159. package/dist/esm/kol-heading-wc.entry.js +1 -1
  160. package/dist/esm/kol-heading.entry.js +1 -1
  161. package/dist/esm/kol-icon.entry.js +1 -1
  162. package/dist/esm/kol-image.entry.js +1 -1
  163. package/dist/esm/kol-indented-text.entry.js +1 -1
  164. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  165. package/dist/esm/kol-input-color.entry.js +1 -1
  166. package/dist/esm/kol-input-date.entry.js +1 -1
  167. package/dist/esm/kol-input-date.entry.js.map +1 -1
  168. package/dist/esm/kol-input-email.entry.js +1 -1
  169. package/dist/esm/kol-input-file.entry.js +1 -1
  170. package/dist/esm/kol-input-number.entry.js +1 -1
  171. package/dist/esm/kol-input-password.entry.js +1 -1
  172. package/dist/esm/kol-input-radio.entry.js +1 -1
  173. package/dist/esm/kol-input-range.entry.js +1 -1
  174. package/dist/esm/kol-input-text.entry.js +1 -1
  175. package/dist/esm/kol-input.entry.js +1 -1
  176. package/dist/esm/kol-kolibri.entry.js +1 -1
  177. package/dist/esm/kol-link-button.entry.js +1 -1
  178. package/dist/esm/kol-link-group.entry.js +1 -1
  179. package/dist/esm/kol-link-wc.entry.js +1 -1
  180. package/dist/esm/kol-link.entry.js +1 -1
  181. package/dist/esm/kol-logo.entry.js +1 -1
  182. package/dist/esm/kol-modal.entry.js +1 -1
  183. package/dist/esm/kol-nav.entry.js +1 -1
  184. package/dist/esm/kol-pagination.entry.js +1 -1
  185. package/dist/esm/kol-popover-wc.entry.js +1 -1
  186. package/dist/esm/kol-progress.entry.js +1 -1
  187. package/dist/esm/kol-quote.entry.js +1 -1
  188. package/dist/esm/kol-select.entry.js +1 -1
  189. package/dist/esm/kol-skip-nav.entry.js +1 -1
  190. package/dist/esm/kol-span-wc.entry.js +1 -1
  191. package/dist/esm/kol-spin.entry.js +1 -1
  192. package/dist/esm/kol-split-button.entry.js +1 -1
  193. package/dist/esm/kol-symbol.entry.js +1 -1
  194. package/dist/esm/kol-table-stateful.entry.js +1 -1
  195. package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
  196. package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
  197. package/dist/esm/kol-table-stateless.entry.js +1 -1
  198. package/dist/esm/kol-table.entry.js +1 -1
  199. package/dist/esm/kol-tabs.entry.js +1 -1
  200. package/dist/esm/kol-textarea.entry.js +1 -1
  201. package/dist/esm/kol-toast-container.entry.js +1 -1
  202. package/dist/esm/kol-toolbar.entry.js +1 -1
  203. package/dist/esm/kol-tooltip-wc.entry.js +1 -1
  204. package/dist/esm/kol-tree-item-wc.entry.js +1 -1
  205. package/dist/esm/kol-tree-item.entry.js +1 -1
  206. package/dist/esm/kol-tree-wc.entry.js +1 -1
  207. package/dist/esm/kol-tree.entry.js +1 -1
  208. package/dist/esm/kol-version.entry.js +1 -1
  209. package/dist/esm/kolibri.js +1 -1
  210. package/dist/esm/loader.js +1 -1
  211. package/dist/kolibri/{InternalUnderlinedAccessKey-4607eee7.js → InternalUnderlinedAccessKey-5c8d29fc.js} +1 -1
  212. package/dist/kolibri/app-globals-71552c42.js +4 -0
  213. package/dist/kolibri/{app-globals-703ac18d.js.map → app-globals-71552c42.js.map} +1 -1
  214. package/dist/kolibri/component-names-3f4a13bb.js +4 -0
  215. package/dist/kolibri/component-names-3f4a13bb.js.map +1 -0
  216. package/dist/kolibri/{controller-2976d21c.js → controller-78a57072.js} +1 -1
  217. package/dist/kolibri/{dev.utils-d751d0cd.js → dev.utils-167104e2.js} +1 -1
  218. package/dist/kolibri/{devtools-6b1e2c90.js → devtools-6ea9df1d.js} +1 -1
  219. package/dist/kolibri/form-field-msg-66ebc479.js +4 -0
  220. package/dist/kolibri/i18n-3dcfca85.js +4 -0
  221. package/dist/kolibri/i18n-3dcfca85.js.map +1 -0
  222. package/dist/kolibri/{i18n-2cbb513e.js → i18n-59fb5a46.js} +1 -1
  223. package/dist/kolibri/i18n-59fb5a46.js.map +1 -0
  224. package/dist/kolibri/index-22a31dab.js +5 -0
  225. package/dist/kolibri/index-22a31dab.js.map +1 -0
  226. package/dist/kolibri/index.esm.js +1 -1
  227. package/dist/kolibri/kol-abbr.entry.js +1 -1
  228. package/dist/kolibri/kol-accordion.entry.js +1 -1
  229. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  230. package/dist/kolibri/kol-alert.entry.js +1 -1
  231. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  232. package/dist/kolibri/kol-avatar.entry.js +1 -1
  233. package/dist/kolibri/kol-badge.entry.js +1 -1
  234. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  235. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  236. package/dist/kolibri/kol-button-group.entry.js +1 -1
  237. package/dist/kolibri/kol-button-link.entry.js +1 -1
  238. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  239. package/dist/kolibri/kol-button.entry.js +1 -1
  240. package/dist/kolibri/kol-card.entry.js +1 -1
  241. package/dist/kolibri/kol-combobox.entry.js +1 -1
  242. package/dist/kolibri/kol-details.entry.js +1 -1
  243. package/dist/kolibri/kol-drawer.entry.js +1 -1
  244. package/dist/kolibri/kol-form.entry.js +1 -1
  245. package/dist/kolibri/kol-heading-wc.entry.js +1 -1
  246. package/dist/kolibri/kol-heading.entry.js +1 -1
  247. package/dist/kolibri/kol-icon.entry.js +1 -1
  248. package/dist/kolibri/kol-image.entry.js +1 -1
  249. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  250. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  251. package/dist/kolibri/kol-input-color.entry.js +1 -1
  252. package/dist/kolibri/kol-input-date.entry.js +1 -1
  253. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  254. package/dist/kolibri/kol-input-email.entry.js +1 -1
  255. package/dist/kolibri/kol-input-file.entry.js +1 -1
  256. package/dist/kolibri/kol-input-number.entry.js +1 -1
  257. package/dist/kolibri/kol-input-password.entry.js +1 -1
  258. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  259. package/dist/kolibri/kol-input-range.entry.js +1 -1
  260. package/dist/kolibri/kol-input-text.entry.js +1 -1
  261. package/dist/kolibri/kol-input.entry.js +1 -1
  262. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  263. package/dist/kolibri/kol-link-button.entry.js +1 -1
  264. package/dist/kolibri/kol-link-group.entry.js +1 -1
  265. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  266. package/dist/kolibri/kol-link.entry.js +1 -1
  267. package/dist/kolibri/kol-logo.entry.js +1 -1
  268. package/dist/kolibri/kol-modal.entry.js +1 -1
  269. package/dist/kolibri/kol-nav.entry.js +1 -1
  270. package/dist/kolibri/kol-pagination.entry.js +1 -1
  271. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  272. package/dist/kolibri/kol-progress.entry.js +1 -1
  273. package/dist/kolibri/kol-quote.entry.js +1 -1
  274. package/dist/kolibri/kol-select.entry.js +1 -1
  275. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  276. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  277. package/dist/kolibri/kol-spin.entry.js +1 -1
  278. package/dist/kolibri/kol-split-button.entry.js +1 -1
  279. package/dist/kolibri/kol-symbol.entry.js +1 -1
  280. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  281. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  282. package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
  283. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  284. package/dist/kolibri/kol-table.entry.js +1 -1
  285. package/dist/kolibri/kol-tabs.entry.js +1 -1
  286. package/dist/kolibri/kol-textarea.entry.js +1 -1
  287. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  288. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  289. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  290. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  291. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  292. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  293. package/dist/kolibri/kol-tree.entry.js +1 -1
  294. package/dist/kolibri/kol-version.entry.js +1 -1
  295. package/dist/kolibri/kolibri.esm.js +1 -1
  296. package/dist/kolibri/kolibri.esm.js.map +1 -1
  297. package/dist/types/components/span/test/html.mock.d.ts +0 -1
  298. package/dist/types/components/table-stateless/component.d.ts +1 -0
  299. package/dist/types/components.d.ts +0 -47
  300. package/dist/types/core/component-names.d.ts +0 -1
  301. package/dist/types/i18n.d.ts +2 -1
  302. package/dist/types/locales/de.d.ts +3 -0
  303. package/dist/types/locales/en.d.ts +3 -0
  304. package/package.json +1 -1
  305. package/dist/cjs/component-names-b370a3a3.js +0 -4
  306. package/dist/cjs/component-names-b370a3a3.js.map +0 -1
  307. package/dist/cjs/i18n-86815e80.js.map +0 -1
  308. package/dist/cjs/i18n-bbd0642f.js +0 -4
  309. package/dist/cjs/i18n-bbd0642f.js.map +0 -1
  310. package/dist/cjs/index-1069403a.js +0 -4
  311. package/dist/cjs/index-1069403a.js.map +0 -1
  312. package/dist/cjs/kol-span.cjs.entry.js +0 -4
  313. package/dist/cjs/kol-span.cjs.entry.js.map +0 -1
  314. package/dist/components/kol-span.d.ts +0 -11
  315. package/dist/components/kol-span.js +0 -4
  316. package/dist/components/kol-span.js.map +0 -1
  317. package/dist/esm/component-names-068dc2ae.js +0 -4
  318. package/dist/esm/component-names-068dc2ae.js.map +0 -1
  319. package/dist/esm/i18n-2cbb513e.js.map +0 -1
  320. package/dist/esm/i18n-66b52d13.js +0 -4
  321. package/dist/esm/i18n-66b52d13.js.map +0 -1
  322. package/dist/esm/index-b5e5a1b4.js +0 -4
  323. package/dist/esm/index-b5e5a1b4.js.map +0 -1
  324. package/dist/esm/kol-span.entry.js +0 -4
  325. package/dist/esm/kol-span.entry.js.map +0 -1
  326. package/dist/kolibri/app-globals-703ac18d.js +0 -4
  327. package/dist/kolibri/component-names-068dc2ae.js +0 -4
  328. package/dist/kolibri/component-names-068dc2ae.js.map +0 -1
  329. package/dist/kolibri/form-field-msg-60b6ca7c.js +0 -4
  330. package/dist/kolibri/i18n-2cbb513e.js.map +0 -1
  331. package/dist/kolibri/i18n-66b52d13.js +0 -4
  332. package/dist/kolibri/i18n-66b52d13.js.map +0 -1
  333. package/dist/kolibri/index-b5e5a1b4.js +0 -5
  334. package/dist/kolibri/index-b5e5a1b4.js.map +0 -1
  335. package/dist/kolibri/kol-span.entry.js +0 -4
  336. package/dist/kolibri/kol-span.entry.js.map +0 -1
  337. package/dist/types/components/span/shadow.d.ts +0 -9
  338. /package/dist/kolibri/{InternalUnderlinedAccessKey-4607eee7.js.map → InternalUnderlinedAccessKey-5c8d29fc.js.map} +0 -0
  339. /package/dist/kolibri/{controller-2976d21c.js.map → controller-78a57072.js.map} +0 -0
  340. /package/dist/kolibri/{dev.utils-d751d0cd.js.map → dev.utils-167104e2.js.map} +0 -0
  341. /package/dist/kolibri/{devtools-6b1e2c90.js.map → devtools-6ea9df1d.js.map} +0 -0
  342. /package/dist/kolibri/{form-field-msg-60b6ca7c.js.map → form-field-msg-66ebc479.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{t as translate}from"./i18n2.js";import{i as KolButtonGroupWcTag,c as KolButtonWcTag}from"./component-names.js";import{t as devHint,f as featureHint,b as setState,x as watchNumber,k as watchJsonArrayString,l as uiUxHintMillerscheZahl,B as koliBriQuerySelector}from"./prop.validators.js";import{a as validateAlign}from"./align.js";import{v as validateLabel}from"./label.js";import{L as Log}from"./dev.utils.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-button-group-wc {\n display: inline-flex;\n flex-wrap: wrap;\n }\n .kol-button-group-wc button {\n border-bottom-color: transparent;\n border-bottom-style: solid;\n display: block;\n }\n div.grid,\n div[role=tabpanel] {\n height: 100%;\n }\n :host > .tabs-align-right {\n display: grid;\n grid-template-columns: 1fr auto;\n }\n :host > .tabs-align-right .kol-button-group-wc {\n display: grid;\n order: 2;\n }\n :host > .tabs-align-left {\n display: grid;\n grid-template-columns: auto 1fr;\n }\n :host > .tabs-align-left .kol-button-group-wc {\n display: grid;\n order: 0;\n }\n :host > .tabs-align-bottom {\n display: grid;\n grid-template-rows: 1fr auto;\n }\n :host > .tabs-align-bottom .kol-button-group-wc {\n order: 2;\n }\n :host > .tabs-align-bottom .kol-button-group-wc > div {\n display: flex;\n }\n :host > .tabs-align-bottom > .kol-button-group-wc > div > div:first-child {\n margin: 0 1em 0 0;\n }\n :host > .tabs-align-bottom > .kol-button-group-wc > div > div {\n margin: 0 1em;\n }\n :host > .tabs-align-top {\n display: grid;\n grid-template-rows: auto 1fr;\n }\n :host > .tabs-align-top .kol-button-group-wc {\n order: 0;\n }\n :host > .tabs-align-top .kol-button-group-wc > div {\n display: flex;\n }\n :host > .tabs-align-top > .kol-button-group-wc > div > div:first-child {\n margin: 0 1em 0 0;\n }\n :host > .tabs-align-top > .kol-button-group-wc > div > div {\n margin: 0 1em;\n }\n :host > div {\n display: grid;\n }\n :host > .tabs-align-left .kol-button-group-wc,\n :host > .tabs-align-top .kol-button-group-wc {\n order: 0;\n }\n :host > .tabs-align-bottom .kol-button-group-wc,\n :host > .tabs-align-right .kol-button-group-wc {\n order: 1;\n }\n :host > div.tabs-align-left .kol-button-group-wc > div,\n :host > div.tabs-align-left .kol-button-group-wc > div > div,\n :host > div.tabs-align-right .kol-button-group-wc > div,\n :host > div.tabs-align-right .kol-button-group-wc > div > div {\n display: grid;\n }\n :host > div.tabs-align-left .kol-button-group-wc > div > div .kol-button-wc,\n :host > div.tabs-align-right .kol-button-group-wc > div > div .kol-button-wc {\n width: 100%;\n }\n :host > div.tabs-align-bottom .kol-button-group-wc div,\n :host > div.tabs-align-top .kol-button-group-wc div {\n display: flex;\n flex-wrap: wrap;\n }\n}",KolTabsDefaultStyle0=defaultStyleCss,KolTabs$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.onCreateLabel=`${translate("kol-new")} …`,this.showCreateTab=!1,this.nextPossibleTabIndex=(t,e,n)=>{if(n>0){if(e+n<t.length)return t[e+n]._disabled?this.nextPossibleTabIndex(t,e,n+1):e+n}else if(n<0&&e+n>=0)return t[e+n]._disabled?this.nextPossibleTabIndex(t,e,n-1):e+n;return e},this.onKeyDown=t=>{var e,n;let a=null;switch(t.key){case"ArrowRight":a=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);break;case"ArrowLeft":a=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)}if(null!==a){const o=this.state._tabs[a];(null===(e=o._on)||void 0===e?void 0:e.onSelect)&&(null===(n=o._on)||void 0===n||n.onSelect(t,a)),this.onSelect(t,a)}},this.onClickSelect=(t,e)=>{var n,a;const o=this.state._tabs[e];(null===(n=o._on)||void 0===n?void 0:n.onSelect)&&(null===(a=o._on)||void 0===a||a.onSelect(t,e)),this.onSelect(t,e)},this.onMouseDown=t=>{t.preventDefault(),t.stopPropagation()},this.callbacks={onClick:this.onClickSelect,onMouseDown:this.onMouseDown},this.catchTabPanelHost=t=>{this.tabPanelHost=t},this.selectNextNotDisabledTab=(t,e,n=!0,a)=>{if(t>e.length-1&&(t=e.length-1),t<0&&(t=0),Array.isArray(e)&&e[t]&&e[t]._disabled){if(!0===n){if(t<e.length-1)return this.selectNextNotDisabledTab(t+1,e,!0,a||t);t=a||t,n=!1}if(!1===n){if(t>0)return this.selectNextNotDisabledTab(t-1,e,!1,a||t);devHint("[KolTabs] All tabs are disabled, and therefore no tab can be displayed.")}}return t},this.syncSelectedAndTabs=(t,e,n,a)=>{let o,i;o="_selected"===a?t:this.state._selected,i="_tabs"===a?t:this.state._tabs,i.length>0&&e.set("_selected",this.selectNextNotDisabledTab(o,i))},this.handleTabPanels=()=>{var t,e,n;if(this.tabPanelHost instanceof HTMLDivElement)for(let a=this.tabPanelHost.children.length;a<this.state._tabs.length;a++){const o=document.createElement("div");o.setAttribute("aria-labelledby",`${this.state._label.replace(/\s/g,"-")}-tab-${a}`),o.setAttribute("id",`tabpanel-${a}`),o.setAttribute("role","tabpanel"),o.setAttribute("hidden","");const i=document.createElement("slot");i.setAttribute("name",`tabpanel-slot-${a}`),o.appendChild(i),this.tabPanelHost.appendChild(o),(null===(t=this.host)||void 0===t?void 0:t.children)instanceof HTMLCollection&&(null===(e=this.host)||void 0===e?void 0:e.children[a])&&(null===(n=this.host)||void 0===n||n.children[a].setAttribute("slot",`tabpanel-slot-${a}`))}},this.onCreate=t=>{var e,n;t.preventDefault(),t.stopPropagation(),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onCreate)&&(null===(n=this.state._on)||void 0===n||n.onCreate(t))},this._align="top",this._label=void 0,this._on=void 0,this._selected=0,this._tabs=void 0,this.state={_align:"top",_label:"",_selected:0,_tabs:[]}}renderButtonGroup(){return h(KolButtonGroupWcTag,{class:"tabs-button-group",role:"tablist","aria-label":this.state._label,onKeyDown:this.onKeyDown},this.state._tabs.map(((t,e)=>h(KolButtonWcTag,{_disabled:t._disabled,_icons:t._icons,_hideLabel:t._hideLabel,_label:t._label,_on:this.callbacks,_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_variant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,_ariaControls:`tabpanel-${e}`,_ariaSelected:this.state._selected===e,_id:`${this.state._label.replace(/\s/g,"-")}-tab-${e}`,_role:"tab",_value:e}))),this.showCreateTab&&h(KolButtonWcTag,{class:"create-button",_label:this.onCreateLabel,_on:{onClick:this.onCreate}}))}render(){return h(Host,{key:"1092ece9e1623621dcd253ff8d32eb1470471993",class:"kol-tabs"},h("div",{key:"42c75328542b14057998aaa615c692e15870e5ce",ref:t=>{this.tabPanelsElement=t},class:{[`tabs-align-${this.state._align}`]:!0}},this.renderButtonGroup(),h("div",{key:"89eb64ffefa3234cb2ba93532a775cc2e1cf0968",class:"tabs-content",ref:this.catchTabPanelHost})))}validateAlign(t){validateAlign(this,t)}validateLabel(t){validateLabel(this,t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onCreate&&"object"!=typeof t.onCreate||("object"==typeof t.onCreate?("string"==typeof t.onCreate.label&&t.onCreate.label.length>0?this.onCreateLabel=t.onCreate.label:Log.debug("[KolTabs] The label text for New in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} is not set correctly."),"function"==typeof t.onCreate.callback?e.onCreate=t.onCreate.callback:Log.debug("[KolTabs] The onCreate callback function for New in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} is not set correctly.")):e.onCreate=t.onCreate,this.showCreateTab="function"==typeof e.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),setState(this,"_on",e)}}validateSelected(t){watchNumber(this,"_selected",t,{hooks:{beforePatch:this.syncSelectedAndTabs}})}validateTabs(t){watchJsonArrayString(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t,void 0,{hooks:{beforePatch:this.syncSelectedAndTabs}}),uiUxHintMillerscheZahl("KolTabs",this.state._tabs.length)}componentWillLoad(){this.validateAlign(this._align),this.validateLabel(this._label),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs)}componentDidRender(){if(this.handleTabPanels(),this.tabPanelHost instanceof HTMLDivElement)for(let t=0;t<this.tabPanelHost.children.length;t++)t!==this.state._selected?this.tabPanelHost.children[t].setAttribute("hidden",""):this.tabPanelHost.children[t].removeAttribute("hidden")}onSelect(t,e){var n,a;if(this._selected=e,"function"==typeof(null===(n=this._on)||void 0===n?void 0:n.onSelect)&&(null===(a=this._on)||void 0===a||a.onSelect(t,e)),this.tabPanelsElement){const t=koliBriQuerySelector(`button#${this.state._label.replace(/\s/g,"-")}-tab-${e}`,this.tabPanelsElement);null==t||t.focus()}}get host(){return this}static get watchers(){return{_align:["validateAlign"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}}static get style(){return{default:KolTabsDefaultStyle0}}},[33,"kol-tabs",{_align:[1],_label:[1],_on:[16],_selected:[1538],_tabs:[1],state:[32]},void 0,{_align:["validateAlign"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tabs"].forEach((t=>{if("kol-tabs"===t)customElements.get(t)||customElements.define(t,KolTabs$1)}))}const KolTabs=KolTabs$1,defineCustomElement=defineCustomElement$1;export{KolTabs,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{t as translate}from"./i18n2.js";import{i as KolButtonGroupWcTag,c as KolButtonWcTag}from"./component-names.js";import{t as devHint,f as featureHint,b as setState,x as watchNumber,k as watchJsonArrayString,l as uiUxHintMillerscheZahl,B as koliBriQuerySelector}from"./prop.validators.js";import{a as validateAlign}from"./align.js";import{v as validateLabel}from"./label.js";import{L as Log}from"./dev.utils.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-button-group-wc {\n display: inline-flex;\n flex-wrap: wrap;\n }\n .kol-button-group-wc button {\n border-bottom-color: transparent;\n border-bottom-style: solid;\n display: block;\n }\n div.grid,\n div[role=tabpanel] {\n height: 100%;\n }\n :host > .tabs-align-right {\n display: grid;\n grid-template-columns: 1fr auto;\n }\n :host > .tabs-align-right .kol-button-group-wc {\n display: grid;\n order: 2;\n }\n :host > .tabs-align-left {\n display: grid;\n grid-template-columns: auto 1fr;\n }\n :host > .tabs-align-left .kol-button-group-wc {\n display: grid;\n order: 0;\n }\n :host > .tabs-align-bottom {\n display: grid;\n grid-template-rows: 1fr auto;\n }\n :host > .tabs-align-bottom .kol-button-group-wc {\n order: 2;\n }\n :host > .tabs-align-bottom .kol-button-group-wc > div {\n display: flex;\n }\n :host > .tabs-align-bottom > .kol-button-group-wc > div > div:first-child {\n margin: 0 1em 0 0;\n }\n :host > .tabs-align-bottom > .kol-button-group-wc > div > div {\n margin: 0 1em;\n }\n :host > .tabs-align-top {\n display: grid;\n grid-template-rows: auto 1fr;\n }\n :host > .tabs-align-top .kol-button-group-wc {\n order: 0;\n }\n :host > .tabs-align-top .kol-button-group-wc > div {\n display: flex;\n }\n :host > .tabs-align-top > .kol-button-group-wc > div > div:first-child {\n margin: 0 1em 0 0;\n }\n :host > .tabs-align-top > .kol-button-group-wc > div > div {\n margin: 0 1em;\n }\n :host > div {\n display: grid;\n }\n :host > .tabs-align-left .kol-button-group-wc,\n :host > .tabs-align-top .kol-button-group-wc {\n order: 0;\n }\n :host > .tabs-align-bottom .kol-button-group-wc,\n :host > .tabs-align-right .kol-button-group-wc {\n order: 1;\n }\n :host > div.tabs-align-left .kol-button-group-wc > div,\n :host > div.tabs-align-left .kol-button-group-wc > div > div,\n :host > div.tabs-align-right .kol-button-group-wc > div,\n :host > div.tabs-align-right .kol-button-group-wc > div > div {\n display: grid;\n }\n :host > div.tabs-align-left .kol-button-group-wc > div > div .kol-button-wc,\n :host > div.tabs-align-right .kol-button-group-wc > div > div .kol-button-wc {\n width: 100%;\n }\n :host > div.tabs-align-bottom .kol-button-group-wc div,\n :host > div.tabs-align-top .kol-button-group-wc div {\n display: flex;\n flex-wrap: wrap;\n }\n}",KolTabsDefaultStyle0=defaultStyleCss,KolTabs$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.onCreateLabel=`${translate("kol-new")} …`,this.showCreateTab=!1,this.nextPossibleTabIndex=(t,e,n)=>{if(n>0){if(e+n<t.length)return t[e+n]._disabled?this.nextPossibleTabIndex(t,e,n+1):e+n}else if(n<0&&e+n>=0)return t[e+n]._disabled?this.nextPossibleTabIndex(t,e,n-1):e+n;return e},this.onKeyDown=t=>{var e,n;let a=null;switch(t.key){case"ArrowRight":a=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,1);break;case"ArrowLeft":a=this.nextPossibleTabIndex(this.state._tabs,this.state._selected,-1)}if(null!==a){const o=this.state._tabs[a];(null===(e=o._on)||void 0===e?void 0:e.onSelect)&&(null===(n=o._on)||void 0===n||n.onSelect(t,a)),this.onSelect(t,a)}},this.onClickSelect=(t,e)=>{var n,a;const o=this.state._tabs[e];(null===(n=o._on)||void 0===n?void 0:n.onSelect)&&(null===(a=o._on)||void 0===a||a.onSelect(t,e)),this.onSelect(t,e)},this.onMouseDown=t=>{t.preventDefault(),t.stopPropagation()},this.callbacks={onClick:this.onClickSelect,onMouseDown:this.onMouseDown},this.catchTabPanelHost=t=>{this.tabPanelHost=t},this.selectNextNotDisabledTab=(t,e,n=!0,a)=>{if(t>e.length-1&&(t=e.length-1),t<0&&(t=0),Array.isArray(e)&&e[t]&&e[t]._disabled){if(!0===n){if(t<e.length-1)return this.selectNextNotDisabledTab(t+1,e,!0,a||t);t=a||t,n=!1}if(!1===n){if(t>0)return this.selectNextNotDisabledTab(t-1,e,!1,a||t);devHint("[KolTabs] All tabs are disabled, and therefore no tab can be displayed.")}}return t},this.syncSelectedAndTabs=(t,e,n,a)=>{let o,i;o="_selected"===a?t:this.state._selected,i="_tabs"===a?t:this.state._tabs,i.length>0&&e.set("_selected",this.selectNextNotDisabledTab(o,i))},this.handleTabPanels=()=>{var t,e,n;if(this.tabPanelHost instanceof HTMLDivElement)for(let a=this.tabPanelHost.children.length;a<this.state._tabs.length;a++){const o=document.createElement("div");o.setAttribute("aria-labelledby",`${this.state._label.replace(/\s/g,"-")}-tab-${a}`),o.setAttribute("id",`tabpanel-${a}`),o.setAttribute("role","tabpanel"),o.setAttribute("hidden","");const i=document.createElement("slot");i.setAttribute("name",`tabpanel-slot-${a}`),o.appendChild(i),this.tabPanelHost.appendChild(o),(null===(t=this.host)||void 0===t?void 0:t.children)instanceof HTMLCollection&&(null===(e=this.host)||void 0===e?void 0:e.children[a])&&(null===(n=this.host)||void 0===n||n.children[a].setAttribute("slot",`tabpanel-slot-${a}`))}},this.onCreate=t=>{var e,n;t.preventDefault(),t.stopPropagation(),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onCreate)&&(null===(n=this.state._on)||void 0===n||n.onCreate(t))},this._align="top",this._label=void 0,this._on=void 0,this._selected=0,this._tabs=void 0,this.state={_align:"top",_label:"",_selected:0,_tabs:[]}}renderButtonGroup(){return h(KolButtonGroupWcTag,{class:"tabs-button-group",role:"tablist","aria-label":this.state._label,onKeyDown:this.onKeyDown},this.state._tabs.map(((t,e)=>h(KolButtonWcTag,{_disabled:t._disabled,_icons:t._icons,_hideLabel:t._hideLabel,_label:t._label,_on:this.callbacks,_tabIndex:this.state._selected===e?0:-1,_tooltipAlign:t._tooltipAlign,_variant:this.state._selected===e?"custom":void 0,_customClass:this.state._selected===e?"selected":void 0,_ariaControls:`tabpanel-${e}`,_ariaSelected:this.state._selected===e,_id:`${this.state._label.replace(/\s/g,"-")}-tab-${e}`,_role:"tab",_value:e}))),this.showCreateTab&&h(KolButtonWcTag,{class:"create-button",_label:this.onCreateLabel,_on:{onClick:this.onCreate}}))}render(){return h(Host,{key:"668b8fe78f5053ce356e685104518338aa9f73b9",class:"kol-tabs"},h("div",{key:"5845ac11d2ebf8abe1e515aea9f9c68c56ee9a57",ref:t=>{this.tabPanelsElement=t},class:{[`tabs-align-${this.state._align}`]:!0}},this.renderButtonGroup(),h("div",{key:"67ef993b870a8ff374c2cc4f750de970d578edea",class:"tabs-content",ref:this.catchTabPanelHost})))}validateAlign(t){validateAlign(this,t)}validateLabel(t){validateLabel(this,t,{required:!0})}validateOn(t){if("object"==typeof t&&null!==t){featureHint("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onCreate&&"object"!=typeof t.onCreate||("object"==typeof t.onCreate?("string"==typeof t.onCreate.label&&t.onCreate.label.length>0?this.onCreateLabel=t.onCreate.label:Log.debug("[KolTabs] The label text for New in {\n onCreate: {\n label: string (!),\n callback: Function\n }\n} is not set correctly."),"function"==typeof t.onCreate.callback?e.onCreate=t.onCreate.callback:Log.debug("[KolTabs] The onCreate callback function for New in {\n onCreate: {\n label: string,\n callback: Function (!)\n }\n} is not set correctly.")):e.onCreate=t.onCreate,this.showCreateTab="function"==typeof e.onCreate),"function"==typeof t.onSelect&&(e.onSelect=t.onSelect),setState(this,"_on",e)}}validateSelected(t){watchNumber(this,"_selected",t,{hooks:{beforePatch:this.syncSelectedAndTabs}})}validateTabs(t){watchJsonArrayString(this,"_tabs",(t=>"object"==typeof t&&null!==t&&"string"==typeof t._label&&t._label.length>0),t,void 0,{hooks:{beforePatch:this.syncSelectedAndTabs}}),uiUxHintMillerscheZahl("KolTabs",this.state._tabs.length)}componentWillLoad(){this.validateAlign(this._align),this.validateLabel(this._label),this.validateOn(this._on),this.validateSelected(this._selected),this.validateTabs(this._tabs)}componentDidRender(){if(this.handleTabPanels(),this.tabPanelHost instanceof HTMLDivElement)for(let t=0;t<this.tabPanelHost.children.length;t++)t!==this.state._selected?this.tabPanelHost.children[t].setAttribute("hidden",""):this.tabPanelHost.children[t].removeAttribute("hidden")}onSelect(t,e){var n,a;if(this._selected=e,"function"==typeof(null===(n=this._on)||void 0===n?void 0:n.onSelect)&&(null===(a=this._on)||void 0===a||a.onSelect(t,e)),this.tabPanelsElement){const t=koliBriQuerySelector(`button#${this.state._label.replace(/\s/g,"-")}-tab-${e}`,this.tabPanelsElement);null==t||t.focus()}}get host(){return this}static get watchers(){return{_align:["validateAlign"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}}static get style(){return{default:KolTabsDefaultStyle0}}},[33,"kol-tabs",{_align:[1],_label:[1],_on:[16],_selected:[1538],_tabs:[1],state:[32]},void 0,{_align:["validateAlign"],_label:["validateLabel"],_on:["validateOn"],_selected:["validateSelected"],_tabs:["validateTabs"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tabs"].forEach((t=>{if("kol-tabs"===t)customElements.get(t)||customElements.define(t,KolTabs$1)}))}const KolTabs=KolTabs$1,defineCustomElement=defineCustomElement$1;export{KolTabs,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host,Fragment}from"@stencil/core/internal/client";import{n as nonce}from"./dev.utils2.js";import{g as getRenderStates}from"./controller2.js";import{I as InternalUnderlinedAccessKey}from"./InternalUnderlinedAccessKey.js";import{I as InputIconController}from"./controller-icon.js";import{c as watchBoolean,x as watchNumber,e as watchString,w as watchValidator,b as setState,v as devWarning}from"./prop.validators.js";import{v as validateRows}from"./rows.js";import{k as KolInputWcTag}from"./component-names.js";import{s as showExpertSlot}from"./reuse.js";const cssResizeOptions=["both","horizontal","vertical","none"];class TextareaController extends InputIconController{constructor(e,t,a){super(e,t,a),this.afterSyncCharCounter=()=>{"string"==typeof this.component._value&&this.component._value.length>0&&(this.component.state._currentLength=this.component._value.length)},this.component=e}validateHasCounter(e){watchBoolean(this.component,"_hasCounter",e,{hooks:{afterPatch:this.afterSyncCharCounter}})}validateMaxLength(e){watchNumber(this.component,"_maxLength",e,{hooks:{afterPatch:this.afterSyncCharCounter},min:0})}validatePlaceholder(e){watchString(this.component,"_placeholder",e)}validateReadOnly(e){watchBoolean(this.component,"_readOnly",e)}validateResize(e){watchValidator(this.component,"_resize",(e=>"string"==typeof e&&cssResizeOptions.includes(e)),new Set(`String {${cssResizeOptions.join(", ")}`),e)}validateRequired(e){watchBoolean(this.component,"_required",e)}validateRows(e){validateRows(this.component,e)}validateValue(e){watchString(this.component,"_value",e,{hooks:{afterPatch:this.afterSyncCharCounter}}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad(),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateResize(this.component._resize),this.validateRequired(this.component._required),this.validateRows(this.component._rows),this.validateValue(this.component._value)}}const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n select,\n select[multiple] option,\n textarea {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:not([type=checkbox], [type=radio]),\n select:not([multiple], [size]) {\n height: 2.75em;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n display: flex;\n align-items: center;\n }\n .input > .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n}",KolTextareaDefaultStyle0=defaultStyleCss,increaseTextareaHeight=e=>{e.style.overflow="hidden";const t=e.rows,a=e.clientHeight/t;e.rows=1;const n=Math.round(e.scrollHeight/a);return e.rows=t,n},KolTextarea$1=proxyCustomElement(class extends HTMLElement{async getValue(){var e;return null===(e=this.textareaRef)||void 0===e?void 0:e.value}async focus(){await this.kolFocus()}async kolFocus(){var e;null===(e=this.textareaRef)||void 0===e||e.focus()}render(){const{ariaDescribedBy:e}=getRenderStates(this.state),t=showExpertSlot(this.state._label);return h(Host,{key:"db199ad3fd9fae0a23f3de8b54b15a20c04a3c95",class:{"kol-textarea":!0,"has-value":this.state._hasValue}},h(KolInputWcTag,{key:"2ef6815d8e956d0ff94b19e40bc754cb19223152",class:{textarea:!0,"hide-label":!!this.state._hideLabel,"has-counter":!!this.state._hasCounter},_accessKey:this.state._accessKey,_alert:this.state._alert,_currentLength:this.state._currentLength,_disabled:this.state._disabled,_hideError:this.state._hideError,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icons:this.state._icons,_id:this.state._id,_label:this.state._label,_maxLength:this.state._maxLength,_msg:this.state._msg,_readOnly:this.state._readOnly,_required:this.state._required,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,onClick:()=>{var e;return null===(e=this.textareaRef)||void 0===e?void 0:e.focus()},role:"presentation"},h("span",{key:"cdcb791763a07b2c04bd152cb02d0a3750a19420",slot:"label"},t?h("slot",{name:"expert"}):"string"==typeof this.state._accessKey?h(Fragment,null,h(InternalUnderlinedAccessKey,{accessKey:this.state._accessKey,label:this.state._label})," ",h("span",{class:"access-key-hint","aria-hidden":"true"},this.state._accessKey)):h("span",null,this.state._label)),h("div",{key:"04e8f1b97df661b5fd0b7c20f48e1ae165995223",slot:"input"},h("textarea",Object.assign({key:"0ad4e21fe58c68fb9a5007738ecc0f378cfbd08c",ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,maxlength:this.state._maxLength,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,rows:this.state._rows,placeholder:this.state._placeholder,spellcheck:"false"},this.controller.onFacade,{onInput:this.onInput,style:{resize:this.state._resize},value:this.state._value})))))}constructor(){super(),this.__registerHost(),this.__attachShadow(),this.catchRef=e=>{this.textareaRef=e},this.onInput=e=>{this.textareaRef instanceof HTMLTextAreaElement&&(setState(this,"_currentLength",this.textareaRef.value.length),this.state._adjustHeight&&(this._rows=increaseTextareaHeight(this.textareaRef)),this.controller.onFacade.onInput(e))},this._accessKey=void 0,this._adjustHeight=!1,this._alert=!0,this._disabled=!1,this._error=void 0,this._hasCounter=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._maxLength=void 0,this._msg=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=!1,this._resize="vertical",this._required=!1,this._rows=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_adjustHeight:!1,_currentLength:0,_hasValue:!1,_hideError:!1,_id:`id-${nonce()}`,_label:"",_resize:"vertical"},this.controller=new TextareaController(this,"textarea",this.host)}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAdjustHeight(e){this.controller.validateAdjustHeight(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHasCounter(e){this.controller.validateHasCounter(e)}validateHideError(e){this.controller.validateHideError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateMaxLength(e){this.controller.validateMaxLength(e)}validateMsg(e){this.controller.validateMsg(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validatePlaceholder(e){this.controller.validatePlaceholder(e)}validateReadOnly(e){this.controller.validateReadOnly(e)}validateResize(e){"both"!==e&&"horizontal"!==e||devWarning("In version 3 (v3), horizontal resizing is abolished. The corresponding property is then reduced to the properties `none` (default) and `vertical`."),this.controller.validateResize(e)}validateRequired(e){this.controller.validateRequired(e)}validateRows(e){this.controller.validateRows(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentDidLoad(){setTimeout((()=>{var e;!0===this._adjustHeight&&this.textareaRef?this._rows=(null===(e=this.state)||void 0===e?void 0:e._rows)&&this.state._rows>increaseTextareaHeight(this.textareaRef)?this.state._rows:increaseTextareaHeight(this.textareaRef):this._rows||(this._rows=1)}),0)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((e=>this.state._hasValue=!!e))}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}static get style(){return{default:KolTextareaDefaultStyle0}}},[33,"kol-textarea",{_accessKey:[1,"_access-key"],_adjustHeight:[4,"_adjust-height"],_alert:[1540],_disabled:[4],_error:[1],_hasCounter:[4,"_has-counter"],_hideError:[1540,"_hide-error"],_hideLabel:[4,"_hide-label"],_hint:[1],_icons:[16],_id:[1],_label:[1],_maxLength:[2,"_max-length"],_msg:[16],_name:[1],_on:[16],_placeholder:[1],_readOnly:[4,"_read-only"],_resize:[1],_required:[4],_rows:[1026],_syncValueBySelector:[1,"_sync-value-by-selector"],_tabIndex:[2,"_tab-index"],_tooltipAlign:[1,"_tooltip-align"],_touched:[1540],_value:[1],state:[32],getValue:[64],focus:[64],kolFocus:[64]},void 0,{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-textarea"].forEach((e=>{if("kol-textarea"===e)customElements.get(e)||customElements.define(e,KolTextarea$1)}))}const KolTextarea=KolTextarea$1,defineCustomElement=defineCustomElement$1;export{KolTextarea,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host,Fragment}from"@stencil/core/internal/client";import{n as nonce}from"./dev.utils2.js";import{g as getRenderStates}from"./controller2.js";import{I as InternalUnderlinedAccessKey}from"./InternalUnderlinedAccessKey.js";import{I as InputIconController}from"./controller-icon.js";import{c as watchBoolean,x as watchNumber,e as watchString,w as watchValidator,b as setState,v as devWarning}from"./prop.validators.js";import{v as validateRows}from"./rows.js";import{k as KolInputWcTag}from"./component-names.js";import{s as showExpertSlot}from"./reuse.js";const cssResizeOptions=["both","horizontal","vertical","none"];class TextareaController extends InputIconController{constructor(e,t,a){super(e,t,a),this.afterSyncCharCounter=()=>{"string"==typeof this.component._value&&this.component._value.length>0&&(this.component.state._currentLength=this.component._value.length)},this.component=e}validateHasCounter(e){watchBoolean(this.component,"_hasCounter",e,{hooks:{afterPatch:this.afterSyncCharCounter}})}validateMaxLength(e){watchNumber(this.component,"_maxLength",e,{hooks:{afterPatch:this.afterSyncCharCounter},min:0})}validatePlaceholder(e){watchString(this.component,"_placeholder",e)}validateReadOnly(e){watchBoolean(this.component,"_readOnly",e)}validateResize(e){watchValidator(this.component,"_resize",(e=>"string"==typeof e&&cssResizeOptions.includes(e)),new Set(`String {${cssResizeOptions.join(", ")}`),e)}validateRequired(e){watchBoolean(this.component,"_required",e)}validateRows(e){validateRows(this.component,e)}validateValue(e){watchString(this.component,"_value",e,{hooks:{afterPatch:this.afterSyncCharCounter}}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad(),this.validateHasCounter(this.component._hasCounter),this.validateMaxLength(this.component._maxLength),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateResize(this.component._resize),this.validateRequired(this.component._required),this.validateRows(this.component._rows),this.validateValue(this.component._value)}}const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n .required label > span::after,\n .required legend > span::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n display: block;\n }\n}\n@layer kol-component {\n input,\n textarea {\n cursor: text;\n }\n input[type=checkbox],\n input[type=color],\n input[type=file],\n input[type=radio],\n input[type=range],\n label,\n option,\n select {\n cursor: pointer;\n }\n /* input[type='checkbox'], */\n /* input[type='radio'], */\n /* input[type='range'], */\n input[type=color],\n input[type=date],\n input[type=datetime-local],\n input[type=email],\n input[type=file],\n input[type=month],\n input[type=number],\n input[type=password],\n input[type=search],\n input[type=tel],\n input[type=text],\n input[type=time],\n input[type=url],\n input[type=week],\n select,\n select[multiple] option,\n textarea {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n width: 100%;\n }\n /* needed hack for vertical alignment */\n input[type=file] {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 10) 0.5em;\n }\n /* needed hack for vertical alignment */\n select[multiple] option {\n padding: calc((var(--a11y-min-size) - (16rem / var(--kolibri-root-font-size, 16))) / 2) 0.5em;\n }\n}\n@layer kol-component {\n .kol-input {\n display: grid;\n }\n .kol-input .input-slot {\n flex-grow: 1;\n }\n input:not([type=checkbox], [type=radio]),\n select:not([multiple], [size]) {\n height: 2.75em;\n }\n input:focus,\n option:focus,\n select:focus,\n textarea:focus {\n outline: 0;\n }\n .input {\n display: flex;\n align-items: center;\n }\n .input > .kol-icon {\n display: grid;\n height: var(--a11y-min-size);\n place-items: center;\n }\n .kol-input.required .input-tooltip .span-label::after {\n content: \"*\";\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n}",KolTextareaDefaultStyle0=defaultStyleCss,increaseTextareaHeight=e=>{e.style.overflow="hidden";const t=e.rows,a=e.clientHeight/t;e.rows=1;const n=Math.round(e.scrollHeight/a);return e.rows=t,n},KolTextarea$1=proxyCustomElement(class extends HTMLElement{async getValue(){var e;return null===(e=this.textareaRef)||void 0===e?void 0:e.value}async focus(){await this.kolFocus()}async kolFocus(){var e;null===(e=this.textareaRef)||void 0===e||e.focus()}render(){const{ariaDescribedBy:e}=getRenderStates(this.state),t=showExpertSlot(this.state._label);return h(Host,{key:"2a2bc3078b50d449bacd9e207783512f907b1cd5",class:{"kol-textarea":!0,"has-value":this.state._hasValue}},h(KolInputWcTag,{key:"673e87ea753e3ea6c922ce19ac1d478d5040fe98",class:{textarea:!0,"hide-label":!!this.state._hideLabel,"has-counter":!!this.state._hasCounter},_accessKey:this.state._accessKey,_alert:this.state._alert,_currentLength:this.state._currentLength,_disabled:this.state._disabled,_hideError:this.state._hideError,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icons:this.state._icons,_id:this.state._id,_label:this.state._label,_maxLength:this.state._maxLength,_msg:this.state._msg,_readOnly:this.state._readOnly,_required:this.state._required,_tooltipAlign:this._tooltipAlign,_touched:this.state._touched,onClick:()=>{var e;return null===(e=this.textareaRef)||void 0===e?void 0:e.focus()},role:"presentation"},h("span",{key:"043503d007a8ca6d59bb8f1ed54497c5eb3230cd",slot:"label"},t?h("slot",{name:"expert"}):"string"==typeof this.state._accessKey?h(Fragment,null,h(InternalUnderlinedAccessKey,{accessKey:this.state._accessKey,label:this.state._label})," ",h("span",{class:"access-key-hint","aria-hidden":"true"},this.state._accessKey)):h("span",null,this.state._label)),h("div",{key:"2012d07554ce1aaae67ea73ec90fa6bc055a593e",slot:"input"},h("textarea",Object.assign({key:"826ef896feb252a5d7ec369ab6329388c58c9926",ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,maxlength:this.state._maxLength,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,rows:this.state._rows,placeholder:this.state._placeholder,spellcheck:"false"},this.controller.onFacade,{onInput:this.onInput,style:{resize:this.state._resize},value:this.state._value})))))}constructor(){super(),this.__registerHost(),this.__attachShadow(),this.catchRef=e=>{this.textareaRef=e},this.onInput=e=>{this.textareaRef instanceof HTMLTextAreaElement&&(setState(this,"_currentLength",this.textareaRef.value.length),this.state._adjustHeight&&(this._rows=increaseTextareaHeight(this.textareaRef)),this.controller.onFacade.onInput(e))},this._accessKey=void 0,this._adjustHeight=!1,this._alert=!0,this._disabled=!1,this._error=void 0,this._hasCounter=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._maxLength=void 0,this._msg=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=!1,this._resize="vertical",this._required=!1,this._rows=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_adjustHeight:!1,_currentLength:0,_hasValue:!1,_hideError:!1,_id:`id-${nonce()}`,_label:"",_resize:"vertical"},this.controller=new TextareaController(this,"textarea",this.host)}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAdjustHeight(e){this.controller.validateAdjustHeight(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHasCounter(e){this.controller.validateHasCounter(e)}validateHideError(e){this.controller.validateHideError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcons(e){this.controller.validateIcons(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateMaxLength(e){this.controller.validateMaxLength(e)}validateMsg(e){this.controller.validateMsg(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validatePlaceholder(e){this.controller.validatePlaceholder(e)}validateReadOnly(e){this.controller.validateReadOnly(e)}validateResize(e){"both"!==e&&"horizontal"!==e||devWarning("In version 3 (v3), horizontal resizing is abolished. The corresponding property is then reduced to the properties `none` (default) and `vertical`."),this.controller.validateResize(e)}validateRequired(e){this.controller.validateRequired(e)}validateRows(e){this.controller.validateRows(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentDidLoad(){setTimeout((()=>{var e;!0===this._adjustHeight&&this.textareaRef?this._rows=(null===(e=this.state)||void 0===e?void 0:e._rows)&&this.state._rows>increaseTextareaHeight(this.textareaRef)?this.state._rows:increaseTextareaHeight(this.textareaRef):this._rows||(this._rows=1)}),0)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((e=>this.state._hasValue=!!e))}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}static get style(){return{default:KolTextareaDefaultStyle0}}},[33,"kol-textarea",{_accessKey:[1,"_access-key"],_adjustHeight:[4,"_adjust-height"],_alert:[1540],_disabled:[4],_error:[1],_hasCounter:[4,"_has-counter"],_hideError:[1540,"_hide-error"],_hideLabel:[4,"_hide-label"],_hint:[1],_icons:[16],_id:[1],_label:[1],_maxLength:[2,"_max-length"],_msg:[16],_name:[1],_on:[16],_placeholder:[1],_readOnly:[4,"_read-only"],_resize:[1],_required:[4],_rows:[1026],_syncValueBySelector:[1,"_sync-value-by-selector"],_tabIndex:[2,"_tab-index"],_tooltipAlign:[1,"_tooltip-align"],_touched:[1540],_value:[1],state:[32],getValue:[64],focus:[64],kolFocus:[64]},void 0,{_accessKey:["validateAccessKey"],_adjustHeight:["validateAdjustHeight"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideError:["validateHideError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icons:["validateIcons"],_id:["validateId"],_label:["validateLabel"],_maxLength:["validateMaxLength"],_msg:["validateMsg"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_resize:["validateResize"],_required:["validateRequired"],_rows:["validateRows"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-textarea"].forEach((e=>{if("kol-textarea"===e)customElements.get(e)||customElements.define(e,KolTextarea$1)}))}const KolTextarea=KolTextarea$1,defineCustomElement=defineCustomElement$1;export{KolTextarea,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h,proxyCustomElement,HTMLElement,Host}from"@stencil/core/internal/client";import{t as translate}from"./i18n2.js";import{n as nonce}from"./dev.utils2.js";import{m as KolAlertTag,o as KolButtonTag}from"./component-names.js";const InternalToast=({key:t,onClose:s,onRef:e,toastState:a})=>h("div",{class:`toast ${a.status}`,key:t},h(KolAlertTag,{class:"alert",_alert:!0,_label:a.toast.label,_level:0,_hasCloser:!0,_type:a.toast.type,_variant:a.toast.alertVariant||"card",_on:{onClose:s}},h("div",{ref:e},"string"==typeof a.toast.description?a.toast.description:null))),defaultStyleCss="@layer kol-component {\n :host {\n display: flex;\n flex-direction: column;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n position: fixed;\n z-index: 200;\n }\n .close-all {\n align-self: flex-end;\n }\n}",KolToastContainerDefaultStyle0=defaultStyleCss,TRANSITION_TIMEOUT=300,KolToastContainer$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.knownRenderFunctions=new Set,this.state={_toastStates:[]}}async enqueue(t){const s={toast:t,status:"adding",id:`toast-${nonce()}`};return this.state=Object.assign(Object.assign({},this.state),{_toastStates:[s,...this.state._toastStates]}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((t=>t.id===s.id&&"removing"!==t.status?Object.assign(Object.assign({},t),{status:"settled"}):t))})}),300),()=>{this.handleClose(s)}}handleClose(t){this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((s=>(s.id===t.id&&(s.status="removing"),s)))}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.filter((s=>s.id!==t.id))})}),300)}async closeAll(t=!1){if(t)this.state=Object.assign(Object.assign({},this.state),{_toastStates:[]});else{const t=[...this.state._toastStates];this.state=Object.assign(Object.assign({},this.state),{_toastStates:t.map((t=>Object.assign(Object.assign({},t),{status:"removing"})))}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.filter((s=>t.every((t=>t.id!==s.id))))})}),300)}}handleToastRef(t,s){s&&"function"==typeof t.toast.render&&!this.knownRenderFunctions.has(t.toast.render)&&(this.knownRenderFunctions.add(t.toast.render),t.toast.render(s,{close:()=>this.handleClose(t)}))}render(){return h(Host,{key:"36c5561666fee5691aa7f732dcd90f5e4fe75457",class:"kol-toast-container"},this.state._toastStates.length>1&&h(KolButtonTag,{key:"fe4187d5afff3547776ba89b695386bef8e05c93",_label:translate("kol-toast-close-all"),class:"close-all",_on:{onClick:()=>{this.closeAll()}}}),this.state._toastStates.map((t=>h(InternalToast,{key:t.id,onClose:()=>this.handleClose(t),onRef:s=>this.handleToastRef(t,s),toastState:t}))))}static get style(){return{default:KolToastContainerDefaultStyle0}}},[33,"kol-toast-container",{state:[32],enqueue:[64],closeAll:[64]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-toast-container"].forEach((t=>{if("kol-toast-container"===t)customElements.get(t)||customElements.define(t,KolToastContainer$1)}))}const KolToastContainer=KolToastContainer$1,defineCustomElement=defineCustomElement$1;export{KolToastContainer,defineCustomElement};
4
+ import{h,proxyCustomElement,HTMLElement,Host}from"@stencil/core/internal/client";import{t as translate}from"./i18n2.js";import{n as nonce}from"./dev.utils2.js";import{m as KolAlertTag,o as KolButtonTag}from"./component-names.js";const InternalToast=({key:t,onClose:s,onRef:e,toastState:a})=>h("div",{class:`toast ${a.status}`,key:t},h(KolAlertTag,{class:"alert",_alert:!0,_label:a.toast.label,_level:0,_hasCloser:!0,_type:a.toast.type,_variant:a.toast.alertVariant||"card",_on:{onClose:s}},h("div",{ref:e},"string"==typeof a.toast.description?a.toast.description:null))),defaultStyleCss="@layer kol-component {\n :host {\n display: flex;\n flex-direction: column;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n position: fixed;\n z-index: 200;\n }\n .close-all {\n align-self: flex-end;\n }\n}",KolToastContainerDefaultStyle0=defaultStyleCss,TRANSITION_TIMEOUT=300,KolToastContainer$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.knownRenderFunctions=new Set,this.state={_toastStates:[]}}async enqueue(t){const s={toast:t,status:"adding",id:`toast-${nonce()}`};return this.state=Object.assign(Object.assign({},this.state),{_toastStates:[s,...this.state._toastStates]}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((t=>t.id===s.id&&"removing"!==t.status?Object.assign(Object.assign({},t),{status:"settled"}):t))})}),300),()=>{this.handleClose(s)}}handleClose(t){this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.map((s=>(s.id===t.id&&(s.status="removing"),s)))}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.filter((s=>s.id!==t.id))})}),300)}async closeAll(t=!1){if(t)this.state=Object.assign(Object.assign({},this.state),{_toastStates:[]});else{const t=[...this.state._toastStates];this.state=Object.assign(Object.assign({},this.state),{_toastStates:t.map((t=>Object.assign(Object.assign({},t),{status:"removing"})))}),setTimeout((()=>{this.state=Object.assign(Object.assign({},this.state),{_toastStates:this.state._toastStates.filter((s=>t.every((t=>t.id!==s.id))))})}),300)}}handleToastRef(t,s){s&&"function"==typeof t.toast.render&&!this.knownRenderFunctions.has(t.toast.render)&&(this.knownRenderFunctions.add(t.toast.render),t.toast.render(s,{close:()=>this.handleClose(t)}))}render(){return h(Host,{key:"4d7752f9c0213f4f307f79934a7c36ed0dc62087",class:"kol-toast-container"},this.state._toastStates.length>1&&h(KolButtonTag,{key:"8837aeb34d2d0185e7c69997da07eeb95119177a",_label:translate("kol-toast-close-all"),class:"close-all",_on:{onClick:()=>{this.closeAll()}}}),this.state._toastStates.map((t=>h(InternalToast,{key:t.id,onClose:()=>this.handleClose(t),onRef:s=>this.handleToastRef(t,s),toastState:t}))))}static get style(){return{default:KolToastContainerDefaultStyle0}}},[33,"kol-toast-container",{state:[32],enqueue:[64],closeAll:[64]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-toast-container"].forEach((t=>{if("kol-toast-container"===t)customElements.get(t)||customElements.define(t,KolToastContainer$1)}))}const KolToastContainer=KolToastContainer$1,defineCustomElement=defineCustomElement$1;export{KolToastContainer,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{h as KolLinkTag,o as KolButtonTag}from"./component-names.js";import{A as emptyStringByArrayHandler,g as objectObjectHandler,p as parseJson,b as setState}from"./prop.validators.js";import{v as validateLabel}from"./label.js";const validateToolbarItems=(e,n)=>{emptyStringByArrayHandler(n,(()=>{objectObjectHandler(n,(()=>{void 0===n&&(n=[]);try{n=parseJson(n)}catch(e){}Array.isArray(n)&&n.every((e=>"object"==typeof e&&null!==e))&&setState(e,"_items",n)}))}))},defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .toolbar {\n display: flex;\n align-items: center;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n }\n .toolbar:focus-within {\n outline: 1px solid;\n outline-offset: 2px;\n }\n}",KolToolbarDefaultStyle0=defaultStyleCss,TOOLBAR_ITEM_TAG_NAME="kol-toolbar-item",KolToolbar$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.indexToElement=new Map,this.renderItem=(e,n)=>{const t=n!==this.currentIndex||(null==e?void 0:e._disabled)?-1:0,o={key:n,class:"kol-toolbar-item",_tabIndex:t},i=e=>{e&&this.indexToElement.set(n,e)};return h("_href"in e?KolLinkTag:KolButtonTag,Object.assign({},e,o,{ref:i}))},this.state={_label:"",_items:[]},this.currentIndex=0,this._label=void 0,this._items=void 0}render(){return h(Host,{key:"9f6ed1dc6f76f186fb82cf82c06560692ff3e170",class:"kol-toolbar"},h("div",{key:"0a90aa25fa7522291ebc34adfdd21ac09152bea2",class:"toolbar",role:"toolbar","aria-label":this.state._label},this.state._items.map(this.renderItem)))}validateLabel(e){validateLabel(this,e)}validateItems(e){validateToolbarItems(this,e)}getCurrentToolbarItem(e){return"number"==typeof e?this.indexToElement.get(e):void 0}setFirstEnabledItemIndex(){var e;this.currentIndex=null===(e=this.state._items)||void 0===e?void 0:e.findIndex((e=>!e._disabled))}handleKeyDown(e){var n,t;if(!("ArrowRight"===e.code||"ArrowLeft"===e.code))return;e.preventDefault();const o=(null===(n=this._items)||void 0===n?void 0:n.length)-1,i=this.currentIndex;let a=0;switch(e.code){case"ArrowLeft":a=i!==a?i-1:o;break;case"ArrowRight":o!==i&&(a=i+1)}i!==a&&(this.currentIndex=a,null===(t=this.getCurrentToolbarItem(a))||void 0===t||t.kolFocus())}handleBlur(e){e.target===this.host&&this.setFirstEnabledItemIndex()}componentWillLoad(){this.validateLabel(this._label),this.validateItems(this._items),this.setFirstEnabledItemIndex()}get host(){return this}static get watchers(){return{_label:["validateLabel"],_items:["validateItems"]}}static get style(){return{default:KolToolbarDefaultStyle0}}},[33,"kol-toolbar",{_label:[1],_items:[16],state:[32],currentIndex:[32]},[[0,"keydown","handleKeyDown"],[2,"blur","handleBlur"]],{_label:["validateLabel"],_items:["validateItems"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-toolbar"].forEach((e=>{if("kol-toolbar"===e)customElements.get(e)||customElements.define(e,KolToolbar$1)}))}const KolToolbar=KolToolbar$1,defineCustomElement=defineCustomElement$1;export{KolToolbar,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{h as KolLinkTag,o as KolButtonTag}from"./component-names.js";import{A as emptyStringByArrayHandler,g as objectObjectHandler,p as parseJson,b as setState}from"./prop.validators.js";import{v as validateLabel}from"./label.js";const validateToolbarItems=(e,n)=>{emptyStringByArrayHandler(n,(()=>{objectObjectHandler(n,(()=>{void 0===n&&(n=[]);try{n=parseJson(n)}catch(e){}Array.isArray(n)&&n.every((e=>"object"==typeof e&&null!==e))&&setState(e,"_items",n)}))}))},defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .toolbar {\n display: flex;\n align-items: center;\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n flex-wrap: wrap;\n }\n .toolbar:focus-within {\n outline: 1px solid;\n outline-offset: 2px;\n }\n}",KolToolbarDefaultStyle0=defaultStyleCss,TOOLBAR_ITEM_TAG_NAME="kol-toolbar-item",KolToolbar$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.indexToElement=new Map,this.renderItem=(e,n)=>{const t=n!==this.currentIndex||(null==e?void 0:e._disabled)?-1:0,o={key:n,class:"kol-toolbar-item",_tabIndex:t},i=e=>{e&&this.indexToElement.set(n,e)};return h("_href"in e?KolLinkTag:KolButtonTag,Object.assign({},e,o,{ref:i}))},this.state={_label:"",_items:[]},this.currentIndex=0,this._label=void 0,this._items=void 0}render(){return h(Host,{key:"29b8b51a8b11f85689af5dbfe31df4dca1507ae1",class:"kol-toolbar"},h("div",{key:"2023765a0433e6666e82e79c9c33b59bb741ea2a",class:"toolbar",role:"toolbar","aria-label":this.state._label},this.state._items.map(this.renderItem)))}validateLabel(e){validateLabel(this,e)}validateItems(e){validateToolbarItems(this,e)}getCurrentToolbarItem(e){return"number"==typeof e?this.indexToElement.get(e):void 0}setFirstEnabledItemIndex(){var e;this.currentIndex=null===(e=this.state._items)||void 0===e?void 0:e.findIndex((e=>!e._disabled))}handleKeyDown(e){var n,t;if(!("ArrowRight"===e.code||"ArrowLeft"===e.code))return;e.preventDefault();const o=(null===(n=this._items)||void 0===n?void 0:n.length)-1,i=this.currentIndex;let a=0;switch(e.code){case"ArrowLeft":a=i!==a?i-1:o;break;case"ArrowRight":o!==i&&(a=i+1)}i!==a&&(this.currentIndex=a,null===(t=this.getCurrentToolbarItem(a))||void 0===t||t.kolFocus())}handleBlur(e){e.target===this.host&&this.setFirstEnabledItemIndex()}componentWillLoad(){this.validateLabel(this._label),this.validateItems(this._items),this.setFirstEnabledItemIndex()}get host(){return this}static get watchers(){return{_label:["validateLabel"],_items:["validateItems"]}}static get style(){return{default:KolToolbarDefaultStyle0}}},[33,"kol-toolbar",{_label:[1],_items:[16],state:[32],currentIndex:[32]},[[0,"keydown","handleKeyDown"],[2,"blur","handleBlur"]],{_label:["validateLabel"],_items:["validateItems"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-toolbar"].forEach((e=>{if("kol-toolbar"===e)customElements.get(e)||customElements.define(e,KolToolbar$1)}))}const KolToolbar=KolToolbar$1,defineCustomElement=defineCustomElement$1;export{KolToolbar,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{b as autoUpdate,a as alignFloatingElements}from"./align-floating-elements.js";import{g as KolSpanWcTag}from"./component-names.js";import{e as watchString}from"./prop.validators.js";import{g as getDocument}from"./dev.utils.js";import{v as validateAccessKey}from"./access-key.js";import{a as validateAlign}from"./align.js";import{v as validateLabel}from"./label.js";const validateId=(e,t)=>{watchString(e,"_id",t)},VISIBLE_OVERLAYS=new Set;function showOverlay(e){VISIBLE_OVERLAYS.forEach((e=>{e.style.setProperty("z-index","999")})),VISIBLE_OVERLAYS.add(e),e.style.setProperty("z-index","1000")}function hideOverlay(e){if(VISIBLE_OVERLAYS.delete(e),VISIBLE_OVERLAYS.size>0){const e=Array.from(VISIBLE_OVERLAYS).pop();e&&e.style.setProperty("z-index","1000")}}const styleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.5s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: 10px;\n position: absolute;\n transform: rotate(45deg);\n width: 10px;\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}",KolTooltipWcStyle0=styleCss,KolTooltipWc$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.hasFocusIn=!1,this.hasMouseIn=!1,this.showTooltip=()=>{if(this.previousSibling&&this.tooltipElement){showOverlay(this.tooltipElement),this.tooltipElement.style.setProperty("display","block"),getDocument().addEventListener("keyup",this.hideTooltipByEscape);const e=this.previousSibling,t=this.tooltipElement;this.cleanupAutoPositioning=autoUpdate(e,t,(()=>{this.alignTooltip()}))}},this.hideTooltip=()=>{this.tooltipElement&&(hideOverlay(this.tooltipElement),this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"),this.cleanupAutoPositioning&&(this.cleanupAutoPositioning(),this.cleanupAutoPositioning=void 0)),getDocument().removeEventListener("keyup",this.hideTooltipByEscape)},this.hideTooltipByEscape=e=>{"Escape"===e.key&&this.hideTooltip()},this.addListeners=e=>{e.addEventListener("mouseenter",this.handleMouseEnter.bind(this)),e.addEventListener("mouseleave",this.handleMouseleave.bind(this)),e.addEventListener("focusin",this.handleFocusIn.bind(this)),e.addEventListener("focusout",this.handleFocusout.bind(this))},this.removeListeners=e=>{e.removeEventListener("mouseenter",this.handleMouseEnter.bind(this)),e.removeEventListener("mouseleave",this.handleMouseleave.bind(this)),e.removeEventListener("focusin",this.handleFocusIn.bind(this)),e.removeEventListener("focusout",this.handleFocusout.bind(this))},this.resyncListeners=(e,t,n=!1)=>{e&&this.removeListeners(e),t&&(n&&(this.previousSibling=t),this.addListeners(t))},this.catchTooltipElement=e=>{this.tooltipElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this.showOrHideTooltip=()=>{clearTimeout(this.overFocusTimeout),this.overFocusTimeout=setTimeout((()=>{this.hasMouseIn||this.hasFocusIn?this.showTooltip():this.hideTooltip()}),300)},this._accessKey=void 0,this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_label:""}}async alignTooltip(){this.tooltipElement&&this.previousSibling&&await alignFloatingElements({align:this._align,referenceElement:this.previousSibling,arrowElement:this.arrowElement,floatingElement:this.tooltipElement})}handleMouseEnter(){this.hasMouseIn=!0,this.showOrHideTooltip()}handleMouseleave(){this.hasMouseIn=!1,this.showOrHideTooltip()}handleFocusIn(){this.hasFocusIn=!0,this.showOrHideTooltip()}handleFocusout(){this.hasFocusIn=!1,this.showOrHideTooltip()}render(){return h(Host,{key:"1c7cc2feefe8a7c96cd7b018295299ecefcedbe4",class:"kol-tooltip-wc"},""!==this.state._label&&h("div",{key:"f6bb8c33a660b5748eb14dfa4a2398da38e9be39",class:"tooltip-floating",ref:this.catchTooltipElement},h("div",{key:"900eb0ed9b258c432dd0662dd4f93eb9f894df50",class:"tooltip-area tooltip-arrow",ref:this.catchArrowElement}),h(KolSpanWcTag,{key:"60ccad7c22d86c8d168212223e59ba6790a546c0",class:"tooltip-area tooltip-content",id:this.state._id,_accessKey:this._accessKey,_label:this.state._label})))}validateAccessKey(e){validateAccessKey(this,e)}validateAlign(e){validateAlign(this,e)}validateId(e){validateId(this,e)}validateLabel(e){validateLabel(this,e,{required:!0})}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label)}handleEventListeners(){var e;this.resyncListeners(this.previousSibling,null===(e=this.host)||void 0===e?void 0:e.previousElementSibling,!0),this.resyncListeners(this.tooltipElement,this.tooltipElement)}connectedCallback(){var e;this.previousSibling=null===(e=this.host)||void 0===e?void 0:e.previousElementSibling}componentDidRender(){this.handleEventListeners()}disconnectedCallback(){this.previousSibling&&(this.removeListeners(this.previousSibling),this.previousSibling=void 0),this.tooltipElement&&this.removeListeners(this.tooltipElement),this.cleanupAutoPositioning&&this.cleanupAutoPositioning()}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}static get style(){return KolTooltipWcStyle0}},[0,"kol-tooltip-wc",{_accessKey:[1,"_access-key"],_align:[1],_id:[1],_label:[1],state:[32]},void 0,{_accessKey:["validateAccessKey"],_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tooltip-wc"].forEach((e=>{if("kol-tooltip-wc"===e)customElements.get(e)||customElements.define(e,KolTooltipWc$1)}))}const KolTooltipWc=KolTooltipWc$1,defineCustomElement=defineCustomElement$1;export{KolTooltipWc,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{b as autoUpdate,a as alignFloatingElements}from"./align-floating-elements.js";import{g as KolSpanWcTag}from"./component-names.js";import{e as watchString}from"./prop.validators.js";import{g as getDocument}from"./dev.utils.js";import{v as validateAccessKey}from"./access-key.js";import{a as validateAlign}from"./align.js";import{v as validateLabel}from"./label.js";const validateId=(e,t)=>{watchString(e,"_id",t)},VISIBLE_OVERLAYS=new Set;function showOverlay(e){VISIBLE_OVERLAYS.forEach((e=>{e.style.setProperty("z-index","999")})),VISIBLE_OVERLAYS.add(e),e.style.setProperty("z-index","1000")}function hideOverlay(e){if(VISIBLE_OVERLAYS.delete(e),VISIBLE_OVERLAYS.size>0){const e=Array.from(VISIBLE_OVERLAYS).pop();e&&e.style.setProperty("z-index","1000")}}const styleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .kol-tooltip-wc {\n display: contents;\n }\n .kol-tooltip-wc .tooltip-floating {\n animation-duration: 0.5s;\n animation-iteration-count: 1;\n animation-name: fadeInOpacity;\n animation-timing-function: ease-in;\n box-sizing: border-box;\n display: none;\n position: fixed;\n visibility: hidden;\n /* Avoid layout interference - see https://floating-ui.com/docs/computePosition */\n top: 0;\n left: 0;\n max-width: 90vw;\n max-height: 90vh;\n /* Can be used to specify the tooltip-width from the outside. Unset by default. */\n width: var(--kol-tooltip-width);\n }\n /* Shared between content and arrow */\n .kol-tooltip-wc .tooltip-area {\n background-color: #fff;\n color: #000;\n }\n .kol-tooltip-wc .tooltip-arrow {\n height: 10px;\n position: absolute;\n transform: rotate(45deg);\n width: 10px;\n z-index: 999;\n }\n .kol-tooltip-wc .tooltip-content {\n position: relative;\n z-index: 1000;\n }\n @keyframes fadeInOpacity {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n }\n}",KolTooltipWcStyle0=styleCss,KolTooltipWc$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.hasFocusIn=!1,this.hasMouseIn=!1,this.showTooltip=()=>{if(this.previousSibling&&this.tooltipElement){showOverlay(this.tooltipElement),this.tooltipElement.style.setProperty("display","block"),getDocument().addEventListener("keyup",this.hideTooltipByEscape);const e=this.previousSibling,t=this.tooltipElement;this.cleanupAutoPositioning=autoUpdate(e,t,(()=>{this.alignTooltip()}))}},this.hideTooltip=()=>{this.tooltipElement&&(hideOverlay(this.tooltipElement),this.tooltipElement.style.setProperty("display","none"),this.tooltipElement.style.setProperty("visibility","hidden"),this.cleanupAutoPositioning&&(this.cleanupAutoPositioning(),this.cleanupAutoPositioning=void 0)),getDocument().removeEventListener("keyup",this.hideTooltipByEscape)},this.hideTooltipByEscape=e=>{"Escape"===e.key&&this.hideTooltip()},this.addListeners=e=>{e.addEventListener("mouseenter",this.handleMouseEnter.bind(this)),e.addEventListener("mouseleave",this.handleMouseleave.bind(this)),e.addEventListener("focusin",this.handleFocusIn.bind(this)),e.addEventListener("focusout",this.handleFocusout.bind(this))},this.removeListeners=e=>{e.removeEventListener("mouseenter",this.handleMouseEnter.bind(this)),e.removeEventListener("mouseleave",this.handleMouseleave.bind(this)),e.removeEventListener("focusin",this.handleFocusIn.bind(this)),e.removeEventListener("focusout",this.handleFocusout.bind(this))},this.resyncListeners=(e,t,n=!1)=>{e&&this.removeListeners(e),t&&(n&&(this.previousSibling=t),this.addListeners(t))},this.catchTooltipElement=e=>{this.tooltipElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this.showOrHideTooltip=()=>{clearTimeout(this.overFocusTimeout),this.overFocusTimeout=setTimeout((()=>{this.hasMouseIn||this.hasFocusIn?this.showTooltip():this.hideTooltip()}),300)},this._accessKey=void 0,this._align="top",this._id=void 0,this._label=void 0,this.state={_align:"top",_label:""}}async alignTooltip(){this.tooltipElement&&this.previousSibling&&await alignFloatingElements({align:this._align,referenceElement:this.previousSibling,arrowElement:this.arrowElement,floatingElement:this.tooltipElement})}handleMouseEnter(){this.hasMouseIn=!0,this.showOrHideTooltip()}handleMouseleave(){this.hasMouseIn=!1,this.showOrHideTooltip()}handleFocusIn(){this.hasFocusIn=!0,this.showOrHideTooltip()}handleFocusout(){this.hasFocusIn=!1,this.showOrHideTooltip()}render(){return h(Host,{key:"7ca9fb689361a6f851c60354e6b95fe3cff62024",class:"kol-tooltip-wc"},""!==this.state._label&&h("div",{key:"3a3e7ff629cbcb27527a59e56d69eea8e3820c6b",class:"tooltip-floating",ref:this.catchTooltipElement},h("div",{key:"f76d6505b8e5355079f70c4ab78c13b8d028d0fb",class:"tooltip-area tooltip-arrow",ref:this.catchArrowElement}),h(KolSpanWcTag,{key:"2ad56a436ed23f2b07a2c277b1de2d58794b897e",class:"tooltip-area tooltip-content",id:this.state._id,_accessKey:this._accessKey,_label:this.state._label})))}validateAccessKey(e){validateAccessKey(this,e)}validateAlign(e){validateAlign(this,e)}validateId(e){validateId(this,e)}validateLabel(e){validateLabel(this,e,{required:!0})}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateAlign(this._align),this.validateId(this._id),this.validateLabel(this._label)}handleEventListeners(){var e;this.resyncListeners(this.previousSibling,null===(e=this.host)||void 0===e?void 0:e.previousElementSibling,!0),this.resyncListeners(this.tooltipElement,this.tooltipElement)}connectedCallback(){var e;this.previousSibling=null===(e=this.host)||void 0===e?void 0:e.previousElementSibling}componentDidRender(){this.handleEventListeners()}disconnectedCallback(){this.previousSibling&&(this.removeListeners(this.previousSibling),this.previousSibling=void 0),this.tooltipElement&&this.removeListeners(this.tooltipElement),this.cleanupAutoPositioning&&this.cleanupAutoPositioning()}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}}static get style(){return KolTooltipWcStyle0}},[0,"kol-tooltip-wc",{_accessKey:[1,"_access-key"],_align:[1],_id:[1],_label:[1],state:[32]},void 0,{_accessKey:["validateAccessKey"],_align:["validateAlign"],_id:["validateId"],_label:["validateLabel"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tooltip-wc"].forEach((e=>{if("kol-tooltip-wc"===e)customElements.get(e)||customElements.define(e,KolTooltipWc$1)}))}const KolTooltipWc=KolTooltipWc$1,defineCustomElement=defineCustomElement$1;export{KolTooltipWc,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{e as KolIconTag,n as KolLinkWcTag,x as KolTreeTag}from"./component-names.js";import{n as nonce}from"./dev.utils2.js";import{c as watchBoolean}from"./prop.validators.js";import{v as validateLabel}from"./label.js";import{v as validateOpen}from"./open.js";import{v as validateHref}from"./href.js";const validateActive=(e,t,a)=>{watchBoolean(e,"_active",t,a)},KolTreeItemWc$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.groupId=`tree-group-${nonce()}`,this.renderIcon=e=>h(KolIconTag,{class:"toggle-button-icon",_label:e.label,_icons:e.icon}),this.level=void 0,this.state={_active:!1,_hasChildren:!1,_href:"",_label:"",_open:!1},this._active=void 0,this._label=void 0,this._open=void 0,this._href=void 0}render(){const{_href:e,_active:t,_hasChildren:a,_open:i,_label:l}=this.state;return h(Host,{key:"a7478410c633314ba5b7a9e8588b5b9484efeb94",onSlotchange:this.handleSlotchange.bind(this),class:"kol-tree-item-wc"},h("li",{key:"6c3ad7b0e013ec83d92f0d05a222d0696aa98729",class:"tree-item",style:{"--level":`${this.level}`}},h(KolLinkWcTag,{key:"fbd0b31027e032f6df61652df29a0b37ef67a104",class:{"tree-link":!0,"first-level":0===this.level,active:Boolean(t)},_href:e,_label:"",_role:"treeitem",_tabIndex:t?0:-1,_ariaExpanded:i,_ariaOwns:a?this.groupId:void 0,ref:e=>this.linkElement=e},h("span",{key:"361d16b78885085be82c83e6fe4b8bd83e8274d7",slot:"expert"},a&&h("span",{key:"3a742c6ea9fa940854cb21f1607ab0490c091558",class:"toggle-button",onClick:e=>i?void this.handleCollapseClick(e):void this.handleExpandClick(e)},this.renderIcon({icon:"codicon codicon-"+(i?"chevron-down":"chevron-right"),label:i?"Vorschläge öffnen":"Vorschläge schließen"}))," ",l)),h("ul",{key:"087a87f28d8f06d72cee95f9ab553f7f79e16496",hidden:!a||!i,role:"group",id:this.groupId},h("slot",{key:"8e286b2265806859a9bd61809c6387331df607f3"}))))}validateActive(e){validateActive(this,e||!1)}validateLabel(e){validateLabel(this,e)}validateOpen(e){validateOpen(this,e)}validateHref(e){validateHref(this,e)}componentWillLoad(){this.validateActive(this._active),this.validateLabel(this._label),this.validateOpen(this._open),this.validateHref(this._href),this.checkForChildren(),this.determineTreeItemDepth()}determineTreeItemDepth(){let e=0,t=this.host.parentNode.host.parentNode;for(;null!==t&&t.tagName.toLowerCase()!==KolTreeTag&&t!==document.body;)t=t.parentElement,e+=1;this.level=e}handleSlotchange(){this.checkForChildren()}checkForChildren(){var e,t;this.state=Object.assign(Object.assign({},this.state),{_hasChildren:Boolean(null===(t=null===(e=this.host.querySelector("slot"))||void 0===e?void 0:e.assignedElements)||void 0===t?void 0:t.call(e).length)})}async focusLink(){await this.linkElement.kolFocus()}async handleExpandClick(e){e.preventDefault(),await this.linkElement.kolFocus(),await this.expand()}async expand(){this.state._hasChildren&&(this.state=Object.assign(Object.assign({},this.state),{_open:!0}))}async handleCollapseClick(e){e.preventDefault(),this.linkElement.focus(),await this.collapse()}async collapse(){this.state._hasChildren&&(this.state=Object.assign(Object.assign({},this.state),{_open:!1}))}async isOpen(){var e;return null!==(e=this.state._open)&&void 0!==e&&e}get host(){return this}static get watchers(){return{_active:["validateActive"],_label:["validateLabel"],_open:["validateOpen"],_href:["validateHref"]}}},[4,"kol-tree-item-wc",{_active:[4],_label:[1],_open:[4],_href:[1],level:[32],state:[32],focusLink:[64],expand:[64],collapse:[64],isOpen:[64]},void 0,{_active:["validateActive"],_label:["validateLabel"],_open:["validateOpen"],_href:["validateHref"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree-item-wc"].forEach((e=>{if("kol-tree-item-wc"===e)customElements.get(e)||customElements.define(e,KolTreeItemWc$1)}))}const KolTreeItemWc=KolTreeItemWc$1,defineCustomElement=defineCustomElement$1;export{KolTreeItemWc,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{e as KolIconTag,n as KolLinkWcTag,x as KolTreeTag}from"./component-names.js";import{n as nonce}from"./dev.utils2.js";import{c as watchBoolean}from"./prop.validators.js";import{v as validateLabel}from"./label.js";import{v as validateOpen}from"./open.js";import{v as validateHref}from"./href.js";const validateActive=(e,t,a)=>{watchBoolean(e,"_active",t,a)},KolTreeItemWc$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.groupId=`tree-group-${nonce()}`,this.renderIcon=e=>h(KolIconTag,{class:"toggle-button-icon",_label:e.label,_icons:e.icon}),this.level=void 0,this.state={_active:!1,_hasChildren:!1,_href:"",_label:"",_open:!1},this._active=void 0,this._label=void 0,this._open=void 0,this._href=void 0}render(){const{_href:e,_active:t,_hasChildren:a,_open:i,_label:l}=this.state;return h(Host,{key:"b809b4ed4fdbff0238384909f6394c5c9aa13480",onSlotchange:this.handleSlotchange.bind(this),class:"kol-tree-item-wc"},h("li",{key:"db1b9a71d369f9fc0bcdfba6e22d0c2f6af7a414",class:"tree-item",style:{"--level":`${this.level}`}},h(KolLinkWcTag,{key:"c9a810511651e63203fb27d63259864445f59b29",class:{"tree-link":!0,"first-level":0===this.level,active:Boolean(t)},_href:e,_label:"",_role:"treeitem",_tabIndex:t?0:-1,_ariaExpanded:i,_ariaOwns:a?this.groupId:void 0,ref:e=>this.linkElement=e},h("span",{key:"fd5dcb0bf876292d5303420095cb437d9f757f37",slot:"expert"},a&&h("span",{key:"468187d12a690f7fc5ccc09570d7b2bebd6cee24",class:"toggle-button",onClick:e=>i?void this.handleCollapseClick(e):void this.handleExpandClick(e)},this.renderIcon({icon:"codicon codicon-"+(i?"chevron-down":"chevron-right"),label:i?"Vorschläge öffnen":"Vorschläge schließen"}))," ",l)),h("ul",{key:"2b414e97ffa358b9332573194d450cf8c548a6d6",hidden:!a||!i,role:"group",id:this.groupId},h("slot",{key:"8ea7a3d44e0acb4626b23070dd044b17688313c5"}))))}validateActive(e){validateActive(this,e||!1)}validateLabel(e){validateLabel(this,e)}validateOpen(e){validateOpen(this,e)}validateHref(e){validateHref(this,e)}componentWillLoad(){this.validateActive(this._active),this.validateLabel(this._label),this.validateOpen(this._open),this.validateHref(this._href),this.checkForChildren(),this.determineTreeItemDepth()}determineTreeItemDepth(){let e=0,t=this.host.parentNode.host.parentNode;for(;null!==t&&t.tagName.toLowerCase()!==KolTreeTag&&t!==document.body;)t=t.parentElement,e+=1;this.level=e}handleSlotchange(){this.checkForChildren()}checkForChildren(){var e,t;this.state=Object.assign(Object.assign({},this.state),{_hasChildren:Boolean(null===(t=null===(e=this.host.querySelector("slot"))||void 0===e?void 0:e.assignedElements)||void 0===t?void 0:t.call(e).length)})}async focusLink(){await this.linkElement.kolFocus()}async handleExpandClick(e){e.preventDefault(),await this.linkElement.kolFocus(),await this.expand()}async expand(){this.state._hasChildren&&(this.state=Object.assign(Object.assign({},this.state),{_open:!0}))}async handleCollapseClick(e){e.preventDefault(),this.linkElement.focus(),await this.collapse()}async collapse(){this.state._hasChildren&&(this.state=Object.assign(Object.assign({},this.state),{_open:!1}))}async isOpen(){var e;return null!==(e=this.state._open)&&void 0!==e&&e}get host(){return this}static get watchers(){return{_active:["validateActive"],_label:["validateLabel"],_open:["validateOpen"],_href:["validateHref"]}}},[4,"kol-tree-item-wc",{_active:[4],_label:[1],_open:[4],_href:[1],level:[32],state:[32],focusLink:[64],expand:[64],collapse:[64],isOpen:[64]},void 0,{_active:["validateActive"],_label:["validateLabel"],_open:["validateOpen"],_href:["validateHref"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree-item-wc"].forEach((e=>{if("kol-tree-item-wc"===e)customElements.get(e)||customElements.define(e,KolTreeItemWc$1)}))}const KolTreeItemWc=KolTreeItemWc$1,defineCustomElement=defineCustomElement$1;export{KolTreeItemWc,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h}from"@stencil/core/internal/client";import{w as KolTreeItemWcTag}from"./component-names.js";const defaultStyleCss="@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .tree-link.first-level > a {\n padding-left: calc(6rem / var(--kolibri-root-font-size, 16));\n }\n .tree-link > a {\n padding-right: calc(6rem / var(--kolibri-root-font-size, 16));\n padding-left: calc(1.4rem * var(--level));\n padding-top: calc(6.4rem / var(--kolibri-root-font-size, 16));\n padding-bottom: calc(6.4rem / var(--kolibri-root-font-size, 16));\n }\n a .kol-span-wc {\n display: block;\n }\n}",KolTreeItemDefaultStyle0=defaultStyleCss,KolTreeItem$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._active=void 0,this._label=void 0,this._open=void 0,this._href=void 0}async focusLink(){this.element&&await this.element.focusLink()}async expand(){this.element&&await this.element.expand()}async collapse(){this.element&&await this.element.collapse()}async isOpen(){var e,t;return null!==(t=await(null===(e=this.element)||void 0===e?void 0:e.isOpen()))&&void 0!==t&&t}render(){return h(KolTreeItemWcTag,{key:"ef6ed03ba5870a8becbb286898a5911b5525a21c",class:"kol-tree-item",_active:this._active,_label:this._label,_open:this._open,_href:this._href,ref:e=>this.element=e},h("slot",{key:"f51d43a0a36cfd224a53324068d5ed28e4d9d079"}))}static get style(){return{default:KolTreeItemDefaultStyle0}}},[33,"kol-tree-item",{_active:[4],_label:[1],_open:[4],_href:[1],focusLink:[64],expand:[64],collapse:[64],isOpen:[64]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree-item"].forEach((e=>{if("kol-tree-item"===e)customElements.get(e)||customElements.define(e,KolTreeItem$1)}))}const KolTreeItem=KolTreeItem$1,defineCustomElement=defineCustomElement$1;export{KolTreeItem,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h}from"@stencil/core/internal/client";import{w as KolTreeItemWcTag}from"./component-names.js";const defaultStyleCss="@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .tree-link.first-level > a {\n padding-left: calc(6rem / var(--kolibri-root-font-size, 16));\n }\n .tree-link > a {\n padding-right: calc(6rem / var(--kolibri-root-font-size, 16));\n padding-left: calc(1.4rem * var(--level));\n padding-top: calc(6.4rem / var(--kolibri-root-font-size, 16));\n padding-bottom: calc(6.4rem / var(--kolibri-root-font-size, 16));\n }\n a .kol-span-wc {\n display: block;\n }\n}",KolTreeItemDefaultStyle0=defaultStyleCss,KolTreeItem$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._active=void 0,this._label=void 0,this._open=void 0,this._href=void 0}async focusLink(){this.element&&await this.element.focusLink()}async expand(){this.element&&await this.element.expand()}async collapse(){this.element&&await this.element.collapse()}async isOpen(){var e,t;return null!==(t=await(null===(e=this.element)||void 0===e?void 0:e.isOpen()))&&void 0!==t&&t}render(){return h(KolTreeItemWcTag,{key:"fd5558fc8ed9c498766b0db58544dd8d730448ab",class:"kol-tree-item",_active:this._active,_label:this._label,_open:this._open,_href:this._href,ref:e=>this.element=e},h("slot",{key:"7adb4e2c137ce675c2608e58794ab52646153405"}))}static get style(){return{default:KolTreeItemDefaultStyle0}}},[33,"kol-tree-item",{_active:[4],_label:[1],_open:[4],_href:[1],focusLink:[64],expand:[64],collapse:[64],isOpen:[64]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree-item"].forEach((e=>{if("kol-tree-item"===e)customElements.get(e)||customElements.define(e,KolTreeItem$1)}))}const KolTreeItem=KolTreeItem$1,defineCustomElement=defineCustomElement$1;export{KolTreeItem,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{y as KolTreeItemTag,x as KolTreeTag}from"./component-names.js";import{v as validateLabel}from"./label.js";const KolTreeWc$1=proxyCustomElement(class e extends HTMLElement{constructor(){super(),this.__registerHost(),this.state={_label:""},this._label=void 0}validateLabel(e){validateLabel(this,e)}render(){return h(Host,{key:"d8edad29edf6c40702763ed84d2eff012c17c511",onSlotchange:this.handleSlotchange.bind(this),class:"kol-tree-wc"},h("nav",{key:"f35ee92ece4bdb6375c016cbabba84d8cfa6be25",class:"tree","aria-label":this.state._label},h("ul",{key:"0c2d424ec9f9dcb9d2a115f445cc2aff5dff5864",class:"treeview-navigation",role:"tree","aria-label":this.state._label},h("slot",{key:"5caf2660158c816c84caacc9301a8ce1b22910e3"}))))}static isTreeItem(e){return(null==e?void 0:e.tagName)===KolTreeItemTag.toUpperCase()}componentWillLoad(){this.validateLabel(this._label),this.handleTreeChange(),this.observeChildListMutations()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect()}observeChildListMutations(){this.observer=new MutationObserver(this.handleTreeChange.bind(this)),this.observeTopLevelItems()}handleSlotchange(){this.observeTopLevelItems(),this.handleTreeChange()}observeTopLevelItems(){var e;null===(e=this.getTopLevelTreeItems())||void 0===e||e.forEach((e=>{var t;null===(t=this.observer)||void 0===t||t.observe(e,{childList:!0,subtree:!0})}))}getTopLevelTreeItems(){var t,a,l;return null===(l=null===(a=null===(t=this.host.querySelector("slot"))||void 0===t?void 0:t.assignedNodes)||void 0===a?void 0:a.call(t))||void 0===l?void 0:l.filter(e.isTreeItem)}handleTreeChange(){this.treeItemElements=this.getTreeItemElements(),this.ensureActiveItemVisibility()}getTreeItemElements(){var e;return null===(e=this.getTopLevelTreeItems())||void 0===e?void 0:e.reduce(((e,t)=>{const a=t.querySelectorAll(KolTreeItemTag);return[...e,t,...a]}),[])}async getOpenTreeItemElements(){if(!this.treeItemElements)return;const t=async a=>!e.isTreeItem(a.parentElement)||await a.parentElement.isOpen()&&await t(a.parentElement);return(await Promise.all(this.treeItemElements.map((async e=>({value:e,include:await t(e)}))))).filter((e=>e.include)).map((e=>e.value))}async handleKeyDown(e){var t,a,l,i,n,s,o,r,c;const d=await this.getOpenTreeItemElements(),u=null===(t=document.activeElement)||void 0===t?void 0:t.closest(KolTreeItemTag);if(!d||!u)return;const v=null==d?void 0:d.findIndex((e=>e===u));switch(e.key){case"ArrowDown":await(null===(a=d[v+1])||void 0===a?void 0:a.focusLink()),e.preventDefault();break;case"ArrowUp":await(null===(l=d[v-1])||void 0===l?void 0:l.focusLink()),e.preventDefault();break;case"Right":case"ArrowRight":e.preventDefault(),await u.isOpen()?await(null===(i=d[v+1])||void 0===i?void 0:i.focusLink()):await u.expand();break;case"Left":case"ArrowLeft":if(e.preventDefault(),await u.isOpen())await u.collapse();else{const e=d.findIndex((e=>e===u.parentElement));-1!==e&&await(null===(n=d[e])||void 0===n?void 0:n.focusLink())}break;case"Home":await(null===(s=d[0])||void 0===s?void 0:s.focusLink()),e.preventDefault();break;case"End":await(null===(o=d[d.length-1])||void 0===o?void 0:o.focusLink()),e.preventDefault();break;case null===(r=e.key.match(/[a-zA-Z0-9]/))||void 0===r?void 0:r.input:{const t=e.key.toLowerCase(),a=d.indexOf(u)+1,l=d.concat(d),i=l.slice(a,a+d.length).findIndex((e=>{var a;return null===(a=e.getAttribute("_label"))||void 0===a?void 0:a.trim().toLowerCase().startsWith(t)}));-1!==i&&(await l[a+i].focusLink(),e.preventDefault());break}case"*":{const e=null===(c=u.parentElement)||void 0===c?void 0:c.querySelectorAll(KolTreeItemTag);null==e||e.forEach((e=>{e.expand()}));break}}}async handleFocusOut(e){e.relatedTarget&&!e.relatedTarget.closest(KolTreeTag)&&await this.ensureActiveItemVisibility()}async ensureActiveItemVisibility(){const t=a=>{e.isTreeItem(a.parentElement)&&(a.parentElement.expand(),t(a.parentElement))},a=(()=>{var t,a,l,i;const n=null!==(i=null===(l=null===(a=null===(t=this.host.querySelector("slot"))||void 0===t?void 0:t.assignedNodes)||void 0===a?void 0:a.call(t))||void 0===l?void 0:l.filter(e.isTreeItem))&&void 0!==i?i:[];for(const e of n){if(e._active)return e;const t=e.querySelector(`${KolTreeItemTag}[_active="true"]`);if(t&&t._active)return t}})();a&&t(a)}get host(){return this}static get watchers(){return{_label:["validateLabel"]}}},[4,"kol-tree-wc",{_label:[1],state:[32]},[[0,"keydown","handleKeyDown"],[0,"focusout","handleFocusOut"]],{_label:["validateLabel"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree-wc"].forEach((e=>{if("kol-tree-wc"===e)customElements.get(e)||customElements.define(e,KolTreeWc$1)}))}const KolTreeWc=KolTreeWc$1,defineCustomElement=defineCustomElement$1;export{KolTreeWc,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{y as KolTreeItemTag,x as KolTreeTag}from"./component-names.js";import{v as validateLabel}from"./label.js";const KolTreeWc$1=proxyCustomElement(class e extends HTMLElement{constructor(){super(),this.__registerHost(),this.state={_label:""},this._label=void 0}validateLabel(e){validateLabel(this,e)}render(){return h(Host,{key:"bf4a2dfe1c75d4ff29a1d368fd86561061893e6e",onSlotchange:this.handleSlotchange.bind(this),class:"kol-tree-wc"},h("nav",{key:"8cd53949fc21b0019dcecc9e2a415e08de81d123",class:"tree","aria-label":this.state._label},h("ul",{key:"82e32b092e2a79fc329540612e01e0f7487c1e20",class:"treeview-navigation",role:"tree","aria-label":this.state._label},h("slot",{key:"7cd82152a9915a2e33dc231b1c324427549d688b"}))))}static isTreeItem(e){return(null==e?void 0:e.tagName)===KolTreeItemTag.toUpperCase()}componentWillLoad(){this.validateLabel(this._label),this.handleTreeChange(),this.observeChildListMutations()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect()}observeChildListMutations(){this.observer=new MutationObserver(this.handleTreeChange.bind(this)),this.observeTopLevelItems()}handleSlotchange(){this.observeTopLevelItems(),this.handleTreeChange()}observeTopLevelItems(){var e;null===(e=this.getTopLevelTreeItems())||void 0===e||e.forEach((e=>{var t;null===(t=this.observer)||void 0===t||t.observe(e,{childList:!0,subtree:!0})}))}getTopLevelTreeItems(){var t,l,a;return null===(a=null===(l=null===(t=this.host.querySelector("slot"))||void 0===t?void 0:t.assignedNodes)||void 0===l?void 0:l.call(t))||void 0===a?void 0:a.filter(e.isTreeItem)}handleTreeChange(){this.treeItemElements=this.getTreeItemElements(),this.ensureActiveItemVisibility()}getTreeItemElements(){var e;return null===(e=this.getTopLevelTreeItems())||void 0===e?void 0:e.reduce(((e,t)=>{const l=t.querySelectorAll(KolTreeItemTag);return[...e,t,...l]}),[])}async getOpenTreeItemElements(){if(!this.treeItemElements)return;const t=async l=>!e.isTreeItem(l.parentElement)||await l.parentElement.isOpen()&&await t(l.parentElement);return(await Promise.all(this.treeItemElements.map((async e=>({value:e,include:await t(e)}))))).filter((e=>e.include)).map((e=>e.value))}async handleKeyDown(e){var t,l,a,i,n,s,o,r,c;const d=await this.getOpenTreeItemElements(),u=null===(t=document.activeElement)||void 0===t?void 0:t.closest(KolTreeItemTag);if(!d||!u)return;const v=null==d?void 0:d.findIndex((e=>e===u));switch(e.key){case"ArrowDown":await(null===(l=d[v+1])||void 0===l?void 0:l.focusLink()),e.preventDefault();break;case"ArrowUp":await(null===(a=d[v-1])||void 0===a?void 0:a.focusLink()),e.preventDefault();break;case"Right":case"ArrowRight":e.preventDefault(),await u.isOpen()?await(null===(i=d[v+1])||void 0===i?void 0:i.focusLink()):await u.expand();break;case"Left":case"ArrowLeft":if(e.preventDefault(),await u.isOpen())await u.collapse();else{const e=d.findIndex((e=>e===u.parentElement));-1!==e&&await(null===(n=d[e])||void 0===n?void 0:n.focusLink())}break;case"Home":await(null===(s=d[0])||void 0===s?void 0:s.focusLink()),e.preventDefault();break;case"End":await(null===(o=d[d.length-1])||void 0===o?void 0:o.focusLink()),e.preventDefault();break;case null===(r=e.key.match(/[a-zA-Z0-9]/))||void 0===r?void 0:r.input:{const t=e.key.toLowerCase(),l=d.indexOf(u)+1,a=d.concat(d),i=a.slice(l,l+d.length).findIndex((e=>{var l;return null===(l=e.getAttribute("_label"))||void 0===l?void 0:l.trim().toLowerCase().startsWith(t)}));-1!==i&&(await a[l+i].focusLink(),e.preventDefault());break}case"*":{const e=null===(c=u.parentElement)||void 0===c?void 0:c.querySelectorAll(KolTreeItemTag);null==e||e.forEach((e=>{e.expand()}));break}}}async handleFocusOut(e){e.relatedTarget&&!e.relatedTarget.closest(KolTreeTag)&&await this.ensureActiveItemVisibility()}async ensureActiveItemVisibility(){const t=l=>{e.isTreeItem(l.parentElement)&&(l.parentElement.expand(),t(l.parentElement))},l=(()=>{var t,l,a,i;const n=null!==(i=null===(a=null===(l=null===(t=this.host.querySelector("slot"))||void 0===t?void 0:t.assignedNodes)||void 0===l?void 0:l.call(t))||void 0===a?void 0:a.filter(e.isTreeItem))&&void 0!==i?i:[];for(const e of n){if(e._active)return e;const t=e.querySelector(`${KolTreeItemTag}[_active="true"]`);if(t&&t._active)return t}})();l&&t(l)}get host(){return this}static get watchers(){return{_label:["validateLabel"]}}},[4,"kol-tree-wc",{_label:[1],state:[32]},[[0,"keydown","handleKeyDown"],[0,"focusout","handleFocusOut"]],{_label:["validateLabel"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree-wc"].forEach((e=>{if("kol-tree-wc"===e)customElements.get(e)||customElements.define(e,KolTreeWc$1)}))}const KolTreeWc=KolTreeWc$1,defineCustomElement=defineCustomElement$1;export{KolTreeWc,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{v as KolTreeWcTag}from"./component-names.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .tree ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .tree:focus-within {\n outline: 1px solid;\n outline-offset: 2px;\n }\n}",KolTreeDefaultStyle0=defaultStyleCss,KolTree$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._label=void 0}render(){return h(Host,{key:"dcecaa4251615a78aaa446af89fbdfdd81cc8029",class:"kol-tree"},h(KolTreeWcTag,{key:"ccf2f97fab1be1ea608ac67ed358bc8211ed390f",_label:this._label},h("slot",{key:"891e12670a8bcacc1c219544bbf915705ae6f963"})))}static get style(){return{default:KolTreeDefaultStyle0}}},[33,"kol-tree",{_label:[1]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree"].forEach((n=>{if("kol-tree"===n)customElements.get(n)||customElements.define(n,KolTree$1)}))}const KolTree=KolTree$1,defineCustomElement=defineCustomElement$1;export{KolTree,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{v as KolTreeWcTag}from"./component-names.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n .tree ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n .tree:focus-within {\n outline: 1px solid;\n outline-offset: 2px;\n }\n}",KolTreeDefaultStyle0=defaultStyleCss,KolTree$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._label=void 0}render(){return h(Host,{key:"4eb697e204b62a16ee5b3fd17e78e8b9c5c0c211",class:"kol-tree"},h(KolTreeWcTag,{key:"f13e3b2c6a86533d55fc2108a6eff0087f43b790",_label:this._label},h("slot",{key:"593f174a800c7cc805eca14f8ef28e886415c8a4"})))}static get style(){return{default:KolTreeDefaultStyle0}}},[33,"kol-tree",{_label:[1]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-tree"].forEach((n=>{if("kol-tree"===n)customElements.get(n)||customElements.define(n,KolTree$1)}))}const KolTree=KolTree$1,defineCustomElement=defineCustomElement$1;export{KolTree,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{t as translate}from"./i18n2.js";import{z as KolBadgeTag}from"./component-names.js";import{v as validateLabel}from"./label.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n}",KolVersionDefaultStyle0=defaultStyleCss,KolVersion$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._label=void 0,this.state={_label:"0.0.0-alpha.0"}}render(){return h(Host,{key:"51981d335a1e807d075a5547cb3f1e52b9ce80cc",class:"kol-version"},h(KolBadgeTag,{key:"f2441045e818b8da85adad32303a1a9a289c26c3",_color:"#bec5c9",_icons:{left:{icon:"codicon codicon-versions",label:translate("kol-version")}},_label:this.state._label}))}validateLabel(n){validateLabel(this,n,{required:!0})}componentWillLoad(){this.validateLabel(this._label)}static get watchers(){return{_label:["validateLabel"]}}static get style(){return{default:KolVersionDefaultStyle0}}},[33,"kol-version",{_label:[1],state:[32]},void 0,{_label:["validateLabel"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-version"].forEach((n=>{if("kol-version"===n)customElements.get(n)||customElements.define(n,KolVersion$1)}))}const KolVersion=KolVersion$1,defineCustomElement=defineCustomElement$1;export{KolVersion,defineCustomElement};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{t as translate}from"./i18n2.js";import{z as KolBadgeTag}from"./component-names.js";import{v as validateLabel}from"./label.js";const defaultStyleCss="/*\n * This file contains all rules for accessibility.\n */\n@layer kol-global {\n :host {\n /*\n * Minimum size of interactive elements.\n */\n --a11y-min-size: 44px;\n /*\n * No element should be used without a background and font color whose contrast ratio has\n * not been checked. By initially setting the background color to white and the font color\n * to black, the contrast ratio is ensured and explicit adjustment is forced.\n */\n background-color: white;\n color: black;\n /*\n * Verdana is an accessible font that can be used without requiring additional loading time.\n */\n font-family: Verdana;\n }\n * {\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n hyphens: auto;\n /*\n * Letter spacing is required for all texts.\n */\n letter-spacing: inherit;\n /*\n * This rule enables the word dividing for all texts. That is important for high zoom levels.\n */\n word-break: break-word;\n /*\n * Word spacing is required for all texts.\n */\n word-spacing: inherit;\n }\n /*\n * All interactive elements should have a minimum size of 44px.\n */\n /* input:not([type='checkbox'], [type='radio'], [type='range']), */\n /* option, */\n /* select, */\n /* textarea, */\n [role=button],\n button:not([role=link]),\n .kol-input .input {\n min-height: var(--a11y-min-size);\n min-width: var(--a11y-min-size);\n }\n /*\n * Some interactive elements should not inherit the font-family and font-size.\n */\n a,\n button,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n input,\n option,\n select,\n textarea {\n /*\n * All elements should inherit the font family from his parent element.\n */\n font-family: inherit;\n /*\n * All elements should inherit the font size from his parent element.\n */\n font-size: inherit;\n }\n}\n/**\n * Sometimes we need the semantic element for accessibility reasons,\n * but we don't want to show it.\n *\n * - https://www.a11yproject.com/posts/how-to-hide-content/\n */\n.visually-hidden {\n clip: rect(0 0 0 0);\n clip-path: inset(50%);\n height: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n\n@layer kol-global {\n /*\n * Dieses CSS stellt sicher, dass der Standard-Style\n * von A und Button resettet werden.\n */\n :is(a, button) {\n background-color: transparent;\n border: none;\n margin: 0;\n padding: 0;\n width: 100%; /* 100% needed for custom width from outside */\n }\n /*\n * Ensure elements with hidden attribute to be actually not visible\n * @see https://meowni.ca/hidden.is.a.lie.html\n */\n [hidden] {\n display: none !important;\n }\n}\n@layer kol-global {\n :host {\n /*\n * The max-width is needed to prevent the table from overflowing the\n * parent node, if the table is wider than the parent node.\n */\n max-width: 100%;\n }\n * {\n /*\n * We prefer to box-sizing: border-box for all elements.\n */\n box-sizing: border-box;\n }\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n .kol-span-wc {\n display: grid;\n place-items: center;\n }\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n .kol-span-wc > span {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n /* This is the text label. */\n .hide-label > .kol-span-wc > span > span {\n display: none;\n }\n /* Reset browser agent style. */\n button:disabled {\n color: unset;\n }\n .disabled label,\n .disabled:focus-within label,\n [aria-disabled=true],\n [aria-disabled=true]:focus,\n [disabled],\n [disabled]:focus {\n cursor: not-allowed;\n opacity: 0.5;\n outline: none;\n }\n [aria-disabled=true]:focus .kol-span-wc,\n [disabled]:focus .kol-span-wc {\n outline: none !important;\n }\n}\n@layer kol-component {\n :host {\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n }\n}",KolVersionDefaultStyle0=defaultStyleCss,KolVersion$1=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this._label=void 0,this.state={_label:"0.0.0-alpha.0"}}render(){return h(Host,{key:"a4c3e7f9b27e9839b0d55418532cdbf2eebed285",class:"kol-version"},h(KolBadgeTag,{key:"b22098b308a2b0513068a25ff758368c116efdde",_color:"#bec5c9",_icons:{left:{icon:"codicon codicon-versions",label:translate("kol-version")}},_label:this.state._label}))}validateLabel(n){validateLabel(this,n,{required:!0})}componentWillLoad(){this.validateLabel(this._label)}static get watchers(){return{_label:["validateLabel"]}}static get style(){return{default:KolVersionDefaultStyle0}}},[33,"kol-version",{_label:[1],state:[32]},void 0,{_label:["validateLabel"]}]);function defineCustomElement$1(){if("undefined"==typeof customElements)return;["kol-version"].forEach((n=>{if("kol-version"===n)customElements.get(n)||customElements.define(n,KolVersion$1)}))}const KolVersion=KolVersion$1,defineCustomElement=defineCustomElement$1;export{KolVersion,defineCustomElement};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h,F as Fragment}from"./index-b5e5a1b4.js";const InternalUnderlinedAccessKey=({accessKey:e,label:n})=>{let[l,...t]=n.split(e);return 0===t.length&&(e=e.toUpperCase(),[l,...t]=n.split(e)),0===t.length&&(e=e.toLowerCase(),[l,...t]=n.split(e)),h(Fragment,null,l,t.length?h(Fragment,null,h("u",null,e),t.join(e)):null)};export{InternalUnderlinedAccessKey as I};
4
+ import{h,F as Fragment}from"./index-22a31dab.js";const InternalUnderlinedAccessKey=({accessKey:e,label:n})=>{let[l,...t]=n.split(e);return 0===t.length&&(e=e.toUpperCase(),[l,...t]=n.split(e)),0===t.length&&(e=e.toLowerCase(),[l,...t]=n.split(e)),h(Fragment,null,l,t.length?h(Fragment,null,h("u",null,e),t.join(e)):null)};export{InternalUnderlinedAccessKey as I};
@@ -1 +1 @@
1
- {"file":"InternalUnderlinedAccessKey-4607eee7.js","mappings":";;;;;MAMa,2BAA2B,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAS;IAEtE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC1C;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC1C;IACD,QACC;QACE,KAAK;QACL,IAAI,CAAC,MAAM,IACX;YACC,aAAI,SAAS,CAAK;YACjB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CACnB,IACA,IAAI,CACN,EACF;AACH;;;;","names":[],"sources":["src/components/span/InternalUnderlinedAccessKey.tsx"],"sourcesContent":["import { Fragment, h } from '@stencil/core';\n\ntype Props = {\n\taccessKey: string;\n\tlabel: string;\n};\nexport const InternalUnderlinedAccessKey = ({ accessKey, label }: Props) => {\n\t/* Prefer capitalization as defined in the access key, try uppercase/lowercase when there's no match. */\n\tlet [first, ...rest] = label.split(accessKey);\n\tif (rest.length === 0) {\n\t\taccessKey = accessKey.toUpperCase();\n\t\t[first, ...rest] = label.split(accessKey);\n\t}\n\tif (rest.length === 0) {\n\t\taccessKey = accessKey.toLowerCase();\n\t\t[first, ...rest] = label.split(accessKey);\n\t}\n\treturn (\n\t\t<>\n\t\t\t{first}\n\t\t\t{rest.length ? (\n\t\t\t\t<>\n\t\t\t\t\t<u>{accessKey}</u>\n\t\t\t\t\t{rest.join(accessKey)}\n\t\t\t\t</>\n\t\t\t) : null}\n\t\t</>\n\t);\n};\n"],"version":3}
1
+ {"file":"InternalUnderlinedAccessKey-5c8d29fc.js","mappings":";;;;;MAMa,2BAA2B,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAS;IAEtE,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC1C;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACtB,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KAC1C;IACD,QACC;QACE,KAAK;QACL,IAAI,CAAC,MAAM,IACX;YACC,aAAI,SAAS,CAAK;YACjB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CACnB,IACA,IAAI,CACN,EACF;AACH;;;;","names":[],"sources":["src/components/span/InternalUnderlinedAccessKey.tsx"],"sourcesContent":["import { Fragment, h } from '@stencil/core';\n\ntype Props = {\n\taccessKey: string;\n\tlabel: string;\n};\nexport const InternalUnderlinedAccessKey = ({ accessKey, label }: Props) => {\n\t/* Prefer capitalization as defined in the access key, try uppercase/lowercase when there's no match. */\n\tlet [first, ...rest] = label.split(accessKey);\n\tif (rest.length === 0) {\n\t\taccessKey = accessKey.toUpperCase();\n\t\t[first, ...rest] = label.split(accessKey);\n\t}\n\tif (rest.length === 0) {\n\t\taccessKey = accessKey.toLowerCase();\n\t\t[first, ...rest] = label.split(accessKey);\n\t}\n\treturn (\n\t\t<>\n\t\t\t{first}\n\t\t\t{rest.length ? (\n\t\t\t\t<>\n\t\t\t\t\t<u>{accessKey}</u>\n\t\t\t\t\t{rest.join(accessKey)}\n\t\t\t\t</>\n\t\t\t) : null}\n\t\t</>\n\t);\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{s as se,j}from"./index-db4aa6e4.js";import{a as setMode}from"./index-b5e5a1b4.js";import{L as Log}from"./dev.utils-1ca991a2.js";setMode((o=>{try{o.shadowRoot instanceof ShadowRoot&&se(o,j(o))}catch(o){}return"default"})),import("./devtools-6b1e2c90.js").then((o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()})).catch((o=>{Log.error(o)}));const globalFn=()=>{},appGlobalScript=globalFn,globalScripts=appGlobalScript;export{globalScripts as g};
4
+ import{s as se,j}from"./index-db4aa6e4.js";import{a as setMode}from"./index-22a31dab.js";import{L as Log}from"./dev.utils-1ca991a2.js";setMode((o=>{try{o.shadowRoot instanceof ShadowRoot&&se(o,j(o))}catch(o){}return"default"})),import("./devtools-6ea9df1d.js").then((o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()})).catch((o=>{Log.error(o)}));const globalFn=()=>{},appGlobalScript=globalFn,globalScripts=appGlobalScript;export{globalScripts as g};
@@ -1 +1 @@
1
- {"file":"app-globals-703ac18d.js","mappings":";;;;;;;AAKA,OAAO,CAAC,CAAC,GAAG;IACX,IAAI;QACH,IAAI,GAAG,CAAC,UAAU,YAAY,UAAU,EAAE;YACzCA,EAAa,CAAC,GAAG,EAAEC,CAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;KACD;IAAC,OAAO,KAAK,EAAE;KAMf;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,wBAAY,CAAC;KAClB,IAAI,CAAC,CAAC,QAAQ;IACd,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;QACnG,QAAQ,CAAC,UAAU,EAAE,CAAC;KACtB;AACF,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK;IACZ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;;;;AC3BQ,MAAC,aAAa,GAAG;;;;","names":["setThemeStyle","getThemeDetails"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from 'adopted-style-sheets';\n\nimport { Log } from '../schema';\nimport { setMode } from '@stencil/core';\n\nsetMode((elm) => {\n\ttry {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t} catch (error) {\n\t\t/**\n\t\t * Try is needed for SSR.\n\t\t * - no HTMLElement is available\n\t\t * - no ShadowRoot is available\n\t\t */\n\t}\n\treturn 'default';\n});\n\nimport('./devtools')\n\t.then((devTools) => {\n\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\tdevTools.initialize();\n\t\t}\n\t})\n\t.catch((error) => {\n\t\tLog.error(error);\n\t});\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
1
+ {"file":"app-globals-71552c42.js","mappings":";;;;;;;AAKA,OAAO,CAAC,CAAC,GAAG;IACX,IAAI;QACH,IAAI,GAAG,CAAC,UAAU,YAAY,UAAU,EAAE;YACzCA,EAAa,CAAC,GAAG,EAAEC,CAAe,CAAC,GAAG,CAAC,CAAC,CAAC;SACzC;KACD;IAAC,OAAO,KAAK,EAAE;KAMf;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,wBAAY,CAAC;KAClB,IAAI,CAAC,CAAC,QAAQ;IACd,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,UAAU,EAAE;QACnG,QAAQ,CAAC,UAAU,EAAE,CAAC;KACtB;AACF,CAAC,CAAC;KACD,KAAK,CAAC,CAAC,KAAK;IACZ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;;;;AC3BQ,MAAC,aAAa,GAAG;;;;","names":["setThemeStyle","getThemeDetails"],"sources":["src/global/script.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { getThemeDetails, setThemeStyle } from 'adopted-style-sheets';\n\nimport { Log } from '../schema';\nimport { setMode } from '@stencil/core';\n\nsetMode((elm) => {\n\ttry {\n\t\tif (elm.shadowRoot instanceof ShadowRoot) {\n\t\t\tsetThemeStyle(elm, getThemeDetails(elm));\n\t\t}\n\t} catch (error) {\n\t\t/**\n\t\t * Try is needed for SSR.\n\t\t * - no HTMLElement is available\n\t\t * - no ShadowRoot is available\n\t\t */\n\t}\n\treturn 'default';\n});\n\nimport('./devtools')\n\t.then((devTools) => {\n\t\tif (typeof devTools === 'object' && devTools !== null && typeof devTools.initialize === 'function') {\n\t\t\tdevTools.initialize();\n\t\t}\n\t})\n\t.catch((error) => {\n\t\tLog.error(error);\n\t});\n","import appGlobalScript from '/home/runner/work/kolibri/kolibri/packages/components/src/global/script.ts';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ let KolAbbrTag="kol-abbr",KolAccordionTag="kol-accordion",KolAlertTag="kol-alert",KolAlertWcTag="kol-alert-wc",KolAvatarTag="kol-avatar",KolAvatarWcTag="kol-avatar-wc",KolBadgeTag="kol-badge",KolBreadcrumbTag="kol-breadcrumb",KolButtonGroupTag="kol-button-group",KolButtonGroupWcTag="kol-button-group-wc",KolButtonLinkTag="kol-button-link",KolButtonTag="kol-button",KolButtonWcTag="kol-button-wc",KolCardTag="kol-card",KolDetailsTag="kol-details",KolDrawerTag="kol-drawer",KolFormTag="kol-form",KolHeadingTag="kol-heading",KolHeadingWcTag="kol-heading-wc",KolIconTag="kol-icon",KolImageTag="kol-image",KolIndentedTextTag="kol-indented-text",KolInputCheckboxTag="kol-input-checkbox",KolInputColorTag="kol-input-color",KolInputDateTag="kol-input-date",KolInputEmailTag="kol-input-email",KolInputFileTag="kol-input-file",KolInputNumberTag="kol-input-number",KolInputPasswordTag="kol-input-password",KolInputRadioTag="kol-input-radio",KolInputRangeTag="kol-input-range",KolInputWcTag="kol-input",KolInputTextTag="kol-input-text",KolKolibriTag="kol-kolibri",KolLinkButtonTag="kol-link-button",KolLinkGroupTag="kol-link-group",KolLinkTag="kol-link",KolLinkWcTag="kol-link-wc",KolLogoTag="kol-logo",KolModalTag="kol-modal",KolNavTag="kol-nav",KolPaginationTag="kol-pagination",KolPopoverWcTag="kol-popover-wc",KolProgressTag="kol-progress",KolQuoteTag="kol-quote",KolSelectTag="kol-select",KolSkipNavTag="kol-skip-nav",KolSpanWcTag="kol-span-wc",KolSpinTag="kol-spin",KolSplitButtonTag="kol-split-button",KolSymbolTag="kol-symbol",KolTableStatefulTag="kol-table-stateful",KolTableStatelessTag="kol-table-stateless",KolTableStatelessWcTag="kol-table-stateless-wc",KolTableTag="kol-table",KolTabsTag="kol-tabs",KolTextareaTag="kol-textarea",KolToastContainerTag="kol-toast-container",KolTooltipWcTag="kol-tooltip-wc",KolTreeItemTag="kol-tree-item",KolTreeItemWcTag="kol-tree-item-wc",KolTreeTag="kol-tree",KolTreeWcTag="kol-tree-wc",KolVersionTag="kol-version";const setCustomTagNames=o=>{KolAbbrTag=o(KolAbbrTag),KolAccordionTag=o(KolAccordionTag),KolAlertTag=o(KolAlertTag),KolAlertWcTag=o(KolAlertWcTag),KolAvatarTag=o(KolAvatarTag),KolAvatarWcTag=o(KolAvatarWcTag),KolBadgeTag=o(KolBadgeTag),KolBreadcrumbTag=o(KolBreadcrumbTag),KolButtonGroupTag=o(KolButtonGroupTag),KolButtonGroupWcTag=o(KolButtonGroupWcTag),KolButtonLinkTag=o(KolButtonLinkTag),KolButtonTag=o(KolButtonTag),KolButtonWcTag=o(KolButtonWcTag),KolCardTag=o(KolCardTag),KolDetailsTag=o(KolDetailsTag),KolDrawerTag=o(KolDrawerTag),KolFormTag=o(KolFormTag),KolHeadingTag=o(KolHeadingTag),KolHeadingWcTag=o(KolHeadingWcTag),KolIconTag=o(KolIconTag),KolImageTag=o(KolImageTag),KolIndentedTextTag=o(KolIndentedTextTag),KolInputCheckboxTag=o(KolInputCheckboxTag),KolInputColorTag=o(KolInputColorTag),KolInputDateTag=o(KolInputDateTag),KolInputEmailTag=o(KolInputEmailTag),KolInputFileTag=o(KolInputFileTag),KolInputNumberTag=o(KolInputNumberTag),KolInputPasswordTag=o(KolInputPasswordTag),KolInputRadioTag=o(KolInputRadioTag),KolInputRangeTag=o(KolInputRangeTag),KolInputWcTag=o(KolInputWcTag),KolInputTextTag=o(KolInputTextTag),KolKolibriTag=o(KolKolibriTag),KolLinkButtonTag=o(KolLinkButtonTag),KolLinkGroupTag=o(KolLinkGroupTag),KolLinkTag=o(KolLinkTag),KolLinkWcTag=o(KolLinkWcTag),KolLogoTag=o(KolLogoTag),KolModalTag=o(KolModalTag),KolNavTag=o(KolNavTag),KolPaginationTag=o(KolPaginationTag),KolPopoverWcTag=o(KolPopoverWcTag),KolProgressTag=o(KolProgressTag),KolQuoteTag=o(KolQuoteTag),KolSelectTag=o(KolSelectTag),KolSkipNavTag=o(KolSkipNavTag),KolSpanWcTag=o(KolSpanWcTag),KolSpinTag=o(KolSpinTag),KolSplitButtonTag=o(KolSplitButtonTag),KolSymbolTag=o(KolSymbolTag),KolTableStatefulTag=o(KolTableStatefulTag),KolTableStatelessTag=o(KolTableStatelessTag),KolTableStatelessWcTag=o(KolTableStatelessWcTag),KolTableTag=o(KolTableTag),KolTabsTag=o(KolTabsTag),KolTextareaTag=o(KolTextareaTag),KolToastContainerTag=o(KolToastContainerTag),o(KolTooltipWcTag),KolTooltipWcTag=o(KolTooltipWcTag),KolTreeItemTag=o(KolTreeItemTag),KolTreeItemWcTag=o(KolTreeItemWcTag),KolTreeTag=o(KolTreeTag),KolTreeWcTag=o(KolTreeWcTag),KolVersionTag=o(KolVersionTag)};export{KolToastContainerTag as K,KolTooltipWcTag as a,KolHeadingWcTag as b,KolButtonWcTag as c,KolAlertWcTag as d,KolAvatarWcTag as e,KolSpanWcTag as f,KolIconTag as g,KolLinkTag as h,KolButtonGroupWcTag as i,KolIndentedTextTag as j,KolAlertTag as k,KolInputWcTag as l,KolFormTag as m,KolLinkWcTag as n,KolButtonTag as o,KolSelectTag as p,KolTableStatefulTag as q,KolTableStatelessWcTag as r,setCustomTagNames as s,KolPaginationTag as t,KolTreeWcTag as u,KolTreeItemWcTag as v,KolBadgeTag as w,KolInputCheckboxTag as x,KolTreeTag as y,KolTreeItemTag as z};
@@ -0,0 +1 @@
1
+ {"file":"component-names-3f4a13bb.js","mappings":"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","names":[],"sources":["src/core/component-names.ts"],"sourcesContent":["export let KolAbbrTag = 'kol-abbr' as const;\nexport let KolAccordionTag = 'kol-accordion' as const;\nexport let KolAlertTag = 'kol-alert' as const;\nexport let KolAlertWcTag = 'kol-alert-wc' as const;\nexport let KolAvatarTag = 'kol-avatar' as const;\nexport let KolAvatarWcTag = 'kol-avatar-wc' as const;\nexport let KolBadgeTag = 'kol-badge' as const;\nexport let KolBreadcrumbTag = 'kol-breadcrumb' as const;\nexport let KolButtonGroupTag = 'kol-button-group' as const;\nexport let KolButtonGroupWcTag = 'kol-button-group-wc' as const;\nexport let KolButtonLinkTag = 'kol-button-link' as const;\nexport let KolButtonTag = 'kol-button' as const;\nexport let KolButtonWcTag = 'kol-button-wc' as const;\nexport let KolCardTag = 'kol-card' as const;\nexport let KolDetailsTag = 'kol-details' as const;\nexport let KolDrawerTag = 'kol-drawer' as const;\nexport let KolFormTag = 'kol-form' as const;\nexport let KolHeadingTag = 'kol-heading' as const;\nexport let KolHeadingWcTag = 'kol-heading-wc' as const;\nexport let KolIconTag = 'kol-icon' as const;\nexport let KolImageTag = 'kol-image' as const;\nexport let KolIndentedTextTag = 'kol-indented-text' as const;\nexport let KolInputCheckboxTag = 'kol-input-checkbox' as const;\nexport let KolInputColorTag = 'kol-input-color' as const;\nexport let KolInputDateTag = 'kol-input-date' as const;\nexport let KolInputEmailTag = 'kol-input-email' as const;\nexport let KolInputFileTag = 'kol-input-file' as const;\nexport let KolInputNumberTag = 'kol-input-number' as const;\nexport let KolInputPasswordTag = 'kol-input-password' as const;\nexport let KolInputRadioTag = 'kol-input-radio' as const;\nexport let KolInputRangeTag = 'kol-input-range' as const;\nexport let KolInputWcTag = 'kol-input' as const;\nexport let KolInputTextTag = 'kol-input-text' as const;\nexport let KolKolibriTag = 'kol-kolibri' as const;\nexport let KolLinkButtonTag = 'kol-link-button' as const;\nexport let KolLinkGroupTag = 'kol-link-group' as const;\nexport let KolLinkTag = 'kol-link' as const;\nexport let KolLinkWcTag = 'kol-link-wc' as const;\nexport let KolLogoTag = 'kol-logo' as const;\nexport let KolModalTag = 'kol-modal' as const;\nexport let KolNavTag = 'kol-nav' as const;\nexport let KolPaginationTag = 'kol-pagination' as const;\nexport let KolPopoverWcTag = 'kol-popover-wc' as const;\nexport let KolProgressTag = 'kol-progress' as const;\nexport let KolQuoteTag = 'kol-quote' as const;\nexport let KolSelectTag = 'kol-select' as const;\nexport let KolSkipNavTag = 'kol-skip-nav' as const;\nexport let KolSpanWcTag = 'kol-span-wc' as const;\nexport let KolSpinTag = 'kol-spin' as const;\nexport let KolSplitButtonTag = 'kol-split-button' as const;\nexport let KolSymbolTag = 'kol-symbol' as const;\nexport let KolTableStatefulTag = 'kol-table-stateful';\nexport let KolTableStatelessTag = 'kol-table-stateless' as const;\nexport let KolTableStatelessWcTag = 'kol-table-stateless-wc' as const;\nexport let KolTableTag = 'kol-table' as const;\nexport let KolTabsTag = 'kol-tabs' as const;\nexport let KolTextareaTag = 'kol-textarea' as const;\nexport let KolToastContainerTag = 'kol-toast-container' as const;\nexport let KolToolbarTag = 'kol-toolbar' as const;\nexport let KolTooltipWcTag = 'kol-tooltip-wc' as const;\nexport let KolTreeItemTag = 'kol-tree-item' as const;\nexport let KolTreeItemWcTag = 'kol-tree-item-wc' as const;\nexport let KolTreeTag = 'kol-tree' as const;\nexport let KolTreeWcTag = 'kol-tree-wc' as const;\nexport let KolVersionTag = 'kol-version' as const;\n\nexport const setCustomTagNames = (transformTagName: (tagName: string) => string) => {\n\tKolAbbrTag = transformTagName(KolAbbrTag as string) as 'kol-abbr';\n\tKolAccordionTag = transformTagName(KolAccordionTag as string) as 'kol-accordion';\n\tKolAlertTag = transformTagName(KolAlertTag as string) as 'kol-alert';\n\tKolAlertWcTag = transformTagName(KolAlertWcTag as string) as 'kol-alert-wc';\n\tKolAvatarTag = transformTagName(KolAvatarTag as string) as 'kol-avatar';\n\tKolAvatarWcTag = transformTagName(KolAvatarWcTag as string) as 'kol-avatar-wc';\n\tKolBadgeTag = transformTagName(KolBadgeTag as string) as 'kol-badge';\n\tKolBreadcrumbTag = transformTagName(KolBreadcrumbTag as string) as 'kol-breadcrumb';\n\tKolButtonGroupTag = transformTagName(KolButtonGroupTag as string) as 'kol-button-group';\n\tKolButtonGroupWcTag = transformTagName(KolButtonGroupWcTag as string) as 'kol-button-group-wc';\n\tKolButtonLinkTag = transformTagName(KolButtonLinkTag as string) as 'kol-button-link';\n\tKolButtonTag = transformTagName(KolButtonTag as string) as 'kol-button';\n\tKolButtonWcTag = transformTagName(KolButtonWcTag as string) as 'kol-button-wc';\n\tKolCardTag = transformTagName(KolCardTag as string) as 'kol-card';\n\tKolDetailsTag = transformTagName(KolDetailsTag as string) as 'kol-details';\n\tKolDrawerTag = transformTagName(KolDrawerTag as string) as 'kol-drawer';\n\tKolFormTag = transformTagName(KolFormTag as string) as 'kol-form';\n\tKolHeadingTag = transformTagName(KolHeadingTag as string) as 'kol-heading';\n\tKolHeadingWcTag = transformTagName(KolHeadingWcTag as string) as 'kol-heading-wc';\n\tKolIconTag = transformTagName(KolIconTag as string) as 'kol-icon';\n\tKolImageTag = transformTagName(KolImageTag as string) as 'kol-image';\n\tKolIndentedTextTag = transformTagName(KolIndentedTextTag as string) as 'kol-indented-text';\n\tKolInputCheckboxTag = transformTagName(KolInputCheckboxTag as string) as 'kol-input-checkbox';\n\tKolInputColorTag = transformTagName(KolInputColorTag as string) as 'kol-input-color';\n\tKolInputDateTag = transformTagName(KolInputDateTag as string) as 'kol-input-date';\n\tKolInputEmailTag = transformTagName(KolInputEmailTag as string) as 'kol-input-email';\n\tKolInputFileTag = transformTagName(KolInputFileTag as string) as 'kol-input-file';\n\tKolInputNumberTag = transformTagName(KolInputNumberTag as string) as 'kol-input-number';\n\tKolInputPasswordTag = transformTagName(KolInputPasswordTag as string) as 'kol-input-password';\n\tKolInputRadioTag = transformTagName(KolInputRadioTag as string) as 'kol-input-radio';\n\tKolInputRangeTag = transformTagName(KolInputRangeTag as string) as 'kol-input-range';\n\tKolInputWcTag = transformTagName(KolInputWcTag as string) as 'kol-input';\n\tKolInputTextTag = transformTagName(KolInputTextTag as string) as 'kol-input-text';\n\tKolKolibriTag = transformTagName(KolKolibriTag as string) as 'kol-kolibri';\n\tKolLinkButtonTag = transformTagName(KolLinkButtonTag as string) as 'kol-link-button';\n\tKolLinkGroupTag = transformTagName(KolLinkGroupTag as string) as 'kol-link-group';\n\tKolLinkTag = transformTagName(KolLinkTag as string) as 'kol-link';\n\tKolLinkWcTag = transformTagName(KolLinkWcTag as string) as 'kol-link-wc';\n\tKolLogoTag = transformTagName(KolLogoTag as string) as 'kol-logo';\n\tKolModalTag = transformTagName(KolModalTag as string) as 'kol-modal';\n\tKolNavTag = transformTagName(KolNavTag as string) as 'kol-nav';\n\tKolPaginationTag = transformTagName(KolPaginationTag as string) as 'kol-pagination';\n\tKolPopoverWcTag = transformTagName(KolPopoverWcTag as string) as 'kol-popover-wc';\n\tKolProgressTag = transformTagName(KolProgressTag as string) as 'kol-progress';\n\tKolQuoteTag = transformTagName(KolQuoteTag as string) as 'kol-quote';\n\tKolSelectTag = transformTagName(KolSelectTag as string) as 'kol-select';\n\tKolSkipNavTag = transformTagName(KolSkipNavTag as string) as 'kol-skip-nav';\n\tKolSpanWcTag = transformTagName(KolSpanWcTag as string) as 'kol-span-wc';\n\tKolSpinTag = transformTagName(KolSpinTag as string) as 'kol-spin';\n\tKolSplitButtonTag = transformTagName(KolSplitButtonTag as string) as 'kol-split-button';\n\tKolSymbolTag = transformTagName(KolSymbolTag as string) as 'kol-symbol';\n\tKolTableStatefulTag = transformTagName(KolTableStatefulTag) as 'kol-table-stateful';\n\tKolTableStatelessTag = transformTagName(KolTableStatelessTag as string) as 'kol-table-stateless';\n\tKolTableStatelessWcTag = transformTagName(KolTableStatelessWcTag as string) as 'kol-table-stateless-wc';\n\tKolTableTag = transformTagName(KolTableTag as string) as 'kol-table';\n\tKolTabsTag = transformTagName(KolTabsTag as string) as 'kol-tabs';\n\tKolTextareaTag = transformTagName(KolTextareaTag as string) as 'kol-textarea';\n\tKolToastContainerTag = transformTagName(KolToastContainerTag as string) as 'kol-toast-container';\n\tKolToolbarTag = transformTagName(KolTooltipWcTag as string) as 'kol-toolbar';\n\tKolTooltipWcTag = transformTagName(KolTooltipWcTag as string) as 'kol-tooltip-wc';\n\tKolTreeItemTag = transformTagName(KolTreeItemTag as string) as 'kol-tree-item';\n\tKolTreeItemWcTag = transformTagName(KolTreeItemWcTag as string) as 'kol-tree-item-wc';\n\tKolTreeTag = transformTagName(KolTreeTag as string) as 'kol-tree';\n\tKolTreeWcTag = transformTagName(KolTreeWcTag as string) as 'kol-tree-wc';\n\tKolVersionTag = transformTagName(KolVersionTag as string) as 'kol-version';\n};\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{m as KolFormTag}from"./component-names-068dc2ae.js";import{q as setEventTarget,K as KoliBriDevHelper,j as devHint}from"./prop.validators-db70e3c4.js";import{a as getExperimentalMode,L as Log}from"./dev.utils-1ca991a2.js";const searchFormElement=e=>{for(getExperimentalMode()&&(devHint("↓ Search form element start."),Log.debug(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&e.tagName!==KolFormTag.toUpperCase();){try{e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null}catch(e){}getExperimentalMode()&&(Log.debug(e),devHint("↑ Search form element finished."))}return e},propagateResetEventToForm=(e={})=>{var t,o;const n=searchFormElement(e.form);if(n instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===n.tagName)setEventTarget(e,n),n.dispatchEvent(e);else if(n.tagName===KolFormTag.toUpperCase()){setEventTarget(e,KoliBriDevHelper.querySelector("form",n));const a=n;"function"==typeof(null===(t=a._on)||void 0===t?void 0:t.onReset)&&(null===(o=a._on)||void 0===o||o.onReset(e))}}},propagateSubmitEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t});if("FORM"===t.tagName)getExperimentalMode()&&!1===t.noValidate&&devHint("If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.",{force:!0}),setTimeout((()=>{"function"==typeof t.requestSubmit?t.requestSubmit():(setEventTarget(e,t),t.dispatchEvent(e))}));else if(t.tagName===KolFormTag.toUpperCase()){setEventTarget(e,KoliBriDevHelper.querySelector("form",t));const o=t;setTimeout((()=>{var t,n;"function"==typeof(null===(t=o._on)||void 0===t?void 0:t.onSubmit)&&(null===(n=o._on)||void 0===n||n.onSubmit(e))}))}}};export{propagateResetEventToForm as a,propagateSubmitEventToForm as p};
4
+ import{m as KolFormTag}from"./component-names-3f4a13bb.js";import{q as setEventTarget,K as KoliBriDevHelper,j as devHint}from"./prop.validators-db70e3c4.js";import{a as getExperimentalMode,L as Log}from"./dev.utils-1ca991a2.js";const searchFormElement=e=>{for(getExperimentalMode()&&(devHint("↓ Search form element start."),Log.debug(e));e instanceof HTMLElement&&"FORM"!==e.tagName&&e.tagName!==KolFormTag.toUpperCase();){try{e=e.parentElement instanceof HTMLElement?e.parentElement:e.parentNode instanceof ShadowRoot?e.parentNode.host:null}catch(e){}getExperimentalMode()&&(Log.debug(e),devHint("↑ Search form element finished."))}return e},propagateResetEventToForm=(e={})=>{var t,o;const n=searchFormElement(e.form);if(n instanceof HTMLElement){const e=new Event("reset",{bubbles:!0,cancelable:!0});if("FORM"===n.tagName)setEventTarget(e,n),n.dispatchEvent(e);else if(n.tagName===KolFormTag.toUpperCase()){setEventTarget(e,KoliBriDevHelper.querySelector("form",n));const a=n;"function"==typeof(null===(t=a._on)||void 0===t?void 0:t.onReset)&&(null===(o=a._on)||void 0===o||o.onReset(e))}}},propagateSubmitEventToForm=(e={})=>{const t=searchFormElement(e.form);if(t instanceof HTMLElement){const e=new SubmitEvent("submit",{bubbles:!0,cancelable:!0,submitter:t});if("FORM"===t.tagName)getExperimentalMode()&&!1===t.noValidate&&devHint("If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.",{force:!0}),setTimeout((()=>{"function"==typeof t.requestSubmit?t.requestSubmit():(setEventTarget(e,t),t.dispatchEvent(e))}));else if(t.tagName===KolFormTag.toUpperCase()){setEventTarget(e,KoliBriDevHelper.querySelector("form",t));const o=t;setTimeout((()=>{var t,n;"function"==typeof(null===(t=o._on)||void 0===t?void 0:t.onSubmit)&&(null===(n=o._on)||void 0===n||n.onSubmit(e))}))}}};export{propagateResetEventToForm as a,propagateSubmitEventToForm as p};
@@ -1 +1 @@
1
- {"file":"controller-2976d21c.js","mappings":"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","names":[],"sources":["src/components/form/controller.ts"],"sourcesContent":["import type { FormProps } from '../../schema';\nimport { Log } from '../../schema';\nimport { devHint, getExperimentalMode, KoliBriDevHelper, setEventTarget } from '../../schema';\nimport { KolFormTag } from '../../core/component-names';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tLog.debug(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== KolFormTag.toUpperCase()) {\n\t\ttry {\n\t\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\t\tel = el.parentElement;\n\t\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\t\tel = el.parentNode.host;\n\t\t\t} else {\n\t\t\t\tel = null;\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\tif (getExperimentalMode()) {\n\t\t\tLog.debug(el);\n\t\t\tdevHint(`↑ Search form element finished.`);\n\t\t}\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tif (getExperimentalMode() && (form as HTMLFormElement).noValidate === false) {\n\t\t\t\tdevHint(`If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.`, {\n\t\t\t\t\tforce: true,\n\t\t\t\t});\n\t\t\t\t// (form as HTMLFormElement).noValidate = true; do not make this implicit\n\t\t\t}\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit\n\t\t\t\tif (typeof (form as HTMLFormElement).requestSubmit === 'function') {\n\t\t\t\t\t(form as HTMLFormElement).requestSubmit();\n\t\t\t\t} else {\n\t\t\t\t\tsetEventTarget(event, form);\n\t\t\t\t\tform.dispatchEvent(event);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n"],"version":3}
1
+ {"file":"controller-78a57072.js","mappings":"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","names":[],"sources":["src/components/form/controller.ts"],"sourcesContent":["import type { FormProps } from '../../schema';\nimport { Log } from '../../schema';\nimport { devHint, getExperimentalMode, KoliBriDevHelper, setEventTarget } from '../../schema';\nimport { KolFormTag } from '../../core/component-names';\n\nconst searchFormElement = (el?: HTMLElement | ParentNode | null): HTMLElement | ParentNode | null | undefined => {\n\tif (getExperimentalMode()) {\n\t\tdevHint(`↓ Search form element start.`);\n\t\tLog.debug(el);\n\t}\n\twhile (el instanceof HTMLElement && el.tagName !== 'FORM' && el.tagName !== KolFormTag.toUpperCase()) {\n\t\ttry {\n\t\t\tif (el.parentElement instanceof HTMLElement) {\n\t\t\t\tel = el.parentElement;\n\t\t\t} else if (el.parentNode instanceof ShadowRoot) {\n\t\t\t\tel = el.parentNode.host;\n\t\t\t} else {\n\t\t\t\tel = null;\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\tif (getExperimentalMode()) {\n\t\t\tLog.debug(el);\n\t\t\tdevHint(`↑ Search form element finished.`);\n\t\t}\n\t}\n\treturn el;\n};\n\nexport const propagateResetEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new Event('reset', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t});\n\t\tif (form.tagName === 'FORM') {\n\t\t\tsetEventTarget(event, form);\n\t\t\tform.dispatchEvent(event);\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\tif (typeof kolForm._on?.onReset === 'function') {\n\t\t\t\ttypeof kolForm._on?.onReset(event);\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const propagateSubmitEventToForm = (\n\toptions: {\n\t\tform?: HTMLElement | ParentNode | null;\n\t\tref?: HTMLElement;\n\t} = {},\n): void => {\n\tconst form = searchFormElement(options.form);\n\tif (form instanceof HTMLElement) {\n\t\tconst event = new SubmitEvent('submit', {\n\t\t\tbubbles: true,\n\t\t\tcancelable: true,\n\t\t\tsubmitter: form,\n\t\t});\n\t\t/**\n\t\t * TODO: Wenn Formular-Action (nicht Ajax oder JS) verwendet wird,\n\t\t * dann müssen wir das Event an das HTMLFormElement innerhalb\n\t\t * der HTMLKolFormElements propagieren, wenn kein onSubmit\n\t\t * gesetzt wurde.\n\t\t *\n\t\t * TODO: Form-associated custom elements:\n\t\t * - https://web.dev/more-capable-form-controls/\n\t\t * - https://github.com/public-ui/kolibri/issues/946\n\t\t */\n\t\tif (form.tagName === 'FORM') {\n\t\t\tif (getExperimentalMode() && (form as HTMLFormElement).noValidate === false) {\n\t\t\t\tdevHint(`If you have not focusable or hidden form fields in your form, you should enable noValidate for your form.`, {\n\t\t\t\t\tforce: true,\n\t\t\t\t});\n\t\t\t\t// (form as HTMLFormElement).noValidate = true; do not make this implicit\n\t\t\t}\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\t// See https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit\n\t\t\t\tif (typeof (form as HTMLFormElement).requestSubmit === 'function') {\n\t\t\t\t\t(form as HTMLFormElement).requestSubmit();\n\t\t\t\t} else {\n\t\t\t\t\tsetEventTarget(event, form);\n\t\t\t\t\tform.dispatchEvent(event);\n\t\t\t\t}\n\t\t\t});\n\t\t} else if (form.tagName === KolFormTag.toUpperCase()) {\n\t\t\tsetEventTarget(event, KoliBriDevHelper.querySelector('form', form) as HTMLFormElement);\n\t\t\tconst kolForm = form as FormProps;\n\t\t\t// Use setTimeout to ensure onChange has been called first\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (typeof kolForm._on?.onSubmit === 'function') {\n\t\t\t\t\tkolForm._on?.onSubmit(event);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n};\n"],"version":3}