@public-ui/components 3.0.0-alpha.1 → 3.0.0-dcba8228fa4178aa125eea17082fc647882faa96.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 (1547) hide show
  1. package/README.md +8 -0
  2. package/assets/codicons/codicon.css +54 -1
  3. package/assets/codicons/codicon.csv +41 -0
  4. package/assets/codicons/codicon.html +328 -0
  5. package/assets/codicons/codicon.svg +1 -1
  6. package/assets/codicons/codicon.ttf +0 -0
  7. package/custom-elements.json +446 -669
  8. package/dist/cjs/Alert-afc4de7b.js +4 -0
  9. package/dist/cjs/Alert-afc4de7b.js.map +1 -0
  10. package/dist/cjs/Collapsible-8377681d.js +4 -0
  11. package/dist/cjs/Collapsible-8377681d.js.map +1 -0
  12. package/dist/cjs/CustomSuggestionsOptionsGroup-89623c90.js +4 -0
  13. package/dist/cjs/CustomSuggestionsOptionsGroup-89623c90.js.map +1 -0
  14. package/dist/cjs/FieldControlStateWrapper-4d51635a.js +4 -0
  15. package/dist/cjs/FieldControlStateWrapper-4d51635a.js.map +1 -0
  16. package/dist/cjs/Heading-1c9516d1.js +4 -0
  17. package/dist/cjs/Heading-1c9516d1.js.map +1 -0
  18. package/dist/cjs/Icon-1788f3ea.js +4 -0
  19. package/dist/cjs/Icon-1788f3ea.js.map +1 -0
  20. package/dist/cjs/Input-350f0455.js +4 -0
  21. package/dist/cjs/Input-350f0455.js.map +1 -0
  22. package/dist/cjs/InputStateWrapper-672a3ed6.js +4 -0
  23. package/dist/cjs/InputStateWrapper-672a3ed6.js.map +1 -0
  24. package/dist/cjs/InternalUnderlinedBadgeText-7f234d41.js +4 -0
  25. package/dist/cjs/InternalUnderlinedBadgeText-7f234d41.js.map +1 -0
  26. package/dist/cjs/Span-ff2e15ed.js +4 -0
  27. package/dist/cjs/Span-ff2e15ed.js.map +1 -0
  28. package/dist/cjs/access-and-short-key-86f8ed8c.js +4 -0
  29. package/dist/cjs/access-and-short-key-86f8ed8c.js.map +1 -0
  30. package/dist/cjs/align-8eeb9efa.js +4 -0
  31. package/dist/cjs/align-8eeb9efa.js.map +1 -0
  32. package/dist/cjs/align-floating-elements-f88156a1.js +4 -0
  33. package/dist/cjs/align-floating-elements-f88156a1.js.map +1 -0
  34. package/dist/cjs/app-globals-c38d5525.js +4 -0
  35. package/dist/cjs/app-globals-c38d5525.js.map +1 -0
  36. package/dist/cjs/associated.controller-2687bfae.js +4 -0
  37. package/dist/cjs/associated.controller-2687bfae.js.map +1 -0
  38. package/dist/cjs/button-variant-295bdf57.js +4 -0
  39. package/dist/cjs/button-variant-295bdf57.js.map +1 -0
  40. package/dist/cjs/color-f8727562.js +4 -0
  41. package/dist/cjs/color-f8727562.js.map +1 -0
  42. package/dist/cjs/component-names-82c4d68d.js +4 -0
  43. package/dist/cjs/component-names-82c4d68d.js.map +1 -0
  44. package/dist/cjs/controller-78f1d2ee.js +4 -0
  45. package/dist/cjs/controller-78f1d2ee.js.map +1 -0
  46. package/dist/cjs/controller-86faa3bd.js +4 -0
  47. package/dist/cjs/controller-86faa3bd.js.map +1 -0
  48. package/dist/cjs/controller-9d06633c.js +4 -0
  49. package/dist/cjs/controller-9d06633c.js.map +1 -0
  50. package/dist/cjs/controller-ec0a7721.js +4 -0
  51. package/dist/cjs/controller-ec0a7721.js.map +1 -0
  52. package/dist/cjs/controller-icon-85e798c8.js +4 -0
  53. package/dist/cjs/controller-icon-85e798c8.js.map +1 -0
  54. package/dist/cjs/custom-class-cc398ac1.js +4 -0
  55. package/dist/cjs/custom-class-cc398ac1.js.map +1 -0
  56. package/dist/cjs/dev.utils-387d5b46.js +4 -0
  57. package/dist/cjs/dev.utils-387d5b46.js.map +1 -0
  58. package/dist/cjs/devtools-57a8c56e.js +4 -0
  59. package/dist/cjs/devtools-57a8c56e.js.map +1 -0
  60. package/dist/cjs/disabled-ae509af6.js +4 -0
  61. package/dist/cjs/disabled-ae509af6.js.map +1 -0
  62. package/dist/cjs/events-40771c95.js +4 -0
  63. package/dist/cjs/events-40771c95.js.map +1 -0
  64. package/dist/cjs/getRenderStates-08fc068a.js +4 -0
  65. package/dist/cjs/getRenderStates-08fc068a.js.map +1 -0
  66. package/dist/cjs/has-closer-8235f9c5.js +4 -0
  67. package/dist/cjs/has-closer-8235f9c5.js.map +1 -0
  68. package/dist/cjs/has-counter-5e230f44.js +4 -0
  69. package/dist/cjs/has-counter-5e230f44.js.map +1 -0
  70. package/dist/cjs/hide-label-e5ed3169.js +4 -0
  71. package/dist/cjs/hide-label-e5ed3169.js.map +1 -0
  72. package/dist/cjs/href-e645fe73.js +4 -0
  73. package/dist/cjs/href-e645fe73.js.map +1 -0
  74. package/dist/cjs/i18n-0e710ccd.js +4 -0
  75. package/dist/cjs/i18n-0e710ccd.js.map +1 -0
  76. package/dist/cjs/i18n-8c288a27.js +4 -0
  77. package/dist/cjs/i18n-8c288a27.js.map +1 -0
  78. package/dist/cjs/icons-4511239e.js +4 -0
  79. package/dist/cjs/icons-4511239e.js.map +1 -0
  80. package/dist/cjs/image-source-56e07307.js +4 -0
  81. package/dist/cjs/image-source-56e07307.js.map +1 -0
  82. package/dist/cjs/index-5c16c2cd.js +4 -0
  83. package/dist/cjs/index-5c16c2cd.js.map +1 -0
  84. package/dist/cjs/index.cjs.js +1 -1
  85. package/dist/cjs/index.cjs.js.map +1 -1
  86. package/dist/cjs/isObject-6090b636.js +4 -0
  87. package/dist/cjs/isObject-6090b636.js.map +1 -0
  88. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-alert-wc.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  100. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  104. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-button-wc.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  110. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  112. package/dist/cjs/kol-combobox.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-combobox.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-drawer.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-drawer.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  135. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  136. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  137. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  138. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  139. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  140. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  141. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  142. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  143. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  144. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  145. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  146. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  147. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  148. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  149. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  150. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  151. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  152. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  153. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  154. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  155. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  156. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  157. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  158. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  159. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  160. package/dist/cjs/kol-popover-button-wc.cjs.entry.js +4 -0
  161. package/dist/cjs/kol-popover-button-wc.cjs.entry.js.map +1 -0
  162. package/dist/cjs/kol-popover-button.cjs.entry.js +4 -0
  163. package/dist/cjs/kol-popover-button.cjs.entry.js.map +1 -0
  164. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  165. package/dist/cjs/kol-popover-wc.cjs.entry.js.map +1 -1
  166. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  167. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  168. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  169. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  170. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  171. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  172. package/dist/cjs/kol-single-select.cjs.entry.js +1 -1
  173. package/dist/cjs/kol-single-select.cjs.entry.js.map +1 -1
  174. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  175. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  176. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  177. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  178. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  179. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  180. package/dist/cjs/kol-table-settings-wc.cjs.entry.js +4 -0
  181. package/dist/cjs/kol-table-settings-wc.cjs.entry.js.map +1 -0
  182. package/dist/cjs/kol-table-stateful.cjs.entry.js +1 -1
  183. package/dist/cjs/kol-table-stateful.cjs.entry.js.map +1 -1
  184. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js +1 -1
  185. package/dist/cjs/kol-table-stateless-wc.cjs.entry.js.map +1 -1
  186. package/dist/cjs/kol-table-stateless.cjs.entry.js +1 -1
  187. package/dist/cjs/kol-table-stateless.cjs.entry.js.map +1 -1
  188. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  189. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  190. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  191. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  192. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  193. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
  194. package/dist/cjs/kol-toolbar.cjs.entry.js +1 -1
  195. package/dist/cjs/kol-toolbar.cjs.entry.js.map +1 -1
  196. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
  197. package/dist/cjs/kol-tooltip-wc.cjs.entry.js.map +1 -1
  198. package/dist/cjs/kol-tree-item-wc.cjs.entry.js +1 -1
  199. package/dist/cjs/kol-tree-item-wc.cjs.entry.js.map +1 -1
  200. package/dist/cjs/kol-tree-item.cjs.entry.js +1 -1
  201. package/dist/cjs/kol-tree-item.cjs.entry.js.map +1 -1
  202. package/dist/cjs/kol-tree-wc.cjs.entry.js +1 -1
  203. package/dist/cjs/kol-tree-wc.cjs.entry.js.map +1 -1
  204. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  205. package/dist/cjs/kol-tree.cjs.entry.js.map +1 -1
  206. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  207. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  208. package/dist/cjs/kolibri.cjs.js +1 -1
  209. package/dist/cjs/kolibri.cjs.js.map +1 -1
  210. package/dist/cjs/label-4a02a8a6.js +4 -0
  211. package/dist/cjs/label-4a02a8a6.js.map +1 -0
  212. package/dist/cjs/loader.cjs.js +1 -1
  213. package/dist/cjs/loader.cjs.js.map +1 -1
  214. package/dist/cjs/open-3a36b74b.js +4 -0
  215. package/dist/cjs/open-3a36b74b.js.map +1 -0
  216. package/dist/cjs/prop.validators-1ef3563c.js +4 -0
  217. package/dist/cjs/prop.validators-1ef3563c.js.map +1 -0
  218. package/dist/cjs/reuse-8650ea4e.js +4 -0
  219. package/dist/cjs/reuse-8650ea4e.js.map +1 -0
  220. package/dist/cjs/rows-88545ba5.js +4 -0
  221. package/dist/cjs/rows-88545ba5.js.map +1 -0
  222. package/dist/cjs/show-1d24b3f6.js +4 -0
  223. package/dist/cjs/show-1d24b3f6.js.map +1 -0
  224. package/dist/cjs/spell-check-ecabb658.js +4 -0
  225. package/dist/cjs/spell-check-ecabb658.js.map +1 -0
  226. package/dist/cjs/suggestions-ff3390b0.js +4 -0
  227. package/dist/cjs/suggestions-ff3390b0.js.map +1 -0
  228. package/dist/cjs/table-settings-2e976e72.js +4 -0
  229. package/dist/cjs/table-settings-2e976e72.js.map +1 -0
  230. package/dist/cjs/test-component.cjs.entry.js +1 -1
  231. package/dist/cjs/tooltip-align-598a2f88.js +4 -0
  232. package/dist/cjs/tooltip-align-598a2f88.js.map +1 -0
  233. package/dist/cjs/tslib.es6-5e301284.js.map +1 -0
  234. package/dist/cjs/validation-3e2bc789.js +4 -0
  235. package/dist/cjs/validation-3e2bc789.js.map +1 -0
  236. package/dist/cjs/validation-ff7d7761.js +4 -0
  237. package/dist/cjs/validation-ff7d7761.js.map +1 -0
  238. package/dist/components/Alert.js +1 -1
  239. package/dist/components/Alert.js.map +1 -1
  240. package/dist/components/Collapsible.js +1 -1
  241. package/dist/components/Collapsible.js.map +1 -1
  242. package/dist/components/CustomSuggestionsOptionsGroup.js +4 -0
  243. package/dist/components/CustomSuggestionsOptionsGroup.js.map +1 -0
  244. package/dist/components/FieldControlStateWrapper.js +4 -0
  245. package/dist/components/FieldControlStateWrapper.js.map +1 -0
  246. package/dist/components/Heading.js +1 -1
  247. package/dist/components/Heading.js.map +1 -1
  248. package/dist/components/Icon.js +4 -0
  249. package/dist/components/Icon.js.map +1 -0
  250. package/dist/components/Input.js +4 -0
  251. package/dist/components/Input.js.map +1 -0
  252. package/dist/components/InputContainerStateWrapper.js +4 -0
  253. package/dist/components/InputContainerStateWrapper.js.map +1 -0
  254. package/dist/components/InputStateWrapper.js +4 -0
  255. package/dist/components/InputStateWrapper.js.map +1 -0
  256. package/dist/components/InternalUnderlinedBadgeText.js +1 -1
  257. package/dist/components/InternalUnderlinedBadgeText.js.map +1 -1
  258. package/dist/components/Span.js +1 -1
  259. package/dist/components/Span.js.map +1 -1
  260. package/dist/components/access-and-short-key.js +1 -1
  261. package/dist/components/access-and-short-key.js.map +1 -1
  262. package/dist/components/align-floating-elements.js +1 -1
  263. package/dist/components/align-floating-elements.js.map +1 -1
  264. package/dist/components/align.js.map +1 -1
  265. package/dist/components/associated.controller.js +1 -1
  266. package/dist/components/button-variant.js +4 -0
  267. package/dist/components/button-variant.js.map +1 -0
  268. package/dist/components/color.js +1 -1
  269. package/dist/components/color.js.map +1 -1
  270. package/dist/components/component-names.js +1 -1
  271. package/dist/components/component-names.js.map +1 -1
  272. package/dist/components/controller.js +1 -1
  273. package/dist/components/controller2.js +1 -1
  274. package/dist/components/controller2.js.map +1 -1
  275. package/dist/components/controller3.js +1 -1
  276. package/dist/components/controller3.js.map +1 -1
  277. package/dist/components/controller4.js +1 -1
  278. package/dist/components/controller4.js.map +1 -1
  279. package/dist/components/custom-class.js +1 -1
  280. package/dist/components/devtools.js +1 -1
  281. package/dist/components/disabled.js +1 -1
  282. package/dist/components/events.js +1 -1
  283. package/dist/components/events.js.map +1 -1
  284. package/dist/components/getRenderStates.js +4 -0
  285. package/dist/components/getRenderStates.js.map +1 -0
  286. package/dist/components/has-closer.js +1 -1
  287. package/dist/components/has-counter.js +1 -1
  288. package/dist/components/hide-label.js +1 -1
  289. package/dist/components/href.js +1 -1
  290. package/dist/components/href.js.map +1 -1
  291. package/dist/components/i18n.js +1 -1
  292. package/dist/components/i18n.js.map +1 -1
  293. package/dist/components/image-source.js +1 -1
  294. package/dist/components/index.js +1 -1
  295. package/dist/components/index.js.map +1 -1
  296. package/dist/components/isObject.js +4 -0
  297. package/dist/components/isObject.js.map +1 -0
  298. package/dist/components/kol-abbr.js +1 -1
  299. package/dist/components/kol-abbr.js.map +1 -1
  300. package/dist/components/kol-accordion.js +1 -1
  301. package/dist/components/kol-accordion.js.map +1 -1
  302. package/dist/components/kol-alert-wc.js +1 -1
  303. package/dist/components/kol-alert-wc.js.map +1 -1
  304. package/dist/components/kol-alert.js +1 -1
  305. package/dist/components/kol-alert.js.map +1 -1
  306. package/dist/components/kol-avatar-wc.js +1 -1
  307. package/dist/components/kol-avatar.js +1 -1
  308. package/dist/components/kol-avatar.js.map +1 -1
  309. package/dist/components/kol-badge.js +1 -1
  310. package/dist/components/kol-badge.js.map +1 -1
  311. package/dist/components/kol-breadcrumb.js +1 -1
  312. package/dist/components/kol-breadcrumb.js.map +1 -1
  313. package/dist/components/kol-button-link.js +1 -1
  314. package/dist/components/kol-button-link.js.map +1 -1
  315. package/dist/components/kol-button-wc.js +1 -1
  316. package/dist/components/kol-button-wc.js.map +1 -1
  317. package/dist/components/kol-button.js +1 -1
  318. package/dist/components/kol-button.js.map +1 -1
  319. package/dist/components/kol-card.js +1 -1
  320. package/dist/components/kol-card.js.map +1 -1
  321. package/dist/components/kol-combobox.js +1 -1
  322. package/dist/components/kol-combobox.js.map +1 -1
  323. package/dist/components/kol-details.js +1 -1
  324. package/dist/components/kol-details.js.map +1 -1
  325. package/dist/components/kol-drawer.js +1 -1
  326. package/dist/components/kol-drawer.js.map +1 -1
  327. package/dist/components/kol-form.js +1 -1
  328. package/dist/components/kol-form.js.map +1 -1
  329. package/dist/components/kol-heading.js +1 -1
  330. package/dist/components/kol-heading.js.map +1 -1
  331. package/dist/components/kol-icon.js +1 -1
  332. package/dist/components/kol-icon.js.map +1 -1
  333. package/dist/components/kol-image.js +1 -1
  334. package/dist/components/kol-image.js.map +1 -1
  335. package/dist/components/kol-input-checkbox.js +1 -1
  336. package/dist/components/kol-input-checkbox.js.map +1 -1
  337. package/dist/components/kol-input-color.js +1 -1
  338. package/dist/components/kol-input-color.js.map +1 -1
  339. package/dist/components/kol-input-date.js +1 -1
  340. package/dist/components/kol-input-date.js.map +1 -1
  341. package/dist/components/kol-input-email.js +1 -1
  342. package/dist/components/kol-input-email.js.map +1 -1
  343. package/dist/components/kol-input-file.js +1 -1
  344. package/dist/components/kol-input-file.js.map +1 -1
  345. package/dist/components/kol-input-number.js +1 -1
  346. package/dist/components/kol-input-number.js.map +1 -1
  347. package/dist/components/kol-input-password.js +1 -1
  348. package/dist/components/kol-input-password.js.map +1 -1
  349. package/dist/components/kol-input-radio.js +1 -1
  350. package/dist/components/kol-input-radio.js.map +1 -1
  351. package/dist/components/kol-input-range.js +1 -1
  352. package/dist/components/kol-input-range.js.map +1 -1
  353. package/dist/components/kol-input-text.js +1 -1
  354. package/dist/components/kol-input-text.js.map +1 -1
  355. package/dist/components/kol-kolibri.js +1 -1
  356. package/dist/components/kol-kolibri.js.map +1 -1
  357. package/dist/components/kol-link-button.js +1 -1
  358. package/dist/components/kol-link-button.js.map +1 -1
  359. package/dist/components/kol-link-wc.js +1 -1
  360. package/dist/components/kol-link-wc.js.map +1 -1
  361. package/dist/components/kol-link.js +1 -1
  362. package/dist/components/kol-link.js.map +1 -1
  363. package/dist/components/kol-modal.js +1 -1
  364. package/dist/components/kol-modal.js.map +1 -1
  365. package/dist/components/kol-nav.js +1 -1
  366. package/dist/components/kol-nav.js.map +1 -1
  367. package/dist/components/kol-pagination.js +1 -1
  368. package/dist/components/kol-pagination.js.map +1 -1
  369. package/dist/components/kol-popover-button-wc.d.ts +11 -0
  370. package/dist/components/kol-popover-button-wc.js +4 -0
  371. package/dist/components/kol-popover-button-wc.js.map +1 -0
  372. package/dist/components/kol-popover-button.d.ts +11 -0
  373. package/dist/components/kol-popover-button.js +4 -0
  374. package/dist/components/kol-popover-button.js.map +1 -0
  375. package/dist/components/kol-popover-wc.js +1 -1
  376. package/dist/components/kol-popover-wc.js.map +1 -1
  377. package/dist/components/kol-progress.js +1 -1
  378. package/dist/components/kol-progress.js.map +1 -1
  379. package/dist/components/kol-quote.js +1 -1
  380. package/dist/components/kol-quote.js.map +1 -1
  381. package/dist/components/kol-select.js +1 -1
  382. package/dist/components/kol-select.js.map +1 -1
  383. package/dist/components/kol-single-select.js +1 -1
  384. package/dist/components/kol-single-select.js.map +1 -1
  385. package/dist/components/kol-skip-nav.js +1 -1
  386. package/dist/components/kol-skip-nav.js.map +1 -1
  387. package/dist/components/kol-spin.js +1 -1
  388. package/dist/components/kol-spin.js.map +1 -1
  389. package/dist/components/kol-split-button.js +1 -1
  390. package/dist/components/kol-split-button.js.map +1 -1
  391. package/dist/components/kol-table-settings-wc.d.ts +11 -0
  392. package/dist/components/kol-table-settings-wc.js +4 -0
  393. package/dist/components/kol-table-settings-wc.js.map +1 -0
  394. package/dist/components/kol-table-stateful.js +1 -1
  395. package/dist/components/kol-table-stateful.js.map +1 -1
  396. package/dist/components/kol-table-stateless-wc.js +1 -1
  397. package/dist/components/kol-table-stateless-wc.js.map +1 -1
  398. package/dist/components/kol-table-stateless.js +1 -1
  399. package/dist/components/kol-table-stateless.js.map +1 -1
  400. package/dist/components/kol-tabs.js +1 -1
  401. package/dist/components/kol-tabs.js.map +1 -1
  402. package/dist/components/kol-textarea.js +1 -1
  403. package/dist/components/kol-textarea.js.map +1 -1
  404. package/dist/components/kol-toast-container.js +1 -1
  405. package/dist/components/kol-toast-container.js.map +1 -1
  406. package/dist/components/kol-toolbar.js +1 -1
  407. package/dist/components/kol-toolbar.js.map +1 -1
  408. package/dist/components/kol-tooltip-wc.js +1 -1
  409. package/dist/components/kol-tooltip-wc.js.map +1 -1
  410. package/dist/components/kol-tree-item-wc.js +1 -1
  411. package/dist/components/kol-tree-item-wc.js.map +1 -1
  412. package/dist/components/kol-tree-item.js +1 -1
  413. package/dist/components/kol-tree-item.js.map +1 -1
  414. package/dist/components/kol-tree-wc.js +1 -1
  415. package/dist/components/kol-tree-wc.js.map +1 -1
  416. package/dist/components/kol-tree.js +1 -1
  417. package/dist/components/kol-tree.js.map +1 -1
  418. package/dist/components/kol-version.js +1 -1
  419. package/dist/components/kol-version.js.map +1 -1
  420. package/dist/components/label.js +1 -1
  421. package/dist/components/label.js.map +1 -1
  422. package/dist/components/open.js +1 -1
  423. package/dist/components/open.js.map +1 -1
  424. package/dist/components/prop.validators.js +1 -1
  425. package/dist/components/prop.validators.js.map +1 -1
  426. package/dist/components/reuse.js +1 -1
  427. package/dist/components/reuse.js.map +1 -1
  428. package/dist/components/rows.js +1 -1
  429. package/dist/components/show.js +1 -1
  430. package/dist/components/spell-check.js +1 -1
  431. package/dist/components/suggestions.js +1 -1
  432. package/dist/components/table-settings.js +4 -0
  433. package/dist/components/table-settings.js.map +1 -0
  434. package/dist/components/tslib.es6.js.map +1 -1
  435. package/dist/components/validation2.js +1 -1
  436. package/dist/esm/Alert-2443719b.js +4 -0
  437. package/dist/esm/Alert-2443719b.js.map +1 -0
  438. package/dist/esm/Collapsible-37bb1d7a.js +4 -0
  439. package/dist/esm/Collapsible-37bb1d7a.js.map +1 -0
  440. package/dist/esm/CustomSuggestionsOptionsGroup-6b7e6898.js +4 -0
  441. package/dist/esm/CustomSuggestionsOptionsGroup-6b7e6898.js.map +1 -0
  442. package/dist/esm/FieldControlStateWrapper-d74e731e.js +4 -0
  443. package/dist/esm/FieldControlStateWrapper-d74e731e.js.map +1 -0
  444. package/dist/esm/Heading-08323a58.js +4 -0
  445. package/dist/esm/Heading-08323a58.js.map +1 -0
  446. package/dist/esm/Icon-69d9b503.js +4 -0
  447. package/dist/esm/Icon-69d9b503.js.map +1 -0
  448. package/dist/esm/Input-8366a8b4.js +4 -0
  449. package/dist/esm/Input-8366a8b4.js.map +1 -0
  450. package/dist/esm/InputStateWrapper-14cffb26.js +4 -0
  451. package/dist/esm/InputStateWrapper-14cffb26.js.map +1 -0
  452. package/dist/esm/InternalUnderlinedBadgeText-8dcc6a43.js +4 -0
  453. package/dist/esm/InternalUnderlinedBadgeText-8dcc6a43.js.map +1 -0
  454. package/dist/esm/Span-085504cf.js +4 -0
  455. package/dist/esm/Span-085504cf.js.map +1 -0
  456. package/dist/esm/access-and-short-key-89ef61a6.js +4 -0
  457. package/dist/esm/access-and-short-key-89ef61a6.js.map +1 -0
  458. package/dist/esm/align-de93d774.js +4 -0
  459. package/dist/esm/align-de93d774.js.map +1 -0
  460. package/dist/esm/align-floating-elements-7cdb6dc6.js +4 -0
  461. package/dist/esm/align-floating-elements-7cdb6dc6.js.map +1 -0
  462. package/dist/esm/app-globals-cca11e7e.js +4 -0
  463. package/dist/esm/app-globals-cca11e7e.js.map +1 -0
  464. package/dist/esm/associated.controller-dd3cd4c9.js +4 -0
  465. package/dist/esm/associated.controller-dd3cd4c9.js.map +1 -0
  466. package/dist/esm/button-variant-b9f4ace7.js +4 -0
  467. package/dist/esm/button-variant-b9f4ace7.js.map +1 -0
  468. package/dist/esm/color-eaed753d.js +4 -0
  469. package/dist/esm/color-eaed753d.js.map +1 -0
  470. package/dist/esm/component-names-60d77143.js +4 -0
  471. package/dist/esm/component-names-60d77143.js.map +1 -0
  472. package/dist/esm/controller-065f0ea1.js +4 -0
  473. package/dist/esm/controller-065f0ea1.js.map +1 -0
  474. package/dist/esm/controller-4e46e1b7.js +4 -0
  475. package/dist/esm/controller-4e46e1b7.js.map +1 -0
  476. package/dist/esm/controller-74464fa2.js +4 -0
  477. package/dist/esm/controller-74464fa2.js.map +1 -0
  478. package/dist/esm/controller-827f5fb0.js +4 -0
  479. package/dist/esm/controller-827f5fb0.js.map +1 -0
  480. package/dist/esm/controller-icon-0cd90c5a.js +4 -0
  481. package/dist/esm/controller-icon-0cd90c5a.js.map +1 -0
  482. package/dist/esm/custom-class-0b713d1d.js +4 -0
  483. package/dist/esm/custom-class-0b713d1d.js.map +1 -0
  484. package/dist/esm/dev.utils-4b942b95.js +4 -0
  485. package/dist/esm/dev.utils-4b942b95.js.map +1 -0
  486. package/dist/esm/devtools-83b8d0ee.js +4 -0
  487. package/dist/esm/devtools-83b8d0ee.js.map +1 -0
  488. package/dist/esm/disabled-34d4857d.js +4 -0
  489. package/dist/esm/disabled-34d4857d.js.map +1 -0
  490. package/dist/esm/events-5886c68b.js +4 -0
  491. package/dist/esm/events-5886c68b.js.map +1 -0
  492. package/dist/esm/getRenderStates-52e14b31.js +4 -0
  493. package/dist/esm/getRenderStates-52e14b31.js.map +1 -0
  494. package/dist/esm/has-closer-69b050b0.js +4 -0
  495. package/dist/esm/has-closer-69b050b0.js.map +1 -0
  496. package/dist/esm/has-counter-40363021.js +4 -0
  497. package/dist/esm/has-counter-40363021.js.map +1 -0
  498. package/dist/esm/hide-label-7c76669e.js +4 -0
  499. package/dist/esm/hide-label-7c76669e.js.map +1 -0
  500. package/dist/esm/href-86741485.js +4 -0
  501. package/dist/esm/href-86741485.js.map +1 -0
  502. package/dist/esm/i18n-45224cc3.js +4 -0
  503. package/dist/esm/i18n-45224cc3.js.map +1 -0
  504. package/dist/esm/i18n-efbafc80.js +4 -0
  505. package/dist/esm/i18n-efbafc80.js.map +1 -0
  506. package/dist/esm/icons-9a20a0f0.js +4 -0
  507. package/dist/esm/icons-9a20a0f0.js.map +1 -0
  508. package/dist/esm/image-source-2fcf051d.js +4 -0
  509. package/dist/esm/image-source-2fcf051d.js.map +1 -0
  510. package/dist/esm/index-4492e98a.js +4 -0
  511. package/dist/esm/index-4492e98a.js.map +1 -0
  512. package/dist/esm/index.js +1 -1
  513. package/dist/esm/index.js.map +1 -1
  514. package/dist/esm/isObject-ffcbbb76.js +4 -0
  515. package/dist/esm/isObject-ffcbbb76.js.map +1 -0
  516. package/dist/esm/kol-abbr.entry.js +1 -1
  517. package/dist/esm/kol-abbr.entry.js.map +1 -1
  518. package/dist/esm/kol-accordion.entry.js +1 -1
  519. package/dist/esm/kol-accordion.entry.js.map +1 -1
  520. package/dist/esm/kol-alert-wc.entry.js +1 -1
  521. package/dist/esm/kol-alert-wc.entry.js.map +1 -1
  522. package/dist/esm/kol-alert.entry.js +1 -1
  523. package/dist/esm/kol-alert.entry.js.map +1 -1
  524. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  525. package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
  526. package/dist/esm/kol-avatar.entry.js +1 -1
  527. package/dist/esm/kol-avatar.entry.js.map +1 -1
  528. package/dist/esm/kol-badge.entry.js +1 -1
  529. package/dist/esm/kol-badge.entry.js.map +1 -1
  530. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  531. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  532. package/dist/esm/kol-button-link.entry.js +1 -1
  533. package/dist/esm/kol-button-link.entry.js.map +1 -1
  534. package/dist/esm/kol-button-wc.entry.js +1 -1
  535. package/dist/esm/kol-button-wc.entry.js.map +1 -1
  536. package/dist/esm/kol-button.entry.js +1 -1
  537. package/dist/esm/kol-button.entry.js.map +1 -1
  538. package/dist/esm/kol-card.entry.js +1 -1
  539. package/dist/esm/kol-card.entry.js.map +1 -1
  540. package/dist/esm/kol-combobox.entry.js +1 -1
  541. package/dist/esm/kol-combobox.entry.js.map +1 -1
  542. package/dist/esm/kol-details.entry.js +1 -1
  543. package/dist/esm/kol-details.entry.js.map +1 -1
  544. package/dist/esm/kol-drawer.entry.js +1 -1
  545. package/dist/esm/kol-drawer.entry.js.map +1 -1
  546. package/dist/esm/kol-form.entry.js +1 -1
  547. package/dist/esm/kol-form.entry.js.map +1 -1
  548. package/dist/esm/kol-heading.entry.js +1 -1
  549. package/dist/esm/kol-heading.entry.js.map +1 -1
  550. package/dist/esm/kol-icon.entry.js +1 -1
  551. package/dist/esm/kol-icon.entry.js.map +1 -1
  552. package/dist/esm/kol-image.entry.js +1 -1
  553. package/dist/esm/kol-image.entry.js.map +1 -1
  554. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  555. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  556. package/dist/esm/kol-input-color.entry.js +1 -1
  557. package/dist/esm/kol-input-color.entry.js.map +1 -1
  558. package/dist/esm/kol-input-date.entry.js +1 -1
  559. package/dist/esm/kol-input-date.entry.js.map +1 -1
  560. package/dist/esm/kol-input-email.entry.js +1 -1
  561. package/dist/esm/kol-input-email.entry.js.map +1 -1
  562. package/dist/esm/kol-input-file.entry.js +1 -1
  563. package/dist/esm/kol-input-file.entry.js.map +1 -1
  564. package/dist/esm/kol-input-number.entry.js +1 -1
  565. package/dist/esm/kol-input-number.entry.js.map +1 -1
  566. package/dist/esm/kol-input-password.entry.js +1 -1
  567. package/dist/esm/kol-input-password.entry.js.map +1 -1
  568. package/dist/esm/kol-input-radio.entry.js +1 -1
  569. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  570. package/dist/esm/kol-input-range.entry.js +1 -1
  571. package/dist/esm/kol-input-range.entry.js.map +1 -1
  572. package/dist/esm/kol-input-text.entry.js +1 -1
  573. package/dist/esm/kol-input-text.entry.js.map +1 -1
  574. package/dist/esm/kol-kolibri.entry.js +1 -1
  575. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  576. package/dist/esm/kol-link-button.entry.js +1 -1
  577. package/dist/esm/kol-link-button.entry.js.map +1 -1
  578. package/dist/esm/kol-link-wc.entry.js +1 -1
  579. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  580. package/dist/esm/kol-link.entry.js +1 -1
  581. package/dist/esm/kol-link.entry.js.map +1 -1
  582. package/dist/esm/kol-modal.entry.js +1 -1
  583. package/dist/esm/kol-modal.entry.js.map +1 -1
  584. package/dist/esm/kol-nav.entry.js +1 -1
  585. package/dist/esm/kol-nav.entry.js.map +1 -1
  586. package/dist/esm/kol-pagination.entry.js +1 -1
  587. package/dist/esm/kol-pagination.entry.js.map +1 -1
  588. package/dist/esm/kol-popover-button-wc.entry.js +4 -0
  589. package/dist/esm/kol-popover-button-wc.entry.js.map +1 -0
  590. package/dist/esm/kol-popover-button.entry.js +4 -0
  591. package/dist/esm/kol-popover-button.entry.js.map +1 -0
  592. package/dist/esm/kol-popover-wc.entry.js +1 -1
  593. package/dist/esm/kol-popover-wc.entry.js.map +1 -1
  594. package/dist/esm/kol-progress.entry.js +1 -1
  595. package/dist/esm/kol-progress.entry.js.map +1 -1
  596. package/dist/esm/kol-quote.entry.js +1 -1
  597. package/dist/esm/kol-quote.entry.js.map +1 -1
  598. package/dist/esm/kol-select.entry.js +1 -1
  599. package/dist/esm/kol-select.entry.js.map +1 -1
  600. package/dist/esm/kol-single-select.entry.js +1 -1
  601. package/dist/esm/kol-single-select.entry.js.map +1 -1
  602. package/dist/esm/kol-skip-nav.entry.js +1 -1
  603. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  604. package/dist/esm/kol-spin.entry.js +1 -1
  605. package/dist/esm/kol-spin.entry.js.map +1 -1
  606. package/dist/esm/kol-split-button.entry.js +1 -1
  607. package/dist/esm/kol-split-button.entry.js.map +1 -1
  608. package/dist/esm/kol-table-settings-wc.entry.js +4 -0
  609. package/dist/esm/kol-table-settings-wc.entry.js.map +1 -0
  610. package/dist/esm/kol-table-stateful.entry.js +1 -1
  611. package/dist/esm/kol-table-stateful.entry.js.map +1 -1
  612. package/dist/esm/kol-table-stateless-wc.entry.js +1 -1
  613. package/dist/esm/kol-table-stateless-wc.entry.js.map +1 -1
  614. package/dist/esm/kol-table-stateless.entry.js +1 -1
  615. package/dist/esm/kol-table-stateless.entry.js.map +1 -1
  616. package/dist/esm/kol-tabs.entry.js +1 -1
  617. package/dist/esm/kol-tabs.entry.js.map +1 -1
  618. package/dist/esm/kol-textarea.entry.js +1 -1
  619. package/dist/esm/kol-textarea.entry.js.map +1 -1
  620. package/dist/esm/kol-toast-container.entry.js +1 -1
  621. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  622. package/dist/esm/kol-toolbar.entry.js +1 -1
  623. package/dist/esm/kol-toolbar.entry.js.map +1 -1
  624. package/dist/esm/kol-tooltip-wc.entry.js +1 -1
  625. package/dist/esm/kol-tooltip-wc.entry.js.map +1 -1
  626. package/dist/esm/kol-tree-item-wc.entry.js +1 -1
  627. package/dist/esm/kol-tree-item-wc.entry.js.map +1 -1
  628. package/dist/esm/kol-tree-item.entry.js +1 -1
  629. package/dist/esm/kol-tree-item.entry.js.map +1 -1
  630. package/dist/esm/kol-tree-wc.entry.js +1 -1
  631. package/dist/esm/kol-tree-wc.entry.js.map +1 -1
  632. package/dist/esm/kol-tree.entry.js +1 -1
  633. package/dist/esm/kol-tree.entry.js.map +1 -1
  634. package/dist/esm/kol-version.entry.js +1 -1
  635. package/dist/esm/kol-version.entry.js.map +1 -1
  636. package/dist/esm/kolibri.js +1 -1
  637. package/dist/esm/kolibri.js.map +1 -1
  638. package/dist/esm/label-792bf136.js +4 -0
  639. package/dist/esm/label-792bf136.js.map +1 -0
  640. package/dist/esm/loader.js +1 -1
  641. package/dist/esm/loader.js.map +1 -1
  642. package/dist/esm/open-47fe74b8.js +4 -0
  643. package/dist/esm/open-47fe74b8.js.map +1 -0
  644. package/dist/esm/prop.validators-d189554c.js +4 -0
  645. package/dist/esm/prop.validators-d189554c.js.map +1 -0
  646. package/dist/esm/reuse-f46e7e35.js +4 -0
  647. package/dist/esm/reuse-f46e7e35.js.map +1 -0
  648. package/dist/esm/rows-55ec05a8.js +4 -0
  649. package/dist/esm/rows-55ec05a8.js.map +1 -0
  650. package/dist/esm/show-84afcfc3.js +4 -0
  651. package/dist/esm/show-84afcfc3.js.map +1 -0
  652. package/dist/esm/spell-check-fbd770e6.js +4 -0
  653. package/dist/esm/spell-check-fbd770e6.js.map +1 -0
  654. package/dist/esm/suggestions-923c3993.js +4 -0
  655. package/dist/esm/suggestions-923c3993.js.map +1 -0
  656. package/dist/esm/table-settings-b82b74ab.js +4 -0
  657. package/dist/esm/table-settings-b82b74ab.js.map +1 -0
  658. package/dist/esm/test-component.entry.js +1 -1
  659. package/dist/esm/tooltip-align-075e677e.js +4 -0
  660. package/dist/esm/tooltip-align-075e677e.js.map +1 -0
  661. package/dist/esm/tslib.es6-1173d062.js.map +1 -0
  662. package/dist/esm/validation-2b01ed4b.js +4 -0
  663. package/dist/esm/validation-2b01ed4b.js.map +1 -0
  664. package/dist/esm/validation-ceb6428b.js +4 -0
  665. package/dist/esm/validation-ceb6428b.js.map +1 -0
  666. package/dist/kolibri/Alert-2443719b.js +4 -0
  667. package/dist/kolibri/Alert-2443719b.js.map +1 -0
  668. package/dist/kolibri/Collapsible-37bb1d7a.js +4 -0
  669. package/dist/kolibri/Collapsible-37bb1d7a.js.map +1 -0
  670. package/dist/kolibri/CustomSuggestionsOptionsGroup-6b7e6898.js +4 -0
  671. package/dist/kolibri/CustomSuggestionsOptionsGroup-6b7e6898.js.map +1 -0
  672. package/dist/kolibri/FieldControlStateWrapper-d74e731e.js +4 -0
  673. package/dist/kolibri/FieldControlStateWrapper-d74e731e.js.map +1 -0
  674. package/dist/kolibri/Heading-08323a58.js +4 -0
  675. package/dist/kolibri/Heading-08323a58.js.map +1 -0
  676. package/dist/kolibri/Icon-69d9b503.js +4 -0
  677. package/dist/kolibri/Icon-69d9b503.js.map +1 -0
  678. package/dist/kolibri/Input-8366a8b4.js +4 -0
  679. package/dist/kolibri/Input-8366a8b4.js.map +1 -0
  680. package/dist/kolibri/InputStateWrapper-14cffb26.js +4 -0
  681. package/dist/kolibri/InputStateWrapper-14cffb26.js.map +1 -0
  682. package/dist/kolibri/InternalUnderlinedBadgeText-8dcc6a43.js +4 -0
  683. package/dist/kolibri/InternalUnderlinedBadgeText-8dcc6a43.js.map +1 -0
  684. package/dist/kolibri/Span-085504cf.js +4 -0
  685. package/dist/kolibri/Span-085504cf.js.map +1 -0
  686. package/dist/kolibri/access-and-short-key-89ef61a6.js +4 -0
  687. package/dist/kolibri/access-and-short-key-89ef61a6.js.map +1 -0
  688. package/dist/kolibri/align-de93d774.js +4 -0
  689. package/dist/kolibri/align-de93d774.js.map +1 -0
  690. package/dist/kolibri/align-floating-elements-7cdb6dc6.js +4 -0
  691. package/dist/kolibri/align-floating-elements-7cdb6dc6.js.map +1 -0
  692. package/dist/kolibri/app-globals-cca11e7e.js +4 -0
  693. package/dist/kolibri/app-globals-cca11e7e.js.map +1 -0
  694. package/dist/kolibri/assets/codicons/LICENSE +394 -394
  695. package/dist/kolibri/assets/codicons/LICENSE-CODE +21 -21
  696. package/dist/kolibri/assets/codicons/codicon.css +65 -1
  697. package/dist/kolibri/assets/codicons/codicon.csv +48 -2
  698. package/dist/kolibri/assets/codicons/codicon.html +381 -13
  699. package/dist/kolibri/assets/codicons/codicon.svg +1 -1
  700. package/dist/kolibri/assets/codicons/codicon.ttf +0 -0
  701. package/dist/kolibri/assets/kolibri.ico +0 -0
  702. package/dist/kolibri/associated.controller-dd3cd4c9.js +4 -0
  703. package/dist/kolibri/button-variant-b9f4ace7.js +4 -0
  704. package/dist/kolibri/button-variant-b9f4ace7.js.map +1 -0
  705. package/dist/kolibri/color-eaed753d.js +4 -0
  706. package/dist/kolibri/color-eaed753d.js.map +1 -0
  707. package/dist/kolibri/component-names-60d77143.js +4 -0
  708. package/dist/kolibri/component-names-60d77143.js.map +1 -0
  709. package/dist/kolibri/controller-065f0ea1.js +4 -0
  710. package/dist/kolibri/controller-4e46e1b7.js +4 -0
  711. package/dist/kolibri/controller-74464fa2.js +4 -0
  712. package/dist/kolibri/controller-74464fa2.js.map +1 -0
  713. package/dist/kolibri/controller-827f5fb0.js +4 -0
  714. package/dist/kolibri/controller-icon-0cd90c5a.js +4 -0
  715. package/dist/kolibri/controller-icon-0cd90c5a.js.map +1 -0
  716. package/dist/kolibri/custom-class-0b713d1d.js +4 -0
  717. package/dist/kolibri/dev.utils-4b942b95.js +4 -0
  718. package/dist/kolibri/devtools-83b8d0ee.js +4 -0
  719. package/dist/kolibri/devtools-83b8d0ee.js.map +1 -0
  720. package/dist/kolibri/disabled-34d4857d.js +4 -0
  721. package/dist/kolibri/events-5886c68b.js +4 -0
  722. package/dist/kolibri/events-5886c68b.js.map +1 -0
  723. package/dist/kolibri/getRenderStates-52e14b31.js +4 -0
  724. package/dist/kolibri/getRenderStates-52e14b31.js.map +1 -0
  725. package/dist/kolibri/has-closer-69b050b0.js +4 -0
  726. package/dist/kolibri/has-counter-40363021.js +4 -0
  727. package/dist/kolibri/hide-label-7c76669e.js +4 -0
  728. package/dist/kolibri/href-86741485.js +4 -0
  729. package/dist/kolibri/href-86741485.js.map +1 -0
  730. package/dist/kolibri/i18n-45224cc3.js +4 -0
  731. package/dist/kolibri/i18n-45224cc3.js.map +1 -0
  732. package/dist/kolibri/i18n-efbafc80.js +4 -0
  733. package/dist/kolibri/icons-9a20a0f0.js +4 -0
  734. package/dist/kolibri/image-source-2fcf051d.js +4 -0
  735. package/dist/kolibri/index-4492e98a.js +5 -0
  736. package/dist/kolibri/index-4492e98a.js.map +1 -0
  737. package/dist/kolibri/index.esm.js +1 -1
  738. package/dist/kolibri/index.esm.js.map +1 -1
  739. package/dist/kolibri/isObject-ffcbbb76.js +4 -0
  740. package/dist/kolibri/isObject-ffcbbb76.js.map +1 -0
  741. package/dist/kolibri/kol-abbr.entry.js +1 -1
  742. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  743. package/dist/kolibri/kol-accordion.entry.js +1 -1
  744. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  745. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  746. package/dist/kolibri/kol-alert-wc.entry.js.map +1 -1
  747. package/dist/kolibri/kol-alert.entry.js +1 -1
  748. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  749. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  750. package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
  751. package/dist/kolibri/kol-avatar.entry.js +1 -1
  752. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  753. package/dist/kolibri/kol-badge.entry.js +1 -1
  754. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  755. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  756. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  757. package/dist/kolibri/kol-button-link.entry.js +1 -1
  758. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  759. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  760. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  761. package/dist/kolibri/kol-button.entry.js +1 -1
  762. package/dist/kolibri/kol-button.entry.js.map +1 -1
  763. package/dist/kolibri/kol-card.entry.js +1 -1
  764. package/dist/kolibri/kol-card.entry.js.map +1 -1
  765. package/dist/kolibri/kol-combobox.entry.js +1 -1
  766. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  767. package/dist/kolibri/kol-details.entry.js +1 -1
  768. package/dist/kolibri/kol-details.entry.js.map +1 -1
  769. package/dist/kolibri/kol-drawer.entry.js +1 -1
  770. package/dist/kolibri/kol-drawer.entry.js.map +1 -1
  771. package/dist/kolibri/kol-form.entry.js +1 -1
  772. package/dist/kolibri/kol-form.entry.js.map +1 -1
  773. package/dist/kolibri/kol-heading.entry.js +1 -1
  774. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  775. package/dist/kolibri/kol-icon.entry.js +1 -1
  776. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  777. package/dist/kolibri/kol-image.entry.js +1 -1
  778. package/dist/kolibri/kol-image.entry.js.map +1 -1
  779. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  780. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  781. package/dist/kolibri/kol-input-color.entry.js +1 -1
  782. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  783. package/dist/kolibri/kol-input-date.entry.js +1 -1
  784. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  785. package/dist/kolibri/kol-input-email.entry.js +1 -1
  786. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  787. package/dist/kolibri/kol-input-file.entry.js +1 -1
  788. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  789. package/dist/kolibri/kol-input-number.entry.js +1 -1
  790. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  791. package/dist/kolibri/kol-input-password.entry.js +1 -1
  792. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  793. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  794. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  795. package/dist/kolibri/kol-input-range.entry.js +1 -1
  796. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  797. package/dist/kolibri/kol-input-text.entry.js +1 -1
  798. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  799. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  800. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  801. package/dist/kolibri/kol-link-button.entry.js +1 -1
  802. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  803. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  804. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  805. package/dist/kolibri/kol-link.entry.js +1 -1
  806. package/dist/kolibri/kol-link.entry.js.map +1 -1
  807. package/dist/kolibri/kol-modal.entry.js +1 -1
  808. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  809. package/dist/kolibri/kol-nav.entry.js +1 -1
  810. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  811. package/dist/kolibri/kol-pagination.entry.js +1 -1
  812. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  813. package/dist/kolibri/kol-popover-button-wc.entry.js +4 -0
  814. package/dist/kolibri/kol-popover-button-wc.entry.js.map +1 -0
  815. package/dist/kolibri/kol-popover-button.entry.js +4 -0
  816. package/dist/kolibri/kol-popover-button.entry.js.map +1 -0
  817. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  818. package/dist/kolibri/kol-popover-wc.entry.js.map +1 -1
  819. package/dist/kolibri/kol-progress.entry.js +1 -1
  820. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  821. package/dist/kolibri/kol-quote.entry.js +1 -1
  822. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  823. package/dist/kolibri/kol-select.entry.js +1 -1
  824. package/dist/kolibri/kol-select.entry.js.map +1 -1
  825. package/dist/kolibri/kol-single-select.entry.js +1 -1
  826. package/dist/kolibri/kol-single-select.entry.js.map +1 -1
  827. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  828. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  829. package/dist/kolibri/kol-spin.entry.js +1 -1
  830. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  831. package/dist/kolibri/kol-split-button.entry.js +1 -1
  832. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  833. package/dist/kolibri/kol-table-settings-wc.entry.js +4 -0
  834. package/dist/kolibri/kol-table-settings-wc.entry.js.map +1 -0
  835. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  836. package/dist/kolibri/kol-table-stateful.entry.js.map +1 -1
  837. package/dist/kolibri/kol-table-stateless-wc.entry.js +1 -1
  838. package/dist/kolibri/kol-table-stateless-wc.entry.js.map +1 -1
  839. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  840. package/dist/kolibri/kol-table-stateless.entry.js.map +1 -1
  841. package/dist/kolibri/kol-tabs.entry.js +1 -1
  842. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  843. package/dist/kolibri/kol-textarea.entry.js +1 -1
  844. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  845. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  846. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  847. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  848. package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
  849. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  850. package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
  851. package/dist/kolibri/kol-tree-item-wc.entry.js +1 -1
  852. package/dist/kolibri/kol-tree-item-wc.entry.js.map +1 -1
  853. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  854. package/dist/kolibri/kol-tree-item.entry.js.map +1 -1
  855. package/dist/kolibri/kol-tree-wc.entry.js +1 -1
  856. package/dist/kolibri/kol-tree-wc.entry.js.map +1 -1
  857. package/dist/kolibri/kol-tree.entry.js +1 -1
  858. package/dist/kolibri/kol-tree.entry.js.map +1 -1
  859. package/dist/kolibri/kol-version.entry.js +1 -1
  860. package/dist/kolibri/kol-version.entry.js.map +1 -1
  861. package/dist/kolibri/kolibri.esm.js +1 -1
  862. package/dist/kolibri/kolibri.esm.js.map +1 -1
  863. package/dist/kolibri/label-792bf136.js +4 -0
  864. package/dist/kolibri/label-792bf136.js.map +1 -0
  865. package/dist/kolibri/open-47fe74b8.js +4 -0
  866. package/dist/kolibri/open-47fe74b8.js.map +1 -0
  867. package/dist/kolibri/prop.validators-d189554c.js +4 -0
  868. package/dist/kolibri/prop.validators-d189554c.js.map +1 -0
  869. package/dist/kolibri/reuse-f46e7e35.js +4 -0
  870. package/dist/kolibri/reuse-f46e7e35.js.map +1 -0
  871. package/dist/kolibri/rows-55ec05a8.js +4 -0
  872. package/dist/kolibri/show-84afcfc3.js +4 -0
  873. package/dist/kolibri/spell-check-fbd770e6.js +4 -0
  874. package/dist/kolibri/suggestions-923c3993.js +4 -0
  875. package/dist/kolibri/table-settings-b82b74ab.js +4 -0
  876. package/dist/kolibri/table-settings-b82b74ab.js.map +1 -0
  877. package/dist/kolibri/test-component.entry.js +1 -1
  878. package/dist/kolibri/tooltip-align-075e677e.js +4 -0
  879. package/dist/kolibri/tslib.es6-1173d062.js.map +1 -0
  880. package/dist/kolibri/validation-2b01ed4b.js +4 -0
  881. package/dist/kolibri/validation-ceb6428b.js +4 -0
  882. package/dist/types/components/@deprecated/input/controller.d.ts +3 -3
  883. package/dist/types/components/@deprecated/input/types.d.ts +1 -2
  884. package/dist/types/components/accordion/shadow.d.ts +1 -1
  885. package/dist/types/components/alert/component.d.ts +1 -0
  886. package/dist/types/components/button/component.d.ts +1 -0
  887. package/dist/types/components/button/shadow.d.ts +0 -2
  888. package/dist/types/components/button-link/shadow.d.ts +0 -2
  889. package/dist/types/components/card/shadow.d.ts +1 -0
  890. package/dist/types/components/combobox/shadow.d.ts +6 -7
  891. package/dist/types/components/component-list.d.ts +16 -2
  892. package/dist/types/components/details/shadow.d.ts +1 -2
  893. package/dist/types/components/drawer/shadow.d.ts +5 -6
  894. package/dist/types/components/form/shadow.d.ts +6 -1
  895. package/dist/types/components/input/controller.d.ts +1 -1
  896. package/dist/types/components/input/types.d.ts +2 -2
  897. package/dist/types/components/input-adapter-leanup/controller.d.ts +0 -1
  898. package/dist/types/components/input-adapter-leanup/types.d.ts +0 -1
  899. package/dist/types/components/input-checkbox/shadow.d.ts +7 -11
  900. package/dist/types/components/input-color/shadow.d.ts +16 -11
  901. package/dist/types/components/input-date/shadow.d.ts +7 -10
  902. package/dist/types/components/input-email/shadow.d.ts +5 -10
  903. package/dist/types/components/input-file/controller.d.ts +0 -1
  904. package/dist/types/components/input-file/shadow.d.ts +10 -12
  905. package/dist/types/components/input-number/shadow.d.ts +12 -16
  906. package/dist/types/components/input-password/shadow.d.ts +6 -10
  907. package/dist/types/components/input-radio/controller.d.ts +1 -1
  908. package/dist/types/components/input-radio/shadow.d.ts +7 -11
  909. package/dist/types/components/input-range/shadow.d.ts +8 -10
  910. package/dist/types/components/input-text/shadow.d.ts +7 -10
  911. package/dist/types/components/link/component.d.ts +6 -1
  912. package/dist/types/components/link/shadow.d.ts +0 -2
  913. package/dist/types/components/link-button/shadow.d.ts +0 -2
  914. package/dist/types/components/modal/shadow.d.ts +5 -3
  915. package/dist/types/components/pagination/shadow.d.ts +1 -0
  916. package/dist/types/components/popover-button/component.d.ts +40 -0
  917. package/dist/types/components/popover-button/shadow.d.ts +30 -0
  918. package/dist/types/components/progress/shadow.d.ts +1 -1
  919. package/dist/types/components/select/shadow.d.ts +5 -9
  920. package/dist/types/components/single-select/controller.d.ts +3 -2
  921. package/dist/types/components/single-select/shadow.d.ts +12 -10
  922. package/dist/types/components/split-button/shadow.d.ts +0 -1
  923. package/dist/types/components/table-stateful/shadow.d.ts +6 -6
  924. package/dist/types/components/table-stateless/component.d.ts +19 -3
  925. package/dist/types/components/table-stateless/shadow.d.ts +5 -2
  926. package/dist/types/components/table-stateless/table-settings.d.ts +18 -0
  927. package/dist/types/components/tabs/shadow.d.ts +2 -1
  928. package/dist/types/components/textarea/shadow.d.ts +5 -10
  929. package/dist/types/components.d.ts +803 -1340
  930. package/dist/types/core/component-names.d.ts +3 -8
  931. package/dist/types/e2e/index.d.ts +1 -0
  932. package/dist/types/e2e/input-callbacks-and-events.d.ts +9 -0
  933. package/dist/types/e2e/input-value-reflection.d.ts +5 -0
  934. package/dist/types/e2e/utils/FillAction.d.ts +4 -0
  935. package/dist/types/e2e/utils/inputsSelector.d.ts +2 -0
  936. package/dist/types/functional-component-wrappers/CheckboxStateWrapper/CheckboxStateWrapper.d.ts +10 -0
  937. package/dist/types/functional-component-wrappers/CheckboxStateWrapper/index.d.ts +1 -0
  938. package/dist/types/functional-component-wrappers/FieldControlStateWrapper/FieldControlStateWrapper.d.ts +9 -0
  939. package/dist/types/functional-component-wrappers/FieldControlStateWrapper/index.d.ts +1 -0
  940. package/dist/types/functional-component-wrappers/FormFieldStateWrapper/FormFieldStateWrapper.d.ts +9 -0
  941. package/dist/types/functional-component-wrappers/FormFieldStateWrapper/index.d.ts +1 -0
  942. package/dist/types/functional-component-wrappers/InputContainerStateWrapper/InputContainerStateWrapper.d.ts +9 -0
  943. package/dist/types/functional-component-wrappers/InputContainerStateWrapper/index.d.ts +1 -0
  944. package/dist/types/functional-component-wrappers/InputStateWrapper/InputStateWrapper.d.ts +10 -0
  945. package/dist/types/functional-component-wrappers/InputStateWrapper/index.d.ts +1 -0
  946. package/dist/types/functional-component-wrappers/SelectStateWrapper/SelectStateWrapper.d.ts +8 -0
  947. package/dist/types/functional-component-wrappers/SelectStateWrapper/index.d.ts +1 -0
  948. package/dist/types/functional-component-wrappers/TextAreaStateWrapper/TextAreaStateWrapper.d.ts +8 -0
  949. package/dist/types/functional-component-wrappers/TextAreaStateWrapper/index.d.ts +1 -0
  950. package/dist/types/functional-component-wrappers/_helpers/getRenderStates.d.ts +11 -0
  951. package/dist/types/functional-components/Button/Button.d.ts +9 -0
  952. package/dist/types/functional-components/Button/index.d.ts +1 -0
  953. package/dist/types/functional-components/Button/tests/snapshot.test.d.ts +1 -0
  954. package/dist/types/functional-components/CustomSuggestionsOption/CustomSuggestionsOption.d.ts +11 -0
  955. package/dist/types/functional-components/CustomSuggestionsOption/index.d.ts +1 -0
  956. package/dist/types/functional-components/CustomSuggestionsOption/test/snapshot.test.d.ts +1 -0
  957. package/dist/types/functional-components/CustomSuggestionsOptionsGroup/CustomSuggestionsOptionsGroup.d.ts +7 -0
  958. package/dist/types/functional-components/CustomSuggestionsOptionsGroup/index.d.ts +1 -0
  959. package/dist/types/functional-components/CustomSuggestionsOptionsGroup/test/snapshot.test.d.ts +1 -0
  960. package/dist/types/functional-components/CustomSuggestionsToggle/CustomSuggestionsToggle.d.ts +7 -0
  961. package/dist/types/functional-components/CustomSuggestionsToggle/index.d.ts +1 -0
  962. package/dist/types/functional-components/CustomSuggestionsToggle/test/snapshot.test.d.ts +1 -0
  963. package/dist/types/functional-components/FieldControl/FieldControl.d.ts +31 -0
  964. package/dist/types/functional-components/FieldControl/index.d.ts +1 -0
  965. package/dist/types/functional-components/FormField/FormField.d.ts +41 -0
  966. package/dist/types/functional-components/FormField/index.d.ts +1 -0
  967. package/dist/types/functional-components/FormField/tests/snapshot.test.d.ts +1 -0
  968. package/dist/types/functional-components/FormFieldCounter/FormFieldCounter.d.ts +8 -0
  969. package/dist/types/functional-components/FormFieldCounter/index.d.ts +1 -0
  970. package/dist/types/functional-components/FormFieldCounter/tests/snapshot.test.d.ts +1 -0
  971. package/dist/types/functional-components/FormFieldHint/FormFieldHint.d.ts +8 -0
  972. package/dist/types/functional-components/FormFieldHint/index.d.ts +1 -0
  973. package/dist/types/functional-components/FormFieldHint/tests/snapshot.test.d.ts +1 -0
  974. package/dist/types/functional-components/FormFieldLabel/FormFieldLabel.d.ts +18 -0
  975. package/dist/types/functional-components/FormFieldLabel/index.d.ts +1 -0
  976. package/dist/types/functional-components/FormFieldLabel/tests/snapshot.test.d.ts +1 -0
  977. package/dist/types/functional-components/FormFieldMsg/FormFieldMsg.d.ts +7 -6
  978. package/dist/types/functional-components/FormFieldMsg/tests/snapshort.test.d.ts +1 -0
  979. package/dist/types/functional-components/FormFieldTooltip/FormFieldTooltip.d.ts +12 -0
  980. package/dist/types/functional-components/FormFieldTooltip/index.d.ts +1 -0
  981. package/dist/types/functional-components/FormFieldTooltip/tests/snapshort.test.d.ts +1 -0
  982. package/dist/types/functional-components/Icon/tests/snapshot.test.d.ts +1 -0
  983. package/dist/types/functional-components/IconButton/IconButton.d.ts +19 -0
  984. package/dist/types/functional-components/IconButton/index.d.ts +1 -0
  985. package/dist/types/functional-components/IconButton/tests/snapshot.test.d.ts +1 -0
  986. package/dist/types/functional-components/InputAdornment/InputAdornment.d.ts +7 -0
  987. package/dist/types/functional-components/InputAdornment/index.d.ts +1 -0
  988. package/dist/types/functional-components/InputAdornment/tests/snapshot.test.d.ts +1 -0
  989. package/dist/types/functional-components/InputContainer/InputContainer.d.ts +16 -0
  990. package/dist/types/functional-components/InputContainer/index.d.ts +1 -0
  991. package/dist/types/functional-components/InputContainer/tests/snapshot.test.d.ts +1 -0
  992. package/dist/types/functional-components/Suggestions/Suggestions.d.ts +9 -0
  993. package/dist/types/functional-components/Suggestions/index.d.ts +1 -0
  994. package/dist/types/functional-components/Suggestions/tests/snapshot.test.d.ts +1 -0
  995. package/dist/types/functional-components/index.d.ts +1 -1
  996. package/dist/types/functional-components/inputs/Checkbox/Checkbox.d.ts +10 -0
  997. package/dist/types/functional-components/inputs/Checkbox/index.d.ts +1 -0
  998. package/dist/types/functional-components/inputs/Combobox/Combobox.d.ts +10 -0
  999. package/dist/types/functional-components/inputs/Input/Input.d.ts +16 -0
  1000. package/dist/types/functional-components/inputs/Input/index.d.ts +1 -0
  1001. package/dist/types/functional-components/inputs/Input/tests/snapshot.test.d.ts +1 -0
  1002. package/dist/types/functional-components/inputs/NativeOption/NativeOption.d.ts +12 -0
  1003. package/dist/types/functional-components/inputs/NativeOption/index.d.ts +1 -0
  1004. package/dist/types/functional-components/inputs/NativeOption/tests/snapshot.test.d.ts +1 -0
  1005. package/dist/types/functional-components/inputs/NativeOptionList/NativeOptionList.d.ts +14 -0
  1006. package/dist/types/functional-components/inputs/NativeOptionList/index.d.ts +1 -0
  1007. package/dist/types/functional-components/inputs/NativeOptionList/tests/snapshot.test.d.ts +1 -0
  1008. package/dist/types/functional-components/inputs/NativeSelect/NativeSelect.d.ts +12 -0
  1009. package/dist/types/functional-components/inputs/NativeSelect/index.d.ts +1 -0
  1010. package/dist/types/functional-components/inputs/NativeSelect/tests/snapshot.test.d.ts +1 -0
  1011. package/dist/types/functional-components/inputs/TextArea/TextArea.d.ts +11 -0
  1012. package/dist/types/functional-components/inputs/TextArea/index.d.ts +1 -0
  1013. package/dist/types/functional-components/inputs/TextArea/tests/snapshot.test.d.ts +1 -0
  1014. package/dist/types/functional-components/inputs/_helpers/getDefaultProps.d.ts +11 -0
  1015. package/dist/types/functional-components/inputs/_helpers/getDefaultProps.test.d.ts +1 -0
  1016. package/dist/types/functional-components/inputs/_types/index.d.ts +6 -0
  1017. package/dist/types/index.d.ts +1 -0
  1018. package/dist/types/locales/de.d.ts +12 -0
  1019. package/dist/types/locales/en.d.ts +12 -0
  1020. package/dist/types/schema/components/button.d.ts +1 -0
  1021. package/dist/types/schema/components/combobox.d.ts +3 -6
  1022. package/dist/types/schema/components/drawer.d.ts +3 -3
  1023. package/dist/types/schema/components/form.d.ts +3 -3
  1024. package/dist/types/schema/components/index.d.ts +1 -1
  1025. package/dist/types/schema/components/input-checkbox.d.ts +3 -8
  1026. package/dist/types/schema/components/input-color.d.ts +3 -8
  1027. package/dist/types/schema/components/input-date.d.ts +3 -6
  1028. package/dist/types/schema/components/input-email.d.ts +3 -8
  1029. package/dist/types/schema/components/input-file.d.ts +3 -10
  1030. package/dist/types/schema/components/input-number.d.ts +4 -7
  1031. package/dist/types/schema/components/input-password.d.ts +3 -8
  1032. package/dist/types/schema/components/input-radio.d.ts +3 -8
  1033. package/dist/types/schema/components/input-range.d.ts +3 -8
  1034. package/dist/types/schema/components/input-text.d.ts +3 -8
  1035. package/dist/types/schema/components/input.d.ts +2 -3
  1036. package/dist/types/schema/components/link-button.d.ts +2 -2
  1037. package/dist/types/schema/components/link.d.ts +2 -2
  1038. package/dist/types/schema/components/modal.d.ts +3 -4
  1039. package/dist/types/schema/components/pagination.d.ts +2 -2
  1040. package/dist/types/schema/components/popover-button.d.ts +9 -0
  1041. package/dist/types/schema/components/select.d.ts +3 -7
  1042. package/dist/types/schema/components/single-select.d.ts +6 -8
  1043. package/dist/types/schema/components/table.d.ts +10 -18
  1044. package/dist/types/schema/components/tableStateless.d.ts +7 -8
  1045. package/dist/types/schema/components/tabs.d.ts +3 -3
  1046. package/dist/types/schema/components/textarea.d.ts +3 -9
  1047. package/dist/types/schema/components/toaster.d.ts +0 -2
  1048. package/dist/types/schema/enums/callback.d.ts +25 -0
  1049. package/dist/types/schema/enums/index.d.ts +1 -1
  1050. package/dist/types/schema/index.d.ts +1 -1
  1051. package/dist/types/schema/interfaces/EventDetail.d.ts +4 -0
  1052. package/dist/types/schema/props/accordion-callbacks.d.ts +2 -2
  1053. package/dist/types/schema/props/alert.d.ts +0 -2
  1054. package/dist/types/schema/props/button-callbacks.d.ts +3 -3
  1055. package/dist/types/schema/props/details-callbacks.d.ts +2 -2
  1056. package/dist/types/schema/props/error-list.d.ts +2 -1
  1057. package/dist/types/schema/props/hide-msg.d.ts +7 -0
  1058. package/dist/types/schema/props/index.d.ts +1 -1
  1059. package/dist/types/schema/props/link-on-callbacks.d.ts +2 -2
  1060. package/dist/types/schema/props/min-width.d.ts +7 -0
  1061. package/dist/types/schema/props/msg.d.ts +6 -1
  1062. package/dist/types/schema/props/popover-align.d.ts +7 -0
  1063. package/dist/types/schema/props/popover-callbacks.d.ts +2 -2
  1064. package/dist/types/schema/props/table-callbacks.d.ts +4 -4
  1065. package/dist/types/schema/props/table-settings.d.ts +7 -0
  1066. package/dist/types/schema/props/variant/modal.d.ts +8 -0
  1067. package/dist/types/schema/tag-names.d.ts +45 -47
  1068. package/dist/types/schema/types/index.d.ts +1 -1
  1069. package/dist/types/schema/types/input/control/number.d.ts +0 -3
  1070. package/dist/types/schema/types/input/types.d.ts +6 -6
  1071. package/dist/types/schema/types/table-settings.d.ts +10 -0
  1072. package/dist/types/schema/types/table.d.ts +1 -1
  1073. package/dist/types/schema/utils/prop.validators.d.ts +0 -2
  1074. package/dist/types/utils/events.d.ts +20 -5
  1075. package/dist/types/utils/transformObjectProperties.d.ts +5 -0
  1076. package/dist/types/utils/transformObjectProperties.test.d.ts +1 -0
  1077. package/doc/accordion.md +2 -12
  1078. package/doc/alert.md +1 -1
  1079. package/doc/button-link.md +1 -12
  1080. package/doc/button.md +2 -13
  1081. package/doc/card.md +1 -1
  1082. package/doc/combobox.md +20 -22
  1083. package/doc/components.md +1 -1
  1084. package/doc/details.md +2 -12
  1085. package/doc/drawer.md +2 -3
  1086. package/doc/heading.md +1 -1
  1087. package/doc/input-checkbox.md +25 -38
  1088. package/doc/input-color.md +20 -33
  1089. package/doc/input-date.md +26 -39
  1090. package/doc/input-email.md +27 -40
  1091. package/doc/input-file.md +20 -34
  1092. package/doc/input-number.md +26 -39
  1093. package/doc/input-password.md +26 -39
  1094. package/doc/input-radio.md +19 -32
  1095. package/doc/input-range.md +22 -35
  1096. package/doc/input-text.md +28 -41
  1097. package/doc/link-button.md +1 -12
  1098. package/doc/link.md +2 -13
  1099. package/doc/modal.md +6 -6
  1100. package/doc/popover-button.md +55 -0
  1101. package/doc/select.md +22 -34
  1102. package/doc/single-select.md +23 -24
  1103. package/doc/split-button.md +0 -1
  1104. package/doc/table-stateful.md +13 -12
  1105. package/doc/table-stateless.md +10 -9
  1106. package/doc/tabs.md +1 -1
  1107. package/doc/textarea.md +2 -15
  1108. package/doc/toaster.md +3 -3
  1109. package/doc/toolbar.md +4 -4
  1110. package/doc/tree-item.md +6 -6
  1111. package/doc/tree.md +3 -3
  1112. package/package.json +15 -2
  1113. package/vscode-custom-data.json +458 -472
  1114. package/dist/cjs/Alert-f6b0d38e.js +0 -4
  1115. package/dist/cjs/Alert-f6b0d38e.js.map +0 -1
  1116. package/dist/cjs/Collapsible-4e60c250.js +0 -4
  1117. package/dist/cjs/Collapsible-4e60c250.js.map +0 -1
  1118. package/dist/cjs/FormFieldMsg-f9c66f2b.js +0 -4
  1119. package/dist/cjs/FormFieldMsg-f9c66f2b.js.map +0 -1
  1120. package/dist/cjs/Heading-862fa562.js +0 -4
  1121. package/dist/cjs/Heading-862fa562.js.map +0 -1
  1122. package/dist/cjs/InternalUnderlinedBadgeText-1c6598a7.js +0 -4
  1123. package/dist/cjs/InternalUnderlinedBadgeText-1c6598a7.js.map +0 -1
  1124. package/dist/cjs/Span-95000179.js +0 -4
  1125. package/dist/cjs/Span-95000179.js.map +0 -1
  1126. package/dist/cjs/access-and-short-key-4b185f62.js +0 -4
  1127. package/dist/cjs/access-and-short-key-4b185f62.js.map +0 -1
  1128. package/dist/cjs/align-f4f3dfb6.js +0 -4
  1129. package/dist/cjs/align-f4f3dfb6.js.map +0 -1
  1130. package/dist/cjs/align-floating-elements-fdc6eb39.js +0 -4
  1131. package/dist/cjs/align-floating-elements-fdc6eb39.js.map +0 -1
  1132. package/dist/cjs/app-globals-cbed5be9.js +0 -4
  1133. package/dist/cjs/app-globals-cbed5be9.js.map +0 -1
  1134. package/dist/cjs/aria-expanded-6f9152b4.js +0 -4
  1135. package/dist/cjs/aria-expanded-6f9152b4.js.map +0 -1
  1136. package/dist/cjs/associated.controller-e7a1e9af.js +0 -4
  1137. package/dist/cjs/associated.controller-e7a1e9af.js.map +0 -1
  1138. package/dist/cjs/bund-4be96755.js +0 -4
  1139. package/dist/cjs/bund-4be96755.js.map +0 -1
  1140. package/dist/cjs/color-5ddd375e.js +0 -4
  1141. package/dist/cjs/color-5ddd375e.js.map +0 -1
  1142. package/dist/cjs/component-names-7808fb62.js +0 -4
  1143. package/dist/cjs/component-names-7808fb62.js.map +0 -1
  1144. package/dist/cjs/controller-2cf5be5c.js +0 -4
  1145. package/dist/cjs/controller-2cf5be5c.js.map +0 -1
  1146. package/dist/cjs/controller-3ba0a95f.js +0 -4
  1147. package/dist/cjs/controller-3ba0a95f.js.map +0 -1
  1148. package/dist/cjs/controller-4ad095de.js +0 -4
  1149. package/dist/cjs/controller-4ad095de.js.map +0 -1
  1150. package/dist/cjs/controller-59d57d18.js +0 -4
  1151. package/dist/cjs/controller-59d57d18.js.map +0 -1
  1152. package/dist/cjs/controller-c08f0c47.js +0 -4
  1153. package/dist/cjs/controller-c08f0c47.js.map +0 -1
  1154. package/dist/cjs/controller-icon-0a07b9d4.js +0 -4
  1155. package/dist/cjs/controller-icon-0a07b9d4.js.map +0 -1
  1156. package/dist/cjs/custom-class-d8a5e95d.js +0 -4
  1157. package/dist/cjs/custom-class-d8a5e95d.js.map +0 -1
  1158. package/dist/cjs/dev.utils-91b818ef.js +0 -4
  1159. package/dist/cjs/dev.utils-91b818ef.js.map +0 -1
  1160. package/dist/cjs/devtools-189e17b0.js +0 -4
  1161. package/dist/cjs/devtools-189e17b0.js.map +0 -1
  1162. package/dist/cjs/disabled-5eb4fde5.js +0 -4
  1163. package/dist/cjs/disabled-5eb4fde5.js.map +0 -1
  1164. package/dist/cjs/events-221fcb43.js +0 -4
  1165. package/dist/cjs/events-221fcb43.js.map +0 -1
  1166. package/dist/cjs/events-4981f0c3.js +0 -4
  1167. package/dist/cjs/events-4981f0c3.js.map +0 -1
  1168. package/dist/cjs/has-closer-9e124723.js +0 -4
  1169. package/dist/cjs/has-closer-9e124723.js.map +0 -1
  1170. package/dist/cjs/has-counter-576de43f.js +0 -4
  1171. package/dist/cjs/has-counter-576de43f.js.map +0 -1
  1172. package/dist/cjs/hide-label-1783d2a4.js +0 -4
  1173. package/dist/cjs/hide-label-1783d2a4.js.map +0 -1
  1174. package/dist/cjs/href-50c41695.js +0 -4
  1175. package/dist/cjs/href-50c41695.js.map +0 -1
  1176. package/dist/cjs/i18n-1d085d07.js +0 -4
  1177. package/dist/cjs/i18n-1d085d07.js.map +0 -1
  1178. package/dist/cjs/i18n-737701e2.js +0 -4
  1179. package/dist/cjs/i18n-737701e2.js.map +0 -1
  1180. package/dist/cjs/icons-3917f9e0.js +0 -4
  1181. package/dist/cjs/icons-3917f9e0.js.map +0 -1
  1182. package/dist/cjs/image-source-546dd85b.js +0 -4
  1183. package/dist/cjs/image-source-546dd85b.js.map +0 -1
  1184. package/dist/cjs/index-80062b8e.js +0 -4
  1185. package/dist/cjs/index-80062b8e.js.map +0 -1
  1186. package/dist/cjs/index-bf4a6924.js +0 -4
  1187. package/dist/cjs/index-bf4a6924.js.map +0 -1
  1188. package/dist/cjs/kol-button-group-wc.cjs.entry.js +0 -4
  1189. package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +0 -1
  1190. package/dist/cjs/kol-button-group.cjs.entry.js +0 -4
  1191. package/dist/cjs/kol-button-group.cjs.entry.js.map +0 -1
  1192. package/dist/cjs/kol-indented-text-wc.cjs.entry.js +0 -4
  1193. package/dist/cjs/kol-indented-text-wc.cjs.entry.js.map +0 -1
  1194. package/dist/cjs/kol-indented-text.cjs.entry.js +0 -4
  1195. package/dist/cjs/kol-indented-text.cjs.entry.js.map +0 -1
  1196. package/dist/cjs/kol-input.cjs.entry.js +0 -4
  1197. package/dist/cjs/kol-input.cjs.entry.js.map +0 -1
  1198. package/dist/cjs/kol-link-group.cjs.entry.js +0 -4
  1199. package/dist/cjs/kol-link-group.cjs.entry.js.map +0 -1
  1200. package/dist/cjs/kol-logo.cjs.entry.js +0 -4
  1201. package/dist/cjs/kol-logo.cjs.entry.js.map +0 -1
  1202. package/dist/cjs/kol-symbol.cjs.entry.js +0 -4
  1203. package/dist/cjs/kol-symbol.cjs.entry.js.map +0 -1
  1204. package/dist/cjs/kol-table.cjs.entry.js +0 -4
  1205. package/dist/cjs/kol-table.cjs.entry.js.map +0 -1
  1206. package/dist/cjs/label-d84e4f92.js +0 -4
  1207. package/dist/cjs/label-d84e4f92.js.map +0 -1
  1208. package/dist/cjs/open-19fa99c9.js +0 -4
  1209. package/dist/cjs/open-19fa99c9.js.map +0 -1
  1210. package/dist/cjs/prop.validators-37d21dea.js +0 -4
  1211. package/dist/cjs/prop.validators-37d21dea.js.map +0 -1
  1212. package/dist/cjs/reuse-8cfefa9b.js +0 -4
  1213. package/dist/cjs/reuse-8cfefa9b.js.map +0 -1
  1214. package/dist/cjs/rows-fd18fa20.js +0 -4
  1215. package/dist/cjs/rows-fd18fa20.js.map +0 -1
  1216. package/dist/cjs/show-f204ce41.js +0 -4
  1217. package/dist/cjs/show-f204ce41.js.map +0 -1
  1218. package/dist/cjs/spell-check-2c944775.js +0 -4
  1219. package/dist/cjs/spell-check-2c944775.js.map +0 -1
  1220. package/dist/cjs/suggestions-38ae7a17.js +0 -4
  1221. package/dist/cjs/suggestions-38ae7a17.js.map +0 -1
  1222. package/dist/cjs/tooltip-align-70093437.js +0 -4
  1223. package/dist/cjs/tooltip-align-70093437.js.map +0 -1
  1224. package/dist/cjs/tslib.es6-16e4524f.js.map +0 -1
  1225. package/dist/cjs/validation-6f90f7a8.js +0 -4
  1226. package/dist/cjs/validation-6f90f7a8.js.map +0 -1
  1227. package/dist/cjs/validation-7592f880.js +0 -4
  1228. package/dist/cjs/validation-7592f880.js.map +0 -1
  1229. package/dist/components/FormFieldMsg.js +0 -4
  1230. package/dist/components/FormFieldMsg.js.map +0 -1
  1231. package/dist/components/aria-expanded.js +0 -4
  1232. package/dist/components/aria-expanded.js.map +0 -1
  1233. package/dist/components/bund.js +0 -4
  1234. package/dist/components/bund.js.map +0 -1
  1235. package/dist/components/controller-icon.js +0 -4
  1236. package/dist/components/controller-icon.js.map +0 -1
  1237. package/dist/components/controller5.js +0 -4
  1238. package/dist/components/controller5.js.map +0 -1
  1239. package/dist/components/events2.js +0 -4
  1240. package/dist/components/events2.js.map +0 -1
  1241. package/dist/components/kol-button-group-wc.d.ts +0 -11
  1242. package/dist/components/kol-button-group-wc.js +0 -4
  1243. package/dist/components/kol-button-group-wc.js.map +0 -1
  1244. package/dist/components/kol-button-group.d.ts +0 -11
  1245. package/dist/components/kol-button-group.js +0 -4
  1246. package/dist/components/kol-button-group.js.map +0 -1
  1247. package/dist/components/kol-indented-text-wc.d.ts +0 -11
  1248. package/dist/components/kol-indented-text-wc.js +0 -4
  1249. package/dist/components/kol-indented-text-wc.js.map +0 -1
  1250. package/dist/components/kol-indented-text.d.ts +0 -11
  1251. package/dist/components/kol-indented-text.js +0 -4
  1252. package/dist/components/kol-indented-text.js.map +0 -1
  1253. package/dist/components/kol-input.d.ts +0 -11
  1254. package/dist/components/kol-input.js +0 -4
  1255. package/dist/components/kol-input.js.map +0 -1
  1256. package/dist/components/kol-link-group.d.ts +0 -11
  1257. package/dist/components/kol-link-group.js +0 -4
  1258. package/dist/components/kol-link-group.js.map +0 -1
  1259. package/dist/components/kol-logo.d.ts +0 -11
  1260. package/dist/components/kol-logo.js +0 -4
  1261. package/dist/components/kol-logo.js.map +0 -1
  1262. package/dist/components/kol-symbol.d.ts +0 -11
  1263. package/dist/components/kol-symbol.js +0 -4
  1264. package/dist/components/kol-symbol.js.map +0 -1
  1265. package/dist/components/kol-table.d.ts +0 -11
  1266. package/dist/components/kol-table.js +0 -4
  1267. package/dist/components/kol-table.js.map +0 -1
  1268. package/dist/esm/Alert-1b318619.js +0 -4
  1269. package/dist/esm/Alert-1b318619.js.map +0 -1
  1270. package/dist/esm/Collapsible-53867075.js +0 -4
  1271. package/dist/esm/Collapsible-53867075.js.map +0 -1
  1272. package/dist/esm/FormFieldMsg-6843c725.js +0 -4
  1273. package/dist/esm/FormFieldMsg-6843c725.js.map +0 -1
  1274. package/dist/esm/Heading-1fe830dd.js +0 -4
  1275. package/dist/esm/Heading-1fe830dd.js.map +0 -1
  1276. package/dist/esm/InternalUnderlinedBadgeText-8f2a64b6.js +0 -4
  1277. package/dist/esm/InternalUnderlinedBadgeText-8f2a64b6.js.map +0 -1
  1278. package/dist/esm/Span-7f84ad00.js +0 -4
  1279. package/dist/esm/Span-7f84ad00.js.map +0 -1
  1280. package/dist/esm/access-and-short-key-864aafba.js +0 -4
  1281. package/dist/esm/access-and-short-key-864aafba.js.map +0 -1
  1282. package/dist/esm/align-3f029493.js +0 -4
  1283. package/dist/esm/align-3f029493.js.map +0 -1
  1284. package/dist/esm/align-floating-elements-a8debc3a.js +0 -4
  1285. package/dist/esm/align-floating-elements-a8debc3a.js.map +0 -1
  1286. package/dist/esm/app-globals-ebbcf310.js +0 -4
  1287. package/dist/esm/app-globals-ebbcf310.js.map +0 -1
  1288. package/dist/esm/aria-expanded-1b7c2c54.js +0 -4
  1289. package/dist/esm/aria-expanded-1b7c2c54.js.map +0 -1
  1290. package/dist/esm/associated.controller-bce3d721.js +0 -4
  1291. package/dist/esm/associated.controller-bce3d721.js.map +0 -1
  1292. package/dist/esm/bund-ad41b762.js +0 -4
  1293. package/dist/esm/bund-ad41b762.js.map +0 -1
  1294. package/dist/esm/color-cce3e447.js +0 -4
  1295. package/dist/esm/color-cce3e447.js.map +0 -1
  1296. package/dist/esm/component-names-aa3cbc3c.js +0 -4
  1297. package/dist/esm/component-names-aa3cbc3c.js.map +0 -1
  1298. package/dist/esm/controller-1739038d.js +0 -4
  1299. package/dist/esm/controller-1739038d.js.map +0 -1
  1300. package/dist/esm/controller-506a6c81.js +0 -4
  1301. package/dist/esm/controller-506a6c81.js.map +0 -1
  1302. package/dist/esm/controller-64301c42.js +0 -4
  1303. package/dist/esm/controller-64301c42.js.map +0 -1
  1304. package/dist/esm/controller-68fd9cd8.js +0 -4
  1305. package/dist/esm/controller-68fd9cd8.js.map +0 -1
  1306. package/dist/esm/controller-6c2714a5.js +0 -4
  1307. package/dist/esm/controller-6c2714a5.js.map +0 -1
  1308. package/dist/esm/controller-icon-e20e2d63.js +0 -4
  1309. package/dist/esm/controller-icon-e20e2d63.js.map +0 -1
  1310. package/dist/esm/custom-class-9311655e.js +0 -4
  1311. package/dist/esm/custom-class-9311655e.js.map +0 -1
  1312. package/dist/esm/dev.utils-8fad8415.js +0 -4
  1313. package/dist/esm/dev.utils-8fad8415.js.map +0 -1
  1314. package/dist/esm/devtools-a0824082.js +0 -4
  1315. package/dist/esm/devtools-a0824082.js.map +0 -1
  1316. package/dist/esm/disabled-5fc4b444.js +0 -4
  1317. package/dist/esm/disabled-5fc4b444.js.map +0 -1
  1318. package/dist/esm/events-29e84d75.js +0 -4
  1319. package/dist/esm/events-29e84d75.js.map +0 -1
  1320. package/dist/esm/events-3111c1e8.js +0 -4
  1321. package/dist/esm/events-3111c1e8.js.map +0 -1
  1322. package/dist/esm/has-closer-aa8f6369.js +0 -4
  1323. package/dist/esm/has-closer-aa8f6369.js.map +0 -1
  1324. package/dist/esm/has-counter-a9dacd37.js +0 -4
  1325. package/dist/esm/has-counter-a9dacd37.js.map +0 -1
  1326. package/dist/esm/hide-label-db0db59c.js +0 -4
  1327. package/dist/esm/hide-label-db0db59c.js.map +0 -1
  1328. package/dist/esm/href-31b01f08.js +0 -4
  1329. package/dist/esm/href-31b01f08.js.map +0 -1
  1330. package/dist/esm/i18n-5fe08f1c.js +0 -4
  1331. package/dist/esm/i18n-5fe08f1c.js.map +0 -1
  1332. package/dist/esm/i18n-7ea9f137.js +0 -4
  1333. package/dist/esm/i18n-7ea9f137.js.map +0 -1
  1334. package/dist/esm/icons-f3b7aabd.js +0 -4
  1335. package/dist/esm/icons-f3b7aabd.js.map +0 -1
  1336. package/dist/esm/image-source-a6af4847.js +0 -4
  1337. package/dist/esm/image-source-a6af4847.js.map +0 -1
  1338. package/dist/esm/index-541b643a.js +0 -4
  1339. package/dist/esm/index-541b643a.js.map +0 -1
  1340. package/dist/esm/index-a49af574.js +0 -4
  1341. package/dist/esm/index-a49af574.js.map +0 -1
  1342. package/dist/esm/kol-button-group-wc.entry.js +0 -4
  1343. package/dist/esm/kol-button-group-wc.entry.js.map +0 -1
  1344. package/dist/esm/kol-button-group.entry.js +0 -4
  1345. package/dist/esm/kol-button-group.entry.js.map +0 -1
  1346. package/dist/esm/kol-indented-text-wc.entry.js +0 -4
  1347. package/dist/esm/kol-indented-text-wc.entry.js.map +0 -1
  1348. package/dist/esm/kol-indented-text.entry.js +0 -4
  1349. package/dist/esm/kol-indented-text.entry.js.map +0 -1
  1350. package/dist/esm/kol-input.entry.js +0 -4
  1351. package/dist/esm/kol-input.entry.js.map +0 -1
  1352. package/dist/esm/kol-link-group.entry.js +0 -4
  1353. package/dist/esm/kol-link-group.entry.js.map +0 -1
  1354. package/dist/esm/kol-logo.entry.js +0 -4
  1355. package/dist/esm/kol-logo.entry.js.map +0 -1
  1356. package/dist/esm/kol-symbol.entry.js +0 -4
  1357. package/dist/esm/kol-symbol.entry.js.map +0 -1
  1358. package/dist/esm/kol-table.entry.js +0 -4
  1359. package/dist/esm/kol-table.entry.js.map +0 -1
  1360. package/dist/esm/label-d70e7c34.js +0 -4
  1361. package/dist/esm/label-d70e7c34.js.map +0 -1
  1362. package/dist/esm/open-f7031548.js +0 -4
  1363. package/dist/esm/open-f7031548.js.map +0 -1
  1364. package/dist/esm/prop.validators-c5e6ad2d.js +0 -4
  1365. package/dist/esm/prop.validators-c5e6ad2d.js.map +0 -1
  1366. package/dist/esm/reuse-32931294.js +0 -4
  1367. package/dist/esm/reuse-32931294.js.map +0 -1
  1368. package/dist/esm/rows-64f9b5cb.js +0 -4
  1369. package/dist/esm/rows-64f9b5cb.js.map +0 -1
  1370. package/dist/esm/show-5d826542.js +0 -4
  1371. package/dist/esm/show-5d826542.js.map +0 -1
  1372. package/dist/esm/spell-check-5ac5a135.js +0 -4
  1373. package/dist/esm/spell-check-5ac5a135.js.map +0 -1
  1374. package/dist/esm/suggestions-33f55ec2.js +0 -4
  1375. package/dist/esm/suggestions-33f55ec2.js.map +0 -1
  1376. package/dist/esm/tooltip-align-c001aae2.js +0 -4
  1377. package/dist/esm/tooltip-align-c001aae2.js.map +0 -1
  1378. package/dist/esm/tslib.es6-2e5096f8.js.map +0 -1
  1379. package/dist/esm/validation-1a210179.js +0 -4
  1380. package/dist/esm/validation-1a210179.js.map +0 -1
  1381. package/dist/esm/validation-e83461ea.js +0 -4
  1382. package/dist/esm/validation-e83461ea.js.map +0 -1
  1383. package/dist/kolibri/Alert-1b318619.js +0 -4
  1384. package/dist/kolibri/Alert-1b318619.js.map +0 -1
  1385. package/dist/kolibri/Collapsible-53867075.js +0 -4
  1386. package/dist/kolibri/Collapsible-53867075.js.map +0 -1
  1387. package/dist/kolibri/FormFieldMsg-6843c725.js +0 -4
  1388. package/dist/kolibri/FormFieldMsg-6843c725.js.map +0 -1
  1389. package/dist/kolibri/Heading-1fe830dd.js +0 -4
  1390. package/dist/kolibri/Heading-1fe830dd.js.map +0 -1
  1391. package/dist/kolibri/InternalUnderlinedBadgeText-8f2a64b6.js +0 -4
  1392. package/dist/kolibri/InternalUnderlinedBadgeText-8f2a64b6.js.map +0 -1
  1393. package/dist/kolibri/Span-7f84ad00.js +0 -4
  1394. package/dist/kolibri/Span-7f84ad00.js.map +0 -1
  1395. package/dist/kolibri/access-and-short-key-864aafba.js +0 -4
  1396. package/dist/kolibri/access-and-short-key-864aafba.js.map +0 -1
  1397. package/dist/kolibri/align-3f029493.js +0 -4
  1398. package/dist/kolibri/align-3f029493.js.map +0 -1
  1399. package/dist/kolibri/align-floating-elements-a8debc3a.js +0 -4
  1400. package/dist/kolibri/align-floating-elements-a8debc3a.js.map +0 -1
  1401. package/dist/kolibri/app-globals-ebbcf310.js +0 -4
  1402. package/dist/kolibri/app-globals-ebbcf310.js.map +0 -1
  1403. package/dist/kolibri/aria-expanded-1b7c2c54.js +0 -4
  1404. package/dist/kolibri/aria-expanded-1b7c2c54.js.map +0 -1
  1405. package/dist/kolibri/assets/favicon.ico +0 -0
  1406. package/dist/kolibri/assets/images/abgrenzung.jpg +0 -0
  1407. package/dist/kolibri/assets/itzbund.logo.svg +0 -6
  1408. package/dist/kolibri/assets/kolibri.logo.svg +0 -31
  1409. package/dist/kolibri/assets/loader.css +0 -46
  1410. package/dist/kolibri/assets/logo.kolibri.invert.svg +0 -9
  1411. package/dist/kolibri/assets/logo.kolibri.svg +0 -9
  1412. package/dist/kolibri/assets/logo.kolibri.text.invert.svg +0 -9
  1413. package/dist/kolibri/assets/logo.kolibri.text.svg +0 -10
  1414. package/dist/kolibri/assets/simulations/alert-simulation.js +0 -1
  1415. package/dist/kolibri/assets/simulations/button-simulation.js +0 -1
  1416. package/dist/kolibri/assets/simulations/form-simulation.js +0 -1
  1417. package/dist/kolibri/assets/simulations/form-simulation.textarea.js +0 -1
  1418. package/dist/kolibri/assets/simulations/form-simulation.weitere-cases.js +0 -1
  1419. package/dist/kolibri/assets/simulations/modal-simulation.js +0 -1
  1420. package/dist/kolibri/assets/simulations/nav-simulation.js +0 -1
  1421. package/dist/kolibri/assets/simulations/pagination-simulation.js +0 -1
  1422. package/dist/kolibri/assets/simulations/popover-simulation.js +0 -1
  1423. package/dist/kolibri/assets/simulations/progress-simulation.js +0 -1
  1424. package/dist/kolibri/assets/simulations/smart-button-simulation.js +0 -1
  1425. package/dist/kolibri/assets/simulations/spin-simulation.js +0 -1
  1426. package/dist/kolibri/assets/simulations/table-simulation.js +0 -1
  1427. package/dist/kolibri/assets/simulations/tabs-simulation.js +0 -1
  1428. package/dist/kolibri/assets/simulations/toast-simulation.js +0 -1
  1429. package/dist/kolibri/assets/style.css +0 -139
  1430. package/dist/kolibri/associated.controller-bce3d721.js +0 -4
  1431. package/dist/kolibri/bund-ad41b762.js +0 -4
  1432. package/dist/kolibri/bund-ad41b762.js.map +0 -1
  1433. package/dist/kolibri/color-cce3e447.js +0 -4
  1434. package/dist/kolibri/color-cce3e447.js.map +0 -1
  1435. package/dist/kolibri/component-names-aa3cbc3c.js +0 -4
  1436. package/dist/kolibri/component-names-aa3cbc3c.js.map +0 -1
  1437. package/dist/kolibri/controller-1739038d.js +0 -4
  1438. package/dist/kolibri/controller-506a6c81.js +0 -4
  1439. package/dist/kolibri/controller-506a6c81.js.map +0 -1
  1440. package/dist/kolibri/controller-64301c42.js +0 -4
  1441. package/dist/kolibri/controller-64301c42.js.map +0 -1
  1442. package/dist/kolibri/controller-68fd9cd8.js +0 -4
  1443. package/dist/kolibri/controller-6c2714a5.js +0 -4
  1444. package/dist/kolibri/controller-icon-e20e2d63.js +0 -4
  1445. package/dist/kolibri/controller-icon-e20e2d63.js.map +0 -1
  1446. package/dist/kolibri/custom-class-9311655e.js +0 -4
  1447. package/dist/kolibri/dev.utils-8fad8415.js +0 -4
  1448. package/dist/kolibri/devtools-a0824082.js +0 -4
  1449. package/dist/kolibri/devtools-a0824082.js.map +0 -1
  1450. package/dist/kolibri/disabled-5fc4b444.js +0 -4
  1451. package/dist/kolibri/events-29e84d75.js +0 -4
  1452. package/dist/kolibri/events-29e84d75.js.map +0 -1
  1453. package/dist/kolibri/events-3111c1e8.js +0 -4
  1454. package/dist/kolibri/events-3111c1e8.js.map +0 -1
  1455. package/dist/kolibri/has-closer-aa8f6369.js +0 -4
  1456. package/dist/kolibri/has-counter-a9dacd37.js +0 -4
  1457. package/dist/kolibri/hide-label-db0db59c.js +0 -4
  1458. package/dist/kolibri/href-31b01f08.js +0 -4
  1459. package/dist/kolibri/href-31b01f08.js.map +0 -1
  1460. package/dist/kolibri/i18n-5fe08f1c.js +0 -4
  1461. package/dist/kolibri/i18n-7ea9f137.js +0 -4
  1462. package/dist/kolibri/i18n-7ea9f137.js.map +0 -1
  1463. package/dist/kolibri/icons-f3b7aabd.js +0 -4
  1464. package/dist/kolibri/image-source-a6af4847.js +0 -4
  1465. package/dist/kolibri/index-541b643a.js +0 -4
  1466. package/dist/kolibri/index-541b643a.js.map +0 -1
  1467. package/dist/kolibri/index-a49af574.js +0 -5
  1468. package/dist/kolibri/index-a49af574.js.map +0 -1
  1469. package/dist/kolibri/kol-button-group-wc.entry.js +0 -4
  1470. package/dist/kolibri/kol-button-group-wc.entry.js.map +0 -1
  1471. package/dist/kolibri/kol-button-group.entry.js +0 -4
  1472. package/dist/kolibri/kol-button-group.entry.js.map +0 -1
  1473. package/dist/kolibri/kol-indented-text-wc.entry.js +0 -4
  1474. package/dist/kolibri/kol-indented-text-wc.entry.js.map +0 -1
  1475. package/dist/kolibri/kol-indented-text.entry.js +0 -4
  1476. package/dist/kolibri/kol-indented-text.entry.js.map +0 -1
  1477. package/dist/kolibri/kol-input.entry.js +0 -4
  1478. package/dist/kolibri/kol-input.entry.js.map +0 -1
  1479. package/dist/kolibri/kol-link-group.entry.js +0 -4
  1480. package/dist/kolibri/kol-link-group.entry.js.map +0 -1
  1481. package/dist/kolibri/kol-logo.entry.js +0 -4
  1482. package/dist/kolibri/kol-logo.entry.js.map +0 -1
  1483. package/dist/kolibri/kol-symbol.entry.js +0 -4
  1484. package/dist/kolibri/kol-symbol.entry.js.map +0 -1
  1485. package/dist/kolibri/kol-table.entry.js +0 -4
  1486. package/dist/kolibri/kol-table.entry.js.map +0 -1
  1487. package/dist/kolibri/label-d70e7c34.js +0 -4
  1488. package/dist/kolibri/label-d70e7c34.js.map +0 -1
  1489. package/dist/kolibri/open-f7031548.js +0 -4
  1490. package/dist/kolibri/open-f7031548.js.map +0 -1
  1491. package/dist/kolibri/prop.validators-c5e6ad2d.js +0 -4
  1492. package/dist/kolibri/prop.validators-c5e6ad2d.js.map +0 -1
  1493. package/dist/kolibri/reuse-32931294.js +0 -4
  1494. package/dist/kolibri/reuse-32931294.js.map +0 -1
  1495. package/dist/kolibri/rows-64f9b5cb.js +0 -4
  1496. package/dist/kolibri/show-5d826542.js +0 -4
  1497. package/dist/kolibri/spell-check-5ac5a135.js +0 -4
  1498. package/dist/kolibri/suggestions-33f55ec2.js +0 -4
  1499. package/dist/kolibri/tooltip-align-c001aae2.js +0 -4
  1500. package/dist/kolibri/tslib.es6-2e5096f8.js.map +0 -1
  1501. package/dist/kolibri/validation-1a210179.js +0 -4
  1502. package/dist/kolibri/validation-e83461ea.js +0 -4
  1503. package/dist/types/components/button-group/component.d.ts +0 -6
  1504. package/dist/types/components/button-group/shadow.d.ts +0 -5
  1505. package/dist/types/components/indented-text/component.d.ts +0 -6
  1506. package/dist/types/components/indented-text/shadow.d.ts +0 -5
  1507. package/dist/types/components/input/component.d.ts +0 -35
  1508. package/dist/types/components/link-group/shadow.d.ts +0 -17
  1509. package/dist/types/components/logo/shadow.d.ts +0 -10
  1510. package/dist/types/components/logo/types.d.ts +0 -11
  1511. package/dist/types/components/symbol/component.d.ts +0 -11
  1512. package/dist/types/components/table/shadow.d.ts +0 -15
  1513. package/dist/types/schema/components/button-group.d.ts +0 -9
  1514. package/dist/types/schema/components/indented-text.d.ts +0 -9
  1515. package/dist/types/schema/components/link-group.d.ts +0 -22
  1516. package/dist/types/schema/components/symbol.d.ts +0 -12
  1517. package/dist/types/schema/enums/events.d.ts +0 -23
  1518. package/dist/types/schema/props/hide-error.d.ts +0 -7
  1519. package/doc/button-group.md +0 -8
  1520. package/doc/indented-text.md +0 -17
  1521. package/doc/link-group.md +0 -18
  1522. package/doc/logo.md +0 -67
  1523. package/doc/symbol.md +0 -44
  1524. package/doc/table.md +0 -26
  1525. /package/dist/cjs/{tslib.es6-16e4524f.js → tslib.es6-5e301284.js} +0 -0
  1526. /package/dist/esm/{tslib.es6-2e5096f8.js → tslib.es6-1173d062.js} +0 -0
  1527. /package/dist/kolibri/{associated.controller-bce3d721.js.map → associated.controller-dd3cd4c9.js.map} +0 -0
  1528. /package/dist/kolibri/{controller-6c2714a5.js.map → controller-065f0ea1.js.map} +0 -0
  1529. /package/dist/kolibri/{controller-68fd9cd8.js.map → controller-4e46e1b7.js.map} +0 -0
  1530. /package/dist/kolibri/{controller-1739038d.js.map → controller-827f5fb0.js.map} +0 -0
  1531. /package/dist/kolibri/{custom-class-9311655e.js.map → custom-class-0b713d1d.js.map} +0 -0
  1532. /package/dist/kolibri/{dev.utils-8fad8415.js.map → dev.utils-4b942b95.js.map} +0 -0
  1533. /package/dist/kolibri/{disabled-5fc4b444.js.map → disabled-34d4857d.js.map} +0 -0
  1534. /package/dist/kolibri/{has-closer-aa8f6369.js.map → has-closer-69b050b0.js.map} +0 -0
  1535. /package/dist/kolibri/{has-counter-a9dacd37.js.map → has-counter-40363021.js.map} +0 -0
  1536. /package/dist/kolibri/{hide-label-db0db59c.js.map → hide-label-7c76669e.js.map} +0 -0
  1537. /package/dist/kolibri/{i18n-5fe08f1c.js.map → i18n-efbafc80.js.map} +0 -0
  1538. /package/dist/kolibri/{icons-f3b7aabd.js.map → icons-9a20a0f0.js.map} +0 -0
  1539. /package/dist/kolibri/{image-source-a6af4847.js.map → image-source-2fcf051d.js.map} +0 -0
  1540. /package/dist/kolibri/{rows-64f9b5cb.js.map → rows-55ec05a8.js.map} +0 -0
  1541. /package/dist/kolibri/{show-5d826542.js.map → show-84afcfc3.js.map} +0 -0
  1542. /package/dist/kolibri/{spell-check-5ac5a135.js.map → spell-check-fbd770e6.js.map} +0 -0
  1543. /package/dist/kolibri/{suggestions-33f55ec2.js.map → suggestions-923c3993.js.map} +0 -0
  1544. /package/dist/kolibri/{tooltip-align-c001aae2.js.map → tooltip-align-075e677e.js.map} +0 -0
  1545. /package/dist/kolibri/{tslib.es6-2e5096f8.js → tslib.es6-1173d062.js} +0 -0
  1546. /package/dist/kolibri/{validation-e83461ea.js.map → validation-2b01ed4b.js.map} +0 -0
  1547. /package/dist/kolibri/{validation-1a210179.js.map → validation-ceb6428b.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateHasCompactButton","validateHasIconsWhenExpanded","defaultStyleCss","KolNavDefaultStyle0","entryIsLink","entryProps","_href","entryIsButton","undefined","_a","_on","onClick","KolNav","this","handleToggleExpansionClick","children","state","_expandedChildren","includes","collapseChildren","expandChildren","linkList","props","h","class","deep","orientation","links","map","link","index","li","collapsible","hideLabel","_collapsible","_hasCompactButton","_hasIconsWhenExpanded","_hideLabel","_label","_links","_orientation","Object","assign","filter","searchChildren","entry","hasChildren","expanded","icons","_icons","KolLinkWcTag","KolButtonWcTag","event","_children","expandButton","_ariaExpanded","_disabled","translate","placeholders","label","active","_active","Array","isArray","length","Boolean","key","initializeExpandedChildren","handleBranch","branch","childBranch","forEach","render","hasCompactButton","devWarning","Host","nav","id","KolButtonTag","_ariaControls","_tooltipAlign","_variant","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","required","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","watchValidator","Set","defaultValue","componentWillLoad","disconnectedCallback"],"sources":["src/schema/props/collapsible.ts","src/schema/props/has-compact-button.ts","src/schema/props/has-icons-when-expanded.ts","src/components/nav/style.scss?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\ntype HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasIconsWhenExpandedPropType = boolean;\n\n/**\n * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n */\nexport type PropHasIconsWhenExpanded = {\n\thasIconsWhenExpanded: HasIconsWhenExpandedPropType;\n};\n\n/* validator */\nexport const validateHasIconsWhenExpanded = (component: Generic.Element.Component, value?: HasIconsWhenExpandedPropType): void => {\n\twatchBoolean(component, '_hasIconsWhenExpanded', value);\n};\n","@import '../@shared/mixins';\n@import '../style';\n@import '../tooltip/style.scss';\n\n@layer kol-component {\n\t:host {\n\t\tfont-size: rem(16);\n\t}\n\n\t:host > div {\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\t}\n\n\t:not(.is-compact) nav {\n\t\twidth: 100%;\n\t}\n\n\t.list {\n\t\tdisplay: flex;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.list.vertical {\n\t\tflex-direction: column;\n\t}\n\n\t.list.horizontal {\n\t\tflex-wrap: wrap;\n\t}\n\n\t.entry {\n\t\tdisplay: flex;\n\t}\n\n\t.entry-item {\n\t\tflex-grow: 1;\n\t}\n}\n","import type {\n\tButtonOrLinkOrTextWithChildrenProps,\n\tButtonWithChildrenProps,\n\tCollapsiblePropType,\n\tHideLabelPropType,\n\tLabelPropType,\n\tLinkProps,\n\tLinkWithChildrenProps,\n\tNavAPI,\n\tNavStates,\n\tOrientation,\n\tStringified,\n} from '../../schema';\nimport {\n\ta11yHintLabelingLandmarks,\n\tdevHint,\n\tdevWarning,\n\tvalidateCollapsible,\n\tvalidateHasCompactButton,\n\tvalidateHasIconsWhenExpanded,\n\tvalidateHideLabel,\n\tvalidateLabel,\n\twatchValidator,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { watchNavLinks } from './validation';\nimport { KolButtonTag, KolButtonWcTag, KolLinkWcTag } from '../../core/component-names';\nimport type { StencilUnknown } from '../../schema';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\nconst entryIsLink = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is LinkWithChildrenProps => {\n\treturn typeof (entryProps as LinkProps)._href === 'string';\n};\n\nconst entryIsButton = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is ButtonWithChildrenProps => {\n\treturn (entryProps as LinkProps)._href === undefined && typeof (entryProps as ButtonWithChildrenProps)._on?.onClick === 'function';\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements NavAPI {\n\tprivate expandChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: [...this.state._expandedChildren, children],\n\t\t};\n\t}\n\tprivate collapseChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: this.state._expandedChildren.filter((searchChildren) => searchChildren != children),\n\t\t};\n\t}\n\n\tprivate readonly handleToggleExpansionClick = (children?: ButtonOrLinkOrTextWithChildrenProps[]): void => {\n\t\tif (children) {\n\t\t\tif (this.state._expandedChildren.includes(children)) {\n\t\t\t\tthis.collapseChildren(children);\n\t\t\t} else {\n\t\t\t\tthis.expandChildren(children);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tentry: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t): JSX.Element {\n\t\tconst icons =\n\t\t\tthis.state._hasIconsWhenExpanded || this.state._hideLabel\n\t\t\t\t? entry._icons || (this.state._hideLabel ? 'codicon codicon-symbol-method' : undefined)\n\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t{entryIsLink(entry) ? (\n\t\t\t\t\t<KolLinkWcTag class=\"entry-item\" {...entry} _hideLabel={hideLabel} _icons={icons} />\n\t\t\t\t) : (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"entry-item\"\n\t\t\t\t\t\t_label={entry._label}\n\t\t\t\t\t\t_hideLabel={hideLabel}\n\t\t\t\t\t\t_icons={icons}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: (event: MouseEvent, value: Stringified<StencilUnknown>) => {\n\t\t\t\t\t\t\t\tif (entryIsButton(entry) && typeof entry._on.onClick === 'function') {\n\t\t\t\t\t\t\t\t\tentry._on.onClick(event, value);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.handleToggleExpansionClick(entry._children);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, entry as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<KolButtonWcTag\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`${expanded ? translate('kol-nav-label-close', { placeholders: { label: link._label } }) : translate('kol-nav-label-open', { placeholders: { label: link._label } })}`}\n\t\t\t\t_on={{ onClick: () => this.handleToggleExpansionClick(link._children) }}\n\t\t\t></KolButtonWcTag>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation,\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = Boolean(link._children && this.state._expandedChildren.includes(link._children));\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, expanded)}\n\t\t\t\t{expanded && <this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate initializeExpandedChildren() {\n\t\t/**\n\t\t * Recursively process branches and expand branches which are active or have active children somewhere in the tree.\n\t\t * @param {ButtonOrLinkOrTextWithChildrenProps} branch\n\t\t * @return boolean - true indicates that the current branch or a child branch is active\n\t\t */\n\t\tconst handleBranch = (branch: ButtonOrLinkOrTextWithChildrenProps) => {\n\t\t\tif (branch._active) {\n\t\t\t\tif (branch._children) {\n\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} else if (branch._children) {\n\t\t\t\tfor (const childBranch of branch._children) {\n\t\t\t\t\tif (handleBranch(childBranch)) {\n\t\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t\tthis.state._links.forEach(handleBranch);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host class=\"kol-nav\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tnav: true,\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t'is-compact': this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n\t */\n\t@Prop() public _hasIconsWhenExpanded?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: NavStates = {\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hasIconsWhenExpanded: false,\n\t\t_hideLabel: false,\n\t\t_label: '', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_expandedChildren: [],\n\t};\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hasIconsWhenExpanded')\n\tpublic validateHasIconsWhenExpanded(value?: boolean): void {\n\t\tvalidateHasIconsWhenExpanded(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] The navigation structure is not yet validated recursively.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t},\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateHasIconsWhenExpanded(this._hasIconsWhenExpanded);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.initializeExpandedChildren();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateHasCompactButton","validateHasIconsWhenExpanded","defaultStyleCss","KolNavDefaultStyle0","entryIsLink","entryProps","_href","entryIsButton","undefined","_a","_on","onClick","KolNav","this","handleToggleExpansionClick","children","state","_expandedChildren","includes","collapseChildren","expandChildren","linkList","props","h","class","clsx","deep","orientation","links","map","link","index","li","collapsible","hideLabel","_collapsible","_hasCompactButton","_hasIconsWhenExpanded","_hideLabel","_label","_links","_orientation","Object","assign","filter","searchChildren","entry","hasChildren","expanded","icons","_icons","KolLinkWcTag","KolButtonWcTag","event","_children","expandButton","_ariaExpanded","_disabled","translate","placeholders","label","active","_active","Array","isArray","length","Boolean","key","initializeExpandedChildren","handleBranch","branch","childBranch","forEach","render","hasCompactButton","devWarning","id","_ariaControls","_tooltipAlign","_variant","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","required","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","watchValidator","Set","defaultValue","componentWillLoad","disconnectedCallback"],"sources":["src/schema/props/collapsible.ts","src/schema/props/has-compact-button.ts","src/schema/props/has-icons-when-expanded.ts","src/components/nav/style.scss?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\ntype HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../utils';\n\n/* types */\nexport type HasIconsWhenExpandedPropType = boolean;\n\n/**\n * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n */\nexport type PropHasIconsWhenExpanded = {\n\thasIconsWhenExpanded: HasIconsWhenExpandedPropType;\n};\n\n/* validator */\nexport const validateHasIconsWhenExpanded = (component: Generic.Element.Component, value?: HasIconsWhenExpandedPropType): void => {\n\twatchBoolean(component, '_hasIconsWhenExpanded', value);\n};\n","@use '../@shared/mixins' as *;\n@use '../../styles/global' as *;\n@use '../tooltip/style.scss' as *;\n\n@layer kol-component {\n\t.kol-nav {\n\t\t$root: &;\n\n\t\tfont-size: rem(16);\n\t\tdisplay: grid;\n\t\tplace-items: center;\n\n\t\t&--horizontal {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t&__navigation {\n\t\t\t#{$root}:not(#{$root}--is-compact) & {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\n\t\t&__list {\n\t\t\tdisplay: flex;\n\t\t\tlist-style: none;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\n\t\t\t&--vertical {\n\t\t\t\tflex-direction: column;\n\t\t\t}\n\n\t\t\t&--horizontal {\n\t\t\t\tflex-wrap: wrap;\n\t\t\t}\n\t\t}\n\n\t\t&__entry-wrapper {\n\t\t\tdisplay: flex;\n\t\t}\n\n\t\t&__entry {\n\t\t\tflex-grow: 1;\n\t\t}\n\t}\n}\n","import type {\n\tButtonOrLinkOrTextWithChildrenProps,\n\tButtonWithChildrenProps,\n\tCollapsiblePropType,\n\tHideLabelPropType,\n\tLabelPropType,\n\tLinkProps,\n\tLinkWithChildrenProps,\n\tNavAPI,\n\tNavStates,\n\tOrientation,\n\tStringified,\n} from '../../schema';\nimport {\n\ta11yHintLabelingLandmarks,\n\tdevHint,\n\tdevWarning,\n\tvalidateCollapsible,\n\tvalidateHasCompactButton,\n\tvalidateHasIconsWhenExpanded,\n\tvalidateHideLabel,\n\tvalidateLabel,\n\twatchValidator,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { watchNavLinks } from './validation';\nimport { KolButtonWcTag, KolLinkWcTag } from '../../core/component-names';\nimport type { StencilUnknown } from '../../schema';\nimport clsx from 'clsx';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\nconst entryIsLink = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is LinkWithChildrenProps => {\n\treturn typeof (entryProps as LinkProps)._href === 'string';\n};\n\nconst entryIsButton = (entryProps: ButtonOrLinkOrTextWithChildrenProps): entryProps is ButtonWithChildrenProps => {\n\treturn (entryProps as LinkProps)._href === undefined && typeof (entryProps as ButtonWithChildrenProps)._on?.onClick === 'function';\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements NavAPI {\n\tprivate expandChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: [...this.state._expandedChildren, children],\n\t\t};\n\t}\n\tprivate collapseChildren(children: ButtonOrLinkOrTextWithChildrenProps[]) {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_expandedChildren: this.state._expandedChildren.filter((searchChildren) => searchChildren != children),\n\t\t};\n\t}\n\n\tprivate readonly handleToggleExpansionClick = (children?: ButtonOrLinkOrTextWithChildrenProps[]): void => {\n\t\tif (children) {\n\t\t\tif (this.state._expandedChildren.includes(children)) {\n\t\t\t\tthis.collapseChildren(children);\n\t\t\t} else {\n\t\t\t\tthis.expandChildren(children);\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tentry: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t): JSX.Element {\n\t\tconst icons =\n\t\t\tthis.state._hasIconsWhenExpanded || this.state._hideLabel\n\t\t\t\t? entry._icons || (this.state._hideLabel ? 'codicon codicon-symbol-method' : undefined)\n\t\t\t\t: undefined;\n\n\t\treturn (\n\t\t\t<div class=\"kol-nav__entry-wrapper\">\n\t\t\t\t{entryIsLink(entry) ? (\n\t\t\t\t\t<KolLinkWcTag class=\"kol-nav__entry kol-nav__entry--link\" {...entry} _hideLabel={hideLabel} _icons={icons} />\n\t\t\t\t) : (\n\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\tclass=\"kol-nav__entry kol-nav__entry--button\"\n\t\t\t\t\t\t_label={entry._label}\n\t\t\t\t\t\t_hideLabel={hideLabel}\n\t\t\t\t\t\t_icons={icons}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonClick: (event: MouseEvent, value: Stringified<StencilUnknown>) => {\n\t\t\t\t\t\t\t\tif (entryIsButton(entry) && typeof entry._on.onClick === 'function') {\n\t\t\t\t\t\t\t\t\tentry._on.onClick(event, value);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.handleToggleExpansionClick(entry._children);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, entry as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<KolButtonWcTag\n\t\t\t\tclass={clsx('kol-nav__expand-button', {\n\t\t\t\t\t'kol-nav__expand-button--expanded': expanded,\n\t\t\t\t})}\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`${expanded ? translate('kol-nav-label-close', { placeholders: { label: link._label } }) : translate('kol-nav-label-open', { placeholders: { label: link._label } })}`}\n\t\t\t\t_on={{ onClick: () => this.handleToggleExpansionClick(link._children) }}\n\t\t\t></KolButtonWcTag>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation,\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = Boolean(link._children && this.state._expandedChildren.includes(link._children));\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={clsx('kol-nav__list-item', {\n\t\t\t\t\t'kol-nav__list-item--active': active,\n\t\t\t\t\t'kol-nav__list-item--expanded': expanded,\n\t\t\t\t\t'kol-nav__list-item--has-children': hasChildren,\n\t\t\t\t})}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, expanded)}\n\t\t\t\t{expanded && <this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclass={clsx('kol-nav__list', {\n\t\t\t\t\t'kol-nav__list--nested': props.deep > 0,\n\t\t\t\t\t'kol-nav__list--horizontal': props.deep === 0 && props.orientation === 'horizontal',\n\t\t\t\t\t'kol-nav__list--vertical': props.deep !== 0 || props.orientation === 'vertical',\n\t\t\t\t})}\n\t\t\t\tdata-deep={props.deep}\n\t\t\t>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tprivate initializeExpandedChildren() {\n\t\t/**\n\t\t * Recursively process branches and expand branches which are active or have active children somewhere in the tree.\n\t\t * @param {ButtonOrLinkOrTextWithChildrenProps} branch\n\t\t * @return boolean - true indicates that the current branch or a child branch is active\n\t\t */\n\t\tconst handleBranch = (branch: ButtonOrLinkOrTextWithChildrenProps) => {\n\t\t\tif (branch._active) {\n\t\t\t\tif (branch._children) {\n\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t} else if (branch._children) {\n\t\t\t\tfor (const childBranch of branch._children) {\n\t\t\t\t\tif (handleBranch(childBranch)) {\n\t\t\t\t\t\tthis.expandChildren(branch._children);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t\tthis.state._links.forEach(handleBranch);\n\t}\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={clsx('kol-nav', `kol-nav--${orientation}`, {\n\t\t\t\t\t'kol-nav--is-compact': this.state._hideLabel,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<nav class=\"kol-nav__navigation\" aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t</nav>\n\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t<div class=\"kol-nav__compact\">\n\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\tclass=\"kol-nav__toggle-button\"\n\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Shows icons next to the navigation item labels, even when the navigation is not collapsed.\n\t */\n\t@Prop() public _hasIconsWhenExpanded?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: NavStates = {\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hasIconsWhenExpanded: false,\n\t\t_hideLabel: false,\n\t\t_label: '', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_expandedChildren: [],\n\t};\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hasIconsWhenExpanded')\n\tpublic validateHasIconsWhenExpanded(value?: boolean): void {\n\t\tvalidateHasIconsWhenExpanded(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] The navigation structure is not yet validated recursively.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t},\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateHasIconsWhenExpanded(this._hasIconsWhenExpanded);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.initializeExpandedChildren();\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as n,H as i}from"./index-a49af574.js";import{t as e}from"./i18n-5fe08f1c.js";import{n as o}from"./dev.utils-8fad8415.js";import{r as s,a}from"./unique-nav-labels-768d04e9.js";import{l,a as r}from"./component-names-aa3cbc3c.js";import{S as h}from"./common-54bf85ba.js";import{v as c}from"./custom-class-9311655e.js";import{k as d,w as p,g as u,p as f}from"./prop.validators-c5e6ad2d.js";import{v as m}from"./label-d70e7c34.js";import{v as b}from"./tooltip-align-c001aae2.js";import"./i18n-7ea9f137.js";import"./reuse-32931294.js";import"./dev.utils-fab45cbc.js";import"./index-541b643a.js";import"./align-3f029493.js";const g=(t,e,n)=>{d(t,"_max",e,n)},_="@charset \"UTF-8\";\n/*\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: calc(44rem / var(--kolibri-root-font-size, 16));\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 rem(44).\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: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\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: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\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}\n@layer kol-component {\n :host {\n align-items: center;\n display: grid;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .separator:before {\n content: \"•••\";\n }\n}",v=_,y={left:"codicon codicon-debug-reverse-continue"},k={left:"codicon codicon-chevron-left"},w={right:"codicon codicon-chevron-right"},x={right:"codicon codicon-debug-continue"};function z(){const t=navigator.language||"de-DE";return t.includes("-")?t:`${t}-${t.toUpperCase()}`}const S=z(),C=new Intl.NumberFormat(S,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0}),j=class{constructor(n){t(this,n),this.nonce=o(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const n=setTimeout((()=>{clearTimeout(n),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const n=setTimeout((()=>{clearTimeout(n),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,e)=>{let n=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const i=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===n));n=void 0===t?i[0].value:t.value,e.set("_pageSize",n)}const a=e.has("_page")?e.get("_page"):this.state._page,s=e.has("_max")?e.get("_max"):this.state._max;this.syncPage(e,a,e.get("_pageSize"),s)},this.syncPage=(t,e,n,i)=>{if(i>0){const a=this.calcCount(i,n);a>0&&(e>a?(t.set("_page",a),this.onChangePage(h,a)):e<1&&(t.set("_page",1),this.onChangePage(h,1)))}},this.beforePageSizeOptions=(t,n)=>{const i=[];if(Array.isArray(t))for(const n of t)"number"==typeof n&&i.push({label:e("kol-page-per-site",{placeholders:{entries:`${n}`}}),value:n});n.set("_pageSizeOptions",i),this.beforePageSize(i,n)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this.state={_boundaryCount:1,_label:e("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0}}render(){var t;let a=!1;const s=this.getCount(),h=Array.from(Array(s).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>s-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,n("li",{key:o()},n("span",{class:"separator","aria-hidden":"true"}))):null));return n(i,{class:"kol-pagination"},n("nav",{"aria-label":this.state._label},n("ul",{class:"navigation-list"},this.state._hasButtons.first&&n("li",null,n(r,{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:y,_hideLabel:!0,_label:e("kol-page-first"),_on:this.onGoToFirst,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&n("li",null,n(r,{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:k,_hideLabel:!0,_label:e("kol-page-back"),_on:this.onGoBackward,_tooltipAlign:this.state._tooltipAlign})),h,this.state._hasButtons.next&&n("li",null,n(r,{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:s<=this.state._page,_icons:w,_hideLabel:!0,_label:e("kol-page-next"),_on:this.onGoForward,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&n("li",null,n(r,{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:s<=this.state._page,_icons:x,_hideLabel:!0,_label:e("kol-page-last"),_on:this.onGoToEnd,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&n(l,{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:e("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return n("li",{key:o()},n(r,{exportparts:"icon",_customClass:this.state._customClass,_label:"",_on:{onClick:e=>{this.onClick(e,t)}}},n("span",{slot:"expert"},n("span",{class:"visually-hidden"},e("kol-page"))," ",C.format(t))))}getSelectedPageButton(t){return n("li",{key:o()},n(r,{class:"selected",_customClass:this.state._customClass,_disabled:!0,_label:""},n("span",{slot:"expert"},n("span",{class:"visually-hidden"},e("kol-page"))," ",C.format(t))))}validateBoundaryCount(t){d(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){c(this,t)}validateLabel(t,e,n=!1){n||s(this.state._label),m(this,t),a(this.state._label)}validateHasButtons(t){p(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=f(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){d(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const n=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,i=e.has("_max")?e.get("_max"):this.state._max;this.syncPage(e,t,n,i)}}})}validatePageSize(t){d(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){u(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){d(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){g(this,t,{hooks:{beforePatch:(t,e)=>{const n=e.has("_page")?e.get("_page"):this.state._page,i=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,n,i,t)}}})}validateTooltipAlign(t){b(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validatePage(this._page)}disconnectedCallback(){s(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"]}}};j.style={default:v};export{j as kol_pagination};
4
+ import{r as t,h as n,H as i,g as e}from"./index-4492e98a.js";import{t as o}from"./i18n-efbafc80.js";import{n as s}from"./dev.utils-4b942b95.js";import{r as a,a as l}from"./unique-nav-labels-768d04e9.js";import{i as r,a as h}from"./component-names-60d77143.js";import{d as c,K as d}from"./events-5886c68b.js";import{S as p}from"./common-54bf85ba.js";import{v as u}from"./custom-class-0b713d1d.js";import{k as f,w as b,g as m,p as g}from"./prop.validators-d189554c.js";import{v as _}from"./label-792bf136.js";import{v as k}from"./tooltip-align-075e677e.js";import"./i18n-45224cc3.js";import"./reuse-f46e7e35.js";import"./dev.utils-fab45cbc.js";import"./align-de93d774.js";const v=(t,n,e)=>{f(t,"_max",n,e)},y="@charset \"UTF-8\";\n/*\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: calc(44rem / var(--kolibri-root-font-size, 16));\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 rem(44).\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 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: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\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 {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\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}\n@layer kol-component {\n /* TODO. Once #7126 is completed, move :host block into .kol-pagination */\n :host {\n align-items: center;\n display: grid;\n font-size: calc(16rem / var(--kolibri-root-font-size, 16));\n gap: calc(16rem / var(--kolibri-root-font-size, 16));\n grid-template-columns: 1fr auto;\n }\n .kol-pagination__navigation-list {\n align-items: center;\n display: inline-flex;\n flex-wrap: wrap;\n gap: 0.5em;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .kol-pagination__separator:before {\n content: \"•••\";\n }\n}",x=y,w={left:"codicon codicon-debug-reverse-continue"},z={left:"codicon codicon-chevron-left"},S={right:"codicon codicon-chevron-right"},C={right:"codicon codicon-debug-continue"};function j(){const t=navigator.language||"de-DE";return t.includes("-")?t:`${t}-${t.toUpperCase()}`}const O=j(),A=new Intl.NumberFormat(O,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0}),B=class{constructor(n){t(this,n),this.nonce=s(),this.calcCount=(t,n=1)=>Math.ceil(t/n),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,n)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,n),this.host&&c(this.host,d.click,n),this.onChangePage(t,n)},this.onChangePage=(t,n)=>{const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,n),this.host&&c(this.host,d.changePage,n)}))},this.onChangePageSize=(t,n)=>{if("number"==typeof(n=parseInt(n[0]))&&n>0&&this._pageSize!==n){this._pageSize=n;const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize),this.host&&c(this.host,d.changePageSize,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,n)=>{let e=n.has("_pageSize")?n.get("_pageSize"):this.state._pageSize;const i=n.has("_pageSizeOptions")?n.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===e));e=void 0===t?i[0].value:t.value,n.set("_pageSize",e)}const a=n.has("_page")?n.get("_page"):this.state._page,o=n.has("_max")?n.get("_max"):this.state._max;this.syncPage(n,a,n.get("_pageSize"),o)},this.syncPage=(t,n,e,i)=>{if(i>0){const a=this.calcCount(i,e);a>0&&(n>a?(t.set("_page",a),this.onChangePage(p,a)):n<1&&(t.set("_page",1),this.onChangePage(p,1)))}},this.beforePageSizeOptions=(t,n)=>{const e=[];if(Array.isArray(t))for(const n of t)"number"==typeof n&&e.push({label:o("kol-page-per-site",{placeholders:{entries:`${n}`}}),value:n});n.set("_pageSizeOptions",e),this.beforePageSize(e,n)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this.state={_boundaryCount:1,_label:o("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0}}render(){var t;let e=!1;const a=this.getCount(),l=Array.from(Array(a).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>a-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(e=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===e?(e=!1,n("li",{key:s()},n("span",{class:"kol-pagination__separator","aria-hidden":"true"}))):null));return n(i,{class:"kol-pagination"},n("nav",{"aria-label":this.state._label},n("ul",{class:"kol-pagination__navigation-list"},this.state._hasButtons.first&&n("li",null,n(h,{class:"kol-pagination__button kol-pagination__button--first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:w,_hideLabel:!0,_label:o("kol-page-first"),_on:this.onGoToFirst,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&n("li",null,n(h,{class:"kol-pagination__button kol-pagination__button--previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:z,_hideLabel:!0,_label:o("kol-page-back"),_on:this.onGoBackward,_tooltipAlign:this.state._tooltipAlign})),l,this.state._hasButtons.next&&n("li",null,n(h,{class:"kol-pagination__button kol-pagination__button--next",exportparts:"icon",_customClass:this.state._customClass,_disabled:a<=this.state._page,_icons:S,_hideLabel:!0,_label:o("kol-page-next"),_on:this.onGoForward,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&n("li",null,n(h,{class:"kol-pagination__button kol-pagination__button--last",exportparts:"icon",_customClass:this.state._customClass,_disabled:a<=this.state._page,_icons:C,_hideLabel:!0,_label:o("kol-page-last"),_on:this.onGoToEnd,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&n(r,{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:o("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return n("li",{key:s()},n(h,{exportparts:"icon",_customClass:this.state._customClass,_label:"",_on:{onClick:n=>{this.onClick(n,t)}}},n("span",{slot:"expert"},n("span",{class:"visually-hidden"},o("kol-page"))," ",A.format(t))))}getSelectedPageButton(t){return n("li",{key:s()},n(h,{class:"kol-pagination__button kol-pagination__button--selected",_customClass:this.state._customClass,_disabled:!0,_label:""},n("span",{slot:"expert"},n("span",{class:"visually-hidden"},o("kol-page"))," ",A.format(t))))}validateBoundaryCount(t){f(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){u(this,t)}validateLabel(t,n,e=!1){e||a(this.state._label),_(this,t),l(this.state._label)}validateHasButtons(t){b(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,n)=>{if("boolean"==typeof t)n.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=g(t)}catch(t){n.delete("_hasButtons")}"object"==typeof t&&null!==t&&n.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){f(this,"_page",t,{hooks:{beforePatch:(t,n)=>{const e=n.has("_pageSize")?n.get("_pageSize"):this.state._pageSize,i=n.has("_max")?n.get("_max"):this.state._max;this.syncPage(n,t,e,i)}}})}validatePageSize(t){f(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){m(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){f(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){v(this,t,{hooks:{beforePatch:(t,n)=>{const e=n.has("_page")?n.get("_page"):this.state._page,i=n.has("_pageSize")?n.get("_pageSize"):this.state._pageSize;this.syncPage(n,e,i,t)}}})}validateTooltipAlign(t){k(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validatePage(this._page)}disconnectedCallback(){a(this.state._label)}get host(){return e(this)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"]}}};B.style={default:x};export{B as kol_pagination};
@@ -1 +1 @@
1
- {"version":3,"names":["validateMax","component","value","options","watchNumber","defaultStyleCss","KolPaginationDefaultStyle0","leftDoubleArrowIcon","left","leftSingleArrow","rightSingleArrowIcon","right","rightDoubleArrowIcon","getUserLanguage","userLanguage","navigator","language","normalizedLanguage","includes","toUpperCase","NUMBER_FORMATTER","Intl","NumberFormat","style","minimumFractionDigits","maximumFractionDigits","KolPagination","this","nonce","calcCount","total","pageSize","Math","ceil","getCount","state","_max","_pageSize","onClick","event","page","_on","onChangePage","timeout","setTimeout","clearTimeout","onChangePageSize","parseInt","onGoToFirst","onGoToEnd","onGoBackward","_page","onGoForward","beforePageSize","_nextValue","nextState","has","get","pageSizeOptions","_pageSizeOptions","Array","isArray","length","find","option","undefined","set","syncPage","count","STATE_CHANGE_EVENT","beforePageSizeOptions","nextValue","push","label","translate","placeholders","entries","_boundaryCount","_label","_hasButtons","first","last","next","previous","_siblingCount","render","ellipsis","pageButtons","from","keys","map","index","getSelectedPageButton","getUnselectedPageButton","h","key","class","Host","KolButtonWcTag","exportparts","_customClass","_disabled","_icons","_hideLabel","_tooltipAlign","_a","KolSelectTag","_id","_options","onChange","_value","slot","format","validateBoundaryCount","max","validateCustomClass","validateLabel","_oldValue","initial","removeNavLabel","addNavLabel","validateHasButtons","watchValidator","Set","hooks","beforePatch","parseJson","e","delete","Object","assign","validateOn","validatePage","validatePageSize","validatePageSizeOptions","watchJsonArrayString","validateSiblingCount","validateTooltipAlign","componentWillLoad","disconnectedCallback"],"sources":["src/schema/props/max.ts","src/components/pagination/style.scss?tag=kol-pagination&mode=default&encapsulation=shadow","src/components/pagination/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchNumberOptions } from '../utils';\nimport { watchNumber } from '../utils';\n\nimport type { RowsPropType } from './rows';\n\n/* types */\nexport type MaxPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropMax = {\n\tmax: MaxPropType;\n};\n\n/* validator */\nexport const validateMax = (component: Generic.Element.Component, value?: RowsPropType, options?: WatchNumberOptions): void => {\n\twatchNumber(component, '_max', value, options);\n};\n","@import '../@shared/mixins';\n@import '../style';\n@import '../tooltip/style.scss';\n\n@layer kol-component {\n\t:host {\n\t\talign-items: center;\n\t\tdisplay: grid;\n\t\tfont-size: rem(16);\n\t\tgap: rem(16);\n\t\tgrid-template-columns: 1fr auto;\n\t}\n\n\t.navigation-list {\n\t\talign-items: center;\n\t\tdisplay: inline-flex;\n\t\tflex-wrap: wrap;\n\t\tgap: 0.5em;\n\t\tlist-style: none;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\n\t.separator:before {\n\t\tcontent: '•••';\n\t}\n}\n","import type {\n\tCustomClassPropType,\n\tKoliBriPaginationButtonCallbacks,\n\tLabelPropType,\n\tMaxPropType,\n\tOption,\n\tPaginationAPI,\n\tPaginationHasButton,\n\tPaginationStates,\n\tStringified,\n\tTooltipAlignPropType,\n} from '../../schema';\nimport {\n\tparseJson,\n\tSTATE_CHANGE_EVENT,\n\tvalidateCustomClass,\n\tvalidateLabel,\n\tvalidateMax,\n\tvalidateTooltipAlign,\n\twatchJsonArrayString,\n\twatchNumber,\n\twatchValidator,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { nonce } from '../../utils/dev.utils';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { KolButtonWcTag, KolSelectTag } from '../../core/component-names';\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\nfunction getUserLanguage(): string {\n\tconst userLanguage = navigator.language || 'de-DE';\n\tconst normalizedLanguage = userLanguage.includes('-') ? userLanguage : `${userLanguage}-${userLanguage.toUpperCase()}`;\n\treturn normalizedLanguage;\n}\nconst userLanguage = getUserLanguage();\nconst NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {\n\tstyle: 'decimal',\n\tminimumFractionDigits: 0,\n\tmaximumFractionDigits: 0,\n});\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements PaginationAPI {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._max, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={nonce()}>\n\t\t\t\t\t\t\t<span class=\"separator\" aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host class=\"kol-pagination\">\n\t\t\t\t<nav aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"navigation-list\">\n\t\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"first\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"previous\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftSingleArrow}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{pageButtons}\n\t\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightSingleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"last\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<KolSelectTag\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id={`pagination-size-${this.nonce}`}\n\t\t\t\t\t\t_label={translate('kol-entries-per-site')}\n\t\t\t\t\t\t_options={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t></KolSelectTag>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the amount of pages to show next to the outer arrow buttons.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which navigation buttons to render (first, last, next, previous buttons).\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton> = true;\n\n\t/**\n\t * Defines the current page.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Defines the amount of entries to show per page.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Defines the options for the page-size-select.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Defines the amount of pages to show next to the current page.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Defines the maximum number of pages.\n\t */\n\t@Prop() public _max!: MaxPropType;\n\n\t@State() public state: PaginationStates = {\n\t\t_boundaryCount: 1,\n\t\t_label: translate('kol-pagination'),\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_max: 0,\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {NUMBER_FORMATTER.format(page)}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag class=\"selected\" _customClass={this.state._customClass} _disabled={true} _label=\"\">\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {NUMBER_FORMATTER.format(page)}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: CustomClassPropType): void {\n\t\tvalidateCustomClass(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(label?: LabelPropType, _oldValue?: LabelPropType, initial = false) {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label);\n\t\t}\n\t\tvalidateLabel(this, label);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: MaxPropType): void {\n\t\tvalidateMax(this, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateMax(this._max);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["validateMax","component","value","options","watchNumber","defaultStyleCss","KolPaginationDefaultStyle0","leftDoubleArrowIcon","left","leftSingleArrow","rightSingleArrowIcon","right","rightDoubleArrowIcon","getUserLanguage","userLanguage","navigator","language","normalizedLanguage","includes","toUpperCase","NUMBER_FORMATTER","Intl","NumberFormat","style","minimumFractionDigits","maximumFractionDigits","KolPagination","this","nonce","calcCount","total","pageSize","Math","ceil","getCount","state","_max","_pageSize","onClick","event","page","_on","host","dispatchDomEvent","KolEvent","click","onChangePage","timeout","setTimeout","clearTimeout","changePage","onChangePageSize","parseInt","changePageSize","onGoToFirst","onGoToEnd","onGoBackward","_page","onGoForward","beforePageSize","_nextValue","nextState","has","get","pageSizeOptions","_pageSizeOptions","Array","isArray","length","find","option","undefined","set","syncPage","count","STATE_CHANGE_EVENT","beforePageSizeOptions","nextValue","push","label","translate","placeholders","entries","_boundaryCount","_label","_hasButtons","first","last","next","previous","_siblingCount","render","ellipsis","pageButtons","from","keys","map","index","getSelectedPageButton","getUnselectedPageButton","h","key","class","Host","KolButtonWcTag","exportparts","_customClass","_disabled","_icons","_hideLabel","_tooltipAlign","_a","KolSelectTag","_id","_options","onChange","_value","slot","format","validateBoundaryCount","max","validateCustomClass","validateLabel","_oldValue","initial","removeNavLabel","addNavLabel","validateHasButtons","watchValidator","Set","hooks","beforePatch","parseJson","e","delete","Object","assign","validateOn","validatePage","validatePageSize","validatePageSizeOptions","watchJsonArrayString","validateSiblingCount","validateTooltipAlign","componentWillLoad","disconnectedCallback"],"sources":["src/schema/props/max.ts","src/components/pagination/style.scss?tag=kol-pagination&mode=default&encapsulation=shadow","src/components/pagination/shadow.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { WatchNumberOptions } from '../utils';\nimport { watchNumber } from '../utils';\n\nimport type { RowsPropType } from './rows';\n\n/* types */\nexport type MaxPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropMax = {\n\tmax: MaxPropType;\n};\n\n/* validator */\nexport const validateMax = (component: Generic.Element.Component, value?: RowsPropType, options?: WatchNumberOptions): void => {\n\twatchNumber(component, '_max', value, options);\n};\n","@use '../@shared/mixins' as *;\n@use '../../styles/global' as *;\n@use '../tooltip/style.scss' as *;\n\n@layer kol-component {\n\t/* TODO. Once #7126 is completed, move :host block into .kol-pagination */\n\t:host {\n\t\talign-items: center;\n\t\tdisplay: grid;\n\t\tfont-size: rem(16);\n\t\tgap: rem(16);\n\t\tgrid-template-columns: 1fr auto;\n\t}\n\n\t.kol-pagination {\n\t\t&__navigation-list {\n\t\t\talign-items: center;\n\t\t\tdisplay: inline-flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5em;\n\t\t\tlist-style: none;\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t&__separator:before {\n\t\t\tcontent: '•••';\n\t\t}\n\t}\n}\n","import type {\n\tCustomClassPropType,\n\tKoliBriPaginationButtonCallbacks,\n\tLabelPropType,\n\tMaxPropType,\n\tOption,\n\tPaginationAPI,\n\tPaginationHasButton,\n\tPaginationStates,\n\tStringified,\n\tTooltipAlignPropType,\n} from '../../schema';\nimport {\n\tparseJson,\n\tSTATE_CHANGE_EVENT,\n\tvalidateCustomClass,\n\tvalidateLabel,\n\tvalidateMax,\n\tvalidateTooltipAlign,\n\twatchJsonArrayString,\n\twatchNumber,\n\twatchValidator,\n} from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { nonce } from '../../utils/dev.utils';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { KolButtonWcTag, KolSelectTag } from '../../core/component-names';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\nfunction getUserLanguage(): string {\n\tconst userLanguage = navigator.language || 'de-DE';\n\tconst normalizedLanguage = userLanguage.includes('-') ? userLanguage : `${userLanguage}-${userLanguage.toUpperCase()}`;\n\treturn normalizedLanguage;\n}\nconst userLanguage = getUserLanguage();\nconst NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {\n\tstyle: 'decimal',\n\tminimumFractionDigits: 0,\n\tmaximumFractionDigits: 0,\n});\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements PaginationAPI {\n\t@Element() private readonly host?: HTMLKolTextareaElement;\n\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._max, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={nonce()}>\n\t\t\t\t\t\t\t<span class=\"kol-pagination__separator\" aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host class=\"kol-pagination\">\n\t\t\t\t<nav aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"kol-pagination__navigation-list\">\n\t\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"kol-pagination__button kol-pagination__button--first\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"kol-pagination__button kol-pagination__button--previous\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icons={leftSingleArrow}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{pageButtons}\n\t\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"kol-pagination__button kol-pagination__button--next\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightSingleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t\t\t\t\tclass=\"kol-pagination__button kol-pagination__button--last\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icons={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonWcTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<KolSelectTag\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id={`pagination-size-${this.nonce}`}\n\t\t\t\t\t\t_label={translate('kol-entries-per-site')}\n\t\t\t\t\t\t_options={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t></KolSelectTag>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the amount of pages to show next to the outer arrow buttons.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which navigation buttons to render (first, last, next, previous buttons).\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton> = true;\n\n\t/**\n\t * Defines the current page.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Defines the amount of entries to show per page.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Defines the options for the page-size-select.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Defines the amount of pages to show next to the current page.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Defines the maximum number of pages.\n\t */\n\t@Prop() public _max!: MaxPropType;\n\n\t@State() public state: PaginationStates = {\n\t\t_boundaryCount: 1,\n\t\t_label: translate('kol-pagination'),\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_max: 0,\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.click, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t\tif (this.host) {\n\t\t\t\tdispatchDomEvent(this.host, KolEvent.changePage, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t\tif (this.host) {\n\t\t\t\t\tdispatchDomEvent(this.host, KolEvent.changePageSize, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {NUMBER_FORMATTER.format(page)}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t<KolButtonWcTag class=\"kol-pagination__button kol-pagination__button--selected\" _customClass={this.state._customClass} _disabled={true} _label=\"\">\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {NUMBER_FORMATTER.format(page)}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: CustomClassPropType): void {\n\t\tvalidateCustomClass(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(label?: LabelPropType, _oldValue?: LabelPropType, initial = false) {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label);\n\t\t}\n\t\tvalidateLabel(this, label);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: MaxPropType): void {\n\t\tvalidateMax(this, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateMax(this._max);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n"],"mappings":";;;8pBAkBO,MAAMA,EAAc,CAACC,EAAsCC,EAAsBC,KACvFC,EAAYH,EAAW,OAAQC,EAAOC,EAAQ,ECnB/C,MAAME,EAAkB,q7LACxB,MAAAC,EAAeD,EC+Bf,MAAME,EAAsB,CAC3BC,KAAM,0CAEP,MAAMC,EAAkB,CACvBD,KAAM,gCAEP,MAAME,EAAuB,CAC5BC,MAAO,iCAER,MAAMC,EAAuB,CAC5BD,MAAO,kCAGR,SAASE,IACR,MAAMC,EAAeC,UAAUC,UAAY,QAC3C,MAAMC,EAAqBH,EAAaI,SAAS,KAAOJ,EAAe,GAAGA,KAAgBA,EAAaK,gBACvG,OAAOF,CACR,CACA,MAAMH,EAAeD,IACrB,MAAMO,EAAmB,IAAIC,KAAKC,aAAaR,EAAc,CAC5DS,MAAO,UACPC,sBAAuB,EACvBC,sBAAuB,I,MAUXC,EAAa,M,yBAGRC,KAAAC,MAAQA,IAERD,KAAAE,UAAY,CAACC,EAAeC,EAAW,IAAcC,KAAKC,KAAKH,EAAQC,GAEvEJ,KAAAO,SAAW,IAAcP,KAAKE,UAAUF,KAAKQ,MAAMC,KAAMT,KAAKQ,MAAME,WA4L7EV,KAAAW,QAAU,CAACC,EAAcC,KAChC,UAAWb,KAAKQ,MAAMM,IAAIH,UAAY,WAAY,CACjDX,KAAKQ,MAAMM,IAAIH,QAAQC,EAAOC,E,CAE/B,GAAIb,KAAKe,KAAM,CACdC,EAAiBhB,KAAKe,KAAME,EAASC,MAAOL,E,CAE7Cb,KAAKmB,aAAaP,EAAOC,EAAK,EAGvBb,KAAAmB,aAAe,CAACP,EAAcC,KACrC,MAAMO,EAAUC,YAAW,KAC1BC,aAAaF,GACb,UAAWpB,KAAKQ,MAAMM,IAAIK,eAAiB,WAAY,CACtDnB,KAAKQ,MAAMM,IAAIK,aAAaP,EAAOC,E,CAEpC,GAAIb,KAAKe,KAAM,CACdC,EAAiBhB,KAAKe,KAAME,EAASM,WAAYV,E,IAEjD,EAGKb,KAAAwB,iBAAmB,CAACZ,EAAcrC,KACzCA,EAAQkD,SAAUlD,EAAmB,IACrC,UAAWA,IAAU,UAAYA,EAAQ,GAAKyB,KAAKU,YAAcnC,EAAO,CACvEyB,KAAKU,UAAYnC,EACjB,MAAM6C,EAAUC,YAAW,KAC1BC,aAAaF,GACb,UAAWpB,KAAKQ,MAAMM,IAAIU,mBAAqB,WAAY,CAC1DxB,KAAKQ,MAAMM,IAAIU,iBAAiBZ,EAAOZ,KAAKU,U,CAE7C,GAAIV,KAAKe,KAAM,CACdC,EAAiBhB,KAAKe,KAAME,EAASS,eAAgB1B,KAAKU,U,OAM7CV,KAAA2B,YAAc,CAC9BhB,QAAUC,IACTZ,KAAKW,QAAQC,EAAO,EAAE,GAGPZ,KAAA4B,UAAY,CAC5BjB,QAAUC,IACTZ,KAAKW,QAAQC,EAAOZ,KAAKO,WAAW,GAGrBP,KAAA6B,aAAe,CAC/BlB,QAAUC,IACTZ,KAAKW,QAAQC,EAAOZ,KAAKQ,MAAMsB,MAAQ,EAAE,GAG1B9B,KAAA+B,YAAc,CAC9BpB,QAAUC,IACTZ,KAAKW,QAAQC,EAAOZ,KAAKQ,MAAMsB,MAAQ,EAAE,GAsInC9B,KAAAgC,eAAiB,CAACC,EAAqBC,KAC9C,IAAI9B,EAAW8B,EAAUC,IAAI,aAAgBD,EAAUE,IAAI,aAA0BpC,KAAKQ,MAAME,UAChG,MAAM2B,EAAkBH,EAAUC,IAAI,oBAAuBD,EAAUE,IAAI,oBAA2CpC,KAAKQ,MAAM8B,iBACjI,GAAIC,MAAMC,QAAQH,IAAoBA,EAAgBI,OAAS,EAAG,CACjE,MAAMC,EAAOL,EAAgBK,MAAMC,GAAWA,EAAOpE,QAAU6B,IAC/D,GAAIsC,IAASE,UAAW,CACvBxC,EAAWiC,EAAgB,GAAG9D,K,KACxB,CACN6B,EAAWsC,EAAKnE,K,CAEjB2D,EAAUW,IAAI,YAAazC,E,CAE5B,MAAMS,EAAOqB,EAAUC,IAAI,SAAYD,EAAUE,IAAI,SAAsBpC,KAAKQ,MAAMsB,MACtF,MAAM3B,EAAQ+B,EAAUC,IAAI,QAAWD,EAAUE,IAAI,QAAqBpC,KAAKQ,MAAMC,KACrFT,KAAK8C,SAASZ,EAAWrB,EAAMqB,EAAUE,IAAI,aAAwBjC,EAAM,EAGpEH,KAAA8C,SAAW,CAACZ,EAAiCrB,EAAcT,EAAkBD,KAEpF,GAAIA,EAAQ,EAAG,CACd,MAAM4C,EAAQ/C,KAAKE,UAAUC,EAAOC,GACpC,GAAI2C,EAAQ,EAAG,CACd,GAAIlC,EAAOkC,EAAO,CACjBb,EAAUW,IAAI,QAASE,GACvB/C,KAAKmB,aAAa6B,EAAoBD,E,MAChC,GAAIlC,EAAO,EAAG,CACpBqB,EAAUW,IAAI,QAAS,GACvB7C,KAAKmB,aAAa6B,EAAoB,E,KAMlChD,KAAAiD,sBAAwB,CAACC,EAAoBhB,KACpD,MAAM1D,EAA4B,GAClC,GAAI+D,MAAMC,QAAQU,GAAY,CAC7B,IAAK,MAAM3E,KAAS2E,EAAW,CAC9B,UAAW3E,IAAU,SAAU,CAC9BC,EAAQ2E,KAAK,CACZC,MAAOC,EAAU,oBAAqB,CAAEC,aAAc,CAAEC,QAAS,GAAGhF,OACpEA,MAAOA,G,GAKX2D,EAAUW,IAAI,mBAAoBrE,GAClCwB,KAAKgC,eAAexD,EAAS0D,EAAU,E,oBAlTC,E,mEAeiC,K,oCAUd,E,sBAKH,G,sCAUjB,E,mBAKc,M,+BAOZ,CACzCsB,eAAgB,EAChBC,OAAQJ,EAAU,kBAClBK,YAAa,CACZC,MAAO,KACPC,KAAM,KACNC,KAAM,KACNC,SAAU,MAEXhD,IAAK,CACJH,QAAS,IAAM,MAEhBmB,MAAO,EACPpB,UAAW,EACX4B,iBAAkB,GAClByB,cAAe,EACftD,KAAM,E,CAvLA,MAAAuD,G,MACN,IAAIC,EAAW,MACf,MAAMlB,EAAQ/C,KAAKO,WACnB,MAAM2D,EAAc3B,MAAM4B,KAAK5B,MAAMQ,GAAOqB,QAC1CC,KAAKC,GAAkBA,EAAQ,IAC/BD,KAAKxD,IACL,GACCA,GAAQb,KAAKQ,MAAMgD,gBACnB3C,EAAOkC,EAAQ/C,KAAKQ,MAAMgD,gBACzB3C,GAAQb,KAAKQ,MAAMsB,MAAQ9B,KAAKQ,MAAMuD,eAAiBlD,GAAQb,KAAKQ,MAAMsB,MAAQ9B,KAAKQ,MAAMuD,cAC7F,CACDE,EAAW,KACX,GAAIjE,KAAKQ,MAAMsB,QAAUjB,EAAM,CAC9B,OAAOb,KAAKuE,sBAAsB1D,E,KAC5B,CACN,OAAOb,KAAKwE,wBAAwB3D,E,OAE/B,GAAIoD,IAAa,KAAM,CAC7BA,EAAW,MACX,OACCQ,EAAA,MAAIC,IAAKzE,KACRwE,EAAA,QAAME,MAAM,4BAA2B,cAAa,S,KAGhD,CACN,OAAO,I,KAIV,OACCF,EAACG,EAAI,CAACD,MAAM,kBACXF,EAAA,oBAAiBzE,KAAKQ,MAAMiD,QAC3BgB,EAAA,MAAIE,MAAM,mCACR3E,KAAKQ,MAAMkD,YAAYC,OACvBc,EAAA,UACCA,EAACI,EAAc,CACdF,MAAM,uDACNG,YAAY,OACZC,aAAc/E,KAAKQ,MAAMuE,aACzBC,UAAWhF,KAAKQ,MAAMsB,OAAS,EAC/BmD,OAAQrG,EACRsG,WAAU,KACVzB,OAAQJ,EAAU,kBAClBvC,IAAKd,KAAK2B,YACVwD,cAAenF,KAAKQ,MAAM2E,iBAI5BnF,KAAKQ,MAAMkD,YAAYI,UACvBW,EAAA,UACCA,EAACI,EAAc,CACdF,MAAM,0DACNG,YAAY,OACZC,aAAc/E,KAAKQ,MAAMuE,aACzBC,UAAWhF,KAAKQ,MAAMsB,OAAS,EAC/BmD,OAAQnG,EACRoG,WAAU,KACVzB,OAAQJ,EAAU,iBAClBvC,IAAKd,KAAK6B,aACVsD,cAAenF,KAAKQ,MAAM2E,iBAI5BjB,EACAlE,KAAKQ,MAAMkD,YAAYG,MACvBY,EAAA,UACCA,EAACI,EAAc,CACdF,MAAM,sDACNG,YAAY,OACZC,aAAc/E,KAAKQ,MAAMuE,aACzBC,UAAWjC,GAAS/C,KAAKQ,MAAMsB,MAC/BmD,OAAQlG,EACRmG,WAAU,KACVzB,OAAQJ,EAAU,iBAClBvC,IAAKd,KAAK+B,YACVoD,cAAenF,KAAKQ,MAAM2E,iBAI5BnF,KAAKQ,MAAMkD,YAAYE,MACvBa,EAAA,UACCA,EAACI,EAAc,CACdF,MAAM,sDACNG,YAAY,OACZC,aAAc/E,KAAKQ,MAAMuE,aACzBC,UAAWjC,GAAS/C,KAAKQ,MAAMsB,MAC/BmD,OAAQhG,EACRiG,WAAU,KACVzB,OAAQJ,EAAU,iBAClBvC,IAAKd,KAAK4B,UACVuD,cAAenF,KAAKQ,MAAM2E,qBAM9BC,EAAApF,KAAKQ,MAAM8B,oBAAgB,MAAA8C,SAAA,SAAAA,EAAE3C,QAAS,GACtCgC,EAACY,EAAY,CACZH,WAAU,KACVI,IAAK,mBAAmBtF,KAAKC,QAC7BwD,OAAQJ,EAAU,wBAClBkC,SAAUvF,KAAKQ,MAAM8B,iBACrBxB,IAAK,CACJ0E,SAAUxF,KAAKwB,kBAEhBiE,OAAQ,CAACzF,KAAKQ,MAAME,a,CA4IjB,uBAAA8D,CAAwB3D,GAC/B,OACC4D,EAAA,MAAIC,IAAKzE,KACRwE,EAACI,EAAc,CACdC,YAAY,OACZC,aAAc/E,KAAKQ,MAAMuE,aACzBtB,OAAO,GACP3C,IAAK,CACJH,QAAUC,IACTZ,KAAKW,QAAQC,EAAOC,EAAK,IAI3B4D,EAAA,QAAMiB,KAAK,UACVjB,EAAA,QAAME,MAAM,mBAAmBtB,EAAU,aAAmB,IAAE5D,EAAiBkG,OAAO9E,K,CAOnF,qBAAA0D,CAAsB1D,GAC7B,OACC4D,EAAA,MAAIC,IAAKzE,KACRwE,EAACI,EAAc,CAACF,MAAM,0DAA0DI,aAAc/E,KAAKQ,MAAMuE,aAAcC,UAAW,KAAMvB,OAAO,IAC9IgB,EAAA,QAAMiB,KAAK,UACVjB,EAAA,QAAME,MAAM,mBAAmBtB,EAAU,aAAmB,IAAE5D,EAAiBkG,OAAO9E,K,CAQpF,qBAAA+E,CAAsBrH,GAC5BE,EAAYuB,KAAM,iBAAkBK,KAAKwF,IAAI,EAAGtH,IAAK,MAALA,SAAK,EAALA,EAAS,G,CAInD,mBAAAuH,CAAoBvH,GAC1BuH,EAAoB9F,KAAMzB,E,CAIpB,aAAAwH,CAAc3C,EAAuB4C,EAA2BC,EAAU,OAChF,IAAKA,EAAS,CACbC,EAAelG,KAAKQ,MAAMiD,O,CAE3BsC,EAAc/F,KAAMoD,GACpB+C,EAAYnG,KAAKQ,MAAMiD,O,CAIjB,kBAAA2C,CAAmB7H,GACzB8H,EACCrG,KACA,eACCzB,UAAiBA,IAAU,kBAAoBA,IAAU,iBAAoBA,IAAU,UAAYA,IAAU,MAC9G,IAAI+H,IAAI,CAAC,UAAW,wBACpB/H,EACA,CACCgI,MAAO,CACNC,YAAa,CAACtD,EAAoBhB,KACjC,UAAWgB,IAAc,UAAW,CACnChB,EAAUW,IAAI,cAAe,CAC5Bc,MAAOT,EACPU,KAAMV,EACNW,KAAMX,EACNY,SAAUZ,G,KAEL,CACN,UAAWA,IAAc,SAAU,CAClC,IACCA,EAAYuD,EAA+BvD,E,CAC1C,MAAOwD,GACRxE,EAAUyE,OAAO,c,EAInB,UAAWzD,IAAc,UAAYA,IAAc,KAAM,CACxDhB,EAAUW,IAAI,cAAa+D,OAAAC,OAAAD,OAAAC,OAAA,GACvB7G,KAAKQ,MAAMkD,aAAW,CACzBC,aACST,EAAkCS,QAAU,UAChDT,EAAkCS,QAAU,KAC7C3D,KAAKQ,MAAMkD,YAAYC,MAC3BC,YACSV,EAAkCU,OAAS,UAC/CV,EAAkCU,OAAS,KAC5C5D,KAAKQ,MAAMkD,YAAYE,KAC3BC,YACSX,EAAkCW,OAAS,UAC/CX,EAAkCW,OAAS,KAC5C7D,KAAKQ,MAAMkD,YAAYG,KAC3BC,gBACSZ,EAAkCY,WAAa,UACnDZ,EAAkCY,WAAa,KAChD9D,KAAKQ,MAAMkD,YAAYI,W,OAW5B,UAAAgD,CAAWvI,GACjB,UAAWA,IAAU,UAAYA,IAAU,KAAM,CAChDyB,KAAKQ,MAAKoG,OAAAC,OAAAD,OAAAC,OAAA,GACN7G,KAAKQ,OAAK,CACbM,IAAKvC,G,EAMD,YAAAwI,CAAaxI,GACnBE,EAAYuB,KAAM,QAASzB,EAAO,CACjCgI,MAAO,CACNC,YAAa,CAACvE,EAAqBC,KAClC,MAAM9B,EAAW8B,EAAUC,IAAI,aAAgBD,EAAUE,IAAI,aAA0BpC,KAAKQ,MAAME,UAClG,MAAMP,EAAQ+B,EAAUC,IAAI,QAAWD,EAAUE,IAAI,QAAqBpC,KAAKQ,MAAMC,KACrFT,KAAK8C,SAASZ,EAAWD,EAAsB7B,EAAUD,EAAM,I,CAwD5D,gBAAA6G,CAAiBzI,GACvBE,EAAYuB,KAAM,YAAazB,EAAO,CACrCgI,MAAO,CACNC,YAAaxG,KAAKgC,iB,CAMd,uBAAAiF,CAAwB1I,GAC9B2I,EAAqBlH,KAAM,oBAAqBzB,UAAiBA,IAAU,UAAUA,EAAOqE,UAAW,CACtG2D,MAAO,CACNC,YAAaxG,KAAKiD,wB,CAMd,oBAAAkE,CAAqB5I,GAC3BE,EAAYuB,KAAM,gBAAiBK,KAAKwF,IAAI,EAAGtH,IAAK,MAALA,SAAK,EAALA,EAAS,G,CAIlD,WAAAF,CAAYE,GAClBF,EAAY2B,KAAMzB,EAAO,CACxBgI,MAAO,CACNC,YAAa,CAACvE,EAAqBC,KAClC,MAAMrB,EAAOqB,EAAUC,IAAI,SAAYD,EAAUE,IAAI,SAAsBpC,KAAKQ,MAAMsB,MACtF,MAAM1B,EAAW8B,EAAUC,IAAI,aAAgBD,EAAUE,IAAI,aAA0BpC,KAAKQ,MAAME,UAClGV,KAAK8C,SAASZ,EAAWrB,EAAMT,EAAU6B,EAAqB,I,CAO3D,oBAAAmF,CAAqB7I,GAC3B6I,EAAqBpH,KAAMzB,E,CAGrB,iBAAA8I,GACNrH,KAAK4F,sBAAsB5F,KAAKwD,gBAChCxD,KAAK8F,oBAAoB9F,KAAK+E,cAC9B/E,KAAKoG,mBAAmBpG,KAAK0D,aAC7B1D,KAAK+F,cAAc/F,KAAKyD,OAAQb,UAAW,MAC3C5C,KAAK8G,WAAW9G,KAAKc,KACrBd,KAAK+G,aAAa/G,KAAK8B,OACvB9B,KAAKgH,iBAAiBhH,KAAKU,WAC3BV,KAAKiH,wBAAwBjH,KAAKsC,kBAClCtC,KAAKmH,qBAAqBnH,KAAK+D,eAC/B/D,KAAKoH,qBAAqBpH,KAAKmF,eAC/BnF,KAAK3B,YAAY2B,KAAKS,MAMtBT,KAAK+G,aAAa/G,KAAK8B,M,CAGjB,oBAAAwF,GACNpB,EAAelG,KAAKQ,MAAMiD,O","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{r as t,h as i}from"./index-4492e98a.js";import{a as e}from"./component-names-60d77143.js";import{a as s}from"./align-floating-elements-7cdb6dc6.js";import{a as o}from"./align-de93d774.js";import"./reuse-f46e7e35.js";import"./prop.validators-d189554c.js";import"./dev.utils-fab45cbc.js";const n=(e,t)=>{o(e,"_popoverAlign",t)},d=class{constructor(e){t(this,e),this.state={_label:"",_popoverAlign:"bottom"},this.justClosed=!1,this._accessKey=void 0,this._ariaControls=void 0,this._ariaDescription=void 0,this._ariaExpanded=void 0,this._ariaSelected=void 0,this._customClass=void 0,this._disabled=!1,this._hideLabel=!1,this._icons=void 0,this._id=void 0,this._label=void 0,this._name=void 0,this._on=void 0,this._popoverAlign="bottom",this._role=void 0,this._shortKey=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0,this._variant="normal"}async hidePopover(){var e;null===(e=this.refPopover)||void 0===e||e.hidePopover()}handleBeforeToggle(e){"closed"===e.newState?(this.justClosed=!0,setTimeout((()=>{this.justClosed=!1}),10)):this.refPopover&&(this.refPopover.style.visibility="hidden")}handleToggle(e){"open"===e.newState&&this.refPopover&&this.refButton&&s({align:this.state._popoverAlign,floatingElement:this.refPopover,referenceElement:this.refButton})}handleButtonClick(){var e;this.justClosed||null===(e=this.refPopover)||void 0===e||e.togglePopover()}componentDidRender(){var e,t;null===(e=this.refPopover)||void 0===e||e.addEventListener("toggle",this.handleToggle.bind(this)),null===(t=this.refPopover)||void 0===t||t.addEventListener("beforetoggle",this.handleBeforeToggle.bind(this))}disconnectedCallback(){var e,t;null===(e=this.refPopover)||void 0===e||e.removeEventListener("toggle",this.handleToggle.bind(this)),null===(t=this.refPopover)||void 0===t||t.removeEventListener("beforetoggle",this.handleBeforeToggle.bind(this))}render(){return i("div",{key:"df5e5225efc4736c51054096981b7bc1805a18a8",class:"kol-popover-button"},i(e,{key:"464fcf09964542fc483a1e3da7ca3387058623a1",_accessKey:this._accessKey,_ariaControls:this._ariaControls,_ariaDescription:this._ariaDescription,_ariaExpanded:this._ariaExpanded,_ariaSelected:this._ariaSelected,_customClass:this._customClass,_disabled:this._disabled,_hideLabel:this._hideLabel,_icons:this._icons,_id:this._id,_label:this._label,_name:this._name,_on:this._on,_role:this._role,_shortKey:this._shortKey,_syncValueBySelector:this._syncValueBySelector,_tabIndex:this._tabIndex,_tooltipAlign:this._tooltipAlign,_type:this._type,_value:this._value,_variant:this._variant,"data-testid":"popover-button",class:"kol-popover-button__button",ref:e=>this.refButton=e,onClick:this.handleButtonClick.bind(this)},i("slot",{key:"69a5acce344c60d04ef4da227c94eec02b3f00e4",name:"expert",slot:"expert"})),i("div",{key:"10288bd26cd136f234905e5c9dcfff3fcf1a7558",ref:e=>this.refPopover=e,"data-testid":"popover-content",popover:"auto",id:"popover",class:"kol-popover-button__popover"},i("slot",{key:"95454aa3db0d05838b5c829462544f87ffc2b483"})))}validatePopoverAlign(e){n(this,e)}componentWillLoad(){this.validatePopoverAlign(this._popoverAlign)}static get watchers(){return{_popoverAlign:["validatePopoverAlign"]}}};export{d as kol_popover_button_wc};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["validatePopoverAlign","component","value","validateAlignment","KolPopoverButton","_label","_popoverAlign","hidePopover","_a","this","refPopover","handleBeforeToggle","event","newState","justClosed","setTimeout","style","visibility","handleToggle","refButton","alignFloatingElements","align","state","floatingElement","referenceElement","handleButtonClick","togglePopover","componentDidRender","addEventListener","bind","_b","disconnectedCallback","removeEventListener","render","h","key","class","KolButtonWcTag","_accessKey","_ariaControls","_ariaDescription","_ariaExpanded","_ariaSelected","_customClass","_disabled","_hideLabel","_icons","_id","_name","_on","_role","_shortKey","_syncValueBySelector","_tabIndex","_tooltipAlign","_type","_value","_variant","ref","element","onClick","name","slot","popover","id","componentWillLoad"],"sources":["src/schema/props/popover-align.ts","src/components/popover-button/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { validateAlignment } from '../validators';\n\nimport type { AlignPropType } from './align';\n\n/* types */\nexport type PopoverAlignPropType = AlignPropType;\n\n/**\n * Defines where to show the popover preferably: top, right, bottom or left.\n */\nexport type PropPopoverAlign = {\n\tpopoverAlign: PopoverAlignPropType;\n};\n\n/* validator */\nexport const validatePopoverAlign = (component: Generic.Element.Component, value?: PopoverAlignPropType): void => {\n\tvalidateAlignment(component, '_popoverAlign', value);\n};\n","import type { JSX } from '@stencil/core';\nimport { Component, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { KolButtonWcTag } from '../../core/component-names';\nimport { alignFloatingElements } from '../../utils/align-floating-elements';\nimport type { PopoverButtonProps, PopoverButtonStates } from '../../schema/components/popover-button';\nimport type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaDescriptionPropType,\n\tButtonCallbacksPropType,\n\tButtonTypePropType,\n\tButtonVariantPropType,\n\tCustomClassPropType,\n\tIconsPropType,\n\tLabelWithExpertSlotPropType,\n\tPopoverAlignPropType,\n\tShortKeyPropType,\n\tStencilUnknown,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n} from '../../schema';\nimport { validatePopoverAlign } from '../../schema';\n\n/**\n * @slot - The popover content.\n */\n@Component({\n\ttag: 'kol-popover-button-wc',\n\tshadow: false,\n})\n// class implementing PopoverButtonProps and not API because we don't want to repeat the entire state and validation for button props\nexport class KolPopoverButton implements PopoverButtonProps {\n\tprivate refButton?: HTMLKolButtonWcElement;\n\tprivate refPopover?: HTMLDivElement;\n\n\t@State() public state: PopoverButtonStates = {\n\t\t_label: '',\n\t\t_popoverAlign: 'bottom',\n\t};\n\t@State() private justClosed = false;\n\n\t/**\n\t * Hides the popover programmatically by calling the native hidePopover method.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async hidePopover() {\n\t\tvoid this.refPopover?.hidePopover();\n\t}\n\n\t/* Regarding type issue see https://github.com/microsoft/TypeScript/issues/54864 */\n\tprivate handleBeforeToggle(event: Event) {\n\t\tif ((event as ToggleEvent).newState === 'closed') {\n\t\t\tthis.justClosed = true;\n\n\t\t\tsetTimeout(() => {\n\t\t\t\t// Reset the flag after the event loop tick.\n\t\t\t\tthis.justClosed = false;\n\t\t\t}, 10); // timeout of 0 should be sufficient but doesn't work in Safari Mobile (needs further investigation).\n\t\t} else if (this.refPopover) {\n\t\t\t/**\n\t\t\t * Avoid \"flicker\" by hiding the element until the position is set in the `toggle` event handler. `alignFloatingElements` is responsible for setting the visibility back to 'visible'.\n\t\t\t */\n\t\t\tthis.refPopover.style.visibility = 'hidden';\n\t\t}\n\t}\n\n\tprivate handleToggle(event: Event) {\n\t\tif ((event as ToggleEvent).newState === 'open' && this.refPopover && this.refButton) {\n\t\t\tvoid alignFloatingElements({\n\t\t\t\talign: this.state._popoverAlign,\n\t\t\t\tfloatingElement: this.refPopover,\n\t\t\t\treferenceElement: this.refButton,\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate handleButtonClick() {\n\t\t// If the popover was just closed by native behavior, do nothing (and let it stay closed).\n\t\tif (!this.justClosed) {\n\t\t\tthis.refPopover?.togglePopover();\n\t\t}\n\t}\n\n\tpublic componentDidRender() {\n\t\tthis.refPopover?.addEventListener('toggle', this.handleToggle.bind(this));\n\t\tthis.refPopover?.addEventListener('beforetoggle', this.handleBeforeToggle.bind(this));\n\t}\n\n\tpublic disconnectedCallback() {\n\t\tthis.refPopover?.removeEventListener('toggle', this.handleToggle.bind(this));\n\t\tthis.refPopover?.removeEventListener('beforetoggle', this.handleBeforeToggle.bind(this));\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<div class=\"kol-popover-button\">\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaDescription={this._ariaDescription}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_customClass={this._customClass}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_icons={this._icons}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_name={this._name}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_shortKey={this._shortKey}\n\t\t\t\t\t_syncValueBySelector={this._syncValueBySelector}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this._value}\n\t\t\t\t\t_variant={this._variant}\n\t\t\t\t\tdata-testid=\"popover-button\"\n\t\t\t\t\tclass=\"kol-popover-button__button\"\n\t\t\t\t\tref={(element) => (this.refButton = element)}\n\t\t\t\t\tonClick={this.handleButtonClick.bind(this)}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t</KolButtonWcTag>\n\n\t\t\t\t<div ref={(element) => (this.refPopover = element)} data-testid=\"popover-content\" popover=\"auto\" id=\"popover\" class=\"kol-popover-button__popover\">\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: AccessKeyPropType;\n\n\t/**\n\t * Defines which elements are controlled by this component. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Defines the value for the aria-description attribute.\n\t */\n\t@Prop() public _ariaDescription?: AriaDescriptionPropType;\n\n\t/**\n\t * Defines whether the interactive element of the component expanded something. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Defines whether the interactive element of the component is selected (e.g. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: IconsPropType;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Defines the callback functions for button events.\n\t */\n\t@Prop() public _on?: ButtonCallbacksPropType<StencilUnknown>;\n\n\t/**\n\t * Defines where to show the Popover preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _popoverAlign?: PopoverAlignPropType = 'bottom';\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Adds a visual short key hint to the component.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: ButtonTypePropType = 'button';\n\n\t/**\n\t * Defines the value that the button emits on click.\n\t */\n\t@Prop() public _value?: Stringified<StencilUnknown>;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: ButtonVariantPropType = 'normal';\n\n\t@Watch('_popoverAlign')\n\tpublic validatePopoverAlign(value?: PopoverAlignPropType): void {\n\t\tvalidatePopoverAlign(this, value);\n\t}\n\n\tpublic componentWillLoad() {\n\t\tthis.validatePopoverAlign(this._popoverAlign);\n\t}\n}\n"],"mappings":";;;qSAiBO,MAAMA,EAAuB,CAACC,EAAsCC,KAC1EC,EAAkBF,EAAW,gBAAiBC,EAAM,E,MCcxCE,EAAgB,M,oCAIiB,CAC5CC,OAAQ,GACRC,cAAe,U,gBAEc,M,4LAgIO,M,gBAOC,M,0HA8BgB,S,8HA0BA,M,WAKV,S,oCAUM,Q,CAvM3C,iBAAMC,G,YACPC,EAAAC,KAAKC,cAAU,MAAAF,SAAA,SAAAA,EAAED,c,CAIf,kBAAAI,CAAmBC,GAC1B,GAAKA,EAAsBC,WAAa,SAAU,CACjDJ,KAAKK,WAAa,KAElBC,YAAW,KAEVN,KAAKK,WAAa,KAAK,GACrB,G,MACG,GAAIL,KAAKC,WAAY,CAI3BD,KAAKC,WAAWM,MAAMC,WAAa,Q,EAI7B,YAAAC,CAAaN,GACpB,GAAKA,EAAsBC,WAAa,QAAUJ,KAAKC,YAAcD,KAAKU,UAAW,MAC/EC,EAAsB,CAC1BC,MAAOZ,KAAKa,MAAMhB,cAClBiB,gBAAiBd,KAAKC,WACtBc,iBAAkBf,KAAKU,W,EAKlB,iBAAAM,G,MAEP,IAAKhB,KAAKK,WAAY,EACrBN,EAAAC,KAAKC,cAAU,MAAAF,SAAA,SAAAA,EAAEkB,e,EAIZ,kBAAAC,G,SACNnB,EAAAC,KAAKC,cAAU,MAAAF,SAAA,SAAAA,EAAEoB,iBAAiB,SAAUnB,KAAKS,aAAaW,KAAKpB,QACnEqB,EAAArB,KAAKC,cAAU,MAAAoB,SAAA,SAAAA,EAAEF,iBAAiB,eAAgBnB,KAAKE,mBAAmBkB,KAAKpB,M,CAGzE,oBAAAsB,G,SACNvB,EAAAC,KAAKC,cAAU,MAAAF,SAAA,SAAAA,EAAEwB,oBAAoB,SAAUvB,KAAKS,aAAaW,KAAKpB,QACtEqB,EAAArB,KAAKC,cAAU,MAAAoB,SAAA,SAAAA,EAAEE,oBAAoB,eAAgBvB,KAAKE,mBAAmBkB,KAAKpB,M,CAG5E,MAAAwB,GACN,OACCC,EAAA,OAAAC,IAAA,2CAAKC,MAAM,sBACVF,EAACG,EAAc,CAAAF,IAAA,2CACdG,WAAY7B,KAAK6B,WACjBC,cAAe9B,KAAK8B,cACpBC,iBAAkB/B,KAAK+B,iBACvBC,cAAehC,KAAKgC,cACpBC,cAAejC,KAAKiC,cACpBC,aAAclC,KAAKkC,aACnBC,UAAWnC,KAAKmC,UAChBC,WAAYpC,KAAKoC,WACjBC,OAAQrC,KAAKqC,OACbC,IAAKtC,KAAKsC,IACV1C,OAAQI,KAAKJ,OACb2C,MAAOvC,KAAKuC,MACZC,IAAKxC,KAAKwC,IACVC,MAAOzC,KAAKyC,MACZC,UAAW1C,KAAK0C,UAChBC,qBAAsB3C,KAAK2C,qBAC3BC,UAAW5C,KAAK4C,UAChBC,cAAe7C,KAAK6C,cACpBC,MAAO9C,KAAK8C,MACZC,OAAQ/C,KAAK+C,OACbC,SAAUhD,KAAKgD,SAAQ,cACX,iBACZrB,MAAM,6BACNsB,IAAMC,GAAalD,KAAKU,UAAYwC,EACpCC,QAASnD,KAAKgB,kBAAkBI,KAAKpB,OAErCyB,EAAA,QAAAC,IAAA,2CAAM0B,KAAK,SAASC,KAAK,YAG1B5B,EAAA,OAAAC,IAAA,2CAAKuB,IAAMC,GAAalD,KAAKC,WAAaiD,EAAQ,cAAc,kBAAkBI,QAAQ,OAAOC,GAAG,UAAU5B,MAAM,+BACnHF,EAAA,QAAAC,IAAA,8C,CAwHG,oBAAAnC,CAAqBE,GAC3BF,EAAqBS,KAAMP,E,CAGrB,iBAAA+D,GACNxD,KAAKT,qBAAqBS,KAAKH,c","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{r as n,h as e}from"./index-4492e98a.js";import{j as t}from"./component-names-60d77143.js";const i="@charset \"UTF-8\";\n/*\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: calc(44rem / var(--kolibri-root-font-size, 16));\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 rem(44).\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 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: calc(1rem / var(--kolibri-root-font-size, 16));\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n width: calc(1rem / var(--kolibri-root-font-size, 16));\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%;\n /* 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 .badge-text-hint {\n background-color: lightgray;\n color: black;\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 .kol-span {\n /* KolSpan is a layout component with icons in all directions and a label text in the middle. */\n display: grid;\n place-items: center;\n /* The sub span in KolSpan is the horizontal span with icon left and right and the label text in the middle. */\n }\n .kol-span__container {\n display: flex;\n place-items: center;\n }\n a,\n button {\n cursor: pointer;\n }\n .kol-span .kol-span__label--hide-label .kol-span__label {\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,\n [disabled]:focus .kol-span {\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 {\n display: contents;\n }\n .kol-tooltip__floating {\n animation-duration: 0.25s;\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 .kol-tooltip__arrow {\n background-color: #fff;\n color: #000;\n height: calc(10rem / var(--kolibri-root-font-size, 16));\n position: absolute;\n transform: rotate(45deg);\n width: calc(10rem / var(--kolibri-root-font-size, 16));\n z-index: 999;\n }\n .kol-tooltip__content {\n background-color: #fff;\n color: #000;\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}\n@layer kol-component {\n :host {\n display: inline-block;\n }\n .kol-button {\n font-style: calc(16rem / var(--kolibri-root-font-size, 16));\n display: inline-flex;\n place-items: center;\n text-align: center;\n text-decoration-line: none;\n }\n .kol-button::before {\n /* Render zero-width character as first element to set the baseline correctly. */\n content: \"​\";\n }\n .kol-button__text {\n margin: auto;\n width: 100%;\n }\n}\n@layer kol-component {\n .kol-popover-button__button {\n display: inline-block;\n }\n .kol-popover-button__popover {\n border: 1px solid #000;\n margin: 0;\n padding: 0;\n }\n}",o=i,a=class{constructor(e){n(this,e),this._accessKey=void 0,this._ariaControls=void 0,this._ariaDescription=void 0,this._ariaExpanded=void 0,this._ariaSelected=void 0,this._customClass=void 0,this._disabled=!1,this._hideLabel=!1,this._icons=void 0,this._id=void 0,this._label=void 0,this._name=void 0,this._on=void 0,this._popoverAlign="bottom",this._role=void 0,this._shortKey=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._type="button",this._value=void 0,this._variant="normal"}async hidePopover(){var n;null===(n=this.ref)||void 0===n||n.hidePopover()}render(){return e(t,{key:"91232672e2a7afde6b9e2ddaccf6bc551d51d803",ref:n=>this.ref=n,_accessKey:this._accessKey,_ariaControls:this._ariaControls,_ariaDescription:this._ariaDescription,_ariaExpanded:this._ariaExpanded,_ariaSelected:this._ariaSelected,_customClass:this._customClass,_disabled:this._disabled,_hideLabel:this._hideLabel,_icons:this._icons,_id:this._id,_label:this._label,_name:this._name,_on:this._on,_popoverAlign:this._popoverAlign,_role:this._role,_shortKey:this._shortKey,_syncValueBySelector:this._syncValueBySelector,_tabIndex:this._tabIndex,_tooltipAlign:this._tooltipAlign,_type:this._type,_value:this._value,_variant:this._variant},e("slot",{key:"a45cbf8faa7f7f3c42c433d07a0b6734b480f51d",name:"expert",slot:"expert"}),e("slot",{key:"8a25b26b9e518dafe033b4f690ebbc94cde75aeb"}))}};a.style={default:o};export{a as kol_popover_button};
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultStyleCss","KolPopoverButtonDefaultStyle0","KolPopoverButton","hidePopover","_a","this","ref","render","h","KolPopoverButtonWcTag","key","element","_accessKey","_ariaControls","_ariaDescription","_ariaExpanded","_ariaSelected","_customClass","_disabled","_hideLabel","_icons","_id","_label","_name","_on","_popoverAlign","_role","_shortKey","_syncValueBySelector","_tabIndex","_tooltipAlign","_type","_value","_variant","name","slot"],"sources":["src/components/popover-button/style.scss?tag=kol-popover-button&mode=default&encapsulation=shadow","src/components/popover-button/shadow.tsx"],"sourcesContent":["@use '../../styles/global' as *;\n@use '../@shared/kol-button-mixin' as *;\n@use '../@shared/kol-popover-button-mixin' as *;\n@use '../tooltip/style' as *;\n\n@include kol-button-styles('kol-button');\n@include kol-popover-button-styles;\n","import type { JSX } from '@stencil/core';\nimport { Component, h, Method, Prop } from '@stencil/core';\nimport { KolPopoverButtonWcTag } from '../../core/component-names';\nimport type { PopoverButtonProps } from '../../schema/components/popover-button';\nimport type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaDescriptionPropType,\n\tButtonCallbacksPropType,\n\tButtonTypePropType,\n\tButtonVariantPropType,\n\tCustomClassPropType,\n\tIconsPropType,\n\tLabelWithExpertSlotPropType,\n\tPopoverAlignPropType,\n\tShortKeyPropType,\n\tStencilUnknown,\n\tStringified,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n} from '../../schema';\n\n/**\n * @slot - The popover content.\n */\n@Component({\n\ttag: 'kol-popover-button',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPopoverButton implements PopoverButtonProps {\n\tprivate ref?: HTMLKolPopoverButtonWcElement;\n\n\t/**\n\t * Hides the popover programmatically by forwarding the call to the web component.\n\t */\n\t@Method()\n\t// eslint-disable-next-line @typescript-eslint/require-await\n\tpublic async hidePopover() {\n\t\tvoid this.ref?.hidePopover();\n\t}\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<KolPopoverButtonWcTag\n\t\t\t\tref={(element) => (this.ref = element)}\n\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t_ariaControls={this._ariaControls}\n\t\t\t\t_ariaDescription={this._ariaDescription}\n\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t_customClass={this._customClass}\n\t\t\t\t_disabled={this._disabled}\n\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t_icons={this._icons}\n\t\t\t\t_id={this._id}\n\t\t\t\t_label={this._label}\n\t\t\t\t_name={this._name}\n\t\t\t\t_on={this._on}\n\t\t\t\t_popoverAlign={this._popoverAlign}\n\t\t\t\t_role={this._role}\n\t\t\t\t_shortKey={this._shortKey}\n\t\t\t\t_syncValueBySelector={this._syncValueBySelector}\n\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t_type={this._type}\n\t\t\t\t_value={this._value}\n\t\t\t\t_variant={this._variant}\n\t\t\t>\n\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t<slot />\n\t\t\t</KolPopoverButtonWcTag>\n\t\t);\n\t}\n\n\t/**\n\t * Defines which key combination can be used to trigger or focus the interactive element of the component.\n\t */\n\t@Prop() public _accessKey?: AccessKeyPropType;\n\n\t/**\n\t * Defines which elements are controlled by this component. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Defines the value for the aria-description attribute.\n\t */\n\t@Prop() public _ariaDescription?: AriaDescriptionPropType;\n\n\t/**\n\t * Defines whether the interactive element of the component expanded something. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Defines whether the interactive element of the component is selected (e.g. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: IconsPropType;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Defines the callback functions for button events.\n\t */\n\t@Prop() public _on?: ButtonCallbacksPropType<StencilUnknown>;\n\n\t/**\n\t * Defines where to show the Popover preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _popoverAlign?: PopoverAlignPropType = 'bottom';\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Adds a visual short key hint to the component.\n\t */\n\t@Prop() public _shortKey?: ShortKeyPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: ButtonTypePropType = 'button';\n\n\t/**\n\t * Defines the value that the button emits on click.\n\t */\n\t@Prop() public _value?: Stringified<StencilUnknown>;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: ButtonVariantPropType = 'normal';\n}\n"],"mappings":";;;iGAAA,MAAMA,EAAkB,ogMACxB,MAAAC,EAAeD,E,MC+BFE,EAAgB,M,qNA8ES,M,gBAOC,M,0HA8BgB,S,8HA0BA,M,WAKV,S,oCAUM,Q,CApJ3C,iBAAMC,G,YACPC,EAAAC,KAAKC,OAAG,MAAAF,SAAA,SAAAA,EAAED,c,CAGT,MAAAI,GACN,OACCC,EAACC,EAAqB,CAAAC,IAAA,2CACrBJ,IAAMK,GAAaN,KAAKC,IAAMK,EAC9BC,WAAYP,KAAKO,WACjBC,cAAeR,KAAKQ,cACpBC,iBAAkBT,KAAKS,iBACvBC,cAAeV,KAAKU,cACpBC,cAAeX,KAAKW,cACpBC,aAAcZ,KAAKY,aACnBC,UAAWb,KAAKa,UAChBC,WAAYd,KAAKc,WACjBC,OAAQf,KAAKe,OACbC,IAAKhB,KAAKgB,IACVC,OAAQjB,KAAKiB,OACbC,MAAOlB,KAAKkB,MACZC,IAAKnB,KAAKmB,IACVC,cAAepB,KAAKoB,cACpBC,MAAOrB,KAAKqB,MACZC,UAAWtB,KAAKsB,UAChBC,qBAAsBvB,KAAKuB,qBAC3BC,UAAWxB,KAAKwB,UAChBC,cAAezB,KAAKyB,cACpBC,MAAO1B,KAAK0B,MACZC,OAAQ3B,KAAK2B,OACbC,SAAU5B,KAAK4B,UAEfzB,EAAA,QAAAE,IAAA,2CAAMwB,KAAK,SAASC,KAAK,WACzB3B,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as s,H as t}from"./index-a49af574.js";import{a as e}from"./align-floating-elements-a8debc3a.js";import{w as o}from"./prop.validators-c5e6ad2d.js";import{g as a}from"./dev.utils-fab45cbc.js";import{v as h}from"./align-3f029493.js";import{v as l}from"./show-5d826542.js";import"./reuse-32931294.js";import"./index-541b643a.js";const r=(e,t)=>{o(e,"_on",(e=>"object"==typeof e&&null!==e),new Set(["PopoverCallbacksPropType {Events.onClose}"]),t)},c=class{constructor(e){i(this,e),this.hidePopoverByEscape=e=>{"Escape"===e.key&&this.hidePopover(e)},this.hidePopoverByClickOutside=e=>{this.host&&!this.host.contains(e.target)&&this.hidePopover(e)},this.catchHostAndTriggerElement=e=>{e&&(this.host=e,this.triggerElement=e.previousElementSibling)},this.catchPopoverElement=e=>{this.popoverElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this._align="top",this._on=void 0,this._show=!1,this.state={_align:"top",_on:{},_show:!1,_visible:!1}}async showPopover(){this.addListenersToBody(),this.triggerElement&&this.popoverElement&&(await e({align:this._align,referenceElement:this.triggerElement,arrowElement:this.arrowElement,floatingElement:this.popoverElement}),this.state=Object.assign(Object.assign({},this.state),{_visible:!0}))}hidePopover(e){var t,s,i;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(t=this.triggerElement)||void 0===t||t.focus(),this.removeListenersToBody(),null===(i=null===(s=this.state._on)||void 0===s?void 0:s.onClose)||void 0===i||i.call(s,e)}addListenersToBody(){var e;const t=a().body;t.addEventListener("keyup",this.hidePopoverByEscape),t.addEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.addEventListener("scroll",(()=>{this.showPopover()}),{passive:!0})}removeListenersToBody(){var e;const t=a().body;t.removeEventListener("keyup",this.hidePopoverByEscape),t.removeEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.removeEventListener("scroll",(()=>{this.showPopover()}))}render(){return s(t,{key:"5badcc8b4335e176aee76f8afa6dc6fe083576af",ref:this.catchHostAndTriggerElement,class:"kol-popover"},s("div",{key:"c99512f0c51a59e5610d17ba5e2aca422ba19235",class:{popover:!0,show:this.state._visible},ref:this.catchPopoverElement,hidden:!this.state._show},s("div",{key:"f0bbe17c357ece2313b611c30c2ba01fca90465f",class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),s("slot",{key:"665066282b1a91caab5eb2ff875c0f49aeb56d7b"})))}validateAlign(e){h(this,e)}validateOn(e){r(this,e)}validateShow(e){l(this,e),e&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_on:["validateOn"],_show:["validateShow"]}}};export{c as kol_popover_wc};
4
+ import{r as s,h as i,H as t}from"./index-4492e98a.js";import{a as e}from"./align-floating-elements-7cdb6dc6.js";import{c as o}from"./clsx-09a06a12.js";import{d as a,K as l}from"./events-5886c68b.js";import{w as h}from"./prop.validators-d189554c.js";import{g as r}from"./dev.utils-fab45cbc.js";import{v as c}from"./align-de93d774.js";import{v as n}from"./show-84afcfc3.js";import"./reuse-f46e7e35.js";const d=(e,t)=>{h(e,"_on",(e=>"object"==typeof e&&null!==e),new Set(["PopoverCallbacksPropType {Events.onClose}"]),t)},f=class{constructor(e){s(this,e),this.hidePopoverByEscape=e=>{"Escape"===e.key&&this.hidePopover(e)},this.hidePopoverByClickOutside=e=>{this.host&&!this.host.contains(e.target)&&this.hidePopover(e)},this.catchHostAndTriggerElement=e=>{e&&(this.host=e,this.triggerElement=e.previousElementSibling)},this.catchPopoverElement=e=>{this.popoverElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this._align="top",this._on=void 0,this._show=!1,this.state={_align:"top",_on:{},_show:!1,_visible:!1}}async showPopover(){this.addListenersToBody(),this.triggerElement&&this.popoverElement&&(await e({align:this._align,referenceElement:this.triggerElement,arrowElement:this.arrowElement,floatingElement:this.popoverElement}),this.state=Object.assign(Object.assign({},this.state),{_visible:!0}))}hidePopover(e){var t,s,o;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(t=this.triggerElement)||void 0===t||t.focus(),this.removeListenersToBody(),null===(o=null===(s=this.state._on)||void 0===s?void 0:s.onClose)||void 0===o||o.call(s,e),this.host&&a(this.host,l.close)}addListenersToBody(){var e;const t=r().body;t.addEventListener("keyup",this.hidePopoverByEscape),t.addEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.addEventListener("scroll",(()=>{this.showPopover()}),{passive:!0})}removeListenersToBody(){var e;const t=r().body;t.removeEventListener("keyup",this.hidePopoverByEscape),t.removeEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.removeEventListener("scroll",(()=>{this.showPopover()}))}render(){return i(t,{key:"23e4ea8f366f0263df0099ee1f804412ccd05892",ref:this.catchHostAndTriggerElement,class:"kol-popover"},i("div",{key:"f0b966725406619aecf64015f1cdebe11c24b047",class:o("kol-popover__content",{"kol-popover__content--visible":this.state._visible}),ref:this.catchPopoverElement,hidden:!this.state._show},i("div",{key:"629b53f52ff434ef87738dfccb8c346a15f39c40",class:o("kol-popover__arrow",`kol-popover__arrow--${this.state._align}`),ref:this.catchArrowElement}),i("slot",{key:"afa7350520898288c61b7f65b07978c9a81c7289"})))}validateAlign(e){c(this,e)}validateOn(e){d(this,e)}validateShow(e){n(this,e),e&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_on:["validateOn"],_show:["validateShow"]}}};export{f as kol_popover_wc};
@@ -1 +1 @@
1
- {"version":3,"names":["validatePopoverCallbacks","component","value","watchValidator","Set","KolPopover","this","hidePopoverByEscape","event","key","hidePopover","hidePopoverByClickOutside","host","contains","target","catchHostAndTriggerElement","element","triggerElement","previousElementSibling","catchPopoverElement","popoverElement","catchArrowElement","arrowElement","_align","_on","_show","_visible","showPopover","addListenersToBody","alignFloatingElements","align","referenceElement","floatingElement","state","Object","assign","_a","focus","removeListenersToBody","_c","_b","onClose","call","body","getDocument","addEventListener","document","scrollingElement","passive","removeEventListener","render","h","Host","ref","class","popover","show","hidden","validateAlign","validateOn","validateShow","componentWillLoad"],"sources":["src/schema/props/popover-callbacks.ts","src/components/popover/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\nimport type { Events } from '../enums';\nimport type { EventCallback } from '../types/callbacks';\nimport { watchValidator } from '../utils';\n\n/* types */\nexport type PopoverCallbacksPropType = {\n\t[Events.onClose]?: EventCallback<MouseEvent | KeyboardEvent>;\n};\n\n/**\n * Defines the callback functions for popover events.\n */\nexport type PropPopoverCallbacks = {\n\ton: PopoverCallbacksPropType;\n};\n\n/* validator */\nexport const validatePopoverCallbacks = (component: Generic.Element.Component, value?: PopoverCallbacksPropType): void => {\n\twatchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['PopoverCallbacksPropType {Events.onClose}']), value);\n};\n","import type { AlignPropType, PopoverAPI, PopoverCallbacksPropType, PopoverStates, ShowPropType } from '../../schema';\nimport { getDocument, validateAlign, validatePopoverCallbacks, validateShow } from '../../schema';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { alignFloatingElements } from '../../utils/align-floating-elements';\n\nimport type { JSX } from '@stencil/core';\n\n/**\n * @internal\n * @slot - Der Inhalt des Popover.\n */\n@Component({\n\ttag: 'kol-popover-wc',\n\tshadow: false,\n})\nexport class KolPopover implements PopoverAPI {\n\tprivate arrowElement?: HTMLDivElement;\n\tprivate popoverElement?: HTMLDivElement;\n\tprivate triggerElement?: HTMLElement | null;\n\tprivate host?: HTMLElement;\n\n\tprivate async showPopover(): Promise<void> {\n\t\tthis.addListenersToBody();\n\n\t\tif (this.triggerElement && this.popoverElement) {\n\t\t\tawait alignFloatingElements({\n\t\t\t\talign: this._align,\n\t\t\t\treferenceElement: this.triggerElement,\n\t\t\t\tarrowElement: this.arrowElement,\n\t\t\t\tfloatingElement: this.popoverElement,\n\t\t\t});\n\t\t\tthis.state = { ...this.state, _visible: true };\n\t\t}\n\t}\n\tprivate hidePopover(event: MouseEvent | KeyboardEvent): void {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_visible: false,\n\t\t};\n\t\tthis._show = false;\n\t\tthis.triggerElement?.focus();\n\t\tthis.removeListenersToBody();\n\n\t\tthis.state._on?.onClose?.(event);\n\t}\n\n\tprivate hidePopoverByEscape = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') this.hidePopover(event);\n\t};\n\n\tprivate hidePopoverByClickOutside = (event: MouseEvent): void => {\n\t\tif (this.host && !this.host.contains(event.target as HTMLElement)) {\n\t\t\tthis.hidePopover(event);\n\t\t}\n\t};\n\n\t/* EventListener functions */\n\tprivate addListenersToBody(): void {\n\t\tconst body = getDocument().body;\n\t\tbody.addEventListener('keyup', this.hidePopoverByEscape);\n\t\tbody.addEventListener('click', this.hidePopoverByClickOutside);\n\t\tdocument.scrollingElement?.addEventListener(\n\t\t\t'scroll',\n\t\t\t() => {\n\t\t\t\tvoid this.showPopover();\n\t\t\t},\n\t\t\t{ passive: true },\n\t\t);\n\t}\n\tprivate removeListenersToBody(): void {\n\t\tconst body = getDocument().body;\n\t\tbody.removeEventListener('keyup', this.hidePopoverByEscape);\n\t\tbody.removeEventListener('click', this.hidePopoverByClickOutside);\n\t\tdocument.scrollingElement?.removeEventListener('scroll', () => {\n\t\t\tvoid this.showPopover();\n\t\t});\n\t}\n\n\t/* catchElement functions */\n\tprivate catchHostAndTriggerElement = (element: HTMLElement | null): void => {\n\t\tif (element) {\n\t\t\tthis.host = element;\n\t\t\tthis.triggerElement = element.previousElementSibling as HTMLElement | null;\n\t\t}\n\t};\n\tprivate catchPopoverElement = (element?: HTMLDivElement): void => {\n\t\tthis.popoverElement = element;\n\t};\n\tprivate catchArrowElement = (element?: HTMLDivElement): void => {\n\t\tthis.arrowElement = element;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host ref={this.catchHostAndTriggerElement} class=\"kol-popover\">\n\t\t\t\t<div class={{ popover: true, show: this.state._visible }} ref={this.catchPopoverElement} hidden={!this.state._show}>\n\t\t\t\t\t<div class={`arrow ${this.state._align}`} ref={this.catchArrowElement} />\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the alignment of the tooltip, popover or tabs in relation to the element.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines the callback functions for popover events.\n\t */\n\t@Prop() public _on?: PopoverCallbacksPropType;\n\n\t/**\n\t * Makes the element show up.\n\t * @TODO: Change type back to `ShowPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _show?: boolean = false;\n\n\t@State() public state: PopoverStates = {\n\t\t_align: 'top',\n\t\t_on: {},\n\t\t_show: false,\n\t\t_visible: false,\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType): void {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: PopoverCallbacksPropType): void {\n\t\tvalidatePopoverCallbacks(this, value);\n\t}\n\n\t@Watch('_show')\n\tpublic validateShow(value?: ShowPropType): void {\n\t\tvalidateShow(this, value);\n\t\tif (value) void this.showPopover();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateShow(this._show);\n\t}\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["validatePopoverCallbacks","component","value","watchValidator","Set","KolPopover","this","hidePopoverByEscape","event","key","hidePopover","hidePopoverByClickOutside","host","contains","target","catchHostAndTriggerElement","element","triggerElement","previousElementSibling","catchPopoverElement","popoverElement","catchArrowElement","arrowElement","_align","_on","_show","_visible","showPopover","addListenersToBody","alignFloatingElements","align","referenceElement","floatingElement","state","Object","assign","_a","focus","removeListenersToBody","_c","_b","onClose","call","dispatchDomEvent","KolEvent","close","body","getDocument","addEventListener","document","scrollingElement","passive","removeEventListener","render","h","Host","ref","class","clsx","hidden","validateAlign","validateOn","validateShow","componentWillLoad"],"sources":["src/schema/props/popover-callbacks.ts","src/components/popover/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\nimport type { Callback } from '../enums';\nimport type { EventCallback } from '../types/callbacks';\nimport { watchValidator } from '../utils';\n\n/* types */\nexport type PopoverCallbacksPropType = {\n\t[Callback.onClose]?: EventCallback<MouseEvent | KeyboardEvent>;\n};\n\n/**\n * Defines the callback functions for popover events.\n */\nexport type PropPopoverCallbacks = {\n\ton: PopoverCallbacksPropType;\n};\n\n/* validator */\nexport const validatePopoverCallbacks = (component: Generic.Element.Component, value?: PopoverCallbacksPropType): void => {\n\twatchValidator(component, `_on`, (value) => typeof value === 'object' && value !== null, new Set(['PopoverCallbacksPropType {Events.onClose}']), value);\n};\n","import type { AlignPropType, PopoverAPI, PopoverCallbacksPropType, PopoverStates, ShowPropType } from '../../schema';\nimport { getDocument, validateAlign, validatePopoverCallbacks, validateShow } from '../../schema';\nimport type { JSX } from '@stencil/core';\nimport { Component, h, Host, Prop, State, Watch } from '@stencil/core';\n\nimport { alignFloatingElements } from '../../utils/align-floating-elements';\nimport clsx from 'clsx';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\n\n/**\n * @internal\n * @slot - The popover content.\n */\n@Component({\n\ttag: 'kol-popover-wc',\n\tshadow: false,\n})\nexport class KolPopover implements PopoverAPI {\n\tprivate arrowElement?: HTMLDivElement;\n\tprivate popoverElement?: HTMLDivElement;\n\tprivate triggerElement?: HTMLElement | null;\n\tprivate host?: HTMLElement;\n\n\tprivate async showPopover(): Promise<void> {\n\t\tthis.addListenersToBody();\n\n\t\tif (this.triggerElement && this.popoverElement) {\n\t\t\tawait alignFloatingElements({\n\t\t\t\talign: this._align,\n\t\t\t\treferenceElement: this.triggerElement,\n\t\t\t\tarrowElement: this.arrowElement,\n\t\t\t\tfloatingElement: this.popoverElement,\n\t\t\t});\n\t\t\tthis.state = { ...this.state, _visible: true };\n\t\t}\n\t}\n\tprivate hidePopover(event: MouseEvent | KeyboardEvent): void {\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t\t_visible: false,\n\t\t};\n\t\tthis._show = false;\n\t\tthis.triggerElement?.focus();\n\t\tthis.removeListenersToBody();\n\n\t\tthis.state._on?.onClose?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.close);\n\t\t}\n\t}\n\n\tprivate hidePopoverByEscape = (event: KeyboardEvent): void => {\n\t\tif (event.key === 'Escape') this.hidePopover(event);\n\t};\n\n\tprivate hidePopoverByClickOutside = (event: MouseEvent): void => {\n\t\tif (this.host && !this.host.contains(event.target as HTMLElement)) {\n\t\t\tthis.hidePopover(event);\n\t\t}\n\t};\n\n\t/* EventListener functions */\n\tprivate addListenersToBody(): void {\n\t\tconst body = getDocument().body;\n\t\tbody.addEventListener('keyup', this.hidePopoverByEscape);\n\t\tbody.addEventListener('click', this.hidePopoverByClickOutside);\n\t\tdocument.scrollingElement?.addEventListener(\n\t\t\t'scroll',\n\t\t\t() => {\n\t\t\t\tvoid this.showPopover();\n\t\t\t},\n\t\t\t{ passive: true },\n\t\t);\n\t}\n\tprivate removeListenersToBody(): void {\n\t\tconst body = getDocument().body;\n\t\tbody.removeEventListener('keyup', this.hidePopoverByEscape);\n\t\tbody.removeEventListener('click', this.hidePopoverByClickOutside);\n\t\tdocument.scrollingElement?.removeEventListener('scroll', () => {\n\t\t\tvoid this.showPopover();\n\t\t});\n\t}\n\n\t/* catchElement functions */\n\tprivate catchHostAndTriggerElement = (element: HTMLElement | null): void => {\n\t\tif (element) {\n\t\t\tthis.host = element;\n\t\t\tthis.triggerElement = element.previousElementSibling as HTMLElement | null;\n\t\t}\n\t};\n\tprivate catchPopoverElement = (element?: HTMLDivElement): void => {\n\t\tthis.popoverElement = element;\n\t};\n\tprivate catchArrowElement = (element?: HTMLDivElement): void => {\n\t\tthis.arrowElement = element;\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host ref={this.catchHostAndTriggerElement} class=\"kol-popover\">\n\t\t\t\t<div\n\t\t\t\t\tclass={clsx('kol-popover__content', { 'kol-popover__content--visible': this.state._visible })}\n\t\t\t\t\tref={this.catchPopoverElement}\n\t\t\t\t\thidden={!this.state._show}\n\t\t\t\t>\n\t\t\t\t\t<div class={clsx('kol-popover__arrow', `kol-popover__arrow--${this.state._align}`)} ref={this.catchArrowElement} />\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the alignment of the tooltip, popover or tabs in relation to the element.\n\t */\n\t@Prop() public _align?: AlignPropType = 'top';\n\n\t/**\n\t * Defines the callback functions for popover events.\n\t */\n\t@Prop() public _on?: PopoverCallbacksPropType;\n\n\t/**\n\t * Makes the element show up.\n\t * @TODO: Change type back to `ShowPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _show?: boolean = false;\n\n\t@State() public state: PopoverStates = {\n\t\t_align: 'top',\n\t\t_on: {},\n\t\t_show: false,\n\t\t_visible: false,\n\t};\n\n\t@Watch('_align')\n\tpublic validateAlign(value?: AlignPropType): void {\n\t\tvalidateAlign(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: PopoverCallbacksPropType): void {\n\t\tvalidatePopoverCallbacks(this, value);\n\t}\n\n\t@Watch('_show')\n\tpublic validateShow(value?: ShowPropType): void {\n\t\tvalidateShow(this, value);\n\t\tif (value) void this.showPopover();\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlign(this._align);\n\t\tthis.validateShow(this._show);\n\t}\n}\n"],"mappings":";;;gZAkBO,MAAMA,EAA2B,CAACC,EAAsCC,KAC9EC,EAAeF,EAAW,OAAQC,UAAiBA,IAAU,UAAYA,IAAU,MAAM,IAAIE,IAAI,CAAC,8CAA+CF,EAAM,E,MCF3IG,EAAU,M,yBAkCdC,KAAAC,oBAAuBC,IAC9B,GAAIA,EAAMC,MAAQ,SAAUH,KAAKI,YAAYF,EAAM,EAG5CF,KAAAK,0BAA6BH,IACpC,GAAIF,KAAKM,OAASN,KAAKM,KAAKC,SAASL,EAAMM,QAAwB,CAClER,KAAKI,YAAYF,E,GA2BXF,KAAAS,2BAA8BC,IACrC,GAAIA,EAAS,CACZV,KAAKM,KAAOI,EACZV,KAAKW,eAAiBD,EAAQE,sB,GAGxBZ,KAAAa,oBAAuBH,IAC9BV,KAAKc,eAAiBJ,CAAO,EAEtBV,KAAAe,kBAAqBL,IAC5BV,KAAKgB,aAAeN,CAAO,E,YAqBY,M,8BAWyB,M,WAE1B,CACtCO,OAAQ,MACRC,IAAK,GACLC,MAAO,MACPC,SAAU,M,CA7GH,iBAAMC,GACbrB,KAAKsB,qBAEL,GAAItB,KAAKW,gBAAkBX,KAAKc,eAAgB,OACzCS,EAAsB,CAC3BC,MAAOxB,KAAKiB,OACZQ,iBAAkBzB,KAAKW,eACvBK,aAAchB,KAAKgB,aACnBU,gBAAiB1B,KAAKc,iBAEvBd,KAAK2B,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GAAQ7B,KAAK2B,OAAK,CAAEP,SAAU,M,EAGlC,WAAAhB,CAAYF,G,UACnBF,KAAK2B,MAAKC,OAAAC,OAAAD,OAAAC,OAAA,GACN7B,KAAK2B,OAAK,CACbP,SAAU,QAEXpB,KAAKmB,MAAQ,OACbW,EAAA9B,KAAKW,kBAAc,MAAAmB,SAAA,SAAAA,EAAEC,QACrB/B,KAAKgC,yBAELC,GAAAC,EAAAlC,KAAK2B,MAAMT,OAAG,MAAAgB,SAAA,SAAAA,EAAEC,WAAO,MAAAF,SAAA,SAAAA,EAAAG,KAAAF,EAAGhC,GAC1B,GAAIF,KAAKM,KAAM,CACd+B,EAAiBrC,KAAKM,KAAMgC,EAASC,M,EAe/B,kBAAAjB,G,MACP,MAAMkB,EAAOC,IAAcD,KAC3BA,EAAKE,iBAAiB,QAAS1C,KAAKC,qBACpCuC,EAAKE,iBAAiB,QAAS1C,KAAKK,4BACpCyB,EAAAa,SAASC,oBAAgB,MAAAd,SAAA,SAAAA,EAAEY,iBAC1B,UACA,UACM1C,KAAKqB,aAAa,GAExB,CAAEwB,QAAS,M,CAGL,qBAAAb,G,MACP,MAAMQ,EAAOC,IAAcD,KAC3BA,EAAKM,oBAAoB,QAAS9C,KAAKC,qBACvCuC,EAAKM,oBAAoB,QAAS9C,KAAKK,4BACvCyB,EAAAa,SAASC,oBAAgB,MAAAd,SAAA,SAAAA,EAAEgB,oBAAoB,UAAU,UACnD9C,KAAKqB,aAAa,G,CAkBlB,MAAA0B,GACN,OACCC,EAACC,EAAI,CAAA9C,IAAA,2CAAC+C,IAAKlD,KAAKS,2BAA4B0C,MAAM,eACjDH,EAAA,OAAA7C,IAAA,2CACCgD,MAAOC,EAAK,uBAAwB,CAAE,gCAAiCpD,KAAK2B,MAAMP,WAClF8B,IAAKlD,KAAKa,oBACVwC,QAASrD,KAAK2B,MAAMR,OAEpB6B,EAAA,OAAA7C,IAAA,2CAAKgD,MAAOC,EAAK,qBAAsB,uBAAuBpD,KAAK2B,MAAMV,UAAWiC,IAAKlD,KAAKe,oBAC9FiC,EAAA,QAAA7C,IAAA,8C,CA8BG,aAAAmD,CAAc1D,GACpB0D,EAActD,KAAMJ,E,CAId,UAAA2D,CAAW3D,GACjBF,EAAyBM,KAAMJ,E,CAIzB,YAAA4D,CAAa5D,GACnB4D,EAAaxD,KAAMJ,GACnB,GAAIA,OAAYI,KAAKqB,a,CAGf,iBAAAoC,GACNzD,KAAKsD,cAActD,KAAKiB,QACxBjB,KAAKwD,aAAaxD,KAAKmB,M","ignoreList":[]}