@public-ui/components 4.5.0-rc.7 → 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 (501) 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 -1
  7. package/dist/cjs/{Heading-d30Feghg.js → Heading-yiwXjRrz.js} +3 -3
  8. package/dist/cjs/{Heading-d30Feghg.js.map → Heading-yiwXjRrz.js.map} +1 -1
  9. package/dist/cjs/{api-C8ZkIyx7.js → api-BDT5xkx5.js} +8 -8
  10. package/dist/cjs/{api-C8ZkIyx7.js.map → api-BDT5xkx5.js.map} +1 -1
  11. package/dist/cjs/{api-CRSjJs8P.js → api-BI1qXrGa.js} +12 -12
  12. package/dist/cjs/{api-CRSjJs8P.js.map → api-BI1qXrGa.js.map} +1 -1
  13. package/dist/cjs/{app-globals-B6wB2cXk.js → app-globals-DPVGNVgE.js} +4 -4
  14. package/dist/cjs/{app-globals-B6wB2cXk.js.map → app-globals-DPVGNVgE.js.map} +1 -1
  15. package/dist/cjs/{base-CyQnTxi6.js → base-B_M9Y7nD.js} +4 -4
  16. package/dist/cjs/{base-CyQnTxi6.js.map → base-B_M9Y7nD.js.map} +1 -1
  17. package/dist/cjs/{base-LmwA5h1k.js → base-CaQNXZrN.js} +5 -5
  18. package/dist/cjs/{base-LmwA5h1k.js.map → base-CaQNXZrN.js.map} +1 -1
  19. package/dist/cjs/{base-C3MDHUog.js → base-DlsemYqM.js} +4 -4
  20. package/dist/cjs/{base-C3MDHUog.js.map → base-DlsemYqM.js.map} +1 -1
  21. package/dist/cjs/{base-DgUZAiNc.js → base-FZ2Hemhr.js} +16 -16
  22. package/dist/cjs/{base-DgUZAiNc.js.map → base-FZ2Hemhr.js.map} +1 -1
  23. package/dist/cjs/{base-web-component-C-CwpVZw.js → base-web-component-BK8X1O8C.js} +5 -5
  24. package/dist/cjs/{base-web-component-C-CwpVZw.js.map → base-web-component-BK8X1O8C.js.map} +1 -1
  25. package/dist/cjs/{base-web-component-d2k3Mc9P.js → base-web-component-GLk66TOu.js} +7 -7
  26. package/dist/cjs/{base-web-component-d2k3Mc9P.js.map → base-web-component-GLk66TOu.js.map} +1 -1
  27. package/dist/cjs/{behavior-C-BdOoSN.js → behavior-BEaXHesG.js} +3 -3
  28. package/dist/cjs/{behavior-C-BdOoSN.js.map → behavior-BEaXHesG.js.map} +1 -1
  29. package/dist/cjs/{component-BairlFHi.js → component-3EZdZbDH.js} +3 -3
  30. package/dist/cjs/{component-BairlFHi.js.map → component-3EZdZbDH.js.map} +1 -1
  31. package/dist/cjs/{component-DaAVlb5U.js → component-B96XYPtn.js} +4 -4
  32. package/dist/cjs/{component-DaAVlb5U.js.map → component-B96XYPtn.js.map} +1 -1
  33. package/dist/cjs/{component-DITtC2F9.js → component-BUCx7i5o.js} +7 -7
  34. package/dist/cjs/{component-DITtC2F9.js.map → component-BUCx7i5o.js.map} +1 -1
  35. package/dist/cjs/{component-D2kI8uwF.js → component-Bc8fDajy.js} +5 -5
  36. package/dist/cjs/{component-D2kI8uwF.js.map → component-Bc8fDajy.js.map} +1 -1
  37. package/dist/cjs/{component-D33lYKYT.js → component-Be3QHUyC.js} +3 -3
  38. package/dist/cjs/{component-D33lYKYT.js.map → component-Be3QHUyC.js.map} +1 -1
  39. package/dist/cjs/{component-B1zMXSkZ.js → component-Bj4QdlXm.js} +5 -5
  40. package/dist/cjs/{component-B1zMXSkZ.js.map → component-Bj4QdlXm.js.map} +1 -1
  41. package/dist/cjs/{component-CmyhDJ0r.js → component-CAkixzEQ.js} +3 -3
  42. package/dist/cjs/{component-CmyhDJ0r.js.map → component-CAkixzEQ.js.map} +1 -1
  43. package/dist/cjs/{component-BIz_gAas.js → component-CPVFCnaN.js} +7 -7
  44. package/dist/cjs/{component-BIz_gAas.js.map → component-CPVFCnaN.js.map} +1 -1
  45. package/dist/cjs/{component-_jdRFw0Y.js → component-Dd-PS3jp.js} +4 -4
  46. package/dist/cjs/{component-_jdRFw0Y.js.map → component-Dd-PS3jp.js.map} +1 -1
  47. package/dist/cjs/{component-KT0MKnL5.js → component-DjDOgcWW.js} +5 -5
  48. package/dist/cjs/{component-KT0MKnL5.js.map → component-DjDOgcWW.js.map} +1 -1
  49. package/dist/cjs/{component-BHDnSaCH.js → component-Du98sklA.js} +3 -3
  50. package/dist/cjs/{component-BHDnSaCH.js.map → component-Du98sklA.js.map} +1 -1
  51. package/dist/cjs/{component-B1kzY-J5.js → component-Dw6Tq7Wb.js} +4 -4
  52. package/dist/cjs/{component-B1kzY-J5.js.map → component-Dw6Tq7Wb.js.map} +1 -1
  53. package/dist/cjs/{dev.utils-B1bWgxrQ.js → dev.utils-DybQ4euF.js} +3 -3
  54. package/dist/cjs/{dev.utils-B1bWgxrQ.js.map → dev.utils-DybQ4euF.js.map} +1 -1
  55. package/dist/cjs/{devtools-DlcIXbRm.js → devtools-Bw5sQJOl.js} +4 -4
  56. package/dist/cjs/{devtools-DlcIXbRm.js.map → devtools-Bw5sQJOl.js.map} +1 -1
  57. package/dist/cjs/{field-control-D0lryu2-.js → field-control-4CnbMR0i.js} +8 -8
  58. package/dist/cjs/{field-control-D0lryu2-.js.map → field-control-4CnbMR0i.js.map} +1 -1
  59. package/dist/cjs/{group-DIGY9sM6.js → group-BCkxYeMA.js} +5 -5
  60. package/dist/cjs/{group-DIGY9sM6.js.map → group-BCkxYeMA.js.map} +1 -1
  61. package/dist/cjs/{index-qcrGfEY6.js → index-RAfZF5x0.js} +3 -3
  62. package/dist/cjs/{index-qcrGfEY6.js.map → index-RAfZF5x0.js.map} +1 -1
  63. package/dist/cjs/{input-BjNjOSo5.js → input-7t7ZvgAy.js} +5 -5
  64. package/dist/cjs/{input-BjNjOSo5.js.map → input-7t7ZvgAy.js.map} +1 -1
  65. package/dist/cjs/{input-container-DghKiuUH.js → input-container-BUK2Fp_t.js} +7 -7
  66. package/dist/cjs/{input-container-DghKiuUH.js.map → input-container-BUK2Fp_t.js.map} +1 -1
  67. package/dist/cjs/{item-CFojolE7.js → item-BInO5rWQ.js} +8 -8
  68. package/dist/cjs/{item-CFojolE7.js.map → item-BInO5rWQ.js.map} +1 -1
  69. package/dist/cjs/{item-DdnTb-BP.js → item-D8Zz2ROC.js} +3 -3
  70. package/dist/cjs/{item-DdnTb-BP.js.map → item-D8Zz2ROC.js.map} +1 -1
  71. package/dist/cjs/{item-BKz8BDg2.js → item-DO176juh.js} +4 -4
  72. package/dist/cjs/{item-BKz8BDg2.js.map → item-DO176juh.js.map} +1 -1
  73. package/dist/cjs/{item-BMB6SaVm.js → item-K1SS6pAu.js} +4 -4
  74. package/dist/cjs/{item-BMB6SaVm.js.map → item-K1SS6pAu.js.map} +1 -1
  75. package/dist/cjs/kol-abbr.cjs.entry.js +2 -2
  76. package/dist/cjs/kol-accordion.cjs.entry.js +7 -7
  77. package/dist/cjs/kol-alert.cjs.entry.js +11 -11
  78. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-badge.cjs.entry.js +10 -10
  80. package/dist/cjs/kol-breadcrumb.cjs.entry.js +9 -9
  81. package/dist/cjs/kol-button-link.cjs.entry.js +10 -10
  82. package/dist/cjs/kol-button.cjs.entry.js +10 -10
  83. package/dist/cjs/kol-card.cjs.entry.js +11 -11
  84. package/dist/cjs/kol-click-button.cjs.entry.js +2 -2
  85. package/dist/cjs/kol-combobox.cjs.entry.js +18 -18
  86. package/dist/cjs/kol-details.cjs.entry.js +7 -7
  87. package/dist/cjs/kol-dialog.cjs.entry.js +13 -13
  88. package/dist/cjs/kol-drawer.cjs.entry.js +12 -12
  89. package/dist/cjs/kol-form.cjs.entry.js +12 -12
  90. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-icon.cjs.entry.js +3 -3
  92. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-input-checkbox.cjs.entry.js +17 -17
  94. package/dist/cjs/kol-input-color.cjs.entry.js +18 -18
  95. package/dist/cjs/kol-input-date.cjs.entry.js +18 -18
  96. package/dist/cjs/kol-input-email.cjs.entry.js +20 -20
  97. package/dist/cjs/kol-input-file.cjs.entry.js +17 -17
  98. package/dist/cjs/kol-input-number.cjs.entry.js +18 -18
  99. package/dist/cjs/kol-input-password.cjs.entry.js +20 -20
  100. package/dist/cjs/kol-input-radio.cjs.entry.js +17 -17
  101. package/dist/cjs/kol-input-range.cjs.entry.js +18 -18
  102. package/dist/cjs/kol-input-text.cjs.entry.js +20 -20
  103. package/dist/cjs/kol-kolibri.cjs.entry.js +2 -2
  104. package/dist/cjs/kol-link-button.cjs.entry.js +10 -10
  105. package/dist/cjs/kol-link.cjs.entry.js +10 -10
  106. package/dist/cjs/kol-meter.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-modal.cjs.entry.js +13 -13
  108. package/dist/cjs/kol-nav.cjs.entry.js +13 -13
  109. package/dist/cjs/kol-pagination.cjs.entry.js +18 -18
  110. package/dist/cjs/kol-popover-button.cjs.entry.js +11 -11
  111. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-select.cjs.entry.js +17 -17
  114. package/dist/cjs/kol-single-select.cjs.entry.js +18 -18
  115. package/dist/cjs/kol-skeleton.cjs.entry.js +2 -2
  116. package/dist/cjs/kol-skip-nav.cjs.entry.js +9 -9
  117. package/dist/cjs/kol-spin.cjs.entry.js +3 -3
  118. package/dist/cjs/kol-split-button.cjs.entry.js +12 -12
  119. package/dist/cjs/kol-table-stateful.cjs.entry.js +25 -25
  120. package/dist/cjs/kol-table-stateless.cjs.entry.js +19 -19
  121. package/dist/cjs/kol-tabs.cjs.entry.js +9 -9
  122. package/dist/cjs/kol-textarea.cjs.entry.js +17 -17
  123. package/dist/cjs/kol-toast-container.cjs.entry.js +11 -11
  124. package/dist/cjs/kol-toolbar.cjs.entry.js +11 -11
  125. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +4 -4
  126. package/dist/cjs/kol-tree-item.cjs.entry.js +9 -9
  127. package/dist/cjs/kol-tree.cjs.entry.js +1 -1
  128. package/dist/cjs/kol-version.cjs.entry.js +9 -9
  129. package/dist/cjs/kolibri.cjs.js +2 -2
  130. package/dist/cjs/loader.cjs.js +2 -2
  131. package/dist/cjs/{resolve-props-pAyNSZMT.js → resolve-props-BBVQo_N5.js} +3 -3
  132. package/dist/cjs/{resolve-props-pAyNSZMT.js.map → resolve-props-BBVQo_N5.js.map} +1 -1
  133. package/dist/cjs/{scroll-lock-CNwobwd2.js → scroll-lock-zJbOf1Xr.js} +3 -3
  134. package/dist/cjs/{scroll-lock-CNwobwd2.js.map → scroll-lock-zJbOf1Xr.js.map} +1 -1
  135. package/dist/cjs/{suggestions-D4TMMZSv.js → suggestions-quLXODgi.js} +4 -4
  136. package/dist/cjs/{suggestions-D4TMMZSv.js.map → suggestions-quLXODgi.js.map} +1 -1
  137. package/dist/cjs/test-component.cjs.entry.js +1 -1
  138. package/dist/cjs/{toggle-handler-mIB8gvse.js → toggle-handler-CENFGRWT.js} +5 -5
  139. package/dist/cjs/{toggle-handler-mIB8gvse.js.map → toggle-handler-CENFGRWT.js.map} +1 -1
  140. package/dist/collection/components/accordion/style.css +2 -2
  141. package/dist/collection/components/alert/style.css +2 -2
  142. package/dist/collection/components/badge/style.css +2 -2
  143. package/dist/collection/components/breadcrumb/style.css +2 -2
  144. package/dist/collection/components/button/style.css +2 -2
  145. package/dist/collection/components/button-link/style.css +2 -2
  146. package/dist/collection/components/card/style.css +2 -2
  147. package/dist/collection/components/combobox/style.css +2 -2
  148. package/dist/collection/components/details/style.css +2 -2
  149. package/dist/collection/components/dialog/style.css +2 -2
  150. package/dist/collection/components/drawer/style.css +2 -2
  151. package/dist/collection/components/form/style.css +2 -2
  152. package/dist/collection/components/icon/style.css +2 -2
  153. package/dist/collection/components/input-checkbox/style.css +2 -2
  154. package/dist/collection/components/input-color/style.css +2 -2
  155. package/dist/collection/components/input-date/style.css +2 -2
  156. package/dist/collection/components/input-email/style.css +2 -2
  157. package/dist/collection/components/input-file/style.css +2 -2
  158. package/dist/collection/components/input-number/style.css +2 -2
  159. package/dist/collection/components/input-password/style.css +2 -2
  160. package/dist/collection/components/input-radio/style.css +2 -2
  161. package/dist/collection/components/input-range/style.css +2 -2
  162. package/dist/collection/components/input-text/style.css +2 -2
  163. package/dist/collection/components/link/style.css +2 -2
  164. package/dist/collection/components/link-button/style.css +2 -2
  165. package/dist/collection/components/modal/style.css +2 -2
  166. package/dist/collection/components/nav/style.css +2 -2
  167. package/dist/collection/components/pagination/style.css +2 -2
  168. package/dist/collection/components/popover-button/style.css +2 -2
  169. package/dist/collection/components/select/style.css +2 -2
  170. package/dist/collection/components/single-select/style.css +2 -2
  171. package/dist/collection/components/skip-nav/style.css +2 -2
  172. package/dist/collection/components/split-button/style.css +2 -2
  173. package/dist/collection/components/table-stateful/style.css +2 -2
  174. package/dist/collection/components/table-stateless/style.css +2 -2
  175. package/dist/collection/components/tabs/style.css +2 -2
  176. package/dist/collection/components/textarea/style.css +2 -2
  177. package/dist/collection/components/toaster/style.css +2 -2
  178. package/dist/collection/components/toolbar/style.css +2 -2
  179. package/dist/collection/components/tree-item/style.css +2 -2
  180. package/dist/collection/components/version/style.css +2 -2
  181. package/dist/components/kol-accordion.js +1 -1
  182. package/dist/components/kol-alert.js +1 -1
  183. package/dist/components/kol-badge.js +1 -1
  184. package/dist/components/kol-breadcrumb.js +1 -1
  185. package/dist/components/kol-button-link.js +1 -1
  186. package/dist/components/kol-button.js +1 -1
  187. package/dist/components/kol-card.js +1 -1
  188. package/dist/components/kol-combobox.js +1 -1
  189. package/dist/components/kol-details.js +1 -1
  190. package/dist/components/kol-dialog.js +1 -1
  191. package/dist/components/kol-drawer.js +1 -1
  192. package/dist/components/kol-form.js +1 -1
  193. package/dist/components/kol-icon.js +1 -1
  194. package/dist/components/kol-input-checkbox.js +1 -1
  195. package/dist/components/kol-input-color.js +1 -1
  196. package/dist/components/kol-input-date.js +1 -1
  197. package/dist/components/kol-input-email.js +1 -1
  198. package/dist/components/kol-input-file.js +1 -1
  199. package/dist/components/kol-input-number.js +1 -1
  200. package/dist/components/kol-input-password.js +1 -1
  201. package/dist/components/kol-input-radio.js +1 -1
  202. package/dist/components/kol-input-range.js +1 -1
  203. package/dist/components/kol-input-text.js +1 -1
  204. package/dist/components/kol-link-button.js +1 -1
  205. package/dist/components/kol-link.js +1 -1
  206. package/dist/components/kol-modal.js +1 -1
  207. package/dist/components/kol-nav.js +1 -1
  208. package/dist/components/kol-pagination.js +1 -1
  209. package/dist/components/kol-popover-button.js +1 -1
  210. package/dist/components/kol-select.js +1 -1
  211. package/dist/components/kol-single-select.js +1 -1
  212. package/dist/components/kol-skip-nav.js +1 -1
  213. package/dist/components/kol-split-button.js +1 -1
  214. package/dist/components/kol-table-stateful.js +1 -1
  215. package/dist/components/kol-table-stateless.js +1 -1
  216. package/dist/components/kol-tabs.js +1 -1
  217. package/dist/components/kol-textarea.js +1 -1
  218. package/dist/components/kol-toast-container.js +1 -1
  219. package/dist/components/kol-toolbar.js +1 -1
  220. package/dist/components/kol-tree-item.js +1 -1
  221. package/dist/components/kol-version.js +1 -1
  222. package/dist/esm/{Heading-NHB1reiQ.js → Heading-BctDgC7M.js} +3 -3
  223. package/dist/{kolibri/Heading-NHB1reiQ.js.map → esm/Heading-BctDgC7M.js.map} +1 -1
  224. package/dist/esm/{api-BAEPnyL7.js → api-B6fEjFVl.js} +12 -12
  225. package/dist/{kolibri/api-BAEPnyL7.js.map → esm/api-B6fEjFVl.js.map} +1 -1
  226. package/dist/esm/{api-CagcODCX.js → api-T-JuZMlj.js} +8 -8
  227. package/dist/esm/{api-CagcODCX.js.map → api-T-JuZMlj.js.map} +1 -1
  228. package/dist/esm/{app-globals-CwlOH1sO.js → app-globals-CvvWI2x9.js} +4 -4
  229. package/dist/esm/{app-globals-CwlOH1sO.js.map → app-globals-CvvWI2x9.js.map} +1 -1
  230. package/dist/esm/{base-Cm_c8klt.js → base-BARjFMg1.js} +5 -5
  231. package/dist/esm/{base-Cm_c8klt.js.map → base-BARjFMg1.js.map} +1 -1
  232. package/dist/esm/{base-BpKxLJ6r.js → base-BbVXW6YI.js} +4 -4
  233. package/dist/{kolibri/base-BpKxLJ6r.js.map → esm/base-BbVXW6YI.js.map} +1 -1
  234. package/dist/esm/{base-DitGpYOV.js → base-D8yYjJsn.js} +4 -4
  235. package/dist/esm/{base-DitGpYOV.js.map → base-D8yYjJsn.js.map} +1 -1
  236. package/dist/esm/{base-BFU17cMm.js → base-Dvr4F_Pr.js} +16 -16
  237. package/dist/{kolibri/base-BFU17cMm.js.map → esm/base-Dvr4F_Pr.js.map} +1 -1
  238. package/dist/esm/{base-web-component-6J5sCsnZ.js → base-web-component-BzB5tP9s.js} +5 -5
  239. package/dist/{kolibri/base-web-component-6J5sCsnZ.js.map → esm/base-web-component-BzB5tP9s.js.map} +1 -1
  240. package/dist/esm/{base-web-component-BFCVvyYG.js → base-web-component-DU3hnIWD.js} +7 -7
  241. package/dist/{kolibri/base-web-component-BFCVvyYG.js.map → esm/base-web-component-DU3hnIWD.js.map} +1 -1
  242. package/dist/esm/{behavior-CH_2MMuX.js → behavior-CbqCHL6O.js} +3 -3
  243. package/dist/{kolibri/behavior-CH_2MMuX.js.map → esm/behavior-CbqCHL6O.js.map} +1 -1
  244. package/dist/esm/{component-Ba4gjLBG.js → component-BaD1OTyv.js} +5 -5
  245. package/dist/esm/{component-Ba4gjLBG.js.map → component-BaD1OTyv.js.map} +1 -1
  246. package/dist/esm/{component-Do9rjnte.js → component-BjWF1SyZ.js} +7 -7
  247. package/dist/esm/{component-Do9rjnte.js.map → component-BjWF1SyZ.js.map} +1 -1
  248. package/dist/esm/{component-C5BFsKau.js → component-Ch6fss2f.js} +5 -5
  249. package/dist/esm/{component-C5BFsKau.js.map → component-Ch6fss2f.js.map} +1 -1
  250. package/dist/esm/{component-CBpYh2q-.js → component-CmBM-Y1C.js} +7 -7
  251. package/dist/esm/{component-CBpYh2q-.js.map → component-CmBM-Y1C.js.map} +1 -1
  252. package/dist/esm/{component-CvCfEqSE.js → component-CvhmYY4a.js} +4 -4
  253. package/dist/esm/{component-CvCfEqSE.js.map → component-CvhmYY4a.js.map} +1 -1
  254. package/dist/esm/{component-DzoBgfR4.js → component-D0iTurA_.js} +3 -3
  255. package/dist/esm/{component-DzoBgfR4.js.map → component-D0iTurA_.js.map} +1 -1
  256. package/dist/esm/{component-BpOMe842.js → component-DKS73hKY.js} +3 -3
  257. package/dist/{kolibri/component-BpOMe842.js.map → esm/component-DKS73hKY.js.map} +1 -1
  258. package/dist/esm/{component-C3sXiwbS.js → component-DhBTawyT.js} +3 -3
  259. package/dist/esm/{component-C3sXiwbS.js.map → component-DhBTawyT.js.map} +1 -1
  260. package/dist/esm/{component-DZbJLUju.js → component-G9vQ1mQA.js} +4 -4
  261. package/dist/{kolibri/component-DZbJLUju.js.map → esm/component-G9vQ1mQA.js.map} +1 -1
  262. package/dist/esm/{component-C_d54ujF.js → component-QCFfSS76.js} +4 -4
  263. package/dist/{kolibri/component-C_d54ujF.js.map → esm/component-QCFfSS76.js.map} +1 -1
  264. package/dist/esm/{component-Dg6TIbeY.js → component-d1d-AIsY.js} +5 -5
  265. package/dist/{kolibri/component-Dg6TIbeY.js.map → esm/component-d1d-AIsY.js.map} +1 -1
  266. package/dist/esm/{component-BF8FPuIW.js → component-sf_0WjJF.js} +3 -3
  267. package/dist/esm/{component-BF8FPuIW.js.map → component-sf_0WjJF.js.map} +1 -1
  268. package/dist/esm/{dev.utils-CJMVCYWh.js → dev.utils-BGy8dbtQ.js} +3 -3
  269. package/dist/{kolibri/dev.utils-CJMVCYWh.js.map → esm/dev.utils-BGy8dbtQ.js.map} +1 -1
  270. package/dist/esm/{devtools-rRHULXVr.js → devtools-CZ8Mnmwl.js} +4 -4
  271. package/dist/{kolibri/devtools-rRHULXVr.js.map → esm/devtools-CZ8Mnmwl.js.map} +1 -1
  272. package/dist/esm/{field-control-DXxCMXvx.js → field-control-CLnFuMmy.js} +8 -8
  273. package/dist/{kolibri/field-control-DXxCMXvx.js.map → esm/field-control-CLnFuMmy.js.map} +1 -1
  274. package/dist/esm/{group-CI4sSgiu.js → group-BAOmF5Ok.js} +5 -5
  275. package/dist/esm/{group-CI4sSgiu.js.map → group-BAOmF5Ok.js.map} +1 -1
  276. package/dist/esm/{index-DQdQBwMc.js → index-DAKQV03B.js} +3 -3
  277. package/dist/{kolibri/index-DQdQBwMc.js.map → esm/index-DAKQV03B.js.map} +1 -1
  278. package/dist/esm/{input-CDtJZ2sy.js → input-D2i1QEbL.js} +5 -5
  279. package/dist/esm/{input-CDtJZ2sy.js.map → input-D2i1QEbL.js.map} +1 -1
  280. package/dist/esm/{input-container-DROwwh7_.js → input-container-wQm8-W3s.js} +7 -7
  281. package/dist/esm/{input-container-DROwwh7_.js.map → input-container-wQm8-W3s.js.map} +1 -1
  282. package/dist/esm/{item-ZjrNIhfW.js → item-DJ8LXOMv.js} +8 -8
  283. package/dist/{kolibri/item-ZjrNIhfW.js.map → esm/item-DJ8LXOMv.js.map} +1 -1
  284. package/dist/esm/{item-CHP-bw8Q.js → item-DbLIGnc9.js} +4 -4
  285. package/dist/{kolibri/item-CHP-bw8Q.js.map → esm/item-DbLIGnc9.js.map} +1 -1
  286. package/dist/esm/{item-C6p5wW-z.js → item-Dkm57tce.js} +4 -4
  287. package/dist/{kolibri/item-C6p5wW-z.js.map → esm/item-Dkm57tce.js.map} +1 -1
  288. package/dist/esm/{item-Cbi_ZY6o.js → item-DuBSR8BS.js} +3 -3
  289. package/dist/esm/{item-Cbi_ZY6o.js.map → item-DuBSR8BS.js.map} +1 -1
  290. package/dist/esm/kol-abbr.entry.js +2 -2
  291. package/dist/esm/kol-accordion.entry.js +7 -7
  292. package/dist/esm/kol-alert.entry.js +11 -11
  293. package/dist/esm/kol-avatar.entry.js +1 -1
  294. package/dist/esm/kol-badge.entry.js +10 -10
  295. package/dist/esm/kol-breadcrumb.entry.js +9 -9
  296. package/dist/esm/kol-button-link.entry.js +10 -10
  297. package/dist/esm/kol-button.entry.js +10 -10
  298. package/dist/esm/kol-card.entry.js +11 -11
  299. package/dist/esm/kol-click-button.entry.js +2 -2
  300. package/dist/esm/kol-combobox.entry.js +18 -18
  301. package/dist/esm/kol-details.entry.js +7 -7
  302. package/dist/esm/kol-dialog.entry.js +13 -13
  303. package/dist/esm/kol-drawer.entry.js +12 -12
  304. package/dist/esm/kol-form.entry.js +12 -12
  305. package/dist/esm/kol-heading.entry.js +1 -1
  306. package/dist/esm/kol-icon.entry.js +3 -3
  307. package/dist/esm/kol-image.entry.js +1 -1
  308. package/dist/esm/kol-input-checkbox.entry.js +17 -17
  309. package/dist/esm/kol-input-color.entry.js +18 -18
  310. package/dist/esm/kol-input-date.entry.js +18 -18
  311. package/dist/esm/kol-input-email.entry.js +20 -20
  312. package/dist/esm/kol-input-file.entry.js +17 -17
  313. package/dist/esm/kol-input-number.entry.js +18 -18
  314. package/dist/esm/kol-input-password.entry.js +20 -20
  315. package/dist/esm/kol-input-radio.entry.js +17 -17
  316. package/dist/esm/kol-input-range.entry.js +18 -18
  317. package/dist/esm/kol-input-text.entry.js +20 -20
  318. package/dist/esm/kol-kolibri.entry.js +2 -2
  319. package/dist/esm/kol-link-button.entry.js +10 -10
  320. package/dist/esm/kol-link.entry.js +10 -10
  321. package/dist/esm/kol-meter.entry.js +1 -1
  322. package/dist/esm/kol-modal.entry.js +13 -13
  323. package/dist/esm/kol-nav.entry.js +13 -13
  324. package/dist/esm/kol-pagination.entry.js +18 -18
  325. package/dist/esm/kol-popover-button.entry.js +11 -11
  326. package/dist/esm/kol-progress.entry.js +1 -1
  327. package/dist/esm/kol-quote.entry.js +1 -1
  328. package/dist/esm/kol-select.entry.js +17 -17
  329. package/dist/esm/kol-single-select.entry.js +18 -18
  330. package/dist/esm/kol-skeleton.entry.js +2 -2
  331. package/dist/esm/kol-skip-nav.entry.js +9 -9
  332. package/dist/esm/kol-spin.entry.js +3 -3
  333. package/dist/esm/kol-split-button.entry.js +12 -12
  334. package/dist/esm/kol-table-stateful.entry.js +25 -25
  335. package/dist/esm/kol-table-stateless.entry.js +19 -19
  336. package/dist/esm/kol-tabs.entry.js +9 -9
  337. package/dist/esm/kol-textarea.entry.js +17 -17
  338. package/dist/esm/kol-toast-container.entry.js +11 -11
  339. package/dist/esm/kol-toolbar.entry.js +11 -11
  340. package/dist/esm/kol-tooltip-wc.entry.js +4 -4
  341. package/dist/esm/kol-tree-item.entry.js +9 -9
  342. package/dist/esm/kol-tree.entry.js +1 -1
  343. package/dist/esm/kol-version.entry.js +9 -9
  344. package/dist/esm/kolibri.js +3 -3
  345. package/dist/esm/loader.js +3 -3
  346. package/dist/esm/{resolve-props-CjBvvXId.js → resolve-props-BTiKxg-8.js} +3 -3
  347. package/dist/esm/{resolve-props-CjBvvXId.js.map → resolve-props-BTiKxg-8.js.map} +1 -1
  348. package/dist/esm/{scroll-lock-6SV-XFXR.js → scroll-lock-DRNyw9qH.js} +3 -3
  349. package/dist/{kolibri/scroll-lock-6SV-XFXR.js.map → esm/scroll-lock-DRNyw9qH.js.map} +1 -1
  350. package/dist/esm/{suggestions-BYMmW1aV.js → suggestions-CG-TuGC4.js} +4 -4
  351. package/dist/esm/{suggestions-BYMmW1aV.js.map → suggestions-CG-TuGC4.js.map} +1 -1
  352. package/dist/esm/test-component.entry.js +1 -1
  353. package/dist/esm/{toggle-handler-D-yalcds.js → toggle-handler-aTxO0Wem.js} +5 -5
  354. package/dist/esm/{toggle-handler-D-yalcds.js.map → toggle-handler-aTxO0Wem.js.map} +1 -1
  355. package/dist/kolibri/{Heading-NHB1reiQ.js → Heading-BctDgC7M.js} +2 -2
  356. package/dist/{esm/Heading-NHB1reiQ.js.map → kolibri/Heading-BctDgC7M.js.map} +1 -1
  357. package/dist/kolibri/api-B6fEjFVl.js +5 -0
  358. package/dist/{esm/api-BAEPnyL7.js.map → kolibri/api-B6fEjFVl.js.map} +1 -1
  359. package/dist/kolibri/api-T-JuZMlj.js +5 -0
  360. package/dist/kolibri/{api-CagcODCX.js.map → api-T-JuZMlj.js.map} +1 -1
  361. package/dist/kolibri/app-globals-CvvWI2x9.js +5 -0
  362. package/dist/kolibri/{app-globals-CwlOH1sO.js.map → app-globals-CvvWI2x9.js.map} +1 -1
  363. package/dist/kolibri/{base-Cm_c8klt.js → base-BARjFMg1.js} +2 -2
  364. package/dist/kolibri/{base-Cm_c8klt.js.map → base-BARjFMg1.js.map} +1 -1
  365. package/dist/kolibri/{base-BpKxLJ6r.js → base-BbVXW6YI.js} +2 -2
  366. package/dist/{esm/base-BpKxLJ6r.js.map → kolibri/base-BbVXW6YI.js.map} +1 -1
  367. package/dist/kolibri/{base-DitGpYOV.js → base-D8yYjJsn.js} +2 -2
  368. package/dist/kolibri/{base-DitGpYOV.js.map → base-D8yYjJsn.js.map} +1 -1
  369. package/dist/kolibri/{base-BFU17cMm.js → base-Dvr4F_Pr.js} +2 -2
  370. package/dist/{esm/base-BFU17cMm.js.map → kolibri/base-Dvr4F_Pr.js.map} +1 -1
  371. package/dist/kolibri/{base-web-component-6J5sCsnZ.js → base-web-component-BzB5tP9s.js} +2 -2
  372. package/dist/{esm/base-web-component-6J5sCsnZ.js.map → kolibri/base-web-component-BzB5tP9s.js.map} +1 -1
  373. package/dist/kolibri/{base-web-component-BFCVvyYG.js → base-web-component-DU3hnIWD.js} +2 -2
  374. package/dist/{esm/base-web-component-BFCVvyYG.js.map → kolibri/base-web-component-DU3hnIWD.js.map} +1 -1
  375. package/dist/kolibri/{behavior-CH_2MMuX.js → behavior-CbqCHL6O.js} +2 -2
  376. package/dist/{esm/behavior-CH_2MMuX.js.map → kolibri/behavior-CbqCHL6O.js.map} +1 -1
  377. package/dist/kolibri/component-BaD1OTyv.js +5 -0
  378. package/dist/kolibri/{component-Ba4gjLBG.js.map → component-BaD1OTyv.js.map} +1 -1
  379. package/dist/kolibri/{component-Do9rjnte.js → component-BjWF1SyZ.js} +2 -2
  380. package/dist/kolibri/{component-Do9rjnte.js.map → component-BjWF1SyZ.js.map} +1 -1
  381. package/dist/kolibri/component-Ch6fss2f.js +5 -0
  382. package/dist/kolibri/{component-C5BFsKau.js.map → component-Ch6fss2f.js.map} +1 -1
  383. package/dist/kolibri/component-CmBM-Y1C.js +5 -0
  384. package/dist/kolibri/{component-CBpYh2q-.js.map → component-CmBM-Y1C.js.map} +1 -1
  385. package/dist/kolibri/{component-CvCfEqSE.js → component-CvhmYY4a.js} +2 -2
  386. package/dist/kolibri/{component-CvCfEqSE.js.map → component-CvhmYY4a.js.map} +1 -1
  387. package/dist/kolibri/component-D0iTurA_.js +5 -0
  388. package/dist/kolibri/{component-DzoBgfR4.js.map → component-D0iTurA_.js.map} +1 -1
  389. package/dist/kolibri/{component-BpOMe842.js → component-DKS73hKY.js} +2 -2
  390. package/dist/{esm/component-BpOMe842.js.map → kolibri/component-DKS73hKY.js.map} +1 -1
  391. package/dist/kolibri/{component-C3sXiwbS.js → component-DhBTawyT.js} +2 -2
  392. package/dist/kolibri/{component-C3sXiwbS.js.map → component-DhBTawyT.js.map} +1 -1
  393. package/dist/kolibri/{component-DZbJLUju.js → component-G9vQ1mQA.js} +2 -2
  394. package/dist/{esm/component-DZbJLUju.js.map → kolibri/component-G9vQ1mQA.js.map} +1 -1
  395. package/dist/kolibri/{component-C_d54ujF.js → component-QCFfSS76.js} +2 -2
  396. package/dist/{esm/component-C_d54ujF.js.map → kolibri/component-QCFfSS76.js.map} +1 -1
  397. package/dist/kolibri/{component-Dg6TIbeY.js → component-d1d-AIsY.js} +2 -2
  398. package/dist/{esm/component-Dg6TIbeY.js.map → kolibri/component-d1d-AIsY.js.map} +1 -1
  399. package/dist/kolibri/{component-BF8FPuIW.js → component-sf_0WjJF.js} +2 -2
  400. package/dist/kolibri/{component-BF8FPuIW.js.map → component-sf_0WjJF.js.map} +1 -1
  401. package/dist/kolibri/{dev.utils-CJMVCYWh.js → dev.utils-BGy8dbtQ.js} +2 -2
  402. package/dist/{esm/dev.utils-CJMVCYWh.js.map → kolibri/dev.utils-BGy8dbtQ.js.map} +1 -1
  403. package/dist/kolibri/{devtools-rRHULXVr.js → devtools-CZ8Mnmwl.js} +2 -2
  404. package/dist/{esm/devtools-rRHULXVr.js.map → kolibri/devtools-CZ8Mnmwl.js.map} +1 -1
  405. package/dist/kolibri/field-control-CLnFuMmy.js +5 -0
  406. package/dist/{esm/field-control-DXxCMXvx.js.map → kolibri/field-control-CLnFuMmy.js.map} +1 -1
  407. package/dist/kolibri/{group-CI4sSgiu.js → group-BAOmF5Ok.js} +2 -2
  408. package/dist/kolibri/{group-CI4sSgiu.js.map → group-BAOmF5Ok.js.map} +1 -1
  409. package/dist/kolibri/{index-DQdQBwMc.js → index-DAKQV03B.js} +2 -2
  410. package/dist/{esm/index-DQdQBwMc.js.map → kolibri/index-DAKQV03B.js.map} +1 -1
  411. package/dist/kolibri/input-D2i1QEbL.js +5 -0
  412. package/dist/kolibri/{input-CDtJZ2sy.js.map → input-D2i1QEbL.js.map} +1 -1
  413. package/dist/kolibri/{input-container-DROwwh7_.js → input-container-wQm8-W3s.js} +2 -2
  414. package/dist/kolibri/{input-container-DROwwh7_.js.map → input-container-wQm8-W3s.js.map} +1 -1
  415. package/dist/kolibri/{item-ZjrNIhfW.js → item-DJ8LXOMv.js} +2 -2
  416. package/dist/{esm/item-ZjrNIhfW.js.map → kolibri/item-DJ8LXOMv.js.map} +1 -1
  417. package/dist/kolibri/item-DbLIGnc9.js +5 -0
  418. package/dist/{esm/item-CHP-bw8Q.js.map → kolibri/item-DbLIGnc9.js.map} +1 -1
  419. package/dist/kolibri/item-Dkm57tce.js +5 -0
  420. package/dist/{esm/item-C6p5wW-z.js.map → kolibri/item-Dkm57tce.js.map} +1 -1
  421. package/dist/kolibri/item-DuBSR8BS.js +5 -0
  422. package/dist/kolibri/{item-Cbi_ZY6o.js.map → item-DuBSR8BS.js.map} +1 -1
  423. package/dist/kolibri/kol-abbr.entry.js +1 -1
  424. package/dist/kolibri/kol-accordion.entry.js +1 -1
  425. package/dist/kolibri/kol-alert.entry.js +1 -1
  426. package/dist/kolibri/kol-avatar.entry.js +1 -1
  427. package/dist/kolibri/kol-badge.entry.js +1 -1
  428. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  429. package/dist/kolibri/kol-button-link.entry.js +1 -1
  430. package/dist/kolibri/kol-button.entry.js +1 -1
  431. package/dist/kolibri/kol-card.entry.js +1 -1
  432. package/dist/kolibri/kol-click-button.entry.js +1 -1
  433. package/dist/kolibri/kol-combobox.entry.js +1 -1
  434. package/dist/kolibri/kol-details.entry.js +1 -1
  435. package/dist/kolibri/kol-dialog.entry.js +1 -1
  436. package/dist/kolibri/kol-drawer.entry.js +1 -1
  437. package/dist/kolibri/kol-form.entry.js +1 -1
  438. package/dist/kolibri/kol-heading.entry.js +1 -1
  439. package/dist/kolibri/kol-icon.entry.js +1 -1
  440. package/dist/kolibri/kol-image.entry.js +1 -1
  441. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  442. package/dist/kolibri/kol-input-color.entry.js +1 -1
  443. package/dist/kolibri/kol-input-date.entry.js +1 -1
  444. package/dist/kolibri/kol-input-email.entry.js +1 -1
  445. package/dist/kolibri/kol-input-file.entry.js +1 -1
  446. package/dist/kolibri/kol-input-number.entry.js +1 -1
  447. package/dist/kolibri/kol-input-password.entry.js +1 -1
  448. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  449. package/dist/kolibri/kol-input-range.entry.js +1 -1
  450. package/dist/kolibri/kol-input-text.entry.js +1 -1
  451. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  452. package/dist/kolibri/kol-link-button.entry.js +1 -1
  453. package/dist/kolibri/kol-link.entry.js +1 -1
  454. package/dist/kolibri/kol-meter.entry.js +1 -1
  455. package/dist/kolibri/kol-modal.entry.js +1 -1
  456. package/dist/kolibri/kol-nav.entry.js +1 -1
  457. package/dist/kolibri/kol-pagination.entry.js +1 -1
  458. package/dist/kolibri/kol-popover-button.entry.js +1 -1
  459. package/dist/kolibri/kol-progress.entry.js +1 -1
  460. package/dist/kolibri/kol-quote.entry.js +1 -1
  461. package/dist/kolibri/kol-select.entry.js +1 -1
  462. package/dist/kolibri/kol-single-select.entry.js +1 -1
  463. package/dist/kolibri/kol-skeleton.entry.js +1 -1
  464. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  465. package/dist/kolibri/kol-spin.entry.js +1 -1
  466. package/dist/kolibri/kol-split-button.entry.js +1 -1
  467. package/dist/kolibri/kol-table-stateful.entry.js +1 -1
  468. package/dist/kolibri/kol-table-stateless.entry.js +1 -1
  469. package/dist/kolibri/kol-tabs.entry.js +1 -1
  470. package/dist/kolibri/kol-textarea.entry.js +1 -1
  471. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  472. package/dist/kolibri/kol-toolbar.entry.js +1 -1
  473. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  474. package/dist/kolibri/kol-tree-item.entry.js +1 -1
  475. package/dist/kolibri/kol-tree.entry.js +1 -1
  476. package/dist/kolibri/kol-version.entry.js +1 -1
  477. package/dist/kolibri/kolibri.esm.js +1 -1
  478. package/dist/kolibri/resolve-props-BTiKxg-8.js +5 -0
  479. package/dist/kolibri/{resolve-props-CjBvvXId.js.map → resolve-props-BTiKxg-8.js.map} +1 -1
  480. package/dist/kolibri/{scroll-lock-6SV-XFXR.js → scroll-lock-DRNyw9qH.js} +2 -2
  481. package/dist/{esm/scroll-lock-6SV-XFXR.js.map → kolibri/scroll-lock-DRNyw9qH.js.map} +1 -1
  482. package/dist/kolibri/{suggestions-BYMmW1aV.js → suggestions-CG-TuGC4.js} +2 -2
  483. package/dist/kolibri/{suggestions-BYMmW1aV.js.map → suggestions-CG-TuGC4.js.map} +1 -1
  484. package/dist/kolibri/test-component.entry.js +1 -1
  485. package/dist/kolibri/toggle-handler-aTxO0Wem.js +5 -0
  486. package/dist/kolibri/{toggle-handler-D-yalcds.js.map → toggle-handler-aTxO0Wem.js.map} +1 -1
  487. package/package.json +3 -3
  488. package/dist/kolibri/api-BAEPnyL7.js +0 -5
  489. package/dist/kolibri/api-CagcODCX.js +0 -5
  490. package/dist/kolibri/app-globals-CwlOH1sO.js +0 -5
  491. package/dist/kolibri/component-Ba4gjLBG.js +0 -5
  492. package/dist/kolibri/component-C5BFsKau.js +0 -5
  493. package/dist/kolibri/component-CBpYh2q-.js +0 -5
  494. package/dist/kolibri/component-DzoBgfR4.js +0 -5
  495. package/dist/kolibri/field-control-DXxCMXvx.js +0 -5
  496. package/dist/kolibri/input-CDtJZ2sy.js +0 -5
  497. package/dist/kolibri/item-C6p5wW-z.js +0 -5
  498. package/dist/kolibri/item-CHP-bw8Q.js +0 -5
  499. package/dist/kolibri/item-Cbi_ZY6o.js +0 -5
  500. package/dist/kolibri/resolve-props-CjBvvXId.js +0 -5
  501. package/dist/kolibri/toggle-handler-D-yalcds.js +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"base-Cm_c8klt.js","sources":["src/internal/functional-components/dialog/api.tsx","src/components/dialog/base.tsx"],"sourcesContent":["import { dialogCallbacksProp, labelProp, levelProp, variantDialogProp, widthProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\n/**\n * Props configuration for the dialog component.\n *\n * Notes on prop choices:\n * - `labelProp`, not `labelWithExpertSlotProp`: the label is either the `aria-label` of the blank\n * variant or the card's heading text — neither has an expert slot.\n * - `levelProp` only reaches the card variant's heading; the blank variant renders no heading.\n */\nexport const dialogPropsConfig = {\n\trequired: [labelProp],\n\toptional: [dialogCallbacksProp, levelProp, variantDialogProp, widthProp],\n} as const satisfies PropsConfigShape;\n\nexport type DialogApi = ApiFromConfig<\n\ttypeof dialogPropsConfig,\n\t{\n\t\t/** Both callbacks handle the native events of the `<dialog>` element. */\n\t\tCallbacks: {\n\t\t\tcancel: (event: Event) => void;\n\t\t\tclose: (event: Event) => void;\n\t\t};\n\t\tMethods: {\n\t\t\tclose: () => void;\n\t\t\tcloseModal: () => void;\n\t\t\topenModal: () => void;\n\t\t\tshow: (modal?: boolean) => void;\n\t\t\tshowModal: () => void;\n\t\t};\n\t\tRefs: {\n\t\t\tdialog: HTMLDialogElement;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * DOM id of the close button's visually-hidden description span, required by the card\n\t\t\t * variant's `ButtonFC`. Unused while that button carries no aria description.\n\t\t\t */\n\t\t\tariaDescriptionId: string;\n\t\t\t/**\n\t\t\t * DOM id of the card variant's heading, referenced by the `<dialog>`'s\n\t\t\t * `aria-labelledby`. Generated per instance.\n\t\t\t */\n\t\t\theadingId: string;\n\t\t\t/**\n\t\t\t * Whether the dialog is currently shown modally. Drives `aria-modal` and is set by\n\t\t\t * `show()`/`showModal()`.\n\t\t\t */\n\t\t\tmodal: boolean;\n\t\t};\n\t}\n>;\n","import type { JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { ResolvedButtonProps } from '../../internal/functional-components/button/resolve-props';\nimport { resolveCardCloseButtonProps } from '../../internal/functional-components/card/close-button';\nimport type { CardFCProps } from '../../internal/functional-components/card/component';\nimport { CardFC } from '../../internal/functional-components/card/component';\nimport type { DialogApi } from '../../internal/functional-components/dialog/api';\nimport { dialogPropsConfig } from '../../internal/functional-components/dialog/api';\nimport { dialogBlockClass, DialogFC } from '../../internal/functional-components/dialog/component';\nimport { TooltipBehavior } from '../../internal/functional-components/tooltip/behavior';\nimport { dialogCallbacksProp, labelProp, levelProp, variantDialogProp, widthProp } from '../../internal/props';\nimport type { HeadingLevel, KoliBriDialogEventCallbacks, LabelPropType } from '../../schema';\nimport type { ModalVariantPropType } from '../../schema/props/variant/modal';\nimport { createCtaRef } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport { lockScroll, unlockScroll } from '../../utils/scroll-lock';\nimport { handleCancelOverlay } from '../../utils/tooltip-open-tracking';\n\n/**\n * The card variant renders no link, so its anchor never exists: the card's own `_on` callbacks\n * describe that anchor, and its ref is never called.\n */\nconst NOOP = (): void => {};\n\n/**\n * Orchestrator shared by `kol-dialog` and the deprecated `kol-modal`. Both render the same\n * `DialogFC`; the concrete element only declares the Stencil members and delegates from its\n * watchers, methods and lifecycle hooks.\n *\n * The card variant renders `CardFC` directly, so this class also owns the close button's resolved\n * props, its tooltip behavior and its ref.\n */\nexport abstract class BaseDialogWebComponent extends BaseWebComponent<DialogApi> {\n\tprotected abstract readonly host?: HTMLElement;\n\n\tprotected readonly dialogRef = createCtaRef<HTMLDialogElement>();\n\tprivate readonly cardCloseButtonRef = createCtaRef<HTMLButtonElement>();\n\n\t/** Drives the card close button's tooltip — it renders with `hideLabel`, so its label lives there. */\n\tprivate readonly cardCloseTooltipBehavior = new TooltipBehavior(this.stateAccess);\n\n\t/** Resolved once in `componentWillLoad`: the close button's configuration never changes. */\n\tprivate cardCloseButtonProps!: ResolvedButtonProps;\n\n\t// --- Lifecycle ---\n\n\tprotected initDialogRenderProps(): void {\n\t\tthis.initRenderProps(dialogPropsConfig);\n\n\t\tthis.cardCloseButtonProps = resolveCardCloseButtonProps(this.host);\n\t\tthis.cardCloseTooltipBehavior.componentWillLoad({\n\t\t\tlabel: this.cardCloseButtonProps.label,\n\t\t\talign: this.cardCloseButtonProps.tooltipAlign,\n\t\t});\n\t}\n\n\tprotected syncCardCloseTooltipListeners(): void {\n\t\tif (this.cardCloseButtonRef.el) {\n\t\t\tthis.cardCloseTooltipBehavior.syncListeners(undefined, this.cardCloseButtonRef.el, true);\n\t\t}\n\t}\n\n\tprotected teardownDialog(): void {\n\t\tthis.closeDialog();\n\t\tunlockScroll(this);\n\t\tthis.cardCloseTooltipBehavior.destroy();\n\t}\n\n\t// --- Prop application ---\n\n\tprotected applyLabel(value?: LabelPropType): void {\n\t\tlabelProp.apply(value, (v) => this.setRenderProp('label', v));\n\t}\n\n\tprotected applyLevel(value?: HeadingLevel): void {\n\t\tlevelProp.apply(value, (v) => this.setRenderProp('level', v));\n\t}\n\n\tprotected applyOn(value?: KoliBriDialogEventCallbacks): void {\n\t\tdialogCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\tprotected applyVariant(value?: ModalVariantPropType): void {\n\t\tvariantDialogProp.apply(value, (v) => this.setRenderProp('variant', v));\n\t}\n\n\tprotected applyWidth(value?: string): void {\n\t\twidthProp.apply(value, (v) => this.setRenderProp('width', v));\n\t}\n\n\t// --- Dialog control ---\n\n\t/*\n\t * The optional chaining on the native methods is a workaround for HTMLDialogElement not being\n\t * implemented in jsdom, which would otherwise fail the Jest tests.\n\t */\n\n\tprotected showDialog(modal: boolean): void {\n\t\tconst dialog = this.dialogRef.el;\n\t\tif (dialog?.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState('modal', modal);\n\t\tif (modal) {\n\t\t\tdialog?.showModal?.();\n\t\t\tif (dialog) {\n\t\t\t\tlockScroll(this);\n\t\t\t}\n\t\t} else {\n\t\t\tdialog?.show?.();\n\t\t}\n\t}\n\n\tprotected closeDialog(): void {\n\t\tthis.dialogRef.el?.close?.();\n\t}\n\n\t// --- Event handling ---\n\n\tprivate readonly handleCancel = (event: Event): void => {\n\t\thandleCancelOverlay(event);\n\t\tif (event.defaultPrevented) return;\n\n\t\tthis.getRenderProp('on').onCancel?.(event);\n\t\tif (event.defaultPrevented) return;\n\n\t\tif (this.host && !dispatchDomEvent(this.host, KolEvent.cancel)) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tprivate readonly handleClose = (event: Event): void => {\n\t\t// Ignore close events that bubble up from child components (e.g. KolAlert).\n\t\t// Only react when the dialog element itself is the event origin.\n\t\tif (event.target !== this.dialogRef.el) {\n\t\t\treturn;\n\t\t}\n\n\t\tunlockScroll(this);\n\t\tthis.getRenderProp('on').onClose?.();\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.close);\n\t\t}\n\t};\n\n\t/** The card's close button closes the dialog, which then fires its own native close event. */\n\tprivate readonly handleCardClose = (): void => {\n\t\tthis.cardCloseTooltipBehavior.hideTooltip();\n\t\tthis.closeDialog();\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.close);\n\t\t}\n\t};\n\n\t// --- Render ---\n\n\t/**\n\t * Stencil derives light-DOM slot relocation from the `<slot />` it finds in the element file,\n\t * so each element supplies its own through `renderSlot`.\n\t */\n\tprotected abstract renderSlot(): JSX.Element;\n\n\tprivate buildCardProps(): CardFCProps {\n\t\treturn {\n\t\t\tariaDescriptionId: this.getState('ariaDescriptionId'),\n\t\t\tcloseButtonProps: this.cardCloseButtonProps,\n\t\t\thandleBlur: NOOP,\n\t\t\thandleClose: this.handleCardClose,\n\t\t\thandleFocus: NOOP,\n\t\t\thasCloser: true,\n\t\t\theadingId: this.getState('headingId'),\n\t\t\thref: '',\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\tlevel: this.getRenderProp('level'),\n\t\t\ton: {},\n\t\t\trefCloseButton: this.cardCloseButtonRef,\n\t\t\trefCta: NOOP,\n\t\t\trefTooltip: this.cardCloseTooltipBehavior.setTooltipElementRef,\n\t\t\ttarget: '',\n\t\t};\n\t}\n\n\tprotected renderDialogFC(): JSX.Element {\n\t\tconst variant = this.getRenderProp('variant');\n\t\tconst isCard = variant === 'card';\n\n\t\treturn (\n\t\t\t<DialogFC\n\t\t\t\tblockClass={dialogBlockClass(variant)}\n\t\t\t\thandleCancel={this.handleCancel}\n\t\t\t\thandleClose={this.handleClose}\n\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\tlabelledBy={isCard ? this.getState('headingId') : undefined}\n\t\t\t\tmodal={this.getState('modal')}\n\t\t\t\trefDialog={this.dialogRef}\n\t\t\t\twidth={this.getRenderProp('width')}\n\t\t\t>\n\t\t\t\t{isCard ? <CardFC {...this.buildCardProps()}>{this.renderSlot()}</CardFC> : this.renderSlot()}\n\t\t\t</DialogFC>\n\t\t);\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-BARjFMg1.js","sources":["src/internal/functional-components/dialog/api.tsx","src/components/dialog/base.tsx"],"sourcesContent":["import { dialogCallbacksProp, labelProp, levelProp, variantDialogProp, widthProp } from '../../props';\nimport type { ApiFromConfig, PropsConfigShape } from '../generic-types';\n\n/**\n * Props configuration for the dialog component.\n *\n * Notes on prop choices:\n * - `labelProp`, not `labelWithExpertSlotProp`: the label is either the `aria-label` of the blank\n * variant or the card's heading text — neither has an expert slot.\n * - `levelProp` only reaches the card variant's heading; the blank variant renders no heading.\n */\nexport const dialogPropsConfig = {\n\trequired: [labelProp],\n\toptional: [dialogCallbacksProp, levelProp, variantDialogProp, widthProp],\n} as const satisfies PropsConfigShape;\n\nexport type DialogApi = ApiFromConfig<\n\ttypeof dialogPropsConfig,\n\t{\n\t\t/** Both callbacks handle the native events of the `<dialog>` element. */\n\t\tCallbacks: {\n\t\t\tcancel: (event: Event) => void;\n\t\t\tclose: (event: Event) => void;\n\t\t};\n\t\tMethods: {\n\t\t\tclose: () => void;\n\t\t\tcloseModal: () => void;\n\t\t\topenModal: () => void;\n\t\t\tshow: (modal?: boolean) => void;\n\t\t\tshowModal: () => void;\n\t\t};\n\t\tRefs: {\n\t\t\tdialog: HTMLDialogElement;\n\t\t};\n\t\tStates: {\n\t\t\t/**\n\t\t\t * DOM id of the close button's visually-hidden description span, required by the card\n\t\t\t * variant's `ButtonFC`. Unused while that button carries no aria description.\n\t\t\t */\n\t\t\tariaDescriptionId: string;\n\t\t\t/**\n\t\t\t * DOM id of the card variant's heading, referenced by the `<dialog>`'s\n\t\t\t * `aria-labelledby`. Generated per instance.\n\t\t\t */\n\t\t\theadingId: string;\n\t\t\t/**\n\t\t\t * Whether the dialog is currently shown modally. Drives `aria-modal` and is set by\n\t\t\t * `show()`/`showModal()`.\n\t\t\t */\n\t\t\tmodal: boolean;\n\t\t};\n\t}\n>;\n","import type { JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { ResolvedButtonProps } from '../../internal/functional-components/button/resolve-props';\nimport { resolveCardCloseButtonProps } from '../../internal/functional-components/card/close-button';\nimport type { CardFCProps } from '../../internal/functional-components/card/component';\nimport { CardFC } from '../../internal/functional-components/card/component';\nimport type { DialogApi } from '../../internal/functional-components/dialog/api';\nimport { dialogPropsConfig } from '../../internal/functional-components/dialog/api';\nimport { dialogBlockClass, DialogFC } from '../../internal/functional-components/dialog/component';\nimport { TooltipBehavior } from '../../internal/functional-components/tooltip/behavior';\nimport { dialogCallbacksProp, labelProp, levelProp, variantDialogProp, widthProp } from '../../internal/props';\nimport type { HeadingLevel, KoliBriDialogEventCallbacks, LabelPropType } from '../../schema';\nimport type { ModalVariantPropType } from '../../schema/props/variant/modal';\nimport { createCtaRef } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport { lockScroll, unlockScroll } from '../../utils/scroll-lock';\nimport { handleCancelOverlay } from '../../utils/tooltip-open-tracking';\n\n/**\n * The card variant renders no link, so its anchor never exists: the card's own `_on` callbacks\n * describe that anchor, and its ref is never called.\n */\nconst NOOP = (): void => {};\n\n/**\n * Orchestrator shared by `kol-dialog` and the deprecated `kol-modal`. Both render the same\n * `DialogFC`; the concrete element only declares the Stencil members and delegates from its\n * watchers, methods and lifecycle hooks.\n *\n * The card variant renders `CardFC` directly, so this class also owns the close button's resolved\n * props, its tooltip behavior and its ref.\n */\nexport abstract class BaseDialogWebComponent extends BaseWebComponent<DialogApi> {\n\tprotected abstract readonly host?: HTMLElement;\n\n\tprotected readonly dialogRef = createCtaRef<HTMLDialogElement>();\n\tprivate readonly cardCloseButtonRef = createCtaRef<HTMLButtonElement>();\n\n\t/** Drives the card close button's tooltip — it renders with `hideLabel`, so its label lives there. */\n\tprivate readonly cardCloseTooltipBehavior = new TooltipBehavior(this.stateAccess);\n\n\t/** Resolved once in `componentWillLoad`: the close button's configuration never changes. */\n\tprivate cardCloseButtonProps!: ResolvedButtonProps;\n\n\t// --- Lifecycle ---\n\n\tprotected initDialogRenderProps(): void {\n\t\tthis.initRenderProps(dialogPropsConfig);\n\n\t\tthis.cardCloseButtonProps = resolveCardCloseButtonProps(this.host);\n\t\tthis.cardCloseTooltipBehavior.componentWillLoad({\n\t\t\tlabel: this.cardCloseButtonProps.label,\n\t\t\talign: this.cardCloseButtonProps.tooltipAlign,\n\t\t});\n\t}\n\n\tprotected syncCardCloseTooltipListeners(): void {\n\t\tif (this.cardCloseButtonRef.el) {\n\t\t\tthis.cardCloseTooltipBehavior.syncListeners(undefined, this.cardCloseButtonRef.el, true);\n\t\t}\n\t}\n\n\tprotected teardownDialog(): void {\n\t\tthis.closeDialog();\n\t\tunlockScroll(this);\n\t\tthis.cardCloseTooltipBehavior.destroy();\n\t}\n\n\t// --- Prop application ---\n\n\tprotected applyLabel(value?: LabelPropType): void {\n\t\tlabelProp.apply(value, (v) => this.setRenderProp('label', v));\n\t}\n\n\tprotected applyLevel(value?: HeadingLevel): void {\n\t\tlevelProp.apply(value, (v) => this.setRenderProp('level', v));\n\t}\n\n\tprotected applyOn(value?: KoliBriDialogEventCallbacks): void {\n\t\tdialogCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\tprotected applyVariant(value?: ModalVariantPropType): void {\n\t\tvariantDialogProp.apply(value, (v) => this.setRenderProp('variant', v));\n\t}\n\n\tprotected applyWidth(value?: string): void {\n\t\twidthProp.apply(value, (v) => this.setRenderProp('width', v));\n\t}\n\n\t// --- Dialog control ---\n\n\t/*\n\t * The optional chaining on the native methods is a workaround for HTMLDialogElement not being\n\t * implemented in jsdom, which would otherwise fail the Jest tests.\n\t */\n\n\tprotected showDialog(modal: boolean): void {\n\t\tconst dialog = this.dialogRef.el;\n\t\tif (dialog?.open) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState('modal', modal);\n\t\tif (modal) {\n\t\t\tdialog?.showModal?.();\n\t\t\tif (dialog) {\n\t\t\t\tlockScroll(this);\n\t\t\t}\n\t\t} else {\n\t\t\tdialog?.show?.();\n\t\t}\n\t}\n\n\tprotected closeDialog(): void {\n\t\tthis.dialogRef.el?.close?.();\n\t}\n\n\t// --- Event handling ---\n\n\tprivate readonly handleCancel = (event: Event): void => {\n\t\thandleCancelOverlay(event);\n\t\tif (event.defaultPrevented) return;\n\n\t\tthis.getRenderProp('on').onCancel?.(event);\n\t\tif (event.defaultPrevented) return;\n\n\t\tif (this.host && !dispatchDomEvent(this.host, KolEvent.cancel)) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t};\n\n\tprivate readonly handleClose = (event: Event): void => {\n\t\t// Ignore close events that bubble up from child components (e.g. KolAlert).\n\t\t// Only react when the dialog element itself is the event origin.\n\t\tif (event.target !== this.dialogRef.el) {\n\t\t\treturn;\n\t\t}\n\n\t\tunlockScroll(this);\n\t\tthis.getRenderProp('on').onClose?.();\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.close);\n\t\t}\n\t};\n\n\t/** The card's close button closes the dialog, which then fires its own native close event. */\n\tprivate readonly handleCardClose = (): void => {\n\t\tthis.cardCloseTooltipBehavior.hideTooltip();\n\t\tthis.closeDialog();\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.close);\n\t\t}\n\t};\n\n\t// --- Render ---\n\n\t/**\n\t * Stencil derives light-DOM slot relocation from the `<slot />` it finds in the element file,\n\t * so each element supplies its own through `renderSlot`.\n\t */\n\tprotected abstract renderSlot(): JSX.Element;\n\n\tprivate buildCardProps(): CardFCProps {\n\t\treturn {\n\t\t\tariaDescriptionId: this.getState('ariaDescriptionId'),\n\t\t\tcloseButtonProps: this.cardCloseButtonProps,\n\t\t\thandleBlur: NOOP,\n\t\t\thandleClose: this.handleCardClose,\n\t\t\thandleFocus: NOOP,\n\t\t\thasCloser: true,\n\t\t\theadingId: this.getState('headingId'),\n\t\t\thref: '',\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\tlevel: this.getRenderProp('level'),\n\t\t\ton: {},\n\t\t\trefCloseButton: this.cardCloseButtonRef,\n\t\t\trefCta: NOOP,\n\t\t\trefTooltip: this.cardCloseTooltipBehavior.setTooltipElementRef,\n\t\t\ttarget: '',\n\t\t};\n\t}\n\n\tprotected renderDialogFC(): JSX.Element {\n\t\tconst variant = this.getRenderProp('variant');\n\t\tconst isCard = variant === 'card';\n\n\t\treturn (\n\t\t\t<DialogFC\n\t\t\t\tblockClass={dialogBlockClass(variant)}\n\t\t\t\thandleCancel={this.handleCancel}\n\t\t\t\thandleClose={this.handleClose}\n\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\tlabelledBy={isCard ? this.getState('headingId') : undefined}\n\t\t\t\tmodal={this.getState('modal')}\n\t\t\t\trefDialog={this.dialogRef}\n\t\t\t\twidth={this.getRenderProp('width')}\n\t\t\t>\n\t\t\t\t{isCard ? <CardFC {...this.buildCardProps()}>{this.renderSlot()}</CardFC> : this.renderSlot()}\n\t\t\t</DialogFC>\n\t\t);\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as i}from"./index-DQdQBwMc.js";import{B as t}from"./base-web-component-3R1Dy3QK.js";import{l as s,a,c as e,d as r,b as o,L as n}from"./api-CagcODCX.js";import{T as h}from"./behavior-D1kOlK6p.js";import{s as l}from"./common-BqpMtheU.js";import{a as p,b as d,c,f,g as y,h as u,s as m,i as b,l as C,d as x,t as g,e as A,v as j}from"./variant-CeijQFzL.js";import{d as w}from"./disabled-CdyeAMlW.js";import{h as D}from"./href-DOi-fZMu.js";import{l as L}from"./label-with-expert-slot-CocPu9HB.js";import{l as v}from"./link-target-B7A-qwaP.js";import{c as K}from"./element-interaction-Cy9tx3Sx.js";import{d as I,K as B}from"./events-CRHxtwup.js";import{o as O}from"./ariaCurrentService-YoLNpD5S.js";class k extends t{constructor(){super(...arguments);this.ctaRef=K((()=>this.getRenderProp("disabled")===true));this.tooltipBehavior=new h(this.stateAccess);this.handleAnchorClick=i=>{this.tooltipBehavior.hideTooltip();const t=this.getRenderProp("disabled");if(t===true){i.preventDefault();return}const s=this.getRenderProp("href");const a=this.getRenderProp("on");if(typeof(a===null||a===void 0?void 0:a.onClick)==="function"){l(i,this.ctaRef.el);a.onClick(i,s)}if(this.host){I(this.host,B.click,s)}};this.setAnchorRef=i=>{this.ctaRef(i)}}initLinkRenderProps(){this.initRenderProps(s);this.unsetRenderProp("tabIndex")}initLinkBehaviors(){this.unsubscribeOnLocationChange=O((i=>{const t=this.getRenderProp("href");const s=this.getRenderProp("ariaCurrentValue");const a=i===t?s:"";if(this.getState("ariaCurrent")!==a){this.setState("ariaCurrent",a)}}));this.tooltipBehavior.componentWillLoad({label:this.getTooltipLabel(),align:this.getRenderProp("tooltipAlign")})}syncTooltipListeners(){if(this.ctaRef.el){this.tooltipBehavior.syncListeners(undefined,this.ctaRef.el,true)}}destroyLinkBehaviors(){if(this.unsubscribeOnLocationChange){this.unsubscribeOnLocationChange();this.unsubscribeOnLocationChange=undefined}this.tooltipBehavior.destroy()}getTooltipLabel(){const i=this.getRenderProp("label");if(typeof i==="string"&&i.length>0){return i}const t=this.getRenderProp("href");return typeof t==="string"?t:""}applyAccessKey(i){p.apply(i,(i=>this.setRenderProp("accessKey",i)))}applyAriaControls(i){d.apply(i,(i=>this.setRenderProp("ariaControls",i)))}applyAriaCurrentValue(i){a.apply(i,(i=>this.setRenderProp("ariaCurrentValue",i)))}applyAriaDescription(i){c.apply(i,(i=>this.setRenderProp("ariaDescription",i)))}applyAriaExpanded(i){f.apply(i,(i=>this.setRenderProp("ariaExpanded",i)))}applyAriaOwns(i){e.apply(i,(i=>this.setRenderProp("ariaOwns",i)))}applyCustomClass(i){y.apply(i,(i=>this.setRenderProp("customClass",i)))}applyDisabled(i){w.apply(i,(i=>this.setRenderProp("disabled",i)))}applyDownload(i){r.apply(i,(i=>this.setRenderProp("download",i)))}applyHideLabel(i){u.apply(i,(i=>this.setRenderProp("hideLabel",i)))}applyHref(i){D.apply(i,(i=>this.setRenderProp("href",i)))}applyIcons(i){m.apply(i,(i=>this.setRenderProp("icons",i)))}applyInline(i){b.apply(i,(i=>this.setRenderProp("inline",i)))}applyLabel(i){L.apply(i,(t=>{this.setRenderProp("label",t);this.setState("expertSlot",i==="");this.tooltipBehavior.watchLabel(this.getTooltipLabel())}))}applyOn(i){o.apply(i,(i=>this.setRenderProp("on",i)))}applyRole(i){C.apply(i,(i=>this.setRenderProp("role",i)))}applyShortKey(i){x.apply(i,(i=>this.setRenderProp("shortKey",i)))}applyTabIndex(i){if(typeof i==="number"){g.apply(i,(i=>this.setRenderProp("tabIndex",i)))}else{this.unsetRenderProp("tabIndex")}}applyTarget(i){v.apply(i,(i=>this.setRenderProp("target",i)))}applyTooltipAlign(i){A.apply(i,(i=>{this.setRenderProp("tooltipAlign",i);this.tooltipBehavior.watchAlign(i)}))}applyVariant(i){j.apply(i,(i=>this.setRenderProp("variant",i)))}renderLinkFC(){return i(n,{accessKey:this.getRenderProp("accessKey"),ariaControls:this.getRenderProp("ariaControls"),ariaCurrent:this.getState("ariaCurrent"),ariaCurrentValue:this.getRenderProp("ariaCurrentValue"),ariaDescription:this.getRenderProp("ariaDescription"),ariaDescriptionId:this.getState("ariaDescriptionId"),ariaExpanded:this.getRenderProp("ariaExpanded"),ariaOwns:this.getRenderProp("ariaOwns"),customClass:this.getRenderProp("customClass"),disabled:this.getRenderProp("disabled"),download:this.getRenderProp("download"),handleAnchorClick:this.handleAnchorClick,hideLabel:this.getRenderProp("hideLabel"),href:this.getRenderProp("href"),icons:this.getRenderProp("icons"),inline:this.getRenderProp("inline"),label:this.getRenderProp("label"),on:this.getRenderProp("on"),refAnchor:this.setAnchorRef,refTooltip:this.tooltipBehavior.setTooltipElementRef,role:this.getRenderProp("role"),shortKey:this.getRenderProp("shortKey"),tabIndex:this.getRenderProp("tabIndex"),target:this.getRenderProp("target"),tooltipAlign:this.getRenderProp("tooltipAlign"),variant:this.getRenderProp("variant"),expertSlot:this.getState("expertSlot")})}}export{k as B};
5
- //# sourceMappingURL=base-BpKxLJ6r.js.map
4
+ import{h as i}from"./index-DAKQV03B.js";import{B as t}from"./base-web-component-3R1Dy3QK.js";import{l as s,a,c as e,d as r,b as o,L as n}from"./api-T-JuZMlj.js";import{T as h}from"./behavior-D1kOlK6p.js";import{s as l}from"./common-BqpMtheU.js";import{a as p,b as d,c,f,g as y,h as u,s as m,i as b,l as C,d as x,t as A,e as g,v as j}from"./variant-CeijQFzL.js";import{d as L}from"./disabled-CdyeAMlW.js";import{h as w}from"./href-DOi-fZMu.js";import{l as D}from"./label-with-expert-slot-CocPu9HB.js";import{l as v}from"./link-target-B7A-qwaP.js";import{c as K}from"./element-interaction-Cy9tx3Sx.js";import{d as I,K as B}from"./events-CRHxtwup.js";import{o as T}from"./ariaCurrentService-YoLNpD5S.js";class k extends t{constructor(){super(...arguments);this.ctaRef=K((()=>this.getRenderProp("disabled")===true));this.tooltipBehavior=new h(this.stateAccess);this.handleAnchorClick=i=>{this.tooltipBehavior.hideTooltip();const t=this.getRenderProp("disabled");if(t===true){i.preventDefault();return}const s=this.getRenderProp("href");const a=this.getRenderProp("on");if(typeof(a===null||a===void 0?void 0:a.onClick)==="function"){l(i,this.ctaRef.el);a.onClick(i,s)}if(this.host){I(this.host,B.click,s)}};this.setAnchorRef=i=>{this.ctaRef(i)}}initLinkRenderProps(){this.initRenderProps(s);this.unsetRenderProp("tabIndex")}initLinkBehaviors(){this.unsubscribeOnLocationChange=T((i=>{const t=this.getRenderProp("href");const s=this.getRenderProp("ariaCurrentValue");const a=i===t?s:"";if(this.getState("ariaCurrent")!==a){this.setState("ariaCurrent",a)}}));this.tooltipBehavior.componentWillLoad({label:this.getTooltipLabel(),align:this.getRenderProp("tooltipAlign")})}syncTooltipListeners(){if(this.ctaRef.el){this.tooltipBehavior.syncListeners(undefined,this.ctaRef.el,true)}}destroyLinkBehaviors(){if(this.unsubscribeOnLocationChange){this.unsubscribeOnLocationChange();this.unsubscribeOnLocationChange=undefined}this.tooltipBehavior.destroy()}getTooltipLabel(){const i=this.getRenderProp("label");if(typeof i==="string"&&i.length>0){return i}const t=this.getRenderProp("href");return typeof t==="string"?t:""}applyAccessKey(i){p.apply(i,(i=>this.setRenderProp("accessKey",i)))}applyAriaControls(i){d.apply(i,(i=>this.setRenderProp("ariaControls",i)))}applyAriaCurrentValue(i){a.apply(i,(i=>this.setRenderProp("ariaCurrentValue",i)))}applyAriaDescription(i){c.apply(i,(i=>this.setRenderProp("ariaDescription",i)))}applyAriaExpanded(i){f.apply(i,(i=>this.setRenderProp("ariaExpanded",i)))}applyAriaOwns(i){e.apply(i,(i=>this.setRenderProp("ariaOwns",i)))}applyCustomClass(i){y.apply(i,(i=>this.setRenderProp("customClass",i)))}applyDisabled(i){L.apply(i,(i=>this.setRenderProp("disabled",i)))}applyDownload(i){r.apply(i,(i=>this.setRenderProp("download",i)))}applyHideLabel(i){u.apply(i,(i=>this.setRenderProp("hideLabel",i)))}applyHref(i){w.apply(i,(i=>this.setRenderProp("href",i)))}applyIcons(i){m.apply(i,(i=>this.setRenderProp("icons",i)))}applyInline(i){b.apply(i,(i=>this.setRenderProp("inline",i)))}applyLabel(i){D.apply(i,(t=>{this.setRenderProp("label",t);this.setState("expertSlot",i==="");this.tooltipBehavior.watchLabel(this.getTooltipLabel())}))}applyOn(i){o.apply(i,(i=>this.setRenderProp("on",i)))}applyRole(i){C.apply(i,(i=>this.setRenderProp("role",i)))}applyShortKey(i){x.apply(i,(i=>this.setRenderProp("shortKey",i)))}applyTabIndex(i){if(typeof i==="number"){A.apply(i,(i=>this.setRenderProp("tabIndex",i)))}else{this.unsetRenderProp("tabIndex")}}applyTarget(i){v.apply(i,(i=>this.setRenderProp("target",i)))}applyTooltipAlign(i){g.apply(i,(i=>{this.setRenderProp("tooltipAlign",i);this.tooltipBehavior.watchAlign(i)}))}applyVariant(i){j.apply(i,(i=>this.setRenderProp("variant",i)))}renderLinkFC(){return i(n,{accessKey:this.getRenderProp("accessKey"),ariaControls:this.getRenderProp("ariaControls"),ariaCurrent:this.getState("ariaCurrent"),ariaCurrentValue:this.getRenderProp("ariaCurrentValue"),ariaDescription:this.getRenderProp("ariaDescription"),ariaDescriptionId:this.getState("ariaDescriptionId"),ariaExpanded:this.getRenderProp("ariaExpanded"),ariaOwns:this.getRenderProp("ariaOwns"),customClass:this.getRenderProp("customClass"),disabled:this.getRenderProp("disabled"),download:this.getRenderProp("download"),handleAnchorClick:this.handleAnchorClick,hideLabel:this.getRenderProp("hideLabel"),href:this.getRenderProp("href"),icons:this.getRenderProp("icons"),inline:this.getRenderProp("inline"),label:this.getRenderProp("label"),on:this.getRenderProp("on"),refAnchor:this.setAnchorRef,refTooltip:this.tooltipBehavior.setTooltipElementRef,role:this.getRenderProp("role"),shortKey:this.getRenderProp("shortKey"),tabIndex:this.getRenderProp("tabIndex"),target:this.getRenderProp("target"),tooltipAlign:this.getRenderProp("tooltipAlign"),variant:this.getRenderProp("variant"),expertSlot:this.getState("expertSlot")})}}export{k as B};
5
+ //# sourceMappingURL=base-BbVXW6YI.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-BpKxLJ6r.js","sources":["src/components/link/base.tsx"],"sourcesContent":["import type { JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { LinkApi } from '../../internal/functional-components/link/api';\nimport { linkPropsConfig } from '../../internal/functional-components/link/api';\nimport { LinkFC } from '../../internal/functional-components/link/component';\nimport { TooltipBehavior } from '../../internal/functional-components/tooltip/behavior';\nimport {\n\taccessKeyProp,\n\tariaControlsProp,\n\tariaCurrentValueProp,\n\tariaDescriptionProp,\n\tariaExpandedProp,\n\tariaOwnsProp,\n\tcustomClassProp,\n\tdisabledProp,\n\tdownloadProp,\n\thideLabelProp,\n\threfProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkCallbacksProp,\n\tlinkRoleProp,\n\tlinkTargetProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../internal/props';\nimport type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaCurrentValuePropType,\n\tAriaDescriptionPropType,\n\tAriaOwnsPropType,\n\tCustomClassPropType,\n\tDownloadPropType,\n\tHrefPropType,\n\tInlinePropType,\n\tKoliBriIconsProp,\n\tLabelWithExpertSlotPropType,\n\tLinkOnCallbacksPropType,\n\tLinkTargetPropType,\n\tShortKeyPropType,\n\tStringified,\n\tTooltipAlignPropType,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport { setEventTarget } from '../../schema';\nimport { createCtaRef } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport type { UnsubscribeFunction } from './ariaCurrentService';\nimport { onLocationChange } from './ariaCurrentService';\n\n/**\n * Shared orchestrator implementation for every custom element that renders `LinkFC`:\n * `kol-link` and `kol-link-button`.\n *\n * The class carries everything that does not need a Stencil decorator — the composed\n * `TooltipBehavior`, the `aria-current` location subscription, the anchor click handler, one\n * `apply*` method per prop and the `LinkFC` render call. The concrete element keeps what Stencil\n * has to see in the component class itself: `@Component`, `@Element`, `@State`, `@Method`, every\n * `@Prop` with its `@Watch` (whose body is a one-line call into the matching `apply*` method) and\n * the lifecycle methods, which delegate here (ARC42 § 9, design decision 16).\n *\n * This is not a layer between the web component and the functional component — it *is* the web\n * component's implementation, shared between the tag variants of one FC.\n */\nexport abstract class BaseLinkWebComponent extends BaseWebComponent<LinkApi> {\n\t/** The custom element; declared with `@Element()` by the concrete class. */\n\tprotected abstract readonly host?: HTMLElement;\n\n\t/* An `<a>` carries no native `disabled`, so a disabled link stays focusable. Emptying the ref\n\t keeps the public `focus()` and `click()` methods from reaching it. */\n\tprotected readonly ctaRef = createCtaRef<HTMLAnchorElement>(() => this.getRenderProp('disabled') === true);\n\n\t// --- Composed behaviors ---\n\n\tprotected readonly tooltipBehavior = new TooltipBehavior(this.stateAccess);\n\tprivate unsubscribeOnLocationChange?: UnsubscribeFunction;\n\n\t// --- Lifecycle helpers (called from the concrete element's lifecycle methods) ---\n\n\t/**\n\t * Seeds the render props. Call first in `componentWillLoad`, before the prop watchers run.\n\t */\n\tprotected initLinkRenderProps(): void {\n\t\tthis.initRenderProps(linkPropsConfig);\n\t\t// An unset tabindex must not render as `tabindex=\"0\"` — links are natively tabbable and\n\t\t// the attribute would trigger focus outlines that the predecessor did not draw.\n\t\tthis.unsetRenderProp('tabIndex');\n\t}\n\n\t/**\n\t * Subscribes to location changes and hands the resolved label and alignment to the tooltip\n\t * behavior. Call last in `componentWillLoad`, after every prop watcher has run.\n\t */\n\tprotected initLinkBehaviors(): void {\n\t\tthis.unsubscribeOnLocationChange = onLocationChange((location) => {\n\t\t\tconst href = this.getRenderProp('href');\n\t\t\tconst ariaCurrentValue = this.getRenderProp('ariaCurrentValue');\n\t\t\tconst newValue = location === href ? ariaCurrentValue : '';\n\t\t\tif (this.getState('ariaCurrent') !== newValue) {\n\t\t\t\tthis.setState('ariaCurrent', newValue);\n\t\t\t}\n\t\t});\n\n\t\tthis.tooltipBehavior.componentWillLoad({\n\t\t\tlabel: this.getTooltipLabel(),\n\t\t\talign: this.getRenderProp('tooltipAlign'),\n\t\t});\n\t}\n\n\t/** Call from `componentDidRender`. */\n\tprotected syncTooltipListeners(): void {\n\t\tif (this.ctaRef.el) {\n\t\t\tthis.tooltipBehavior.syncListeners(undefined, this.ctaRef.el, true);\n\t\t}\n\t}\n\n\t/** Call from `disconnectedCallback`. */\n\tprotected destroyLinkBehaviors(): void {\n\t\tif (this.unsubscribeOnLocationChange) {\n\t\t\tthis.unsubscribeOnLocationChange();\n\t\t\tthis.unsubscribeOnLocationChange = undefined;\n\t\t}\n\t\tthis.tooltipBehavior.destroy();\n\t}\n\n\t// --- Click handling ---\n\n\tprotected readonly handleAnchorClick = (event: Event): void => {\n\t\tthis.tooltipBehavior.hideTooltip();\n\t\tconst disabled = this.getRenderProp('disabled');\n\t\tif (disabled === true) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tconst href = this.getRenderProp('href');\n\t\tconst on = this.getRenderProp('on');\n\t\tif (typeof on?.onClick === 'function') {\n\t\t\tsetEventTarget(event, this.ctaRef.el);\n\t\t\ton.onClick(event, href);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.click, href);\n\t\t}\n\t};\n\n\t// --- Tooltip helpers ---\n\n\tprivate getTooltipLabel(): string {\n\t\tconst label = this.getRenderProp('label');\n\t\tif (typeof label === 'string' && label.length > 0) {\n\t\t\treturn label;\n\t\t}\n\t\tconst href = this.getRenderProp('href');\n\t\treturn typeof href === 'string' ? href : '';\n\t}\n\n\t// --- Prop application (one per prop; the concrete element's watchers delegate here) ---\n\n\tprotected applyAccessKey(value?: AccessKeyPropType): void {\n\t\taccessKeyProp.apply(value, (v) => this.setRenderProp('accessKey', v));\n\t}\n\n\tprotected applyAriaControls(value?: string): void {\n\t\tariaControlsProp.apply(value, (v) => this.setRenderProp('ariaControls', v));\n\t}\n\n\tprotected applyAriaCurrentValue(value?: AriaCurrentValuePropType): void {\n\t\tariaCurrentValueProp.apply(value, (v) => this.setRenderProp('ariaCurrentValue', v));\n\t}\n\n\tprotected applyAriaDescription(value?: AriaDescriptionPropType): void {\n\t\tariaDescriptionProp.apply(value, (v) => this.setRenderProp('ariaDescription', v));\n\t}\n\n\tprotected applyAriaExpanded(value?: boolean): void {\n\t\tariaExpandedProp.apply(value, (v) => this.setRenderProp('ariaExpanded', v));\n\t}\n\n\tprotected applyAriaOwns(value?: AriaOwnsPropType): void {\n\t\tariaOwnsProp.apply(value, (v) => this.setRenderProp('ariaOwns', v));\n\t}\n\n\tprotected applyCustomClass(value?: CustomClassPropType): void {\n\t\tcustomClassProp.apply(value, (v) => this.setRenderProp('customClass', v));\n\t}\n\n\tprotected applyDisabled(value?: boolean): void {\n\t\tdisabledProp.apply(value, (v) => this.setRenderProp('disabled', v));\n\t}\n\n\tprotected applyDownload(value?: DownloadPropType): void {\n\t\tdownloadProp.apply(value, (v) => this.setRenderProp('download', v));\n\t}\n\n\tprotected applyHideLabel(value?: boolean): void {\n\t\thideLabelProp.apply(value, (v) => this.setRenderProp('hideLabel', v));\n\t}\n\n\tprotected applyHref(value?: HrefPropType): void {\n\t\threfProp.apply(value, (v) => this.setRenderProp('href', v));\n\t}\n\n\tprotected applyIcons(value?: Stringified<KoliBriIconsProp>): void {\n\t\tspanIconsProp.apply(value, (v) => this.setRenderProp('icons', v));\n\t}\n\n\tprotected applyInline(value?: InlinePropType): void {\n\t\tinlineProp.apply(value, (v) => this.setRenderProp('inline', v));\n\t}\n\n\tprotected applyLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t\tthis.setState('expertSlot', value === '');\n\t\t\tthis.tooltipBehavior.watchLabel(this.getTooltipLabel());\n\t\t});\n\t}\n\n\tprotected applyOn(value?: LinkOnCallbacksPropType): void {\n\t\tlinkCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\tprotected applyRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tlinkRoleProp.apply(value, (v) => this.setRenderProp('role', v));\n\t}\n\n\tprotected applyShortKey(value?: ShortKeyPropType): void {\n\t\tshortKeyProp.apply(value, (v) => this.setRenderProp('shortKey', v));\n\t}\n\n\tprotected applyTabIndex(value?: number): void {\n\t\t// The props config seeds `tabIndex` with its default `0`, but an unset tabindex must not\n\t\t// render as `tabindex=\"0\"`. Unsetting the prop has to restore that state, so the else branch\n\t\t// is not optional: without it a reset would keep the previous number.\n\t\tif (typeof value === 'number') {\n\t\t\ttabIndexProp.apply(value, (v) => this.setRenderProp('tabIndex', v));\n\t\t} else {\n\t\t\tthis.unsetRenderProp('tabIndex');\n\t\t}\n\t}\n\n\tprotected applyTarget(value?: LinkTargetPropType): void {\n\t\tlinkTargetProp.apply(value, (v) => this.setRenderProp('target', v));\n\t}\n\n\tprotected applyTooltipAlign(value?: TooltipAlignPropType): void {\n\t\ttooltipAlignProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('tooltipAlign', v);\n\t\t\tthis.tooltipBehavior.watchAlign(v);\n\t\t});\n\t}\n\n\tprotected applyVariant(value?: VariantClassNamePropType): void {\n\t\tvariantProp.apply(value, (v) => this.setRenderProp('variant', v));\n\t}\n\n\t// --- Refs ---\n\n\tprivate readonly setAnchorRef = (el?: HTMLAnchorElement): void => {\n\t\tthis.ctaRef(el);\n\t};\n\n\t// --- Render ---\n\n\t/** Renders `LinkFC` from the current render props and state. */\n\tprotected renderLinkFC(): JSX.Element {\n\t\treturn (\n\t\t\t<LinkFC\n\t\t\t\taccessKey={this.getRenderProp('accessKey')}\n\t\t\t\tariaControls={this.getRenderProp('ariaControls')}\n\t\t\t\tariaCurrent={this.getState('ariaCurrent')}\n\t\t\t\tariaCurrentValue={this.getRenderProp('ariaCurrentValue')}\n\t\t\t\tariaDescription={this.getRenderProp('ariaDescription')}\n\t\t\t\tariaDescriptionId={this.getState('ariaDescriptionId')}\n\t\t\t\tariaExpanded={this.getRenderProp('ariaExpanded')}\n\t\t\t\tariaOwns={this.getRenderProp('ariaOwns')}\n\t\t\t\tcustomClass={this.getRenderProp('customClass')}\n\t\t\t\tdisabled={this.getRenderProp('disabled')}\n\t\t\t\tdownload={this.getRenderProp('download')}\n\t\t\t\thandleAnchorClick={this.handleAnchorClick}\n\t\t\t\thideLabel={this.getRenderProp('hideLabel')}\n\t\t\t\thref={this.getRenderProp('href')}\n\t\t\t\ticons={this.getRenderProp('icons')}\n\t\t\t\tinline={this.getRenderProp('inline')}\n\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\ton={this.getRenderProp('on')}\n\t\t\t\trefAnchor={this.setAnchorRef}\n\t\t\t\trefTooltip={this.tooltipBehavior.setTooltipElementRef}\n\t\t\t\trole={this.getRenderProp('role')}\n\t\t\t\tshortKey={this.getRenderProp('shortKey')}\n\t\t\t\ttabIndex={this.getRenderProp('tabIndex')}\n\t\t\t\ttarget={this.getRenderProp('target')}\n\t\t\t\ttooltipAlign={this.getRenderProp('tooltipAlign')}\n\t\t\t\tvariant={this.getRenderProp('variant')}\n\t\t\t\texpertSlot={this.getState('expertSlot')}\n\t\t\t/>\n\t\t);\n\t}\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-BbVXW6YI.js","sources":["src/components/link/base.tsx"],"sourcesContent":["import type { JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { LinkApi } from '../../internal/functional-components/link/api';\nimport { linkPropsConfig } from '../../internal/functional-components/link/api';\nimport { LinkFC } from '../../internal/functional-components/link/component';\nimport { TooltipBehavior } from '../../internal/functional-components/tooltip/behavior';\nimport {\n\taccessKeyProp,\n\tariaControlsProp,\n\tariaCurrentValueProp,\n\tariaDescriptionProp,\n\tariaExpandedProp,\n\tariaOwnsProp,\n\tcustomClassProp,\n\tdisabledProp,\n\tdownloadProp,\n\thideLabelProp,\n\threfProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkCallbacksProp,\n\tlinkRoleProp,\n\tlinkTargetProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../internal/props';\nimport type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaCurrentValuePropType,\n\tAriaDescriptionPropType,\n\tAriaOwnsPropType,\n\tCustomClassPropType,\n\tDownloadPropType,\n\tHrefPropType,\n\tInlinePropType,\n\tKoliBriIconsProp,\n\tLabelWithExpertSlotPropType,\n\tLinkOnCallbacksPropType,\n\tLinkTargetPropType,\n\tShortKeyPropType,\n\tStringified,\n\tTooltipAlignPropType,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport { setEventTarget } from '../../schema';\nimport { createCtaRef } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport type { UnsubscribeFunction } from './ariaCurrentService';\nimport { onLocationChange } from './ariaCurrentService';\n\n/**\n * Shared orchestrator implementation for every custom element that renders `LinkFC`:\n * `kol-link` and `kol-link-button`.\n *\n * The class carries everything that does not need a Stencil decorator — the composed\n * `TooltipBehavior`, the `aria-current` location subscription, the anchor click handler, one\n * `apply*` method per prop and the `LinkFC` render call. The concrete element keeps what Stencil\n * has to see in the component class itself: `@Component`, `@Element`, `@State`, `@Method`, every\n * `@Prop` with its `@Watch` (whose body is a one-line call into the matching `apply*` method) and\n * the lifecycle methods, which delegate here (ARC42 § 9, design decision 16).\n *\n * This is not a layer between the web component and the functional component — it *is* the web\n * component's implementation, shared between the tag variants of one FC.\n */\nexport abstract class BaseLinkWebComponent extends BaseWebComponent<LinkApi> {\n\t/** The custom element; declared with `@Element()` by the concrete class. */\n\tprotected abstract readonly host?: HTMLElement;\n\n\t/* An `<a>` carries no native `disabled`, so a disabled link stays focusable. Emptying the ref\n\t keeps the public `focus()` and `click()` methods from reaching it. */\n\tprotected readonly ctaRef = createCtaRef<HTMLAnchorElement>(() => this.getRenderProp('disabled') === true);\n\n\t// --- Composed behaviors ---\n\n\tprotected readonly tooltipBehavior = new TooltipBehavior(this.stateAccess);\n\tprivate unsubscribeOnLocationChange?: UnsubscribeFunction;\n\n\t// --- Lifecycle helpers (called from the concrete element's lifecycle methods) ---\n\n\t/**\n\t * Seeds the render props. Call first in `componentWillLoad`, before the prop watchers run.\n\t */\n\tprotected initLinkRenderProps(): void {\n\t\tthis.initRenderProps(linkPropsConfig);\n\t\t// An unset tabindex must not render as `tabindex=\"0\"` — links are natively tabbable and\n\t\t// the attribute would trigger focus outlines that the predecessor did not draw.\n\t\tthis.unsetRenderProp('tabIndex');\n\t}\n\n\t/**\n\t * Subscribes to location changes and hands the resolved label and alignment to the tooltip\n\t * behavior. Call last in `componentWillLoad`, after every prop watcher has run.\n\t */\n\tprotected initLinkBehaviors(): void {\n\t\tthis.unsubscribeOnLocationChange = onLocationChange((location) => {\n\t\t\tconst href = this.getRenderProp('href');\n\t\t\tconst ariaCurrentValue = this.getRenderProp('ariaCurrentValue');\n\t\t\tconst newValue = location === href ? ariaCurrentValue : '';\n\t\t\tif (this.getState('ariaCurrent') !== newValue) {\n\t\t\t\tthis.setState('ariaCurrent', newValue);\n\t\t\t}\n\t\t});\n\n\t\tthis.tooltipBehavior.componentWillLoad({\n\t\t\tlabel: this.getTooltipLabel(),\n\t\t\talign: this.getRenderProp('tooltipAlign'),\n\t\t});\n\t}\n\n\t/** Call from `componentDidRender`. */\n\tprotected syncTooltipListeners(): void {\n\t\tif (this.ctaRef.el) {\n\t\t\tthis.tooltipBehavior.syncListeners(undefined, this.ctaRef.el, true);\n\t\t}\n\t}\n\n\t/** Call from `disconnectedCallback`. */\n\tprotected destroyLinkBehaviors(): void {\n\t\tif (this.unsubscribeOnLocationChange) {\n\t\t\tthis.unsubscribeOnLocationChange();\n\t\t\tthis.unsubscribeOnLocationChange = undefined;\n\t\t}\n\t\tthis.tooltipBehavior.destroy();\n\t}\n\n\t// --- Click handling ---\n\n\tprotected readonly handleAnchorClick = (event: Event): void => {\n\t\tthis.tooltipBehavior.hideTooltip();\n\t\tconst disabled = this.getRenderProp('disabled');\n\t\tif (disabled === true) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\t\tconst href = this.getRenderProp('href');\n\t\tconst on = this.getRenderProp('on');\n\t\tif (typeof on?.onClick === 'function') {\n\t\t\tsetEventTarget(event, this.ctaRef.el);\n\t\t\ton.onClick(event, href);\n\t\t}\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.click, href);\n\t\t}\n\t};\n\n\t// --- Tooltip helpers ---\n\n\tprivate getTooltipLabel(): string {\n\t\tconst label = this.getRenderProp('label');\n\t\tif (typeof label === 'string' && label.length > 0) {\n\t\t\treturn label;\n\t\t}\n\t\tconst href = this.getRenderProp('href');\n\t\treturn typeof href === 'string' ? href : '';\n\t}\n\n\t// --- Prop application (one per prop; the concrete element's watchers delegate here) ---\n\n\tprotected applyAccessKey(value?: AccessKeyPropType): void {\n\t\taccessKeyProp.apply(value, (v) => this.setRenderProp('accessKey', v));\n\t}\n\n\tprotected applyAriaControls(value?: string): void {\n\t\tariaControlsProp.apply(value, (v) => this.setRenderProp('ariaControls', v));\n\t}\n\n\tprotected applyAriaCurrentValue(value?: AriaCurrentValuePropType): void {\n\t\tariaCurrentValueProp.apply(value, (v) => this.setRenderProp('ariaCurrentValue', v));\n\t}\n\n\tprotected applyAriaDescription(value?: AriaDescriptionPropType): void {\n\t\tariaDescriptionProp.apply(value, (v) => this.setRenderProp('ariaDescription', v));\n\t}\n\n\tprotected applyAriaExpanded(value?: boolean): void {\n\t\tariaExpandedProp.apply(value, (v) => this.setRenderProp('ariaExpanded', v));\n\t}\n\n\tprotected applyAriaOwns(value?: AriaOwnsPropType): void {\n\t\tariaOwnsProp.apply(value, (v) => this.setRenderProp('ariaOwns', v));\n\t}\n\n\tprotected applyCustomClass(value?: CustomClassPropType): void {\n\t\tcustomClassProp.apply(value, (v) => this.setRenderProp('customClass', v));\n\t}\n\n\tprotected applyDisabled(value?: boolean): void {\n\t\tdisabledProp.apply(value, (v) => this.setRenderProp('disabled', v));\n\t}\n\n\tprotected applyDownload(value?: DownloadPropType): void {\n\t\tdownloadProp.apply(value, (v) => this.setRenderProp('download', v));\n\t}\n\n\tprotected applyHideLabel(value?: boolean): void {\n\t\thideLabelProp.apply(value, (v) => this.setRenderProp('hideLabel', v));\n\t}\n\n\tprotected applyHref(value?: HrefPropType): void {\n\t\threfProp.apply(value, (v) => this.setRenderProp('href', v));\n\t}\n\n\tprotected applyIcons(value?: Stringified<KoliBriIconsProp>): void {\n\t\tspanIconsProp.apply(value, (v) => this.setRenderProp('icons', v));\n\t}\n\n\tprotected applyInline(value?: InlinePropType): void {\n\t\tinlineProp.apply(value, (v) => this.setRenderProp('inline', v));\n\t}\n\n\tprotected applyLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t\tthis.setState('expertSlot', value === '');\n\t\t\tthis.tooltipBehavior.watchLabel(this.getTooltipLabel());\n\t\t});\n\t}\n\n\tprotected applyOn(value?: LinkOnCallbacksPropType): void {\n\t\tlinkCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\tprotected applyRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tlinkRoleProp.apply(value, (v) => this.setRenderProp('role', v));\n\t}\n\n\tprotected applyShortKey(value?: ShortKeyPropType): void {\n\t\tshortKeyProp.apply(value, (v) => this.setRenderProp('shortKey', v));\n\t}\n\n\tprotected applyTabIndex(value?: number): void {\n\t\t// The props config seeds `tabIndex` with its default `0`, but an unset tabindex must not\n\t\t// render as `tabindex=\"0\"`. Unsetting the prop has to restore that state, so the else branch\n\t\t// is not optional: without it a reset would keep the previous number.\n\t\tif (typeof value === 'number') {\n\t\t\ttabIndexProp.apply(value, (v) => this.setRenderProp('tabIndex', v));\n\t\t} else {\n\t\t\tthis.unsetRenderProp('tabIndex');\n\t\t}\n\t}\n\n\tprotected applyTarget(value?: LinkTargetPropType): void {\n\t\tlinkTargetProp.apply(value, (v) => this.setRenderProp('target', v));\n\t}\n\n\tprotected applyTooltipAlign(value?: TooltipAlignPropType): void {\n\t\ttooltipAlignProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('tooltipAlign', v);\n\t\t\tthis.tooltipBehavior.watchAlign(v);\n\t\t});\n\t}\n\n\tprotected applyVariant(value?: VariantClassNamePropType): void {\n\t\tvariantProp.apply(value, (v) => this.setRenderProp('variant', v));\n\t}\n\n\t// --- Refs ---\n\n\tprivate readonly setAnchorRef = (el?: HTMLAnchorElement): void => {\n\t\tthis.ctaRef(el);\n\t};\n\n\t// --- Render ---\n\n\t/** Renders `LinkFC` from the current render props and state. */\n\tprotected renderLinkFC(): JSX.Element {\n\t\treturn (\n\t\t\t<LinkFC\n\t\t\t\taccessKey={this.getRenderProp('accessKey')}\n\t\t\t\tariaControls={this.getRenderProp('ariaControls')}\n\t\t\t\tariaCurrent={this.getState('ariaCurrent')}\n\t\t\t\tariaCurrentValue={this.getRenderProp('ariaCurrentValue')}\n\t\t\t\tariaDescription={this.getRenderProp('ariaDescription')}\n\t\t\t\tariaDescriptionId={this.getState('ariaDescriptionId')}\n\t\t\t\tariaExpanded={this.getRenderProp('ariaExpanded')}\n\t\t\t\tariaOwns={this.getRenderProp('ariaOwns')}\n\t\t\t\tcustomClass={this.getRenderProp('customClass')}\n\t\t\t\tdisabled={this.getRenderProp('disabled')}\n\t\t\t\tdownload={this.getRenderProp('download')}\n\t\t\t\thandleAnchorClick={this.handleAnchorClick}\n\t\t\t\thideLabel={this.getRenderProp('hideLabel')}\n\t\t\t\thref={this.getRenderProp('href')}\n\t\t\t\ticons={this.getRenderProp('icons')}\n\t\t\t\tinline={this.getRenderProp('inline')}\n\t\t\t\tlabel={this.getRenderProp('label')}\n\t\t\t\ton={this.getRenderProp('on')}\n\t\t\t\trefAnchor={this.setAnchorRef}\n\t\t\t\trefTooltip={this.tooltipBehavior.setTooltipElementRef}\n\t\t\t\trole={this.getRenderProp('role')}\n\t\t\t\tshortKey={this.getRenderProp('shortKey')}\n\t\t\t\ttabIndex={this.getRenderProp('tabIndex')}\n\t\t\t\ttarget={this.getRenderProp('target')}\n\t\t\t\ttooltipAlign={this.getRenderProp('tooltipAlign')}\n\t\t\t\tvariant={this.getRenderProp('variant')}\n\t\t\t\texpertSlot={this.getState('expertSlot')}\n\t\t\t/>\n\t\t);\n\t}\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as i}from"./index-DQdQBwMc.js";import{s,X as t}from"./common-BqpMtheU.js";import{B as a}from"./base-web-component-3R1Dy3QK.js";import{b as e,e as o,a as h,c as r,d as l}from"./api-BvTefIaj.js";import{B as p}from"./component-CBpYh2q-.js";import{F as n}from"./behavior-DnkpB_7O.js";import{T as d,i as m}from"./behavior-D1kOlK6p.js";import{a as c,b as y,c as f,f as u,g as b,h as v,s as j,i as C,l as x,d as B,t as D,e as A,v as I}from"./variant-CeijQFzL.js";import{d as K}from"./disabled-CdyeAMlW.js";import{l as H}from"./label-with-expert-slot-CocPu9HB.js";import{n as T}from"./name-D8963H-v.js";import{v as g}from"./access-and-short-key-ijzCZfHm.js";import{c as S}from"./element-interaction-Cy9tx3Sx.js";import{d as w,K as F}from"./events-CRHxtwup.js";import{p as L,a as P}from"./controller-D1hrFVo3.js";class V extends a{constructor(){super(...arguments);this.ctaRef=S();this.tooltipBehavior=new d(this.stateAccess);this.handleClick=i=>{i.stopPropagation();this.tooltipBehavior.hideTooltip();const t=this.getRenderProp("type");if(t==="submit"){L({form:this.host})}else if(t==="reset"){P({form:this.host})}else{this.formAssociation.setFormAssociatedValue(this.formValue);const t=this.getRenderProp("on").onClick;if(typeof t==="function"){s(i,this.ctaRef.el);t(i,this.formValue)}}if(this.host){w(this.host,F.click,this.formValue)}};this.handleMouseDown=i=>{var s,t;(t=(s=this.getRenderProp("on")).onMouseDown)===null||t===void 0?void 0:t.call(s,i);if(this.host){w(this.host,F.mousedown)}};this.handleFocus=i=>{var s,t;(t=(s=this.getRenderProp("on")).onFocus)===null||t===void 0?void 0:t.call(s,i);if(this.host){w(this.host,F.focus)}};this.handleBlur=i=>{var s,t;(t=(s=this.getRenderProp("on")).onBlur)===null||t===void 0?void 0:t.call(s,i);if(this.host){w(this.host,F.blur)}}}initFormAssociation(){this.formAssociation=new n(a.stateLess,{host:this.host,type:"button"})}initButtonRenderProps(){this.initRenderProps(e);this.unsetRenderProp("tabIndex")}initTooltipBehavior(){this.tooltipBehavior.componentWillLoad({label:this.getRenderProp("label"),align:this.getRenderProp("tooltipAlign")})}syncTooltipListeners(){if(this.ctaRef.el){this.tooltipBehavior.syncListeners(undefined,this.ctaRef.el,true)}}destroyTooltipBehavior(){this.tooltipBehavior.destroy()}applyAccessKey(i,s){c.apply(i,(i=>this.setRenderProp("accessKey",i)));g(i,s)}applyAriaControls(i){y.apply(i,(i=>this.setRenderProp("ariaControls",i)))}applyAriaDescription(i){f.apply(i,(i=>this.setRenderProp("ariaDescription",i)))}applyAriaExpanded(i){u.apply(i,(i=>this.setRenderProp("ariaExpanded",i)))}applyAriaHasPopup(i){o.apply(i,(i=>this.setRenderProp("ariaHasPopup",i)))}applyAriaSelected(i){h.apply(i,(i=>this.setRenderProp("ariaSelected",i)))}applyCustomClass(i){b.apply(i,(i=>this.setRenderProp("customClass",i)))}applyDisabled(i){K.apply(i,(i=>this.setRenderProp("disabled",i)))}applyHideLabel(i){v.apply(i,(i=>this.setRenderProp("hideLabel",i)))}applyIcons(i){j.apply(i,(i=>this.setRenderProp("icons",i)))}applyId(i){m.apply(i,(i=>this.setRenderProp("id",i)))}applyInline(i){C.apply(i,(i=>this.setRenderProp("inline",i)))}applyLabel(i){H.apply(i,(i=>{this.setRenderProp("label",i);this.tooltipBehavior.watchLabel(i)}))}applyName(i){T.apply(i,(i=>this.setRenderProp("name",i)));this.formAssociation.watchName(i)}applyOn(i){r.apply(i,(i=>this.setRenderProp("on",i)))}applyRole(i){x.apply(i,(i=>this.setRenderProp("role",i)))}applyShortKey(i,s){B.apply(i,(i=>this.setRenderProp("shortKey",i)));g(s,i)}applySyncValueBySelector(i){this.formAssociation.watchSyncValueBySelector(i)}applyTabIndex(i){if(typeof i==="number"){D.apply(i,(i=>this.setRenderProp("tabIndex",i)))}else{this.unsetRenderProp("tabIndex")}}applyTooltipAlign(i){A.apply(i,(i=>{this.setRenderProp("tooltipAlign",i);this.tooltipBehavior.watchAlign(i)}))}applyType(i){l.apply(i,(i=>this.setRenderProp("type",i)))}applyValue(i){this.formValue=i;this.formAssociation.setFormAssociatedValue(i)}applyVariant(i){var s;I.apply((s=i!==null&&i!==void 0?i:t("buttonVariantDefault",this.host))!==null&&s!==void 0?s:"normal",(i=>this.setRenderProp("variant",i)))}getButtonFCProps(){return{accessKey:this.getRenderProp("accessKey"),ariaControls:this.getRenderProp("ariaControls"),ariaDescription:this.getRenderProp("ariaDescription"),ariaDescriptionId:this.getState("ariaDescriptionId"),ariaExpanded:this.getRenderProp("ariaExpanded"),ariaHasPopup:this.getRenderProp("ariaHasPopup"),ariaSelected:this.getRenderProp("ariaSelected"),customClass:this.getRenderProp("customClass"),disabled:this.getRenderProp("disabled"),handleBlur:this.handleBlur,handleClick:this.handleClick,handleFocus:this.handleFocus,handleMouseDown:this.handleMouseDown,hideLabel:this.getRenderProp("hideLabel"),icons:this.getRenderProp("icons"),id:this.getRenderProp("id"),inline:this.getRenderProp("inline"),label:this.getRenderProp("label"),name:this.getRenderProp("name"),on:this.getRenderProp("on"),refButton:this.ctaRef,refTooltip:this.tooltipBehavior.setTooltipElementRef,role:this.getRenderProp("role"),shortKey:this.getRenderProp("shortKey"),tabIndex:this.getRenderProp("tabIndex"),tooltipAlign:this.getRenderProp("tooltipAlign"),type:this.getRenderProp("type"),variant:this.getRenderProp("variant")}}renderButtonFC(){return i(p,Object.assign({},this.getButtonFCProps()))}}export{V as B};
5
- //# sourceMappingURL=base-DitGpYOV.js.map
4
+ import{h as i}from"./index-DAKQV03B.js";import{s,X as t}from"./common-BqpMtheU.js";import{B as a}from"./base-web-component-3R1Dy3QK.js";import{b as e,e as o,a as h,c as r,d as l}from"./api-BvTefIaj.js";import{B as n}from"./component-CmBM-Y1C.js";import{F as p}from"./behavior-DnkpB_7O.js";import{T as d,i as m}from"./behavior-D1kOlK6p.js";import{a as c,b as y,c as f,f as u,g as b,h as v,s as C,i as j,l as x,d as B,t as D,e as A,v as I}from"./variant-CeijQFzL.js";import{d as K}from"./disabled-CdyeAMlW.js";import{l as H}from"./label-with-expert-slot-CocPu9HB.js";import{n as T}from"./name-D8963H-v.js";import{v as g}from"./access-and-short-key-ijzCZfHm.js";import{c as S}from"./element-interaction-Cy9tx3Sx.js";import{d as F,K as L}from"./events-CRHxtwup.js";import{p as P,a as w}from"./controller-D1hrFVo3.js";class V extends a{constructor(){super(...arguments);this.ctaRef=S();this.tooltipBehavior=new d(this.stateAccess);this.handleClick=i=>{i.stopPropagation();this.tooltipBehavior.hideTooltip();const t=this.getRenderProp("type");if(t==="submit"){P({form:this.host})}else if(t==="reset"){w({form:this.host})}else{this.formAssociation.setFormAssociatedValue(this.formValue);const t=this.getRenderProp("on").onClick;if(typeof t==="function"){s(i,this.ctaRef.el);t(i,this.formValue)}}if(this.host){F(this.host,L.click,this.formValue)}};this.handleMouseDown=i=>{var s,t;(t=(s=this.getRenderProp("on")).onMouseDown)===null||t===void 0?void 0:t.call(s,i);if(this.host){F(this.host,L.mousedown)}};this.handleFocus=i=>{var s,t;(t=(s=this.getRenderProp("on")).onFocus)===null||t===void 0?void 0:t.call(s,i);if(this.host){F(this.host,L.focus)}};this.handleBlur=i=>{var s,t;(t=(s=this.getRenderProp("on")).onBlur)===null||t===void 0?void 0:t.call(s,i);if(this.host){F(this.host,L.blur)}}}initFormAssociation(){this.formAssociation=new p(a.stateLess,{host:this.host,type:"button"})}initButtonRenderProps(){this.initRenderProps(e);this.unsetRenderProp("tabIndex")}initTooltipBehavior(){this.tooltipBehavior.componentWillLoad({label:this.getRenderProp("label"),align:this.getRenderProp("tooltipAlign")})}syncTooltipListeners(){if(this.ctaRef.el){this.tooltipBehavior.syncListeners(undefined,this.ctaRef.el,true)}}destroyTooltipBehavior(){this.tooltipBehavior.destroy()}applyAccessKey(i,s){c.apply(i,(i=>this.setRenderProp("accessKey",i)));g(i,s)}applyAriaControls(i){y.apply(i,(i=>this.setRenderProp("ariaControls",i)))}applyAriaDescription(i){f.apply(i,(i=>this.setRenderProp("ariaDescription",i)))}applyAriaExpanded(i){u.apply(i,(i=>this.setRenderProp("ariaExpanded",i)))}applyAriaHasPopup(i){o.apply(i,(i=>this.setRenderProp("ariaHasPopup",i)))}applyAriaSelected(i){h.apply(i,(i=>this.setRenderProp("ariaSelected",i)))}applyCustomClass(i){b.apply(i,(i=>this.setRenderProp("customClass",i)))}applyDisabled(i){K.apply(i,(i=>this.setRenderProp("disabled",i)))}applyHideLabel(i){v.apply(i,(i=>this.setRenderProp("hideLabel",i)))}applyIcons(i){C.apply(i,(i=>this.setRenderProp("icons",i)))}applyId(i){m.apply(i,(i=>this.setRenderProp("id",i)))}applyInline(i){j.apply(i,(i=>this.setRenderProp("inline",i)))}applyLabel(i){H.apply(i,(i=>{this.setRenderProp("label",i);this.tooltipBehavior.watchLabel(i)}))}applyName(i){T.apply(i,(i=>this.setRenderProp("name",i)));this.formAssociation.watchName(i)}applyOn(i){r.apply(i,(i=>this.setRenderProp("on",i)))}applyRole(i){x.apply(i,(i=>this.setRenderProp("role",i)))}applyShortKey(i,s){B.apply(i,(i=>this.setRenderProp("shortKey",i)));g(s,i)}applySyncValueBySelector(i){this.formAssociation.watchSyncValueBySelector(i)}applyTabIndex(i){if(typeof i==="number"){D.apply(i,(i=>this.setRenderProp("tabIndex",i)))}else{this.unsetRenderProp("tabIndex")}}applyTooltipAlign(i){A.apply(i,(i=>{this.setRenderProp("tooltipAlign",i);this.tooltipBehavior.watchAlign(i)}))}applyType(i){l.apply(i,(i=>this.setRenderProp("type",i)))}applyValue(i){this.formValue=i;this.formAssociation.setFormAssociatedValue(i)}applyVariant(i){var s;I.apply((s=i!==null&&i!==void 0?i:t("buttonVariantDefault",this.host))!==null&&s!==void 0?s:"normal",(i=>this.setRenderProp("variant",i)))}getButtonFCProps(){return{accessKey:this.getRenderProp("accessKey"),ariaControls:this.getRenderProp("ariaControls"),ariaDescription:this.getRenderProp("ariaDescription"),ariaDescriptionId:this.getState("ariaDescriptionId"),ariaExpanded:this.getRenderProp("ariaExpanded"),ariaHasPopup:this.getRenderProp("ariaHasPopup"),ariaSelected:this.getRenderProp("ariaSelected"),customClass:this.getRenderProp("customClass"),disabled:this.getRenderProp("disabled"),handleBlur:this.handleBlur,handleClick:this.handleClick,handleFocus:this.handleFocus,handleMouseDown:this.handleMouseDown,hideLabel:this.getRenderProp("hideLabel"),icons:this.getRenderProp("icons"),id:this.getRenderProp("id"),inline:this.getRenderProp("inline"),label:this.getRenderProp("label"),name:this.getRenderProp("name"),on:this.getRenderProp("on"),refButton:this.ctaRef,refTooltip:this.tooltipBehavior.setTooltipElementRef,role:this.getRenderProp("role"),shortKey:this.getRenderProp("shortKey"),tabIndex:this.getRenderProp("tabIndex"),tooltipAlign:this.getRenderProp("tooltipAlign"),type:this.getRenderProp("type"),variant:this.getRenderProp("variant")}}renderButtonFC(){return i(n,Object.assign({},this.getButtonFCProps()))}}export{V as B};
5
+ //# sourceMappingURL=base-D8yYjJsn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-DitGpYOV.js","sources":["src/components/button/base.tsx"],"sourcesContent":["import type { JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\nimport { getFeatureFlag } from 'adopted-style-sheets';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { ButtonApi } from '../../internal/functional-components/button/api';\nimport { buttonPropsConfig } from '../../internal/functional-components/button/api';\nimport { ButtonFC } from '../../internal/functional-components/button/component';\nimport { FormAssociationBehavior } from '../../internal/functional-components/form-association/behavior';\nimport type { FunctionalComponentProps } from '../../internal/functional-components/generic-types';\nimport { TooltipBehavior } from '../../internal/functional-components/tooltip/behavior';\nimport {\n\taccessKeyProp,\n\tariaControlsProp,\n\tariaDescriptionProp,\n\tariaExpandedProp,\n\tariaHasPopupProp,\n\tariaSelectedProp,\n\tbuttonCallbacksProp,\n\tbuttonTypeProp,\n\tcustomClassProp,\n\tdisabledProp,\n\thideLabelProp,\n\tidProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkRoleProp,\n\tnameProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../internal/props';\nimport type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaDescriptionPropType,\n\tButtonCallbacksPropType,\n\tButtonTypePropType,\n\tCustomClassPropType,\n\tIconsPropType,\n\tIdPropType,\n\tInlinePropType,\n\tLabelWithExpertSlotPropType,\n\tShortKeyPropType,\n\tStencilUnknown,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport { setEventTarget } from '../../schema';\nimport type { AriaHasPopupPropType } from '../../schema/props/aria-has-popup';\nimport { validateAccessAndShortKey } from '../../schema/validators/access-and-short-key';\nimport { createCtaRef } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport { propagateResetEventToForm, propagateSubmitEventToForm } from '../form/controller';\n\n/**\n * Shared orchestrator implementation for every custom element that renders `ButtonFC`:\n * `kol-button`, `kol-button-link` and `kol-split-button`.\n *\n * The class carries everything that does not need a Stencil decorator — the composed\n * `TooltipBehavior`, the form-association adapter, the event handlers, one `apply*` method per\n * prop and the `ButtonFC` render call. The concrete element keeps what Stencil has to see in the\n * component class itself: `@Component`, `@Element`, `@State`, `@Method`, every `@Prop` with its\n * `@Watch` (whose body is a one-line call into the matching `apply*` method) and the lifecycle\n * methods, which delegate here (ARC42 § 9, design decision 16).\n *\n * This is not a layer between the web component and the functional component — it *is* the web\n * component's implementation, shared between the tag variants of one FC.\n */\nexport abstract class BaseButtonWebComponent extends BaseWebComponent<ButtonApi> {\n\t/** The custom element; declared with `@Element()` by the concrete class. */\n\tprotected abstract readonly host?: HTMLElement;\n\n\tprotected readonly ctaRef = createCtaRef<HTMLButtonElement>();\n\n\t// --- Composed behaviors ---\n\n\tprotected readonly tooltipBehavior = new TooltipBehavior(this.stateAccess);\n\n\tprivate formAssociation!: FormAssociationBehavior;\n\n\t/**\n\t * The raw `_value`. It is neither rendered nor normalized (see `buttonPropsConfig`), but the\n\t * click handler hands it to the consumer callback and the custom event, so the last applied\n\t * value is kept here.\n\t */\n\tprivate formValue?: StencilUnknown;\n\n\t/**\n\t * Creates the form association. Must be called from the concrete element's constructor (after\n\t * `super()`), not from this base class's constructor: Stencil registers the host element at the\n\t * start of the *component* class's constructor, so `this.host` is only populated once the base\n\t * constructor has returned.\n\t *\n\t * No name is passed, because the name is only applied in `componentWillLoad`. The button therefore\n\t * never creates a hidden form element (#11036).\n\t */\n\tprotected initFormAssociation(): void {\n\t\tthis.formAssociation = new FormAssociationBehavior(BaseWebComponent.stateLess, { host: this.host, type: 'button' });\n\t}\n\n\t// --- Lifecycle helpers (called from the concrete element's lifecycle methods) ---\n\n\t/**\n\t * Seeds the render props. Call first in `componentWillLoad`, before the prop watchers run.\n\t */\n\tprotected initButtonRenderProps(): void {\n\t\tthis.initRenderProps(buttonPropsConfig);\n\t\t// Seed `tabIndex` as unset before any watcher runs: an unset tabindex must not render as\n\t\t// `tabindex=\"0\"` — buttons are natively tabbable and the attribute would pin them into the\n\t\t// document tab order. `applyTabIndex` does the same for elements that expose `_tabIndex`,\n\t\t// but a `shadow: false` element can abort mid-initialization under SSR (the form association\n\t\t// finds no host with a shadow root, because `instanceof Element` fails in Stencil's mock DOM,\n\t\t// then throws on `attachInternals(undefined)`, and Stencil swallows the error but renders\n\t\t// anyway, #11034). Without this line the props config default `0` would survive such an abort.\n\t\tthis.unsetRenderProp('tabIndex');\n\t}\n\n\t/**\n\t * Hands the resolved label and alignment to the tooltip behavior. Call last in\n\t * `componentWillLoad`, after every prop watcher has run.\n\t */\n\tprotected initTooltipBehavior(): void {\n\t\tthis.tooltipBehavior.componentWillLoad({\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\talign: this.getRenderProp('tooltipAlign'),\n\t\t});\n\t}\n\n\t/** Call from `componentDidRender`. */\n\tprotected syncTooltipListeners(): void {\n\t\tif (this.ctaRef.el) {\n\t\t\tthis.tooltipBehavior.syncListeners(undefined, this.ctaRef.el, true);\n\t\t}\n\t}\n\n\t/** Call from `disconnectedCallback`. */\n\tprotected destroyTooltipBehavior(): void {\n\t\tthis.tooltipBehavior.destroy();\n\t}\n\n\t// --- Event handling ---\n\n\tprotected readonly handleClick = (event: MouseEvent): void => {\n\t\tevent.stopPropagation();\n\t\tthis.tooltipBehavior.hideTooltip();\n\n\t\tconst type = this.getRenderProp('type');\n\t\tif (type === 'submit') {\n\t\t\tpropagateSubmitEventToForm({ form: this.host, ref: this.ctaRef.el });\n\t\t} else if (type === 'reset') {\n\t\t\tpropagateResetEventToForm({ form: this.host, ref: this.ctaRef.el });\n\t\t} else {\n\t\t\t// TODO: Static form handling\n\t\t\tthis.formAssociation.setFormAssociatedValue(this.formValue);\n\n\t\t\tconst onClick = this.getRenderProp('on').onClick;\n\t\t\tif (typeof onClick === 'function') {\n\t\t\t\tsetEventTarget(event, this.ctaRef.el);\n\t\t\t\tonClick(event, this.formValue);\n\t\t\t}\n\t\t}\n\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.click, this.formValue);\n\t\t}\n\t};\n\n\tprotected readonly handleMouseDown = (event: MouseEvent): void => {\n\t\tthis.getRenderProp('on').onMouseDown?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.mousedown);\n\t\t}\n\t};\n\n\tprotected readonly handleFocus = (event: FocusEvent): void => {\n\t\tthis.getRenderProp('on').onFocus?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.focus);\n\t\t}\n\t};\n\n\tprotected readonly handleBlur = (event: FocusEvent): void => {\n\t\tthis.getRenderProp('on').onBlur?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.blur);\n\t\t}\n\t};\n\n\t// --- Prop application (one per prop; the concrete element's watchers delegate here) ---\n\n\tprotected applyAccessKey(value?: AccessKeyPropType, shortKey?: ShortKeyPropType): void {\n\t\taccessKeyProp.apply(value, (v) => this.setRenderProp('accessKey', v));\n\t\tvalidateAccessAndShortKey(value, shortKey);\n\t}\n\n\tprotected applyAriaControls(value?: string): void {\n\t\tariaControlsProp.apply(value, (v) => this.setRenderProp('ariaControls', v));\n\t}\n\n\tprotected applyAriaDescription(value?: AriaDescriptionPropType): void {\n\t\tariaDescriptionProp.apply(value, (v) => this.setRenderProp('ariaDescription', v));\n\t}\n\n\tprotected applyAriaExpanded(value?: boolean): void {\n\t\tariaExpandedProp.apply(value, (v) => this.setRenderProp('ariaExpanded', v));\n\t}\n\n\tprotected applyAriaHasPopup(value?: AriaHasPopupPropType): void {\n\t\tariaHasPopupProp.apply(value, (v) => this.setRenderProp('ariaHasPopup', v));\n\t}\n\n\tprotected applyAriaSelected(value?: boolean): void {\n\t\tariaSelectedProp.apply(value, (v) => this.setRenderProp('ariaSelected', v));\n\t}\n\n\tprotected applyCustomClass(value?: CustomClassPropType): void {\n\t\tcustomClassProp.apply(value, (v) => this.setRenderProp('customClass', v));\n\t}\n\n\tprotected applyDisabled(value?: boolean): void {\n\t\tdisabledProp.apply(value, (v) => this.setRenderProp('disabled', v));\n\t}\n\n\tprotected applyHideLabel(value?: boolean): void {\n\t\thideLabelProp.apply(value, (v) => this.setRenderProp('hideLabel', v));\n\t}\n\n\tprotected applyIcons(value?: IconsPropType): void {\n\t\tspanIconsProp.apply(value, (v) => this.setRenderProp('icons', v));\n\t}\n\n\tprotected applyId(value?: IdPropType): void {\n\t\tidProp.apply(value, (v) => this.setRenderProp('id', v));\n\t}\n\n\tprotected applyInline(value?: InlinePropType): void {\n\t\tinlineProp.apply(value, (v) => this.setRenderProp('inline', v));\n\t}\n\n\tprotected applyLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t\tthis.tooltipBehavior.watchLabel(v);\n\t\t});\n\t}\n\n\tprotected applyName(value?: string): void {\n\t\tnameProp.apply(value, (v) => this.setRenderProp('name', v));\n\t\tthis.formAssociation.watchName(value);\n\t}\n\n\tprotected applyOn(value?: ButtonCallbacksPropType<StencilUnknown>): void {\n\t\tbuttonCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\tprotected applyRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tlinkRoleProp.apply(value, (v) => this.setRenderProp('role', v));\n\t}\n\n\tprotected applyShortKey(value?: ShortKeyPropType, accessKey?: AccessKeyPropType): void {\n\t\tshortKeyProp.apply(value, (v) => this.setRenderProp('shortKey', v));\n\t\tvalidateAccessAndShortKey(accessKey, value);\n\t}\n\n\tprotected applySyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.formAssociation.watchSyncValueBySelector(value);\n\t}\n\n\tprotected applyTabIndex(value?: number): void {\n\t\t// The props config seeds `tabIndex` with its default `0`, but an unset tabindex must not\n\t\t// render as `tabindex=\"0\"` — buttons are natively tabbable and the attribute would pin them\n\t\t// into the document tab order. Unsetting the prop has to restore that state, so the else\n\t\t// branch is not optional: without it a reset would keep the previous number.\n\t\tif (typeof value === 'number') {\n\t\t\ttabIndexProp.apply(value, (v) => this.setRenderProp('tabIndex', v));\n\t\t} else {\n\t\t\tthis.unsetRenderProp('tabIndex');\n\t\t}\n\t}\n\n\tprotected applyTooltipAlign(value?: TooltipAlignPropType): void {\n\t\ttooltipAlignProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('tooltipAlign', v);\n\t\t\tthis.tooltipBehavior.watchAlign(v);\n\t\t});\n\t}\n\n\tprotected applyType(value?: ButtonTypePropType): void {\n\t\tbuttonTypeProp.apply(value, (v) => this.setRenderProp('type', v));\n\t}\n\n\tprotected applyValue(value?: StencilUnknown): void {\n\t\tthis.formValue = value;\n\t\tthis.formAssociation.setFormAssociatedValue(value);\n\t}\n\n\tprotected applyVariant(value?: VariantClassNamePropType): void {\n\t\t// Resolved here rather than as a `@Prop` default: a field initializer runs in the\n\t\t// constructor, where `@Element()` is not yet populated for a `shadow: false` element under\n\t\t// SSR, so the theme-scoped feature flag would silently be ignored there. Keeping it a\n\t\t// fallback also leaves the public API unchanged. The rendered default is `normal` either way.\n\t\tvariantProp.apply(value ?? getFeatureFlag('buttonVariantDefault', this.host) ?? 'normal', (v) => this.setRenderProp('variant', v));\n\t}\n\n\t// --- Render ---\n\n\t/**\n\t * Collects the current render props and state into the prop set `ButtonFC` expects. Separate\n\t * from `renderButtonFC` because a component that embeds the button inside its own markup\n\t * (`kol-split-button`) hands the set to its own functional component instead of rendering the\n\t * button here.\n\t */\n\tprotected getButtonFCProps(): FunctionalComponentProps<ButtonApi> {\n\t\treturn {\n\t\t\taccessKey: this.getRenderProp('accessKey'),\n\t\t\tariaControls: this.getRenderProp('ariaControls'),\n\t\t\tariaDescription: this.getRenderProp('ariaDescription'),\n\t\t\tariaDescriptionId: this.getState('ariaDescriptionId'),\n\t\t\tariaExpanded: this.getRenderProp('ariaExpanded'),\n\t\t\tariaHasPopup: this.getRenderProp('ariaHasPopup'),\n\t\t\tariaSelected: this.getRenderProp('ariaSelected'),\n\t\t\tcustomClass: this.getRenderProp('customClass'),\n\t\t\tdisabled: this.getRenderProp('disabled'),\n\t\t\thandleBlur: this.handleBlur,\n\t\t\thandleClick: this.handleClick,\n\t\t\thandleFocus: this.handleFocus,\n\t\t\thandleMouseDown: this.handleMouseDown,\n\t\t\thideLabel: this.getRenderProp('hideLabel'),\n\t\t\ticons: this.getRenderProp('icons'),\n\t\t\tid: this.getRenderProp('id'),\n\t\t\tinline: this.getRenderProp('inline'),\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\tname: this.getRenderProp('name'),\n\t\t\ton: this.getRenderProp('on'),\n\t\t\trefButton: this.ctaRef,\n\t\t\trefTooltip: this.tooltipBehavior.setTooltipElementRef,\n\t\t\trole: this.getRenderProp('role'),\n\t\t\tshortKey: this.getRenderProp('shortKey'),\n\t\t\ttabIndex: this.getRenderProp('tabIndex'),\n\t\t\ttooltipAlign: this.getRenderProp('tooltipAlign'),\n\t\t\ttype: this.getRenderProp('type'),\n\t\t\tvariant: this.getRenderProp('variant'),\n\t\t};\n\t}\n\n\t/** Renders `ButtonFC` from the current render props and state. */\n\tprotected renderButtonFC(): JSX.Element {\n\t\treturn <ButtonFC {...this.getButtonFCProps()} />;\n\t}\n}\n"],"names":["getFeatureFlag"],"mappings":"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"}
1
+ {"version":3,"file":"base-D8yYjJsn.js","sources":["src/components/button/base.tsx"],"sourcesContent":["import type { JSX } from '@stencil/core';\nimport { h } from '@stencil/core';\nimport { getFeatureFlag } from 'adopted-style-sheets';\n\nimport { BaseWebComponent } from '../../internal/functional-components/base-web-component';\nimport type { ButtonApi } from '../../internal/functional-components/button/api';\nimport { buttonPropsConfig } from '../../internal/functional-components/button/api';\nimport { ButtonFC } from '../../internal/functional-components/button/component';\nimport { FormAssociationBehavior } from '../../internal/functional-components/form-association/behavior';\nimport type { FunctionalComponentProps } from '../../internal/functional-components/generic-types';\nimport { TooltipBehavior } from '../../internal/functional-components/tooltip/behavior';\nimport {\n\taccessKeyProp,\n\tariaControlsProp,\n\tariaDescriptionProp,\n\tariaExpandedProp,\n\tariaHasPopupProp,\n\tariaSelectedProp,\n\tbuttonCallbacksProp,\n\tbuttonTypeProp,\n\tcustomClassProp,\n\tdisabledProp,\n\thideLabelProp,\n\tidProp,\n\tinlineProp,\n\tlabelWithExpertSlotProp,\n\tlinkRoleProp,\n\tnameProp,\n\tshortKeyProp,\n\tspanIconsProp,\n\ttabIndexProp,\n\ttooltipAlignProp,\n\tvariantProp,\n} from '../../internal/props';\nimport type {\n\tAccessKeyPropType,\n\tAlternativeButtonLinkRolePropType,\n\tAriaDescriptionPropType,\n\tButtonCallbacksPropType,\n\tButtonTypePropType,\n\tCustomClassPropType,\n\tIconsPropType,\n\tIdPropType,\n\tInlinePropType,\n\tLabelWithExpertSlotPropType,\n\tShortKeyPropType,\n\tStencilUnknown,\n\tSyncValueBySelectorPropType,\n\tTooltipAlignPropType,\n\tVariantClassNamePropType,\n} from '../../schema';\nimport { setEventTarget } from '../../schema';\nimport type { AriaHasPopupPropType } from '../../schema/props/aria-has-popup';\nimport { validateAccessAndShortKey } from '../../schema/validators/access-and-short-key';\nimport { createCtaRef } from '../../utils/element-interaction';\nimport { dispatchDomEvent, KolEvent } from '../../utils/events';\nimport { propagateResetEventToForm, propagateSubmitEventToForm } from '../form/controller';\n\n/**\n * Shared orchestrator implementation for every custom element that renders `ButtonFC`:\n * `kol-button`, `kol-button-link` and `kol-split-button`.\n *\n * The class carries everything that does not need a Stencil decorator — the composed\n * `TooltipBehavior`, the form-association adapter, the event handlers, one `apply*` method per\n * prop and the `ButtonFC` render call. The concrete element keeps what Stencil has to see in the\n * component class itself: `@Component`, `@Element`, `@State`, `@Method`, every `@Prop` with its\n * `@Watch` (whose body is a one-line call into the matching `apply*` method) and the lifecycle\n * methods, which delegate here (ARC42 § 9, design decision 16).\n *\n * This is not a layer between the web component and the functional component — it *is* the web\n * component's implementation, shared between the tag variants of one FC.\n */\nexport abstract class BaseButtonWebComponent extends BaseWebComponent<ButtonApi> {\n\t/** The custom element; declared with `@Element()` by the concrete class. */\n\tprotected abstract readonly host?: HTMLElement;\n\n\tprotected readonly ctaRef = createCtaRef<HTMLButtonElement>();\n\n\t// --- Composed behaviors ---\n\n\tprotected readonly tooltipBehavior = new TooltipBehavior(this.stateAccess);\n\n\tprivate formAssociation!: FormAssociationBehavior;\n\n\t/**\n\t * The raw `_value`. It is neither rendered nor normalized (see `buttonPropsConfig`), but the\n\t * click handler hands it to the consumer callback and the custom event, so the last applied\n\t * value is kept here.\n\t */\n\tprivate formValue?: StencilUnknown;\n\n\t/**\n\t * Creates the form association. Must be called from the concrete element's constructor (after\n\t * `super()`), not from this base class's constructor: Stencil registers the host element at the\n\t * start of the *component* class's constructor, so `this.host` is only populated once the base\n\t * constructor has returned.\n\t *\n\t * No name is passed, because the name is only applied in `componentWillLoad`. The button therefore\n\t * never creates a hidden form element (#11036).\n\t */\n\tprotected initFormAssociation(): void {\n\t\tthis.formAssociation = new FormAssociationBehavior(BaseWebComponent.stateLess, { host: this.host, type: 'button' });\n\t}\n\n\t// --- Lifecycle helpers (called from the concrete element's lifecycle methods) ---\n\n\t/**\n\t * Seeds the render props. Call first in `componentWillLoad`, before the prop watchers run.\n\t */\n\tprotected initButtonRenderProps(): void {\n\t\tthis.initRenderProps(buttonPropsConfig);\n\t\t// Seed `tabIndex` as unset before any watcher runs: an unset tabindex must not render as\n\t\t// `tabindex=\"0\"` — buttons are natively tabbable and the attribute would pin them into the\n\t\t// document tab order. `applyTabIndex` does the same for elements that expose `_tabIndex`,\n\t\t// but a `shadow: false` element can abort mid-initialization under SSR (the form association\n\t\t// finds no host with a shadow root, because `instanceof Element` fails in Stencil's mock DOM,\n\t\t// then throws on `attachInternals(undefined)`, and Stencil swallows the error but renders\n\t\t// anyway, #11034). Without this line the props config default `0` would survive such an abort.\n\t\tthis.unsetRenderProp('tabIndex');\n\t}\n\n\t/**\n\t * Hands the resolved label and alignment to the tooltip behavior. Call last in\n\t * `componentWillLoad`, after every prop watcher has run.\n\t */\n\tprotected initTooltipBehavior(): void {\n\t\tthis.tooltipBehavior.componentWillLoad({\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\talign: this.getRenderProp('tooltipAlign'),\n\t\t});\n\t}\n\n\t/** Call from `componentDidRender`. */\n\tprotected syncTooltipListeners(): void {\n\t\tif (this.ctaRef.el) {\n\t\t\tthis.tooltipBehavior.syncListeners(undefined, this.ctaRef.el, true);\n\t\t}\n\t}\n\n\t/** Call from `disconnectedCallback`. */\n\tprotected destroyTooltipBehavior(): void {\n\t\tthis.tooltipBehavior.destroy();\n\t}\n\n\t// --- Event handling ---\n\n\tprotected readonly handleClick = (event: MouseEvent): void => {\n\t\tevent.stopPropagation();\n\t\tthis.tooltipBehavior.hideTooltip();\n\n\t\tconst type = this.getRenderProp('type');\n\t\tif (type === 'submit') {\n\t\t\tpropagateSubmitEventToForm({ form: this.host, ref: this.ctaRef.el });\n\t\t} else if (type === 'reset') {\n\t\t\tpropagateResetEventToForm({ form: this.host, ref: this.ctaRef.el });\n\t\t} else {\n\t\t\t// TODO: Static form handling\n\t\t\tthis.formAssociation.setFormAssociatedValue(this.formValue);\n\n\t\t\tconst onClick = this.getRenderProp('on').onClick;\n\t\t\tif (typeof onClick === 'function') {\n\t\t\t\tsetEventTarget(event, this.ctaRef.el);\n\t\t\t\tonClick(event, this.formValue);\n\t\t\t}\n\t\t}\n\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.click, this.formValue);\n\t\t}\n\t};\n\n\tprotected readonly handleMouseDown = (event: MouseEvent): void => {\n\t\tthis.getRenderProp('on').onMouseDown?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.mousedown);\n\t\t}\n\t};\n\n\tprotected readonly handleFocus = (event: FocusEvent): void => {\n\t\tthis.getRenderProp('on').onFocus?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.focus);\n\t\t}\n\t};\n\n\tprotected readonly handleBlur = (event: FocusEvent): void => {\n\t\tthis.getRenderProp('on').onBlur?.(event);\n\t\tif (this.host) {\n\t\t\tdispatchDomEvent(this.host, KolEvent.blur);\n\t\t}\n\t};\n\n\t// --- Prop application (one per prop; the concrete element's watchers delegate here) ---\n\n\tprotected applyAccessKey(value?: AccessKeyPropType, shortKey?: ShortKeyPropType): void {\n\t\taccessKeyProp.apply(value, (v) => this.setRenderProp('accessKey', v));\n\t\tvalidateAccessAndShortKey(value, shortKey);\n\t}\n\n\tprotected applyAriaControls(value?: string): void {\n\t\tariaControlsProp.apply(value, (v) => this.setRenderProp('ariaControls', v));\n\t}\n\n\tprotected applyAriaDescription(value?: AriaDescriptionPropType): void {\n\t\tariaDescriptionProp.apply(value, (v) => this.setRenderProp('ariaDescription', v));\n\t}\n\n\tprotected applyAriaExpanded(value?: boolean): void {\n\t\tariaExpandedProp.apply(value, (v) => this.setRenderProp('ariaExpanded', v));\n\t}\n\n\tprotected applyAriaHasPopup(value?: AriaHasPopupPropType): void {\n\t\tariaHasPopupProp.apply(value, (v) => this.setRenderProp('ariaHasPopup', v));\n\t}\n\n\tprotected applyAriaSelected(value?: boolean): void {\n\t\tariaSelectedProp.apply(value, (v) => this.setRenderProp('ariaSelected', v));\n\t}\n\n\tprotected applyCustomClass(value?: CustomClassPropType): void {\n\t\tcustomClassProp.apply(value, (v) => this.setRenderProp('customClass', v));\n\t}\n\n\tprotected applyDisabled(value?: boolean): void {\n\t\tdisabledProp.apply(value, (v) => this.setRenderProp('disabled', v));\n\t}\n\n\tprotected applyHideLabel(value?: boolean): void {\n\t\thideLabelProp.apply(value, (v) => this.setRenderProp('hideLabel', v));\n\t}\n\n\tprotected applyIcons(value?: IconsPropType): void {\n\t\tspanIconsProp.apply(value, (v) => this.setRenderProp('icons', v));\n\t}\n\n\tprotected applyId(value?: IdPropType): void {\n\t\tidProp.apply(value, (v) => this.setRenderProp('id', v));\n\t}\n\n\tprotected applyInline(value?: InlinePropType): void {\n\t\tinlineProp.apply(value, (v) => this.setRenderProp('inline', v));\n\t}\n\n\tprotected applyLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tlabelWithExpertSlotProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('label', v);\n\t\t\tthis.tooltipBehavior.watchLabel(v);\n\t\t});\n\t}\n\n\tprotected applyName(value?: string): void {\n\t\tnameProp.apply(value, (v) => this.setRenderProp('name', v));\n\t\tthis.formAssociation.watchName(value);\n\t}\n\n\tprotected applyOn(value?: ButtonCallbacksPropType<StencilUnknown>): void {\n\t\tbuttonCallbacksProp.apply(value, (v) => this.setRenderProp('on', v));\n\t}\n\n\tprotected applyRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tlinkRoleProp.apply(value, (v) => this.setRenderProp('role', v));\n\t}\n\n\tprotected applyShortKey(value?: ShortKeyPropType, accessKey?: AccessKeyPropType): void {\n\t\tshortKeyProp.apply(value, (v) => this.setRenderProp('shortKey', v));\n\t\tvalidateAccessAndShortKey(accessKey, value);\n\t}\n\n\tprotected applySyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.formAssociation.watchSyncValueBySelector(value);\n\t}\n\n\tprotected applyTabIndex(value?: number): void {\n\t\t// The props config seeds `tabIndex` with its default `0`, but an unset tabindex must not\n\t\t// render as `tabindex=\"0\"` — buttons are natively tabbable and the attribute would pin them\n\t\t// into the document tab order. Unsetting the prop has to restore that state, so the else\n\t\t// branch is not optional: without it a reset would keep the previous number.\n\t\tif (typeof value === 'number') {\n\t\t\ttabIndexProp.apply(value, (v) => this.setRenderProp('tabIndex', v));\n\t\t} else {\n\t\t\tthis.unsetRenderProp('tabIndex');\n\t\t}\n\t}\n\n\tprotected applyTooltipAlign(value?: TooltipAlignPropType): void {\n\t\ttooltipAlignProp.apply(value, (v) => {\n\t\t\tthis.setRenderProp('tooltipAlign', v);\n\t\t\tthis.tooltipBehavior.watchAlign(v);\n\t\t});\n\t}\n\n\tprotected applyType(value?: ButtonTypePropType): void {\n\t\tbuttonTypeProp.apply(value, (v) => this.setRenderProp('type', v));\n\t}\n\n\tprotected applyValue(value?: StencilUnknown): void {\n\t\tthis.formValue = value;\n\t\tthis.formAssociation.setFormAssociatedValue(value);\n\t}\n\n\tprotected applyVariant(value?: VariantClassNamePropType): void {\n\t\t// Resolved here rather than as a `@Prop` default: a field initializer runs in the\n\t\t// constructor, where `@Element()` is not yet populated for a `shadow: false` element under\n\t\t// SSR, so the theme-scoped feature flag would silently be ignored there. Keeping it a\n\t\t// fallback also leaves the public API unchanged. The rendered default is `normal` either way.\n\t\tvariantProp.apply(value ?? getFeatureFlag('buttonVariantDefault', this.host) ?? 'normal', (v) => this.setRenderProp('variant', v));\n\t}\n\n\t// --- Render ---\n\n\t/**\n\t * Collects the current render props and state into the prop set `ButtonFC` expects. Separate\n\t * from `renderButtonFC` because a component that embeds the button inside its own markup\n\t * (`kol-split-button`) hands the set to its own functional component instead of rendering the\n\t * button here.\n\t */\n\tprotected getButtonFCProps(): FunctionalComponentProps<ButtonApi> {\n\t\treturn {\n\t\t\taccessKey: this.getRenderProp('accessKey'),\n\t\t\tariaControls: this.getRenderProp('ariaControls'),\n\t\t\tariaDescription: this.getRenderProp('ariaDescription'),\n\t\t\tariaDescriptionId: this.getState('ariaDescriptionId'),\n\t\t\tariaExpanded: this.getRenderProp('ariaExpanded'),\n\t\t\tariaHasPopup: this.getRenderProp('ariaHasPopup'),\n\t\t\tariaSelected: this.getRenderProp('ariaSelected'),\n\t\t\tcustomClass: this.getRenderProp('customClass'),\n\t\t\tdisabled: this.getRenderProp('disabled'),\n\t\t\thandleBlur: this.handleBlur,\n\t\t\thandleClick: this.handleClick,\n\t\t\thandleFocus: this.handleFocus,\n\t\t\thandleMouseDown: this.handleMouseDown,\n\t\t\thideLabel: this.getRenderProp('hideLabel'),\n\t\t\ticons: this.getRenderProp('icons'),\n\t\t\tid: this.getRenderProp('id'),\n\t\t\tinline: this.getRenderProp('inline'),\n\t\t\tlabel: this.getRenderProp('label'),\n\t\t\tname: this.getRenderProp('name'),\n\t\t\ton: this.getRenderProp('on'),\n\t\t\trefButton: this.ctaRef,\n\t\t\trefTooltip: this.tooltipBehavior.setTooltipElementRef,\n\t\t\trole: this.getRenderProp('role'),\n\t\t\tshortKey: this.getRenderProp('shortKey'),\n\t\t\ttabIndex: this.getRenderProp('tabIndex'),\n\t\t\ttooltipAlign: this.getRenderProp('tooltipAlign'),\n\t\t\ttype: this.getRenderProp('type'),\n\t\t\tvariant: this.getRenderProp('variant'),\n\t\t};\n\t}\n\n\t/** Renders `ButtonFC` from the current render props and state. */\n\tprotected renderButtonFC(): JSX.Element {\n\t\treturn <ButtonFC {...this.getButtonFCProps()} />;\n\t}\n}\n"],"names":["getFeatureFlag"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t}from"./aria-labelledby-BRToXqsQ.js";import{G as e,L as n,p as o}from"./common-BqpMtheU.js";import{h as s,F as l,f as i}from"./index-DQdQBwMc.js";import{c as a,e as r,n as c,a as d,B as u,v as f}from"./base-web-component-3R1Dy3QK.js";import{c as h}from"./item-Cbi_ZY6o.js";import{c as b}from"./item-pool-BOxAYePG.js";import{c as p}from"./item-C6p5wW-z.js";import{l as v}from"./label-with-expert-slot-CocPu9HB.js";import{v as m}from"./variant-CeijQFzL.js";import{c as y,d as g,e as k}from"./component-names-Dhbtt0mX.js";import{t as j}from"./i18n-BaCf-SDK.js";import{c as C}from"./component-BF8FPuIW.js";import{b as S}from"./bem-registry-CX5kvaqt.js";import{B as w}from"./component-C3sXiwbS.js";import{B as _}from"./component-CBpYh2q-.js";import{I as x}from"./component-BpOMe842.js";import{L as O}from"./api-CagcODCX.js";import{S as $}from"./component-DZbJLUju.js";import{T as B}from"./component-CvCfEqSE.js";import{a as D}from"./tslib.es6-QNbPBOk5.js";import{n as F,c as L}from"./dev.utils-CJMVCYWh.js";import{d as I,K as T}from"./events-CRHxtwup.js";import{A as z}from"./component-Do9rjnte.js";import{c as E}from"./element-interaction-Cy9tx3Sx.js";import{u as M,l as A,d as H,D as P}from"./scroll-lock-6SV-XFXR.js";import{h as K}from"./tooltip-open-tracking-D3tCiiGP.js";import{l as R}from"./level-Q5lBISho.js";import{d as N,w as W}from"./width-BDh5pZvE.js";import{l as Q}from"./label-c9P7yC4V.js";import{r as X,C as q}from"./component-Ba4gjLBG.js";import{T as V}from"./behavior-D1kOlK6p.js";import{C as G}from"./keyboard-DNd73LVa.js";const Y=(o,s,l,i)=>{const a=t=>typeof t==="string"||typeof t==="undefined";e(o,"_ariaLabelledby",a,new Set(["string"]),i);if(!a(i)){return[]}const r=t(s,i);if(l){try{l.ariaLabelledByElements=r}catch(t){}n.debug(["WebComponent internals",l])}return r};const U=t=>typeof t==="number"&&Number.isInteger(t)&&t>=0;const Z=a("fixedCols",[0,0],(t=>r(t)),(t=>t.length===2&&t.every(U)));const J=a("hasSettingsMenu",false,c);const tt=d();function et(t){const e=typeof t==="string"?o(t):t;if(Array.isArray(e)){return e}throw new Error("Invalid table data: expected an array of row objects.")}function nt(t){return t.every((t=>typeof t==="object"&&t!==null))}const ot=a("data",[],et,nt);const st=a("dataFoot",[],et,nt);const lt=t=>Array.isArray(t)&&t.every((t=>Array.isArray(t)));function it(t){const e=typeof t==="string"?o(t):t;if(typeof e!=="object"||e===null){throw new Error("Invalid table headers: expected an object.")}const{horizontal:n=[],vertical:s=[]}=e;if(!lt(n)||!lt(s)){throw new Error("Invalid table headers: horizontal and vertical must be arrays of header rows.")}return{horizontal:n,vertical:s}}function at({horizontal:t,vertical:e}){return[...t,...e].every((t=>t.every((t=>t.width===undefined||typeof t.width==="number"))))}const rt=a("headers",{horizontal:[],vertical:[]},it,at);const ct=a("loading",false,c);function dt(t){const e=typeof t==="string"?o(t):t;if(typeof e==="object"&&e!==null){return e}throw new Error("Invalid table selection: expected an object.")}function ut(t){return t===false||typeof t.label==="function"&&(!t.selectedKeys||Array.isArray(t.selectedKeys))}const ft=a("selection",false,dt,ut);const ht={required:[v,ot],optional:[Z,J,tt,st,rt,ct,ft,m]};const bt=t=>t.flatMap((t=>t.filter((t=>typeof t.key==="string"||typeof t.render==="function"))));const pt=t=>{const e=bt(t.horizontal);if(e.length>0){return{cells:e,horizontal:true}}const n=bt(t.vertical);return{cells:n,horizontal:n.length===0}};const vt=(t,e)=>{let n=0;if(Array.isArray(t)){t.forEach((t=>{var o;n+=(o=t[e])!==null&&o!==void 0?o:1}))}return n};const mt=(t,e)=>{const n=Math.max(0,...t.map((t=>vt(t,"colSpan"))));return n===0?e.length:n};const yt=(t,e,n)=>{const o=Math.max(0,...t.map((t=>vt(t,"rowSpan"))));return o===0?e.length:o-n};const gt=t=>{var e;return(e=t===null||t===void 0?void 0:t.reduce(((t,e)=>{if("visible"in e&&e.visible===false){return t}return t+(e.colSpan||1)}),0))!==null&&e!==void 0?e:0};const kt=(t,e,n,o)=>{if(o===undefined||e){return undefined}if(o<t[0]){return"left"}if(t[1]>0&&o>=n-t[1]){return"right"}return undefined};const jt=(t,e,n,o)=>{var s,l,i,a,r,c;const d=[];for(let a=0;a<e;a++){if(kt(n,o,e,a)==="left"){d[a]=((s=d[a-1])!==null&&s!==void 0?s:0)+((i=(l=t[a-1])===null||l===void 0?void 0:l.width)!==null&&i!==void 0?i:0)}}for(let s=e-1;s>=0;s--){if(kt(n,o,e,s)==="right"){d[s]=((a=d[s+1])!==null&&a!==void 0?a:0)+((c=(r=t[s+1])===null||r===void 0?void 0:r.width)!==null&&c!==void 0?c:0)}}return d};const Ct=(t,e,n,o)=>{const s=e===undefined?undefined:t[e];if(n&&o){return`calc( var(--kol-table-selection-col-width) + ${s}px)`}return`${s}px`};const St=(t,e,n,o)=>{const s=e.horizontal?t.horizontal:t.vertical;if(s.length===0)return undefined;const l=e.cells[n];if((l===null||l===void 0?void 0:l.type)===o){return l}return undefined};const wt=({data:t,dataFoot:e,headers:n,isFoot:o,noEntriesLabel:s,primaryHeaders:l})=>{const i=mt(n.horizontal,t);const a=l.cells;let r=yt(n.vertical,t,e.length);let c=0;if(o){c=r;r+=e.length}const d=[];const u=[];const f=[];n.vertical.forEach(((t,e)=>{u[e]=0;f[e]=[]}));for(let s=c;s<r;s++){const r=[];n.vertical.forEach(((t,e)=>{let n=0;f[e].forEach((t=>n+=t));if(n<=s){const o=t[s-n+u[e]];if(typeof o==="object"){r.push(Object.assign(Object.assign({},o),{headerCell:true,data:{}}));let t=1;if(typeof o.rowSpan==="number"&&o.rowSpan>1){t=o.rowSpan}f[e].push(t);if(typeof o.colSpan==="number"&&o.colSpan>1){for(let n=1;n<o.colSpan;n++){f[e+n].push(t)}}u[e]++}}}));for(let n=0;n<i;n++){if(l.horizontal){const l=o?e[s-c]:t[s];const i=a[n];if(typeof i==="object"&&i!==null&&typeof l==="object"&&l!==null){r.push(Object.assign(Object.assign({},i),{colIndex:n,colSpan:undefined,rowSpan:undefined,data:l,label:l[i.key]}))}}else{const e=a[s];if(typeof e==="object"&&e!==null&&typeof t[n]==="object"&&t[n]!==null){r.push(Object.assign(Object.assign({},e),{colIndex:n,colSpan:undefined,rowSpan:undefined,data:t[n],label:t[n][e.key]}))}}}d.push(r)}if(t.length===0){let t=gt(n.horizontal[0]);let e=0;if(n.vertical.length>0){t-=n.vertical.length;n.vertical[0].forEach((t=>{e+=t.rowSpan||1}))}const o={colSpan:t,label:s,render:undefined,rowSpan:Math.max(e,1)};if(d.length===0){d.push([o])}else{d[0].push(o)}}return d};const _t=({horizontal:t,vertical:e})=>{const n=t.flatMap((t=>t.filter((t=>t.visible!==false&&t.width!==undefined&&t.width>0)).map((t=>t.width))));const o=e.flatMap((t=>t.filter((t=>t.width!==undefined&&t.width>0)).map((t=>t.width))));const s=[...o,...n];if(s.length===0){return"0px"}if(s.length===1){return`${s[0]}px`}return`calc(${s.map((t=>`${t}px`)).join(" + ")})`};const xt=t=>t===undefined?[]:Array.isArray(t)?t:[t];const Ot=t=>{var e;return(e=t?t.keyPropertyName:undefined)!==null&&e!==void 0?e:"id"};const $t=t=>{const e=t?xt(t.selectedKeys):[];return{disabledKeys:new Set((t?xt(t.disabledKeys):[]).map(String)),keyPropertyName:Ot(t),selectedKeys:e,selectedKeysSet:new Set(e.map(String))}};const Bt=(t,e)=>t.filter((t=>!e.disabledKeys.has(String(t[e.keyPropertyName]))));const Dt=(t,e,n)=>{const o=e.selectedKeys.filter((t=>e.disabledKeys.has(String(t))));if(n){o.push(...Bt(t,e).map((t=>t===null||t===void 0?void 0:t[e.keyPropertyName])))}return o};const Ft=S.forBlock("kol-table");const Lt=Ft("body");const It=Ft("cell-actions");const Tt=Ft("cell-states");const zt=Ft("footer");const Et=Ft("head");const Mt=Ft("head-row");const At=Ft("scroll-container");const Ht=Ft("selection-icon");const Pt=Ft("selection-input-tooltip");const Kt=Ft("sort");const Rt=Ft("sort-button");const Nt=Ft("sort-order");const Wt=Ft("table");const Qt=`${Ft("focus-element")} ${Ft("caption")}`;const Xt=(t,e)=>kt(t.fixedCols,t.stickyColsDisabled,t.maxCols,e);const qt=(t,e,n)=>({left:e==="left"?Ct(t.fixedOffsets,n,true,t.selection!==false):undefined,right:e==="right"?Ct(t.fixedOffsets,n,false,t.selection!==false):undefined});const Vt=(t,e,n)=>{var o,s;return(s=t.primaryHeaders.horizontal&&((o=e[0])===null||o===void 0?void 0:o.data)?t.rowKeys.get(e[0].data):undefined)!==null&&s!==void 0?s:String(n)};const Gt=(t,e,n)=>{var o;const{handleSelectionChange:l,selection:i,selectionModel:a}=t;if(!i)return"";const r=(o=e[0])===null||o===void 0?void 0:o.data;if(!r)return"";const c=r[a.keyPropertyName];const d=i.multiple||i.multiple===undefined;const u=String(c);const f=a.selectedKeysSet.has(u);const h=a.disabledKeys.has(u);const b=i.label(r);const p={name:"selection",checked:f,disabled:h,id:String(c),["aria-label"]:b};return s("td",{key:`tbody-${n}-selection`,class:Ft("cell",{selection:true})},s("div",{class:Ft("selection",{checked:f})},d?s("label",{class:Ft("selection-label",{disabled:h})},s(x,{class:Ht,icons:`kolicon ${f?"kolicon-check":""}`,label:""}),s("input",Object.assign({class:Ft("selection-input",{checkbox:true})},p,{type:"checkbox",onInput:t=>{const e=!f?[...a.selectedKeys,c]:a.selectedKeys.filter((t=>String(t)!==u));l(t,e)}}))):s("label",{class:Ft("selection-label")},s("input",Object.assign({class:Ft("selection-input",{radio:true})},p,{type:"radio",onInput:t=>{l(t,[c])}}))),s("div",{class:Pt},s(B,{label:b,badgeText:"",id:`${c}-label`,refFloating:()=>{}}))))};const Yt=t=>{const{data:e,handleSelectionChange:n,selection:o,selectionModel:l}=t;if(!o){return s("td",{class:Ft("cell",{header:true}),key:`thead-0`})}if(o.multiple===false){return s("th",{scope:"col",key:`thead-0-selection`,class:Ft("cell",{header:true,selection:true})},s("span",{class:"visually-hidden"},j("kol-table-selection")))}const i=l.selectedKeys.filter((t=>!l.disabledKeys.has(String(t)))).length;const a=Bt(e,l).length;const r=i===a;const c=i!==0&&!r;let d;if(i===0){d=j("kol-table-selection-all")}else if(r&&!c){d=j("kol-table-selection-none")}else{d=j("kol-table-selection-indeterminate")}return s("th",{scope:"col",key:`thead-0-selection`,class:Ft("cell",{header:true,selection:true})},s("span",{class:"visually-hidden"},j("kol-table-selection")),s("div",{class:Ft("selection",{checked:r,indeterminate:c})},s("label",{class:Ft("selection-label")},s(x,{class:Ht,icons:`kolicon ${c?"kolicon-minus":r?"kolicon-check":""}`,label:""}),s("input",{class:Ft("selection-input",{checkbox:true}),name:"selection",checked:r&&!c,indeterminate:c,"aria-label":d,type:"checkbox",onInput:t=>{n(t,Dt(e,l,!r))}})),s("div",{class:Pt},s(B,{label:d,badgeText:"",refFloating:()=>{}}))))};const Ut=({headers:t})=>{const{horizontal:e,vertical:n}=t;if(e.length===0||n.length===0){return s(l,null)}const o=n.reduce(((t,e)=>{var n,o;return t+((o=(n=e===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.width)!==null&&o!==void 0?o:0)}),0);return s("td",{"aria-hidden":"true",colSpan:n.length,rowSpan:e.length,style:o>0?{width:`${o}px`}:undefined})};const Zt=t=>{const e=j("kol-sort");if(typeof t==="number"&&t>0){return`${e} – ${j("kol-table-sort-order").replace("{{order}}",`${t}`)}`}return e};const Jt=(t,e,n,o,l)=>{if(e.visible===false){return""}const i=(e===null||e===void 0?void 0:e.sortable)!==false;const a=typeof e.sortDirection==="string";const r=i&&a;let c="none";let d="kolicon-sort-neutral";if(r&&e.sortDirection){switch(e.sortDirection){case"ASC":d="kolicon-sort-asc";c="ascending";break;case"DESC":d="kolicon-sort-desc";c="descending";break;default:c="none"}}const u=l?"row":typeof e.colSpan==="number"&&e.colSpan>1?"colgroup":"col";const f=typeof e.sortOrder==="number"&&e.sortOrder>0?e.sortOrder:undefined;const h=e.width!==undefined?`${e.width}px`:undefined;const b=Xt(t,o);const{left:p,right:v}=qt(t,b,o);const m=e.textAlign;const y=r?e.sortDirection:undefined;return s("th",{key:`${n}-${o}-${e.label}`,class:Ft("cell",{[c]:true,"align-center":m==="center","align-justify":m==="justify","align-left":m==="left","align-right":m==="right",header:true,"sticky-left":b==="left","sticky-right":b==="right"}),scope:u,colSpan:e.colSpan,rowSpan:e.rowSpan,style:{width:h,left:p,right:v},"aria-sort":c,"data-sort":y?`sort-${y}`:undefined},y?s("span",{class:Kt},s(_,Object.assign({},t.getButtonFcProps(`sort-${l?"vertical":"horizontal"}-${n}-${o}`,{_icons:{right:d},_label:e.label,_ariaDescription:Zt(f),_on:{onClick:n=>{t.handleSort(n,{key:e.key,currentSortDirection:y})}}},{class:Rt}))),f&&s("span",{"aria-hidden":"true",class:Nt},f)):e.label)};const te=(t,e,n,o)=>s("div",{class:It},e.actions(n).map(((e,n)=>{const l=`action-${o}-${n}`;if(e.type==="button"){return s("span",{key:l},s(_,Object.assign({},t.getButtonFcProps(l,e))))}else if(e.type==="link"){return s("span",{key:l},s(O,Object.assign({},t.getLinkFcProps(l,e))))}return null})));const ee=(t,e,n)=>{const o=t.key;if(!o){return""}const l=e[o];if(!l){return""}return s("div",{class:Tt},l.map(((t,e)=>{if(t.type==="badge"){return s(y,Object.assign({key:`state-${n}-${e}`},t))}return null})))};const ne=(t,e,n,o,l)=>{if(e.visible===false){return""}let i=`${n}-${o}-${e.label}`;if(e.data){const s=t.rowKeys.get(e.data);i=s?`${s}-${t.primaryHeaders.horizontal?o:n}`:i}if(e.headerCell){return Jt(t,e,n,o,l)}const a=typeof e.render!=="function"&&e.label===t.translateNoEntries;const r=St(t.headers,t.primaryHeaders,o,"action");const c=Boolean(r&&e.data);const d=St(t.headers,t.primaryHeaders,o,"state");const u=Boolean(d&&e.data);const f=Xt(t,o);const{left:h,right:b}=qt(t,f,e.colIndex);const p=typeof e.render==="function";const v=e.textAlign;return s("td",{key:`cell-${i}-${t.settingsChangedCounter}`,class:Ft("cell",{actions:c,"align-center":v==="center","align-justify":v==="justify","align-left":v==="left","align-right":v==="right",body:true,states:u,"sticky-left":f==="left","sticky-right":f==="right"}),"aria-atomic":a?"false":undefined,"aria-live":a?"polite":undefined,"aria-relevant":a?"text":undefined,colSpan:e.colSpan,rowSpan:e.rowSpan,style:{textAlign:v,left:h,right:b},ref:p?n=>t.handleRenderCell(e,n):undefined},c&&r&&e.data?te(t,r,e.data,i):u&&d&&e.data?ee(d,e.data,i):!p?e.label:"")};const oe=(t,e,n,o,l=false)=>s("tr",{class:Ft("row",{body:!l,footer:l}),key:`row-${Vt(t,e,n)}`},Gt(t,e,n),e.map(((e,s)=>ne(t,e,n,s,o))));const se=(t,e,n)=>{const o=t.headers.vertical.length+gt(n===null||n===void 0?void 0:n[0])+(t.selection?1:0);return s("tr",{"aria-hidden":"true",class:Ft("spacer",{[e]:true})},s("td",{class:Ft("spacer-line",{[e]:true}),colSpan:o}))};const le=t=>{const{dataFoot:e,headers:n,primaryHeaders:o,translateNoEntries:l}=t;if(e.length===0){return null}const i=wt({data:e,dataFoot:e,headers:n,isFoot:true,noEntriesLabel:l,primaryHeaders:o});const a=mt(n.horizontal,e);const r=Object.assign(Object.assign({},t),{fixedOffsets:jt(o.cells,a,t.fixedCols,t.stickyColsDisabled),maxCols:a});return s("tfoot",{class:zt},[se(t,"foot",i),i.map(((t,e)=>oe(r,t,e,true,true)))])};const ie=t=>{const{data:e,dataFoot:n,externalLabelElements:o,fixedCols:l,hasScrollbar:i,hasSettingsMenu:a,headers:r,label:c,loading:d,refScrollContainer:u,refTable:f,selection:h,stickyColsDisabled:b,variant:p}=t;const v=j("kol-no-entries");const m=pt(r);const y=mt(r.horizontal,e);const g=Object.assign(Object.assign({},t),{fixedOffsets:jt(m.cells,y,l,b),maxCols:y,primaryHeaders:m,selectionModel:$t(h),translateNoEntries:v});const k=wt({data:e,dataFoot:n,headers:r,isFoot:false,noEntriesLabel:v,primaryHeaders:m});const S=o.length===0;return s(w,{block:"kol-table",class:C(p,"table")},a&&t.renderSettings(r.horizontal),s("div",{ref:u,class:At,tabindex:i?S?"-1":"0":undefined},s("table",{ref:f,"aria-labelledby":S?"caption":undefined,class:Wt,style:{minWidth:_t(r)}},S&&s("caption",{class:Qt,id:"caption",tabindex:i?"0":undefined},c),s("thead",{class:Et},[r.horizontal.map(((t,e)=>s("tr",{class:Mt,key:`thead-${e}`},h&&Yt(g),e===0&&Ut(g),Array.isArray(t)&&t.map(((t,n)=>Jt(g,t,e,n,false)))))),se(g,"head",r.horizontal)]),s("tbody",{class:Lt},s("div",{class:Ft("loader",{shown:d})},s($,{label:(d?j("kol-table-data-loading"):j("kol-table-data-loaded")).replace("{{caption}}",c),show:d,variant:"cycle"})),k.map(((t,e)=>oe(g,t,e,true)))),le(g))))};const ae=({dialog:t,card:e},n)=>s(P,Object.assign({},t),e?s(q,Object.assign({},e),n):n);const re=()=>{};const ce=(t,e,n)=>{const o=E();const s=E();const l=new V(u.stateLess);const i=F();const a=L("dialog-heading");const r={};let c;let d=true;let h={};const b=t=>{const e=n();return e?I(e,t):true};const p=()=>{var t,e;(e=(t=o.el)===null||t===void 0?void 0:t.close)===null||e===void 0?void 0:e.call(t)};const v=t=>{var e;K(t);if(t.defaultPrevented)return;(e=h.onCancel)===null||e===void 0?void 0:e.call(h,t);if(t.defaultPrevented)return;if(!b(T.cancel)){t.preventDefault()}};const m=t=>{var e;if(t.target!==o.el){return}M(r);(e=h.onClose)===null||e===void 0?void 0:e.call(h);b(T.close)};const y=()=>{l.hideTooltip();p();b(T.close)};return{getFcProps:e=>{var n,r,u;let b="";let p=0;let g="blank";let k="100%";Q.apply(e.label,(t=>{b=t}));R.apply((n=e.level)!==null&&n!==void 0?n:0,(t=>{p=t}));N.apply(e.on,(t=>{h=t}));f.apply((r=e.variant)!==null&&r!==void 0?r:"blank",(t=>{g=t}));W.apply((u=e.width)!==null&&u!==void 0?u:"100%",(t=>{k=t}));const j=g==="card";if(j&&!c){c=X(t());l.componentWillLoad({label:c.label,align:c.tooltipAlign})}return{dialog:{blockClass:H(g),handleCancel:v,handleClose:m,label:b,labelledBy:j?a:undefined,modal:d,refDialog:o,width:k},card:j&&c?{ariaDescriptionId:i,closeButtonProps:c,handleBlur:re,handleClose:y,handleFocus:re,hasCloser:true,headingId:a,href:"",label:b,level:p,on:{},refCloseButton:s,refCta:re,refTooltip:l.setTooltipElementRef,target:""}:undefined}},show:t=>{var n,s;const l=o.el;if(l===null||l===void 0?void 0:l.open){return}if(d!==t){d=t;e()}if(t){(n=l===null||l===void 0?void 0:l.showModal)===null||n===void 0?void 0:n.call(l);if(l){A(r)}}else{(s=l===null||l===void 0?void 0:l.show)===null||s===void 0?void 0:s.call(l)}},close:p,syncListeners:()=>{if(s.el){l.syncListeners(undefined,s.el,true)}},destroy:()=>{p();M(r);l.destroy()}}};const de=S.forBlock("kol-table")("settings");const ue=t=>Number.isFinite(t)&&t!==undefined&&t>0?t:undefined;const fe=()=>{};const he=(t,e)=>{const n=j("kol-table-settings");const o=j("kol-table-settings-cancel");const l=j("kol-table-settings-apply");const i=j("kol-table-settings-error-all-invisible");let a;let r=false;let c=false;const d=()=>{r=true;e()};const u=b((()=>h(t)),(t=>t.syncListeners()),(t=>t.destroy()));const f=ce(t,d,(()=>a));const p=L("alert-heading");const v=F();let m;let y=[];let C=[];let S=null;const w=t=>{y=t.map((t=>[...t]));C=t.map((t=>t.map((t=>Object.assign({},t)))))};const x=()=>{var t;return(t=C[C.length-1])!==null&&t!==void 0?t:[]};const O=t=>{C=C.map(((e,n,o)=>n===o.length-1?t:e));d()};const $=(t,e)=>{const n=[...x()];const o=n.findIndex((e=>e.key===t));if(o===-1)return;let s;if(e==="up"){if(o===0)return;s=o-1}else{if(o===n.length-1)return;s=o+1}const[l]=n.splice(o,1);n.splice(s,0,l);O(n)};const B=(t,e)=>{const n=x().map((n=>n.key===t&&n.hidable!==false?Object.assign(Object.assign({},n),{visible:Boolean(e)}):n));O(n)};const E=(t,e)=>{const n=ue(Number(e));const o=x().map((e=>e.key===t&&e.resizable!==false?Object.assign(Object.assign({},e),{width:n}):e));O(o)};const M=()=>{C=y.map((t=>[...t]));S=null;d();f.close()};const A=t=>{t.preventDefault();const e=x();const n=e.some((t=>t.visible!==false));if(!n){S=i;d();return}else if(a){S=null;y=C.map((t=>t.map((t=>Object.assign({},t)))));d();const t=C.map((t=>t.map((t=>{const e=t,{hidable:n,resizable:o,sortable:s,visible:l,width:i}=e,a=D(e,["hidable","resizable","sortable","visible","width"]);const r=Object.assign({},a);if(l!==undefined)r.visible=l;if(n!==undefined)r.hidable=n;if(s!==undefined)r.sortable=s;if(o!==undefined)r.resizable=o;if(i!==undefined&&i!==null)r.width=i;return r}))));I(a,T.changeHeaderCells,t);f.close()}};const H=t=>{if(t){a=t}};const P=(t,e,n)=>s("div",{key:t.key,class:"kol-table-settings__column"},s(k,{_checked:t.visible!==false,_label:t.hidable?j("kol-table-settings-column-hidable",{placeholders:{column:t.label}}):j("kol-table-settings-column-not-hidable",{placeholders:{column:t.label}}),_value:true,_hideLabel:true,_disabled:t.hidable===false,_on:{onInput:(e,n)=>{var o;return B((o=t.key)!==null&&o!==void 0?o:"",n)}}}),s("span",{class:"kol-table-settings__column-label"},t.label),s(g,{_hideLabel:true,_value:ue(t.width),_label:j("kol-table-settings-column-width",{placeholders:{column:t.label}}),_min:1,_disabled:t.resizable===false,_on:{onInput:(e,n)=>{var o;return E((o=t.key)!==null&&o!==void 0?o:"",n)}}}),s(_,Object.assign({},u.get(`move-up-${t.key}`).getFcProps({_icons:"kolicon-chevron-up",_label:t.sortable===false||e===0?j("kol-table-settings-not-move",{placeholders:{column:t.label}}):j("kol-table-settings-move-up",{placeholders:{column:t.label}}),_hideLabel:true,_variant:"ghost",_on:{onClick:()=>{var e;return $((e=t.key)!==null&&e!==void 0?e:"","up")}},_disabled:t.sortable===false||e===0},{"data-testid":"table-settings-move-up"}))),s(_,Object.assign({},u.get(`move-down-${t.key}`).getFcProps({_icons:"kolicon-chevron-down",_label:t.sortable===false||e===n.length-1?j("kol-table-settings-not-move",{placeholders:{column:t.label}}):j("kol-table-settings-move-down",{placeholders:{column:t.label}}),_hideLabel:true,_variant:"ghost",_on:{onClick:()=>{var e;return $((e=t.key)!==null&&e!==void 0?e:"","down")}},_disabled:t.sortable===false||e===n.length-1},{"data-testid":"table-settings-move-down"}))));return{beginRender:()=>{u.beginRender();c=r;r=false},render:t=>{if(!c&&t!==m){m=t;w(t)}const e=x();return s("div",{class:de,ref:H},s("div",{class:"kol-table-settings"},s(_,Object.assign({},u.get("toggle").getFcProps({_icons:"kolicon-settings",_label:n,_hideLabel:true,_on:{onClick:()=>f.show(true)}})))),s(ae,Object.assign({},f.getFcProps({label:n,variant:"card",width:"fit-content"})),s("div",{class:"kol-table-settings__content"},S&&s("div",{class:"kol-table-settings__error-message"},s(z,{alert:false,closerAriaDescriptionId:v,handleCloserClick:fe,hasCloser:false,headingId:p,label:S,level:0,refCloserButton:fe,refCloserTooltip:fe,type:"error",variant:"msg"})),s("form",{onSubmit:A},s("div",{class:"kol-table-settings__columns"},e.map(((t,n)=>P(t,n,e)))),s("div",{class:"kol-table-settings__actions"},s(_,Object.assign({},u.get("cancel").getFcProps({_label:o,_variant:"secondary",_on:{onClick:()=>M()}},{"data-testid":"table-settings-cancel"}))),s(_,Object.assign({},u.get("apply").getFcProps({_label:l,_variant:"primary",_type:"submit"},{"data-testid":"table-settings-apply"}))))))))},sync:()=>{u.endRender();f.syncListeners()},destroy:()=>{u.destroy();f.destroy()}}};const be=150;const pe=t=>{if(t.horizontal.length===0){return t}return Object.assign(Object.assign({},t),{horizontal:t.horizontal.map((t=>t.map((t=>Object.assign(Object.assign({},t),{visible:typeof t.visible==="boolean"?t.visible:true,hidable:typeof t.hidable==="boolean"?t.hidable:true})))))})};const ve=(t,e)=>new Map(t.map((t=>{var n;return[t,(n=e.get(t))!==null&&n!==void 0?n:F()]})));class me extends u{constructor(){super(...arguments);this.cellRenderTimeouts=new Map;this.buttonItems=b((()=>h((()=>this.host))),(t=>t.syncListeners()),(t=>t.destroy()));this.settings=he((()=>this.host),(()=>i(this)));this.linkItems=b((()=>p((()=>i(this)))),(t=>t.syncListeners()),(t=>t.destroy()));this.handleResize=()=>{this.updateScrollbarState();clearTimeout(this.resizeDebounceTimeout);this.resizeDebounceTimeout=setTimeout((()=>{this.updateStickyColsDisabled()}),be)};this.handleSelectionChange=(t,e)=>{this.emitSelectionChange(t,e)};this.handleSort=(t,e)=>{this.emitSort(t,e)};this.handleRenderCell=(t,e)=>{if(!e){return}clearTimeout(this.cellRenderTimeouts.get(e));this.cellRenderTimeouts.set(e,setTimeout((()=>{if(typeof t.render==="function"){const n=t.render(e,t,t.data,this.getRenderProp("data"));if(typeof n==="string"){e.textContent=n}}})))};this.refScrollContainer=t=>{this.scrollContainerElement=t};this.refTable=t=>{this.tableElement=t;this.syncTableLabel(this.getState("externalLabelElements"))};this.getButtonFcProps=(t,e,n)=>this.buttonItems.get(t).getFcProps(e,n);this.renderSettings=t=>this.settings.render(t);this.getLinkFcProps=(t,e)=>this.linkItems.get(t).getFcProps(e)}initTableRenderProps(){this.initRenderProps(ht)}observeScrollContainer(){if(this.scrollContainerElement&&ResizeObserver){this.resizeObserver=new ResizeObserver(this.handleResize);this.resizeObserver.observe(this.scrollContainerElement)}this.updateStickyColsDisabled()}teardownTable(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect();clearTimeout(this.resizeDebounceTimeout);this.buttonItems.destroy();this.linkItems.destroy();this.settings.destroy()}syncTableItems(){this.buttonItems.endRender();this.linkItems.endRender();this.settings.sync()}applyData(t){ot.apply(t,(t=>{this.setRenderProp("data",t);this.setState("rowKeys",ve(t,this.getState("rowKeys")))}))}applyDataFoot(t){st.apply(t,(t=>this.setRenderProp("dataFoot",t)))}applyFixedCols(t){Z.apply(t,(t=>this.setRenderProp("fixedCols",t)));this.updateStickyColsDisabled()}applyHasSettingsMenu(t){J.apply(t,(t=>this.setRenderProp("hasSettingsMenu",t)))}applyHeaders(t){rt.apply(t,(t=>this.setRenderProp("headers",pe(t))))}applyLabel(t){v.apply(t,(t=>this.setRenderProp("label",t)))}applyLoading(t){ct.apply(t,(t=>this.setRenderProp("loading",t)))}applyOn(t){tt.apply(t,(t=>this.setRenderProp("on",t)))}applySelection(t){ft.apply(t,(t=>this.setRenderProp("selection",t)));this.updateStickyColsDisabled()}applyVariant(t){m.apply(t,(t=>this.setRenderProp("variant",t)))}syncTableLabel(t){if(!this.tableElement)return;if("ariaLabelledByElements"in this.tableElement){if(t===null||t===void 0?void 0:t.length){this.tableElement.ariaLabelledByElements=t}n.debug([this.tableElement,!!(t===null||t===void 0?void 0:t.length),t,this.tableElement.ariaLabelledByElements])}}moveCheckboxFocus(t){var e,n,o;if(t.key!=="ArrowUp"&&t.key!=="ArrowDown"){return}const s=Array.from((n=(e=this.scrollContainerElement)===null||e===void 0?void 0:e.querySelectorAll(".kol-table__selection-input--checkbox"))!==null&&n!==void 0?n:[]);const l=(o=this.scrollContainerElement)===null||o===void 0?void 0:o.querySelector(":focus");let i=s.indexOf(l);if(i>-1){t.preventDefault();const e=t.key==="ArrowDown"?1:s.length-1;i=(i+e)%s.length;s[i].focus()}}applyChangedHeaderCells(t){const e=Object.assign(Object.assign({},this.getRenderProp("headers")),{horizontal:t.detail});this.setRenderProp("headers",e);this.setState("settingsChangedCounter",this.getState("settingsChangedCounter")+1);const n=this.getRenderProp("on")[G.onChangeHeaderCells];if(typeof n==="function"){n(t,e)}}updateScrollbarState(){if(this.scrollContainerElement){const{clientHeight:t,clientWidth:e,scrollHeight:n,scrollWidth:o}=this.scrollContainerElement;this.setState("hasScrollbar",o>e||n>t&&["auto","scroll"].includes(getComputedStyle(this.scrollContainerElement).overflowY))}}calculateFixedColsWidth(){var t,e,n,o,s,l;const[i,a]=this.getRenderProp("fixedCols");const r=this.getRenderProp("headers");const c=pt(r).cells;const d=mt(r.horizontal,this.getRenderProp("data"));let u=0;for(let n=0;n<i&&n<c.length;n++){u+=(e=(t=c[n])===null||t===void 0?void 0:t.width)!==null&&e!==void 0?e:0}for(let t=d-a;t<d&&t<c.length;t++){u+=(o=(n=c[t])===null||n===void 0?void 0:n.width)!==null&&o!==void 0?o:0}if(this.getRenderProp("selection")){const t=(s=this.scrollContainerElement)===null||s===void 0?void 0:s.querySelector(".kol-table__cell--selection");u+=(l=t===null||t===void 0?void 0:t.offsetWidth)!==null&&l!==void 0?l:0}return u}updateStickyColsDisabled(){if(!this.scrollContainerElement){this.setState("stickyColsDisabled",false);return}const t=this.calculateFixedColsWidth();this.setState("stickyColsDisabled",t>0&&t>=this.scrollContainerElement.clientWidth)}emitSelectionChange(t,e){const n=this.getRenderProp("on")[G.onSelectionChange];if(typeof n==="function"){n(t,e)}if(this.host){I(this.host,T.selectionChange,e)}}emitSort(t,e){const n=this.getRenderProp("on")[G.onSort];if(typeof n==="function"&&e.key){n(t,e)}if(this.host){I(this.host,T.sort,e)}}renderTableStatelessFC(){this.buttonItems.beginRender();this.linkItems.beginRender();this.settings.beginRender();return s(ie,{data:this.getRenderProp("data"),dataFoot:this.getRenderProp("dataFoot"),externalLabelElements:this.getState("externalLabelElements"),fixedCols:this.getRenderProp("fixedCols"),getButtonFcProps:this.getButtonFcProps,getLinkFcProps:this.getLinkFcProps,renderSettings:this.renderSettings,handleRenderCell:this.handleRenderCell,handleSelectionChange:this.handleSelectionChange,handleSort:this.handleSort,hasScrollbar:this.getState("hasScrollbar"),hasSettingsMenu:this.getRenderProp("hasSettingsMenu"),headers:this.getRenderProp("headers"),label:this.getRenderProp("label"),loading:this.getRenderProp("loading"),on:this.getRenderProp("on"),refScrollContainer:this.refScrollContainer,refTable:this.refTable,rowKeys:this.getState("rowKeys"),selection:this.getRenderProp("selection"),settingsChangedCounter:this.getState("settingsChangedCounter"),stickyColsDisabled:this.getState("stickyColsDisabled"),variant:this.getRenderProp("variant")})}}export{me as B,st as a,ot as t,Y as v};
5
- //# sourceMappingURL=base-BFU17cMm.js.map
4
+ import{r as t}from"./aria-labelledby-BRToXqsQ.js";import{G as e,L as n,p as o}from"./common-BqpMtheU.js";import{h as s,F as l,f as i}from"./index-DAKQV03B.js";import{c as a,e as r,n as c,a as d,B as u,v as f}from"./base-web-component-3R1Dy3QK.js";import{c as h}from"./item-DuBSR8BS.js";import{c as b}from"./item-pool-BOxAYePG.js";import{c as p}from"./item-Dkm57tce.js";import{l as v}from"./label-with-expert-slot-CocPu9HB.js";import{v as m}from"./variant-CeijQFzL.js";import{c as y,d as g,e as k}from"./component-names-Dhbtt0mX.js";import{t as j}from"./i18n-BaCf-SDK.js";import{c as C}from"./component-sf_0WjJF.js";import{b as S}from"./bem-registry-CX5kvaqt.js";import{B as w}from"./component-DhBTawyT.js";import{B as _}from"./component-CmBM-Y1C.js";import{I as x}from"./component-DKS73hKY.js";import{L as O}from"./api-T-JuZMlj.js";import{S as $}from"./component-G9vQ1mQA.js";import{T as D}from"./component-CvhmYY4a.js";import{a as B}from"./tslib.es6-QNbPBOk5.js";import{n as F,c as L}from"./dev.utils-BGy8dbtQ.js";import{d as T,K as A}from"./events-CRHxtwup.js";import{A as I}from"./component-BjWF1SyZ.js";import{c as z}from"./element-interaction-Cy9tx3Sx.js";import{u as M,l as E,d as K,D as H}from"./scroll-lock-DRNyw9qH.js";import{h as P}from"./tooltip-open-tracking-D3tCiiGP.js";import{l as R}from"./level-Q5lBISho.js";import{d as N,w as Q}from"./width-BDh5pZvE.js";import{l as W}from"./label-c9P7yC4V.js";import{r as q,C as G}from"./component-BaD1OTyv.js";import{T as Y}from"./behavior-D1kOlK6p.js";import{C as V}from"./keyboard-DNd73LVa.js";const X=(o,s,l,i)=>{const a=t=>typeof t==="string"||typeof t==="undefined";e(o,"_ariaLabelledby",a,new Set(["string"]),i);if(!a(i)){return[]}const r=t(s,i);if(l){try{l.ariaLabelledByElements=r}catch(t){}n.debug(["WebComponent internals",l])}return r};const Z=t=>typeof t==="number"&&Number.isInteger(t)&&t>=0;const J=a("fixedCols",[0,0],(t=>r(t)),(t=>t.length===2&&t.every(Z)));const U=a("hasSettingsMenu",false,c);const tt=d();function et(t){const e=typeof t==="string"?o(t):t;if(Array.isArray(e)){return e}throw new Error("Invalid table data: expected an array of row objects.")}function nt(t){return t.every((t=>typeof t==="object"&&t!==null))}const ot=a("data",[],et,nt);const st=a("dataFoot",[],et,nt);const lt=t=>Array.isArray(t)&&t.every((t=>Array.isArray(t)));function it(t){const e=typeof t==="string"?o(t):t;if(typeof e!=="object"||e===null){throw new Error("Invalid table headers: expected an object.")}const{horizontal:n=[],vertical:s=[]}=e;if(!lt(n)||!lt(s)){throw new Error("Invalid table headers: horizontal and vertical must be arrays of header rows.")}return{horizontal:n,vertical:s}}function at({horizontal:t,vertical:e}){return[...t,...e].every((t=>t.every((t=>t.width===undefined||typeof t.width==="number"))))}const rt=a("headers",{horizontal:[],vertical:[]},it,at);const ct=a("loading",false,c);function dt(t){const e=typeof t==="string"?o(t):t;if(typeof e==="object"&&e!==null){return e}throw new Error("Invalid table selection: expected an object.")}function ut(t){return t===false||typeof t.label==="function"&&(!t.selectedKeys||Array.isArray(t.selectedKeys))}const ft=a("selection",false,dt,ut);const ht={required:[v,ot],optional:[J,U,tt,st,rt,ct,ft,m]};const bt=t=>t.flatMap((t=>t.filter((t=>typeof t.key==="string"||typeof t.render==="function"))));const pt=t=>{const e=bt(t.horizontal);if(e.length>0){return{cells:e,horizontal:true}}const n=bt(t.vertical);return{cells:n,horizontal:n.length===0}};const vt=(t,e)=>{let n=0;if(Array.isArray(t)){t.forEach((t=>{var o;n+=(o=t[e])!==null&&o!==void 0?o:1}))}return n};const mt=(t,e)=>{const n=Math.max(0,...t.map((t=>vt(t,"colSpan"))));return n===0?e.length:n};const yt=(t,e,n)=>{const o=Math.max(0,...t.map((t=>vt(t,"rowSpan"))));return o===0?e.length:o-n};const gt=t=>{var e;return(e=t===null||t===void 0?void 0:t.reduce(((t,e)=>{if("visible"in e&&e.visible===false){return t}return t+(e.colSpan||1)}),0))!==null&&e!==void 0?e:0};const kt=(t,e,n,o)=>{if(o===undefined||e){return undefined}if(o<t[0]){return"left"}if(t[1]>0&&o>=n-t[1]){return"right"}return undefined};const jt=(t,e,n,o)=>{var s,l,i,a,r,c;const d=[];for(let a=0;a<e;a++){if(kt(n,o,e,a)==="left"){d[a]=((s=d[a-1])!==null&&s!==void 0?s:0)+((i=(l=t[a-1])===null||l===void 0?void 0:l.width)!==null&&i!==void 0?i:0)}}for(let s=e-1;s>=0;s--){if(kt(n,o,e,s)==="right"){d[s]=((a=d[s+1])!==null&&a!==void 0?a:0)+((c=(r=t[s+1])===null||r===void 0?void 0:r.width)!==null&&c!==void 0?c:0)}}return d};const Ct=(t,e,n,o)=>{const s=e===undefined?undefined:t[e];if(n&&o){return`calc( var(--kol-table-selection-col-width) + ${s}px)`}return`${s}px`};const St=(t,e,n,o)=>{const s=e.horizontal?t.horizontal:t.vertical;if(s.length===0)return undefined;const l=e.cells[n];if((l===null||l===void 0?void 0:l.type)===o){return l}return undefined};const wt=({data:t,dataFoot:e,headers:n,isFoot:o,noEntriesLabel:s,primaryHeaders:l})=>{const i=mt(n.horizontal,t);const a=l.cells;let r=yt(n.vertical,t,e.length);let c=0;if(o){c=r;r+=e.length}const d=[];const u=[];const f=[];n.vertical.forEach(((t,e)=>{u[e]=0;f[e]=[]}));for(let s=c;s<r;s++){const r=[];n.vertical.forEach(((t,e)=>{let n=0;f[e].forEach((t=>n+=t));if(n<=s){const o=t[s-n+u[e]];if(typeof o==="object"){r.push(Object.assign(Object.assign({},o),{headerCell:true,data:{}}));let t=1;if(typeof o.rowSpan==="number"&&o.rowSpan>1){t=o.rowSpan}f[e].push(t);if(typeof o.colSpan==="number"&&o.colSpan>1){for(let n=1;n<o.colSpan;n++){f[e+n].push(t)}}u[e]++}}}));for(let n=0;n<i;n++){if(l.horizontal){const l=o?e[s-c]:t[s];const i=a[n];if(typeof i==="object"&&i!==null&&typeof l==="object"&&l!==null){r.push(Object.assign(Object.assign({},i),{colIndex:n,colSpan:undefined,rowSpan:undefined,data:l,label:l[i.key]}))}}else{const e=a[s];if(typeof e==="object"&&e!==null&&typeof t[n]==="object"&&t[n]!==null){r.push(Object.assign(Object.assign({},e),{colIndex:n,colSpan:undefined,rowSpan:undefined,data:t[n],label:t[n][e.key]}))}}}d.push(r)}if(t.length===0){let t=gt(n.horizontal[0]);let e=0;if(n.vertical.length>0){t-=n.vertical.length;n.vertical[0].forEach((t=>{e+=t.rowSpan||1}))}const o={colSpan:t,label:s,render:undefined,rowSpan:Math.max(e,1)};if(d.length===0){d.push([o])}else{d[0].push(o)}}return d};const _t=({horizontal:t,vertical:e})=>{const n=t.flatMap((t=>t.filter((t=>t.visible!==false&&t.width!==undefined&&t.width>0)).map((t=>t.width))));const o=e.flatMap((t=>t.filter((t=>t.width!==undefined&&t.width>0)).map((t=>t.width))));const s=[...o,...n];if(s.length===0){return"0px"}if(s.length===1){return`${s[0]}px`}return`calc(${s.map((t=>`${t}px`)).join(" + ")})`};const xt=t=>t===undefined?[]:Array.isArray(t)?t:[t];const Ot=t=>{var e;return(e=t?t.keyPropertyName:undefined)!==null&&e!==void 0?e:"id"};const $t=t=>{const e=t?xt(t.selectedKeys):[];return{disabledKeys:new Set((t?xt(t.disabledKeys):[]).map(String)),keyPropertyName:Ot(t),selectedKeys:e,selectedKeysSet:new Set(e.map(String))}};const Dt=(t,e)=>t.filter((t=>!e.disabledKeys.has(String(t[e.keyPropertyName]))));const Bt=(t,e,n)=>{const o=e.selectedKeys.filter((t=>e.disabledKeys.has(String(t))));if(n){o.push(...Dt(t,e).map((t=>t===null||t===void 0?void 0:t[e.keyPropertyName])))}return o};const Ft=S.forBlock("kol-table");const Lt=Ft("body");const Tt=Ft("cell-actions");const At=Ft("cell-states");const It=Ft("footer");const zt=Ft("head");const Mt=Ft("head-row");const Et=Ft("scroll-container");const Kt=Ft("selection-icon");const Ht=Ft("selection-input-tooltip");const Pt=Ft("sort");const Rt=Ft("sort-button");const Nt=Ft("sort-order");const Qt=Ft("table");const Wt=`${Ft("focus-element")} ${Ft("caption")}`;const qt=(t,e)=>kt(t.fixedCols,t.stickyColsDisabled,t.maxCols,e);const Gt=(t,e,n)=>({left:e==="left"?Ct(t.fixedOffsets,n,true,t.selection!==false):undefined,right:e==="right"?Ct(t.fixedOffsets,n,false,t.selection!==false):undefined});const Yt=(t,e,n)=>{var o,s;return(s=t.primaryHeaders.horizontal&&((o=e[0])===null||o===void 0?void 0:o.data)?t.rowKeys.get(e[0].data):undefined)!==null&&s!==void 0?s:String(n)};const Vt=(t,e,n)=>{var o;const{handleSelectionChange:l,selection:i,selectionModel:a}=t;if(!i)return"";const r=(o=e[0])===null||o===void 0?void 0:o.data;if(!r)return"";const c=r[a.keyPropertyName];const d=i.multiple||i.multiple===undefined;const u=String(c);const f=a.selectedKeysSet.has(u);const h=a.disabledKeys.has(u);const b=i.label(r);const p={name:"selection",checked:f,disabled:h,id:String(c),["aria-label"]:b};return s("td",{key:`tbody-${n}-selection`,class:Ft("cell",{selection:true})},s("div",{class:Ft("selection",{checked:f})},d?s("label",{class:Ft("selection-label",{disabled:h})},s(x,{class:Kt,icons:`kolicon ${f?"kolicon-check":""}`,label:""}),s("input",Object.assign({class:Ft("selection-input",{checkbox:true})},p,{type:"checkbox",onInput:t=>{const e=!f?[...a.selectedKeys,c]:a.selectedKeys.filter((t=>String(t)!==u));l(t,e)}}))):s("label",{class:Ft("selection-label")},s("input",Object.assign({class:Ft("selection-input",{radio:true})},p,{type:"radio",onInput:t=>{l(t,[c])}}))),s("div",{class:Ht},s(D,{label:b,badgeText:"",id:`${c}-label`,refFloating:()=>{}}))))};const Xt=t=>{const{data:e,handleSelectionChange:n,selection:o,selectionModel:l}=t;if(!o){return s("td",{class:Ft("cell",{header:true}),key:`thead-0`})}if(o.multiple===false){return s("th",{scope:"col",key:`thead-0-selection`,class:Ft("cell",{header:true,selection:true})},s("span",{class:"visually-hidden"},j("kol-table-selection")))}const i=l.selectedKeys.filter((t=>!l.disabledKeys.has(String(t)))).length;const a=Dt(e,l).length;const r=i===a;const c=i!==0&&!r;let d;if(i===0){d=j("kol-table-selection-all")}else if(r&&!c){d=j("kol-table-selection-none")}else{d=j("kol-table-selection-indeterminate")}return s("th",{scope:"col",key:`thead-0-selection`,class:Ft("cell",{header:true,selection:true})},s("span",{class:"visually-hidden"},j("kol-table-selection")),s("div",{class:Ft("selection",{checked:r,indeterminate:c})},s("label",{class:Ft("selection-label")},s(x,{class:Kt,icons:`kolicon ${c?"kolicon-minus":r?"kolicon-check":""}`,label:""}),s("input",{class:Ft("selection-input",{checkbox:true}),name:"selection",checked:r&&!c,indeterminate:c,"aria-label":d,type:"checkbox",onInput:t=>{n(t,Bt(e,l,!r))}})),s("div",{class:Ht},s(D,{label:d,badgeText:"",refFloating:()=>{}}))))};const Zt=({headers:t})=>{const{horizontal:e,vertical:n}=t;if(e.length===0||n.length===0){return s(l,null)}const o=n.reduce(((t,e)=>{var n,o;return t+((o=(n=e===null||e===void 0?void 0:e[0])===null||n===void 0?void 0:n.width)!==null&&o!==void 0?o:0)}),0);return s("td",{"aria-hidden":"true",colSpan:n.length,rowSpan:e.length,style:o>0?{width:`${o}px`}:undefined})};const Jt=t=>{const e=j("kol-sort");if(typeof t==="number"&&t>0){return`${e} – ${j("kol-table-sort-order").replace("{{order}}",`${t}`)}`}return e};const Ut=(t,e,n,o,l)=>{if(e.visible===false){return""}const i=(e===null||e===void 0?void 0:e.sortable)!==false;const a=typeof e.sortDirection==="string";const r=i&&a;let c="none";let d="kolicon-sort-neutral";if(r&&e.sortDirection){switch(e.sortDirection){case"ASC":d="kolicon-sort-asc";c="ascending";break;case"DESC":d="kolicon-sort-desc";c="descending";break;default:c="none"}}const u=l?"row":typeof e.colSpan==="number"&&e.colSpan>1?"colgroup":"col";const f=typeof e.sortOrder==="number"&&e.sortOrder>0?e.sortOrder:undefined;const h=e.width!==undefined?`${e.width}px`:undefined;const b=qt(t,o);const{left:p,right:v}=Gt(t,b,o);const m=e.textAlign;const y=r?e.sortDirection:undefined;return s("th",{key:`${n}-${o}-${e.label}`,class:Ft("cell",{[c]:true,"align-center":m==="center","align-justify":m==="justify","align-left":m==="left","align-right":m==="right",header:true,"sticky-left":b==="left","sticky-right":b==="right"}),scope:u,colSpan:e.colSpan,rowSpan:e.rowSpan,style:{width:h,left:p,right:v},"aria-sort":c,"data-sort":y?`sort-${y}`:undefined},y?s("span",{class:Pt},s(_,Object.assign({},t.getButtonFcProps(`sort-${l?"vertical":"horizontal"}-${n}-${o}`,{_icons:{right:d},_label:e.label,_ariaDescription:Jt(f),_on:{onClick:n=>{t.handleSort(n,{key:e.key,currentSortDirection:y})}}},{class:Rt}))),f&&s("span",{"aria-hidden":"true",class:Nt},f)):e.label)};const te=(t,e,n,o)=>s("div",{class:Tt},e.actions(n).map(((e,n)=>{const l=`action-${o}-${n}`;if(e.type==="button"){return s("span",{key:l},s(_,Object.assign({},t.getButtonFcProps(l,e))))}else if(e.type==="link"){return s("span",{key:l},s(O,Object.assign({},t.getLinkFcProps(l,e))))}return null})));const ee=(t,e,n)=>{const o=t.key;if(!o){return""}const l=e[o];if(!l){return""}return s("div",{class:At},l.map(((t,e)=>{if(t.type==="badge"){return s(y,Object.assign({key:`state-${n}-${e}`},t))}return null})))};const ne=(t,e,n,o,l)=>{if(e.visible===false){return""}let i=`${n}-${o}-${e.label}`;if(e.data){const s=t.rowKeys.get(e.data);i=s?`${s}-${t.primaryHeaders.horizontal?o:n}`:i}if(e.headerCell){return Ut(t,e,n,o,l)}const a=typeof e.render!=="function"&&e.label===t.translateNoEntries;const r=St(t.headers,t.primaryHeaders,o,"action");const c=Boolean(r&&e.data);const d=St(t.headers,t.primaryHeaders,o,"state");const u=Boolean(d&&e.data);const f=qt(t,o);const{left:h,right:b}=Gt(t,f,e.colIndex);const p=typeof e.render==="function";const v=e.textAlign;return s("td",{key:`cell-${i}-${t.settingsChangedCounter}`,class:Ft("cell",{actions:c,"align-center":v==="center","align-justify":v==="justify","align-left":v==="left","align-right":v==="right",body:true,states:u,"sticky-left":f==="left","sticky-right":f==="right"}),"aria-atomic":a?"false":undefined,"aria-live":a?"polite":undefined,"aria-relevant":a?"text":undefined,colSpan:e.colSpan,rowSpan:e.rowSpan,style:{textAlign:v,left:h,right:b},ref:p?n=>t.handleRenderCell(e,n):undefined},c&&r&&e.data?te(t,r,e.data,i):u&&d&&e.data?ee(d,e.data,i):!p?e.label:"")};const oe=(t,e,n,o,l=false)=>s("tr",{class:Ft("row",{body:!l,footer:l}),key:`row-${Yt(t,e,n)}`},Vt(t,e,n),e.map(((e,s)=>ne(t,e,n,s,o))));const se=(t,e,n)=>{const o=t.headers.vertical.length+gt(n===null||n===void 0?void 0:n[0])+(t.selection?1:0);return s("tr",{"aria-hidden":"true",class:Ft("spacer",{[e]:true})},s("td",{class:Ft("spacer-line",{[e]:true}),colSpan:o}))};const le=t=>{const{dataFoot:e,headers:n,primaryHeaders:o,translateNoEntries:l}=t;if(e.length===0){return null}const i=wt({data:e,dataFoot:e,headers:n,isFoot:true,noEntriesLabel:l,primaryHeaders:o});const a=mt(n.horizontal,e);const r=Object.assign(Object.assign({},t),{fixedOffsets:jt(o.cells,a,t.fixedCols,t.stickyColsDisabled),maxCols:a});return s("tfoot",{class:It},[se(t,"foot",i),i.map(((t,e)=>oe(r,t,e,true,true)))])};const ie=t=>{const{data:e,dataFoot:n,externalLabelElements:o,fixedCols:l,hasScrollbar:i,hasSettingsMenu:a,headers:r,label:c,loading:d,refScrollContainer:u,refTable:f,selection:h,stickyColsDisabled:b,variant:p}=t;const v=j("kol-no-entries");const m=pt(r);const y=mt(r.horizontal,e);const g=Object.assign(Object.assign({},t),{fixedOffsets:jt(m.cells,y,l,b),maxCols:y,primaryHeaders:m,selectionModel:$t(h),translateNoEntries:v});const k=wt({data:e,dataFoot:n,headers:r,isFoot:false,noEntriesLabel:v,primaryHeaders:m});const S=o.length===0;return s(w,{block:"kol-table",class:C(p,"table")},a&&t.renderSettings(r.horizontal),s("div",{ref:u,class:Et,tabindex:i?S?"-1":"0":undefined},s("table",{ref:f,"aria-labelledby":S?"caption":undefined,class:Qt,style:{minWidth:_t(r)}},S&&s("caption",{class:Wt,id:"caption",tabindex:i?"0":undefined},c),s("thead",{class:zt},[r.horizontal.map(((t,e)=>s("tr",{class:Mt,key:`thead-${e}`},h&&Xt(g),e===0&&Zt(g),Array.isArray(t)&&t.map(((t,n)=>Ut(g,t,e,n,false)))))),se(g,"head",r.horizontal)]),s("tbody",{class:Lt},s("div",{class:Ft("loader",{shown:d})},s($,{label:(d?j("kol-table-data-loading"):j("kol-table-data-loaded")).replace("{{caption}}",c),show:d,variant:"cycle"})),k.map(((t,e)=>oe(g,t,e,true)))),le(g))))};const ae=({dialog:t,card:e},n)=>s(H,Object.assign({},t),e?s(G,Object.assign({},e),n):n);const re=()=>{};const ce=(t,e,n)=>{const o=z();const s=z();const l=new Y(u.stateLess);const i=F();const a=L("dialog-heading");const r={};let c;let d=true;let h={};const b=t=>{const e=n();return e?T(e,t):true};const p=()=>{var t,e;(e=(t=o.el)===null||t===void 0?void 0:t.close)===null||e===void 0?void 0:e.call(t)};const v=t=>{var e;P(t);if(t.defaultPrevented)return;(e=h.onCancel)===null||e===void 0?void 0:e.call(h,t);if(t.defaultPrevented)return;if(!b(A.cancel)){t.preventDefault()}};const m=t=>{var e;if(t.target!==o.el){return}M(r);(e=h.onClose)===null||e===void 0?void 0:e.call(h);b(A.close)};const y=()=>{l.hideTooltip();p();b(A.close)};return{getFcProps:e=>{var n,r,u;let b="";let p=0;let g="blank";let k="100%";W.apply(e.label,(t=>{b=t}));R.apply((n=e.level)!==null&&n!==void 0?n:0,(t=>{p=t}));N.apply(e.on,(t=>{h=t}));f.apply((r=e.variant)!==null&&r!==void 0?r:"blank",(t=>{g=t}));Q.apply((u=e.width)!==null&&u!==void 0?u:"100%",(t=>{k=t}));const j=g==="card";if(j&&!c){c=q(t());l.componentWillLoad({label:c.label,align:c.tooltipAlign})}return{dialog:{blockClass:K(g),handleCancel:v,handleClose:m,label:b,labelledBy:j?a:undefined,modal:d,refDialog:o,width:k},card:j&&c?{ariaDescriptionId:i,closeButtonProps:c,handleBlur:re,handleClose:y,handleFocus:re,hasCloser:true,headingId:a,href:"",label:b,level:p,on:{},refCloseButton:s,refCta:re,refTooltip:l.setTooltipElementRef,target:""}:undefined}},show:t=>{var n,s;const l=o.el;if(l===null||l===void 0?void 0:l.open){return}if(d!==t){d=t;e()}if(t){(n=l===null||l===void 0?void 0:l.showModal)===null||n===void 0?void 0:n.call(l);if(l){E(r)}}else{(s=l===null||l===void 0?void 0:l.show)===null||s===void 0?void 0:s.call(l)}},close:p,syncListeners:()=>{if(s.el){l.syncListeners(undefined,s.el,true)}},destroy:()=>{p();M(r);l.destroy()}}};const de=S.forBlock("kol-table")("settings");const ue=t=>Number.isFinite(t)&&t!==undefined&&t>0?t:undefined;const fe=()=>{};const he=(t,e)=>{const n=j("kol-table-settings");const o=j("kol-table-settings-cancel");const l=j("kol-table-settings-apply");const i=j("kol-table-settings-error-all-invisible");let a;let r=false;let c=false;const d=()=>{r=true;e()};const u=b((()=>h(t)),(t=>t.syncListeners()),(t=>t.destroy()));const f=ce(t,d,(()=>a));const p=L("alert-heading");const v=F();let m;let y=[];let C=[];let S=null;const w=t=>{y=t.map((t=>[...t]));C=t.map((t=>t.map((t=>Object.assign({},t)))))};const x=()=>{var t;return(t=C[C.length-1])!==null&&t!==void 0?t:[]};const O=t=>{C=C.map(((e,n,o)=>n===o.length-1?t:e));d()};const $=(t,e)=>{const n=[...x()];const o=n.findIndex((e=>e.key===t));if(o===-1)return;let s;if(e==="up"){if(o===0)return;s=o-1}else{if(o===n.length-1)return;s=o+1}const[l]=n.splice(o,1);n.splice(s,0,l);O(n)};const D=(t,e)=>{const n=x().map((n=>n.key===t&&n.hidable!==false?Object.assign(Object.assign({},n),{visible:Boolean(e)}):n));O(n)};const z=(t,e)=>{const n=ue(Number(e));const o=x().map((e=>e.key===t&&e.resizable!==false?Object.assign(Object.assign({},e),{width:n}):e));O(o)};const M=()=>{C=y.map((t=>[...t]));S=null;d();f.close()};const E=t=>{t.preventDefault();const e=x();const n=e.some((t=>t.visible!==false));if(!n){S=i;d();return}else if(a){S=null;y=C.map((t=>t.map((t=>Object.assign({},t)))));d();const t=C.map((t=>t.map((t=>{const e=t,{hidable:n,resizable:o,sortable:s,visible:l,width:i}=e,a=B(e,["hidable","resizable","sortable","visible","width"]);const r=Object.assign({},a);if(l!==undefined)r.visible=l;if(n!==undefined)r.hidable=n;if(s!==undefined)r.sortable=s;if(o!==undefined)r.resizable=o;if(i!==undefined&&i!==null)r.width=i;return r}))));T(a,A.changeHeaderCells,t);f.close()}};const K=t=>{if(t){a=t}};const H=(t,e,n)=>s("div",{key:t.key,class:"kol-table-settings__column"},s(k,{_checked:t.visible!==false,_label:t.hidable?j("kol-table-settings-column-hidable",{placeholders:{column:t.label}}):j("kol-table-settings-column-not-hidable",{placeholders:{column:t.label}}),_value:true,_hideLabel:true,_disabled:t.hidable===false,_on:{onInput:(e,n)=>{var o;return D((o=t.key)!==null&&o!==void 0?o:"",n)}}}),s("span",{class:"kol-table-settings__column-label"},t.label),s(g,{_hideLabel:true,_value:ue(t.width),_label:j("kol-table-settings-column-width",{placeholders:{column:t.label}}),_min:1,_disabled:t.resizable===false,_on:{onInput:(e,n)=>{var o;return z((o=t.key)!==null&&o!==void 0?o:"",n)}}}),s(_,Object.assign({},u.get(`move-up-${t.key}`).getFcProps({_icons:"kolicon-chevron-up",_label:t.sortable===false||e===0?j("kol-table-settings-not-move",{placeholders:{column:t.label}}):j("kol-table-settings-move-up",{placeholders:{column:t.label}}),_hideLabel:true,_variant:"ghost",_on:{onClick:()=>{var e;return $((e=t.key)!==null&&e!==void 0?e:"","up")}},_disabled:t.sortable===false||e===0},{"data-testid":"table-settings-move-up"}))),s(_,Object.assign({},u.get(`move-down-${t.key}`).getFcProps({_icons:"kolicon-chevron-down",_label:t.sortable===false||e===n.length-1?j("kol-table-settings-not-move",{placeholders:{column:t.label}}):j("kol-table-settings-move-down",{placeholders:{column:t.label}}),_hideLabel:true,_variant:"ghost",_on:{onClick:()=>{var e;return $((e=t.key)!==null&&e!==void 0?e:"","down")}},_disabled:t.sortable===false||e===n.length-1},{"data-testid":"table-settings-move-down"}))));return{beginRender:()=>{u.beginRender();c=r;r=false},render:t=>{if(!c&&t!==m){m=t;w(t)}const e=x();return s("div",{class:de,ref:K},s("div",{class:"kol-table-settings"},s(_,Object.assign({},u.get("toggle").getFcProps({_icons:"kolicon-settings",_label:n,_hideLabel:true,_on:{onClick:()=>f.show(true)}})))),s(ae,Object.assign({},f.getFcProps({label:n,variant:"card",width:"fit-content"})),s("div",{class:"kol-table-settings__content"},S&&s("div",{class:"kol-table-settings__error-message"},s(I,{alert:false,closerAriaDescriptionId:v,handleCloserClick:fe,hasCloser:false,headingId:p,label:S,level:0,refCloserButton:fe,refCloserTooltip:fe,type:"error",variant:"msg"})),s("form",{onSubmit:E},s("div",{class:"kol-table-settings__columns"},e.map(((t,n)=>H(t,n,e)))),s("div",{class:"kol-table-settings__actions"},s(_,Object.assign({},u.get("cancel").getFcProps({_label:o,_variant:"secondary",_on:{onClick:()=>M()}},{"data-testid":"table-settings-cancel"}))),s(_,Object.assign({},u.get("apply").getFcProps({_label:l,_variant:"primary",_type:"submit"},{"data-testid":"table-settings-apply"}))))))))},sync:()=>{u.endRender();f.syncListeners()},destroy:()=>{u.destroy();f.destroy()}}};const be=150;const pe=t=>{if(t.horizontal.length===0){return t}return Object.assign(Object.assign({},t),{horizontal:t.horizontal.map((t=>t.map((t=>Object.assign(Object.assign({},t),{visible:typeof t.visible==="boolean"?t.visible:true,hidable:typeof t.hidable==="boolean"?t.hidable:true})))))})};const ve=(t,e)=>new Map(t.map((t=>{var n;return[t,(n=e.get(t))!==null&&n!==void 0?n:F()]})));class me extends u{constructor(){super(...arguments);this.cellRenderTimeouts=new Map;this.buttonItems=b((()=>h((()=>this.host))),(t=>t.syncListeners()),(t=>t.destroy()));this.settings=he((()=>this.host),(()=>i(this)));this.linkItems=b((()=>p((()=>i(this)))),(t=>t.syncListeners()),(t=>t.destroy()));this.handleResize=()=>{this.updateScrollbarState();clearTimeout(this.resizeDebounceTimeout);this.resizeDebounceTimeout=setTimeout((()=>{this.updateStickyColsDisabled()}),be)};this.handleSelectionChange=(t,e)=>{this.emitSelectionChange(t,e)};this.handleSort=(t,e)=>{this.emitSort(t,e)};this.handleRenderCell=(t,e)=>{if(!e){return}clearTimeout(this.cellRenderTimeouts.get(e));this.cellRenderTimeouts.set(e,setTimeout((()=>{if(typeof t.render==="function"){const n=t.render(e,t,t.data,this.getRenderProp("data"));if(typeof n==="string"){e.textContent=n}}})))};this.refScrollContainer=t=>{this.scrollContainerElement=t};this.refTable=t=>{this.tableElement=t;this.syncTableLabel(this.getState("externalLabelElements"))};this.getButtonFcProps=(t,e,n)=>this.buttonItems.get(t).getFcProps(e,n);this.renderSettings=t=>this.settings.render(t);this.getLinkFcProps=(t,e)=>this.linkItems.get(t).getFcProps(e)}initTableRenderProps(){this.initRenderProps(ht)}observeScrollContainer(){if(this.scrollContainerElement&&ResizeObserver){this.resizeObserver=new ResizeObserver(this.handleResize);this.resizeObserver.observe(this.scrollContainerElement)}this.updateStickyColsDisabled()}teardownTable(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect();clearTimeout(this.resizeDebounceTimeout);this.buttonItems.destroy();this.linkItems.destroy();this.settings.destroy()}syncTableItems(){this.buttonItems.endRender();this.linkItems.endRender();this.settings.sync()}applyData(t){ot.apply(t,(t=>{this.setRenderProp("data",t);this.setState("rowKeys",ve(t,this.getState("rowKeys")))}))}applyDataFoot(t){st.apply(t,(t=>this.setRenderProp("dataFoot",t)))}applyFixedCols(t){J.apply(t,(t=>this.setRenderProp("fixedCols",t)));this.updateStickyColsDisabled()}applyHasSettingsMenu(t){U.apply(t,(t=>this.setRenderProp("hasSettingsMenu",t)))}applyHeaders(t){rt.apply(t,(t=>this.setRenderProp("headers",pe(t))))}applyLabel(t){v.apply(t,(t=>this.setRenderProp("label",t)))}applyLoading(t){ct.apply(t,(t=>this.setRenderProp("loading",t)))}applyOn(t){tt.apply(t,(t=>this.setRenderProp("on",t)))}applySelection(t){ft.apply(t,(t=>this.setRenderProp("selection",t)));this.updateStickyColsDisabled()}applyVariant(t){m.apply(t,(t=>this.setRenderProp("variant",t)))}syncTableLabel(t){if(!this.tableElement)return;if("ariaLabelledByElements"in this.tableElement){if(t===null||t===void 0?void 0:t.length){this.tableElement.ariaLabelledByElements=t}n.debug([this.tableElement,!!(t===null||t===void 0?void 0:t.length),t,this.tableElement.ariaLabelledByElements])}}moveCheckboxFocus(t){var e,n,o;if(t.key!=="ArrowUp"&&t.key!=="ArrowDown"){return}const s=Array.from((n=(e=this.scrollContainerElement)===null||e===void 0?void 0:e.querySelectorAll(".kol-table__selection-input--checkbox"))!==null&&n!==void 0?n:[]);const l=(o=this.scrollContainerElement)===null||o===void 0?void 0:o.querySelector(":focus");let i=s.indexOf(l);if(i>-1){t.preventDefault();const e=t.key==="ArrowDown"?1:s.length-1;i=(i+e)%s.length;s[i].focus()}}applyChangedHeaderCells(t){const e=Object.assign(Object.assign({},this.getRenderProp("headers")),{horizontal:t.detail});this.setRenderProp("headers",e);this.setState("settingsChangedCounter",this.getState("settingsChangedCounter")+1);const n=this.getRenderProp("on")[V.onChangeHeaderCells];if(typeof n==="function"){n(t,e)}}updateScrollbarState(){if(this.scrollContainerElement){const{clientHeight:t,clientWidth:e,scrollHeight:n,scrollWidth:o}=this.scrollContainerElement;this.setState("hasScrollbar",o>e||n>t&&["auto","scroll"].includes(getComputedStyle(this.scrollContainerElement).overflowY))}}calculateFixedColsWidth(){var t,e,n,o,s,l;const[i,a]=this.getRenderProp("fixedCols");const r=this.getRenderProp("headers");const c=pt(r).cells;const d=mt(r.horizontal,this.getRenderProp("data"));let u=0;for(let n=0;n<i&&n<c.length;n++){u+=(e=(t=c[n])===null||t===void 0?void 0:t.width)!==null&&e!==void 0?e:0}for(let t=d-a;t<d&&t<c.length;t++){u+=(o=(n=c[t])===null||n===void 0?void 0:n.width)!==null&&o!==void 0?o:0}if(this.getRenderProp("selection")){const t=(s=this.scrollContainerElement)===null||s===void 0?void 0:s.querySelector(".kol-table__cell--selection");u+=(l=t===null||t===void 0?void 0:t.offsetWidth)!==null&&l!==void 0?l:0}return u}updateStickyColsDisabled(){if(!this.scrollContainerElement){this.setState("stickyColsDisabled",false);return}const t=this.calculateFixedColsWidth();this.setState("stickyColsDisabled",t>0&&t>=this.scrollContainerElement.clientWidth)}emitSelectionChange(t,e){const n=this.getRenderProp("on")[V.onSelectionChange];if(typeof n==="function"){n(t,e)}if(this.host){T(this.host,A.selectionChange,e)}}emitSort(t,e){const n=this.getRenderProp("on")[V.onSort];if(typeof n==="function"&&e.key){n(t,e)}if(this.host){T(this.host,A.sort,e)}}renderTableStatelessFC(){this.buttonItems.beginRender();this.linkItems.beginRender();this.settings.beginRender();return s(ie,{data:this.getRenderProp("data"),dataFoot:this.getRenderProp("dataFoot"),externalLabelElements:this.getState("externalLabelElements"),fixedCols:this.getRenderProp("fixedCols"),getButtonFcProps:this.getButtonFcProps,getLinkFcProps:this.getLinkFcProps,renderSettings:this.renderSettings,handleRenderCell:this.handleRenderCell,handleSelectionChange:this.handleSelectionChange,handleSort:this.handleSort,hasScrollbar:this.getState("hasScrollbar"),hasSettingsMenu:this.getRenderProp("hasSettingsMenu"),headers:this.getRenderProp("headers"),label:this.getRenderProp("label"),loading:this.getRenderProp("loading"),on:this.getRenderProp("on"),refScrollContainer:this.refScrollContainer,refTable:this.refTable,rowKeys:this.getState("rowKeys"),selection:this.getRenderProp("selection"),settingsChangedCounter:this.getState("settingsChangedCounter"),stickyColsDisabled:this.getState("stickyColsDisabled"),variant:this.getRenderProp("variant")})}}export{me as B,st as a,ot as t,X as v};
5
+ //# sourceMappingURL=base-Dvr4F_Pr.js.map