@public-ui/components 4.5.0-rc.6 → 4.5.0-rc.8

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 (580) hide show
  1. package/assets/kolicons/kolicons.eot +0 -0
  2. package/assets/kolicons/kolicons.ttf +0 -0
  3. package/assets/kolicons/kolicons.woff +0 -0
  4. package/assets/kolicons/kolicons.woff2 +0 -0
  5. package/assets/kolicons/style.css +6 -6
  6. package/custom-elements.json +1 -2
  7. package/dist/cjs/{Heading-Bck3PFpH.js → Heading-yiwXjRrz.js} +3 -3
  8. package/dist/cjs/{Heading-Bck3PFpH.js.map → Heading-yiwXjRrz.js.map} +1 -1
  9. package/dist/cjs/{api-BcNl2vZm.js → api-BDT5xkx5.js} +8 -8
  10. package/dist/cjs/{api-BcNl2vZm.js.map → api-BDT5xkx5.js.map} +1 -1
  11. package/dist/cjs/{api-LP3gnw7U.js → api-BI1qXrGa.js} +12 -12
  12. package/dist/cjs/{api-LP3gnw7U.js.map → api-BI1qXrGa.js.map} +1 -1
  13. package/dist/cjs/{app-globals-oR-jEiju.js → app-globals-DPVGNVgE.js} +4 -4
  14. package/dist/cjs/{app-globals-oR-jEiju.js.map → app-globals-DPVGNVgE.js.map} +1 -1
  15. package/dist/cjs/{base-DbfvhKRa.js → base-B_M9Y7nD.js} +4 -4
  16. package/dist/cjs/{base-DbfvhKRa.js.map → base-B_M9Y7nD.js.map} +1 -1
  17. package/dist/cjs/{base-BDGmLWVj.js → base-CaQNXZrN.js} +5 -5
  18. package/dist/cjs/{base-BDGmLWVj.js.map → base-CaQNXZrN.js.map} +1 -1
  19. package/dist/cjs/{base-CwXJywKD.js → base-DlsemYqM.js} +4 -4
  20. package/dist/cjs/{base-CwXJywKD.js.map → base-DlsemYqM.js.map} +1 -1
  21. package/dist/cjs/{base-DaK2F3pq.js → base-FZ2Hemhr.js} +16 -16
  22. package/dist/cjs/{base-DaK2F3pq.js.map → base-FZ2Hemhr.js.map} +1 -1
  23. package/dist/cjs/{base-web-component-C8MLLGxi.js → base-web-component-BK8X1O8C.js} +16 -9
  24. package/dist/cjs/base-web-component-BK8X1O8C.js.map +1 -0
  25. package/dist/cjs/{base-web-component-mmgXJMg0.js → base-web-component-GLk66TOu.js} +7 -7
  26. package/dist/cjs/{base-web-component-mmgXJMg0.js.map → base-web-component-GLk66TOu.js.map} +1 -1
  27. package/dist/cjs/{behavior-DWqrO2yi.js → behavior-BEaXHesG.js} +3 -3
  28. package/dist/cjs/{behavior-DWqrO2yi.js.map → behavior-BEaXHesG.js.map} +1 -1
  29. package/dist/cjs/{color-C9UZwMvC.js → color-CZiNkZFM.js} +3 -3
  30. package/dist/cjs/{color-C9UZwMvC.js.map → color-CZiNkZFM.js.map} +1 -1
  31. package/dist/cjs/{component-ZPvcKmPR.js → component-3EZdZbDH.js} +3 -3
  32. package/dist/cjs/{component-ZPvcKmPR.js.map → component-3EZdZbDH.js.map} +1 -1
  33. package/dist/cjs/{component-DuPEYx7z.js → component-B96XYPtn.js} +4 -4
  34. package/dist/cjs/{component-DuPEYx7z.js.map → component-B96XYPtn.js.map} +1 -1
  35. package/dist/cjs/{component-uHDfV5D8.js → component-BUCx7i5o.js} +7 -7
  36. package/dist/cjs/{component-uHDfV5D8.js.map → component-BUCx7i5o.js.map} +1 -1
  37. package/dist/cjs/{component-DNDfYzXZ.js → component-Bc8fDajy.js} +5 -5
  38. package/dist/cjs/{component-DNDfYzXZ.js.map → component-Bc8fDajy.js.map} +1 -1
  39. package/dist/cjs/{component-CmvG-auD.js → component-Be3QHUyC.js} +3 -3
  40. package/dist/cjs/{component-CmvG-auD.js.map → component-Be3QHUyC.js.map} +1 -1
  41. package/dist/cjs/{component-BT86Nj6R.js → component-Bj4QdlXm.js} +5 -5
  42. package/dist/cjs/{component-BT86Nj6R.js.map → component-Bj4QdlXm.js.map} +1 -1
  43. package/dist/cjs/{component-xIM903qi.js → component-CAkixzEQ.js} +3 -3
  44. package/dist/cjs/{component-xIM903qi.js.map → component-CAkixzEQ.js.map} +1 -1
  45. package/dist/cjs/{component-1NrcvQzp.js → component-CPVFCnaN.js} +7 -7
  46. package/dist/cjs/{component-1NrcvQzp.js.map → component-CPVFCnaN.js.map} +1 -1
  47. package/dist/cjs/{component-o3s7XplI.js → component-Dd-PS3jp.js} +4 -4
  48. package/dist/cjs/{component-o3s7XplI.js.map → component-Dd-PS3jp.js.map} +1 -1
  49. package/dist/cjs/{component-CtNPdMS0.js → component-DjDOgcWW.js} +5 -5
  50. package/dist/cjs/{component-CtNPdMS0.js.map → component-DjDOgcWW.js.map} +1 -1
  51. package/dist/cjs/{component-X_thXnkE.js → component-Du98sklA.js} +3 -3
  52. package/dist/cjs/{component-X_thXnkE.js.map → component-Du98sklA.js.map} +1 -1
  53. package/dist/cjs/{component-GfDUM7Um.js → component-Dw6Tq7Wb.js} +4 -4
  54. package/dist/cjs/{component-GfDUM7Um.js.map → component-Dw6Tq7Wb.js.map} +1 -1
  55. package/dist/cjs/{contrast-kLMuDQLl.js → contrast-CrL_sMV6.js} +3 -12
  56. package/dist/cjs/contrast-CrL_sMV6.js.map +1 -0
  57. package/dist/cjs/{dev.utils-BjrG4FNf.js → dev.utils-DybQ4euF.js} +3 -3
  58. package/dist/cjs/{dev.utils-BjrG4FNf.js.map → dev.utils-DybQ4euF.js.map} +1 -1
  59. package/dist/cjs/{devtools-D_afWgpU.js → devtools-Bw5sQJOl.js} +4 -4
  60. package/dist/cjs/{devtools-D_afWgpU.js.map → devtools-Bw5sQJOl.js.map} +1 -1
  61. package/dist/cjs/{field-control-DAHkvYr4.js → field-control-4CnbMR0i.js} +8 -8
  62. package/dist/cjs/{field-control-DAHkvYr4.js.map → field-control-4CnbMR0i.js.map} +1 -1
  63. package/dist/cjs/{group-DHYxVn2x.js → group-BCkxYeMA.js} +5 -5
  64. package/dist/cjs/{group-DHYxVn2x.js.map → group-BCkxYeMA.js.map} +1 -1
  65. package/dist/cjs/{index-BnEus4Y9.js → index-RAfZF5x0.js} +3 -3
  66. package/dist/cjs/{index-BnEus4Y9.js.map → index-RAfZF5x0.js.map} +1 -1
  67. package/dist/cjs/{input-eDaEE80n.js → input-7t7ZvgAy.js} +5 -5
  68. package/dist/cjs/{input-eDaEE80n.js.map → input-7t7ZvgAy.js.map} +1 -1
  69. package/dist/cjs/{input-container-Cye4qL9S.js → input-container-BUK2Fp_t.js} +7 -7
  70. package/dist/cjs/{input-container-Cye4qL9S.js.map → input-container-BUK2Fp_t.js.map} +1 -1
  71. package/dist/cjs/{item-Dflr47KV.js → item-BInO5rWQ.js} +8 -8
  72. package/dist/cjs/{item-Dflr47KV.js.map → item-BInO5rWQ.js.map} +1 -1
  73. package/dist/cjs/{item-BSdQbEav.js → item-D8Zz2ROC.js} +3 -3
  74. package/dist/cjs/{item-BSdQbEav.js.map → item-D8Zz2ROC.js.map} +1 -1
  75. package/dist/cjs/{item-C0yzJQUg.js → item-DO176juh.js} +4 -4
  76. package/dist/cjs/{item-C0yzJQUg.js.map → item-DO176juh.js.map} +1 -1
  77. package/dist/cjs/{item-wz0gBnmK.js → item-K1SS6pAu.js} +4 -4
  78. package/dist/cjs/{item-wz0gBnmK.js.map → item-K1SS6pAu.js.map} +1 -1
  79. package/dist/cjs/kol-abbr.cjs.entry.js +2 -2
  80. package/dist/cjs/kol-accordion.cjs.entry.js +7 -7
  81. package/dist/cjs/kol-alert.cjs.entry.js +11 -11
  82. package/dist/cjs/kol-avatar.cjs.entry.js +3 -3
  83. package/dist/cjs/kol-badge.cjs.entry.js +12 -12
  84. package/dist/cjs/kol-breadcrumb.cjs.entry.js +9 -9
  85. package/dist/cjs/kol-button-link.cjs.entry.js +10 -10
  86. package/dist/cjs/kol-button.cjs.entry.js +10 -10
  87. package/dist/cjs/kol-card.cjs.entry.js +11 -11
  88. package/dist/cjs/kol-click-button.cjs.entry.js +2 -2
  89. package/dist/cjs/kol-combobox.cjs.entry.js +18 -18
  90. package/dist/cjs/kol-details.cjs.entry.js +7 -7
  91. package/dist/cjs/kol-dialog.cjs.entry.js +13 -13
  92. package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
  93. package/dist/cjs/kol-form.cjs.entry.js +12 -12
  94. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-icon.cjs.entry.js +3 -3
  96. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-checkbox.cjs.entry.js +17 -17
  98. package/dist/cjs/kol-input-color.cjs.entry.js +18 -18
  99. package/dist/cjs/kol-input-date.cjs.entry.js +18 -18
  100. package/dist/cjs/kol-input-email.cjs.entry.js +20 -20
  101. package/dist/cjs/kol-input-file.cjs.entry.js +17 -17
  102. package/dist/cjs/kol-input-number.cjs.entry.js +18 -18
  103. package/dist/cjs/kol-input-password.cjs.entry.js +22 -22
  104. package/dist/cjs/kol-input-password.entry.cjs.js.map +1 -1
  105. package/dist/cjs/kol-input-radio.cjs.entry.js +17 -17
  106. package/dist/cjs/kol-input-range.cjs.entry.js +18 -18
  107. package/dist/cjs/kol-input-text.cjs.entry.js +20 -20
  108. package/dist/cjs/kol-kolibri.cjs.entry.js +2 -2
  109. package/dist/cjs/kol-link-button.cjs.entry.js +10 -10
  110. package/dist/cjs/kol-link.cjs.entry.js +10 -10
  111. package/dist/cjs/kol-meter.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-modal.cjs.entry.js +13 -13
  113. package/dist/cjs/kol-nav.cjs.entry.js +13 -13
  114. package/dist/cjs/kol-pagination.cjs.entry.js +18 -18
  115. package/dist/cjs/kol-popover-button.cjs.entry.js +12 -13
  116. package/dist/cjs/kol-popover-button.entry.cjs.js.map +1 -1
  117. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-select.cjs.entry.js +17 -17
  120. package/dist/cjs/kol-single-select.cjs.entry.js +18 -18
  121. package/dist/cjs/kol-skeleton.cjs.entry.js +2 -2
  122. package/dist/cjs/kol-skip-nav.cjs.entry.js +9 -9
  123. package/dist/cjs/kol-spin.cjs.entry.js +3 -3
  124. package/dist/cjs/kol-split-button.cjs.entry.js +12 -12
  125. package/dist/cjs/kol-table-stateful.cjs.entry.js +25 -25
  126. package/dist/cjs/kol-table-stateless.cjs.entry.js +19 -19
  127. package/dist/cjs/kol-tabs.cjs.entry.js +9 -9
  128. package/dist/cjs/kol-textarea.cjs.entry.js +20 -20
  129. package/dist/cjs/kol-textarea.entry.cjs.js.map +1 -1
  130. package/dist/cjs/kol-toast-container.cjs.entry.js +11 -11
  131. package/dist/cjs/kol-toolbar.cjs.entry.js +33 -14
  132. package/dist/cjs/kol-toolbar.entry.cjs.js.map +1 -1
  133. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +4 -4
  134. package/dist/cjs/kol-tree-item.cjs.entry.js +9 -9
  135. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  136. package/dist/cjs/kol-version.cjs.entry.js +10 -10
  137. package/dist/cjs/kolibri.cjs.js +2 -2
  138. package/dist/cjs/loader.cjs.js +2 -2
  139. package/dist/cjs/{resolve-props-DOU1VJNL.js → resolve-props-BBVQo_N5.js} +3 -3
  140. package/dist/cjs/{resolve-props-DOU1VJNL.js.map → resolve-props-BBVQo_N5.js.map} +1 -1
  141. package/dist/cjs/{scroll-lock-C6dUw4on.js → scroll-lock-zJbOf1Xr.js} +3 -3
  142. package/dist/cjs/{scroll-lock-C6dUw4on.js.map → scroll-lock-zJbOf1Xr.js.map} +1 -1
  143. package/dist/cjs/{suggestions-0hcm13gT.js → suggestions-quLXODgi.js} +4 -4
  144. package/dist/cjs/{suggestions-0hcm13gT.js.map → suggestions-quLXODgi.js.map} +1 -1
  145. package/dist/cjs/test-component.cjs.entry.js +1 -1
  146. package/dist/cjs/{toggle-handler-kOflG5om.js → toggle-handler-CENFGRWT.js} +5 -5
  147. package/dist/cjs/{toggle-handler-kOflG5om.js.map → toggle-handler-CENFGRWT.js.map} +1 -1
  148. package/dist/collection/components/accordion/style.css +2 -2
  149. package/dist/collection/components/alert/style.css +2 -2
  150. package/dist/collection/components/badge/style.css +2 -2
  151. package/dist/collection/components/breadcrumb/style.css +2 -2
  152. package/dist/collection/components/button/style.css +2 -2
  153. package/dist/collection/components/button-link/style.css +2 -2
  154. package/dist/collection/components/card/style.css +2 -2
  155. package/dist/collection/components/combobox/style.css +2 -2
  156. package/dist/collection/components/details/style.css +2 -2
  157. package/dist/collection/components/dialog/style.css +2 -2
  158. package/dist/collection/components/drawer/style.css +2 -2
  159. package/dist/collection/components/form/style.css +2 -2
  160. package/dist/collection/components/icon/style.css +2 -2
  161. package/dist/collection/components/input-checkbox/style.css +2 -2
  162. package/dist/collection/components/input-color/style.css +2 -2
  163. package/dist/collection/components/input-date/style.css +2 -2
  164. package/dist/collection/components/input-email/style.css +2 -2
  165. package/dist/collection/components/input-file/style.css +2 -2
  166. package/dist/collection/components/input-number/style.css +2 -2
  167. package/dist/collection/components/input-password/component.js +2 -2
  168. package/dist/collection/components/input-password/component.js.map +1 -1
  169. package/dist/collection/components/input-password/style.css +2 -2
  170. package/dist/collection/components/input-radio/style.css +2 -2
  171. package/dist/collection/components/input-range/style.css +2 -2
  172. package/dist/collection/components/input-text/style.css +2 -2
  173. package/dist/collection/components/link/style.css +2 -2
  174. package/dist/collection/components/link-button/style.css +2 -2
  175. package/dist/collection/components/modal/style.css +2 -2
  176. package/dist/collection/components/nav/style.css +2 -2
  177. package/dist/collection/components/pagination/style.css +2 -2
  178. package/dist/collection/components/popover-button/component.js +2 -4
  179. package/dist/collection/components/popover-button/component.js.map +1 -1
  180. package/dist/collection/components/popover-button/style.css +2 -2
  181. package/dist/collection/components/select/style.css +2 -2
  182. package/dist/collection/components/single-select/style.css +2 -2
  183. package/dist/collection/components/skip-nav/style.css +2 -2
  184. package/dist/collection/components/split-button/style.css +2 -2
  185. package/dist/collection/components/table-stateful/style.css +2 -2
  186. package/dist/collection/components/table-stateless/style.css +2 -2
  187. package/dist/collection/components/tabs/style.css +2 -2
  188. package/dist/collection/components/textarea/component.js +3 -3
  189. package/dist/collection/components/textarea/component.js.map +1 -1
  190. package/dist/collection/components/textarea/style.css +2 -2
  191. package/dist/collection/components/toaster/style.css +2 -2
  192. package/dist/collection/components/toolbar/component.js +1 -1
  193. package/dist/collection/components/toolbar/component.js.map +1 -1
  194. package/dist/collection/components/toolbar/style.css +9 -3
  195. package/dist/collection/components/tree-item/style.css +2 -2
  196. package/dist/collection/components/version/style.css +2 -2
  197. package/dist/collection/internal/functional-components/form-field/select-value.js +3 -1
  198. package/dist/collection/internal/functional-components/form-field/select-value.js.map +1 -1
  199. package/dist/collection/internal/functional-components/form-field/select.js +8 -3
  200. package/dist/collection/internal/functional-components/form-field/select.js.map +1 -1
  201. package/dist/collection/internal/functional-components/form-field/select.test.js +88 -0
  202. package/dist/collection/internal/functional-components/form-field/select.test.js.map +1 -1
  203. package/dist/collection/internal/functional-components/form-field/textarea.js.map +1 -1
  204. package/dist/collection/internal/functional-components/toolbar/api.js.map +1 -1
  205. package/dist/collection/internal/functional-components/toolbar/component.js +1 -1
  206. package/dist/collection/internal/functional-components/toolbar/component.js.map +1 -1
  207. package/dist/collection/internal/functional-components/toolbar/item.js +20 -1
  208. package/dist/collection/internal/functional-components/toolbar/item.js.map +1 -1
  209. package/dist/collection/schema/props/toolbar-items.js.map +1 -1
  210. package/dist/collection/schema/utils/contrast.js +2 -10
  211. package/dist/collection/schema/utils/contrast.js.map +1 -1
  212. package/dist/components/base-web-component4.js +11 -4
  213. package/dist/components/base-web-component4.js.map +1 -1
  214. package/dist/components/contrast.js +1 -10
  215. package/dist/components/contrast.js.map +1 -1
  216. package/dist/components/kol-accordion.js +1 -1
  217. package/dist/components/kol-alert.js +1 -1
  218. package/dist/components/kol-badge.js +1 -1
  219. package/dist/components/kol-breadcrumb.js +1 -1
  220. package/dist/components/kol-button-link.js +1 -1
  221. package/dist/components/kol-button.js +1 -1
  222. package/dist/components/kol-card.js +1 -1
  223. package/dist/components/kol-combobox.js +1 -1
  224. package/dist/components/kol-details.js +1 -1
  225. package/dist/components/kol-dialog.js +1 -1
  226. package/dist/components/kol-drawer.js +1 -1
  227. package/dist/components/kol-form.js +1 -1
  228. package/dist/components/kol-icon.js +1 -1
  229. package/dist/components/kol-input-checkbox.js +1 -1
  230. package/dist/components/kol-input-color.js +1 -1
  231. package/dist/components/kol-input-date.js +1 -1
  232. package/dist/components/kol-input-email.js +1 -1
  233. package/dist/components/kol-input-file.js +1 -1
  234. package/dist/components/kol-input-number.js +1 -1
  235. package/dist/components/kol-input-password.js +3 -3
  236. package/dist/components/kol-input-password.js.map +1 -1
  237. package/dist/components/kol-input-radio.js +1 -1
  238. package/dist/components/kol-input-range.js +1 -1
  239. package/dist/components/kol-input-text.js +1 -1
  240. package/dist/components/kol-link-button.js +1 -1
  241. package/dist/components/kol-link.js +1 -1
  242. package/dist/components/kol-modal.js +1 -1
  243. package/dist/components/kol-nav.js +1 -1
  244. package/dist/components/kol-pagination.js +1 -1
  245. package/dist/components/kol-popover-button.js +2 -3
  246. package/dist/components/kol-popover-button.js.map +1 -1
  247. package/dist/components/kol-select.js +1 -1
  248. package/dist/components/kol-single-select.js +1 -1
  249. package/dist/components/kol-skip-nav.js +1 -1
  250. package/dist/components/kol-split-button.js +1 -1
  251. package/dist/components/kol-table-stateful.js +1 -1
  252. package/dist/components/kol-table-stateless.js +1 -1
  253. package/dist/components/kol-tabs.js +1 -1
  254. package/dist/components/kol-textarea.js +4 -4
  255. package/dist/components/kol-textarea.js.map +1 -1
  256. package/dist/components/kol-toast-container.js +1 -1
  257. package/dist/components/kol-toolbar.js +23 -4
  258. package/dist/components/kol-toolbar.js.map +1 -1
  259. package/dist/components/kol-tree-item.js +1 -1
  260. package/dist/components/kol-version.js +1 -1
  261. package/dist/esm/{Heading-DXl16qig.js → Heading-BctDgC7M.js} +3 -3
  262. package/dist/esm/{Heading-DXl16qig.js.map → Heading-BctDgC7M.js.map} +1 -1
  263. package/dist/esm/{api-C8TfIYlY.js → api-B6fEjFVl.js} +12 -12
  264. package/dist/{kolibri/api-C8TfIYlY.js.map → esm/api-B6fEjFVl.js.map} +1 -1
  265. package/dist/esm/{api-BA-AFr5H.js → api-T-JuZMlj.js} +8 -8
  266. package/dist/esm/{api-BA-AFr5H.js.map → api-T-JuZMlj.js.map} +1 -1
  267. package/dist/esm/{app-globals-lFdBwFG2.js → app-globals-CvvWI2x9.js} +4 -4
  268. package/dist/esm/{app-globals-lFdBwFG2.js.map → app-globals-CvvWI2x9.js.map} +1 -1
  269. package/dist/esm/{base-DiSQvfGU.js → base-BARjFMg1.js} +5 -5
  270. package/dist/esm/{base-DiSQvfGU.js.map → base-BARjFMg1.js.map} +1 -1
  271. package/dist/esm/{base-D8GcFhvD.js → base-BbVXW6YI.js} +4 -4
  272. package/dist/{kolibri/base-D8GcFhvD.js.map → esm/base-BbVXW6YI.js.map} +1 -1
  273. package/dist/esm/{base-B5F8ROuQ.js → base-D8yYjJsn.js} +4 -4
  274. package/dist/esm/{base-B5F8ROuQ.js.map → base-D8yYjJsn.js.map} +1 -1
  275. package/dist/esm/{base-BpqjfzG1.js → base-Dvr4F_Pr.js} +16 -16
  276. package/dist/{kolibri/base-BpqjfzG1.js.map → esm/base-Dvr4F_Pr.js.map} +1 -1
  277. package/dist/esm/{base-web-component-CkaKv7O0.js → base-web-component-BzB5tP9s.js} +16 -9
  278. package/dist/esm/base-web-component-BzB5tP9s.js.map +1 -0
  279. package/dist/esm/{base-web-component-BozlJoj7.js → base-web-component-DU3hnIWD.js} +7 -7
  280. package/dist/esm/{base-web-component-BozlJoj7.js.map → base-web-component-DU3hnIWD.js.map} +1 -1
  281. package/dist/esm/{behavior-BuNqmjz8.js → behavior-CbqCHL6O.js} +3 -3
  282. package/dist/esm/{behavior-BuNqmjz8.js.map → behavior-CbqCHL6O.js.map} +1 -1
  283. package/dist/esm/{color-Du3Ft0XV.js → color-QYuhlVFz.js} +3 -3
  284. package/dist/esm/{color-Du3Ft0XV.js.map → color-QYuhlVFz.js.map} +1 -1
  285. package/dist/esm/{component-Da5dJMKj.js → component-BaD1OTyv.js} +5 -5
  286. package/dist/{kolibri/component-Da5dJMKj.js.map → esm/component-BaD1OTyv.js.map} +1 -1
  287. package/dist/esm/{component-DD5QqT5m.js → component-BjWF1SyZ.js} +7 -7
  288. package/dist/esm/{component-DD5QqT5m.js.map → component-BjWF1SyZ.js.map} +1 -1
  289. package/dist/esm/{component-Bd7PXqOG.js → component-Ch6fss2f.js} +5 -5
  290. package/dist/esm/{component-Bd7PXqOG.js.map → component-Ch6fss2f.js.map} +1 -1
  291. package/dist/esm/{component-C3aqLFK2.js → component-CmBM-Y1C.js} +7 -7
  292. package/dist/esm/{component-C3aqLFK2.js.map → component-CmBM-Y1C.js.map} +1 -1
  293. package/dist/esm/{component-xrrwVuiI.js → component-CvhmYY4a.js} +4 -4
  294. package/dist/esm/{component-xrrwVuiI.js.map → component-CvhmYY4a.js.map} +1 -1
  295. package/dist/esm/{component-De6Do_gt.js → component-D0iTurA_.js} +3 -3
  296. package/dist/esm/{component-De6Do_gt.js.map → component-D0iTurA_.js.map} +1 -1
  297. package/dist/esm/{component-BjH8s4-t.js → component-DKS73hKY.js} +3 -3
  298. package/dist/{kolibri/component-BjH8s4-t.js.map → esm/component-DKS73hKY.js.map} +1 -1
  299. package/dist/esm/{component-BxKN0JbT.js → component-DhBTawyT.js} +3 -3
  300. package/dist/esm/{component-BxKN0JbT.js.map → component-DhBTawyT.js.map} +1 -1
  301. package/dist/esm/{component-CWGVLsSH.js → component-G9vQ1mQA.js} +4 -4
  302. package/dist/{kolibri/component-CWGVLsSH.js.map → esm/component-G9vQ1mQA.js.map} +1 -1
  303. package/dist/esm/{component-D_58mw87.js → component-QCFfSS76.js} +4 -4
  304. package/dist/{kolibri/component-D_58mw87.js.map → esm/component-QCFfSS76.js.map} +1 -1
  305. package/dist/esm/{component-BKOep2WQ.js → component-d1d-AIsY.js} +5 -5
  306. package/dist/{kolibri/component-BKOep2WQ.js.map → esm/component-d1d-AIsY.js.map} +1 -1
  307. package/dist/esm/{component-C9DexidK.js → component-sf_0WjJF.js} +3 -3
  308. package/dist/esm/{component-C9DexidK.js.map → component-sf_0WjJF.js.map} +1 -1
  309. package/dist/esm/{contrast-BKAJJL2K.js → contrast-DMN9saXP.js} +3 -12
  310. package/dist/esm/contrast-DMN9saXP.js.map +1 -0
  311. package/dist/esm/{dev.utils-CYtV9X0K.js → dev.utils-BGy8dbtQ.js} +3 -3
  312. package/dist/esm/{dev.utils-CYtV9X0K.js.map → dev.utils-BGy8dbtQ.js.map} +1 -1
  313. package/dist/esm/{devtools-B0qRaQdp.js → devtools-CZ8Mnmwl.js} +4 -4
  314. package/dist/{kolibri/devtools-B0qRaQdp.js.map → esm/devtools-CZ8Mnmwl.js.map} +1 -1
  315. package/dist/esm/{field-control-C5hjw2Rb.js → field-control-CLnFuMmy.js} +8 -8
  316. package/dist/{kolibri/field-control-C5hjw2Rb.js.map → esm/field-control-CLnFuMmy.js.map} +1 -1
  317. package/dist/esm/{group-2hP8qbvk.js → group-BAOmF5Ok.js} +5 -5
  318. package/dist/esm/{group-2hP8qbvk.js.map → group-BAOmF5Ok.js.map} +1 -1
  319. package/dist/esm/{index-DsCeQ9Ys.js → index-DAKQV03B.js} +3 -3
  320. package/dist/{kolibri/index-DsCeQ9Ys.js.map → esm/index-DAKQV03B.js.map} +1 -1
  321. package/dist/esm/{input-Dp5NBocQ.js → input-D2i1QEbL.js} +5 -5
  322. package/dist/esm/{input-Dp5NBocQ.js.map → input-D2i1QEbL.js.map} +1 -1
  323. package/dist/esm/{input-container-QA8-0_0p.js → input-container-wQm8-W3s.js} +7 -7
  324. package/dist/esm/{input-container-QA8-0_0p.js.map → input-container-wQm8-W3s.js.map} +1 -1
  325. package/dist/esm/{item-BIjqEkyy.js → item-DJ8LXOMv.js} +8 -8
  326. package/dist/{kolibri/item-BIjqEkyy.js.map → esm/item-DJ8LXOMv.js.map} +1 -1
  327. package/dist/esm/{item-CXyolUj2.js → item-DbLIGnc9.js} +4 -4
  328. package/dist/{kolibri/item-CXyolUj2.js.map → esm/item-DbLIGnc9.js.map} +1 -1
  329. package/dist/esm/{item-CaxJw3ad.js → item-Dkm57tce.js} +4 -4
  330. package/dist/esm/{item-CaxJw3ad.js.map → item-Dkm57tce.js.map} +1 -1
  331. package/dist/esm/{item-DY0fVVnj.js → item-DuBSR8BS.js} +3 -3
  332. package/dist/esm/{item-DY0fVVnj.js.map → item-DuBSR8BS.js.map} +1 -1
  333. package/dist/esm/kol-abbr.entry.js +2 -2
  334. package/dist/esm/kol-accordion.entry.js +7 -7
  335. package/dist/esm/kol-alert.entry.js +11 -11
  336. package/dist/esm/kol-avatar.entry.js +3 -3
  337. package/dist/esm/kol-badge.entry.js +12 -12
  338. package/dist/esm/kol-breadcrumb.entry.js +9 -9
  339. package/dist/esm/kol-button-link.entry.js +10 -10
  340. package/dist/esm/kol-button.entry.js +10 -10
  341. package/dist/esm/kol-card.entry.js +11 -11
  342. package/dist/esm/kol-click-button.entry.js +2 -2
  343. package/dist/esm/kol-combobox.entry.js +18 -18
  344. package/dist/esm/kol-details.entry.js +7 -7
  345. package/dist/esm/kol-dialog.entry.js +13 -13
  346. package/dist/esm/kol-drawer.entry.js +12 -12
  347. package/dist/esm/kol-form.entry.js +12 -12
  348. package/dist/esm/kol-heading.entry.js +1 -1
  349. package/dist/esm/kol-icon.entry.js +3 -3
  350. package/dist/esm/kol-image.entry.js +1 -1
  351. package/dist/esm/kol-input-checkbox.entry.js +17 -17
  352. package/dist/esm/kol-input-color.entry.js +18 -18
  353. package/dist/esm/kol-input-date.entry.js +18 -18
  354. package/dist/esm/kol-input-email.entry.js +20 -20
  355. package/dist/esm/kol-input-file.entry.js +17 -17
  356. package/dist/esm/kol-input-number.entry.js +18 -18
  357. package/dist/esm/kol-input-password.entry.js +22 -22
  358. package/dist/esm/kol-input-password.entry.js.map +1 -1
  359. package/dist/esm/kol-input-radio.entry.js +17 -17
  360. package/dist/esm/kol-input-range.entry.js +18 -18
  361. package/dist/esm/kol-input-text.entry.js +20 -20
  362. package/dist/esm/kol-kolibri.entry.js +2 -2
  363. package/dist/esm/kol-link-button.entry.js +10 -10
  364. package/dist/esm/kol-link.entry.js +10 -10
  365. package/dist/esm/kol-meter.entry.js +1 -1
  366. package/dist/esm/kol-modal.entry.js +13 -13
  367. package/dist/esm/kol-nav.entry.js +13 -13
  368. package/dist/esm/kol-pagination.entry.js +18 -18
  369. package/dist/esm/kol-popover-button.entry.js +12 -13
  370. package/dist/esm/kol-popover-button.entry.js.map +1 -1
  371. package/dist/esm/kol-progress.entry.js +1 -1
  372. package/dist/esm/kol-quote.entry.js +1 -1
  373. package/dist/esm/kol-select.entry.js +17 -17
  374. package/dist/esm/kol-single-select.entry.js +18 -18
  375. package/dist/esm/kol-skeleton.entry.js +2 -2
  376. package/dist/esm/kol-skip-nav.entry.js +9 -9
  377. package/dist/esm/kol-spin.entry.js +3 -3
  378. package/dist/esm/kol-split-button.entry.js +12 -12
  379. package/dist/esm/kol-table-stateful.entry.js +25 -25
  380. package/dist/esm/kol-table-stateless.entry.js +19 -19
  381. package/dist/esm/kol-tabs.entry.js +9 -9
  382. package/dist/esm/kol-textarea.entry.js +20 -20
  383. package/dist/esm/kol-textarea.entry.js.map +1 -1
  384. package/dist/esm/kol-toast-container.entry.js +11 -11
  385. package/dist/esm/kol-toolbar.entry.js +33 -14
  386. package/dist/esm/kol-toolbar.entry.js.map +1 -1
  387. package/dist/esm/kol-tooltip-wc.entry.js +4 -4
  388. package/dist/esm/kol-tree-item.entry.js +9 -9
  389. package/dist/esm/kol-tree.entry.js +1 -1
  390. package/dist/esm/kol-version.entry.js +10 -10
  391. package/dist/esm/kolibri.js +3 -3
  392. package/dist/esm/loader.js +3 -3
  393. package/dist/esm/{resolve-props-DJxTzf-G.js → resolve-props-BTiKxg-8.js} +3 -3
  394. package/dist/{kolibri/resolve-props-DJxTzf-G.js.map → esm/resolve-props-BTiKxg-8.js.map} +1 -1
  395. package/dist/esm/{scroll-lock-BN6ZnBdc.js → scroll-lock-DRNyw9qH.js} +3 -3
  396. package/dist/{kolibri/scroll-lock-BN6ZnBdc.js.map → esm/scroll-lock-DRNyw9qH.js.map} +1 -1
  397. package/dist/esm/{suggestions-DlpHvEGv.js → suggestions-CG-TuGC4.js} +4 -4
  398. package/dist/esm/{suggestions-DlpHvEGv.js.map → suggestions-CG-TuGC4.js.map} +1 -1
  399. package/dist/esm/test-component.entry.js +1 -1
  400. package/dist/esm/{toggle-handler-Xex3lIll.js → toggle-handler-aTxO0Wem.js} +5 -5
  401. package/dist/{kolibri/toggle-handler-Xex3lIll.js.map → esm/toggle-handler-aTxO0Wem.js.map} +1 -1
  402. package/dist/kolibri/{Heading-DXl16qig.js → Heading-BctDgC7M.js} +2 -2
  403. package/dist/kolibri/{Heading-DXl16qig.js.map → Heading-BctDgC7M.js.map} +1 -1
  404. package/dist/kolibri/api-B6fEjFVl.js +5 -0
  405. package/dist/{esm/api-C8TfIYlY.js.map → kolibri/api-B6fEjFVl.js.map} +1 -1
  406. package/dist/kolibri/api-T-JuZMlj.js +5 -0
  407. package/dist/kolibri/{api-BA-AFr5H.js.map → api-T-JuZMlj.js.map} +1 -1
  408. package/dist/kolibri/app-globals-CvvWI2x9.js +5 -0
  409. package/dist/kolibri/{app-globals-lFdBwFG2.js.map → app-globals-CvvWI2x9.js.map} +1 -1
  410. package/dist/kolibri/base-BARjFMg1.js +5 -0
  411. package/dist/kolibri/{base-DiSQvfGU.js.map → base-BARjFMg1.js.map} +1 -1
  412. package/dist/kolibri/{base-D8GcFhvD.js → base-BbVXW6YI.js} +2 -2
  413. package/dist/{esm/base-D8GcFhvD.js.map → kolibri/base-BbVXW6YI.js.map} +1 -1
  414. package/dist/kolibri/{base-B5F8ROuQ.js → base-D8yYjJsn.js} +2 -2
  415. package/dist/kolibri/{base-B5F8ROuQ.js.map → base-D8yYjJsn.js.map} +1 -1
  416. package/dist/kolibri/base-Dvr4F_Pr.js +5 -0
  417. package/dist/{esm/base-BpqjfzG1.js.map → kolibri/base-Dvr4F_Pr.js.map} +1 -1
  418. package/dist/kolibri/base-web-component-BzB5tP9s.js +5 -0
  419. package/dist/kolibri/base-web-component-BzB5tP9s.js.map +1 -0
  420. package/dist/kolibri/{base-web-component-BozlJoj7.js → base-web-component-DU3hnIWD.js} +2 -2
  421. package/dist/kolibri/{base-web-component-BozlJoj7.js.map → base-web-component-DU3hnIWD.js.map} +1 -1
  422. package/dist/kolibri/{behavior-BuNqmjz8.js → behavior-CbqCHL6O.js} +2 -2
  423. package/dist/kolibri/{behavior-BuNqmjz8.js.map → behavior-CbqCHL6O.js.map} +1 -1
  424. package/dist/kolibri/{color-Du3Ft0XV.js → color-QYuhlVFz.js} +2 -2
  425. package/dist/kolibri/{color-Du3Ft0XV.js.map → color-QYuhlVFz.js.map} +1 -1
  426. package/dist/kolibri/component-BaD1OTyv.js +5 -0
  427. package/dist/{esm/component-Da5dJMKj.js.map → kolibri/component-BaD1OTyv.js.map} +1 -1
  428. package/dist/kolibri/{component-DD5QqT5m.js → component-BjWF1SyZ.js} +2 -2
  429. package/dist/kolibri/{component-DD5QqT5m.js.map → component-BjWF1SyZ.js.map} +1 -1
  430. package/dist/kolibri/{component-Bd7PXqOG.js → component-Ch6fss2f.js} +2 -2
  431. package/dist/kolibri/{component-Bd7PXqOG.js.map → component-Ch6fss2f.js.map} +1 -1
  432. package/dist/kolibri/component-CmBM-Y1C.js +5 -0
  433. package/dist/kolibri/{component-C3aqLFK2.js.map → component-CmBM-Y1C.js.map} +1 -1
  434. package/dist/kolibri/component-CvhmYY4a.js +5 -0
  435. package/dist/kolibri/{component-xrrwVuiI.js.map → component-CvhmYY4a.js.map} +1 -1
  436. package/dist/kolibri/component-D0iTurA_.js +5 -0
  437. package/dist/kolibri/{component-De6Do_gt.js.map → component-D0iTurA_.js.map} +1 -1
  438. package/dist/kolibri/{component-BjH8s4-t.js → component-DKS73hKY.js} +2 -2
  439. package/dist/{esm/component-BjH8s4-t.js.map → kolibri/component-DKS73hKY.js.map} +1 -1
  440. package/dist/kolibri/component-DhBTawyT.js +5 -0
  441. package/dist/kolibri/{component-BxKN0JbT.js.map → component-DhBTawyT.js.map} +1 -1
  442. package/dist/kolibri/{component-CWGVLsSH.js → component-G9vQ1mQA.js} +2 -2
  443. package/dist/{esm/component-CWGVLsSH.js.map → kolibri/component-G9vQ1mQA.js.map} +1 -1
  444. package/dist/kolibri/{component-D_58mw87.js → component-QCFfSS76.js} +2 -2
  445. package/dist/{esm/component-D_58mw87.js.map → kolibri/component-QCFfSS76.js.map} +1 -1
  446. package/dist/kolibri/{component-BKOep2WQ.js → component-d1d-AIsY.js} +2 -2
  447. package/dist/{esm/component-BKOep2WQ.js.map → kolibri/component-d1d-AIsY.js.map} +1 -1
  448. package/dist/kolibri/{component-C9DexidK.js → component-sf_0WjJF.js} +2 -2
  449. package/dist/kolibri/{component-C9DexidK.js.map → component-sf_0WjJF.js.map} +1 -1
  450. package/dist/kolibri/contrast-DMN9saXP.js +5 -0
  451. package/dist/kolibri/contrast-DMN9saXP.js.map +1 -0
  452. package/dist/kolibri/{dev.utils-CYtV9X0K.js → dev.utils-BGy8dbtQ.js} +2 -2
  453. package/dist/kolibri/{dev.utils-CYtV9X0K.js.map → dev.utils-BGy8dbtQ.js.map} +1 -1
  454. package/dist/kolibri/devtools-CZ8Mnmwl.js +5 -0
  455. package/dist/{esm/devtools-B0qRaQdp.js.map → kolibri/devtools-CZ8Mnmwl.js.map} +1 -1
  456. package/dist/kolibri/field-control-CLnFuMmy.js +5 -0
  457. package/dist/{esm/field-control-C5hjw2Rb.js.map → kolibri/field-control-CLnFuMmy.js.map} +1 -1
  458. package/dist/kolibri/{group-2hP8qbvk.js → group-BAOmF5Ok.js} +2 -2
  459. package/dist/kolibri/{group-2hP8qbvk.js.map → group-BAOmF5Ok.js.map} +1 -1
  460. package/dist/kolibri/{index-DsCeQ9Ys.js → index-DAKQV03B.js} +2 -2
  461. package/dist/{esm/index-DsCeQ9Ys.js.map → kolibri/index-DAKQV03B.js.map} +1 -1
  462. package/dist/kolibri/input-D2i1QEbL.js +5 -0
  463. package/dist/kolibri/{input-Dp5NBocQ.js.map → input-D2i1QEbL.js.map} +1 -1
  464. package/dist/kolibri/{input-container-QA8-0_0p.js → input-container-wQm8-W3s.js} +2 -2
  465. package/dist/kolibri/{input-container-QA8-0_0p.js.map → input-container-wQm8-W3s.js.map} +1 -1
  466. package/dist/kolibri/{item-BIjqEkyy.js → item-DJ8LXOMv.js} +2 -2
  467. package/dist/{esm/item-BIjqEkyy.js.map → kolibri/item-DJ8LXOMv.js.map} +1 -1
  468. package/dist/kolibri/item-DbLIGnc9.js +5 -0
  469. package/dist/{esm/item-CXyolUj2.js.map → kolibri/item-DbLIGnc9.js.map} +1 -1
  470. package/dist/kolibri/{item-CaxJw3ad.js → item-Dkm57tce.js} +2 -2
  471. package/dist/kolibri/{item-CaxJw3ad.js.map → item-Dkm57tce.js.map} +1 -1
  472. package/dist/kolibri/{item-DY0fVVnj.js → item-DuBSR8BS.js} +2 -2
  473. package/dist/kolibri/{item-DY0fVVnj.js.map → item-DuBSR8BS.js.map} +1 -1
  474. package/dist/kolibri/kol-abbr.entry.js +1 -1
  475. package/dist/kolibri/kol-accordion.entry.js +1 -1
  476. package/dist/kolibri/kol-alert.entry.js +1 -1
  477. package/dist/kolibri/kol-avatar.entry.js +1 -1
  478. package/dist/kolibri/kol-badge.entry.js +1 -1
  479. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  480. package/dist/kolibri/kol-button-link.entry.js +1 -1
  481. package/dist/kolibri/kol-button.entry.js +1 -1
  482. package/dist/kolibri/kol-card.entry.js +1 -1
  483. package/dist/kolibri/kol-click-button.entry.js +1 -1
  484. package/dist/kolibri/kol-combobox.entry.js +1 -1
  485. package/dist/kolibri/kol-combobox.entry.js.map +1 -1
  486. package/dist/kolibri/kol-details.entry.js +1 -1
  487. package/dist/kolibri/kol-dialog.entry.js +1 -1
  488. package/dist/kolibri/kol-drawer.entry.js +1 -1
  489. package/dist/kolibri/kol-form.entry.js +1 -1
  490. package/dist/kolibri/kol-heading.entry.js +1 -1
  491. package/dist/kolibri/kol-icon.entry.js +1 -1
  492. package/dist/kolibri/kol-image.entry.js +1 -1
  493. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  494. package/dist/kolibri/kol-input-color.entry.js +1 -1
  495. package/dist/kolibri/kol-input-date.entry.js +1 -1
  496. package/dist/kolibri/kol-input-email.entry.js +1 -1
  497. package/dist/kolibri/kol-input-file.entry.js +1 -1
  498. package/dist/kolibri/kol-input-number.entry.js +1 -1
  499. package/dist/kolibri/kol-input-password.entry.esm.js.map +1 -1
  500. package/dist/kolibri/kol-input-password.entry.js +1 -1
  501. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  502. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  503. package/dist/kolibri/kol-input-range.entry.js +1 -1
  504. package/dist/kolibri/kol-input-text.entry.js +1 -1
  505. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  506. package/dist/kolibri/kol-link-button.entry.js +1 -1
  507. package/dist/kolibri/kol-link.entry.js +1 -1
  508. package/dist/kolibri/kol-meter.entry.js +1 -1
  509. package/dist/kolibri/kol-modal.entry.js +1 -1
  510. package/dist/kolibri/kol-nav.entry.js +1 -1
  511. package/dist/kolibri/kol-pagination.entry.js +1 -1
  512. package/dist/kolibri/kol-popover-button.entry.esm.js.map +1 -1
  513. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  514. package/dist/kolibri/kol-popover-button.entry.js.map +1 -1
  515. package/dist/kolibri/kol-progress.entry.js +1 -1
  516. package/dist/kolibri/kol-quote.entry.js +1 -1
  517. package/dist/kolibri/kol-select.entry.js +1 -1
  518. package/dist/kolibri/kol-single-select.entry.js +1 -1
  519. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  520. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  521. package/dist/kolibri/kol-spin.entry.js +1 -1
  522. package/dist/kolibri/kol-split-button.entry.js +1 -1
  523. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  524. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  525. package/dist/kolibri/kol-tabs.entry.js +1 -1
  526. package/dist/kolibri/kol-textarea.entry.esm.js.map +1 -1
  527. package/dist/kolibri/kol-textarea.entry.js +1 -1
  528. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  529. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  530. package/dist/kolibri/kol-toolbar.entry.esm.js.map +1 -1
  531. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  532. package/dist/kolibri/kol-toolbar.entry.js.map +1 -1
  533. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  534. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  535. package/dist/kolibri/kol-tree.entry.js +1 -1
  536. package/dist/kolibri/kol-version.entry.js +1 -1
  537. package/dist/kolibri/kol-version.entry.js.map +1 -1
  538. package/dist/kolibri/kolibri.esm.js +1 -1
  539. package/dist/kolibri/resolve-props-BTiKxg-8.js +5 -0
  540. package/dist/{esm/resolve-props-DJxTzf-G.js.map → kolibri/resolve-props-BTiKxg-8.js.map} +1 -1
  541. package/dist/kolibri/{scroll-lock-BN6ZnBdc.js → scroll-lock-DRNyw9qH.js} +2 -2
  542. package/dist/{esm/scroll-lock-BN6ZnBdc.js.map → kolibri/scroll-lock-DRNyw9qH.js.map} +1 -1
  543. package/dist/kolibri/suggestions-CG-TuGC4.js +5 -0
  544. package/dist/kolibri/{suggestions-DlpHvEGv.js.map → suggestions-CG-TuGC4.js.map} +1 -1
  545. package/dist/kolibri/test-component.entry.js +1 -1
  546. package/dist/kolibri/toggle-handler-aTxO0Wem.js +5 -0
  547. package/dist/{esm/toggle-handler-Xex3lIll.js.map → kolibri/toggle-handler-aTxO0Wem.js.map} +1 -1
  548. package/dist/types/components/toolbar/component.d.ts +2 -2
  549. package/dist/types/components.d.ts +0 -2
  550. package/dist/types/internal/functional-components/form-field/textarea.d.ts +1 -0
  551. package/dist/types/internal/functional-components/toolbar/api.d.ts +2 -2
  552. package/dist/types/internal/functional-components/toolbar/item.d.ts +5 -2
  553. package/dist/types/schema/props/toolbar-items.d.ts +3 -1
  554. package/doc/popover-button.md +1 -1
  555. package/package.json +1 -1
  556. package/dist/cjs/base-web-component-C8MLLGxi.js.map +0 -1
  557. package/dist/cjs/contrast-kLMuDQLl.js.map +0 -1
  558. package/dist/esm/base-web-component-CkaKv7O0.js.map +0 -1
  559. package/dist/esm/contrast-BKAJJL2K.js.map +0 -1
  560. package/dist/kolibri/api-BA-AFr5H.js +0 -5
  561. package/dist/kolibri/api-C8TfIYlY.js +0 -5
  562. package/dist/kolibri/app-globals-lFdBwFG2.js +0 -5
  563. package/dist/kolibri/base-BpqjfzG1.js +0 -5
  564. package/dist/kolibri/base-DiSQvfGU.js +0 -5
  565. package/dist/kolibri/base-web-component-CkaKv7O0.js +0 -5
  566. package/dist/kolibri/base-web-component-CkaKv7O0.js.map +0 -1
  567. package/dist/kolibri/component-BxKN0JbT.js +0 -5
  568. package/dist/kolibri/component-C3aqLFK2.js +0 -5
  569. package/dist/kolibri/component-Da5dJMKj.js +0 -5
  570. package/dist/kolibri/component-De6Do_gt.js +0 -5
  571. package/dist/kolibri/component-xrrwVuiI.js +0 -5
  572. package/dist/kolibri/contrast-BKAJJL2K.js +0 -5
  573. package/dist/kolibri/contrast-BKAJJL2K.js.map +0 -1
  574. package/dist/kolibri/devtools-B0qRaQdp.js +0 -5
  575. package/dist/kolibri/field-control-C5hjw2Rb.js +0 -5
  576. package/dist/kolibri/input-Dp5NBocQ.js +0 -5
  577. package/dist/kolibri/item-CXyolUj2.js +0 -5
  578. package/dist/kolibri/resolve-props-DJxTzf-G.js +0 -5
  579. package/dist/kolibri/suggestions-DlpHvEGv.js +0 -5
  580. package/dist/kolibri/toggle-handler-Xex3lIll.js +0 -5
@@ -2,11 +2,11 @@
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
4
  import { a as __rest } from './tslib.es6-QNbPBOk5.js';
5
- import { h, F as Fragment } from './index-DsCeQ9Ys.js';
5
+ import { h, F as Fragment } from './index-DAKQV03B.js';
6
6
  import './common-BqpMtheU.js';
7
- import { i as isMsgDefinedAndInputTouched, g as getMsgType, c as getDefaultInputProps } from './api-C8TfIYlY.js';
7
+ import { i as isMsgDefinedAndInputTouched, g as getMsgType, c as getDefaultInputProps } from './api-B6fEjFVl.js';
8
8
  import { c as clsx } from './clsx-COFh-Vc8.js';
9
- import { a as createRelatedUniqueId } from './dev.utils-CYtV9X0K.js';
9
+ import { a as createRelatedUniqueId } from './dev.utils-BGy8dbtQ.js';
10
10
  import { g as getBlockBem } from './block-bem-DxQXsOt3.js';
11
11
 
12
12
  const InputFC = (props) => {
@@ -16,6 +16,6 @@ const InputFC = (props) => {
16
16
  };
17
17
 
18
18
  export { InputFC as I };
19
- //# sourceMappingURL=input-Dp5NBocQ.js.map
19
+ //# sourceMappingURL=input-D2i1QEbL.js.map
20
20
 
21
- //# sourceMappingURL=input-Dp5NBocQ.js.map
21
+ //# sourceMappingURL=input-D2i1QEbL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-Dp5NBocQ.js","sources":["src/internal/functional-components/form-field/input.tsx"],"sourcesContent":["import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../../schema';\nimport clsx from '../../../utils/clsx';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\nimport { getBlockBem } from '../bem-root-node/block-bem';\nimport type { DefaultInputProps } from './default-input-props';\nimport { getDefaultInputProps } from './default-input-props';\n\n/**\n * Stencil only writes a property whose value changed: `null` writes the empty value on the first\n * render, `undefined` leaves the native default untouched. A range input, for example, falls back to\n * the middle of its range only when its value is written.\n */\ntype NullableNativeValue = string | number | null;\n\nexport type InputFCProps = Omit<DefaultInputProps<JSXBase.InputHTMLAttributes<HTMLInputElement>>, 'max' | 'min' | 'step'> & {\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n\tspellcheck?: boolean;\n\t/** Rendered after the input; the input references it through `list`. */\n\tsuggestions?: VNode;\n\tmax?: NullableNativeValue;\n\tmin?: NullableNativeValue;\n\tstep?: NullableNativeValue;\n\tvalue?: NullableNativeValue | string[];\n} & {\n\t[key: `aria-${string}`]: unknown;\n\t[key: `data-${string}`]: unknown;\n};\n\n/**\n * Native `<input>` of a form field. The input itself is the root of the `kol-input` block, so the\n * block classes are set on it directly instead of through `BemRootNodeFC`.\n */\nexport const InputFC: FC<InputFCProps> = (props) => {\n\tconst { class: classNames, msg, required, disabled, touched, readonly, ariaDescribedBy, hideLabel, label, suggestions, value, ...other } = props;\n\n\tconst inputProps: JSXBase.InputHTMLAttributes<HTMLInputElement> = {\n\t\tclass: clsx(\n\t\t\tgetBlockBem('kol-input')({\n\t\t\t\tdisabled: Boolean(disabled),\n\t\t\t\trequired: Boolean(required),\n\t\t\t\ttouched: Boolean(touched),\n\t\t\t\treadonly: Boolean(readonly),\n\t\t\t\t...(isMsgDefinedAndInputTouched(msg, touched) ? { [getMsgType(msg) as string]: true } : {}),\n\t\t\t}),\n\t\t\tclassNames,\n\t\t),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\treadonly: readonly,\n\t\ttype: 'text',\n\t\tlist: suggestions && typeof other.id === 'string' ? createRelatedUniqueId(other.id, 'list') : undefined,\n\t\t...getDefaultInputProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...(other as JSXBase.InputHTMLAttributes<HTMLInputElement>),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<input {...inputProps} value={value as JSXBase.InputHTMLAttributes<HTMLInputElement>['value']} />\n\t\t\t{suggestions}\n\t\t</>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAmCa,MAAA,OAAO,GAAqB,CAAC,KAAK,KAAI;IAClD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAA,GAAe,KAAK,EAAf,KAAK,GAAK,MAAA,CAAA,KAAK,EAA1I,CAAA,OAAA,EAAA,KAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,aAAA,EAAA,OAAA,CAAkI,CAAQ;AAEhJ,IAAA,MAAM,UAAU,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACf,KAAK,EAAE,IAAI,CACV,WAAW,CAAC,WAAW,CAAC,CACvB,MAAA,CAAA,MAAA,CAAA,EAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EACxB,GAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EACzF,CAAA,EACF,UAAU,CACV,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,SAAS,EACpG,EAAA,oBAAoB,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA,EAC1D,KAAuD,CAC3D;AAED,IAAA,QACC,CAAA,CAAA,QAAA,EAAA,IAAA,EACC,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAW,UAAU,EAAA,EAAE,KAAK,EAAE,KAA+D,EAAI,CAAA,CAAA,EAChG,WAAW,CACV;AAEL;;;;"}
1
+ {"version":3,"file":"input-D2i1QEbL.js","sources":["src/internal/functional-components/form-field/input.tsx"],"sourcesContent":["import { Fragment, h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../../schema';\nimport clsx from '../../../utils/clsx';\nimport { createRelatedUniqueId } from '../../../utils/dev.utils';\nimport { getBlockBem } from '../bem-root-node/block-bem';\nimport type { DefaultInputProps } from './default-input-props';\nimport { getDefaultInputProps } from './default-input-props';\n\n/**\n * Stencil only writes a property whose value changed: `null` writes the empty value on the first\n * render, `undefined` leaves the native default untouched. A range input, for example, falls back to\n * the middle of its range only when its value is written.\n */\ntype NullableNativeValue = string | number | null;\n\nexport type InputFCProps = Omit<DefaultInputProps<JSXBase.InputHTMLAttributes<HTMLInputElement>>, 'max' | 'min' | 'step'> & {\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n\tspellcheck?: boolean;\n\t/** Rendered after the input; the input references it through `list`. */\n\tsuggestions?: VNode;\n\tmax?: NullableNativeValue;\n\tmin?: NullableNativeValue;\n\tstep?: NullableNativeValue;\n\tvalue?: NullableNativeValue | string[];\n} & {\n\t[key: `aria-${string}`]: unknown;\n\t[key: `data-${string}`]: unknown;\n};\n\n/**\n * Native `<input>` of a form field. The input itself is the root of the `kol-input` block, so the\n * block classes are set on it directly instead of through `BemRootNodeFC`.\n */\nexport const InputFC: FC<InputFCProps> = (props) => {\n\tconst { class: classNames, msg, required, disabled, touched, readonly, ariaDescribedBy, hideLabel, label, suggestions, value, ...other } = props;\n\n\tconst inputProps: JSXBase.InputHTMLAttributes<HTMLInputElement> = {\n\t\tclass: clsx(\n\t\t\tgetBlockBem('kol-input')({\n\t\t\t\tdisabled: Boolean(disabled),\n\t\t\t\trequired: Boolean(required),\n\t\t\t\ttouched: Boolean(touched),\n\t\t\t\treadonly: Boolean(readonly),\n\t\t\t\t...(isMsgDefinedAndInputTouched(msg, touched) ? { [getMsgType(msg) as string]: true } : {}),\n\t\t\t}),\n\t\t\tclassNames,\n\t\t),\n\t\trequired: required,\n\t\tdisabled: disabled,\n\t\treadonly: readonly,\n\t\ttype: 'text',\n\t\tlist: suggestions && typeof other.id === 'string' ? createRelatedUniqueId(other.id, 'list') : undefined,\n\t\t...getDefaultInputProps({ ariaDescribedBy, hideLabel, label }),\n\t\t...(other as JSXBase.InputHTMLAttributes<HTMLInputElement>),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<input {...inputProps} value={value as JSXBase.InputHTMLAttributes<HTMLInputElement>['value']} />\n\t\t\t{suggestions}\n\t\t</>\n\t);\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAmCa,MAAA,OAAO,GAAqB,CAAC,KAAK,KAAI;IAClD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAA,GAAe,KAAK,EAAf,KAAK,GAAK,MAAA,CAAA,KAAK,EAA1I,CAAA,OAAA,EAAA,KAAA,EAAA,UAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,OAAA,EAAA,aAAA,EAAA,OAAA,CAAkI,CAAQ;AAEhJ,IAAA,MAAM,UAAU,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EACf,KAAK,EAAE,IAAI,CACV,WAAW,CAAC,WAAW,CAAC,CACvB,MAAA,CAAA,MAAA,CAAA,EAAA,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EACxB,GAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EACzF,CAAA,EACF,UAAU,CACV,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,SAAS,EACpG,EAAA,oBAAoB,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA,EAC1D,KAAuD,CAC3D;AAED,IAAA,QACC,CAAA,CAAA,QAAA,EAAA,IAAA,EACC,CAAA,CAAA,OAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAW,UAAU,EAAA,EAAE,KAAK,EAAE,KAA+D,EAAI,CAAA,CAAA,EAChG,WAAW,CACV;AAEL;;;;"}
@@ -3,14 +3,14 @@
3
3
  */
4
4
  import { F as isStyle, D as isString, j as isObject, p as parseJson } from './common-BqpMtheU.js';
5
5
  import { c as createPropDefinition } from './base-web-component-3R1Dy3QK.js';
6
- import { h } from './index-DsCeQ9Ys.js';
7
- import { B as ButtonFC } from './component-C3aqLFK2.js';
8
- import { I as IconFC } from './component-BjH8s4-t.js';
6
+ import { h } from './index-DAKQV03B.js';
7
+ import { B as ButtonFC } from './component-CmBM-Y1C.js';
8
+ import { I as IconFC } from './component-DKS73hKY.js';
9
9
  import { a as __rest } from './tslib.es6-QNbPBOk5.js';
10
- import { i as isMsgDefinedAndInputTouched, g as getMsgType } from './api-C8TfIYlY.js';
10
+ import { i as isMsgDefinedAndInputTouched, g as getMsgType } from './api-B6fEjFVl.js';
11
11
  import { b as bem } from './bem-registry-CX5kvaqt.js';
12
12
  import { c as clsx } from './clsx-COFh-Vc8.js';
13
- import { B as BemRootNodeFC } from './component-BxKN0JbT.js';
13
+ import { B as BemRootNodeFC } from './component-DhBTawyT.js';
14
14
 
15
15
  const mapCustomIcon = (state, alignment, icon) => {
16
16
  if (isObject(icon)) {
@@ -98,6 +98,6 @@ const InputContainerFC = (props, children) => {
98
98
  };
99
99
 
100
100
  export { InputContainerFC as I, getInputAdornments as g, horizontalIconsProp as h };
101
- //# sourceMappingURL=input-container-QA8-0_0p.js.map
101
+ //# sourceMappingURL=input-container-wQm8-W3s.js.map
102
102
 
103
- //# sourceMappingURL=input-container-QA8-0_0p.js.map
103
+ //# sourceMappingURL=input-container-wQm8-W3s.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"input-container-QA8-0_0p.js","sources":["src/schema/props/icons.ts","src/internal/props/horizontal-icons.ts","src/internal/functional-components/form-field/adornments.tsx","src/internal/functional-components/form-field/input-container.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { AnyIconFontClass, KoliBriCustomIcon, KoliBriHorizontalIconsProp, KoliBriIconsProp, KoliBriIconsState } from '../types';\nimport type { Stringified } from '../types/common';\nimport type { WatchOptions } from '../utils';\nimport { objectObjectHandler, parseJson, watchValidator } from '../utils';\nimport { isObject, isString, isStyle } from '../validators';\n\nimport type { AlignPropType } from './align';\n\n/* types */\nexport type IconsPropType = Stringified<KoliBriIconsProp>;\nexport type IconsHorizontalPropType = Stringified<KoliBriHorizontalIconsProp>;\n\n/**\n * Defines the icon classnames.\n */\nexport type PropIcons = {\n\ticons: IconsPropType;\n};\nexport type PropHorizontalIcons = {\n\ticons: IconsHorizontalPropType;\n};\n\n/* validator */\n\nconst mapCustomIcon = (state: KoliBriIconsState, alignment: AlignPropType, icon?: AnyIconFontClass | KoliBriCustomIcon) => {\n\tif (isObject(icon)) {\n\t\tstate[alignment] = icon as KoliBriCustomIcon;\n\t} else if (isString(icon, 1)) {\n\t\tstate[alignment] = {\n\t\t\ticon: icon as AnyIconFontClass,\n\t\t};\n\t}\n};\n\nexport const mapIconProp2State = (icon: KoliBriIconsProp): KoliBriIconsState => {\n\tlet state: KoliBriIconsState = {};\n\tif (isString(icon, 1)) {\n\t\tstate = {\n\t\t\tleft: {\n\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t},\n\t\t};\n\t} else if (typeof icon === 'object' && icon !== null) {\n\t\tmapCustomIcon(state, 'top', icon.top);\n\t\tmapCustomIcon(state, 'right', icon.right);\n\t\tmapCustomIcon(state, 'bottom', icon.bottom);\n\t\tmapCustomIcon(state, 'left', icon.left);\n\t}\n\treturn state;\n};\n\nconst beforePatchIcon = (component: Generic.Element.Component): void => {\n\tif (component.nextState?.has('_icons')) {\n\t\tconst icons = component.nextState?.get('_icons') as KoliBriIconsProp;\n\t\tcomponent.nextState?.set('_icons', mapIconProp2State(icons));\n\t}\n};\n\nexport const isIcon = (value?: unknown): boolean =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t(typeof (value as KoliBriCustomIcon).style === 'undefined' || isStyle((value as KoliBriCustomIcon).style)) &&\n\t(typeof (value as KoliBriCustomIcon).label === 'undefined' || isString((value as KoliBriCustomIcon).label)) &&\n\tisString((value as KoliBriCustomIcon).icon, 1);\n\nexport const validateIcons = (component: Generic.Element.Component, value?: IconsPropType, options: WatchOptions = {}): void => {\n\tobjectObjectHandler(value, () => {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriIconsProp>(value as string);\n\t\t} catch {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(\n\t\t\tcomponent,\n\t\t\t'_icons',\n\t\t\t(value): boolean => {\n\t\t\t\tconst valueIsEmptyObject = typeof value === 'object' && value !== null && Object.keys(value).length === 0;\n\t\t\t\treturn (\n\t\t\t\t\tvalue === null ||\n\t\t\t\t\tvalueIsEmptyObject ||\n\t\t\t\t\tisString(value, 1) ||\n\t\t\t\t\t(typeof value === 'object' &&\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(isString(value.left, 0) ||\n\t\t\t\t\t\t\tisIcon(value.left) ||\n\t\t\t\t\t\t\tisString(value.right, 0) ||\n\t\t\t\t\t\t\tisIcon(value.right) ||\n\t\t\t\t\t\t\tisString(value.top, 0) ||\n\t\t\t\t\t\t\tisIcon(value.top) ||\n\t\t\t\t\t\t\tisString(value.bottom, 0) ||\n\t\t\t\t\t\t\tisIcon(value.bottom)))\n\t\t\t\t);\n\t\t\t},\n\t\t\tnew Set(['KoliBriIcon']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\tdefaultValue: {},\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: options.hooks?.afterPatch,\n\t\t\t\t\tbeforePatch: (nextValue, nextState, component, key) => {\n\t\t\t\t\t\tif (typeof options.hooks?.beforePatch === 'function') {\n\t\t\t\t\t\t\toptions.hooks?.beforePatch(nextValue, nextState, component, key);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeforePatchIcon(component);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t});\n};\n","import type { IconsHorizontalPropType, KoliBriIconsProp, KoliBriIconsState } from '../../schema';\nimport { isIcon, isString, mapIconProp2State, parseJson } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Horizontal icons prop for form fields\n *\n * Description:\n * Icons rendered at the start (`left`) and end (`right`) of an input, as an object, as a JSON\n * string when it is passed through an HTML attribute, or as a single icon class that is placed\n * on the left. The value is normalized to an icon object per position.\n *\n * Accessibility:\n * - Icons are decorative unless they carry a `label` (WCAG 1.1.1 Non-text Content)\n *\n * @see https://www.w3.org/WAI/WCAG21/Understanding/non-text-content.html\n */\nexport type HorizontalIconsProp = Prop<'icons', IconsHorizontalPropType, KoliBriIconsState>;\n\nconst isIconPosition = (value: unknown): boolean => isString(value, 0) || isIcon(value);\n\nfunction normalizeHorizontalIcons(value: unknown): KoliBriIconsState | never {\n\tlet parsed = value;\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\tparsed = parseJson<KoliBriIconsProp>(value);\n\t\t} catch {\n\t\t\t// A plain icon class is no JSON and stays a string.\n\t\t}\n\t}\n\tif (isString(parsed, 1)) {\n\t\treturn mapIconProp2State(parsed as KoliBriIconsProp);\n\t}\n\tif (typeof parsed === 'object' && parsed !== null) {\n\t\tconst icons = parsed as Record<string, unknown>;\n\t\tif (Object.keys(icons).length === 0 || ['left', 'right', 'top', 'bottom'].some((position) => isIconPosition(icons[position]))) {\n\t\t\treturn mapIconProp2State(parsed as KoliBriIconsProp);\n\t\t}\n\t}\n\tthrow new Error(`Invalid icons: ${typeof value}`);\n}\n\nexport const horizontalIconsProp = createPropDefinition<HorizontalIconsProp>('icons', {}, normalizeHorizontalIcons);\n","import { h } from '@stencil/core';\nimport type { VNode } from '@stencil/core/internal';\nimport type { IconOrIconClass, KoliBriHorizontalIcons } from '../../../schema';\nimport { ButtonFC } from '../button/component';\nimport type { ButtonItemFcProps } from '../button/item';\nimport { IconFC } from '../icon/component';\n\ntype InputAdornmentsOptions = {\n\ticons?: KoliBriHorizontalIcons;\n\t/** The smart button, resolved by `getSmartButtonFcProps` of the form field base. */\n\tsmartButton?: ButtonItemFcProps;\n\t/** Field-specific content before the left icon, e.g. the step-down button of `kol-input-number`. */\n\tstartAdornment?: VNode | null;\n\t/** Field-specific content after the smart button and the right icon, e.g. the clear button. */\n\tendAdornment?: VNode | null;\n};\n\nconst renderIcon = (icon?: IconOrIconClass): VNode | null => {\n\tif (!icon) {\n\t\treturn null;\n\t}\n\treturn typeof icon === 'string' ? (\n\t\t<IconFC class=\"kol-input-container__icon\" icons={icon} label=\"\" />\n\t) : (\n\t\t<IconFC class=\"kol-input-container__icon\" icons={icon.icon} label={icon.label ?? ''} style={icon.style} />\n\t);\n};\n\n/**\n * Adornments of `InputContainerFC`: the field-specific start content and the left icon at the start;\n * the smart button, the right icon and the field-specific end content at the end.\n */\nexport const getInputAdornments = ({\n\ticons,\n\tsmartButton,\n\tstartAdornment,\n\tendAdornment,\n}: InputAdornmentsOptions): { startAdornment: VNode[]; endAdornment: VNode[] } => ({\n\tstartAdornment: [startAdornment ?? null, renderIcon(icons?.left)].filter(Boolean) as VNode[],\n\tendAdornment: [smartButton ? <ButtonFC {...smartButton} /> : null, renderIcon(icons?.right), endAdornment ?? null].filter(Boolean) as VNode[],\n});\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../../schema';\nimport { bem } from '../../../schema/bem-registry';\nimport clsx from '../../../utils/clsx';\nimport { BemRootNodeFC } from '../bem-root-node/component';\n\nconst inputContainerBem = bem.forBlock('kol-input-container');\n\ntype InputAdornmentType = VNode | VNode[] | null;\n\nexport type InputAdornmentFCProps = JSXBase.HTMLAttributes<HTMLDivElement> & {\n\tposition?: 'start' | 'end';\n};\n\n/** Slot before or after the input, e.g. for icons or the smart button. */\nexport const InputAdornmentFC: FC<InputAdornmentFCProps> = ({ position = 'start', class: className, ...other }, children) => (\n\t<div class={clsx(inputContainerBem('adornment', { [position]: true }), className)} {...other}>\n\t\t{children}\n\t</div>\n);\n\nexport type InputContainerFCProps = JSXBase.HTMLAttributes<HTMLDivElement> & {\n\tstartAdornment?: InputAdornmentType;\n\tendAdornment?: InputAdornmentType;\n\tdisabled?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n};\n\nfunction hasItems(items?: InputAdornmentType): boolean {\n\tif (!items) {\n\t\treturn false;\n\t}\n\n\treturn Array.isArray(items) ? items.length > 0 : Boolean(items);\n}\n\n/** Box around the native control of a field. Both adornments render as soon as one of them has content. */\nexport const InputContainerFC: FC<InputContainerFCProps> = (props, children) => {\n\tconst { class: classNames, startAdornment, endAdornment, disabled, msg, touched, ...other } = props;\n\tconst withAdornments = hasItems(startAdornment) || hasItems(endAdornment);\n\n\treturn (\n\t\t<BemRootNodeFC\n\t\t\tblock=\"kol-input-container\"\n\t\t\tmodifiers={{\n\t\t\t\tdisabled: Boolean(disabled),\n\t\t\t\t...(isMsgDefinedAndInputTouched(msg, touched) ? { [getMsgType(msg) as string]: true } : {}),\n\t\t\t}}\n\t\t\tclass={classNames}\n\t\t\t{...other}\n\t\t>\n\t\t\t{withAdornments && <InputAdornmentFC position=\"start\">{startAdornment}</InputAdornmentFC>}\n\t\t\t<div class={inputContainerBem('container')}>{children}</div>\n\t\t\t{withAdornments && <InputAdornmentFC position=\"end\">{endAdornment}</InputAdornmentFC>}\n\t\t</BemRootNodeFC>\n\t);\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input-container-wQm8-W3s.js","sources":["src/schema/props/icons.ts","src/internal/props/horizontal-icons.ts","src/internal/functional-components/form-field/adornments.tsx","src/internal/functional-components/form-field/input-container.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport type { AnyIconFontClass, KoliBriCustomIcon, KoliBriHorizontalIconsProp, KoliBriIconsProp, KoliBriIconsState } from '../types';\nimport type { Stringified } from '../types/common';\nimport type { WatchOptions } from '../utils';\nimport { objectObjectHandler, parseJson, watchValidator } from '../utils';\nimport { isObject, isString, isStyle } from '../validators';\n\nimport type { AlignPropType } from './align';\n\n/* types */\nexport type IconsPropType = Stringified<KoliBriIconsProp>;\nexport type IconsHorizontalPropType = Stringified<KoliBriHorizontalIconsProp>;\n\n/**\n * Defines the icon classnames.\n */\nexport type PropIcons = {\n\ticons: IconsPropType;\n};\nexport type PropHorizontalIcons = {\n\ticons: IconsHorizontalPropType;\n};\n\n/* validator */\n\nconst mapCustomIcon = (state: KoliBriIconsState, alignment: AlignPropType, icon?: AnyIconFontClass | KoliBriCustomIcon) => {\n\tif (isObject(icon)) {\n\t\tstate[alignment] = icon as KoliBriCustomIcon;\n\t} else if (isString(icon, 1)) {\n\t\tstate[alignment] = {\n\t\t\ticon: icon as AnyIconFontClass,\n\t\t};\n\t}\n};\n\nexport const mapIconProp2State = (icon: KoliBriIconsProp): KoliBriIconsState => {\n\tlet state: KoliBriIconsState = {};\n\tif (isString(icon, 1)) {\n\t\tstate = {\n\t\t\tleft: {\n\t\t\t\ticon: icon as AnyIconFontClass,\n\t\t\t},\n\t\t};\n\t} else if (typeof icon === 'object' && icon !== null) {\n\t\tmapCustomIcon(state, 'top', icon.top);\n\t\tmapCustomIcon(state, 'right', icon.right);\n\t\tmapCustomIcon(state, 'bottom', icon.bottom);\n\t\tmapCustomIcon(state, 'left', icon.left);\n\t}\n\treturn state;\n};\n\nconst beforePatchIcon = (component: Generic.Element.Component): void => {\n\tif (component.nextState?.has('_icons')) {\n\t\tconst icons = component.nextState?.get('_icons') as KoliBriIconsProp;\n\t\tcomponent.nextState?.set('_icons', mapIconProp2State(icons));\n\t}\n};\n\nexport const isIcon = (value?: unknown): boolean =>\n\ttypeof value === 'object' &&\n\tvalue !== null &&\n\t(typeof (value as KoliBriCustomIcon).style === 'undefined' || isStyle((value as KoliBriCustomIcon).style)) &&\n\t(typeof (value as KoliBriCustomIcon).label === 'undefined' || isString((value as KoliBriCustomIcon).label)) &&\n\tisString((value as KoliBriCustomIcon).icon, 1);\n\nexport const validateIcons = (component: Generic.Element.Component, value?: IconsPropType, options: WatchOptions = {}): void => {\n\tobjectObjectHandler(value, () => {\n\t\ttry {\n\t\t\tvalue = parseJson<KoliBriIconsProp>(value as string);\n\t\t} catch {\n\t\t\t// value behält den ursprünglichen Wert\n\t\t}\n\t\twatchValidator(\n\t\t\tcomponent,\n\t\t\t'_icons',\n\t\t\t(value): boolean => {\n\t\t\t\tconst valueIsEmptyObject = typeof value === 'object' && value !== null && Object.keys(value).length === 0;\n\t\t\t\treturn (\n\t\t\t\t\tvalue === null ||\n\t\t\t\t\tvalueIsEmptyObject ||\n\t\t\t\t\tisString(value, 1) ||\n\t\t\t\t\t(typeof value === 'object' &&\n\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t(isString(value.left, 0) ||\n\t\t\t\t\t\t\tisIcon(value.left) ||\n\t\t\t\t\t\t\tisString(value.right, 0) ||\n\t\t\t\t\t\t\tisIcon(value.right) ||\n\t\t\t\t\t\t\tisString(value.top, 0) ||\n\t\t\t\t\t\t\tisIcon(value.top) ||\n\t\t\t\t\t\t\tisString(value.bottom, 0) ||\n\t\t\t\t\t\t\tisIcon(value.bottom)))\n\t\t\t\t);\n\t\t\t},\n\t\t\tnew Set(['KoliBriIcon']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\tdefaultValue: {},\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: options.hooks?.afterPatch,\n\t\t\t\t\tbeforePatch: (nextValue, nextState, component, key) => {\n\t\t\t\t\t\tif (typeof options.hooks?.beforePatch === 'function') {\n\t\t\t\t\t\t\toptions.hooks?.beforePatch(nextValue, nextState, component, key);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbeforePatchIcon(component);\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t});\n};\n","import type { IconsHorizontalPropType, KoliBriIconsProp, KoliBriIconsState } from '../../schema';\nimport { isIcon, isString, mapIconProp2State, parseJson } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Horizontal icons prop for form fields\n *\n * Description:\n * Icons rendered at the start (`left`) and end (`right`) of an input, as an object, as a JSON\n * string when it is passed through an HTML attribute, or as a single icon class that is placed\n * on the left. The value is normalized to an icon object per position.\n *\n * Accessibility:\n * - Icons are decorative unless they carry a `label` (WCAG 1.1.1 Non-text Content)\n *\n * @see https://www.w3.org/WAI/WCAG21/Understanding/non-text-content.html\n */\nexport type HorizontalIconsProp = Prop<'icons', IconsHorizontalPropType, KoliBriIconsState>;\n\nconst isIconPosition = (value: unknown): boolean => isString(value, 0) || isIcon(value);\n\nfunction normalizeHorizontalIcons(value: unknown): KoliBriIconsState | never {\n\tlet parsed = value;\n\tif (typeof value === 'string') {\n\t\ttry {\n\t\t\tparsed = parseJson<KoliBriIconsProp>(value);\n\t\t} catch {\n\t\t\t// A plain icon class is no JSON and stays a string.\n\t\t}\n\t}\n\tif (isString(parsed, 1)) {\n\t\treturn mapIconProp2State(parsed as KoliBriIconsProp);\n\t}\n\tif (typeof parsed === 'object' && parsed !== null) {\n\t\tconst icons = parsed as Record<string, unknown>;\n\t\tif (Object.keys(icons).length === 0 || ['left', 'right', 'top', 'bottom'].some((position) => isIconPosition(icons[position]))) {\n\t\t\treturn mapIconProp2State(parsed as KoliBriIconsProp);\n\t\t}\n\t}\n\tthrow new Error(`Invalid icons: ${typeof value}`);\n}\n\nexport const horizontalIconsProp = createPropDefinition<HorizontalIconsProp>('icons', {}, normalizeHorizontalIcons);\n","import { h } from '@stencil/core';\nimport type { VNode } from '@stencil/core/internal';\nimport type { IconOrIconClass, KoliBriHorizontalIcons } from '../../../schema';\nimport { ButtonFC } from '../button/component';\nimport type { ButtonItemFcProps } from '../button/item';\nimport { IconFC } from '../icon/component';\n\ntype InputAdornmentsOptions = {\n\ticons?: KoliBriHorizontalIcons;\n\t/** The smart button, resolved by `getSmartButtonFcProps` of the form field base. */\n\tsmartButton?: ButtonItemFcProps;\n\t/** Field-specific content before the left icon, e.g. the step-down button of `kol-input-number`. */\n\tstartAdornment?: VNode | null;\n\t/** Field-specific content after the smart button and the right icon, e.g. the clear button. */\n\tendAdornment?: VNode | null;\n};\n\nconst renderIcon = (icon?: IconOrIconClass): VNode | null => {\n\tif (!icon) {\n\t\treturn null;\n\t}\n\treturn typeof icon === 'string' ? (\n\t\t<IconFC class=\"kol-input-container__icon\" icons={icon} label=\"\" />\n\t) : (\n\t\t<IconFC class=\"kol-input-container__icon\" icons={icon.icon} label={icon.label ?? ''} style={icon.style} />\n\t);\n};\n\n/**\n * Adornments of `InputContainerFC`: the field-specific start content and the left icon at the start;\n * the smart button, the right icon and the field-specific end content at the end.\n */\nexport const getInputAdornments = ({\n\ticons,\n\tsmartButton,\n\tstartAdornment,\n\tendAdornment,\n}: InputAdornmentsOptions): { startAdornment: VNode[]; endAdornment: VNode[] } => ({\n\tstartAdornment: [startAdornment ?? null, renderIcon(icons?.left)].filter(Boolean) as VNode[],\n\tendAdornment: [smartButton ? <ButtonFC {...smartButton} /> : null, renderIcon(icons?.right), endAdornment ?? null].filter(Boolean) as VNode[],\n});\n","import { h, type FunctionalComponent as FC } from '@stencil/core';\nimport type { JSXBase, VNode } from '@stencil/core/internal';\nimport { getMsgType, isMsgDefinedAndInputTouched, type MsgPropType, type Stringified } from '../../../schema';\nimport { bem } from '../../../schema/bem-registry';\nimport clsx from '../../../utils/clsx';\nimport { BemRootNodeFC } from '../bem-root-node/component';\n\nconst inputContainerBem = bem.forBlock('kol-input-container');\n\ntype InputAdornmentType = VNode | VNode[] | null;\n\nexport type InputAdornmentFCProps = JSXBase.HTMLAttributes<HTMLDivElement> & {\n\tposition?: 'start' | 'end';\n};\n\n/** Slot before or after the input, e.g. for icons or the smart button. */\nexport const InputAdornmentFC: FC<InputAdornmentFCProps> = ({ position = 'start', class: className, ...other }, children) => (\n\t<div class={clsx(inputContainerBem('adornment', { [position]: true }), className)} {...other}>\n\t\t{children}\n\t</div>\n);\n\nexport type InputContainerFCProps = JSXBase.HTMLAttributes<HTMLDivElement> & {\n\tstartAdornment?: InputAdornmentType;\n\tendAdornment?: InputAdornmentType;\n\tdisabled?: boolean;\n\tmsg?: Stringified<MsgPropType>;\n\ttouched?: boolean;\n};\n\nfunction hasItems(items?: InputAdornmentType): boolean {\n\tif (!items) {\n\t\treturn false;\n\t}\n\n\treturn Array.isArray(items) ? items.length > 0 : Boolean(items);\n}\n\n/** Box around the native control of a field. Both adornments render as soon as one of them has content. */\nexport const InputContainerFC: FC<InputContainerFCProps> = (props, children) => {\n\tconst { class: classNames, startAdornment, endAdornment, disabled, msg, touched, ...other } = props;\n\tconst withAdornments = hasItems(startAdornment) || hasItems(endAdornment);\n\n\treturn (\n\t\t<BemRootNodeFC\n\t\t\tblock=\"kol-input-container\"\n\t\t\tmodifiers={{\n\t\t\t\tdisabled: Boolean(disabled),\n\t\t\t\t...(isMsgDefinedAndInputTouched(msg, touched) ? { [getMsgType(msg) as string]: true } : {}),\n\t\t\t}}\n\t\t\tclass={classNames}\n\t\t\t{...other}\n\t\t>\n\t\t\t{withAdornments && <InputAdornmentFC position=\"start\">{startAdornment}</InputAdornmentFC>}\n\t\t\t<div class={inputContainerBem('container')}>{children}</div>\n\t\t\t{withAdornments && <InputAdornmentFC position=\"end\">{endAdornment}</InputAdornmentFC>}\n\t\t</BemRootNodeFC>\n\t);\n};\n"],"names":[],"mappings":"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"}
@@ -1,21 +1,21 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import { h } from './index-DsCeQ9Ys.js';
4
+ import { h } from './index-DAKQV03B.js';
5
5
  import { t as translate } from './i18n-BaCf-SDK.js';
6
6
  import { b as bem } from './bem-registry-CX5kvaqt.js';
7
- import { n as nonce, c as createUniqueId } from './dev.utils-CYtV9X0K.js';
8
- import { B as BemRootNodeFC } from './component-BxKN0JbT.js';
9
- import { B as ButtonFC } from './component-C3aqLFK2.js';
7
+ import { n as nonce, c as createUniqueId } from './dev.utils-BGy8dbtQ.js';
8
+ import { B as BemRootNodeFC } from './component-DhBTawyT.js';
9
+ import { B as ButtonFC } from './component-CmBM-Y1C.js';
10
10
  import { p as parseJson, S as STATE_CHANGE_EVENT } from './common-BqpMtheU.js';
11
11
  import { d as dispatchDomEvent, K as KolEvent } from './events-CRHxtwup.js';
12
12
  import { r as removeNavLabel, a as addNavLabel } from './unique-nav-labels-DugFb3rS.js';
13
13
  import { c as createPropDefinition, q as normalizeNumberType, a as createCallbacksPropDefinition, b as normalizeString, d as buildDefaultPropsFromConfig } from './base-web-component-3R1Dy3QK.js';
14
14
  import { g as customClassProp, e as tooltipAlignProp } from './variant-CeijQFzL.js';
15
- import { c as createButtonItem } from './item-DY0fVVnj.js';
15
+ import { c as createButtonItem } from './item-DuBSR8BS.js';
16
16
  import { c as createItemPool } from './item-pool-BOxAYePG.js';
17
17
  import { c as createCtaRef } from './element-interaction-Cy9tx3Sx.js';
18
- import { B as BaseSelectWebComponent, s as selectPropsConfig } from './base-web-component-CkaKv7O0.js';
18
+ import { B as BaseSelectWebComponent, s as selectPropsConfig } from './base-web-component-BzB5tP9s.js';
19
19
 
20
20
  const boundaryCountProp = createPropDefinition('boundaryCount', 1, (value) => Math.max(0, value));
21
21
 
@@ -508,6 +508,6 @@ const createPaginationItem = (options) => {
508
508
  };
509
509
 
510
510
  export { PaginationFC as P, createPaginationItem as c, paginationPropsConfig as p };
511
- //# sourceMappingURL=item-BIjqEkyy.js.map
511
+ //# sourceMappingURL=item-DJ8LXOMv.js.map
512
512
 
513
- //# sourceMappingURL=item-BIjqEkyy.js.map
513
+ //# sourceMappingURL=item-DJ8LXOMv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-BIjqEkyy.js","sources":["src/internal/props/boundary-count.ts","src/internal/props/page.ts","src/internal/props/page-size.ts","src/internal/props/page-size-options.ts","src/internal/props/pagination-callbacks.ts","src/internal/props/pagination-has-buttons.ts","src/internal/props/pagination-label.ts","src/internal/props/pagination-max.ts","src/internal/props/sibling-count.ts","src/internal/functional-components/pagination/api.tsx","src/internal/functional-components/pagination/model.ts","src/internal/functional-components/pagination/component.tsx","src/internal/functional-components/pagination/page-size-select.tsx","src/internal/functional-components/pagination/item.ts"],"sourcesContent":["import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Boundary count prop of `kol-pagination`\n *\n * Description:\n * The number of pages shown next to the first and the last page. A negative value counts as 0.\n */\nexport type BoundaryCountProp = SimpleProp<'boundaryCount', number>;\nexport const boundaryCountProp = createPropDefinition<BoundaryCountProp>('boundaryCount', 1, (value) => Math.max(0, value as number));\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumberType } from './helpers/normalizers';\n\n/**\n * Page prop of `kol-pagination`\n *\n * Description:\n * The current page, starting at 1. The pagination clamps it to the available pages.\n */\nexport type PageProp = SimpleProp<'page', number>;\nexport const pageProp = createPropDefinition<PageProp>('page', 0, normalizeNumberType);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumberType } from './helpers/normalizers';\n\n/**\n * Page size prop of `kol-pagination`\n *\n * Description:\n * The number of entries per page. With page size options, a value that is not an option falls back\n * to the first option.\n */\nexport type PageSizeProp = SimpleProp<'pageSize', number>;\nexport const pageSizeProp = createPropDefinition<PageSizeProp>('pageSize', 1, normalizeNumberType);\n","import type { Option, Stringified } from '../../schema';\nimport { parseJson } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Page size options prop of `kol-pagination`\n *\n * Description:\n * The page sizes of the page size select, as an array of numbers or as a JSON string. One value that\n * is not a number rejects the whole list.\n */\nexport type PageSizeOptionsProp = Prop<'pageSizeOptions', Stringified<number[]>, Option<number>[]>;\n\nconst OBJECT_OBJECT = /^\\[object Object\\]$/;\n\nfunction normalizePageSizeOptions(value: unknown): Option<number>[] | never {\n\t// An empty string or '[object Object]' is what Stencil passes for an array it could not reflect.\n\tif (value === '' || (typeof value === 'string' && OBJECT_OBJECT.test(value))) {\n\t\tthrow new Error('Unreflected page size options');\n\t}\n\tconst parsed = typeof value === 'string' ? parseJson<unknown>(value) : value;\n\tif (Array.isArray(parsed) && parsed.every((item) => typeof item === 'number')) {\n\t\treturn parsed.map((size) => ({ label: `${size}`, value: size }));\n\t}\n\tthrow new Error('Invalid page size options');\n}\n\nexport const pageSizeOptionsProp = createPropDefinition<PageSizeOptionsProp>('pageSizeOptions', [], normalizePageSizeOptions);\n","import type { KoliBriPaginationButtonCallbacks } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createCallbacksPropDefinition } from './helpers/factory';\n\nexport type PaginationCallbacksProp = SimpleProp<'on', KoliBriPaginationButtonCallbacks>;\n\nexport const paginationCallbacksProp = createCallbacksPropDefinition<KoliBriPaginationButtonCallbacks>();\n","import type { PaginationHasButton, Stringified } from '../../schema';\nimport { parseJson } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Has buttons prop of `kol-pagination`\n *\n * Description:\n * Which navigation buttons to render: `true`/`false` for all four, or an object (also as JSON string)\n * that sets single buttons. The normalized value holds only the buttons the value sets; the\n * pagination merges it into the current buttons.\n */\nexport type PaginationHasButtonsProp = Prop<'hasButtons', boolean | Stringified<PaginationHasButton>, Partial<PaginationHasButton>>;\n\nconst BUTTONS = ['first', 'last', 'next', 'previous'] as const;\n\nconst allButtons = (shown: boolean): PaginationHasButton => ({ first: shown, last: shown, next: shown, previous: shown });\n\nfunction normalizeHasButtons(value: unknown): Partial<PaginationHasButton> | never {\n\tif (typeof value === 'boolean') {\n\t\treturn allButtons(value);\n\t}\n\tif (typeof value === 'object' && value !== null) {\n\t\tconst buttons: Partial<PaginationHasButton> = {};\n\t\tBUTTONS.forEach((button) => {\n\t\t\tconst shown = (value as Partial<Record<string, unknown>>)[button];\n\t\t\tif (typeof shown === 'boolean') {\n\t\t\t\tbuttons[button] = shown;\n\t\t\t}\n\t\t});\n\t\treturn buttons;\n\t}\n\tif (typeof value === 'string') {\n\t\tconst parsed = parseJson<unknown>(value);\n\t\t// A JSON string that is no object renders no button.\n\t\treturn typeof parsed === 'object' && parsed !== null ? normalizeHasButtons(parsed) : allButtons(false);\n\t}\n\tthrow new Error('Invalid pagination buttons');\n}\n\nexport const paginationHasButtonsProp = createPropDefinition<PaginationHasButtonsProp>('hasButtons', allButtons(true), normalizeHasButtons);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Label prop of `kol-pagination`\n *\n * Description:\n * The accessible name of the navigation. Unlike `labelProp`, any string is accepted. Without a value\n * the pagination uses the translation `kol-pagination`.\n */\nexport type PaginationLabelProp = SimpleProp<'label', string>;\nexport const paginationLabelProp = createPropDefinition<PaginationLabelProp>('label', '', normalizeString);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumberType } from './helpers/normalizers';\n\n/**\n * Max prop of `kol-pagination`\n *\n * Description:\n * The total number of entries; 0 means no entries. `maxProp` does not fit, because it requires a\n * value above 0.\n */\nexport type PaginationMaxProp = SimpleProp<'max', number>;\nexport const paginationMaxProp = createPropDefinition<PaginationMaxProp>('max', 0, normalizeNumberType);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Sibling count prop of `kol-pagination`\n *\n * Description:\n * The number of pages shown on each side of the current page. A negative value counts as 0.\n */\nexport type SiblingCountProp = SimpleProp<'siblingCount', number>;\nexport const siblingCountProp = createPropDefinition<SiblingCountProp>('siblingCount', 1, (value) => Math.max(0, value as number));\n","import {\n\tboundaryCountProp,\n\tcustomClassProp,\n\tpageProp,\n\tpageSizeOptionsProp,\n\tpageSizeProp,\n\tpaginationCallbacksProp,\n\tpaginationHasButtonsProp,\n\tpaginationLabelProp,\n\tpaginationMaxProp,\n\tsiblingCountProp,\n\ttooltipAlignProp,\n} from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\n/**\n * `page` and `pageSize` hold the clamped page and the page size resolved against the options, not the\n * raw props.\n */\nexport const paginationPropsConfig = {\n\trequired: [pageProp, paginationCallbacksProp, paginationMaxProp],\n\toptional: [\n\t\tboundaryCountProp,\n\t\tcustomClassProp,\n\t\tpageSizeOptionsProp,\n\t\tpageSizeProp,\n\t\tpaginationHasButtonsProp,\n\t\tpaginationLabelProp,\n\t\tsiblingCountProp,\n\t\ttooltipAlignProp,\n\t],\n} as const satisfies PropsConfigShape;\n\nexport type PaginationApi = ApiFromConfig<\n\ttypeof paginationPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\t/** A page button or a navigation button was clicked; `page` is its target page. */\n\t\t\tpageClick: (event: Event, page: number) => void;\n\t\t\t/** The page size select changed. */\n\t\t\tpageSizeChange: (event: Event, value: unknown) => void;\n\t\t};\n\t}\n>;\n","import type { Option } from '../../../schema';\n\n/** Number of pages; without a page size each entry is one page. */\nexport const getPageCount = (max: number, pageSize = 1): number => Math.ceil(max / pageSize);\n\n/**\n * The page a page outside the range is clamped to, or `undefined` when the page stays. Without entries\n * (`max` 0 or below) every page stays. An `undefined` page size counts as 1.\n */\nexport const clampPage = (page: number, pageSize: number | undefined, max: number): number | undefined => {\n\tif (max > 0) {\n\t\tconst count = getPageCount(max, pageSize);\n\t\tif (count > 0) {\n\t\t\tif (page > count) {\n\t\t\t\treturn count;\n\t\t\t}\n\t\t\tif (page < 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/** With page size options, a page size that is not an option falls back to the first option. */\nexport const resolvePageSize = (pageSize: number, options: Option<number>[]): number => {\n\tif (options.length > 0) {\n\t\treturn options.find((option) => option.value === pageSize)?.value ?? options[0].value;\n\t}\n\treturn pageSize;\n};\n\nexport type PageItem = { page: number; selected: boolean } | 'separator' | null;\n\n/**\n * One item per page: a page button for the first and last `boundaryCount` pages and `siblingCount`\n * pages on each side of the current page, a separator for the first hidden page after a shown one, and\n * `null` for the other hidden pages. The `null` items keep the positions of the rendered children\n * stable, so a re-render keeps the navigation buttons after the list (and their focus). A gap before the\n * first shown page has no separator.\n */\nexport const getPageItems = (page: number, count: number, boundaryCount: number, siblingCount: number): PageItem[] => {\n\tconst items: PageItem[] = [];\n\tlet afterPage = false;\n\tfor (let item = 1; item <= count; item++) {\n\t\tif (item <= boundaryCount || item > count - boundaryCount || (item >= page - siblingCount && item <= page + siblingCount)) {\n\t\t\tafterPage = true;\n\t\t\titems.push({ page: item, selected: item === page });\n\t\t} else if (afterPage) {\n\t\t\tafterPage = false;\n\t\t\titems.push('separator');\n\t\t} else {\n\t\t\titems.push(null);\n\t\t}\n\t}\n\treturn items;\n};\n\n/** First and last entry of the current page, numbered from 1. */\nexport const getVisibleRange = (page: number, pageSize: number, max: number): { start: number; end: number } => {\n\tconst highest = page * pageSize;\n\treturn {\n\t\tstart: Math.max(0, (page - 1) * pageSize + 1),\n\t\tend: max < highest ? max : highest,\n\t};\n};\n","import type { FunctionalComponent as FC, JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { translate } from '../../../i18n';\nimport type { InternalButtonProps } from '../../../schema';\nimport { bem } from '../../../schema/bem-registry';\nimport { nonce } from '../../../utils/dev.utils';\nimport { BemRootNodeFC } from '../bem-root-node/component';\nimport { ButtonFC } from '../button/component';\nimport type { ButtonItemFcProps, ButtonItemRootAttributes } from '../button/item';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { PaginationApi } from './api';\nimport { getPageCount, getPageItems, getVisibleRange } from './model';\nimport type { PageSizeSelectInput } from './page-size-select';\n\nconst paginationBem = bem.forBlock('kol-pagination');\n\nconst leftDoubleArrowIcon = { left: 'kolicon-chevron-double-left' };\nconst leftSingleArrowIcon = { left: 'kolicon-chevron-left' };\nconst rightSingleArrowIcon = { right: 'kolicon-chevron-right' };\nconst rightDoubleArrowIcon = { right: 'kolicon-chevron-double-right' };\n\nconst userLanguage = ((language: string) => (language.includes('-') ? language : `${language}-${language.toUpperCase()}`))(navigator.language || 'de-DE');\nconst NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {\n\tstyle: 'decimal',\n\tminimumFractionDigits: 0,\n\tmaximumFractionDigits: 0,\n});\n\nexport type NavigationPosition = 'first' | 'last' | 'next' | 'previous';\n\nexport type PaginationFCProps = FunctionalComponentProps<PaginationApi> & {\n\t/**\n\t * The `_on` objects of the navigation buttons. They keep their identity across renders, so a\n\t * re-render of the pagination does not re-render the navigation buttons.\n\t */\n\tnavigationCallbacks: Record<NavigationPosition, { onClick: (event: Event) => void }>;\n\t/** `ButtonFC` props of the page or navigation button `key`; the pagination item keeps one button item per key. */\n\tgetButtonFcProps: (key: string, props: InternalButtonProps, rootAttributes?: ButtonItemRootAttributes) => ButtonItemFcProps;\n\t/** The page size select; the pagination item keeps it while it is rendered. */\n\trenderPageSizeSelect: (input: Omit<PageSizeSelectInput, 'on'>) => JSX.Element;\n};\n\n/** The content of the pagination: the visible range, the navigation and the page size select. */\nexport const PaginationContentFC: FC<PaginationFCProps> = ({\n\tboundaryCount,\n\tcustomClass,\n\tgetButtonFcProps,\n\thandlePageClick,\n\thasButtons,\n\tlabel,\n\tmax,\n\tnavigationCallbacks,\n\tpage,\n\tpageSize,\n\tpageSizeOptions,\n\trenderPageSizeSelect,\n\tsiblingCount,\n\ttooltipAlign,\n}) => {\n\tconst count = getPageCount(max, pageSize);\n\tconst { start, end } = getVisibleRange(page, pageSize, max);\n\tconst navigationButton = (position: NavigationPosition, icons: Record<string, string>, buttonLabel: string, disabled: boolean) => (\n\t\t<li>\n\t\t\t<ButtonFC\n\t\t\t\t{...getButtonFcProps(\n\t\t\t\t\t`navigation-${position}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t_customClass: customClass,\n\t\t\t\t\t\t_disabled: disabled,\n\t\t\t\t\t\t_icons: icons,\n\t\t\t\t\t\t_hideLabel: true,\n\t\t\t\t\t\t_label: buttonLabel,\n\t\t\t\t\t\t_on: navigationCallbacks[position],\n\t\t\t\t\t\t_tooltipAlign: tooltipAlign,\n\t\t\t\t\t},\n\t\t\t\t\t{ class: paginationBem('button', { [position]: true }) },\n\t\t\t\t)}\n\t\t\t/>\n\t\t</li>\n\t);\n\tconst pageButton = (item: number, selected: boolean) => {\n\t\tconst pageText = NUMBER_FORMATTER.format(item);\n\t\tconst ariaDescription = `${translate('kol-page')} ${pageText}`;\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t{selected ? (\n\t\t\t\t\t<ButtonFC\n\t\t\t\t\t\t{...getButtonFcProps(\n\t\t\t\t\t\t\t`page-${item}`,\n\t\t\t\t\t\t\t{ _ariaDescription: ariaDescription, _customClass: customClass, _label: pageText },\n\t\t\t\t\t\t\t{ 'aria-current': 'page', class: `${paginationBem('button', { selected: true })} selected` },\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<ButtonFC\n\t\t\t\t\t\t{...getButtonFcProps(\n\t\t\t\t\t\t\t`page-${item}`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t_ariaDescription: ariaDescription,\n\t\t\t\t\t\t\t\t_customClass: customClass,\n\t\t\t\t\t\t\t\t_label: pageText,\n\t\t\t\t\t\t\t\t_on: { onClick: (event: Event) => handlePageClick(event, item) },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ class: paginationBem('button', { numbers: true }) },\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t};\n\n\treturn [\n\t\t<span role=\"status\" aria-live=\"polite\" class={paginationBem('entries')}>\n\t\t\t{translate('kol-table-visible-range', {\n\t\t\t\tplaceholders: {\n\t\t\t\t\tstart: NUMBER_FORMATTER.format(start),\n\t\t\t\t\tend: NUMBER_FORMATTER.format(end),\n\t\t\t\t\ttotal: NUMBER_FORMATTER.format(max),\n\t\t\t\t},\n\t\t\t})}\n\t\t</span>,\n\t\t<nav class={paginationBem('navigation')} aria-label={label}>\n\t\t\t<ul class={paginationBem('navigation-list')}>\n\t\t\t\t{hasButtons.first && navigationButton('first', leftDoubleArrowIcon, translate('kol-page-first'), page <= 1)}\n\t\t\t\t{hasButtons.previous && navigationButton('previous', leftSingleArrowIcon, translate('kol-page-back'), page <= 1)}\n\t\t\t\t{getPageItems(page, count, boundaryCount, siblingCount).map((item) =>\n\t\t\t\t\titem === null ? null : item === 'separator' ? (\n\t\t\t\t\t\t<li key={nonce()}>\n\t\t\t\t\t\t\t<span class={paginationBem('separator')} aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tpageButton(item.page, item.selected)\n\t\t\t\t\t),\n\t\t\t\t)}\n\t\t\t\t{hasButtons.next && navigationButton('next', rightSingleArrowIcon, translate('kol-page-next'), count <= page)}\n\t\t\t\t{hasButtons.last && navigationButton('last', rightDoubleArrowIcon, translate('kol-page-last'), count <= page)}\n\t\t\t</ul>\n\t\t</nav>,\n\t\tpageSizeOptions?.length > 0 && (\n\t\t\t<div class=\"page-size\">\n\t\t\t\t<div class={paginationBem('page-size-select')}>\n\t\t\t\t\t{renderPageSizeSelect({ label: translate('kol-entries-per-site'), options: pageSizeOptions, value: pageSize })}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t),\n\t];\n};\n\n/** The pagination in its own root node, for `kol-pagination`. */\nexport const PaginationFC: FC<PaginationFCProps> = (props) => (\n\t<BemRootNodeFC block=\"kol-pagination\">\n\t\t<PaginationContentFC {...props} />\n\t</BemRootNodeFC>\n);\n","import type { JSX } from '@stencil/core';\nimport type { InputTypeOnDefault, Option, ShortKeyPropType, StencilUnknown, Stringified } from '../../../schema';\nimport { createUniqueId } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { selectPropsConfig } from '../select/api';\nimport { BaseSelectWebComponent } from '../select/base-web-component';\n\n/** The props of the page size select that change with the pagination. */\nexport type PageSizeSelectInput = {\n\tlabel: string;\n\ton: InputTypeOnDefault;\n\toptions: Option<number>[];\n\tvalue: number;\n};\n\n/**\n * The page size select of a pagination: the select field of `kol-select`, rendered into the shadow root\n * of the element that renders the pagination (`kol-pagination`, `kol-table-stateful`) instead of an\n * element of its own. That element receives the KoliBri events of the select and frames its focus, so\n * moving the focus from the select to a page button sends no blur.\n *\n * Without an element of its own, the class does what Stencil does for one: the first `render` applies\n * the props in the load order of `kol-select`; each later `render` applies the props that changed, like\n * their watchers. A state change or a prop the select writes itself (`_value`, `_touched`) renders the\n * embedding element again through `requestRender`.\n */\nexport class PageSizeSelect extends BaseSelectWebComponent {\n\tpublic _disabled?: boolean = false;\n\tpublic _multiple?: boolean = false;\n\tpublic _on?: InputTypeOnDefault;\n\n\tprotected readonly ctaRef = createCtaRef<HTMLSelectElement>();\n\n\tpublic readonly id = createUniqueId('select');\n\n\tprivate loaded = false;\n\tprivate passed?: PageSizeSelectInput;\n\tprivate focused = false;\n\tprivate touched = false;\n\tprivate value?: Stringified<StencilUnknown[]> | Stringified<StencilUnknown>;\n\n\tpublic constructor(\n\t\tprivate readonly getHost: () => HTMLElement | undefined,\n\t\tprivate readonly requestRender: () => void,\n\t) {\n\t\tsuper();\n\t\tthis.initFormAssociation('select');\n\t}\n\n\t/** The base class reads the host while it is constructed, before `getHost` is assigned. */\n\tprotected get host(): HTMLElement | undefined {\n\t\treturn this.getHost?.();\n\t}\n\n\tpublic get inputHasFocus(): boolean {\n\t\treturn this.focused;\n\t}\n\n\tpublic set inputHasFocus(value: boolean) {\n\t\tif (value !== this.focused) {\n\t\t\tthis.focused = value;\n\t\t\tthis.requestRender();\n\t\t}\n\t}\n\n\tpublic get _touched(): boolean | undefined {\n\t\treturn this.touched;\n\t}\n\n\tpublic set _touched(value: boolean | undefined) {\n\t\tif (value !== this.touched) {\n\t\t\tthis.touched = value === true;\n\t\t\tthis.applyTouched(value);\n\t\t\tthis.requestRender();\n\t\t}\n\t}\n\n\tpublic get _value(): Stringified<StencilUnknown[]> | Stringified<StencilUnknown> | undefined {\n\t\treturn this.value;\n\t}\n\n\tpublic set _value(value: Stringified<StencilUnknown[]> | Stringified<StencilUnknown> | undefined) {\n\t\tif (value !== this.value) {\n\t\t\tthis.value = value;\n\t\t\tthis.applyValue(value);\n\t\t\tthis.requestRender();\n\t\t}\n\t}\n\n\tprotected getAccessKeyProp(): string | undefined {\n\t\treturn undefined;\n\t}\n\n\tprotected getShortKeyProp(): ShortKeyPropType | undefined {\n\t\treturn undefined;\n\t}\n\n\t/** Call once per render of the embedding element. */\n\tpublic render(input: PageSizeSelectInput): JSX.Element {\n\t\tif (this.loaded) {\n\t\t\tthis.update(input);\n\t\t} else {\n\t\t\tthis.load(input);\n\t\t}\n\t\treturn this.renderSelectField();\n\t}\n\n\t/** Call from `componentDidRender` of the embedding element. */\n\tpublic sync(): void {\n\t\tthis.syncFormField();\n\t}\n\n\t/** Call when the select is no longer rendered. */\n\tpublic destroy(): void {\n\t\tthis.destroyFormField();\n\t}\n\n\t/** The props the pagination does not pass keep the defaults of `kol-select`. */\n\tprivate load(input: PageSizeSelectInput): void {\n\t\tthis.passed = input;\n\t\tthis._on = input.on;\n\t\tthis.value = input.value;\n\t\tthis.initRenderProps(selectPropsConfig);\n\n\t\tthis.applyAriaDetails(undefined);\n\t\tthis.applyName(undefined);\n\t\tthis.applySyncValueBySelector(undefined);\n\t\tthis.applyTouched(false);\n\t\tthis.applyAccessKey(undefined);\n\t\tthis.applyMsg(undefined);\n\t\tthis.applyDisabled(false);\n\t\tthis.applyHideMsg(false);\n\t\tthis.applyHideLabel(false);\n\t\tthis.applyHint('');\n\t\tthis.applyInfoPopover(undefined);\n\t\tthis.applyLabel(input.label);\n\t\tthis.applyShortKey(undefined);\n\t\tthis.applyOn(input.on);\n\t\tthis.applyTooltipAlign('top');\n\t\tthis.applyVariant(undefined);\n\t\tthis.applyTabIndex(undefined);\n\t\tthis.applyIcons(undefined);\n\t\tthis.applyOptions(input.options);\n\t\tthis.applyMultiple(false);\n\t\tthis.applyRequired(false);\n\t\tthis.applyRows(undefined);\n\t\tthis.applyValue(input.value);\n\t\tthis.loaded = true;\n\t}\n\n\t/**\n\t * Applies the props that differ from the last passed ones, in the order the pagination passes them.\n\t * The value is applied only when it also differs from the current one, which an earlier choice in the\n\t * select may already hold. It does not render again: the embedding element is rendering.\n\t */\n\tprivate update(input: PageSizeSelectInput): void {\n\t\tconst passed = this.passed!;\n\t\tthis.passed = input;\n\t\tif (input.label !== passed.label) {\n\t\t\tthis.applyLabel(input.label);\n\t\t}\n\t\tif (input.options !== passed.options) {\n\t\t\tthis.applyOptions(input.options);\n\t\t}\n\t\tif (input.on !== passed.on) {\n\t\t\tthis._on = input.on;\n\t\t\tthis.applyOn(input.on);\n\t\t}\n\t\tif (input.value !== passed.value && input.value !== this.value) {\n\t\t\tthis.value = input.value;\n\t\t\tthis.applyValue(input.value);\n\t\t}\n\t}\n}\n","import { translate } from '../../../i18n';\nimport type {\n\tCustomClassPropType,\n\tInternalButtonProps,\n\tKoliBriPaginationButtonCallbacks,\n\tPaginationHasButton,\n\tStringified,\n\tTooltipAlignPropType,\n} from '../../../schema';\nimport { STATE_CHANGE_EVENT } from '../../../schema';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport { addNavLabel, removeNavLabel } from '../../../utils/unique-nav-labels';\nimport {\n\tboundaryCountProp,\n\tcustomClassProp,\n\tpageProp,\n\tpageSizeOptionsProp,\n\tpageSizeProp,\n\tpaginationCallbacksProp,\n\tpaginationHasButtonsProp,\n\tpaginationLabelProp,\n\tpaginationMaxProp,\n\tsiblingCountProp,\n\ttooltipAlignProp,\n} from '../../props';\nimport type { ButtonItem, ButtonItemFcProps, ButtonItemRootAttributes } from '../button/item';\nimport { createButtonItem } from '../button/item';\nimport { createItemPool } from '../item-pool';\nimport { buildDefaultPropsFromConfig } from '../props-from-config';\nimport { paginationPropsConfig } from './api';\nimport type { PaginationFCProps } from './component';\nimport { clampPage, getPageCount, resolvePageSize } from './model';\nimport { PageSizeSelect } from './page-size-select';\n\n/** The render props of the pagination, as `PaginationFC` receives them. */\nexport type PaginationRenderProps = Omit<\n\tPaginationFCProps,\n\t'getButtonFcProps' | 'handlePageClick' | 'handlePageSizeChange' | 'navigationCallbacks' | 'renderPageSizeSelect'\n>;\n\n/** Where the item keeps its render props; `kol-pagination` passes its own render props. */\nexport type PaginationPropsStore = {\n\tget<K extends keyof PaginationRenderProps>(key: K): PaginationRenderProps[K];\n\tset<K extends keyof PaginationRenderProps>(key: K, value: PaginationRenderProps[K]): void;\n};\n\n/** The `_`-props of a pagination, without the underscore. */\nexport type PaginationInput = {\n\tboundaryCount?: number;\n\tcustomClass?: CustomClassPropType;\n\thasButtons?: boolean | Stringified<PaginationHasButton>;\n\tlabel?: string;\n\tmax?: number;\n\ton?: KoliBriPaginationButtonCallbacks;\n\tpage?: number;\n\tpageSize?: number;\n\tpageSizeOptions?: Stringified<number[]>;\n\tsiblingCount?: number;\n\ttooltipAlign?: TooltipAlignPropType;\n};\n\n/**\n * The order in which `update` applies changed inputs: the attribute order in which `kol-table-stateful`\n * passes them. Within one update, an earlier input clamps the page before a later one is applied.\n */\nconst UPDATE_ORDER: (keyof PaginationInput)[] = [\n\t'boundaryCount',\n\t'customClass',\n\t'hasButtons',\n\t'on',\n\t'page',\n\t'pageSize',\n\t'pageSizeOptions',\n\t'siblingCount',\n\t'tooltipAlign',\n\t'max',\n\t'label',\n];\n\nexport type PaginationItem = {\n\tapplyBoundaryCount: (value?: number) => void;\n\tapplyCustomClass: (value?: CustomClassPropType) => void;\n\t/** An object sets single buttons and keeps the others. */\n\tapplyHasButtons: (value?: boolean | Stringified<PaginationHasButton>) => void;\n\tapplyLabel: (value?: string) => void;\n\tapplyMax: (value?: number) => void;\n\tapplyOn: (value?: KoliBriPaginationButtonCallbacks) => void;\n\tapplyPage: (value?: number) => void;\n\t/** Applies `_pageSize`; it also becomes the page size a choice in the select is compared against. */\n\tapplyPageSize: (value?: number) => void;\n\tapplyPageSizeOptions: (value?: Stringified<number[]>) => void;\n\tapplySiblingCount: (value?: number) => void;\n\tapplyTooltipAlign: (value?: TooltipAlignPropType) => void;\n\t/**\n\t * Applies all inputs in the load order of the element. The page is applied again last: only then are\n\t * page size and number of entries known to clamp it, so a clamped page is reported twice.\n\t */\n\tload: (input: PaginationInput) => void;\n\t/**\n\t * Applies the inputs that differ from the last passed ones, like the props of a child element in a\n\t * render: a value passed again unchanged is not applied, even if the item changed it meanwhile.\n\t */\n\tupdate: (input: PaginationInput) => void;\n\t/** Fully resolved props for `PaginationFC` and `PaginationContentFC`. Call once per render. */\n\tgetFcProps: () => PaginationFCProps;\n\t/** Syncs the buttons and the page size select of the last render. Call from `componentDidRender`. */\n\tsync: () => void;\n\t/** Removes the navigation label from the register of unique labels and tears down the buttons and the page size select. */\n\tdestroy: () => void;\n};\n\nexport type PaginationItemOptions = {\n\t/**\n\t * Element the `click`, `changepage` and `changepagesize` events and the events of the page size select\n\t * are dispatched on; also the element the feature flags of the buttons are resolved against.\n\t */\n\tgetEventTarget: () => HTMLElement | undefined;\n\t/** Renders the embedding element again after a page size was chosen or the state of the select changed. */\n\trequestRender: () => void;\n\t/** Keeps the render props; without it the item keeps them itself. */\n\tstore?: PaginationPropsStore;\n};\n\nconst createLocalStore = (): PaginationPropsStore => {\n\tconst props = buildDefaultPropsFromConfig(paginationPropsConfig) as unknown as PaginationRenderProps;\n\treturn {\n\t\tget: (key) => props[key],\n\t\tset: (key, value) => {\n\t\t\tprops[key] = value;\n\t\t},\n\t};\n};\n\n/**\n * One orchestrated pagination: the props, the page clamping and the events of `PaginationFC`. It is a\n * plain object with closures, like `popover-button/item.ts`, so `kol-pagination` and\n * `kol-table-stateful` (which inherits the stateless table) compose it instead of inheriting it.\n *\n * Page, page size, page size options and the number of entries depend on each other: every change of\n * one of them clamps the current page to the available pages, and a clamped page is reported through\n * `onChangePage` and `changepage` with the `StateChange` event. Without a value, `page`, `pageSize` and\n * `max` keep the current one.\n */\nexport const createPaginationItem = (options: PaginationItemOptions): PaginationItem => {\n\tconst store = options.store ?? createLocalStore();\n\tconst translatePagination = translate('kol-pagination');\n\tconst buttons = createItemPool<ButtonItem>(\n\t\t() => createButtonItem(options.getEventTarget),\n\t\t(button) => button.syncListeners(),\n\t\t(button) => button.destroy(),\n\t);\n\tconst getButtonFcProps = (key: string, props: InternalButtonProps, rootAttributes?: ButtonItemRootAttributes): ButtonItemFcProps =>\n\t\tbuttons.get(key).getFcProps(props, rootAttributes);\n\tconst pageSizeSelects = createItemPool<PageSizeSelect>(\n\t\t() => new PageSizeSelect(options.getEventTarget, options.requestRender),\n\t\t(select) => select.sync(),\n\t\t(select) => select.destroy(),\n\t);\n\tlet pageSizeValue: number | undefined = 1;\n\tlet applied: PaginationInput = {};\n\n\tstore.set('label', translatePagination);\n\n\tconst reportPageChange = (event: Event, page: number): void => {\n\t\tsetTimeout(() => {\n\t\t\tstore.get('on').onChangePage?.(event, page);\n\t\t\tconst target = options.getEventTarget();\n\t\t\tif (target) {\n\t\t\t\tdispatchDomEvent(target, KolEvent.changePage, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst syncPage = (page: number, pageSize: number | undefined, max: number): void => {\n\t\tconst clamped = clampPage(page, pageSize, max);\n\t\tif (clamped !== undefined) {\n\t\t\tstore.set('page', clamped);\n\t\t\treportPageChange(STATE_CHANGE_EVENT, clamped);\n\t\t}\n\t};\n\n\tconst applyPageSizeValue = (value?: number): void => {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn;\n\t\t}\n\t\tpageSizeProp.apply(value, (pageSize) => {\n\t\t\tconst resolved = resolvePageSize(pageSize, store.get('pageSizeOptions'));\n\t\t\tstore.set('pageSize', resolved);\n\t\t\tsyncPage(store.get('page'), resolved, store.get('max'));\n\t\t});\n\t};\n\n\tconst applyLabel = (value: string | undefined, initial: boolean): void => {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(store.get('label'));\n\t\t}\n\t\tpaginationLabelProp.apply(value ?? translatePagination, (v) => store.set('label', v));\n\t\taddNavLabel(store.get('label'));\n\t};\n\n\tconst handlePageClick = (event: Event, page: number): void => {\n\t\tstore.get('on').onClick?.(event, page);\n\t\tconst target = options.getEventTarget();\n\t\tif (target) {\n\t\t\tdispatchDomEvent(target, KolEvent.click, page);\n\t\t}\n\t\treportPageChange(event, page);\n\t};\n\n\tconst handlePageSizeChange = (event: Event, value: unknown): void => {\n\t\tconst pageSize = parseInt(value as string);\n\t\tif (pageSize > 0 && pageSizeValue !== pageSize) {\n\t\t\tapplyPageSizeValue(pageSize);\n\t\t\tpageSizeValue = pageSize;\n\t\t\toptions.requestRender();\n\t\t\t// Reports the page size of the element when the timeout runs; it is the chosen one unless `_pageSize` changed meanwhile.\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst current = pageSizeValue as number;\n\t\t\t\tstore.get('on').onChangePageSize?.(event, current);\n\t\t\t\tconst target = options.getEventTarget();\n\t\t\t\tif (target) {\n\t\t\t\t\tdispatchDomEvent(target, KolEvent.changePageSize, current);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst pageSizeSelectCallbacks = { onChange: handlePageSizeChange };\n\tconst renderPageSizeSelect: PaginationFCProps['renderPageSizeSelect'] = (input) =>\n\t\tpageSizeSelects.get('page-size').render({ ...input, on: pageSizeSelectCallbacks });\n\n\t/** The targets are read when the button is clicked, from the current page and number of pages. */\n\tconst navigationCallbacks: PaginationFCProps['navigationCallbacks'] = {\n\t\tfirst: { onClick: (event: Event) => handlePageClick(event, 1) },\n\t\tlast: { onClick: (event: Event) => handlePageClick(event, getPageCount(store.get('max'), store.get('pageSize'))) },\n\t\tnext: { onClick: (event: Event) => handlePageClick(event, store.get('page') + 1) },\n\t\tprevious: { onClick: (event: Event) => handlePageClick(event, store.get('page') - 1) },\n\t};\n\n\tconst item: PaginationItem = {\n\t\tapplyBoundaryCount: (value) => boundaryCountProp.apply(value, (v) => store.set('boundaryCount', v)),\n\t\tapplyCustomClass: (value) => customClassProp.apply(value, (v) => store.set('customClass', v)),\n\t\tapplyHasButtons: (value) => paginationHasButtonsProp.apply(value, (v) => store.set('hasButtons', { ...store.get('hasButtons'), ...v })),\n\t\tapplyLabel: (value) => applyLabel(value, false),\n\t\tapplyMax: (value) => {\n\t\t\tif (value === undefined || value === null) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpaginationMaxProp.apply(value, (max) => {\n\t\t\t\tstore.set('max', max);\n\t\t\t\tsyncPage(store.get('page'), store.get('pageSize'), max);\n\t\t\t});\n\t\t},\n\t\tapplyOn: (value) => paginationCallbacksProp.apply(value, (v) => store.set('on', v)),\n\t\tapplyPage: (value) => {\n\t\t\tif (value === undefined || value === null) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpageProp.apply(value, (page) => {\n\t\t\t\tstore.set('page', page);\n\t\t\t\tsyncPage(page, store.get('pageSize'), store.get('max'));\n\t\t\t});\n\t\t},\n\t\tapplyPageSize: (value) => {\n\t\t\tapplyPageSizeValue(value);\n\t\t\tpageSizeValue = value;\n\t\t},\n\t\t/** Without options the page is clamped as if each entry were one page. */\n\t\tapplyPageSizeOptions: (value) =>\n\t\t\tpageSizeOptionsProp.apply(value, (pageSizeOptions) => {\n\t\t\t\tstore.set('pageSizeOptions', pageSizeOptions);\n\t\t\t\tlet pageSize: number | undefined;\n\t\t\t\tif (pageSizeOptions.length > 0) {\n\t\t\t\t\tpageSize = resolvePageSize(store.get('pageSize'), pageSizeOptions);\n\t\t\t\t\tstore.set('pageSize', pageSize);\n\t\t\t\t}\n\t\t\t\tsyncPage(store.get('page'), pageSize, store.get('max'));\n\t\t\t}),\n\t\tapplySiblingCount: (value) => siblingCountProp.apply(value, (v) => store.set('siblingCount', v)),\n\t\t/** Pagination buttons show the tooltip on top by default; the shared prop defaults to `'right'`. */\n\t\tapplyTooltipAlign: (value) => tooltipAlignProp.apply(value ?? 'top', (v) => store.set('tooltipAlign', v)),\n\t\tload: (input) => {\n\t\t\tapplied = { ...input };\n\t\t\titem.applyBoundaryCount(input.boundaryCount);\n\t\t\titem.applyCustomClass(input.customClass);\n\t\t\titem.applyHasButtons(input.hasButtons);\n\t\t\tapplyLabel(input.label, true);\n\t\t\titem.applyOn(input.on);\n\t\t\titem.applyPage(input.page);\n\t\t\titem.applyPageSize(input.pageSize);\n\t\t\titem.applyPageSizeOptions(input.pageSizeOptions);\n\t\t\titem.applySiblingCount(input.siblingCount);\n\t\t\titem.applyTooltipAlign(input.tooltipAlign);\n\t\t\titem.applyMax(input.max);\n\t\t\titem.applyPage(input.page);\n\t\t},\n\t\tupdate: (input) => {\n\t\t\tfor (const key of UPDATE_ORDER) {\n\t\t\t\tif (input[key] !== applied[key]) {\n\t\t\t\t\tapplied = { ...applied, [key]: input[key] };\n\t\t\t\t\t// A page size chosen in the select is the current one: passing it again changes nothing.\n\t\t\t\t\tif (key !== 'pageSize' || input.pageSize !== pageSizeValue) {\n\t\t\t\t\t\tappliers[key](input[key] as never);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetFcProps: () => {\n\t\t\tbuttons.beginRender();\n\t\t\tpageSizeSelects.beginRender();\n\t\t\treturn {\n\t\t\t\tboundaryCount: store.get('boundaryCount'),\n\t\t\t\tcustomClass: store.get('customClass'),\n\t\t\t\tgetButtonFcProps,\n\t\t\t\thandlePageClick,\n\t\t\t\thandlePageSizeChange,\n\t\t\t\thasButtons: store.get('hasButtons'),\n\t\t\t\tlabel: store.get('label'),\n\t\t\t\tmax: store.get('max'),\n\t\t\t\tnavigationCallbacks,\n\t\t\t\ton: store.get('on'),\n\t\t\t\tpage: store.get('page'),\n\t\t\t\tpageSize: store.get('pageSize'),\n\t\t\t\tpageSizeOptions: store.get('pageSizeOptions'),\n\t\t\t\trenderPageSizeSelect,\n\t\t\t\tsiblingCount: store.get('siblingCount'),\n\t\t\t\ttooltipAlign: store.get('tooltipAlign'),\n\t\t\t};\n\t\t},\n\t\tsync: () => {\n\t\t\tbuttons.endRender();\n\t\t\tpageSizeSelects.endRender();\n\t\t},\n\t\tdestroy: () => {\n\t\t\tremoveNavLabel(store.get('label'));\n\t\t\tbuttons.destroy();\n\t\t\tpageSizeSelects.destroy();\n\t\t},\n\t};\n\n\tconst appliers: { [K in keyof PaginationInput]-?: (value: PaginationInput[K]) => void } = {\n\t\tboundaryCount: item.applyBoundaryCount,\n\t\tcustomClass: item.applyCustomClass,\n\t\thasButtons: item.applyHasButtons,\n\t\tlabel: item.applyLabel,\n\t\tmax: item.applyMax,\n\t\ton: item.applyOn,\n\t\tpage: item.applyPage,\n\t\tpageSize: item.applyPageSize,\n\t\tpageSizeOptions: item.applyPageSizeOptions,\n\t\tsiblingCount: item.applySiblingCount,\n\t\ttooltipAlign: item.applyTooltipAlign,\n\t};\n\n\treturn item;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAUO,MAAM,iBAAiB,GAAG,oBAAoB,CAAoB,eAAe,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAe,CAAC,CAAC;;ACC9H,MAAM,QAAQ,GAAG,oBAAoB,CAAW,MAAM,EAAE,CAAC,EAAE,mBAAmB,CAAC;;ACC/E,MAAM,YAAY,GAAG,oBAAoB,CAAe,UAAU,EAAE,CAAC,EAAE,mBAAmB,CAAC;;ACElG,MAAM,aAAa,GAAG,qBAAqB;AAE3C,SAAS,wBAAwB,CAAC,KAAc,EAAA;AAE/C,IAAA,IAAI,KAAK,KAAK,EAAE,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AAC7E,QAAA,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;;AAEjD,IAAA,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,SAAS,CAAU,KAAK,CAAC,GAAG,KAAK;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE;QAC9E,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,CAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;AAEjE,IAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC;AAC7C;AAEO,MAAM,mBAAmB,GAAG,oBAAoB,CAAsB,iBAAiB,EAAE,EAAE,EAAE,wBAAwB,CAAC;;ACtBtH,MAAM,uBAAuB,GAAG,6BAA6B,EAAoC;;ACSxG,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAU;AAE9D,MAAM,UAAU,GAAG,CAAC,KAAc,MAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAEzH,SAAS,mBAAmB,CAAC,KAAc,EAAA;AAC1C,IAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC/B,QAAA,OAAO,UAAU,CAAC,KAAK,CAAC;;IAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;QAChD,MAAM,OAAO,GAAiC,EAAE;AAChD,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAI;AAC1B,YAAA,MAAM,KAAK,GAAI,KAA0C,CAAC,MAAM,CAAC;AACjE,YAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC/B,gBAAA,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK;;AAEzB,SAAC,CAAC;AACF,QAAA,OAAO,OAAO;;AAEf,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC9B,QAAA,MAAM,MAAM,GAAG,SAAS,CAAU,KAAK,CAAC;QAExC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;;AAEvG,IAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AAC9C;AAEO,MAAM,wBAAwB,GAAG,oBAAoB,CAA2B,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;;AC7BpI,MAAM,mBAAmB,GAAG,oBAAoB,CAAsB,OAAO,EAAE,EAAE,EAAE,eAAe,CAAC;;ACAnG,MAAM,iBAAiB,GAAG,oBAAoB,CAAoB,KAAK,EAAE,CAAC,EAAE,mBAAmB,CAAC;;ACFhG,MAAM,gBAAgB,GAAG,oBAAoB,CAAmB,cAAc,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAe,CAAC,CAAC;;ACSrH,MAAA,qBAAqB,GAAG;AACpC,IAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;AAChE,IAAA,QAAQ,EAAE;QACT,iBAAiB;QACjB,eAAe;QACf,mBAAmB;QACnB,YAAY;QACZ,wBAAwB;QACxB,mBAAmB;QACnB,gBAAgB;QAChB,gBAAgB;AAChB,KAAA;;;AC3BK,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,QAAQ,GAAG,CAAC,KAAa,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC;AAMrF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,QAA4B,EAAE,GAAW,KAAwB;AACxG,IAAA,IAAI,GAAG,GAAG,CAAC,EAAE;QACZ,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACzC,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACd,YAAA,IAAI,IAAI,GAAG,KAAK,EAAE;AACjB,gBAAA,OAAO,KAAK;;AAEb,YAAA,IAAI,IAAI,GAAG,CAAC,EAAE;AACb,gBAAA,OAAO,CAAC;;;;AAIX,IAAA,OAAO,SAAS;AACjB,CAAC;AAGM,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,OAAyB,KAAY;;AACtF,IAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,OAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;;AAEtF,IAAA,OAAO,QAAQ;AAChB,CAAC;AAWM,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,aAAqB,EAAE,YAAoB,KAAgB;IACpH,MAAM,KAAK,GAAe,EAAE;IAC5B,IAAI,SAAS,GAAG,KAAK;AACrB,IAAA,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,IAAI,IAAI,aAAa,IAAI,IAAI,GAAG,KAAK,GAAG,aAAa,KAAK,IAAI,IAAI,IAAI,GAAG,YAAY,IAAI,IAAI,IAAI,IAAI,GAAG,YAAY,CAAC,EAAE;YAC1H,SAAS,GAAG,IAAI;AAChB,YAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;;aAC7C,IAAI,SAAS,EAAE;YACrB,SAAS,GAAG,KAAK;AACjB,YAAA,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;;aACjB;AACN,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;;;AAGlB,IAAA,OAAO,KAAK;AACb,CAAC;AAGM,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,GAAW,KAAoC;AAC9G,IAAA,MAAM,OAAO,GAAG,IAAI,GAAG,QAAQ;IAC/B,OAAO;AACN,QAAA,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAC7C,GAAG,EAAE,GAAG,GAAG,OAAO,GAAG,GAAG,GAAG,OAAO;KAClC;AACF,CAAC;;AClDD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;AAEpD,MAAM,mBAAmB,GAAG,EAAE,IAAI,EAAE,6BAA6B,EAAE;AACnE,MAAM,mBAAmB,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE;AAC5D,MAAM,oBAAoB,GAAG,EAAE,KAAK,EAAE,uBAAuB,EAAE;AAC/D,MAAM,oBAAoB,GAAG,EAAE,KAAK,EAAE,8BAA8B,EAAE;AAEtE,MAAM,YAAY,GAAG,CAAC,CAAC,QAAgB,MAAM,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAG,EAAA,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAA,CAAE,CAAC,EAAE,SAAS,CAAC,QAAQ,IAAI,OAAO,CAAC;AACzJ,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAC5D,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,qBAAqB,EAAE,CAAC;AACxB,IAAA,qBAAqB,EAAE,CAAC;AACxB,CAAA,CAAC;AAiBK,MAAM,mBAAmB,GAA0B,CAAC,EAC1D,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,KAAK,EACL,GAAG,EACH,mBAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,YAAY,GACZ,KAAI;IACJ,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;AACzC,IAAA,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC;AAC3D,IAAA,MAAM,gBAAgB,GAAG,CAAC,QAA4B,EAAE,KAA6B,EAAE,WAAmB,EAAE,QAAiB,MAC5H,CAAA,CAAA,IAAA,EAAA,IAAA,EACC,CAAA,CAAC,QAAQ,EACJ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,gBAAgB,CACnB,CAAc,WAAA,EAAA,QAAQ,EAAE,EACxB;AACC,QAAA,YAAY,EAAE,WAAW;AACzB,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,MAAM,EAAE,WAAW;AACnB,QAAA,GAAG,EAAE,mBAAmB,CAAC,QAAQ,CAAC;AAClC,QAAA,aAAa,EAAE,YAAY;KAC3B,EACD,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,EAAE,CACxD,CACA,CAAA,CACE,CACL;AACD,IAAA,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,QAAiB,KAAI;QACtD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9C,MAAM,eAAe,GAAG,CAAA,EAAG,SAAS,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAE;AAC9D,QAAA,QACC,CAAA,CAAA,IAAA,EAAA,EAAI,GAAG,EAAE,KAAK,EAAE,EAAA,EACd,QAAQ,IACR,CAAA,CAAC,QAAQ,EACJ,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,gBAAgB,CACnB,CAAA,KAAA,EAAQ,IAAI,CAAE,CAAA,EACd,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAClF,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,CAAG,EAAA,aAAa,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAC5F,CAAA,CACA,KAEF,CAAC,CAAA,QAAQ,oBACJ,gBAAgB,CACnB,CAAQ,KAAA,EAAA,IAAI,EAAE,EACd;AACC,YAAA,gBAAgB,EAAE,eAAe;AACjC,YAAA,YAAY,EAAE,WAAW;AACzB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,KAAK,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE;SAChE,EACD,EAAE,KAAK,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,CACrD,EACA,CACF,CACG;AAEP,KAAC;IAED,OAAO;QACN,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,QAAQ,EAAW,WAAA,EAAA,QAAQ,EAAC,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,EAAA,EACpE,SAAS,CAAC,yBAAyB,EAAE;AACrC,YAAA,YAAY,EAAE;AACb,gBAAA,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;AACrC,gBAAA,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC;AACjC,gBAAA,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC;AACnC,aAAA;AACD,SAAA,CAAC,CACI;QACP,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,gBAAc,KAAK,EAAA,EACzD,CAAA,CAAA,IAAA,EAAA,EAAI,KAAK,EAAE,aAAa,CAAC,iBAAiB,CAAC,EAAA,EACzC,UAAU,CAAC,KAAK,IAAI,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAC1G,UAAU,CAAC,QAAQ,IAAI,gBAAgB,CAAC,UAAU,EAAE,mBAAmB,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,EAC/G,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAChE,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,KAAK,WAAW,IAC1C,UAAI,GAAG,EAAE,KAAK,EAAE,EAAA,EACf,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,EAAA,aAAA,EAAc,MAAM,EAAA,CAAQ,CAC/D,KAEL,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CACpC,CACD,EACA,UAAU,CAAC,IAAI,IAAI,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,EAC5G,UAAU,CAAC,IAAI,IAAI,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,CACzG,CACA;AACN,QAAA,CAAA,eAAe,KAAA,IAAA,IAAf,eAAe,KAAA,MAAA,GAAA,MAAA,GAAf,eAAe,CAAE,MAAM,IAAG,CAAC,KAC1B,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACrB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC3C,EAAA,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CACzG,CACD,CACN;KACD;AACF,CAAC;AAGM,MAAM,YAAY,GAA0B,CAAC,KAAK,MACxD,CAAC,CAAA,aAAa,EAAC,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACpC,CAAA,CAAC,mBAAmB,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA,CACnB;;AC/HX,MAAO,cAAe,SAAQ,sBAAsB,CAAA;IAezD,WACkB,CAAA,OAAsC,EACtC,aAAyB,EAAA;AAE1C,QAAA,KAAK,EAAE;AAHU,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO;AACP,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa;AAhBxB,QAAA,IAAS,CAAA,SAAA,GAAa,KAAK;AAC3B,QAAA,IAAS,CAAA,SAAA,GAAa,KAAK;AAGf,QAAA,IAAM,CAAA,MAAA,GAAG,YAAY,EAAqB;AAE7C,QAAA,IAAA,CAAA,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC;AAErC,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK;AAEd,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAQtB,QAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;;AAInC,IAAA,IAAc,IAAI,GAAA;;AACjB,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,oDAAI;;AAGxB,IAAA,IAAW,aAAa,GAAA;QACvB,OAAO,IAAI,CAAC,OAAO;;IAGpB,IAAW,aAAa,CAAC,KAAc,EAAA;AACtC,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;YACpB,IAAI,CAAC,aAAa,EAAE;;;AAItB,IAAA,IAAW,QAAQ,GAAA;QAClB,OAAO,IAAI,CAAC,OAAO;;IAGpB,IAAW,QAAQ,CAAC,KAA0B,EAAA;AAC7C,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI;AAC7B,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,aAAa,EAAE;;;AAItB,IAAA,IAAW,MAAM,GAAA;QAChB,OAAO,IAAI,CAAC,KAAK;;IAGlB,IAAW,MAAM,CAAC,KAA8E,EAAA;AAC/F,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE;;;IAIZ,gBAAgB,GAAA;AACzB,QAAA,OAAO,SAAS;;IAGP,eAAe,GAAA;AACxB,QAAA,OAAO,SAAS;;AAIV,IAAA,MAAM,CAAC,KAA0B,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;aACZ;AACN,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEjB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE;;IAIzB,IAAI,GAAA;QACV,IAAI,CAAC,aAAa,EAAE;;IAId,OAAO,GAAA;QACb,IAAI,CAAC,gBAAgB,EAAE;;AAIhB,IAAA,IAAI,CAAC,KAA0B,EAAA;AACtC,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;AACnB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AACxB,QAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;AAEvC,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACzB,QAAA,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;AAC9B,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AACxB,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;AAClB,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAChC,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AACtB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;AAC7B,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;AAC1B,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;AAChC,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;AAC5B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI;;AAQX,IAAA,MAAM,CAAC,KAA0B,EAAA;AACxC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO;AAC3B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE;AACjC,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;;QAE7B,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE;AACrC,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC;;QAEjC,IAAI,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;AAC3B,YAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;;AAEvB,QAAA,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAC/D,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;;;AAG9B;;AC5GD,MAAM,YAAY,GAA8B;IAC/C,eAAe;IACf,aAAa;IACb,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,UAAU;IACV,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,KAAK;IACL,OAAO;CACP;AA8CD,MAAM,gBAAgB,GAAG,MAA2B;AACnD,IAAA,MAAM,KAAK,GAAG,2BAA2B,CAAC,qBAAqB,CAAqC;IACpG,OAAO;QACN,GAAG,EAAE,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC;AACxB,QAAA,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,KAAI;AACnB,YAAA,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK;SAClB;KACD;AACF,CAAC;AAYY,MAAA,oBAAoB,GAAG,CAAC,OAA8B,KAAoB;;IACtF,MAAM,KAAK,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,gBAAgB,EAAE;AACjD,IAAA,MAAM,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,CAAC;AACvD,IAAA,MAAM,OAAO,GAAG,cAAc,CAC7B,MAAM,gBAAgB,CAAC,OAAO,CAAC,cAAc,CAAC,EAC9C,CAAC,MAAM,KAAK,MAAM,CAAC,aAAa,EAAE,EAClC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAC5B;IACD,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAE,KAA0B,EAAE,cAAyC,KAC3G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,cAAc,CAAC;AACnD,IAAA,MAAM,eAAe,GAAG,cAAc,CACrC,MAAM,IAAI,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,aAAa,CAAC,EACvE,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,EAAE,EACzB,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,EAAE,CAC5B;IACD,IAAI,aAAa,GAAuB,CAAC;IACzC,IAAI,OAAO,GAAoB,EAAE;AAEjC,IAAA,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAEvC,IAAA,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,IAAY,KAAU;QAC7D,UAAU,CAAC,MAAK;;AACf,YAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,YAAY,MAAG,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,KAAK,EAAE,IAAI,CAAC;AAC3C,YAAA,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE;YACvC,IAAI,MAAM,EAAE;gBACX,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;;AAErD,SAAC,CAAC;AACH,KAAC;IAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,QAA4B,EAAE,GAAW,KAAU;QAClF,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC;AAC9C,QAAA,IAAI,OAAO,KAAK,SAAS,EAAE;AAC1B,YAAA,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;AAC1B,YAAA,gBAAgB,CAAC,kBAAkB,EAAE,OAAO,CAAC;;AAE/C,KAAC;AAED,IAAA,MAAM,kBAAkB,GAAG,CAAC,KAAc,KAAU;QACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YAC1C;;QAED,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,KAAI;AACtC,YAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AACxE,YAAA,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAC/B,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxD,SAAC,CAAC;AACH,KAAC;AAED,IAAA,MAAM,UAAU,GAAG,CAAC,KAAyB,EAAE,OAAgB,KAAU;QACxE,IAAI,CAAC,OAAO,EAAE;YACb,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;;AAEnC,QAAA,mBAAmB,CAAC,KAAK,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,KAAK,GAAI,mBAAmB,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrF,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAChC,KAAC;AAED,IAAA,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,IAAY,KAAU;;AAC5D,QAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,OAAO,MAAG,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,KAAK,EAAE,IAAI,CAAC;AACtC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE;QACvC,IAAI,MAAM,EAAE;YACX,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;;AAE/C,QAAA,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC;AAC9B,KAAC;AAED,IAAA,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAE,KAAc,KAAU;AACnE,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAe,CAAC;QAC1C,IAAI,QAAQ,GAAG,CAAC,IAAI,aAAa,KAAK,QAAQ,EAAE;YAC/C,kBAAkB,CAAC,QAAQ,CAAC;YAC5B,aAAa,GAAG,QAAQ;YACxB,OAAO,CAAC,aAAa,EAAE;YAEvB,UAAU,CAAC,MAAK;;gBACf,MAAM,OAAO,GAAG,aAAuB;AACvC,gBAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,gBAAgB,MAAG,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,KAAK,EAAE,OAAO,CAAC;AAClD,gBAAA,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE;gBACvC,IAAI,MAAM,EAAE;oBACX,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;;AAE5D,aAAC,CAAC;;AAEJ,KAAC;AAED,IAAA,MAAM,uBAAuB,GAAG,EAAE,QAAQ,EAAE,oBAAoB,EAAE;AAClE,IAAA,MAAM,oBAAoB,GAA8C,CAAC,KAAK,KAC7E,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,KAAE,EAAE,EAAE,uBAAuB,EAAA,CAAA,CAAG;AAGnF,IAAA,MAAM,mBAAmB,GAA6C;AACrE,QAAA,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;AAC/D,QAAA,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,KAAK,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;QAClH,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,KAAK,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;QAClF,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,KAAY,KAAK,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;KACtF;AAED,IAAA,MAAM,IAAI,GAAmB;QAC5B,kBAAkB,EAAE,CAAC,KAAK,KAAK,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACnG,gBAAgB,EAAE,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;QAC7F,eAAe,EAAE,CAAC,KAAK,KAAK,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,YAAY,kCAAO,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAK,EAAA,CAAC,EAAG,CAAC;QACvI,UAAU,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC;AAC/C,QAAA,QAAQ,EAAE,CAAC,KAAK,KAAI;YACnB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBAC1C;;YAED,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,KAAI;AACtC,gBAAA,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;AACrB,gBAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC;AACxD,aAAC,CAAC;SACF;QACD,OAAO,EAAE,CAAC,KAAK,KAAK,uBAAuB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACnF,QAAA,SAAS,EAAE,CAAC,KAAK,KAAI;YACpB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBAC1C;;YAED,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,KAAI;AAC9B,gBAAA,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;AACvB,gBAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxD,aAAC,CAAC;SACF;AACD,QAAA,aAAa,EAAE,CAAC,KAAK,KAAI;YACxB,kBAAkB,CAAC,KAAK,CAAC;YACzB,aAAa,GAAG,KAAK;SACrB;AAED,QAAA,oBAAoB,EAAE,CAAC,KAAK,KAC3B,mBAAmB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,eAAe,KAAI;AACpD,YAAA,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,eAAe,CAAC;AAC7C,YAAA,IAAI,QAA4B;AAChC,YAAA,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,gBAAA,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;AAClE,gBAAA,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;;AAEhC,YAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxD,SAAC,CAAC;QACH,iBAAiB,EAAE,CAAC,KAAK,KAAK,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAEhG,QAAA,iBAAiB,EAAE,CAAC,KAAK,KAAK,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,MAAA,GAAA,KAAK,GAAI,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AACzG,QAAA,IAAI,EAAE,CAAC,KAAK,KAAI;YACf,OAAO,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAQ,KAAK,CAAE;AACtB,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC;AAC5C,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;AACxC,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;AACtC,YAAA,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC;AAC7B,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC;AAClC,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,eAAe,CAAC;AAChD,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;AAC1C,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC;AAC1C,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B;AACD,QAAA,MAAM,EAAE,CAAC,KAAK,KAAI;AACjB,YAAA,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE;gBAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE;oBAChC,OAAO,GAAQ,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CAAE,EAAA,EAAA,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,EAAA,CAAE;oBAE3C,IAAI,GAAG,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE;wBAC3D,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAU,CAAC;;;;SAIrC;QACD,UAAU,EAAE,MAAK;YAChB,OAAO,CAAC,WAAW,EAAE;YACrB,eAAe,CAAC,WAAW,EAAE;YAC7B,OAAO;AACN,gBAAA,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC;AACzC,gBAAA,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;gBACrC,gBAAgB;gBAChB,eAAe;gBACf,oBAAoB;AACpB,gBAAA,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;AACnC,gBAAA,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;AACzB,gBAAA,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;gBACrB,mBAAmB;AACnB,gBAAA,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;AACnB,gBAAA,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AACvB,gBAAA,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;AAC/B,gBAAA,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAC7C,oBAAoB;AACpB,gBAAA,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;AACvC,gBAAA,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC;aACvC;SACD;QACD,IAAI,EAAE,MAAK;YACV,OAAO,CAAC,SAAS,EAAE;YACnB,eAAe,CAAC,SAAS,EAAE;SAC3B;QACD,OAAO,EAAE,MAAK;YACb,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,OAAO,EAAE;YACjB,eAAe,CAAC,OAAO,EAAE;SACzB;KACD;AAED,IAAA,MAAM,QAAQ,GAA4E;QACzF,aAAa,EAAE,IAAI,CAAC,kBAAkB;QACtC,WAAW,EAAE,IAAI,CAAC,gBAAgB;QAClC,UAAU,EAAE,IAAI,CAAC,eAAe;QAChC,KAAK,EAAE,IAAI,CAAC,UAAU;QACtB,GAAG,EAAE,IAAI,CAAC,QAAQ;QAClB,EAAE,EAAE,IAAI,CAAC,OAAO;QAChB,IAAI,EAAE,IAAI,CAAC,SAAS;QACpB,QAAQ,EAAE,IAAI,CAAC,aAAa;QAC5B,eAAe,EAAE,IAAI,CAAC,oBAAoB;QAC1C,YAAY,EAAE,IAAI,CAAC,iBAAiB;QACpC,YAAY,EAAE,IAAI,CAAC,iBAAiB;KACpC;AAED,IAAA,OAAO,IAAI;AACZ;;;;"}
1
+ {"version":3,"file":"item-DJ8LXOMv.js","sources":["src/internal/props/boundary-count.ts","src/internal/props/page.ts","src/internal/props/page-size.ts","src/internal/props/page-size-options.ts","src/internal/props/pagination-callbacks.ts","src/internal/props/pagination-has-buttons.ts","src/internal/props/pagination-label.ts","src/internal/props/pagination-max.ts","src/internal/props/sibling-count.ts","src/internal/functional-components/pagination/api.tsx","src/internal/functional-components/pagination/model.ts","src/internal/functional-components/pagination/component.tsx","src/internal/functional-components/pagination/page-size-select.tsx","src/internal/functional-components/pagination/item.ts"],"sourcesContent":["import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Boundary count prop of `kol-pagination`\n *\n * Description:\n * The number of pages shown next to the first and the last page. A negative value counts as 0.\n */\nexport type BoundaryCountProp = SimpleProp<'boundaryCount', number>;\nexport const boundaryCountProp = createPropDefinition<BoundaryCountProp>('boundaryCount', 1, (value) => Math.max(0, value as number));\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumberType } from './helpers/normalizers';\n\n/**\n * Page prop of `kol-pagination`\n *\n * Description:\n * The current page, starting at 1. The pagination clamps it to the available pages.\n */\nexport type PageProp = SimpleProp<'page', number>;\nexport const pageProp = createPropDefinition<PageProp>('page', 0, normalizeNumberType);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumberType } from './helpers/normalizers';\n\n/**\n * Page size prop of `kol-pagination`\n *\n * Description:\n * The number of entries per page. With page size options, a value that is not an option falls back\n * to the first option.\n */\nexport type PageSizeProp = SimpleProp<'pageSize', number>;\nexport const pageSizeProp = createPropDefinition<PageSizeProp>('pageSize', 1, normalizeNumberType);\n","import type { Option, Stringified } from '../../schema';\nimport { parseJson } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Page size options prop of `kol-pagination`\n *\n * Description:\n * The page sizes of the page size select, as an array of numbers or as a JSON string. One value that\n * is not a number rejects the whole list.\n */\nexport type PageSizeOptionsProp = Prop<'pageSizeOptions', Stringified<number[]>, Option<number>[]>;\n\nconst OBJECT_OBJECT = /^\\[object Object\\]$/;\n\nfunction normalizePageSizeOptions(value: unknown): Option<number>[] | never {\n\t// An empty string or '[object Object]' is what Stencil passes for an array it could not reflect.\n\tif (value === '' || (typeof value === 'string' && OBJECT_OBJECT.test(value))) {\n\t\tthrow new Error('Unreflected page size options');\n\t}\n\tconst parsed = typeof value === 'string' ? parseJson<unknown>(value) : value;\n\tif (Array.isArray(parsed) && parsed.every((item) => typeof item === 'number')) {\n\t\treturn parsed.map((size) => ({ label: `${size}`, value: size }));\n\t}\n\tthrow new Error('Invalid page size options');\n}\n\nexport const pageSizeOptionsProp = createPropDefinition<PageSizeOptionsProp>('pageSizeOptions', [], normalizePageSizeOptions);\n","import type { KoliBriPaginationButtonCallbacks } from '../../schema';\nimport type { SimpleProp } from './helpers/factory';\nimport { createCallbacksPropDefinition } from './helpers/factory';\n\nexport type PaginationCallbacksProp = SimpleProp<'on', KoliBriPaginationButtonCallbacks>;\n\nexport const paginationCallbacksProp = createCallbacksPropDefinition<KoliBriPaginationButtonCallbacks>();\n","import type { PaginationHasButton, Stringified } from '../../schema';\nimport { parseJson } from '../../schema';\nimport type { Prop } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Has buttons prop of `kol-pagination`\n *\n * Description:\n * Which navigation buttons to render: `true`/`false` for all four, or an object (also as JSON string)\n * that sets single buttons. The normalized value holds only the buttons the value sets; the\n * pagination merges it into the current buttons.\n */\nexport type PaginationHasButtonsProp = Prop<'hasButtons', boolean | Stringified<PaginationHasButton>, Partial<PaginationHasButton>>;\n\nconst BUTTONS = ['first', 'last', 'next', 'previous'] as const;\n\nconst allButtons = (shown: boolean): PaginationHasButton => ({ first: shown, last: shown, next: shown, previous: shown });\n\nfunction normalizeHasButtons(value: unknown): Partial<PaginationHasButton> | never {\n\tif (typeof value === 'boolean') {\n\t\treturn allButtons(value);\n\t}\n\tif (typeof value === 'object' && value !== null) {\n\t\tconst buttons: Partial<PaginationHasButton> = {};\n\t\tBUTTONS.forEach((button) => {\n\t\t\tconst shown = (value as Partial<Record<string, unknown>>)[button];\n\t\t\tif (typeof shown === 'boolean') {\n\t\t\t\tbuttons[button] = shown;\n\t\t\t}\n\t\t});\n\t\treturn buttons;\n\t}\n\tif (typeof value === 'string') {\n\t\tconst parsed = parseJson<unknown>(value);\n\t\t// A JSON string that is no object renders no button.\n\t\treturn typeof parsed === 'object' && parsed !== null ? normalizeHasButtons(parsed) : allButtons(false);\n\t}\n\tthrow new Error('Invalid pagination buttons');\n}\n\nexport const paginationHasButtonsProp = createPropDefinition<PaginationHasButtonsProp>('hasButtons', allButtons(true), normalizeHasButtons);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeString } from './helpers/normalizers';\n\n/**\n * Label prop of `kol-pagination`\n *\n * Description:\n * The accessible name of the navigation. Unlike `labelProp`, any string is accepted. Without a value\n * the pagination uses the translation `kol-pagination`.\n */\nexport type PaginationLabelProp = SimpleProp<'label', string>;\nexport const paginationLabelProp = createPropDefinition<PaginationLabelProp>('label', '', normalizeString);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\nimport { normalizeNumberType } from './helpers/normalizers';\n\n/**\n * Max prop of `kol-pagination`\n *\n * Description:\n * The total number of entries; 0 means no entries. `maxProp` does not fit, because it requires a\n * value above 0.\n */\nexport type PaginationMaxProp = SimpleProp<'max', number>;\nexport const paginationMaxProp = createPropDefinition<PaginationMaxProp>('max', 0, normalizeNumberType);\n","import type { SimpleProp } from './helpers/factory';\nimport { createPropDefinition } from './helpers/factory';\n\n/**\n * Sibling count prop of `kol-pagination`\n *\n * Description:\n * The number of pages shown on each side of the current page. A negative value counts as 0.\n */\nexport type SiblingCountProp = SimpleProp<'siblingCount', number>;\nexport const siblingCountProp = createPropDefinition<SiblingCountProp>('siblingCount', 1, (value) => Math.max(0, value as number));\n","import {\n\tboundaryCountProp,\n\tcustomClassProp,\n\tpageProp,\n\tpageSizeOptionsProp,\n\tpageSizeProp,\n\tpaginationCallbacksProp,\n\tpaginationHasButtonsProp,\n\tpaginationLabelProp,\n\tpaginationMaxProp,\n\tsiblingCountProp,\n\ttooltipAlignProp,\n} from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\n/**\n * `page` and `pageSize` hold the clamped page and the page size resolved against the options, not the\n * raw props.\n */\nexport const paginationPropsConfig = {\n\trequired: [pageProp, paginationCallbacksProp, paginationMaxProp],\n\toptional: [\n\t\tboundaryCountProp,\n\t\tcustomClassProp,\n\t\tpageSizeOptionsProp,\n\t\tpageSizeProp,\n\t\tpaginationHasButtonsProp,\n\t\tpaginationLabelProp,\n\t\tsiblingCountProp,\n\t\ttooltipAlignProp,\n\t],\n} as const satisfies PropsConfigShape;\n\nexport type PaginationApi = ApiFromConfig<\n\ttypeof paginationPropsConfig,\n\t{\n\t\tCallbacks: {\n\t\t\t/** A page button or a navigation button was clicked; `page` is its target page. */\n\t\t\tpageClick: (event: Event, page: number) => void;\n\t\t\t/** The page size select changed. */\n\t\t\tpageSizeChange: (event: Event, value: unknown) => void;\n\t\t};\n\t}\n>;\n","import type { Option } from '../../../schema';\n\n/** Number of pages; without a page size each entry is one page. */\nexport const getPageCount = (max: number, pageSize = 1): number => Math.ceil(max / pageSize);\n\n/**\n * The page a page outside the range is clamped to, or `undefined` when the page stays. Without entries\n * (`max` 0 or below) every page stays. An `undefined` page size counts as 1.\n */\nexport const clampPage = (page: number, pageSize: number | undefined, max: number): number | undefined => {\n\tif (max > 0) {\n\t\tconst count = getPageCount(max, pageSize);\n\t\tif (count > 0) {\n\t\t\tif (page > count) {\n\t\t\t\treturn count;\n\t\t\t}\n\t\t\tif (page < 1) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t}\n\t}\n\treturn undefined;\n};\n\n/** With page size options, a page size that is not an option falls back to the first option. */\nexport const resolvePageSize = (pageSize: number, options: Option<number>[]): number => {\n\tif (options.length > 0) {\n\t\treturn options.find((option) => option.value === pageSize)?.value ?? options[0].value;\n\t}\n\treturn pageSize;\n};\n\nexport type PageItem = { page: number; selected: boolean } | 'separator' | null;\n\n/**\n * One item per page: a page button for the first and last `boundaryCount` pages and `siblingCount`\n * pages on each side of the current page, a separator for the first hidden page after a shown one, and\n * `null` for the other hidden pages. The `null` items keep the positions of the rendered children\n * stable, so a re-render keeps the navigation buttons after the list (and their focus). A gap before the\n * first shown page has no separator.\n */\nexport const getPageItems = (page: number, count: number, boundaryCount: number, siblingCount: number): PageItem[] => {\n\tconst items: PageItem[] = [];\n\tlet afterPage = false;\n\tfor (let item = 1; item <= count; item++) {\n\t\tif (item <= boundaryCount || item > count - boundaryCount || (item >= page - siblingCount && item <= page + siblingCount)) {\n\t\t\tafterPage = true;\n\t\t\titems.push({ page: item, selected: item === page });\n\t\t} else if (afterPage) {\n\t\t\tafterPage = false;\n\t\t\titems.push('separator');\n\t\t} else {\n\t\t\titems.push(null);\n\t\t}\n\t}\n\treturn items;\n};\n\n/** First and last entry of the current page, numbered from 1. */\nexport const getVisibleRange = (page: number, pageSize: number, max: number): { start: number; end: number } => {\n\tconst highest = page * pageSize;\n\treturn {\n\t\tstart: Math.max(0, (page - 1) * pageSize + 1),\n\t\tend: max < highest ? max : highest,\n\t};\n};\n","import type { FunctionalComponent as FC, JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { translate } from '../../../i18n';\nimport type { InternalButtonProps } from '../../../schema';\nimport { bem } from '../../../schema/bem-registry';\nimport { nonce } from '../../../utils/dev.utils';\nimport { BemRootNodeFC } from '../bem-root-node/component';\nimport { ButtonFC } from '../button/component';\nimport type { ButtonItemFcProps, ButtonItemRootAttributes } from '../button/item';\nimport type { FunctionalComponentProps } from '../generic-types';\nimport type { PaginationApi } from './api';\nimport { getPageCount, getPageItems, getVisibleRange } from './model';\nimport type { PageSizeSelectInput } from './page-size-select';\n\nconst paginationBem = bem.forBlock('kol-pagination');\n\nconst leftDoubleArrowIcon = { left: 'kolicon-chevron-double-left' };\nconst leftSingleArrowIcon = { left: 'kolicon-chevron-left' };\nconst rightSingleArrowIcon = { right: 'kolicon-chevron-right' };\nconst rightDoubleArrowIcon = { right: 'kolicon-chevron-double-right' };\n\nconst userLanguage = ((language: string) => (language.includes('-') ? language : `${language}-${language.toUpperCase()}`))(navigator.language || 'de-DE');\nconst NUMBER_FORMATTER = new Intl.NumberFormat(userLanguage, {\n\tstyle: 'decimal',\n\tminimumFractionDigits: 0,\n\tmaximumFractionDigits: 0,\n});\n\nexport type NavigationPosition = 'first' | 'last' | 'next' | 'previous';\n\nexport type PaginationFCProps = FunctionalComponentProps<PaginationApi> & {\n\t/**\n\t * The `_on` objects of the navigation buttons. They keep their identity across renders, so a\n\t * re-render of the pagination does not re-render the navigation buttons.\n\t */\n\tnavigationCallbacks: Record<NavigationPosition, { onClick: (event: Event) => void }>;\n\t/** `ButtonFC` props of the page or navigation button `key`; the pagination item keeps one button item per key. */\n\tgetButtonFcProps: (key: string, props: InternalButtonProps, rootAttributes?: ButtonItemRootAttributes) => ButtonItemFcProps;\n\t/** The page size select; the pagination item keeps it while it is rendered. */\n\trenderPageSizeSelect: (input: Omit<PageSizeSelectInput, 'on'>) => JSX.Element;\n};\n\n/** The content of the pagination: the visible range, the navigation and the page size select. */\nexport const PaginationContentFC: FC<PaginationFCProps> = ({\n\tboundaryCount,\n\tcustomClass,\n\tgetButtonFcProps,\n\thandlePageClick,\n\thasButtons,\n\tlabel,\n\tmax,\n\tnavigationCallbacks,\n\tpage,\n\tpageSize,\n\tpageSizeOptions,\n\trenderPageSizeSelect,\n\tsiblingCount,\n\ttooltipAlign,\n}) => {\n\tconst count = getPageCount(max, pageSize);\n\tconst { start, end } = getVisibleRange(page, pageSize, max);\n\tconst navigationButton = (position: NavigationPosition, icons: Record<string, string>, buttonLabel: string, disabled: boolean) => (\n\t\t<li>\n\t\t\t<ButtonFC\n\t\t\t\t{...getButtonFcProps(\n\t\t\t\t\t`navigation-${position}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t_customClass: customClass,\n\t\t\t\t\t\t_disabled: disabled,\n\t\t\t\t\t\t_icons: icons,\n\t\t\t\t\t\t_hideLabel: true,\n\t\t\t\t\t\t_label: buttonLabel,\n\t\t\t\t\t\t_on: navigationCallbacks[position],\n\t\t\t\t\t\t_tooltipAlign: tooltipAlign,\n\t\t\t\t\t},\n\t\t\t\t\t{ class: paginationBem('button', { [position]: true }) },\n\t\t\t\t)}\n\t\t\t/>\n\t\t</li>\n\t);\n\tconst pageButton = (item: number, selected: boolean) => {\n\t\tconst pageText = NUMBER_FORMATTER.format(item);\n\t\tconst ariaDescription = `${translate('kol-page')} ${pageText}`;\n\t\treturn (\n\t\t\t<li key={nonce()}>\n\t\t\t\t{selected ? (\n\t\t\t\t\t<ButtonFC\n\t\t\t\t\t\t{...getButtonFcProps(\n\t\t\t\t\t\t\t`page-${item}`,\n\t\t\t\t\t\t\t{ _ariaDescription: ariaDescription, _customClass: customClass, _label: pageText },\n\t\t\t\t\t\t\t{ 'aria-current': 'page', class: `${paginationBem('button', { selected: true })} selected` },\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<ButtonFC\n\t\t\t\t\t\t{...getButtonFcProps(\n\t\t\t\t\t\t\t`page-${item}`,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t_ariaDescription: ariaDescription,\n\t\t\t\t\t\t\t\t_customClass: customClass,\n\t\t\t\t\t\t\t\t_label: pageText,\n\t\t\t\t\t\t\t\t_on: { onClick: (event: Event) => handlePageClick(event, item) },\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{ class: paginationBem('button', { numbers: true }) },\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t};\n\n\treturn [\n\t\t<span role=\"status\" aria-live=\"polite\" class={paginationBem('entries')}>\n\t\t\t{translate('kol-table-visible-range', {\n\t\t\t\tplaceholders: {\n\t\t\t\t\tstart: NUMBER_FORMATTER.format(start),\n\t\t\t\t\tend: NUMBER_FORMATTER.format(end),\n\t\t\t\t\ttotal: NUMBER_FORMATTER.format(max),\n\t\t\t\t},\n\t\t\t})}\n\t\t</span>,\n\t\t<nav class={paginationBem('navigation')} aria-label={label}>\n\t\t\t<ul class={paginationBem('navigation-list')}>\n\t\t\t\t{hasButtons.first && navigationButton('first', leftDoubleArrowIcon, translate('kol-page-first'), page <= 1)}\n\t\t\t\t{hasButtons.previous && navigationButton('previous', leftSingleArrowIcon, translate('kol-page-back'), page <= 1)}\n\t\t\t\t{getPageItems(page, count, boundaryCount, siblingCount).map((item) =>\n\t\t\t\t\titem === null ? null : item === 'separator' ? (\n\t\t\t\t\t\t<li key={nonce()}>\n\t\t\t\t\t\t\t<span class={paginationBem('separator')} aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tpageButton(item.page, item.selected)\n\t\t\t\t\t),\n\t\t\t\t)}\n\t\t\t\t{hasButtons.next && navigationButton('next', rightSingleArrowIcon, translate('kol-page-next'), count <= page)}\n\t\t\t\t{hasButtons.last && navigationButton('last', rightDoubleArrowIcon, translate('kol-page-last'), count <= page)}\n\t\t\t</ul>\n\t\t</nav>,\n\t\tpageSizeOptions?.length > 0 && (\n\t\t\t<div class=\"page-size\">\n\t\t\t\t<div class={paginationBem('page-size-select')}>\n\t\t\t\t\t{renderPageSizeSelect({ label: translate('kol-entries-per-site'), options: pageSizeOptions, value: pageSize })}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t),\n\t];\n};\n\n/** The pagination in its own root node, for `kol-pagination`. */\nexport const PaginationFC: FC<PaginationFCProps> = (props) => (\n\t<BemRootNodeFC block=\"kol-pagination\">\n\t\t<PaginationContentFC {...props} />\n\t</BemRootNodeFC>\n);\n","import type { JSX } from '@stencil/core';\nimport type { InputTypeOnDefault, Option, ShortKeyPropType, StencilUnknown, Stringified } from '../../../schema';\nimport { createUniqueId } from '../../../utils/dev.utils';\nimport { createCtaRef } from '../../../utils/element-interaction';\nimport { selectPropsConfig } from '../select/api';\nimport { BaseSelectWebComponent } from '../select/base-web-component';\n\n/** The props of the page size select that change with the pagination. */\nexport type PageSizeSelectInput = {\n\tlabel: string;\n\ton: InputTypeOnDefault;\n\toptions: Option<number>[];\n\tvalue: number;\n};\n\n/**\n * The page size select of a pagination: the select field of `kol-select`, rendered into the shadow root\n * of the element that renders the pagination (`kol-pagination`, `kol-table-stateful`) instead of an\n * element of its own. That element receives the KoliBri events of the select and frames its focus, so\n * moving the focus from the select to a page button sends no blur.\n *\n * Without an element of its own, the class does what Stencil does for one: the first `render` applies\n * the props in the load order of `kol-select`; each later `render` applies the props that changed, like\n * their watchers. A state change or a prop the select writes itself (`_value`, `_touched`) renders the\n * embedding element again through `requestRender`.\n */\nexport class PageSizeSelect extends BaseSelectWebComponent {\n\tpublic _disabled?: boolean = false;\n\tpublic _multiple?: boolean = false;\n\tpublic _on?: InputTypeOnDefault;\n\n\tprotected readonly ctaRef = createCtaRef<HTMLSelectElement>();\n\n\tpublic readonly id = createUniqueId('select');\n\n\tprivate loaded = false;\n\tprivate passed?: PageSizeSelectInput;\n\tprivate focused = false;\n\tprivate touched = false;\n\tprivate value?: Stringified<StencilUnknown[]> | Stringified<StencilUnknown>;\n\n\tpublic constructor(\n\t\tprivate readonly getHost: () => HTMLElement | undefined,\n\t\tprivate readonly requestRender: () => void,\n\t) {\n\t\tsuper();\n\t\tthis.initFormAssociation('select');\n\t}\n\n\t/** The base class reads the host while it is constructed, before `getHost` is assigned. */\n\tprotected get host(): HTMLElement | undefined {\n\t\treturn this.getHost?.();\n\t}\n\n\tpublic get inputHasFocus(): boolean {\n\t\treturn this.focused;\n\t}\n\n\tpublic set inputHasFocus(value: boolean) {\n\t\tif (value !== this.focused) {\n\t\t\tthis.focused = value;\n\t\t\tthis.requestRender();\n\t\t}\n\t}\n\n\tpublic get _touched(): boolean | undefined {\n\t\treturn this.touched;\n\t}\n\n\tpublic set _touched(value: boolean | undefined) {\n\t\tif (value !== this.touched) {\n\t\t\tthis.touched = value === true;\n\t\t\tthis.applyTouched(value);\n\t\t\tthis.requestRender();\n\t\t}\n\t}\n\n\tpublic get _value(): Stringified<StencilUnknown[]> | Stringified<StencilUnknown> | undefined {\n\t\treturn this.value;\n\t}\n\n\tpublic set _value(value: Stringified<StencilUnknown[]> | Stringified<StencilUnknown> | undefined) {\n\t\tif (value !== this.value) {\n\t\t\tthis.value = value;\n\t\t\tthis.applyValue(value);\n\t\t\tthis.requestRender();\n\t\t}\n\t}\n\n\tprotected getAccessKeyProp(): string | undefined {\n\t\treturn undefined;\n\t}\n\n\tprotected getShortKeyProp(): ShortKeyPropType | undefined {\n\t\treturn undefined;\n\t}\n\n\t/** Call once per render of the embedding element. */\n\tpublic render(input: PageSizeSelectInput): JSX.Element {\n\t\tif (this.loaded) {\n\t\t\tthis.update(input);\n\t\t} else {\n\t\t\tthis.load(input);\n\t\t}\n\t\treturn this.renderSelectField();\n\t}\n\n\t/** Call from `componentDidRender` of the embedding element. */\n\tpublic sync(): void {\n\t\tthis.syncFormField();\n\t}\n\n\t/** Call when the select is no longer rendered. */\n\tpublic destroy(): void {\n\t\tthis.destroyFormField();\n\t}\n\n\t/** The props the pagination does not pass keep the defaults of `kol-select`. */\n\tprivate load(input: PageSizeSelectInput): void {\n\t\tthis.passed = input;\n\t\tthis._on = input.on;\n\t\tthis.value = input.value;\n\t\tthis.initRenderProps(selectPropsConfig);\n\n\t\tthis.applyAriaDetails(undefined);\n\t\tthis.applyName(undefined);\n\t\tthis.applySyncValueBySelector(undefined);\n\t\tthis.applyTouched(false);\n\t\tthis.applyAccessKey(undefined);\n\t\tthis.applyMsg(undefined);\n\t\tthis.applyDisabled(false);\n\t\tthis.applyHideMsg(false);\n\t\tthis.applyHideLabel(false);\n\t\tthis.applyHint('');\n\t\tthis.applyInfoPopover(undefined);\n\t\tthis.applyLabel(input.label);\n\t\tthis.applyShortKey(undefined);\n\t\tthis.applyOn(input.on);\n\t\tthis.applyTooltipAlign('top');\n\t\tthis.applyVariant(undefined);\n\t\tthis.applyTabIndex(undefined);\n\t\tthis.applyIcons(undefined);\n\t\tthis.applyOptions(input.options);\n\t\tthis.applyMultiple(false);\n\t\tthis.applyRequired(false);\n\t\tthis.applyRows(undefined);\n\t\tthis.applyValue(input.value);\n\t\tthis.loaded = true;\n\t}\n\n\t/**\n\t * Applies the props that differ from the last passed ones, in the order the pagination passes them.\n\t * The value is applied only when it also differs from the current one, which an earlier choice in the\n\t * select may already hold. It does not render again: the embedding element is rendering.\n\t */\n\tprivate update(input: PageSizeSelectInput): void {\n\t\tconst passed = this.passed!;\n\t\tthis.passed = input;\n\t\tif (input.label !== passed.label) {\n\t\t\tthis.applyLabel(input.label);\n\t\t}\n\t\tif (input.options !== passed.options) {\n\t\t\tthis.applyOptions(input.options);\n\t\t}\n\t\tif (input.on !== passed.on) {\n\t\t\tthis._on = input.on;\n\t\t\tthis.applyOn(input.on);\n\t\t}\n\t\tif (input.value !== passed.value && input.value !== this.value) {\n\t\t\tthis.value = input.value;\n\t\t\tthis.applyValue(input.value);\n\t\t}\n\t}\n}\n","import { translate } from '../../../i18n';\nimport type {\n\tCustomClassPropType,\n\tInternalButtonProps,\n\tKoliBriPaginationButtonCallbacks,\n\tPaginationHasButton,\n\tStringified,\n\tTooltipAlignPropType,\n} from '../../../schema';\nimport { STATE_CHANGE_EVENT } from '../../../schema';\nimport { dispatchDomEvent, KolEvent } from '../../../utils/events';\nimport { addNavLabel, removeNavLabel } from '../../../utils/unique-nav-labels';\nimport {\n\tboundaryCountProp,\n\tcustomClassProp,\n\tpageProp,\n\tpageSizeOptionsProp,\n\tpageSizeProp,\n\tpaginationCallbacksProp,\n\tpaginationHasButtonsProp,\n\tpaginationLabelProp,\n\tpaginationMaxProp,\n\tsiblingCountProp,\n\ttooltipAlignProp,\n} from '../../props';\nimport type { ButtonItem, ButtonItemFcProps, ButtonItemRootAttributes } from '../button/item';\nimport { createButtonItem } from '../button/item';\nimport { createItemPool } from '../item-pool';\nimport { buildDefaultPropsFromConfig } from '../props-from-config';\nimport { paginationPropsConfig } from './api';\nimport type { PaginationFCProps } from './component';\nimport { clampPage, getPageCount, resolvePageSize } from './model';\nimport { PageSizeSelect } from './page-size-select';\n\n/** The render props of the pagination, as `PaginationFC` receives them. */\nexport type PaginationRenderProps = Omit<\n\tPaginationFCProps,\n\t'getButtonFcProps' | 'handlePageClick' | 'handlePageSizeChange' | 'navigationCallbacks' | 'renderPageSizeSelect'\n>;\n\n/** Where the item keeps its render props; `kol-pagination` passes its own render props. */\nexport type PaginationPropsStore = {\n\tget<K extends keyof PaginationRenderProps>(key: K): PaginationRenderProps[K];\n\tset<K extends keyof PaginationRenderProps>(key: K, value: PaginationRenderProps[K]): void;\n};\n\n/** The `_`-props of a pagination, without the underscore. */\nexport type PaginationInput = {\n\tboundaryCount?: number;\n\tcustomClass?: CustomClassPropType;\n\thasButtons?: boolean | Stringified<PaginationHasButton>;\n\tlabel?: string;\n\tmax?: number;\n\ton?: KoliBriPaginationButtonCallbacks;\n\tpage?: number;\n\tpageSize?: number;\n\tpageSizeOptions?: Stringified<number[]>;\n\tsiblingCount?: number;\n\ttooltipAlign?: TooltipAlignPropType;\n};\n\n/**\n * The order in which `update` applies changed inputs: the attribute order in which `kol-table-stateful`\n * passes them. Within one update, an earlier input clamps the page before a later one is applied.\n */\nconst UPDATE_ORDER: (keyof PaginationInput)[] = [\n\t'boundaryCount',\n\t'customClass',\n\t'hasButtons',\n\t'on',\n\t'page',\n\t'pageSize',\n\t'pageSizeOptions',\n\t'siblingCount',\n\t'tooltipAlign',\n\t'max',\n\t'label',\n];\n\nexport type PaginationItem = {\n\tapplyBoundaryCount: (value?: number) => void;\n\tapplyCustomClass: (value?: CustomClassPropType) => void;\n\t/** An object sets single buttons and keeps the others. */\n\tapplyHasButtons: (value?: boolean | Stringified<PaginationHasButton>) => void;\n\tapplyLabel: (value?: string) => void;\n\tapplyMax: (value?: number) => void;\n\tapplyOn: (value?: KoliBriPaginationButtonCallbacks) => void;\n\tapplyPage: (value?: number) => void;\n\t/** Applies `_pageSize`; it also becomes the page size a choice in the select is compared against. */\n\tapplyPageSize: (value?: number) => void;\n\tapplyPageSizeOptions: (value?: Stringified<number[]>) => void;\n\tapplySiblingCount: (value?: number) => void;\n\tapplyTooltipAlign: (value?: TooltipAlignPropType) => void;\n\t/**\n\t * Applies all inputs in the load order of the element. The page is applied again last: only then are\n\t * page size and number of entries known to clamp it, so a clamped page is reported twice.\n\t */\n\tload: (input: PaginationInput) => void;\n\t/**\n\t * Applies the inputs that differ from the last passed ones, like the props of a child element in a\n\t * render: a value passed again unchanged is not applied, even if the item changed it meanwhile.\n\t */\n\tupdate: (input: PaginationInput) => void;\n\t/** Fully resolved props for `PaginationFC` and `PaginationContentFC`. Call once per render. */\n\tgetFcProps: () => PaginationFCProps;\n\t/** Syncs the buttons and the page size select of the last render. Call from `componentDidRender`. */\n\tsync: () => void;\n\t/** Removes the navigation label from the register of unique labels and tears down the buttons and the page size select. */\n\tdestroy: () => void;\n};\n\nexport type PaginationItemOptions = {\n\t/**\n\t * Element the `click`, `changepage` and `changepagesize` events and the events of the page size select\n\t * are dispatched on; also the element the feature flags of the buttons are resolved against.\n\t */\n\tgetEventTarget: () => HTMLElement | undefined;\n\t/** Renders the embedding element again after a page size was chosen or the state of the select changed. */\n\trequestRender: () => void;\n\t/** Keeps the render props; without it the item keeps them itself. */\n\tstore?: PaginationPropsStore;\n};\n\nconst createLocalStore = (): PaginationPropsStore => {\n\tconst props = buildDefaultPropsFromConfig(paginationPropsConfig) as unknown as PaginationRenderProps;\n\treturn {\n\t\tget: (key) => props[key],\n\t\tset: (key, value) => {\n\t\t\tprops[key] = value;\n\t\t},\n\t};\n};\n\n/**\n * One orchestrated pagination: the props, the page clamping and the events of `PaginationFC`. It is a\n * plain object with closures, like `popover-button/item.ts`, so `kol-pagination` and\n * `kol-table-stateful` (which inherits the stateless table) compose it instead of inheriting it.\n *\n * Page, page size, page size options and the number of entries depend on each other: every change of\n * one of them clamps the current page to the available pages, and a clamped page is reported through\n * `onChangePage` and `changepage` with the `StateChange` event. Without a value, `page`, `pageSize` and\n * `max` keep the current one.\n */\nexport const createPaginationItem = (options: PaginationItemOptions): PaginationItem => {\n\tconst store = options.store ?? createLocalStore();\n\tconst translatePagination = translate('kol-pagination');\n\tconst buttons = createItemPool<ButtonItem>(\n\t\t() => createButtonItem(options.getEventTarget),\n\t\t(button) => button.syncListeners(),\n\t\t(button) => button.destroy(),\n\t);\n\tconst getButtonFcProps = (key: string, props: InternalButtonProps, rootAttributes?: ButtonItemRootAttributes): ButtonItemFcProps =>\n\t\tbuttons.get(key).getFcProps(props, rootAttributes);\n\tconst pageSizeSelects = createItemPool<PageSizeSelect>(\n\t\t() => new PageSizeSelect(options.getEventTarget, options.requestRender),\n\t\t(select) => select.sync(),\n\t\t(select) => select.destroy(),\n\t);\n\tlet pageSizeValue: number | undefined = 1;\n\tlet applied: PaginationInput = {};\n\n\tstore.set('label', translatePagination);\n\n\tconst reportPageChange = (event: Event, page: number): void => {\n\t\tsetTimeout(() => {\n\t\t\tstore.get('on').onChangePage?.(event, page);\n\t\t\tconst target = options.getEventTarget();\n\t\t\tif (target) {\n\t\t\t\tdispatchDomEvent(target, KolEvent.changePage, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst syncPage = (page: number, pageSize: number | undefined, max: number): void => {\n\t\tconst clamped = clampPage(page, pageSize, max);\n\t\tif (clamped !== undefined) {\n\t\t\tstore.set('page', clamped);\n\t\t\treportPageChange(STATE_CHANGE_EVENT, clamped);\n\t\t}\n\t};\n\n\tconst applyPageSizeValue = (value?: number): void => {\n\t\tif (value === undefined || value === null) {\n\t\t\treturn;\n\t\t}\n\t\tpageSizeProp.apply(value, (pageSize) => {\n\t\t\tconst resolved = resolvePageSize(pageSize, store.get('pageSizeOptions'));\n\t\t\tstore.set('pageSize', resolved);\n\t\t\tsyncPage(store.get('page'), resolved, store.get('max'));\n\t\t});\n\t};\n\n\tconst applyLabel = (value: string | undefined, initial: boolean): void => {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(store.get('label'));\n\t\t}\n\t\tpaginationLabelProp.apply(value ?? translatePagination, (v) => store.set('label', v));\n\t\taddNavLabel(store.get('label'));\n\t};\n\n\tconst handlePageClick = (event: Event, page: number): void => {\n\t\tstore.get('on').onClick?.(event, page);\n\t\tconst target = options.getEventTarget();\n\t\tif (target) {\n\t\t\tdispatchDomEvent(target, KolEvent.click, page);\n\t\t}\n\t\treportPageChange(event, page);\n\t};\n\n\tconst handlePageSizeChange = (event: Event, value: unknown): void => {\n\t\tconst pageSize = parseInt(value as string);\n\t\tif (pageSize > 0 && pageSizeValue !== pageSize) {\n\t\t\tapplyPageSizeValue(pageSize);\n\t\t\tpageSizeValue = pageSize;\n\t\t\toptions.requestRender();\n\t\t\t// Reports the page size of the element when the timeout runs; it is the chosen one unless `_pageSize` changed meanwhile.\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst current = pageSizeValue as number;\n\t\t\t\tstore.get('on').onChangePageSize?.(event, current);\n\t\t\t\tconst target = options.getEventTarget();\n\t\t\t\tif (target) {\n\t\t\t\t\tdispatchDomEvent(target, KolEvent.changePageSize, current);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst pageSizeSelectCallbacks = { onChange: handlePageSizeChange };\n\tconst renderPageSizeSelect: PaginationFCProps['renderPageSizeSelect'] = (input) =>\n\t\tpageSizeSelects.get('page-size').render({ ...input, on: pageSizeSelectCallbacks });\n\n\t/** The targets are read when the button is clicked, from the current page and number of pages. */\n\tconst navigationCallbacks: PaginationFCProps['navigationCallbacks'] = {\n\t\tfirst: { onClick: (event: Event) => handlePageClick(event, 1) },\n\t\tlast: { onClick: (event: Event) => handlePageClick(event, getPageCount(store.get('max'), store.get('pageSize'))) },\n\t\tnext: { onClick: (event: Event) => handlePageClick(event, store.get('page') + 1) },\n\t\tprevious: { onClick: (event: Event) => handlePageClick(event, store.get('page') - 1) },\n\t};\n\n\tconst item: PaginationItem = {\n\t\tapplyBoundaryCount: (value) => boundaryCountProp.apply(value, (v) => store.set('boundaryCount', v)),\n\t\tapplyCustomClass: (value) => customClassProp.apply(value, (v) => store.set('customClass', v)),\n\t\tapplyHasButtons: (value) => paginationHasButtonsProp.apply(value, (v) => store.set('hasButtons', { ...store.get('hasButtons'), ...v })),\n\t\tapplyLabel: (value) => applyLabel(value, false),\n\t\tapplyMax: (value) => {\n\t\t\tif (value === undefined || value === null) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpaginationMaxProp.apply(value, (max) => {\n\t\t\t\tstore.set('max', max);\n\t\t\t\tsyncPage(store.get('page'), store.get('pageSize'), max);\n\t\t\t});\n\t\t},\n\t\tapplyOn: (value) => paginationCallbacksProp.apply(value, (v) => store.set('on', v)),\n\t\tapplyPage: (value) => {\n\t\t\tif (value === undefined || value === null) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tpageProp.apply(value, (page) => {\n\t\t\t\tstore.set('page', page);\n\t\t\t\tsyncPage(page, store.get('pageSize'), store.get('max'));\n\t\t\t});\n\t\t},\n\t\tapplyPageSize: (value) => {\n\t\t\tapplyPageSizeValue(value);\n\t\t\tpageSizeValue = value;\n\t\t},\n\t\t/** Without options the page is clamped as if each entry were one page. */\n\t\tapplyPageSizeOptions: (value) =>\n\t\t\tpageSizeOptionsProp.apply(value, (pageSizeOptions) => {\n\t\t\t\tstore.set('pageSizeOptions', pageSizeOptions);\n\t\t\t\tlet pageSize: number | undefined;\n\t\t\t\tif (pageSizeOptions.length > 0) {\n\t\t\t\t\tpageSize = resolvePageSize(store.get('pageSize'), pageSizeOptions);\n\t\t\t\t\tstore.set('pageSize', pageSize);\n\t\t\t\t}\n\t\t\t\tsyncPage(store.get('page'), pageSize, store.get('max'));\n\t\t\t}),\n\t\tapplySiblingCount: (value) => siblingCountProp.apply(value, (v) => store.set('siblingCount', v)),\n\t\t/** Pagination buttons show the tooltip on top by default; the shared prop defaults to `'right'`. */\n\t\tapplyTooltipAlign: (value) => tooltipAlignProp.apply(value ?? 'top', (v) => store.set('tooltipAlign', v)),\n\t\tload: (input) => {\n\t\t\tapplied = { ...input };\n\t\t\titem.applyBoundaryCount(input.boundaryCount);\n\t\t\titem.applyCustomClass(input.customClass);\n\t\t\titem.applyHasButtons(input.hasButtons);\n\t\t\tapplyLabel(input.label, true);\n\t\t\titem.applyOn(input.on);\n\t\t\titem.applyPage(input.page);\n\t\t\titem.applyPageSize(input.pageSize);\n\t\t\titem.applyPageSizeOptions(input.pageSizeOptions);\n\t\t\titem.applySiblingCount(input.siblingCount);\n\t\t\titem.applyTooltipAlign(input.tooltipAlign);\n\t\t\titem.applyMax(input.max);\n\t\t\titem.applyPage(input.page);\n\t\t},\n\t\tupdate: (input) => {\n\t\t\tfor (const key of UPDATE_ORDER) {\n\t\t\t\tif (input[key] !== applied[key]) {\n\t\t\t\t\tapplied = { ...applied, [key]: input[key] };\n\t\t\t\t\t// A page size chosen in the select is the current one: passing it again changes nothing.\n\t\t\t\t\tif (key !== 'pageSize' || input.pageSize !== pageSizeValue) {\n\t\t\t\t\t\tappliers[key](input[key] as never);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tgetFcProps: () => {\n\t\t\tbuttons.beginRender();\n\t\t\tpageSizeSelects.beginRender();\n\t\t\treturn {\n\t\t\t\tboundaryCount: store.get('boundaryCount'),\n\t\t\t\tcustomClass: store.get('customClass'),\n\t\t\t\tgetButtonFcProps,\n\t\t\t\thandlePageClick,\n\t\t\t\thandlePageSizeChange,\n\t\t\t\thasButtons: store.get('hasButtons'),\n\t\t\t\tlabel: store.get('label'),\n\t\t\t\tmax: store.get('max'),\n\t\t\t\tnavigationCallbacks,\n\t\t\t\ton: store.get('on'),\n\t\t\t\tpage: store.get('page'),\n\t\t\t\tpageSize: store.get('pageSize'),\n\t\t\t\tpageSizeOptions: store.get('pageSizeOptions'),\n\t\t\t\trenderPageSizeSelect,\n\t\t\t\tsiblingCount: store.get('siblingCount'),\n\t\t\t\ttooltipAlign: store.get('tooltipAlign'),\n\t\t\t};\n\t\t},\n\t\tsync: () => {\n\t\t\tbuttons.endRender();\n\t\t\tpageSizeSelects.endRender();\n\t\t},\n\t\tdestroy: () => {\n\t\t\tremoveNavLabel(store.get('label'));\n\t\t\tbuttons.destroy();\n\t\t\tpageSizeSelects.destroy();\n\t\t},\n\t};\n\n\tconst appliers: { [K in keyof PaginationInput]-?: (value: PaginationInput[K]) => void } = {\n\t\tboundaryCount: item.applyBoundaryCount,\n\t\tcustomClass: item.applyCustomClass,\n\t\thasButtons: item.applyHasButtons,\n\t\tlabel: item.applyLabel,\n\t\tmax: item.applyMax,\n\t\ton: item.applyOn,\n\t\tpage: item.applyPage,\n\t\tpageSize: item.applyPageSize,\n\t\tpageSizeOptions: item.applyPageSizeOptions,\n\t\tsiblingCount: item.applySiblingCount,\n\t\ttooltipAlign: item.applyTooltipAlign,\n\t};\n\n\treturn item;\n};\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
4
  import { X } from './common-BqpMtheU.js';
5
- import { n as nonce, c as createUniqueId } from './dev.utils-CYtV9X0K.js';
5
+ import { n as nonce, c as createUniqueId } from './dev.utils-BGy8dbtQ.js';
6
6
  import { c as createCtaRef } from './element-interaction-Cy9tx3Sx.js';
7
7
  import { d as dispatchDomEvent, K as KolEvent } from './events-CRHxtwup.js';
8
8
  import { e as ariaHasPopupProp, a as ariaSelectedProp, c as buttonCallbacksProp, d as buttonTypeProp } from './api-BvTefIaj.js';
@@ -10,7 +10,7 @@ import { d as disabledProp } from './disabled-CdyeAMlW.js';
10
10
  import { a as accessKeyProp, c as ariaDescriptionProp, g as customClassProp, h as hideLabelProp, i as inlineProp, l as linkRoleProp, d as shortKeyProp, s as spanIconsProp, t as tabIndexProp, e as tooltipAlignProp, v as variantProp } from './variant-CeijQFzL.js';
11
11
  import { B as BaseWebComponent, d as buildDefaultPropsFromConfig } from './base-web-component-3R1Dy3QK.js';
12
12
  import { l as labelWithExpertSlotProp } from './label-with-expert-slot-CocPu9HB.js';
13
- import { p as popoverAlignProp, a as PopoverBehavior } from './component-Bd7PXqOG.js';
13
+ import { p as popoverAlignProp, a as PopoverBehavior } from './component-Ch6fss2f.js';
14
14
  import { r as resolveButtonProps } from './resolve-props-YWmoYL6c.js';
15
15
  import { i as idProp, T as TooltipBehavior } from './behavior-D1kOlK6p.js';
16
16
  import { n as nameProp } from './name-D8963H-v.js';
@@ -172,6 +172,6 @@ const createPopoverButtonItem = (options) => {
172
172
  };
173
173
 
174
174
  export { createPopoverButtonItem as c };
175
- //# sourceMappingURL=item-CXyolUj2.js.map
175
+ //# sourceMappingURL=item-DbLIGnc9.js.map
176
176
 
177
- //# sourceMappingURL=item-CXyolUj2.js.map
177
+ //# sourceMappingURL=item-DbLIGnc9.js.map