@womp/kookie-ui 0.26.2 → 0.26.3

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 (294) hide show
  1. package/components.css +27 -4
  2. package/dist/cjs/components/_internal/base-button.js +1 -1
  3. package/dist/cjs/components/_internal/base-button.js.map +2 -2
  4. package/dist/cjs/components/_internal/pane-band-context.d.ts +4 -3
  5. package/dist/cjs/components/_internal/pane-band-context.d.ts.map +1 -1
  6. package/dist/cjs/components/_internal/pane-band-context.js.map +2 -2
  7. package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
  8. package/dist/cjs/components/_internal/portal-theme.d.ts +9 -0
  9. package/dist/cjs/components/_internal/portal-theme.d.ts.map +1 -0
  10. package/dist/cjs/components/_internal/portal-theme.js +3 -0
  11. package/dist/cjs/components/_internal/portal-theme.js.map +7 -0
  12. package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
  13. package/dist/cjs/components/alert-dialog.js +1 -1
  14. package/dist/cjs/components/alert-dialog.js.map +4 -4
  15. package/dist/cjs/components/button.js +1 -1
  16. package/dist/cjs/components/button.js.map +4 -4
  17. package/dist/cjs/components/chatbar.js +1 -1
  18. package/dist/cjs/components/chatbar.js.map +4 -4
  19. package/dist/cjs/components/chip.js +1 -1
  20. package/dist/cjs/components/chip.js.map +4 -4
  21. package/dist/cjs/components/combobox.d.ts.map +1 -1
  22. package/dist/cjs/components/combobox.js +1 -1
  23. package/dist/cjs/components/combobox.js.map +4 -4
  24. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  25. package/dist/cjs/components/context-menu.js +1 -1
  26. package/dist/cjs/components/context-menu.js.map +4 -4
  27. package/dist/cjs/components/dialog.js +1 -1
  28. package/dist/cjs/components/dialog.js.map +4 -4
  29. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  30. package/dist/cjs/components/dropdown-menu.js +1 -1
  31. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  32. package/dist/cjs/components/index.js +2 -2
  33. package/dist/cjs/components/index.js.map +4 -4
  34. package/dist/cjs/components/message-scroller.js +1 -1
  35. package/dist/cjs/components/message-scroller.js.map +4 -4
  36. package/dist/cjs/components/notice.js +1 -1
  37. package/dist/cjs/components/notice.js.map +4 -4
  38. package/dist/cjs/components/popover.js +1 -1
  39. package/dist/cjs/components/popover.js.map +4 -4
  40. package/dist/cjs/components/select.d.ts.map +1 -1
  41. package/dist/cjs/components/select.js +1 -1
  42. package/dist/cjs/components/select.js.map +4 -4
  43. package/dist/cjs/components/sheet.js +1 -1
  44. package/dist/cjs/components/sheet.js.map +4 -4
  45. package/dist/cjs/components/shell.js.map +2 -2
  46. package/dist/cjs/components/sidebar.js +1 -1
  47. package/dist/cjs/components/sidebar.js.map +4 -4
  48. package/dist/cjs/components/spinner.d.ts.map +1 -1
  49. package/dist/cjs/components/spinner.js +1 -1
  50. package/dist/cjs/components/spinner.js.map +2 -2
  51. package/dist/cjs/components/text-area.d.ts.map +1 -1
  52. package/dist/cjs/components/text-area.js +1 -1
  53. package/dist/cjs/components/text-area.js.map +2 -2
  54. package/dist/cjs/components/text-field.d.ts.map +1 -1
  55. package/dist/cjs/components/text-field.js +2 -2
  56. package/dist/cjs/components/text-field.js.map +2 -2
  57. package/dist/cjs/components/theme.d.ts.map +1 -1
  58. package/dist/cjs/components/theme.js +1 -1
  59. package/dist/cjs/components/theme.js.map +4 -4
  60. package/dist/cjs/components/toggle.js +1 -1
  61. package/dist/cjs/components/toggle.js.map +4 -4
  62. package/dist/cjs/components/toolbar.js +1 -1
  63. package/dist/cjs/components/toolbar.js.map +4 -4
  64. package/dist/cjs/components/tooltip.js +1 -1
  65. package/dist/cjs/components/tooltip.js.map +4 -4
  66. package/dist/cjs/index.js +4 -4
  67. package/dist/cjs/index.js.map +4 -4
  68. package/dist/esm/{chunk-UG73IGRF.js → chunk-27XQ5PN5.js} +2 -2
  69. package/dist/esm/{chunk-F2722F7B.js → chunk-2NWHEGKZ.js} +2 -2
  70. package/dist/esm/chunk-2NWHEGKZ.js.map +7 -0
  71. package/dist/esm/{chunk-5FWEGTP6.js → chunk-2R7WQPXX.js} +2 -2
  72. package/dist/esm/chunk-2R7WQPXX.js.map +7 -0
  73. package/dist/esm/{chunk-H2TSRYQ5.js → chunk-324VC67W.js} +2 -2
  74. package/dist/esm/{chunk-TFGUTYZK.js → chunk-3UIODOPE.js} +2 -2
  75. package/dist/esm/chunk-4CIQRUYW.js +6 -0
  76. package/dist/esm/chunk-4CIQRUYW.js.map +7 -0
  77. package/dist/esm/{chunk-OTCVSJT7.js → chunk-4MNRLB57.js} +2 -2
  78. package/dist/esm/{chunk-E6BDD3PN.js → chunk-6C6EK2B5.js} +2 -2
  79. package/dist/esm/{chunk-W4CPV4PO.js → chunk-6JGF6PQH.js} +2 -2
  80. package/dist/esm/{chunk-NYBE3U3V.js → chunk-7QBNXNEN.js} +2 -2
  81. package/dist/esm/{chunk-C2WKAIZM.js → chunk-ACMANOVD.js} +2 -2
  82. package/dist/esm/{chunk-KQIZMPSW.js → chunk-ANQLWGFN.js} +1 -1
  83. package/dist/esm/{chunk-KQIZMPSW.js.map → chunk-ANQLWGFN.js.map} +2 -2
  84. package/dist/esm/chunk-BUXK5VGR.js +3 -0
  85. package/dist/esm/chunk-BUXK5VGR.js.map +7 -0
  86. package/dist/esm/{chunk-7QP6JFPO.js → chunk-C67MM24U.js} +2 -2
  87. package/dist/esm/{chunk-ULCHGKI3.js → chunk-CGFLZ3DC.js} +2 -2
  88. package/dist/esm/{chunk-LFAUMDU5.js → chunk-D2C2A2ZK.js} +2 -2
  89. package/dist/esm/{chunk-MS2ONKJJ.js → chunk-DSM5SUH3.js} +2 -2
  90. package/dist/esm/{chunk-AJANJ22M.js → chunk-E2LSWNWZ.js} +2 -2
  91. package/dist/esm/{chunk-BVQDDN5Q.js → chunk-EB4AG3OL.js} +2 -2
  92. package/dist/esm/{chunk-5PQCTVZB.js → chunk-ENQV6SEA.js} +2 -2
  93. package/dist/esm/{chunk-VVLUY4WR.js → chunk-EPGIYTFK.js} +2 -2
  94. package/dist/esm/{chunk-6M6HGIGN.js → chunk-FK434VPA.js} +2 -2
  95. package/dist/esm/{chunk-TFFMELAL.js → chunk-FYTLUDL3.js} +2 -2
  96. package/dist/esm/chunk-GMWCTK5G.js +3 -0
  97. package/dist/esm/chunk-GMWCTK5G.js.map +7 -0
  98. package/dist/esm/{chunk-F364PDDM.js → chunk-HLIOHDEX.js} +2 -2
  99. package/dist/esm/{chunk-ONJYRJ66.js → chunk-IDEDEPBM.js} +2 -2
  100. package/dist/esm/{chunk-ZKQCSGL3.js → chunk-ISCZ57VL.js} +2 -2
  101. package/dist/esm/{chunk-HVMRB3AH.js → chunk-JD4KR6VZ.js} +2 -2
  102. package/dist/esm/{chunk-NS573D6O.js → chunk-JP36JSNP.js} +2 -2
  103. package/dist/esm/{chunk-N3B6EGXL.js → chunk-KLYI5E6F.js} +2 -2
  104. package/dist/esm/{chunk-GOXGRJO6.js → chunk-MCHK36NI.js} +2 -2
  105. package/dist/esm/{chunk-VIVM525H.js → chunk-MGWGD6KI.js} +2 -2
  106. package/dist/esm/{chunk-K55IQP5H.js → chunk-MPCCYR7L.js} +2 -2
  107. package/dist/esm/chunk-MPCCYR7L.js.map +7 -0
  108. package/dist/esm/{chunk-EERKYRYI.js → chunk-NWXODCTD.js} +2 -2
  109. package/dist/esm/{chunk-3ZWHKNHI.js → chunk-OLTRWCQK.js} +2 -2
  110. package/dist/esm/{chunk-RD4T2MCC.js → chunk-OLWUS7PC.js} +2 -2
  111. package/dist/esm/chunk-OLWUS7PC.js.map +7 -0
  112. package/dist/esm/chunk-OUOP6Q3Z.js +3 -0
  113. package/dist/esm/chunk-OUOP6Q3Z.js.map +7 -0
  114. package/dist/esm/{chunk-UR5BUNNT.js → chunk-Q2TLWILH.js} +2 -2
  115. package/dist/esm/{chunk-VCZ2GYOF.js → chunk-Q5SANVIW.js} +2 -2
  116. package/dist/esm/{chunk-LGZCNQBS.js → chunk-QPRUTOLI.js} +2 -2
  117. package/dist/esm/{chunk-TTW3EAQT.js → chunk-QRV32INS.js} +2 -2
  118. package/dist/esm/chunk-R7YHDIFM.js +3 -0
  119. package/dist/esm/{chunk-M7IQIKB4.js.map → chunk-R7YHDIFM.js.map} +2 -2
  120. package/dist/esm/{chunk-UBUGG2OB.js → chunk-RP5ORPPH.js} +2 -2
  121. package/dist/esm/chunk-T2DZDW5Y.js +3 -0
  122. package/dist/esm/chunk-T2DZDW5Y.js.map +7 -0
  123. package/dist/esm/{chunk-2TWPPDII.js → chunk-UMR4AF35.js} +2 -2
  124. package/dist/esm/chunk-VPP5IDW7.js +3 -0
  125. package/dist/esm/chunk-VPP5IDW7.js.map +7 -0
  126. package/dist/esm/chunk-W3ES2XSB.js +3 -0
  127. package/dist/esm/chunk-W3ES2XSB.js.map +7 -0
  128. package/dist/esm/{chunk-TF6WAIUQ.js → chunk-W4Z6ORYO.js} +2 -2
  129. package/dist/esm/{chunk-ADL3LEOQ.js → chunk-WD66RYF6.js} +2 -2
  130. package/dist/esm/{chunk-TFFU435D.js → chunk-WYKNBNM5.js} +2 -2
  131. package/dist/esm/chunk-WYKNBNM5.js.map +7 -0
  132. package/dist/esm/{chunk-DIY2XQKR.js → chunk-X7JHZ3HA.js} +2 -2
  133. package/dist/esm/{chunk-H33NTGVF.js → chunk-XD3C3GVF.js} +2 -2
  134. package/dist/esm/{chunk-POP5NB33.js → chunk-XGES2VBG.js} +2 -2
  135. package/dist/esm/{chunk-VPUFKJQA.js → chunk-YMUERC2J.js} +2 -2
  136. package/dist/esm/chunk-YOZXIUZY.js +3 -0
  137. package/dist/esm/chunk-YOZXIUZY.js.map +7 -0
  138. package/dist/esm/{chunk-TXVZOS3E.js → chunk-Z5W4ACO2.js} +2 -2
  139. package/dist/esm/{chunk-3QN4C5LW.js → chunk-ZIAA2C4H.js} +2 -2
  140. package/dist/esm/components/_internal/base-button.js +1 -1
  141. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  142. package/dist/esm/components/_internal/menu-context.js +1 -1
  143. package/dist/esm/components/_internal/pane-band-context.d.ts +4 -3
  144. package/dist/esm/components/_internal/pane-band-context.d.ts.map +1 -1
  145. package/dist/esm/components/_internal/pane-band-context.js +1 -1
  146. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  147. package/dist/esm/components/_internal/portal-theme.d.ts +9 -0
  148. package/dist/esm/components/_internal/portal-theme.d.ts.map +1 -0
  149. package/dist/esm/components/_internal/portal-theme.js +3 -0
  150. package/dist/esm/components/_internal/portal-theme.js.map +7 -0
  151. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  152. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  153. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  154. package/dist/esm/components/accordion.js +1 -1
  155. package/dist/esm/components/alert-dialog.js +1 -1
  156. package/dist/esm/components/avatar.js +1 -1
  157. package/dist/esm/components/blockquote.js +1 -1
  158. package/dist/esm/components/box.js +1 -1
  159. package/dist/esm/components/button.js +1 -1
  160. package/dist/esm/components/card.js +1 -1
  161. package/dist/esm/components/chatbar.js +1 -1
  162. package/dist/esm/components/checkbox-group.js +1 -1
  163. package/dist/esm/components/checkbox.js +1 -1
  164. package/dist/esm/components/chip.js +1 -1
  165. package/dist/esm/components/code.js +1 -1
  166. package/dist/esm/components/combobox.d.ts.map +1 -1
  167. package/dist/esm/components/combobox.js +1 -1
  168. package/dist/esm/components/context-menu.d.ts.map +1 -1
  169. package/dist/esm/components/context-menu.js +1 -1
  170. package/dist/esm/components/dialog.js +1 -1
  171. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  172. package/dist/esm/components/dropdown-menu.js +1 -1
  173. package/dist/esm/components/flex.js +1 -1
  174. package/dist/esm/components/grid.js +1 -1
  175. package/dist/esm/components/heading.js +1 -1
  176. package/dist/esm/components/image.js +1 -1
  177. package/dist/esm/components/index.js +1 -1
  178. package/dist/esm/components/kbd.js +1 -1
  179. package/dist/esm/components/link.js +1 -1
  180. package/dist/esm/components/message-scroller.js +1 -1
  181. package/dist/esm/components/navbar.js +1 -1
  182. package/dist/esm/components/notice.js +1 -1
  183. package/dist/esm/components/popover.js +1 -1
  184. package/dist/esm/components/progress.js +1 -1
  185. package/dist/esm/components/radio-group.js +1 -1
  186. package/dist/esm/components/radio.js +1 -1
  187. package/dist/esm/components/scroll-area.js +1 -1
  188. package/dist/esm/components/segmented-control.js +1 -1
  189. package/dist/esm/components/select.d.ts.map +1 -1
  190. package/dist/esm/components/select.js +1 -1
  191. package/dist/esm/components/separator.js +1 -1
  192. package/dist/esm/components/sheet.js +1 -1
  193. package/dist/esm/components/shell.js +1 -1
  194. package/dist/esm/components/sidebar.js +1 -1
  195. package/dist/esm/components/slider.js +1 -1
  196. package/dist/esm/components/spinner.d.ts.map +1 -1
  197. package/dist/esm/components/spinner.js +1 -1
  198. package/dist/esm/components/switch.js +1 -1
  199. package/dist/esm/components/table.js +1 -1
  200. package/dist/esm/components/tabs.js +1 -1
  201. package/dist/esm/components/text-area.d.ts.map +1 -1
  202. package/dist/esm/components/text-area.js +1 -1
  203. package/dist/esm/components/text-field.d.ts.map +1 -1
  204. package/dist/esm/components/text-field.js +1 -1
  205. package/dist/esm/components/text.js +1 -1
  206. package/dist/esm/components/theme.d.ts.map +1 -1
  207. package/dist/esm/components/theme.js +1 -1
  208. package/dist/esm/components/toggle.js +1 -1
  209. package/dist/esm/components/toolbar.js +1 -1
  210. package/dist/esm/components/tooltip.js +1 -1
  211. package/dist/esm/components/virtual-menu.js +1 -1
  212. package/dist/esm/index.js +1 -1
  213. package/package.json +1 -1
  214. package/src/components/_internal/pane-band-context.ts +4 -3
  215. package/src/components/_internal/portal-theme.tsx +18 -0
  216. package/src/components/alert-dialog.tsx +3 -3
  217. package/src/components/combobox.tsx +4 -3
  218. package/src/components/context-menu.tsx +6 -5
  219. package/src/components/dialog.tsx +3 -3
  220. package/src/components/dropdown-menu.tsx +6 -5
  221. package/src/components/popover.tsx +3 -3
  222. package/src/components/select.tsx +4 -3
  223. package/src/components/sheet.tsx +3 -3
  224. package/src/components/spinner.css +16 -1
  225. package/src/components/spinner.tsx +14 -13
  226. package/src/components/text-area.css +7 -2
  227. package/src/components/text-area.tsx +10 -8
  228. package/src/components/text-field.css +7 -2
  229. package/src/components/text-field.tsx +10 -8
  230. package/src/components/theme.tsx +24 -30
  231. package/src/components/tooltip.tsx +3 -3
  232. package/styles.css +27 -4
  233. package/dist/esm/chunk-3C4Q6PMS.js +0 -3
  234. package/dist/esm/chunk-3C4Q6PMS.js.map +0 -7
  235. package/dist/esm/chunk-457Z4R5W.js +0 -3
  236. package/dist/esm/chunk-457Z4R5W.js.map +0 -7
  237. package/dist/esm/chunk-5FWEGTP6.js.map +0 -7
  238. package/dist/esm/chunk-5MEWNLNH.js +0 -3
  239. package/dist/esm/chunk-5MEWNLNH.js.map +0 -7
  240. package/dist/esm/chunk-BEHAT3GI.js +0 -3
  241. package/dist/esm/chunk-BEHAT3GI.js.map +0 -7
  242. package/dist/esm/chunk-DG2KIH54.js +0 -6
  243. package/dist/esm/chunk-DG2KIH54.js.map +0 -7
  244. package/dist/esm/chunk-DQCE7DHY.js +0 -3
  245. package/dist/esm/chunk-DQCE7DHY.js.map +0 -7
  246. package/dist/esm/chunk-F2722F7B.js.map +0 -7
  247. package/dist/esm/chunk-GE7FRBZ4.js +0 -3
  248. package/dist/esm/chunk-GE7FRBZ4.js.map +0 -7
  249. package/dist/esm/chunk-K55IQP5H.js.map +0 -7
  250. package/dist/esm/chunk-M7IQIKB4.js +0 -3
  251. package/dist/esm/chunk-RD4T2MCC.js.map +0 -7
  252. package/dist/esm/chunk-TFFU435D.js.map +0 -7
  253. /package/dist/esm/{chunk-UG73IGRF.js.map → chunk-27XQ5PN5.js.map} +0 -0
  254. /package/dist/esm/{chunk-H2TSRYQ5.js.map → chunk-324VC67W.js.map} +0 -0
  255. /package/dist/esm/{chunk-TFGUTYZK.js.map → chunk-3UIODOPE.js.map} +0 -0
  256. /package/dist/esm/{chunk-OTCVSJT7.js.map → chunk-4MNRLB57.js.map} +0 -0
  257. /package/dist/esm/{chunk-E6BDD3PN.js.map → chunk-6C6EK2B5.js.map} +0 -0
  258. /package/dist/esm/{chunk-W4CPV4PO.js.map → chunk-6JGF6PQH.js.map} +0 -0
  259. /package/dist/esm/{chunk-NYBE3U3V.js.map → chunk-7QBNXNEN.js.map} +0 -0
  260. /package/dist/esm/{chunk-C2WKAIZM.js.map → chunk-ACMANOVD.js.map} +0 -0
  261. /package/dist/esm/{chunk-7QP6JFPO.js.map → chunk-C67MM24U.js.map} +0 -0
  262. /package/dist/esm/{chunk-ULCHGKI3.js.map → chunk-CGFLZ3DC.js.map} +0 -0
  263. /package/dist/esm/{chunk-LFAUMDU5.js.map → chunk-D2C2A2ZK.js.map} +0 -0
  264. /package/dist/esm/{chunk-MS2ONKJJ.js.map → chunk-DSM5SUH3.js.map} +0 -0
  265. /package/dist/esm/{chunk-AJANJ22M.js.map → chunk-E2LSWNWZ.js.map} +0 -0
  266. /package/dist/esm/{chunk-BVQDDN5Q.js.map → chunk-EB4AG3OL.js.map} +0 -0
  267. /package/dist/esm/{chunk-5PQCTVZB.js.map → chunk-ENQV6SEA.js.map} +0 -0
  268. /package/dist/esm/{chunk-VVLUY4WR.js.map → chunk-EPGIYTFK.js.map} +0 -0
  269. /package/dist/esm/{chunk-6M6HGIGN.js.map → chunk-FK434VPA.js.map} +0 -0
  270. /package/dist/esm/{chunk-TFFMELAL.js.map → chunk-FYTLUDL3.js.map} +0 -0
  271. /package/dist/esm/{chunk-F364PDDM.js.map → chunk-HLIOHDEX.js.map} +0 -0
  272. /package/dist/esm/{chunk-ONJYRJ66.js.map → chunk-IDEDEPBM.js.map} +0 -0
  273. /package/dist/esm/{chunk-ZKQCSGL3.js.map → chunk-ISCZ57VL.js.map} +0 -0
  274. /package/dist/esm/{chunk-HVMRB3AH.js.map → chunk-JD4KR6VZ.js.map} +0 -0
  275. /package/dist/esm/{chunk-NS573D6O.js.map → chunk-JP36JSNP.js.map} +0 -0
  276. /package/dist/esm/{chunk-N3B6EGXL.js.map → chunk-KLYI5E6F.js.map} +0 -0
  277. /package/dist/esm/{chunk-GOXGRJO6.js.map → chunk-MCHK36NI.js.map} +0 -0
  278. /package/dist/esm/{chunk-VIVM525H.js.map → chunk-MGWGD6KI.js.map} +0 -0
  279. /package/dist/esm/{chunk-EERKYRYI.js.map → chunk-NWXODCTD.js.map} +0 -0
  280. /package/dist/esm/{chunk-3ZWHKNHI.js.map → chunk-OLTRWCQK.js.map} +0 -0
  281. /package/dist/esm/{chunk-UR5BUNNT.js.map → chunk-Q2TLWILH.js.map} +0 -0
  282. /package/dist/esm/{chunk-VCZ2GYOF.js.map → chunk-Q5SANVIW.js.map} +0 -0
  283. /package/dist/esm/{chunk-LGZCNQBS.js.map → chunk-QPRUTOLI.js.map} +0 -0
  284. /package/dist/esm/{chunk-TTW3EAQT.js.map → chunk-QRV32INS.js.map} +0 -0
  285. /package/dist/esm/{chunk-UBUGG2OB.js.map → chunk-RP5ORPPH.js.map} +0 -0
  286. /package/dist/esm/{chunk-2TWPPDII.js.map → chunk-UMR4AF35.js.map} +0 -0
  287. /package/dist/esm/{chunk-TF6WAIUQ.js.map → chunk-W4Z6ORYO.js.map} +0 -0
  288. /package/dist/esm/{chunk-ADL3LEOQ.js.map → chunk-WD66RYF6.js.map} +0 -0
  289. /package/dist/esm/{chunk-DIY2XQKR.js.map → chunk-X7JHZ3HA.js.map} +0 -0
  290. /package/dist/esm/{chunk-H33NTGVF.js.map → chunk-XD3C3GVF.js.map} +0 -0
  291. /package/dist/esm/{chunk-POP5NB33.js.map → chunk-XGES2VBG.js.map} +0 -0
  292. /package/dist/esm/{chunk-VPUFKJQA.js.map → chunk-YMUERC2J.js.map} +0 -0
  293. /package/dist/esm/{chunk-TXVZOS3E.js.map → chunk-Z5W4ACO2.js.map} +0 -0
  294. /package/dist/esm/{chunk-3QN4C5LW.js.map → chunk-ZIAA2C4H.js.map} +0 -0
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as W}from"./chunk-DQCE7DHY.js";import{a as F}from"./chunk-KVVRFWGQ.js";import{k as _}from"./chunk-GKDGNPBD.js";import{d as z}from"./chunk-HBWBPBSA.js";import{c as A}from"./chunk-5ON3XLRD.js";import{b as H}from"./chunk-XU74PNM2.js";import{a as V}from"./chunk-CLJ6SEGP.js";import{c as j}from"./chunk-OKQAVYW4.js";import*as e from"react";import le from"classnames";import{Slot as de}from"radix-ui";import{useComposedRefs as pe,useLayoutEffect as ue}from"radix-ui/internal";var ie=["1","2","3","4"],ce=["raised","solid","soft","surface","outline","ghost"],C={...V,size:{type:"enum",className:"kui-r-size",values:ie,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:ce,default:"solid"},...z,...H,loading:{type:"boolean",className:"kui-loading",default:!1},fullWidth:{type:"boolean",className:"kui-full-width",default:!1}};var me=e.forwardRef((i,n)=>{let a=A(i,C.size),{className:T,children:o,asChild:s,as:R,color:X,radius:q,disabled:y,done:b=!1,...u}=j(a,C),p=!!a.loading,D=a.loading!==void 0,m=!!y||p,{onClick:v,"aria-describedby":M}=u,K=e.useCallback(t=>{if(m){t.preventDefault();return}v?.(t)},[m,v]),Q=e.useMemo(()=>{let t=s&&e.isValidElement(o)?o.props.children:o,c=k(t),l=r=>e.isValidElement(r)&&(r.type==="svg"||typeof r.type!="string"&&r.type!==e.Fragment&&!fe.has(P(r.type)));return{iconStart:l(c[0]),iconEnd:l(c[c.length-1])}},[s,o]),[E,$]=e.useState(null),S=e.useRef(null),J=pe(n,S);ue(()=>{let t=S.current;if(!t||p||b)return;let c=t.querySelector(":scope > .kui-BaseButtonContent")??t,l=G(c,"start"),r=G(c,"end");$(d=>d&&d.iconStart===l&&d.iconEnd===r?d:{iconStart:l,iconEnd:r})});let{iconStart:h,iconEnd:U}=E??Q,x=!!u["data-icon-only"],f=e.useMemo(()=>{if(!b)return o;let t=e.createElement(_,{key:"kui-done-tick",className:"kui-BaseButtonTick","aria-hidden":!0}),c=l=>{if(x)return t;let r=k(l),d=r.findIndex(B=>!(typeof B=="string"&&!B.trim())),I=r[d];return d!==-1&&h&&(E!==null||e.isValidElement(I)&&I.type==="svg")?r.map((B,re)=>re===d?t:B):[t,...r]};if(s&&e.isValidElement(o)){let l=o;return e.cloneElement(l,void 0,c(l.props.children))}return c(o)},[b,o,x,h,E,s]),Y=s?de.Root:R||"button",Z=["button","input","textarea","select"],w=s?e.isValidElement(o)?o.type:void 0:R||"button",N=typeof w=="string"&&Z.includes(w),{onClickCapture:L}=u,ee=e.useCallback(t=>{if(s&&m){t.preventDefault(),t.stopPropagation();return}L?.(t)},[s,m,L]),te=!s&&(!R||R==="button"),ne="type"in u,oe=e.useId(),g=p?`${oe}-loading`:void 0,ae=e.useMemo(()=>p?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":[M,g].filter(Boolean).join(" ")}:y&&(!N||s)?{"aria-disabled":!0}:{},[p,g,M,y,N,s]),O=(t,c)=>D?e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-BaseButtonContent","aria-hidden":p||void 0},t),p?e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-sr-only"},e.createElement("span",{id:g,"aria-hidden":!0},"Loading"),c),e.createElement(F,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,e.createElement(W,{"aria-hidden":"true"})))):null):t,se=s&&D&&e.isValidElement(f)?e.cloneElement(f,void 0,O(f.props.children,e.isValidElement(o)?o.props.children:null)):f;return e.createElement(Y,{"data-accent-color":X,"data-radius":q,"data-icon-start":h||void 0,"data-icon-end":U||void 0,"data-done":b||void 0,...u,...ae,"data-disabled":m||void 0,onClick:K,onClickCapture:ee,ref:J,className:le("kui-reset","kui-BaseButton",T),...N&&{disabled:y},...te&&!ne?{type:"button"}:{}},s?se:O(f,o))});me.displayName="BaseButton";var fe=new Set(["Text","Kbd","Code","Link","Em","Strong","Quote","Badge","Trans"]);function P(i){if(!i||typeof i!="function"&&typeof i!="object")return"";let n=i;return n.displayName||n.name||P(n.render)||P(n.type)}function k(i){return e.Children.toArray(i).flatMap(n=>e.isValidElement(n)&&n.type===e.Fragment?k(n.props.children):[n])}function G(i,n){let a=n==="start"?i.firstChild:i.lastChild;for(;a&&(a.nodeType===Node.COMMENT_NODE||a.nodeType===Node.TEXT_NODE&&!a.textContent?.trim());)a=n==="start"?a.nextSibling:a.previousSibling;return a?.nodeType===Node.ELEMENT_NODE&&a.localName==="svg"}export{me as a};
3
- //# sourceMappingURL=chunk-UG73IGRF.js.map
2
+ import{a as W}from"./chunk-BUXK5VGR.js";import{a as F}from"./chunk-KVVRFWGQ.js";import{k as _}from"./chunk-GKDGNPBD.js";import{c as j}from"./chunk-OKQAVYW4.js";import{d as z}from"./chunk-HBWBPBSA.js";import{c as A}from"./chunk-5ON3XLRD.js";import{b as H}from"./chunk-XU74PNM2.js";import{a as V}from"./chunk-CLJ6SEGP.js";import*as e from"react";import le from"classnames";import{Slot as de}from"radix-ui";import{useComposedRefs as pe,useLayoutEffect as ue}from"radix-ui/internal";var ie=["1","2","3","4"],ce=["raised","solid","soft","surface","outline","ghost"],C={...V,size:{type:"enum",className:"kui-r-size",values:ie,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:ce,default:"solid"},...z,...H,loading:{type:"boolean",className:"kui-loading",default:!1},fullWidth:{type:"boolean",className:"kui-full-width",default:!1}};var me=e.forwardRef((i,n)=>{let a=A(i,C.size),{className:T,children:o,asChild:s,as:R,color:X,radius:q,disabled:y,done:b=!1,...u}=j(a,C),p=!!a.loading,D=a.loading!==void 0,m=!!y||p,{onClick:v,"aria-describedby":M}=u,K=e.useCallback(t=>{if(m){t.preventDefault();return}v?.(t)},[m,v]),Q=e.useMemo(()=>{let t=s&&e.isValidElement(o)?o.props.children:o,c=k(t),l=r=>e.isValidElement(r)&&(r.type==="svg"||typeof r.type!="string"&&r.type!==e.Fragment&&!fe.has(P(r.type)));return{iconStart:l(c[0]),iconEnd:l(c[c.length-1])}},[s,o]),[E,$]=e.useState(null),S=e.useRef(null),J=pe(n,S);ue(()=>{let t=S.current;if(!t||p||b)return;let c=t.querySelector(":scope > .kui-BaseButtonContent")??t,l=G(c,"start"),r=G(c,"end");$(d=>d&&d.iconStart===l&&d.iconEnd===r?d:{iconStart:l,iconEnd:r})});let{iconStart:h,iconEnd:U}=E??Q,x=!!u["data-icon-only"],f=e.useMemo(()=>{if(!b)return o;let t=e.createElement(_,{key:"kui-done-tick",className:"kui-BaseButtonTick","aria-hidden":!0}),c=l=>{if(x)return t;let r=k(l),d=r.findIndex(B=>!(typeof B=="string"&&!B.trim())),I=r[d];return d!==-1&&h&&(E!==null||e.isValidElement(I)&&I.type==="svg")?r.map((B,re)=>re===d?t:B):[t,...r]};if(s&&e.isValidElement(o)){let l=o;return e.cloneElement(l,void 0,c(l.props.children))}return c(o)},[b,o,x,h,E,s]),Y=s?de.Root:R||"button",Z=["button","input","textarea","select"],w=s?e.isValidElement(o)?o.type:void 0:R||"button",N=typeof w=="string"&&Z.includes(w),{onClickCapture:L}=u,ee=e.useCallback(t=>{if(s&&m){t.preventDefault(),t.stopPropagation();return}L?.(t)},[s,m,L]),te=!s&&(!R||R==="button"),ne="type"in u,oe=e.useId(),g=p?`${oe}-loading`:void 0,ae=e.useMemo(()=>p?{"aria-busy":!0,"aria-disabled":!0,"aria-describedby":[M,g].filter(Boolean).join(" ")}:y&&(!N||s)?{"aria-disabled":!0}:{},[p,g,M,y,N,s]),O=(t,c)=>D?e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-BaseButtonContent","aria-hidden":p||void 0},t),p?e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-sr-only"},e.createElement("span",{id:g,"aria-hidden":!0},"Loading"),c),e.createElement(F,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,e.createElement(W,{"aria-hidden":"true"})))):null):t,se=s&&D&&e.isValidElement(f)?e.cloneElement(f,void 0,O(f.props.children,e.isValidElement(o)?o.props.children:null)):f;return e.createElement(Y,{"data-accent-color":X,"data-radius":q,"data-icon-start":h||void 0,"data-icon-end":U||void 0,"data-done":b||void 0,...u,...ae,"data-disabled":m||void 0,onClick:K,onClickCapture:ee,ref:J,className:le("kui-reset","kui-BaseButton",T),...N&&{disabled:y},...te&&!ne?{type:"button"}:{}},s?se:O(f,o))});me.displayName="BaseButton";var fe=new Set(["Text","Kbd","Code","Link","Em","Strong","Quote","Badge","Trans"]);function P(i){if(!i||typeof i!="function"&&typeof i!="object")return"";let n=i;return n.displayName||n.name||P(n.render)||P(n.type)}function k(i){return e.Children.toArray(i).flatMap(n=>e.isValidElement(n)&&n.type===e.Fragment?k(n.props.children):[n])}function G(i,n){let a=n==="start"?i.firstChild:i.lastChild;for(;a&&(a.nodeType===Node.COMMENT_NODE||a.nodeType===Node.TEXT_NODE&&!a.textContent?.trim());)a=n==="start"?a.nextSibling:a.previousSibling;return a?.nodeType===Node.ELEMENT_NODE&&a.localName==="svg"}export{me as a};
3
+ //# sourceMappingURL=chunk-27XQ5PN5.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as s}from"./chunk-FATCGZZE.js";import{a as m}from"./chunk-7VJF6EXN.js";import{a as p}from"./chunk-NS573D6O.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as g}from"./chunk-OTCVSJT7.js";import{c as D}from"./chunk-GE7FRBZ4.js";import{c as n}from"./chunk-5ON3XLRD.js";import{c as a}from"./chunk-OKQAVYW4.js";import{a as k}from"./chunk-VQPANPMI.js";var S={};k(S,{Action:()=>R,Cancel:()=>v,Content:()=>C,Description:()=>y,Root:()=>P,Title:()=>d,Trigger:()=>f});import*as e from"react";import O from"classnames";import{AlertDialog as r}from"radix-ui";var c={...s};var P=t=>e.createElement(r.Root,{...t});P.displayName="AlertDialog.Root";var f=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Trigger,{...o,ref:i,asChild:!0},l(t)));f.displayName="AlertDialog.Trigger";var{align:z,...A}=c,B={align:z},C=e.forwardRef(({align:t,...o},i)=>{let T=n(o,A.size),{className:u}=a({align:t},B),{className:h,forceMount:E,container:N,onCloseAutoFocus:x,...w}=a(T,A);return m(),e.createElement(r.Portal,{container:N,forceMount:E},e.createElement(D,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-AlertDialogOverlay"},e.createElement("div",{className:"kui-BaseDialogScroll kui-AlertDialogScroll"},e.createElement("div",{className:`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${u}`},e.createElement(r.Content,{...w,ref:i,className:O("kui-BaseDialogContent","kui-AlertDialogContent",h),"aria-modal":"true",onCloseAutoFocus:W=>{x?.(W),document.body.style.pointerEvents=""}}))))))});C.displayName="AlertDialog.Content";var d=e.forwardRef((t,o)=>e.createElement(r.Title,{asChild:!0},e.createElement(p,{size:"5",trim:"start",...t,asChild:!1,ref:o})));d.displayName="AlertDialog.Title";var y=e.forwardRef((t,o)=>e.createElement(r.Description,{asChild:!0},e.createElement(g,{as:"p",size:"3",...t,asChild:!1,ref:o})));y.displayName="AlertDialog.Description";var R=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Action,{...o,ref:i,asChild:!0},l(t)));R.displayName="AlertDialog.Action";var v=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Cancel,{...o,ref:i,asChild:!0},l(t)));v.displayName="AlertDialog.Cancel";export{P as a,f as b,C as c,d,y as e,R as f,v as g,S as h};
3
- //# sourceMappingURL=chunk-F2722F7B.js.map
2
+ import{a as p}from"./chunk-FATCGZZE.js";import{a as m}from"./chunk-7VJF6EXN.js";import{a as g}from"./chunk-JP36JSNP.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as D}from"./chunk-4MNRLB57.js";import{c as a}from"./chunk-OKQAVYW4.js";import{a as s}from"./chunk-T2DZDW5Y.js";import{c as n}from"./chunk-5ON3XLRD.js";import{a as k}from"./chunk-VQPANPMI.js";var S={};k(S,{Action:()=>R,Cancel:()=>v,Content:()=>C,Description:()=>y,Root:()=>A,Title:()=>d,Trigger:()=>f});import*as e from"react";import O from"classnames";import{AlertDialog as r}from"radix-ui";var c={...p};var A=t=>e.createElement(r.Root,{...t});A.displayName="AlertDialog.Root";var f=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Trigger,{...o,ref:i,asChild:!0},l(t)));f.displayName="AlertDialog.Trigger";var{align:z,...P}=c,B={align:z},C=e.forwardRef(({align:t,...o},i)=>{let T=n(o,P.size),{className:u}=a({align:t},B),{className:h,forceMount:E,container:N,onCloseAutoFocus:x,...w}=a(T,P);return m(),e.createElement(r.Portal,{container:N,forceMount:E},e.createElement(s,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-AlertDialogOverlay"},e.createElement("div",{className:"kui-BaseDialogScroll kui-AlertDialogScroll"},e.createElement("div",{className:`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${u}`},e.createElement(r.Content,{...w,ref:i,className:O("kui-BaseDialogContent","kui-AlertDialogContent",h),"aria-modal":"true",onCloseAutoFocus:W=>{x?.(W),document.body.style.pointerEvents=""}}))))))});C.displayName="AlertDialog.Content";var d=e.forwardRef((t,o)=>e.createElement(r.Title,{asChild:!0},e.createElement(g,{size:"5",trim:"start",...t,asChild:!1,ref:o})));d.displayName="AlertDialog.Title";var y=e.forwardRef((t,o)=>e.createElement(r.Description,{asChild:!0},e.createElement(D,{as:"p",size:"3",...t,asChild:!1,ref:o})));y.displayName="AlertDialog.Description";var R=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Action,{...o,ref:i,asChild:!0},l(t)));R.displayName="AlertDialog.Action";var v=e.forwardRef(({children:t,...o},i)=>e.createElement(r.Cancel,{...o,ref:i,asChild:!0},l(t)));v.displayName="AlertDialog.Cancel";export{A as a,f as b,C as c,d,y as e,R as f,v as g,S as h};
3
+ //# sourceMappingURL=chunk-2NWHEGKZ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/alert-dialog.tsx", "../../src/components/alert-dialog.props.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { AlertDialog as AlertDialogPrimitive } from 'radix-ui';\n\nimport { alertDialogContentPropDefs } from './alert-dialog.props.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { PortalTheme } from './_internal/portal-theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { AlertDialogContentOwnProps } from './alert-dialog.props.js';\nimport type { ComponentPropsWithout, RemovedProps, ComponentPropsAs } from '../helpers/component-props.js';\n\ninterface AlertDialogRootProps extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root> {}\nconst AlertDialogRoot: React.FC<AlertDialogRootProps> = (props) => <AlertDialogPrimitive.Root {...props} />;\nAlertDialogRoot.displayName = 'AlertDialog.Root';\n\ntype AlertDialogTriggerElement = React.ElementRef<typeof AlertDialogPrimitive.Trigger>;\ninterface AlertDialogTriggerProps extends ComponentPropsWithout<typeof AlertDialogPrimitive.Trigger, RemovedProps> {}\nconst AlertDialogTrigger = React.forwardRef<AlertDialogTriggerElement, AlertDialogTriggerProps>(({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Trigger>\n));\nAlertDialogTrigger.displayName = 'AlertDialog.Trigger';\n\n// Split once at module scope. `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them on every render.\nconst { align: alignPropDef, ...contentPropDefs } = alertDialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype AlertDialogContentElement = React.ElementRef<typeof AlertDialogPrimitive.Content>;\ninterface AlertDialogContentProps extends ComponentPropsWithout<typeof AlertDialogPrimitive.Content, RemovedProps>, AlertDialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Portal>['container'];\n}\nconst AlertDialogContent = React.forwardRef<AlertDialogContentElement, AlertDialogContentProps>(({ align, ...ownProps }, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contentPropDefs.size);\n const { className: alignClassName } = extractProps({ align }, alignPropDefs);\n\n const { className, forceMount, container, onCloseAutoFocus, ...contentProps } = extractProps(props, contentPropDefs);\n\n // Same stuck pointer-events fallback as Dialog and Sheet.\n useBodyPointerEventsCleanup();\n\n return (\n <AlertDialogPrimitive.Portal container={container} forceMount={forceMount}>\n <PortalTheme asChild>\n <AlertDialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-AlertDialogOverlay\">\n <div className=\"kui-BaseDialogScroll kui-AlertDialogScroll\">\n <div className={`kui-BaseDialogScrollPadding kui-AlertDialogScrollPadding ${alignClassName}`}>\n <AlertDialogPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-BaseDialogContent', 'kui-AlertDialogContent', className)}\n aria-modal=\"true\"\n onCloseAutoFocus={(event) => {\n // Radix returns focus to the trigger unless the caller prevents it.\n onCloseAutoFocus?.(event);\n // Restore pointer-events to body (Radix UI fix for issue #1241)\n document.body.style.pointerEvents = '';\n }}\n />\n </div>\n </div>\n </AlertDialogPrimitive.Overlay>\n </PortalTheme>\n </AlertDialogPrimitive.Portal>\n );\n});\nAlertDialogContent.displayName = 'AlertDialog.Content';\n\ntype AlertDialogTitleElement = React.ElementRef<typeof Heading>;\ntype AlertDialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst AlertDialogTitle = React.forwardRef<AlertDialogTitleElement, AlertDialogTitleProps>((props, forwardedRef) => (\n <AlertDialogPrimitive.Title asChild>\n <Heading size=\"5\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </AlertDialogPrimitive.Title>\n));\nAlertDialogTitle.displayName = 'AlertDialog.Title';\n\ntype AlertDialogDescriptionElement = HTMLParagraphElement;\ntype AlertDialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst AlertDialogDescription = React.forwardRef<AlertDialogDescriptionElement, AlertDialogDescriptionProps>((props, forwardedRef) => (\n <AlertDialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </AlertDialogPrimitive.Description>\n));\nAlertDialogDescription.displayName = 'AlertDialog.Description';\n\ntype AlertDialogActionElement = React.ElementRef<typeof AlertDialogPrimitive.Action>;\ninterface AlertDialogActionProps extends ComponentPropsWithout<typeof AlertDialogPrimitive.Action, RemovedProps> {}\nconst AlertDialogAction = React.forwardRef<AlertDialogActionElement, AlertDialogActionProps>(({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Action {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Action>\n));\nAlertDialogAction.displayName = 'AlertDialog.Action';\n\ntype AlertDialogCancelElement = React.ElementRef<typeof AlertDialogPrimitive.Cancel>;\ninterface AlertDialogCancelProps extends ComponentPropsWithout<typeof AlertDialogPrimitive.Cancel, RemovedProps> {}\nconst AlertDialogCancel = React.forwardRef<AlertDialogCancelElement, AlertDialogCancelProps>(({ children, ...props }, forwardedRef) => (\n <AlertDialogPrimitive.Cancel {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </AlertDialogPrimitive.Cancel>\n));\nAlertDialogCancel.displayName = 'AlertDialog.Cancel';\n\nexport {\n AlertDialogRoot as Root,\n AlertDialogTrigger as Trigger,\n AlertDialogContent as Content,\n AlertDialogTitle as Title,\n AlertDialogDescription as Description,\n AlertDialogAction as Action,\n AlertDialogCancel as Cancel,\n};\n\nexport type {\n AlertDialogRootProps as RootProps,\n AlertDialogTriggerProps as TriggerProps,\n AlertDialogContentProps as ContentProps,\n AlertDialogTitleProps as TitleProps,\n AlertDialogDescriptionProps as DescriptionProps,\n AlertDialogActionProps as ActionProps,\n AlertDialogCancelProps as CancelProps,\n};\n", "import { dialogContentPropDefs } from './dialog.props.js';\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst alertDialogContentPropDefs = {\n ...dialogContentPropDefs,\n} satisfies {\n align: PropDef<'start' | 'center'>;\n size: PropDef<'1' | '2' | '3' | '4'>;\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n};\n\ntype AlertDialogContentOwnProps = GetPropDefTypes<typeof alertDialogContentPropDefs>;\n\nexport { alertDialogContentPropDefs };\nexport type { AlertDialogContentOwnProps };\n"],
5
+ "mappings": ";wWAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,WAAAC,EAAA,YAAAC,EAAA,gBAAAC,EAAA,SAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,eAAeC,MAA4B,WCCpD,IAAMC,EAA6B,CACjC,GAAGC,CACL,EDYA,IAAMC,EAAmDC,GAAU,gBAACC,EAAqB,KAArB,CAA2B,GAAGD,EAAO,EACzGD,EAAgB,YAAc,mBAI9B,IAAMG,EAA2B,aAA+D,CAAC,CAAE,SAAAC,EAAU,GAAGH,CAAM,EAAGI,IACvH,gBAACH,EAAqB,QAArB,CAA8B,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAChEC,EAAoBF,CAAQ,CAC/B,CACD,EACDD,EAAmB,YAAc,sBAKjC,GAAM,CAAE,MAAOI,EAAc,GAAGC,CAAgB,EAAIC,EAC9CC,EAAgB,CAAE,MAAOH,CAAa,EAMtCI,EAA2B,aAA+D,CAAC,CAAE,MAAAC,EAAO,GAAGC,CAAS,EAAGR,IAAiB,CACxI,IAAMJ,EAAQa,EAAkBD,EAAUL,EAAgB,IAAI,EACxD,CAAE,UAAWO,CAAe,EAAIC,EAAa,CAAE,MAAAJ,CAAM,EAAGF,CAAa,EAErE,CAAE,UAAAO,EAAW,WAAAC,EAAY,UAAAC,EAAW,iBAAAC,EAAkB,GAAGC,CAAa,EAAIL,EAAaf,EAAOO,CAAe,EAGnH,OAAAc,EAA4B,EAG1B,gBAACpB,EAAqB,OAArB,CAA4B,UAAWiB,EAAW,WAAYD,GAC7D,gBAACK,EAAA,CAAY,QAAO,IAClB,gBAACrB,EAAqB,QAArB,CAA6B,UAAU,gDACtC,gBAAC,OAAI,UAAU,8CACb,gBAAC,OAAI,UAAW,4DAA4Da,CAAc,IACxF,gBAACb,EAAqB,QAArB,CACE,GAAGmB,EACJ,IAAKhB,EACL,UAAWmB,EAAW,wBAAyB,yBAA0BP,CAAS,EAClF,aAAW,OACX,iBAAmBQ,GAAU,CAE3BL,IAAmBK,CAAK,EAExB,SAAS,KAAK,MAAM,cAAgB,EACtC,EACF,CACF,CACF,CACF,CACF,CACF,CAEJ,CAAC,EACDd,EAAmB,YAAc,sBAIjC,IAAMe,EAAyB,aAA2D,CAACzB,EAAOI,IAChG,gBAACH,EAAqB,MAArB,CAA2B,QAAO,IACjC,gBAACyB,EAAA,CAAQ,KAAK,IAAI,KAAK,QAAS,GAAG1B,EAAO,QAAS,GAAO,IAAKI,EAAc,CAC/E,CACD,EACDqB,EAAiB,YAAc,oBAI/B,IAAME,EAA+B,aAAuE,CAAC3B,EAAOI,IAClH,gBAACH,EAAqB,YAArB,CAAiC,QAAO,IACvC,gBAAC2B,EAAA,CAAK,GAAG,IAAI,KAAK,IAAK,GAAG5B,EAAO,QAAS,GAAO,IAAKI,EAAc,CACtE,CACD,EACDuB,EAAuB,YAAc,0BAIrC,IAAME,EAA0B,aAA6D,CAAC,CAAE,SAAA1B,EAAU,GAAGH,CAAM,EAAGI,IACpH,gBAACH,EAAqB,OAArB,CAA6B,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAC/DC,EAAoBF,CAAQ,CAC/B,CACD,EACD0B,EAAkB,YAAc,qBAIhC,IAAMC,EAA0B,aAA6D,CAAC,CAAE,SAAA3B,EAAU,GAAGH,CAAM,EAAGI,IACpH,gBAACH,EAAqB,OAArB,CAA6B,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAC/DC,EAAoBF,CAAQ,CAC/B,CACD,EACD2B,EAAkB,YAAc",
6
+ "names": ["alert_dialog_exports", "__export", "AlertDialogAction", "AlertDialogCancel", "AlertDialogContent", "AlertDialogDescription", "AlertDialogRoot", "AlertDialogTitle", "AlertDialogTrigger", "React", "classNames", "AlertDialogPrimitive", "alertDialogContentPropDefs", "dialogContentPropDefs", "AlertDialogRoot", "props", "AlertDialogPrimitive", "AlertDialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "contentPropDefs", "alertDialogContentPropDefs", "alignPropDefs", "AlertDialogContent", "align", "ownProps", "useThemeSizeProps", "alignClassName", "extractProps", "className", "forceMount", "container", "onCloseAutoFocus", "contentProps", "useBodyPointerEventsCleanup", "PortalTheme", "classNames", "event", "AlertDialogTitle", "Heading", "AlertDialogDescription", "Text", "AlertDialogAction", "AlertDialogCancel"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as c}from"./chunk-FATCGZZE.js";import{a as g}from"./chunk-7VJF6EXN.js";import{a as P}from"./chunk-NS573D6O.js";import{a}from"./chunk-TGRHRMQI.js";import{a as h}from"./chunk-OTCVSJT7.js";import{c as f}from"./chunk-GE7FRBZ4.js";import{c as m}from"./chunk-5ON3XLRD.js";import{c as p}from"./chunk-OKQAVYW4.js";import{a as W}from"./chunk-VQPANPMI.js";var B={};W(B,{Close:()=>T,Content:()=>R,Description:()=>D,Root:()=>C,Title:()=>y,Trigger:()=>u});import*as e from"react";import k from"classnames";import{Dialog as r}from"radix-ui";var C=o=>e.createElement(r.Root,{...o,modal:!0});C.displayName="Sheet.Root";var u=e.forwardRef(({children:o,...t},i)=>e.createElement(r.Trigger,{...t,ref:i,asChild:!0},a(o)));u.displayName="Sheet.Trigger";var{align:Q,...w}=c,d=w,S=e.createContext(null),R=e.forwardRef((o,t)=>{let{side:i="start",forceMount:s,container:n,className:v,...E}=o,b=m(E,d.size),N={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[i],{className:x,...O}=p(b,d),z=e.useRef(0),M=e.useCallback(l=>{typeof t=="function"?t(l):t&&(t.current=l)},[t]);return g(),e.createElement(r.Portal,{container:n,forceMount:s},e.createElement(S.Provider,{value:z},e.createElement(f,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay kui-SheetOverlay"},e.createElement(r.Content,{...O,ref:M,className:k("kui-BaseDialogContent","kui-SheetContent",v,x),"data-side":N,"aria-modal":"true"})))))});R.displayName="Sheet.Content";var y=e.forwardRef(({size:o="4",weight:t="medium",...i},s)=>{let n=e.useContext(S);return e.useLayoutEffect(()=>{if(n)return n.current+=1,()=>{n.current-=1}},[n]),e.createElement(r.Title,{asChild:!0},e.createElement(P,{ref:s,size:o,weight:t,...i}))});y.displayName="Sheet.Title";var D=e.forwardRef(({size:o="2",emphasis:t="medium",...i},s)=>e.createElement(r.Description,{asChild:!0},e.createElement(h,{ref:s,size:o,emphasis:t,...i})));D.displayName="Sheet.Description";var T=e.forwardRef(({children:o,...t},i)=>e.createElement(r.Close,{...t,ref:i,asChild:!0},a(o)));T.displayName="Sheet.Close";export{C as a,u as b,R as c,y as d,D as e,T as f,B as g};
3
- //# sourceMappingURL=chunk-5FWEGTP6.js.map
2
+ import{a as P}from"./chunk-FATCGZZE.js";import{a as g}from"./chunk-7VJF6EXN.js";import{a as h}from"./chunk-JP36JSNP.js";import{a}from"./chunk-TGRHRMQI.js";import{a as f}from"./chunk-4MNRLB57.js";import{c as p}from"./chunk-OKQAVYW4.js";import{a as c}from"./chunk-T2DZDW5Y.js";import{c as m}from"./chunk-5ON3XLRD.js";import{a as W}from"./chunk-VQPANPMI.js";var B={};W(B,{Close:()=>T,Content:()=>R,Description:()=>D,Root:()=>C,Title:()=>y,Trigger:()=>u});import*as e from"react";import k from"classnames";import{Dialog as r}from"radix-ui";var C=o=>e.createElement(r.Root,{...o,modal:!0});C.displayName="Sheet.Root";var u=e.forwardRef(({children:o,...t},i)=>e.createElement(r.Trigger,{...t,ref:i,asChild:!0},a(o)));u.displayName="Sheet.Trigger";var{align:Q,...w}=P,d=w,S=e.createContext(null),R=e.forwardRef((o,t)=>{let{side:i="start",forceMount:s,container:n,className:v,...E}=o,b=m(E,d.size),N={left:"start",right:"end",start:"start",end:"end",top:"top",bottom:"bottom"}[i],{className:x,...O}=p(b,d),z=e.useRef(0),M=e.useCallback(l=>{typeof t=="function"?t(l):t&&(t.current=l)},[t]);return g(),e.createElement(r.Portal,{container:n,forceMount:s},e.createElement(S.Provider,{value:z},e.createElement(c,{asChild:!0},e.createElement(r.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay kui-SheetOverlay"},e.createElement(r.Content,{...O,ref:M,className:k("kui-BaseDialogContent","kui-SheetContent",v,x),"data-side":N,"aria-modal":"true"})))))});R.displayName="Sheet.Content";var y=e.forwardRef(({size:o="4",weight:t="medium",...i},s)=>{let n=e.useContext(S);return e.useLayoutEffect(()=>{if(n)return n.current+=1,()=>{n.current-=1}},[n]),e.createElement(r.Title,{asChild:!0},e.createElement(h,{ref:s,size:o,weight:t,...i}))});y.displayName="Sheet.Title";var D=e.forwardRef(({size:o="2",emphasis:t="medium",...i},s)=>e.createElement(r.Description,{asChild:!0},e.createElement(f,{ref:s,size:o,emphasis:t,...i})));D.displayName="Sheet.Description";var T=e.forwardRef(({children:o,...t},i)=>e.createElement(r.Close,{...t,ref:i,asChild:!0},a(o)));T.displayName="Sheet.Close";export{C as a,u as b,R as c,y as d,D as e,T as f,B as g};
3
+ //# sourceMappingURL=chunk-2R7WQPXX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/sheet.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Sheet\n *\n * A side-placed overlay built on top of Radix Dialog. It inherits accessibility,\n * focus management, overlay behavior, and sizing scales from the base dialog, and\n * adds side placement and slide motion suited for navigation panels and drawers.\n *\n * Structure mirrors Dialog:\n * - Root, Trigger, Content, Title, Description, Close\n *\n * Notes\n * - Side: set with `side` on `Sheet.Content`. Aliases: `left` \u2192 `start`, `right` \u2192 `end`.\n * - Sizing: reuses Dialog content prop defs (width/min/max/height/size). Size follows the\n * Theme size; start/end sheets cap at the size's overlay width unless maxWidth is set.\n * - A11y: provide an accessible name via `Sheet.Title` or `aria-label` on `Sheet.Content`.\n * Radix owns the focus trap, initial focus and the return of focus to the trigger.\n *\n * Example\n * <Sheet.Root>\n * <Sheet.Trigger>\n * <Button>Open</Button>\n * </Sheet.Trigger>\n * <Sheet.Content side=\"end\" width={{ initial: '280px', md: '360px' }}>\n * <Sheet.Title>Details</Sheet.Title>\n * ...\n * <Sheet.Close>\n * <Button>Close</Button>\n * </Sheet.Close>\n * </Sheet.Content>\n * </Sheet.Root>\n */\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './dialog.props.js';\nimport type { DialogContentOwnProps } from './dialog.props.js';\nimport { PortalTheme } from './_internal/portal-theme.js';\nimport { Heading } from './heading.js';\nimport { Text } from './text.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport { useBodyPointerEventsCleanup } from '../hooks/use-body-pointer-events-cleanup.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { HeadingProps } from './heading.js';\n\n/**\n * Supported sides for the Sheet.\n * Aliases are normalized RTL-aware: `left` \u2192 `start`, `right` \u2192 `end`.\n */\ntype SheetSide = 'start' | 'end' | 'top' | 'bottom' | 'left' | 'right';\n\n/**\n * Sheet is a side-placed overlay built on the Dialog primitive.\n * It reuses Dialog's accessibility, focus, overlay, and size scales, while adding side placement and slide motion.\n */\n\n// Root\n/**\n * Props for `Sheet.Root` (Radix Dialog root with `modal` forced on).\n */\ninterface SheetRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst Root: React.FC<SheetRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nRoot.displayName = 'Sheet.Root';\n\n// Trigger\n/** Element type for `Sheet.Trigger`. */\ntype SheetTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\n/** Props for `Sheet.Trigger` (expects a single element child). */\ninterface SheetTriggerProps extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst Trigger = React.forwardRef<SheetTriggerElement, SheetTriggerProps>(({ children, ...props }, ref) => (\n <DialogPrimitive.Trigger {...props} ref={ref} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n));\nTrigger.displayName = 'Sheet.Trigger';\n\n// Content\n/** Element type for `Sheet.Content`. */\n// Reuse dialog content prop defs for size/width/height tokens.\n// Built once at module scope: `extractProps` memoises on the identity of the\n// prop def objects it is handed, so rebuilding these per render would recompile\n// them every time a sheet renders.\nconst { align: _alignPropDef, ...dialogPropDefsForSheet } = dialogContentPropDefs;\nconst sheetPropDefs = dialogPropDefsForSheet;\n\n/** Counts the Sheet.Title elements mounted inside a Sheet.Content, for the dev-only name check. */\nconst SheetTitleCountContext = React.createContext<React.MutableRefObject<number> | null>(null);\n\ntype SheetContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface SheetContentProps\n extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>,\n Omit<DialogContentOwnProps, 'align'> {\n /** Side where the Sheet should appear. `left`/`right` alias to `start`/`end`. */\n side?: SheetSide;\n /** Optional DOM container to portal into. Defaults to `document.body`. */\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\n\n/**\n * Renders the Sheet panel. Normalizes left/right to logical start/end and\n * forwards dialog sizing props. Provide an accessible name via `Sheet.Title`\n * or `aria-label`.\n */\nconst Content = React.forwardRef<SheetContentElement, SheetContentProps>((allProps, forwardedRef) => {\n const { side = 'start', forceMount, container, className, ...ownProps } = allProps;\n const restProps = useThemeSizeProps(ownProps, sheetPropDefs.size);\n const normalizedSideMap: Record<SheetSide, 'start' | 'end' | 'top' | 'bottom'> = {\n left: 'start',\n right: 'end',\n start: 'start',\n end: 'end',\n top: 'top',\n bottom: 'bottom',\n };\n const normalizedSide = normalizedSideMap[side];\n // Size/width/height class names come from the dialog defs \u2014 see `sheetPropDefs`.\n const { className: extractedClassName, ...contentProps } = extractProps(restProps, sheetPropDefs);\n\n // Dev-only a11y guard: the panel needs a name. A Sheet.Title anywhere inside counts it\n // in a layout effect, which runs before this ref is attached, so nesting doesn't matter.\n const titleCountRef = React.useRef(0);\n const combinedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n if (process.env.NODE_ENV !== 'production' && node) {\n const hasName = titleCountRef.current > 0 || Boolean(node.getAttribute('aria-label')) || Boolean(node.getAttribute('aria-labelledby'));\n if (!hasName) {\n console.warn('Sheet.Content: Missing accessible name. Include Sheet.Title inside it or provide aria-label.');\n }\n }\n },\n [forwardedRef],\n );\n\n useBodyPointerEventsCleanup();\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <SheetTitleCountContext.Provider value={titleCountRef}>\n <PortalTheme asChild>\n <DialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-DialogOverlay kui-SheetOverlay\">\n <DialogPrimitive.Content\n {...contentProps}\n ref={combinedRef}\n className={classNames('kui-BaseDialogContent', 'kui-SheetContent', className, extractedClassName)}\n data-side={normalizedSide}\n aria-modal=\"true\"\n />\n </DialogPrimitive.Overlay>\n </PortalTheme>\n </SheetTitleCountContext.Provider>\n </DialogPrimitive.Portal>\n );\n});\nContent.displayName = 'Sheet.Content';\n\n// Title - renders as Heading with sensible defaults\ntype SheetTitleElement = React.ElementRef<typeof Heading>;\ntype SheetTitleProps = HeadingProps;\n/** Accessible title for the Sheet. Renders as Heading with sensible defaults. */\nconst Title = React.forwardRef<SheetTitleElement, SheetTitleProps>(({ size = '4', weight = 'medium', ...props }, ref) => {\n const titleCountRef = React.useContext(SheetTitleCountContext);\n React.useLayoutEffect(() => {\n if (!titleCountRef) return;\n titleCountRef.current += 1;\n return () => {\n titleCountRef.current -= 1;\n };\n }, [titleCountRef]);\n return (\n <DialogPrimitive.Title asChild>\n <Heading ref={ref} size={size} weight={weight} {...props} />\n </DialogPrimitive.Title>\n );\n});\nTitle.displayName = 'Sheet.Title';\n\n// Description - renders as Text with sensible defaults\ntype SheetDescriptionElement = React.ElementRef<typeof Text>;\ntype SheetDescriptionProps = React.ComponentPropsWithoutRef<typeof Text>;\n/** Supplementary description text for Sheet content. Renders as Text with sensible defaults. */\nconst Description = React.forwardRef<SheetDescriptionElement, SheetDescriptionProps>(({ size = '2', emphasis = 'medium', ...rest }, ref) => (\n <DialogPrimitive.Description asChild>\n <Text ref={ref} size={size} emphasis={emphasis} {...rest} />\n </DialogPrimitive.Description>\n));\nDescription.displayName = 'Sheet.Description';\n\ntype SheetCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface SheetCloseProps extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\n/** Close button for the Sheet. Expects a single element child rendered via `asChild`. */\nconst Close = React.forwardRef<SheetCloseElement, SheetCloseProps>(({ children, ...props }, ref) => (\n <DialogPrimitive.Close {...props} ref={ref} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n));\nClose.displayName = 'Sheet.Close';\n\nexport { Root, Trigger, Content, Title, Description, Close };\nexport type {\n SheetRootProps as RootProps,\n SheetTriggerProps as TriggerProps,\n SheetContentProps as ContentProps,\n SheetTitleProps as TitleProps,\n SheetDescriptionProps as DescriptionProps,\n SheetCloseProps as CloseProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["sheet_exports", "__export", "Close", "Content", "Description", "Root", "Title", "Trigger", "React", "classNames", "DialogPrimitive", "Root", "props", "DialogPrimitive", "Trigger", "children", "ref", "requireReactElement", "_alignPropDef", "dialogPropDefsForSheet", "dialogContentPropDefs", "sheetPropDefs", "SheetTitleCountContext", "Content", "allProps", "forwardedRef", "side", "forceMount", "container", "className", "ownProps", "restProps", "useThemeSizeProps", "normalizedSide", "extractedClassName", "contentProps", "extractProps", "titleCountRef", "combinedRef", "node", "useBodyPointerEventsCleanup", "PortalTheme", "classNames", "Title", "size", "weight", "Heading", "Description", "emphasis", "rest", "Text", "Close"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{c as i}from"./chunk-HBWBPBSA.js";import{c as s}from"./chunk-OKQAVYW4.js";import{b as f}from"./chunk-G66WDIIV.js";import{b as l}from"./chunk-MAA6LEE2.js";import*as e from"react";import S from"classnames";var v=["horizontal","vertical"],c={orientation:{type:"enum",className:"kui-r-orientation",values:v,default:"horizontal",responsive:!0},color:{...i.color,default:"gray"},decorative:{type:"boolean",default:!1},light:{type:"boolean",className:"kui-light",default:!1}};var D=e.forwardRef((o,m)=>{let{className:P,color:u,decorative:a,...d}=s(o,c),p=typeof o.orientation=="object"&&o.orientation!==null,{breakpoint:y}=f(p),r="horizontal";if(p){let n=o.orientation;for(let t of l)if(n[t]!==void 0&&(r=n[t]),t===y)break}else o.orientation==="vertical"&&(r="vertical");return e.createElement("span",{"data-accent-color":u,role:a?void 0:"separator","aria-orientation":a?void 0:r,...d,ref:m,className:S("kui-Separator",P)})});D.displayName="Separator";export{D as a};
3
- //# sourceMappingURL=chunk-H2TSRYQ5.js.map
2
+ import{c as s}from"./chunk-OKQAVYW4.js";import{c as i}from"./chunk-HBWBPBSA.js";import{b as f}from"./chunk-G66WDIIV.js";import{b as l}from"./chunk-MAA6LEE2.js";import*as e from"react";import S from"classnames";var v=["horizontal","vertical"],c={orientation:{type:"enum",className:"kui-r-orientation",values:v,default:"horizontal",responsive:!0},color:{...i.color,default:"gray"},decorative:{type:"boolean",default:!1},light:{type:"boolean",className:"kui-light",default:!1}};var D=e.forwardRef((o,m)=>{let{className:P,color:u,decorative:a,...d}=s(o,c),p=typeof o.orientation=="object"&&o.orientation!==null,{breakpoint:y}=f(p),r="horizontal";if(p){let n=o.orientation;for(let t of l)if(n[t]!==void 0&&(r=n[t]),t===y)break}else o.orientation==="vertical"&&(r="vertical");return e.createElement("span",{"data-accent-color":u,role:a?void 0:"separator","aria-orientation":a?void 0:r,...d,ref:m,className:S("kui-Separator",P)})});D.displayName="Separator";export{D as a};
3
+ //# sourceMappingURL=chunk-324VC67W.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{b as a}from"./chunk-K55IQP5H.js";import{e as r}from"./chunk-HBWBPBSA.js";import{b as i}from"./chunk-XU74PNM2.js";import{a as p}from"./chunk-CLJ6SEGP.js";import{c as s}from"./chunk-OKQAVYW4.js";import*as o from"react";import g from"classnames";import{Slot as x}from"radix-ui";var R=["1","2","3","4"],N=["raised","solid","soft","surface","outline","ghost"],n={...p,size:{type:"enum",className:"kui-r-size",values:R,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:N,default:"raised"},...r,...i};var T=o.forwardRef((l,m)=>{let{asChild:f,className:c,children:d,color:h,radius:u,tooltip:e,tooltipSide:P="top",tooltipAlign:C="center",tooltipDelayDuration:y,tooltipDisableHoverableContent:D,...b}=s(l,n),v=f?x.Root:"span",t=o.createElement(v,{"data-accent-color":h,"data-radius":u,tabIndex:e?0:void 0,...b,ref:m,className:g("kui-reset","kui-Chip",c)},d);return e?o.createElement(a,{content:e,side:P,align:C,delayDuration:y,disableHoverableContent:D},t):t});T.displayName="Chip";export{T as a};
3
- //# sourceMappingURL=chunk-TFGUTYZK.js.map
2
+ import{b as a}from"./chunk-MPCCYR7L.js";import{c as s}from"./chunk-OKQAVYW4.js";import{e as r}from"./chunk-HBWBPBSA.js";import{b as i}from"./chunk-XU74PNM2.js";import{a as p}from"./chunk-CLJ6SEGP.js";import*as o from"react";import g from"classnames";import{Slot as x}from"radix-ui";var R=["1","2","3","4"],N=["raised","solid","soft","surface","outline","ghost"],n={...p,size:{type:"enum",className:"kui-r-size",values:R,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:N,default:"raised"},...r,...i};var T=o.forwardRef((l,m)=>{let{asChild:f,className:c,children:d,color:h,radius:u,tooltip:e,tooltipSide:P="top",tooltipAlign:C="center",tooltipDelayDuration:y,tooltipDisableHoverableContent:D,...b}=s(l,n),v=f?x.Root:"span",t=o.createElement(v,{"data-accent-color":h,"data-radius":u,tabIndex:e?0:void 0,...b,ref:m,className:g("kui-reset","kui-Chip",c)},d);return e?o.createElement(a,{content:e,side:P,align:C,delayDuration:y,disableHoverableContent:D},t):t});T.displayName="Chip";export{T as a};
3
+ //# sourceMappingURL=chunk-3UIODOPE.js.map
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import{a as pe}from"./chunk-YCLPURTD.js";import{a as j}from"./chunk-OAJ5DARR.js";import{b as de,c as oe}from"./chunk-OKQAVYW4.js";import{c as re}from"./chunk-HBWBPBSA.js";import{c as fe}from"./chunk-5ON3XLRD.js";import{b as ce}from"./chunk-XU74PNM2.js";import{a as Ce}from"./chunk-VQPANPMI.js";var Le={};Ce(Le,{Root:()=>Re,Slot:()=>Pe});import*as e from"react";import*as be from"react-dom";import se from"classnames";import{composeEventHandlers as U,composeRefs as xe,useLayoutEffect as ke}from"radix-ui/internal";var De=["1","2","3","4"],Ee=["raised","surface","soft","ghost","outline"],ne={size:{type:"enum",className:"kui-r-size",values:De,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:Ee,default:"raised"},error:{type:"boolean",default:!1},errorMessage:{type:"string",default:void 0},required:{type:"boolean",default:!1},"aria-describedby":{type:"string",default:void 0},"aria-labelledby":{type:"string",default:void 0},...re,...ce},we=["left","right"],me={side:{type:"enum",values:we},...re,gap:pe.gap,px:j.px,pl:j.pl,pr:j.pr};var ye=e.createContext(null),ie="button, a, input, select, textarea, label, [tabindex], [contenteditable]",Re=e.forwardRef((P,v)=>{let{className:s,style:b,...k}=fe(P,ne.size),M=e.useRef(null),{children:L,className:I,color:N,radius:V,style:T,...d}=oe(k,ne),p=!!d.errorMessage,F=e.useId(),[z,C]=e.useState([]),D=e.useCallback(r=>(C(n=>n.includes(r)?n:[...n,r]),()=>C(n=>n.filter(i=>i!==r))),[]),H=e.useMemo(()=>({registerSlot:D}),[D]),{"aria-describedby":g,"aria-labelledby":h,"aria-invalid":S}=d,x=!!d.error||S===!0||S==="true",E=e.useMemo(()=>{let r=[];return d.errorMessage&&r.push(F),g&&r.push(g),r.push(...z),r.length>0?r.join(" "):void 0},[d.errorMessage,g,F,z]),y=e.useMemo(()=>({"aria-invalid":x?!0:S,"aria-describedby":E,"aria-labelledby":h}),[x,S,E,h]),{error:K,errorMessage:ae,required:a,"aria-describedby":O,"aria-labelledby":_,...G}=d,X=e.useCallback(r=>{let n=r.target;if(n.closest(ie))return;let i=M.current;if(!i)return;let f=n.closest(`
3
+ .kui-TextFieldSlot[data-side='right'],
4
+ .kui-TextFieldSlot:not([data-side='right']) ~ .kui-TextFieldSlot:not([data-side='left'])
5
+ `)?i.value.length:0;r.preventDefault(),i.focus();try{i.setSelectionRange(f,f)}catch{}},[]),w=e.createElement("div",{"data-accent-color":N,"data-radius":V,style:p?T:de(T,b),className:se("kui-TextFieldRoot",I,!p&&s,{"kui-error":x}),onMouseDown:X},e.createElement("input",{...G,required:a||void 0,...y,ref:xe(M,v),className:"kui-reset kui-TextFieldInput"}),e.createElement(ye.Provider,{value:H},L));return e.createElement("div",{className:se("kui-TextFieldWrapper",p&&s),style:p?b:void 0,"data-message":p||void 0},w,p?e.createElement("div",{id:F,className:"kui-TextFieldErrorMessage",role:"alert"},d.errorMessage):null)});Re.displayName="TextField.Root";var R=(()=>{if(typeof navigator>"u")return!1;let P=navigator.userAgent,v=/^((?!chrome|android).)*safari/i.test(P),s=/firefox/i.test(P);return v||s})(),Pe=e.forwardRef((P,v)=>{let{scrub:s,scrubValue:b,scrubStep:k=1,scrubSensitivity:M=1,scrubMin:L,scrubMax:I,scrubShiftMultiplier:N=10,scrubAltMultiplier:V=.1,onScrub:T,...d}=P,{className:p,color:F,side:z,onPointerDown:C,onPointerMove:D,onPointerUp:H,onLostPointerCapture:g,...h}=oe(d,me),S=e.useId(),x=h.id??S,E=e.useContext(ye)?.registerSlot,y=e.useRef(null),[K,ae]=e.useState(null);ke(()=>{let t=!!y.current?.querySelector(ie);ae(o=>o===t?o:t)}),e.useEffect(()=>K===!1?E?.(x):void 0,[E,x,K]);let[a,O]=e.useState(!1),[_,G]=e.useState({x:0,y:0}),X=e.useRef(null),w=e.useRef(0),r=e.useRef(!1),n=e.useRef(0),i=e.useRef(0),l=e.useRef(0),f=e.useRef(null),$=e.useRef(0),A=e.useRef({scrubValue:b,scrubStep:k,scrubSensitivity:M,scrubMin:L,scrubMax:I,scrubShiftMultiplier:N,scrubAltMultiplier:V,onScrub:T});A.current={scrubValue:b,scrubStep:k,scrubSensitivity:M,scrubMin:L,scrubMax:I,scrubShiftMultiplier:N,scrubAltMultiplier:V,onScrub:T};let ge=e.useCallback(t=>{if(!s||t.target.closest(ie))return;t.preventDefault(),n.current=0,i.current=b??0,l.current=t.clientX,w.current=t.clientY,G({x:t.clientX,y:t.clientY});let u=y.current;u&&(R?(f.current=t.pointerId,$.current=t.clientX,u.setPointerCapture(t.pointerId),O(!0)):(r.current=!0,u.requestPointerLock()))},[s,b]);e.useEffect(()=>{if(R||!s)return;let t=()=>{if(!r.current)return;let o=document.pointerLockElement===y.current;O(o),o||(r.current=!1,A.current.onScrub?.(0,!1),n.current=0,i.current=0)};return document.addEventListener("pointerlockchange",t),()=>{document.removeEventListener("pointerlockchange",t)}},[s]);let B=e.useCallback((t,o,u,Te)=>{let c=A.current,W=window.innerWidth,Y=window.innerHeight;l.current+=t,l.current>W?l.current=l.current%W:l.current<0&&(l.current=W+l.current%W);let m=w.current+o;m>Y?m=m%Y:m<0&&(m=Y+m%Y),w.current=m;let Z=X.current;Z&&(Z.style.left=`${l.current}px`,Z.style.top=`${m}px`),n.current+=t;let J=n.current/c.scrubSensitivity;if(Math.abs(J)>=1){let Q=1;u?Q=c.scrubShiftMultiplier:Te&&(Q=c.scrubAltMultiplier);let le=Math.trunc(J),ee=le*c.scrubStep*Q,te=ee;if(c.scrubMin!==void 0||c.scrubMax!==void 0){let Fe=i.current+ee,ue=Math.max(c.scrubMin??-1/0,Math.min(c.scrubMax??1/0,Fe));te=ue-i.current,i.current=ue}else i.current+=ee;te!==0&&c.onScrub?.(te,!0),n.current=(J-le)*c.scrubSensitivity}},[]),q=e.useCallback(()=>{A.current.onScrub?.(0,!1),n.current=0,i.current=0,f.current=null,O(!1)},[]),he=e.useCallback(t=>{if(!a||!R)return;let o=t.clientX-$.current;$.current=t.clientX,B(o,t.movementY,t.shiftKey,t.altKey)},[a,B]),Se=e.useCallback(t=>{if(!R||f.current!==t.pointerId)return;let o=y.current;o&&f.current!==null&&o.releasePointerCapture(f.current),q()},[q]),ve=e.useCallback(()=>{R&&a&&q()},[a,q]);e.useEffect(()=>{if(!a||R)return;let t=u=>{B(u.movementX,u.movementY,u.shiftKey,u.altKey)},o=()=>{document.exitPointerLock()};return document.addEventListener("mousemove",t),document.addEventListener("mouseup",o),document.body.style.userSelect="none",()=>{document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",o),document.body.style.userSelect=""}},[a,B]),e.useEffect(()=>{if(!a||!R)return;let t=document.createElement("style");return t.textContent="* { cursor: none !important; user-select: none !important; }",document.head.appendChild(t),()=>{document.head.removeChild(t)}},[a]);let Me=a?be.createPortal(e.createElement("img",{ref:X,className:"kui-TextFieldSlotScrubCursor",src:"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E",alt:"",style:{position:"fixed",left:_.x,top:_.y,transform:"translate(-50%, -50%)",pointerEvents:"none",zIndex:99999,width:24,height:24},"aria-hidden":"true"}),document.body):null;return e.createElement("div",{"data-accent-color":F,"data-side":z,"data-scrub":s||void 0,"data-scrubbing":a||void 0,...h,id:x,ref:xe(y,v),className:se("kui-TextFieldSlot",p),onPointerDown:s?U(C,ge):C,onPointerMove:s?U(D,he):D,onPointerUp:s?U(H,Se):H,onLostPointerCapture:s?U(g,ve):g},h.children,Me)});Pe.displayName="TextField.Slot";export{Re as a,Pe as b,Le as c};
6
+ //# sourceMappingURL=chunk-4CIQRUYW.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/text-field.tsx", "../../src/components/text-field.props.tsx"],
4
+ "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { composeEventHandlers, composeRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { textFieldRootPropDefs, textFieldSlotPropDefs, type TextFieldSlotScrubProps } from './text-field.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { mergeStyles } from '../helpers/merge-styles.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { NotInputTextualAttributes } from '../helpers/input-attributes.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldRootElement = React.ElementRef<'input'>;\ntype TextFieldRootOwnProps = GetPropDefTypes<typeof textFieldRootPropDefs> & {\n defaultValue?: string | number;\n value?: string | number;\n type?: 'date' | 'datetime-local' | 'email' | 'hidden' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';\n};\ntype TextFieldInputProps = ComponentPropsWithout<'input', NotInputTextualAttributes | 'color' | 'defaultValue' | 'size' | 'type' | 'value'>;\ninterface TextFieldRootProps extends TextFieldInputProps, TextFieldRootOwnProps {}\n\n// Each Slot registers its id here, so the input can list slot content in aria-describedby.\ntype TextFieldContextValue = { registerSlot: (id: string) => () => void };\nconst TextFieldContext = React.createContext<TextFieldContextValue | null>(null);\n\n// Clicking anything a person could mean to press keeps its own press: the guard is a focusability\n// list, not a tag list. `[tabindex]` catches role-based widgets; `label` already redirects a click.\nconst FOCUSABLE_IN_SLOT = 'button, a, input, select, textarea, label, [tabindex], [contenteditable]';\n\nconst TextFieldRoot = React.forwardRef<TextFieldRootElement, TextFieldRootProps>((ownProps, forwardedRef) => {\n // The caller's className and style are kept apart from the size and variant classes: with an\n // error message they go on the wrapper, which is then the one box the parent lays out.\n const { className: ownClassName, style: ownStyle, ...themedProps } = useThemeSizeProps(ownProps, textFieldRootPropDefs.size);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const { children, className, color, radius, style, ...inputProps } = extractProps(themedProps, textFieldRootPropDefs);\n const wrapped = Boolean(inputProps.errorMessage);\n\n // Generate unique IDs for accessibility\n const errorId = React.useId();\n\n // Slot content qualifies the value, so it describes the input (as in v2), in mount order.\n const [slotIds, setSlotIds] = React.useState<string[]>([]);\n const registerSlot = React.useCallback((id: string) => {\n setSlotIds((prev) => (prev.includes(id) ? prev : [...prev, id]));\n return () => setSlotIds((prev) => prev.filter((slotId) => slotId !== id));\n }, []);\n const contextValue = React.useMemo(() => ({ registerSlot }), [registerSlot]);\n\n const { 'aria-describedby': ariaDescribedby, 'aria-labelledby': ariaLabelledby, 'aria-invalid': ariaInvalid } = inputProps;\n\n // Invalid when `error` is set or the caller passes aria-invalid; the CSS keys on aria-invalid only.\n const isInvalid = Boolean(inputProps.error) || ariaInvalid === true || ariaInvalid === 'true';\n\n // Build aria-describedby string. The caller's ids stay; ours are appended.\n const describedBy = React.useMemo(() => {\n const parts = [];\n if (inputProps.errorMessage) parts.push(errorId);\n if (ariaDescribedby) parts.push(ariaDescribedby);\n parts.push(...slotIds);\n return parts.length > 0 ? parts.join(' ') : undefined;\n }, [inputProps.errorMessage, ariaDescribedby, errorId, slotIds]);\n\n // Build aria attributes\n const ariaProps = React.useMemo(\n () => ({\n 'aria-invalid': isInvalid ? true : ariaInvalid,\n 'aria-describedby': describedBy,\n 'aria-labelledby': ariaLabelledby,\n }),\n [isInvalid, ariaInvalid, describedBy, ariaLabelledby],\n );\n\n // Filter out our custom props to avoid DOM warnings\n const { error, errorMessage, required, 'aria-describedby': _ariaDescribedby, 'aria-labelledby': _ariaLabelledby, ...nativeInputProps } = inputProps;\n\n // Clicking the padding or a passive slot focuses the input. preventDefault stops the browser\n // from moving focus to the root first, so the input is focused once, synchronously.\n const handleMouseDown = React.useCallback((event: React.MouseEvent) => {\n const target = event.target as HTMLElement;\n if (target.closest(FOCUSABLE_IN_SLOT)) return;\n\n const input = inputRef.current;\n if (!input) return;\n\n // Same selector as in the CSS to find the right slot\n const isRightSlot = target.closest(`\n .kui-TextFieldSlot[data-side='right'],\n .kui-TextFieldSlot:not([data-side='right']) ~ .kui-TextFieldSlot:not([data-side='left'])\n `);\n\n const cursorPosition = isRightSlot ? input.value.length : 0;\n\n event.preventDefault();\n input.focus();\n // Only some input types support this, browsers will throw an error if not supported\n // See: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange#:~:text=Note%20that%20according,not%20support%20selection%22.\n try {\n input.setSelectionRange(cursorPosition, cursorPosition);\n } catch {}\n }, []);\n\n // A pointer-only hit-target redirect to the input; keyboard users reach the input directly.\n const field = (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-accent-color={color}\n data-radius={radius}\n style={wrapped ? style : mergeStyles(style, ownStyle)}\n className={classNames('kui-TextFieldRoot', className, !wrapped && ownClassName, {\n // Not used by the library's CSS (invalid styling keys on aria-invalid); kept as a hook for app styles.\n 'kui-error': isInvalid,\n })}\n onMouseDown={handleMouseDown}\n >\n <input {...nativeInputProps} required={required || undefined} {...ariaProps} ref={composeRefs(inputRef, forwardedRef)} className=\"kui-reset kui-TextFieldInput\" />\n <TextFieldContext.Provider value={contextValue}>{children}</TextFieldContext.Provider>\n </div>\n );\n // The wrapper is always there, so a message coming or going never moves the field in the tree:\n // moving it would remount the input, dropping focus, the caret and an uncontrolled value. With\n // no message it is `display: contents` and the field is the box the parent lays out; with one\n // it holds the field and the message below it, and the caller's className and style size the pair.\n return (\n <div className={classNames('kui-TextFieldWrapper', wrapped && ownClassName)} style={wrapped ? ownStyle : undefined} data-message={wrapped || undefined}>\n {field}\n {wrapped ? (\n <div id={errorId} className=\"kui-TextFieldErrorMessage\" role=\"alert\">\n {inputProps.errorMessage}\n </div>\n ) : null}\n </div>\n );\n});\nTextFieldRoot.displayName = 'TextField.Root';\n\ntype TextFieldSlotElement = React.ElementRef<'div'>;\ntype TextFieldSlotOwnProps = GetPropDefTypes<typeof textFieldSlotPropDefs> & TextFieldSlotScrubProps;\ninterface TextFieldSlotProps extends ComponentPropsWithout<'div', RemovedProps>, TextFieldSlotOwnProps {}\n\n// Detect if we should use pointer capture instead of pointer lock\n// Safari and Firefox show intrusive browser warnings with pointer lock\nconst usePointerCapture = (() => {\n if (typeof navigator === 'undefined') return false;\n const ua = navigator.userAgent;\n const isSafari = /^((?!chrome|android).)*safari/i.test(ua);\n const isFirefox = /firefox/i.test(ua);\n return isSafari || isFirefox;\n})();\n\nconst TextFieldSlot = React.forwardRef<TextFieldSlotElement, TextFieldSlotProps>((props, forwardedRef) => {\n // Extract scrub props first (not part of PropDef system)\n const { scrub, scrubValue, scrubStep = 1, scrubSensitivity = 1, scrubMin, scrubMax, scrubShiftMultiplier = 10, scrubAltMultiplier = 0.1, onScrub, ...restProps } = props;\n\n // Then extract styling props\n const { className, color, side, onPointerDown, onPointerMove, onPointerUp, onLostPointerCapture, ...slotProps } = extractProps(\n restProps,\n textFieldSlotPropDefs,\n );\n\n // A slot of text describes the input (see TextFieldRoot); a caller's own id is kept. A slot\n // holding a control, such as a show-password button, does not: the input would be described\n // by the button's name.\n const generatedId = React.useId();\n const slotId = slotProps.id ?? generatedId;\n const registerSlot = React.useContext(TextFieldContext)?.registerSlot;\n const slotRef = React.useRef<HTMLDivElement>(null);\n // Unknown until the slot has rendered; it registers once it is known to hold only text.\n const [holdsControl, setHoldsControl] = React.useState<boolean | null>(null);\n useLayoutEffect(() => {\n const next = Boolean(slotRef.current?.querySelector(FOCUSABLE_IN_SLOT));\n setHoldsControl((prev) => (prev === next ? prev : next));\n });\n React.useEffect(() => (holdsControl === false ? registerSlot?.(slotId) : undefined), [registerSlot, slotId, holdsControl]);\n\n const [isScrubbing, setIsScrubbing] = React.useState(false);\n // Where the virtual cursor starts. Movement is written straight to the cursor element, so a\n // scrub does not re-render the slot on every mouse move.\n const [cursorStart, setCursorStart] = React.useState({ x: 0, y: 0 });\n const cursorRef = React.useRef<HTMLImageElement>(null);\n // Virtual cursor Y, tracked beside virtualX\n const virtualY = React.useRef(0);\n // Whether this slot asked for the pointer lock, so a lock change elsewhere is not ours\n const lockedByMe = React.useRef(false);\n\n // Track accumulated sub-step movement for precision\n const accumulatedMovement = React.useRef(0);\n // Track current value for clamping (initialized to scrubValue when scrubbing starts)\n const currentValue = React.useRef(0);\n // Track virtual X position for wrap-around (separate from rendered position)\n const virtualX = React.useRef(0);\n // Track pointer ID for capture mode\n const pointerIdRef = React.useRef<number | null>(null);\n // Track last X position for capture mode (movementX calculation)\n const lastXRef = React.useRef(0);\n\n // Store scrub config in refs so document handlers can access latest values\n const scrubConfigRef = React.useRef({\n scrubValue,\n scrubStep,\n scrubSensitivity,\n scrubMin,\n scrubMax,\n scrubShiftMultiplier,\n scrubAltMultiplier,\n onScrub,\n });\n scrubConfigRef.current = {\n scrubValue,\n scrubStep,\n scrubSensitivity,\n scrubMin,\n scrubMax,\n scrubShiftMultiplier,\n scrubAltMultiplier,\n onScrub,\n };\n\n const handlePointerDown = React.useCallback(\n (event: React.PointerEvent) => {\n if (!scrub) return;\n\n // Don't start scrubbing if clicking on interactive elements\n const target = event.target as HTMLElement;\n if (target.closest(FOCUSABLE_IN_SLOT)) return;\n\n event.preventDefault();\n accumulatedMovement.current = 0;\n // Initialize to current value so min/max clamping works correctly\n currentValue.current = scrubValue ?? 0;\n\n // Initialize virtual cursor at actual mouse position\n virtualX.current = event.clientX;\n virtualY.current = event.clientY;\n setCursorStart({ x: event.clientX, y: event.clientY });\n\n const slot = slotRef.current;\n if (!slot) return;\n\n if (usePointerCapture) {\n // Safari/Firefox: Use pointer capture (no browser warning)\n pointerIdRef.current = event.pointerId;\n lastXRef.current = event.clientX;\n slot.setPointerCapture(event.pointerId);\n setIsScrubbing(true);\n } else {\n // Chrome: Use pointer lock for infinite movement\n lockedByMe.current = true;\n slot.requestPointerLock();\n }\n },\n [scrub, scrubValue],\n );\n\n // Handle pointer lock state changes (Chrome only). Only a scrub slot listens, and only a lock\n // this slot asked for starts or ends its scrub.\n React.useEffect(() => {\n if (usePointerCapture || !scrub) return;\n\n const handlePointerLockChange = () => {\n if (!lockedByMe.current) return;\n const isLocked = document.pointerLockElement === slotRef.current;\n setIsScrubbing(isLocked);\n if (!isLocked) {\n lockedByMe.current = false;\n // Fire callback with isChanging = false when scrubbing ends\n scrubConfigRef.current.onScrub?.(0, false);\n accumulatedMovement.current = 0;\n currentValue.current = 0;\n }\n };\n\n document.addEventListener('pointerlockchange', handlePointerLockChange);\n return () => {\n document.removeEventListener('pointerlockchange', handlePointerLockChange);\n };\n }, [scrub]);\n\n // Shared scrub calculation logic\n const processScrubMovement = React.useCallback((movementX: number, movementY: number, shiftKey: boolean, altKey: boolean) => {\n const config = scrubConfigRef.current;\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n\n // Update virtual position with wrap-around at viewport edges\n virtualX.current += movementX;\n if (virtualX.current > viewportWidth) {\n virtualX.current = virtualX.current % viewportWidth;\n } else if (virtualX.current < 0) {\n virtualX.current = viewportWidth + (virtualX.current % viewportWidth);\n }\n\n // Also track Y with wrap-around\n let newY = virtualY.current + movementY;\n if (newY > viewportHeight) {\n newY = newY % viewportHeight;\n } else if (newY < 0) {\n newY = viewportHeight + (newY % viewportHeight);\n }\n virtualY.current = newY;\n\n const cursor = cursorRef.current;\n if (cursor) {\n cursor.style.left = `${virtualX.current}px`;\n cursor.style.top = `${newY}px`;\n }\n\n // Accumulate movement for sensitivity calculation\n accumulatedMovement.current += movementX;\n\n // Calculate how many steps we've moved\n const stepsFromMovement = accumulatedMovement.current / config.scrubSensitivity;\n\n if (Math.abs(stepsFromMovement) >= 1) {\n // Determine modifier multiplier\n let multiplier = 1;\n if (shiftKey) {\n multiplier = config.scrubShiftMultiplier;\n } else if (altKey) {\n multiplier = config.scrubAltMultiplier;\n }\n\n // Calculate delta\n const wholeSteps = Math.trunc(stepsFromMovement);\n const delta = wholeSteps * config.scrubStep * multiplier;\n\n // Apply min/max clamping if bounds are set\n let clampedDelta = delta;\n if (config.scrubMin !== undefined || config.scrubMax !== undefined) {\n const newValue = currentValue.current + delta;\n const clampedValue = Math.max(config.scrubMin ?? -Infinity, Math.min(config.scrubMax ?? Infinity, newValue));\n clampedDelta = clampedValue - currentValue.current;\n currentValue.current = clampedValue;\n } else {\n currentValue.current += delta;\n }\n\n // Fire callback with clamped delta (isChanging = true during drag)\n if (clampedDelta !== 0) {\n config.onScrub?.(clampedDelta, true);\n }\n\n // Keep the fractional remainder for smooth sub-pixel accumulation\n accumulatedMovement.current = (stepsFromMovement - wholeSteps) * config.scrubSensitivity;\n }\n }, []);\n\n // End scrubbing helper\n const endScrubbing = React.useCallback(() => {\n scrubConfigRef.current.onScrub?.(0, false);\n accumulatedMovement.current = 0;\n currentValue.current = 0;\n pointerIdRef.current = null;\n setIsScrubbing(false);\n }, []);\n\n // Handle pointer capture mode events (Safari/Firefox)\n const handlePointerMove = React.useCallback(\n (event: React.PointerEvent) => {\n if (!isScrubbing || !usePointerCapture) return;\n\n const movementX = event.clientX - lastXRef.current;\n lastXRef.current = event.clientX;\n\n processScrubMovement(movementX, event.movementY, event.shiftKey, event.altKey);\n },\n [isScrubbing, processScrubMovement],\n );\n\n const handlePointerUp = React.useCallback(\n (event: React.PointerEvent) => {\n if (!usePointerCapture || pointerIdRef.current !== event.pointerId) return;\n\n const slot = slotRef.current;\n if (slot && pointerIdRef.current !== null) {\n slot.releasePointerCapture(pointerIdRef.current);\n }\n endScrubbing();\n },\n [endScrubbing],\n );\n\n const handleLostPointerCapture = React.useCallback(() => {\n if (usePointerCapture && isScrubbing) {\n endScrubbing();\n }\n }, [isScrubbing, endScrubbing]);\n\n // Attach document-level listeners for pointer lock mode (Chrome)\n React.useEffect(() => {\n if (!isScrubbing || usePointerCapture) return;\n\n const handleMouseMove = (event: MouseEvent) => {\n processScrubMovement(event.movementX, event.movementY, event.shiftKey, event.altKey);\n };\n\n const handleMouseUp = () => {\n // Exit pointer lock to end scrubbing\n document.exitPointerLock();\n };\n\n // Use mousemove for pointer lock (pointermove doesn't work well with pointer lock)\n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n\n // Disable text selection during scrubbing\n document.body.style.userSelect = 'none';\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n document.body.style.userSelect = '';\n };\n }, [isScrubbing, processScrubMovement]);\n\n // Hide native cursor and disable text selection during pointer capture scrubbing\n React.useEffect(() => {\n if (!isScrubbing || !usePointerCapture) return;\n\n // Create a style element to hide cursor globally during scrub\n const style = document.createElement('style');\n style.textContent = '* { cursor: none !important; user-select: none !important; }';\n document.head.appendChild(style);\n\n return () => {\n document.head.removeChild(style);\n };\n }, [isScrubbing]);\n\n // Render virtual cursor via portal to body so it's not clipped\n // Using a data URI of ew-resize cursor for a native look\n const virtualCursor = isScrubbing\n ? ReactDOM.createPortal(\n <img\n ref={cursorRef}\n className=\"kui-TextFieldSlotScrubCursor\"\n src=\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='black' stroke='white' stroke-width='1' d='M0 12 L5 7 L5 10 L19 10 L19 7 L24 12 L19 17 L19 14 L5 14 L5 17 Z'/%3E%3C/svg%3E\"\n alt=\"\"\n style={{\n position: 'fixed',\n left: cursorStart.x,\n top: cursorStart.y,\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'none',\n zIndex: 99999,\n width: 24,\n height: 24,\n }}\n aria-hidden=\"true\"\n />,\n document.body,\n )\n : null;\n\n return (\n <div\n data-accent-color={color}\n data-side={side}\n data-scrub={scrub || undefined}\n data-scrubbing={isScrubbing || undefined}\n {...slotProps}\n id={slotId}\n ref={composeRefs(slotRef, forwardedRef)}\n className={classNames('kui-TextFieldSlot', className)}\n // The caller's handlers run first; the scrub handlers only when `scrub` is set.\n onPointerDown={scrub ? composeEventHandlers(onPointerDown, handlePointerDown) : onPointerDown}\n onPointerMove={scrub ? composeEventHandlers(onPointerMove, handlePointerMove) : onPointerMove}\n onPointerUp={scrub ? composeEventHandlers(onPointerUp, handlePointerUp) : onPointerUp}\n onLostPointerCapture={scrub ? composeEventHandlers(onLostPointerCapture, handleLostPointerCapture) : onLostPointerCapture}\n >\n {slotProps.children}\n {virtualCursor}\n </div>\n );\n});\nTextFieldSlot.displayName = 'TextField.Slot';\n\nexport { TextFieldRoot as Root, TextFieldSlot as Slot };\nexport type { TextFieldRootProps as RootProps, TextFieldSlotProps as SlotProps };\n", "import { colorPropDef } from '../props/color.prop.js';\nimport { paddingPropDefs } from '../props/padding.props.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { flexPropDefs } from './flex.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\nconst variants = ['raised', 'surface', 'soft', 'ghost', 'outline'] as const;\n\nconst textFieldRootPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'kui-variant', values: variants, default: 'raised' },\n // Error and validation props\n error: { type: 'boolean', default: false },\n errorMessage: { type: 'string', default: undefined },\n required: { type: 'boolean', default: false },\n // Accessibility props\n 'aria-describedby': { type: 'string', default: undefined },\n 'aria-labelledby': { type: 'string', default: undefined },\n ...colorPropDef,\n ...radiusPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n error: PropDef<boolean>;\n errorMessage: PropDef<string | undefined>;\n required: PropDef<boolean>;\n 'aria-describedby': PropDef<string | undefined>;\n 'aria-labelledby': PropDef<string | undefined>;\n};\n\nconst sides = ['left', 'right'] as const;\n\nconst textFieldSlotPropDefs = {\n side: { type: 'enum', values: sides },\n ...colorPropDef,\n gap: flexPropDefs.gap,\n px: paddingPropDefs.px,\n pl: paddingPropDefs.pl,\n pr: paddingPropDefs.pr,\n} satisfies {\n side: PropDef<(typeof sides)[number]>;\n gap: typeof flexPropDefs.gap;\n px: typeof paddingPropDefs.px;\n pl: typeof paddingPropDefs.pl;\n pr: typeof paddingPropDefs.pr;\n};\n\n/** Scrubbing props for TextField.Slot - handled separately from PropDef system */\ninterface TextFieldSlotScrubProps {\n /** Enable scrubbing behavior on this slot */\n scrub?: boolean;\n /** Current value (required for min/max clamping to work correctly) */\n scrubValue?: number;\n /** Base value change per movement unit (default: 1) */\n scrubStep?: number;\n /** Pixels of movement per step - higher = less sensitive (default: 1) */\n scrubSensitivity?: number;\n /** Minimum allowed value */\n scrubMin?: number;\n /** Maximum allowed value */\n scrubMax?: number;\n /** Step multiplier when Shift is held (default: 10) */\n scrubShiftMultiplier?: number;\n /** Step multiplier when Alt/Option is held (default: 0.1) */\n scrubAltMultiplier?: number;\n /**\n * Callback fired during scrubbing with the value delta\n * @param delta - The change in value\n * @param isChanging - true while dragging, false when released\n */\n onScrub?: (delta: number, isChanging: boolean) => void;\n}\n\nexport type { TextFieldSlotScrubProps };\n\nexport { textFieldRootPropDefs, textFieldSlotPropDefs };\n"],
5
+ "mappings": "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",
6
+ "names": ["text_field_exports", "__export", "TextFieldRoot", "TextFieldSlot", "React", "ReactDOM", "classNames", "composeEventHandlers", "composeRefs", "useLayoutEffect", "sizes", "variants", "textFieldRootPropDefs", "colorPropDef", "radiusPropDef", "sides", "textFieldSlotPropDefs", "flexPropDefs", "paddingPropDefs", "TextFieldContext", "FOCUSABLE_IN_SLOT", "TextFieldRoot", "ownProps", "forwardedRef", "ownClassName", "ownStyle", "themedProps", "useThemeSizeProps", "textFieldRootPropDefs", "inputRef", "children", "className", "color", "radius", "style", "inputProps", "extractProps", "wrapped", "errorId", "slotIds", "setSlotIds", "registerSlot", "id", "prev", "slotId", "contextValue", "ariaDescribedby", "ariaLabelledby", "ariaInvalid", "isInvalid", "describedBy", "parts", "ariaProps", "error", "errorMessage", "required", "_ariaDescribedby", "_ariaLabelledby", "nativeInputProps", "handleMouseDown", "event", "target", "input", "cursorPosition", "field", "mergeStyles", "classNames", "composeRefs", "usePointerCapture", "ua", "isSafari", "isFirefox", "TextFieldSlot", "props", "scrub", "scrubValue", "scrubStep", "scrubSensitivity", "scrubMin", "scrubMax", "scrubShiftMultiplier", "scrubAltMultiplier", "onScrub", "restProps", "side", "onPointerDown", "onPointerMove", "onPointerUp", "onLostPointerCapture", "slotProps", "textFieldSlotPropDefs", "generatedId", "slotRef", "holdsControl", "setHoldsControl", "useLayoutEffect", "next", "isScrubbing", "setIsScrubbing", "cursorStart", "setCursorStart", "cursorRef", "virtualY", "lockedByMe", "accumulatedMovement", "currentValue", "virtualX", "pointerIdRef", "lastXRef", "scrubConfigRef", "handlePointerDown", "slot", "handlePointerLockChange", "isLocked", "processScrubMovement", "movementX", "movementY", "shiftKey", "altKey", "config", "viewportWidth", "viewportHeight", "newY", "cursor", "stepsFromMovement", "multiplier", "wholeSteps", "delta", "clampedDelta", "newValue", "clampedValue", "endScrubbing", "handlePointerMove", "handlePointerUp", "handleLostPointerCapture", "handleMouseMove", "handleMouseUp", "virtualCursor", "composeEventHandlers"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as P,b as l,c as T}from"./chunk-BQC2P3SN.js";import{a as f,b as x,c,d as y}from"./chunk-UJ7JERJ5.js";import{c as n}from"./chunk-HBWBPBSA.js";import{a}from"./chunk-CLJ6SEGP.js";import{c as i}from"./chunk-OKQAVYW4.js";import*as e from"react";import{Slot as C}from"radix-ui";var R=["span","div","label","p"],h=["1","2","3","4","5","6","7","8","9"],u={as:{type:"enum",values:R,default:"span"},...a,size:{type:"enum",className:"kui-r-size",values:h,responsive:!0},...T,...y,...l,...P,...c,...x,...n,...f};var b=e.memo(e.forwardRef((d,o)=>{let{children:t,className:p,asChild:D,as:v="span",color:r,...s}=i(d,u),m=p?`kui-Text ${p}`:"kui-Text";return D?e.createElement(C.Root,{"data-accent-color":r,...s,ref:o,className:m},t):e.createElement(v,{"data-accent-color":r,...s,ref:o,className:m},t)}));b.displayName="Text";export{b as a};
3
- //# sourceMappingURL=chunk-OTCVSJT7.js.map
2
+ import{a as P,b as l,c as T}from"./chunk-BQC2P3SN.js";import{a as f,b as x,c,d as y}from"./chunk-UJ7JERJ5.js";import{c as i}from"./chunk-OKQAVYW4.js";import{c as n}from"./chunk-HBWBPBSA.js";import{a}from"./chunk-CLJ6SEGP.js";import*as e from"react";import{Slot as C}from"radix-ui";var R=["span","div","label","p"],h=["1","2","3","4","5","6","7","8","9"],u={as:{type:"enum",values:R,default:"span"},...a,size:{type:"enum",className:"kui-r-size",values:h,responsive:!0},...T,...y,...l,...P,...c,...x,...n,...f};var b=e.memo(e.forwardRef((d,o)=>{let{children:t,className:p,asChild:D,as:v="span",color:r,...s}=i(d,u),m=p?`kui-Text ${p}`:"kui-Text";return D?e.createElement(C.Root,{"data-accent-color":r,...s,ref:o,className:m},t):e.createElement(v,{"data-accent-color":r,...s,ref:o,className:m},t)}));b.displayName="Text";export{b as a};
3
+ //# sourceMappingURL=chunk-4MNRLB57.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as d}from"./chunk-ULCHGKI3.js";import{a as R}from"./chunk-OTCVSJT7.js";import{a as u,b as f}from"./chunk-5ON3XLRD.js";import*as e from"react";import z from"classnames";var v=e.createContext(void 0),C={values:["1","2","3","4"]},N=e.forwardRef(({kind:r,size:o="2",color:t="gray",className:c,children:a,trailing:s,leading:i,...l},n)=>e.createElement("div",{role:"status","aria-live":"polite",...l,ref:n,className:z("kui-NoticeRoot",`kui-r-size-${o}`,c),"data-kind":r,"data-accent-color":t},i?e.createElement("span",{className:"kui-NoticeIcon","aria-hidden":!0},i):null,e.createElement(R,{as:"div",size:o,className:"kui-NoticeText"},a),s));N.displayName="Strip";var g=e.forwardRef(({icon:r,action:o,onDismiss:t,dismissLabel:c="Dismiss",size:a,...s},i)=>{let l=e.useContext(v),n=f(a??l,C),p=o||t?e.createElement("span",{className:"kui-NoticeActions"},o?e.createElement(u.Provider,{value:n},o):null,t?e.createElement(d,{iconOnly:!0,size:n,variant:"ghost",color:"gray","aria-label":c,className:"kui-NoticeDismiss",onClick:t},e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0},e.createElement("path",{d:"M4 4l7 7M11 4l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}))):null):null;return e.createElement(N,{...s,size:n,ref:i,kind:"notice",leading:r,trailing:p})});g.displayName="Notice";var k=e.forwardRef(({confirmLabel:r,cancelLabel:o="Not now",onConfirm:t,onCancel:c,busy:a=!1,size:s,color:i="gray",...l},n)=>{let p=e.useContext(v),m=f(s??p,C);return e.createElement(N,{...l,size:m,color:i,ref:n,kind:"confirmation",trailing:e.createElement("span",{className:"kui-NoticeActions"},e.createElement(d,{size:m,variant:"ghost",color:"gray",disabled:a,onClick:c},o),e.createElement(d,{size:m,variant:"solid",color:i,loading:a,onClick:t},r))})});k.displayName="Confirmation";export{v as a,g as b,k as c};
3
- //# sourceMappingURL=chunk-E6BDD3PN.js.map
2
+ import{a as d}from"./chunk-CGFLZ3DC.js";import{a as R}from"./chunk-4MNRLB57.js";import{a as u,b as f}from"./chunk-5ON3XLRD.js";import*as e from"react";import z from"classnames";var v=e.createContext(void 0),C={values:["1","2","3","4"]},N=e.forwardRef(({kind:r,size:o="2",color:t="gray",className:c,children:a,trailing:s,leading:i,...l},n)=>e.createElement("div",{role:"status","aria-live":"polite",...l,ref:n,className:z("kui-NoticeRoot",`kui-r-size-${o}`,c),"data-kind":r,"data-accent-color":t},i?e.createElement("span",{className:"kui-NoticeIcon","aria-hidden":!0},i):null,e.createElement(R,{as:"div",size:o,className:"kui-NoticeText"},a),s));N.displayName="Strip";var g=e.forwardRef(({icon:r,action:o,onDismiss:t,dismissLabel:c="Dismiss",size:a,...s},i)=>{let l=e.useContext(v),n=f(a??l,C),p=o||t?e.createElement("span",{className:"kui-NoticeActions"},o?e.createElement(u.Provider,{value:n},o):null,t?e.createElement(d,{iconOnly:!0,size:n,variant:"ghost",color:"gray","aria-label":c,className:"kui-NoticeDismiss",onClick:t},e.createElement("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none","aria-hidden":!0},e.createElement("path",{d:"M4 4l7 7M11 4l-7 7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}))):null):null;return e.createElement(N,{...s,size:n,ref:i,kind:"notice",leading:r,trailing:p})});g.displayName="Notice";var k=e.forwardRef(({confirmLabel:r,cancelLabel:o="Not now",onConfirm:t,onCancel:c,busy:a=!1,size:s,color:i="gray",...l},n)=>{let p=e.useContext(v),m=f(s??p,C);return e.createElement(N,{...l,size:m,color:i,ref:n,kind:"confirmation",trailing:e.createElement("span",{className:"kui-NoticeActions"},e.createElement(d,{size:m,variant:"ghost",color:"gray",disabled:a,onClick:c},o),e.createElement(d,{size:m,variant:"solid",color:i,loading:a,onClick:t},r))})});k.displayName="Confirmation";export{v as a,g as b,k as c};
3
+ //# sourceMappingURL=chunk-6C6EK2B5.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{c as r}from"./chunk-HBWBPBSA.js";import{c as p}from"./chunk-5ON3XLRD.js";import{c as t}from"./chunk-OKQAVYW4.js";import*as e from"react";import R from"classnames";import{composeEventHandlers as P}from"radix-ui/internal";var c=["1","2","3","4"],o={size:{type:"enum",className:"kui-r-size",values:c,default:"2",responsive:!0},...r};var y=e.forwardRef((s,a)=>{let i=p(s,o.size),{className:n,color:m,onChange:f,onValueChange:u,...d}=t(i,o);return e.createElement("input",{type:"radio","data-accent-color":m,...d,onChange:P(f,l=>u?.(l.currentTarget.value)),ref:a,className:R("kui-reset","kui-BaseRadioRoot","kui-RadioRoot",n)})});y.displayName="Radio";export{y as a};
3
- //# sourceMappingURL=chunk-W4CPV4PO.js.map
2
+ import{c as t}from"./chunk-OKQAVYW4.js";import{c as r}from"./chunk-HBWBPBSA.js";import{c as p}from"./chunk-5ON3XLRD.js";import*as e from"react";import R from"classnames";import{composeEventHandlers as P}from"radix-ui/internal";var c=["1","2","3","4"],o={size:{type:"enum",className:"kui-r-size",values:c,default:"2",responsive:!0},...r};var y=e.forwardRef((s,a)=>{let i=p(s,o.size),{className:n,color:m,onChange:f,onValueChange:u,...d}=t(i,o);return e.createElement("input",{type:"radio","data-accent-color":m,...d,onChange:P(f,l=>u?.(l.currentTarget.value)),ref:a,className:R("kui-reset","kui-BaseRadioRoot","kui-RadioRoot",n)})});y.displayName="Radio";export{y as a};
3
+ //# sourceMappingURL=chunk-6JGF6PQH.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{b as P,d as $,f as A}from"./chunk-ZKQCSGL3.js";import*as t from"react";import L from"classnames";import{useVirtualizer as oe}from"@tanstack/react-virtual";import{useLayoutEffect as B}from"radix-ui/internal";function q(r,a){if(r.style?.height!==a.style?.height||r.style?.transform!==a.style?.transform)return!1;let c=Object.keys(r);return c.length!==Object.keys(a).length?!1:c.every(s=>s==="style"||Object.is(r[s],a[s]))}var ce=t.memo(function({label:a,isHighlighted:c,id:s,style:f,tabIndex:h,"data-highlighted":o,"data-index":R,"aria-setsize":I,"aria-posinset":y,onMouseEnter:E,onMouseLeave:H,onClick:d,onKeyDown:T}){return t.createElement("div",{id:s,role:"menuitem",className:L("kui-reset","kui-BaseMenuItem","kui-VirtualMenuItem"),style:f,tabIndex:h,"data-highlighted":o,"data-index":R,"aria-setsize":I,"aria-posinset":y,onMouseEnter:E,onMouseLeave:H,onClick:d,onKeyDown:T},a)},q);function le(r,a,c){let[s,f]=t.useState(void 0);return B(()=>{let h=r.current;if(!a||!h)return;let o=document.createElement("div");o.className="kui-reset kui-BaseMenuItem kui-VirtualMenuItem",o.setAttribute("aria-hidden","true"),o.style.visibility="hidden",o.textContent="\xA0",h.appendChild(o);let R=o.getBoundingClientRect().height;o.remove(),f(R>0?R:void 0)},[r,a,c]),a?s:void 0}function de({items:r,itemLabel:a,renderItem:c,size:s,estimatedItemSize:f,overscan:h=5,onSelect:o,className:R,style:I,onKeyDown:y,onFocus:E,...H},d){let T=t.useId(),x=t.useRef(null),[S,m]=t.useState(-1),{isInsideMenu:l,size:C,itemHeight:U}=$(),D=A(),Y=t.useCallback(e=>{x.current=e,typeof d=="function"?d(e):d&&(d.current=e)},[d]),G=le(x,l&&s==null&&f==null,C),p=f??(s?P(s):G??U??P(C??"2"));if(!a&&!c)throw new Error("VirtualMenu requires either itemLabel or renderItem prop");let J=t.useMemo(()=>a?typeof a=="function"?a:e=>e[a]:null,[a]),v=t.useMemo(()=>r.length===0||S<0?-1:Math.min(S,r.length-1),[S,r.length]),Q=t.useMemo(()=>typeof p=="function"?p:()=>p,[p]),M=oe({count:r.length,getScrollElement:()=>x.current,estimateSize:Q,overscan:h}),X=M.getVirtualItems();B(()=>{M.measure()},[M,p]),t.useEffect(()=>{let e=x.current;if(!l||!e)return;let n=e.closest("[data-radix-menu-content]");if(!n)return;let i=u=>{u.target===n&&e.focus({preventScroll:!0})};return n.addEventListener("focusin",i),document.activeElement===n&&e.focus({preventScroll:!0}),()=>n.removeEventListener("focusin",i)},[l]);let z=t.useRef(y),w=t.useRef(E);z.current=y,w.current=E;let k=t.useRef(r),N=t.useRef(o),K=t.useRef(D);k.current=r,N.current=o,K.current=D;let g=t.useCallback(e=>{let n=k.current;e<0||e>=n.length||(N.current?.(n[e],e),K.current?.())},[]),b=t.useRef(M.scrollToIndex);b.current=M.scrollToIndex;let V=t.useRef(v);V.current=v;let Z=t.useCallback(e=>{let n=e.currentTarget.dataset.index;n!=null&&m(Number(n))},[]),ee=t.useCallback(e=>{let n=e.currentTarget.dataset.index;n!=null&&g(Number(n))},[g]),te=t.useCallback(e=>{let n=Number(e.currentTarget.dataset.index);m(i=>i===n?-1:i)},[]),ne=t.useCallback(e=>{if(e.key==="Enter"||e.key===" "){e.preventDefault(),e.stopPropagation();let n=e.currentTarget.dataset.index;n!=null&&g(Number(n))}},[g]),re=t.useCallback(e=>{if(z.current?.(e),e.defaultPrevented)return;let n=k.current,i=V.current;switch(e.key){case"ArrowDown":{e.preventDefault();let u=i<n.length-1?i+1:0;m(u),b.current(u,{align:"auto"});break}case"ArrowUp":{e.preventDefault();let u=i>0?i-1:n.length-1;m(u),b.current(u,{align:"auto"});break}case"Home":{e.preventDefault(),m(0),b.current(0,{align:"start"});break}case"End":{e.preventDefault();let u=n.length-1;m(u),b.current(u,{align:"end"});break}case"Enter":case" ":{e.preventDefault(),g(i);break}case"Tab":{l&&e.preventDefault();break}case"Escape":{l||e.currentTarget.blur();break}default:l&&e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.stopPropagation()}},[g,l]),ae=t.useCallback(e=>{w.current?.(e),e.target===e.currentTarget&&V.current<0&&k.current.length>0&&m(0)},[]),O=t.useCallback(e=>`${T}-item-${e}`,[T]),ie=t.useMemo(()=>({overflow:"auto",position:"relative",...I}),[I]),j=M.getTotalSize(),se=t.useMemo(()=>({height:`${j}px`,width:"100%",position:"relative"}),[j]);return t.createElement("div",{...H,ref:Y,role:l?"group":"menu","aria-activedescendant":v>=0?O(v):void 0,tabIndex:0,onKeyDown:re,onFocus:ae,className:L("kui-VirtualMenuRoot",!l&&`kui-r-size-${s??"2"}`,R),style:ie},t.createElement("div",{className:"kui-VirtualMenuViewport",style:se},X.map(e=>{let n=r[e.index],i=e.index,u=v===i,ue={height:e.size,transform:`translateY(${e.start}px)`},F={id:O(i),isHighlighted:u,style:ue,tabIndex:-1,"data-highlighted":u?!0:void 0,"data-index":i,"aria-setsize":r.length,"aria-posinset":i+1,onMouseEnter:Z,onMouseLeave:te,onClick:ee,onKeyDown:ne};return c?t.createElement(c,{key:e.key,item:n,index:i,...F}):t.createElement(ce,{key:e.key,label:J(n),...F})})))}var W=t.forwardRef(de);W.displayName="VirtualMenu";var _=t.forwardRef(({className:r,children:a,...c},s)=>t.createElement("div",{ref:s,role:"menuitem",className:L("kui-reset","kui-BaseMenuItem","kui-VirtualMenuItem",r),...c},a));_.displayName="VirtualMenu.Item";var me=t.memo(_,q),ge=Object.assign(W,{Item:me});export{ge as a};
3
- //# sourceMappingURL=chunk-NYBE3U3V.js.map
2
+ import{b as P,d as $,f as A}from"./chunk-ISCZ57VL.js";import*as t from"react";import L from"classnames";import{useVirtualizer as oe}from"@tanstack/react-virtual";import{useLayoutEffect as B}from"radix-ui/internal";function q(r,a){if(r.style?.height!==a.style?.height||r.style?.transform!==a.style?.transform)return!1;let c=Object.keys(r);return c.length!==Object.keys(a).length?!1:c.every(s=>s==="style"||Object.is(r[s],a[s]))}var ce=t.memo(function({label:a,isHighlighted:c,id:s,style:f,tabIndex:h,"data-highlighted":o,"data-index":R,"aria-setsize":I,"aria-posinset":y,onMouseEnter:E,onMouseLeave:H,onClick:d,onKeyDown:T}){return t.createElement("div",{id:s,role:"menuitem",className:L("kui-reset","kui-BaseMenuItem","kui-VirtualMenuItem"),style:f,tabIndex:h,"data-highlighted":o,"data-index":R,"aria-setsize":I,"aria-posinset":y,onMouseEnter:E,onMouseLeave:H,onClick:d,onKeyDown:T},a)},q);function le(r,a,c){let[s,f]=t.useState(void 0);return B(()=>{let h=r.current;if(!a||!h)return;let o=document.createElement("div");o.className="kui-reset kui-BaseMenuItem kui-VirtualMenuItem",o.setAttribute("aria-hidden","true"),o.style.visibility="hidden",o.textContent="\xA0",h.appendChild(o);let R=o.getBoundingClientRect().height;o.remove(),f(R>0?R:void 0)},[r,a,c]),a?s:void 0}function de({items:r,itemLabel:a,renderItem:c,size:s,estimatedItemSize:f,overscan:h=5,onSelect:o,className:R,style:I,onKeyDown:y,onFocus:E,...H},d){let T=t.useId(),x=t.useRef(null),[S,m]=t.useState(-1),{isInsideMenu:l,size:C,itemHeight:U}=$(),D=A(),Y=t.useCallback(e=>{x.current=e,typeof d=="function"?d(e):d&&(d.current=e)},[d]),G=le(x,l&&s==null&&f==null,C),p=f??(s?P(s):G??U??P(C??"2"));if(!a&&!c)throw new Error("VirtualMenu requires either itemLabel or renderItem prop");let J=t.useMemo(()=>a?typeof a=="function"?a:e=>e[a]:null,[a]),v=t.useMemo(()=>r.length===0||S<0?-1:Math.min(S,r.length-1),[S,r.length]),Q=t.useMemo(()=>typeof p=="function"?p:()=>p,[p]),M=oe({count:r.length,getScrollElement:()=>x.current,estimateSize:Q,overscan:h}),X=M.getVirtualItems();B(()=>{M.measure()},[M,p]),t.useEffect(()=>{let e=x.current;if(!l||!e)return;let n=e.closest("[data-radix-menu-content]");if(!n)return;let i=u=>{u.target===n&&e.focus({preventScroll:!0})};return n.addEventListener("focusin",i),document.activeElement===n&&e.focus({preventScroll:!0}),()=>n.removeEventListener("focusin",i)},[l]);let z=t.useRef(y),w=t.useRef(E);z.current=y,w.current=E;let k=t.useRef(r),N=t.useRef(o),K=t.useRef(D);k.current=r,N.current=o,K.current=D;let g=t.useCallback(e=>{let n=k.current;e<0||e>=n.length||(N.current?.(n[e],e),K.current?.())},[]),b=t.useRef(M.scrollToIndex);b.current=M.scrollToIndex;let V=t.useRef(v);V.current=v;let Z=t.useCallback(e=>{let n=e.currentTarget.dataset.index;n!=null&&m(Number(n))},[]),ee=t.useCallback(e=>{let n=e.currentTarget.dataset.index;n!=null&&g(Number(n))},[g]),te=t.useCallback(e=>{let n=Number(e.currentTarget.dataset.index);m(i=>i===n?-1:i)},[]),ne=t.useCallback(e=>{if(e.key==="Enter"||e.key===" "){e.preventDefault(),e.stopPropagation();let n=e.currentTarget.dataset.index;n!=null&&g(Number(n))}},[g]),re=t.useCallback(e=>{if(z.current?.(e),e.defaultPrevented)return;let n=k.current,i=V.current;switch(e.key){case"ArrowDown":{e.preventDefault();let u=i<n.length-1?i+1:0;m(u),b.current(u,{align:"auto"});break}case"ArrowUp":{e.preventDefault();let u=i>0?i-1:n.length-1;m(u),b.current(u,{align:"auto"});break}case"Home":{e.preventDefault(),m(0),b.current(0,{align:"start"});break}case"End":{e.preventDefault();let u=n.length-1;m(u),b.current(u,{align:"end"});break}case"Enter":case" ":{e.preventDefault(),g(i);break}case"Tab":{l&&e.preventDefault();break}case"Escape":{l||e.currentTarget.blur();break}default:l&&e.key.length===1&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.stopPropagation()}},[g,l]),ae=t.useCallback(e=>{w.current?.(e),e.target===e.currentTarget&&V.current<0&&k.current.length>0&&m(0)},[]),O=t.useCallback(e=>`${T}-item-${e}`,[T]),ie=t.useMemo(()=>({overflow:"auto",position:"relative",...I}),[I]),j=M.getTotalSize(),se=t.useMemo(()=>({height:`${j}px`,width:"100%",position:"relative"}),[j]);return t.createElement("div",{...H,ref:Y,role:l?"group":"menu","aria-activedescendant":v>=0?O(v):void 0,tabIndex:0,onKeyDown:re,onFocus:ae,className:L("kui-VirtualMenuRoot",!l&&`kui-r-size-${s??"2"}`,R),style:ie},t.createElement("div",{className:"kui-VirtualMenuViewport",style:se},X.map(e=>{let n=r[e.index],i=e.index,u=v===i,ue={height:e.size,transform:`translateY(${e.start}px)`},F={id:O(i),isHighlighted:u,style:ue,tabIndex:-1,"data-highlighted":u?!0:void 0,"data-index":i,"aria-setsize":r.length,"aria-posinset":i+1,onMouseEnter:Z,onMouseLeave:te,onClick:ee,onKeyDown:ne};return c?t.createElement(c,{key:e.key,item:n,index:i,...F}):t.createElement(ce,{key:e.key,label:J(n),...F})})))}var W=t.forwardRef(de);W.displayName="VirtualMenu";var _=t.forwardRef(({className:r,children:a,...c},s)=>t.createElement("div",{ref:s,role:"menuitem",className:L("kui-reset","kui-BaseMenuItem","kui-VirtualMenuItem",r),...c},a));_.displayName="VirtualMenu.Item";var me=t.memo(_,q),ge=Object.assign(W,{Item:me});export{ge as a};
3
+ //# sourceMappingURL=chunk-7QBNXNEN.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{e as x}from"./chunk-3ZWHKNHI.js";import{a as V,b as k,c as I}from"./chunk-LTUW36HM.js";import{a as N,b as w,c as B}from"./chunk-QKCNGEX4.js";import{b as A,d as H,g as U}from"./chunk-XUCR7L4G.js";import{a as y}from"./chunk-G66WDIIV.js";import{o as M}from"./chunk-GHWEXMF6.js";import{a as T,c as b}from"./chunk-3QWGSRYC.js";import{a as E}from"./chunk-WEBNIUEX.js";import*as e from"react";import pe from"classnames";import{useComposedRefs as ue}from"radix-ui/internal";var D=t=>t==="collapsed"?"closed":"open",Se=t=>t==="closed"?"collapsed":"expanded";function L(t){if(t===void 0)return;if(typeof t=="string")return D(t);let n={};for(let[r,i]of Object.entries(t))i!==void 0&&(n[r]=D(i));return n}var ce={controlled:"state",default:"defaultState"},be={initial:"overlay",sm:"fixed"},O=e.forwardRef((t,n)=>{let{className:r,presentation:i=be,expandedSize:o=288,minSize:s=200,maxSize:d=400,resizable:m=!1,collapsible:_=!0,onExpand:$,onCollapse:W,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,children:K,style:J,state:Q,defaultState:X,onStateChange:Y,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae=50,inset:h,id:te,...c}=t,{table:g,attributes:ne}=I(i,"fixed"),a=V({name:"sidebar",label:"Sidebar",propNames:ce,id:te,controlled:L(Q),defaultValue:L(X),presentationTable:g,builtIn:A,onChange:(de,le)=>Y?.(Se(de),{reason:le}),onExpand:$,onCollapse:W,size:o});M("sidebar",h),e.useEffect(()=>{(l!==void 0||p!==void 0||u!==void 0||S!==void 0)&&void 0},[l,p,u,S]);let z=e.useRef(null),ie=ue(n,a.setElement,z),oe=w({name:"sidebar",elementId:a.id,elementRef:z,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:H,expandedSize:o,minSize:s,maxSize:d,resizable:m,collapsible:_,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,overlaying:a.overlaying,overlayingNow:()=>g[y()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:v,content:re}=B(K,b),se=m&&a.value!=="closed"&&!a.overlaying?e.createElement(E.Provider,{value:oe},v.length>0?v:e.createElement(T,null)):null,R=a.peeking?`var(--sidebar-size, ${o}px)`:void 0,C=N(f,P,s,d);return e.createElement("div",{...U(c),role:c.role??"navigation",id:a.id,ref:ie,className:pe("kui-ShellPane","kui-ShellSidebar",r),...k(a,ne),"data-inset":h||void 0,tabIndex:a.overlaying?-1:c.tabIndex,style:{...J,"--sidebar-expanded-size":`${o}px`,...C?{"--sidebar-size":C}:{},"--sidebar-min-size":`${s}px`,"--sidebar-max-size":`${d}px`,...R?{"--peek-sidebar-width":R}:{}}},e.createElement("div",{className:"kui-ShellSidebarContent"},e.createElement(x,null,re)),se)});O.displayName="Shell.Sidebar";O.Handle=b;export{O as a};
3
- //# sourceMappingURL=chunk-C2WKAIZM.js.map
2
+ import{e as x}from"./chunk-OLTRWCQK.js";import{a as T,c as b}from"./chunk-3QWGSRYC.js";import{a as V,b as k,c as I}from"./chunk-LTUW36HM.js";import{a as N,b as w,c as B}from"./chunk-QKCNGEX4.js";import{a as E}from"./chunk-WEBNIUEX.js";import{b as A,d as H,g as U}from"./chunk-XUCR7L4G.js";import{a as y}from"./chunk-G66WDIIV.js";import{o as M}from"./chunk-GHWEXMF6.js";import*as e from"react";import pe from"classnames";import{useComposedRefs as ue}from"radix-ui/internal";var D=t=>t==="collapsed"?"closed":"open",Se=t=>t==="closed"?"collapsed":"expanded";function L(t){if(t===void 0)return;if(typeof t=="string")return D(t);let n={};for(let[r,i]of Object.entries(t))i!==void 0&&(n[r]=D(i));return n}var ce={controlled:"state",default:"defaultState"},be={initial:"overlay",sm:"fixed"},O=e.forwardRef((t,n)=>{let{className:r,presentation:i=be,expandedSize:o=288,minSize:s=200,maxSize:d=400,resizable:m=!1,collapsible:_=!0,onExpand:$,onCollapse:W,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,children:K,style:J,state:Q,defaultState:X,onStateChange:Y,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae=50,inset:h,id:te,...c}=t,{table:g,attributes:ne}=I(i,"fixed"),a=V({name:"sidebar",label:"Sidebar",propNames:ce,id:te,controlled:L(Q),defaultValue:L(X),presentationTable:g,builtIn:A,onChange:(de,le)=>Y?.(Se(de),{reason:le}),onExpand:$,onCollapse:W,size:o});M("sidebar",h),e.useEffect(()=>{(l!==void 0||p!==void 0||u!==void 0||S!==void 0)&&void 0},[l,p,u,S]);let z=e.useRef(null),ie=ue(n,a.setElement,z),oe=w({name:"sidebar",elementId:a.id,elementRef:z,cssVarName:"--sidebar-size",orientation:"vertical",edge:"end",growth:H,expandedSize:o,minSize:s,maxSize:d,resizable:m,collapsible:_,size:f,defaultSize:P,onSizeChange:Z,sizeUpdate:ee,sizeUpdateMs:ae,onResize:j,onResizeStart:q,onResizeEnd:F,snapPoints:l,snapTolerance:G,collapseThreshold:p,paneId:u,persistence:S,overlaying:a.overlaying,overlayingNow:()=>g[y()]==="overlay",requestCollapse:()=>a.setValue("closed","toggle"),requestToggle:()=>a.toggle("toggle")}),{handles:v,content:re}=B(K,b),se=m&&a.value!=="closed"&&!a.overlaying?e.createElement(E.Provider,{value:oe},v.length>0?v:e.createElement(T,null)):null,R=a.peeking?`var(--sidebar-size, ${o}px)`:void 0,C=N(f,P,s,d);return e.createElement("div",{...U(c),role:c.role??"navigation",id:a.id,ref:ie,className:pe("kui-ShellPane","kui-ShellSidebar",r),...k(a,ne),"data-inset":h||void 0,tabIndex:a.overlaying?-1:c.tabIndex,style:{...J,"--sidebar-expanded-size":`${o}px`,...C?{"--sidebar-size":C}:{},"--sidebar-min-size":`${s}px`,"--sidebar-max-size":`${d}px`,...R?{"--peek-sidebar-width":R}:{}}},e.createElement("div",{className:"kui-ShellSidebarContent"},e.createElement(x,null,re)),se)});O.displayName="Shell.Sidebar";O.Handle=b;export{O as a};
3
+ //# sourceMappingURL=chunk-ACMANOVD.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
2
  import*as e from"react";var n=e.createContext(void 0);export{n as a};
3
- //# sourceMappingURL=chunk-KQIZMPSW.js.map
3
+ //# sourceMappingURL=chunk-ANQLWGFN.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/_internal/pane-band-context.ts"],
4
- "sourcesContent": ["import * as React from 'react';\n\ntype BandSize = '1' | '2' | '3' | '4';\n\n/**\n * Set by `Shell.PaneHeader` and `Shell.PaneFooter` to their band size, and by `Shell.Scroll` to\n * null (a scrolling list has no band). A `Theme asChild`, the root of every portalled surface\n * (Popover, Dialog, Sheet, menus), sets null too, so a Toolbar in one does not take the Shell's\n * step. `Shell.Root` clears it again. Unset (`undefined`) everywhere else.\n *\n * Its own module so Theme can reset it without bringing the Shell.\n */\nconst PaneBandSizeContext = React.createContext<BandSize | null | undefined>(undefined);\n\nexport { PaneBandSizeContext };\nexport type { BandSize };\n"],
5
- "mappings": ";AAAA,UAAYA,MAAW,QAYvB,IAAMC,EAA4B,gBAA2C,MAAS",
4
+ "sourcesContent": ["import * as React from 'react';\n\ntype BandSize = '1' | '2' | '3' | '4';\n\n/**\n * Set by `Shell.PaneHeader` and `Shell.PaneFooter` to their band size, and by `Shell.Scroll` to\n * null (a scrolling list has no band). `PortalTheme`, the root of every portalled surface\n * (Popover, Dialog, Sheet, menus), sets null too, so a Toolbar in one does not take the Shell's\n * step; a `Theme asChild` an app nests in a pane leaves it alone. `Shell.Root` clears it again.\n * Unset (`undefined`) everywhere else.\n *\n * Its own module so PortalTheme can reset it without bringing the Shell.\n */\nconst PaneBandSizeContext = React.createContext<BandSize | null | undefined>(undefined);\n\nexport { PaneBandSizeContext };\nexport type { BandSize };\n"],
5
+ "mappings": ";AAAA,UAAYA,MAAW,QAavB,IAAMC,EAA4B,gBAA2C,MAAS",
6
6
  "names": ["React", "PaneBandSizeContext"]
7
7
  }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as o}from"./chunk-KVVRFWGQ.js";import{c as i}from"./chunk-OKQAVYW4.js";import*as e from"react";import l from"classnames";var t={loading:{type:"boolean",default:!0}};var u=e.forwardRef((f,d)=>{let{className:m,children:s,loading:n,...p}=i(f,t);if(s===void 0&&!n)return null;let a=p["aria-label"]!==void 0||p["aria-labelledby"]!==void 0,r=e.createElement("span",{role:a?"status":void 0,"aria-hidden":a?void 0:!0,...p,ref:d,className:l("kui-Spinner",m)},e.createElement("span",{className:"kui-SpinnerWheel"},e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"}),e.createElement("span",{className:"kui-SpinnerLeaf"})),typeof p["aria-label"]=="string"?e.createElement("span",{className:"kui-sr-only"},p["aria-label"]):null);return s===void 0?r:e.createElement("span",{className:"kui-SpinnerHost","data-loading":n||void 0,"aria-busy":n||void 0},e.createElement("span",{"aria-hidden":n||void 0,className:l("kui-SpinnerChildren",n&&"kui-SpinnerHiddenChildren")},s),n?e.createElement(o,{asChild:!0,align:"center",justify:"center",position:"absolute",inset:"0"},e.createElement("span",null,r)):null)});u.displayName="Spinner";export{u as a};
3
+ //# sourceMappingURL=chunk-BUXK5VGR.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/spinner.tsx", "../../src/components/spinner.props.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\n\nimport { Flex } from './flex.js';\nimport { spinnerPropDefs } from './spinner.props.js';\nimport { extractProps } from '../helpers/extract-props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype SpinnerElement = React.ElementRef<'span'>;\ntype SpinnerOwnProps = GetPropDefTypes<typeof spinnerPropDefs>;\ninterface SpinnerProps\n extends ComponentPropsWithout<'span', RemovedProps>,\n SpinnerOwnProps {}\nconst Spinner = React.forwardRef<SpinnerElement, SpinnerProps>((props, forwardedRef) => {\n const { className, children, loading, ...spinnerProps } = extractProps(\n props,\n spinnerPropDefs\n );\n\n // Without children a Spinner is only the wheel, shown while loading.\n if (children === undefined && !loading) return null;\n\n // Decorative unless named: a named spinner is a status message, an unnamed one is hidden.\n const named =\n spinnerProps['aria-label'] !== undefined || spinnerProps['aria-labelledby'] !== undefined;\n\n const spinner = (\n <span\n role={named ? 'status' : undefined}\n aria-hidden={named ? undefined : true}\n {...spinnerProps}\n ref={forwardedRef} className={classNames('kui-Spinner', className)}>\n <span className=\"kui-SpinnerWheel\">\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n <span className=\"kui-SpinnerLeaf\" />\n </span>\n {/* A live region reads its text, not its aria-label, so the name is also its content. */}\n {typeof spinnerProps['aria-label'] === 'string' ? (\n <span className=\"kui-sr-only\">{spinnerProps['aria-label']}</span>\n ) : null}\n </span>\n );\n\n if (children === undefined) return spinner;\n\n // With children, one tree whether loading or not, so starting or stopping never remounts them\n // (their state, focus and refs survive). At rest the host is `display: contents`; while loading\n // it centres the wheel over the children, which keep their space but are hidden.\n return (\n <span className=\"kui-SpinnerHost\" data-loading={loading || undefined} aria-busy={loading || undefined}>\n {/* `display: contents` removes the content from the accessibility tree in some browsers, so\n while loading it is removed with `aria-hidden` too. */}\n <span aria-hidden={loading || undefined} className={classNames('kui-SpinnerChildren', loading && 'kui-SpinnerHiddenChildren')}>\n {children}\n </span>\n {loading ? (\n <Flex asChild align=\"center\" justify=\"center\" position=\"absolute\" inset=\"0\">\n <span>{spinner}</span>\n </Flex>\n ) : null}\n </span>\n );\n});\nSpinner.displayName = 'Spinner';\n\nexport { Spinner };\nexport type { SpinnerProps };\n", "import type { PropDef } from '../props/prop-def.js';\n\nconst spinnerPropDefs = {\n loading: { type: 'boolean', default: true },\n} satisfies {\n loading: PropDef<boolean>;\n};\n\nexport { spinnerPropDefs };\n"],
5
+ "mappings": ";gFAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aCCvB,IAAMC,EAAkB,CACtB,QAAS,CAAE,KAAM,UAAW,QAAS,EAAK,CAC5C,EDWA,IAAMC,EAAgB,aAAyC,CAACC,EAAOC,IAAiB,CACtF,GAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,QAAAC,EAAS,GAAGC,CAAa,EAAIC,EACxDN,EACAO,CACF,EAGA,GAAIJ,IAAa,QAAa,CAACC,EAAS,OAAO,KAG/C,IAAMI,EACJH,EAAa,YAAY,IAAM,QAAaA,EAAa,iBAAiB,IAAM,OAE5EI,EACJ,gBAAC,QACC,KAAMD,EAAQ,SAAW,OACzB,cAAaA,EAAQ,OAAY,GAChC,GAAGH,EACJ,IAAKJ,EAAc,UAAWS,EAAW,cAAeR,CAAS,GACjE,gBAAC,QAAK,UAAU,oBACd,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,EAClC,gBAAC,QAAK,UAAU,kBAAkB,CACpC,EAEC,OAAOG,EAAa,YAAY,GAAM,SACrC,gBAAC,QAAK,UAAU,eAAeA,EAAa,YAAY,CAAE,EACxD,IACN,EAGF,OAAIF,IAAa,OAAkBM,EAMjC,gBAAC,QAAK,UAAU,kBAAkB,eAAcL,GAAW,OAAW,YAAWA,GAAW,QAG1F,gBAAC,QAAK,cAAaA,GAAW,OAAW,UAAWM,EAAW,sBAAuBN,GAAW,2BAA2B,GACzHD,CACH,EACCC,EACC,gBAACO,EAAA,CAAK,QAAO,GAAC,MAAM,SAAS,QAAQ,SAAS,SAAS,WAAW,MAAM,KACtE,gBAAC,YAAMF,CAAQ,CACjB,EACE,IACN,CAEJ,CAAC,EACDV,EAAQ,YAAc",
6
+ "names": ["React", "classNames", "spinnerPropDefs", "Spinner", "props", "forwardedRef", "className", "children", "loading", "spinnerProps", "extractProps", "spinnerPropDefs", "named", "spinner", "classNames", "Flex"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a}from"./chunk-OTCVSJT7.js";import{a as s}from"./chunk-BQC2P3SN.js";import{b as n,c as i,d as m}from"./chunk-UJ7JERJ5.js";import{d as p}from"./chunk-HBWBPBSA.js";import{a as r}from"./chunk-CLJ6SEGP.js";import{c as t}from"./chunk-OKQAVYW4.js";import*as e from"react";import L from"classnames";var y=["1","2","3","4","5","6","7","8","9"],D=["auto","always","hover","none"],f={...r,size:{type:"enum",className:"kui-r-size",values:y,responsive:!0},...m,...s,...i,...n,underline:{type:"enum",className:"kui-underline",values:D,default:"auto"},...p};var h=e.forwardRef((l,c)=>{let{children:o,className:P,color:u,asChild:d,...k}=t(l,f);return e.createElement(a,{...k,"data-accent-color":u,ref:c,asChild:!0,className:L("kui-reset","kui-Link",P)},d?o:e.createElement("a",null,o))});h.displayName="Link";export{h as a};
3
- //# sourceMappingURL=chunk-7QP6JFPO.js.map
2
+ import{a}from"./chunk-4MNRLB57.js";import{a as s}from"./chunk-BQC2P3SN.js";import{b as n,c as i,d as m}from"./chunk-UJ7JERJ5.js";import{c as t}from"./chunk-OKQAVYW4.js";import{d as p}from"./chunk-HBWBPBSA.js";import{a as r}from"./chunk-CLJ6SEGP.js";import*as e from"react";import L from"classnames";var y=["1","2","3","4","5","6","7","8","9"],D=["auto","always","hover","none"],f={...r,size:{type:"enum",className:"kui-r-size",values:y,responsive:!0},...m,...s,...i,...n,underline:{type:"enum",className:"kui-underline",values:D,default:"auto"},...p};var h=e.forwardRef((l,c)=>{let{children:o,className:P,color:u,asChild:d,...k}=t(l,f);return e.createElement(a,{...k,"data-accent-color":u,ref:c,asChild:!0,className:L("kui-reset","kui-Link",P)},d?o:e.createElement("a",null,o))});h.displayName="Link";export{h as a};
3
+ //# sourceMappingURL=chunk-C67MM24U.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as c}from"./chunk-Y2DBXOLT.js";import{b as p}from"./chunk-K55IQP5H.js";import{a as u}from"./chunk-UG73IGRF.js";import*as t from"react";import O from"classnames";var C={loud:"solid",medium:"raised",quiet:"ghost"};function T(e){if(e["aria-label"]||e["aria-labelledby"])return;console.error("Button: an `iconOnly` button must have an accessible name. Pass `aria-label`, or `aria-labelledby` referencing a label element.")}var w=t.forwardRef(({className:e,style:a,tooltip:r,tooltipSide:d="top",tooltipAlign:m="center",tooltipDelayDuration:B,tooltipDisableHoverableContent:b,iconOnly:s=!1,emphasis:n,variant:i,...o},y)=>{let{tooltipId:f,hasTooltip:P,accessibilityProps:R}=c(r);s&&(T(o),o.fullWidth=!1);let h=n!==void 0?C[n]:i,g=o["aria-describedby"],v=R["aria-describedby"],E=[g,v].filter(Boolean).join(" ")||void 0,l=t.createElement(u,{...o,variant:h,"aria-describedby":E,ref:y,"data-icon-only":s||void 0,className:O("kui-Button",e),style:a});return P?t.createElement(p,{content:r,side:d,align:m,delayDuration:B,disableHoverableContent:b,id:f},l):l});w.displayName="Button";export{w as a};
3
- //# sourceMappingURL=chunk-ULCHGKI3.js.map
2
+ import{a as c}from"./chunk-Y2DBXOLT.js";import{b as p}from"./chunk-MPCCYR7L.js";import{a as u}from"./chunk-27XQ5PN5.js";import*as t from"react";import O from"classnames";var C={loud:"solid",medium:"raised",quiet:"ghost"};function T(e){if(e["aria-label"]||e["aria-labelledby"])return;console.error("Button: an `iconOnly` button must have an accessible name. Pass `aria-label`, or `aria-labelledby` referencing a label element.")}var w=t.forwardRef(({className:e,style:a,tooltip:r,tooltipSide:d="top",tooltipAlign:m="center",tooltipDelayDuration:B,tooltipDisableHoverableContent:b,iconOnly:s=!1,emphasis:n,variant:i,...o},y)=>{let{tooltipId:f,hasTooltip:P,accessibilityProps:R}=c(r);s&&(T(o),o.fullWidth=!1);let h=n!==void 0?C[n]:i,g=o["aria-describedby"],v=R["aria-describedby"],E=[g,v].filter(Boolean).join(" ")||void 0,l=t.createElement(u,{...o,variant:h,"aria-describedby":E,ref:y,"data-icon-only":s||void 0,className:O("kui-Button",e),style:a});return P?t.createElement(p,{content:r,side:d,align:m,delayDuration:B,disableHoverableContent:b,id:f},l):l});w.displayName="Button";export{w as a};
3
+ //# sourceMappingURL=chunk-CGFLZ3DC.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{c as t}from"./chunk-HBWBPBSA.js";import{b as p}from"./chunk-XU74PNM2.js";import{b as a,c as i}from"./chunk-OKQAVYW4.js";import*as r from"react";import R from"classnames";import{Progress as n}from"radix-ui";var v=["surface","soft","outline"],m={variant:{type:"enum",className:"kui-variant",values:v,default:"surface"},...t,...p,duration:{type:"string"}};var D=r.forwardRef((f,P)=>{let{className:u,style:c,color:d,radius:g,duration:l,...e}=i(f,m),{value:o,max:y}=e,s=o!=null&&o>=0&&o<=(y??100);return r.createElement(n.Root,{"data-accent-color":d,"data-radius":g,ref:P,className:R("kui-ProgressRoot",u),style:a({"--progress-duration":s?void 0:l,"--progress-value":s?o:void 0,"--progress-max":e.max??void 0},c),...e,asChild:!1},r.createElement(n.Indicator,{className:"kui-ProgressIndicator"}))});D.displayName="Progress";export{D as a};
3
- //# sourceMappingURL=chunk-LFAUMDU5.js.map
2
+ import{b as a,c as i}from"./chunk-OKQAVYW4.js";import{c as t}from"./chunk-HBWBPBSA.js";import{b as p}from"./chunk-XU74PNM2.js";import*as r from"react";import R from"classnames";import{Progress as n}from"radix-ui";var v=["surface","soft","outline"],m={variant:{type:"enum",className:"kui-variant",values:v,default:"surface"},...t,...p,duration:{type:"string"}};var D=r.forwardRef((f,P)=>{let{className:u,style:c,color:d,radius:g,duration:l,...e}=i(f,m),{value:o,max:y}=e,s=o!=null&&o>=0&&o<=(y??100);return r.createElement(n.Root,{"data-accent-color":d,"data-radius":g,ref:P,className:R("kui-ProgressRoot",u),style:a({"--progress-duration":s?void 0:l,"--progress-value":s?o:void 0,"--progress-max":e.max??void 0},c),...e,asChild:!1},r.createElement(n.Indicator,{className:"kui-ProgressIndicator"}))});D.displayName="Progress";export{D as a};
3
+ //# sourceMappingURL=chunk-D2C2A2ZK.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{c as o}from"./chunk-HBWBPBSA.js";import{c as s}from"./chunk-5ON3XLRD.js";import{c as r}from"./chunk-OKQAVYW4.js";import*as e from"react";import w from"classnames";import{Switch as i}from"radix-ui";var n=["1","2","3","4"],t={size:{type:"enum",className:"kui-r-size",values:n,default:"2",responsive:!0},...o};var l=e.forwardRef((p,c)=>{let m=s(p,t.size),{className:f,color:a,...h}=r(m,t);return e.createElement(i.Root,{"data-accent-color":a,...h,asChild:!1,ref:c,className:w("kui-reset","kui-SwitchRoot",f)},e.createElement(i.Thumb,{className:"kui-SwitchThumb"}))});l.displayName="Switch";export{l as a};
3
- //# sourceMappingURL=chunk-MS2ONKJJ.js.map
2
+ import{c as r}from"./chunk-OKQAVYW4.js";import{c as o}from"./chunk-HBWBPBSA.js";import{c as s}from"./chunk-5ON3XLRD.js";import*as e from"react";import w from"classnames";import{Switch as i}from"radix-ui";var n=["1","2","3","4"],t={size:{type:"enum",className:"kui-r-size",values:n,default:"2",responsive:!0},...o};var l=e.forwardRef((p,c)=>{let m=s(p,t.size),{className:f,color:a,...h}=r(m,t);return e.createElement(i.Root,{"data-accent-color":a,...h,asChild:!1,ref:c,className:w("kui-reset","kui-SwitchRoot",f)},e.createElement(i.Thumb,{className:"kui-SwitchThumb"}))});l.displayName="Switch";export{l as a};
3
+ //# sourceMappingURL=chunk-DSM5SUH3.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as P}from"./chunk-OTCVSJT7.js";import{c as G}from"./chunk-HBWBPBSA.js";import{b as l}from"./chunk-5ON3XLRD.js";import{a as n}from"./chunk-CLJ6SEGP.js";import{c as f}from"./chunk-OKQAVYW4.js";import{a as S}from"./chunk-VQPANPMI.js";var _={};S(_,{Item:()=>N,Root:()=>C});import*as o from"react";import c from"classnames";import{Context as v}from"radix-ui/internal";import{RadioGroup as d}from"radix-ui";var h=["1","2","3","4"],R={...n,size:{type:"enum",className:"kui-r-size",values:h,default:"2",responsive:!0},...G};var y="RadioGroup",[D]=v.createContextScope(y,[d.createRadioGroupScope]),I=d.createRadioGroupScope(),[E,x]=D(y),C=o.forwardRef(({color:a=R.color.default,size:e,...t},r)=>{let i=l(e,R.size),{__scopeRadioGroup:p,className:s,...m}=t,z=I(p);return o.createElement(E,{scope:p,color:a,size:i},o.createElement(d.Root,{...z,...m,ref:r,className:c("kui-RadioGroupRoot",s)}))});C.displayName="RadioGroup.Root";var N=o.forwardRef((a,e)=>{let{__scopeRadioGroup:t,children:r,className:i,style:p,...s}=a,{size:m}=x("RadioGroupItem",t);return r?o.createElement(P,{as:"label",size:m,className:c("kui-RadioGroupItem",i),style:p},o.createElement(u,{__scopeRadioGroup:t,...s,ref:e}),r&&o.createElement("span",{className:"kui-RadioGroupItemInner"},r)):o.createElement(u,{__scopeRadioGroup:t,...s,ref:e,className:i,style:p})});N.displayName="RadioGroup.Item";var u=o.forwardRef(({__scopeRadioGroup:a,...e},t)=>{let r=x("RadioGroupItemRadio",a),i=I(a),{color:p,className:s}=f({...e,...r},R);return o.createElement(d.Item,{...i,"data-accent-color":p,...e,asChild:!1,ref:t,className:c("kui-reset","kui-BaseRadioRoot",s)})});u.displayName="RadioGroup.ItemRadio";export{C as a,N as b,_ as c};
3
- //# sourceMappingURL=chunk-AJANJ22M.js.map
2
+ import{a as P}from"./chunk-4MNRLB57.js";import{c as f}from"./chunk-OKQAVYW4.js";import{c as G}from"./chunk-HBWBPBSA.js";import{b as l}from"./chunk-5ON3XLRD.js";import{a as n}from"./chunk-CLJ6SEGP.js";import{a as S}from"./chunk-VQPANPMI.js";var _={};S(_,{Item:()=>N,Root:()=>C});import*as o from"react";import c from"classnames";import{Context as v}from"radix-ui/internal";import{RadioGroup as d}from"radix-ui";var h=["1","2","3","4"],R={...n,size:{type:"enum",className:"kui-r-size",values:h,default:"2",responsive:!0},...G};var y="RadioGroup",[D]=v.createContextScope(y,[d.createRadioGroupScope]),I=d.createRadioGroupScope(),[E,x]=D(y),C=o.forwardRef(({color:a=R.color.default,size:e,...t},r)=>{let i=l(e,R.size),{__scopeRadioGroup:p,className:s,...m}=t,z=I(p);return o.createElement(E,{scope:p,color:a,size:i},o.createElement(d.Root,{...z,...m,ref:r,className:c("kui-RadioGroupRoot",s)}))});C.displayName="RadioGroup.Root";var N=o.forwardRef((a,e)=>{let{__scopeRadioGroup:t,children:r,className:i,style:p,...s}=a,{size:m}=x("RadioGroupItem",t);return r?o.createElement(P,{as:"label",size:m,className:c("kui-RadioGroupItem",i),style:p},o.createElement(u,{__scopeRadioGroup:t,...s,ref:e}),r&&o.createElement("span",{className:"kui-RadioGroupItemInner"},r)):o.createElement(u,{__scopeRadioGroup:t,...s,ref:e,className:i,style:p})});N.displayName="RadioGroup.Item";var u=o.forwardRef(({__scopeRadioGroup:a,...e},t)=>{let r=x("RadioGroupItemRadio",a),i=I(a),{color:p,className:s}=f({...e,...r},R);return o.createElement(d.Item,{...i,"data-accent-color":p,...e,asChild:!1,ref:t,className:c("kui-reset","kui-BaseRadioRoot",s)})});u.displayName="RadioGroup.ItemRadio";export{C as a,N as b,_ as c};
3
+ //# sourceMappingURL=chunk-E2LSWNWZ.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as c}from"./chunk-LGZCNQBS.js";import{b as p}from"./chunk-G66WDIIV.js";import*as a from"react";import l from"classnames";var i=["xl","lg","md","sm","xs","initial"];function m(e,t,o){if(e==null)return o;if(typeof e!="object")return e;let s=e;for(let r=i.indexOf(t);r<i.length;r++){let n=s[i[r]];if(n!==void 0)return n}return o}function A(e,t){let o=typeof e=="object"&&e!==null,{breakpoint:s}=p(o);return m(e,s,t)}var d={1:8,2:12,3:16,4:24};function B(e){return-(d[e]??d[2])}var u={"\u2318":"Meta",cmd:"Meta",command:"Meta",meta:"Meta","\u2325":"Alt",option:"Alt",opt:"Alt",alt:"Alt","\u21E7":"Shift",shift:"Shift","\u2303":"Control",ctrl:"Control",control:"Control","\u232B":"Backspace","\u2326":"Delete","\u23CE":"Enter","\u21B5":"Enter","\u238B":"Escape",esc:"Escape","\u21E5":"Tab","\u2191":"ArrowUp","\u2193":"ArrowDown","\u2190":"ArrowLeft","\u2192":"ArrowRight"},f=new Map;function k(e){let t=f.get(e);if(t!==void 0)return t||void 0;let r=(e.match(/[⌘⌥⇧⌃]|[^\s+⌘⌥⇧⌃]+/gu)??[]).map(n=>u[n]??u[n.toLowerCase()]??(n.length===1?n.toUpperCase():n)).join("+");return f.set(e,r),r||void 0}function S({shortcut:e,className:t}){return a.createElement("div",{"aria-hidden":!0,className:l("kui-BaseMenuShortcut",t)},a.createElement(c,{size:"1"},e))}export{m as a,A as b,B as c,k as d,S as e};
3
- //# sourceMappingURL=chunk-BVQDDN5Q.js.map
2
+ import{a as c}from"./chunk-QPRUTOLI.js";import{b as p}from"./chunk-G66WDIIV.js";import*as a from"react";import l from"classnames";var i=["xl","lg","md","sm","xs","initial"];function m(e,t,o){if(e==null)return o;if(typeof e!="object")return e;let s=e;for(let r=i.indexOf(t);r<i.length;r++){let n=s[i[r]];if(n!==void 0)return n}return o}function A(e,t){let o=typeof e=="object"&&e!==null,{breakpoint:s}=p(o);return m(e,s,t)}var d={1:8,2:12,3:16,4:24};function B(e){return-(d[e]??d[2])}var u={"\u2318":"Meta",cmd:"Meta",command:"Meta",meta:"Meta","\u2325":"Alt",option:"Alt",opt:"Alt",alt:"Alt","\u21E7":"Shift",shift:"Shift","\u2303":"Control",ctrl:"Control",control:"Control","\u232B":"Backspace","\u2326":"Delete","\u23CE":"Enter","\u21B5":"Enter","\u238B":"Escape",esc:"Escape","\u21E5":"Tab","\u2191":"ArrowUp","\u2193":"ArrowDown","\u2190":"ArrowLeft","\u2192":"ArrowRight"},f=new Map;function k(e){let t=f.get(e);if(t!==void 0)return t||void 0;let r=(e.match(/[⌘⌥⇧⌃]|[^\s+⌘⌥⇧⌃]+/gu)??[]).map(n=>u[n]??u[n.toLowerCase()]??(n.length===1?n.toUpperCase():n)).join("+");return f.set(e,r),r||void 0}function S({shortcut:e,className:t}){return a.createElement("div",{"aria-hidden":!0,className:l("kui-BaseMenuShortcut",t)},a.createElement(c,{size:"1"},e))}export{m as a,A as b,B as c,k as d,S as e};
3
+ //# sourceMappingURL=chunk-EB4AG3OL.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{b as a}from"./chunk-XU74PNM2.js";import{a as n}from"./chunk-LPLW7OWA.js";import{a as d}from"./chunk-L54FWKJE.js";import{c as m}from"./chunk-OKQAVYW4.js";import*as e from"react";import v from"classnames";import{useComposedRefs as x,useLayoutEffect as N}from"radix-ui/internal";var W=["cover","contain","fill","scale-down","none"],f={...a,fit:{type:"enum",className:"kui-r-fit",values:W,default:"cover"}};var H=e.forwardRef((p,g)=>{let{width:o,height:r,...h}=p,u=typeof o=="number"?o:void 0,c=typeof r=="number"?r:void 0,{className:l,alt:P,radius:y,loading:w="lazy",decoding:I="async",onLoad:R,onError:b,...D}=m({...h,width:typeof o=="number"?void 0:o,height:typeof r=="number"?void 0:r},f,d,n),[j,s]=e.useState("loading"),i=e.useRef(null);N(()=>{let t=i.current;t?.complete?s(t.naturalWidth>0?"loaded":"error"):s("loading")},[p.src]);let E=x(i,g);return e.createElement("img",{...D,width:u,height:c,ref:E,alt:P,loading:w,decoding:I,"data-radius":y,"data-status":j,className:v("kui-Image",l),onLoad:t=>{s("loaded"),R?.(t)},onError:t=>{s("error"),b?.(t)}})});H.displayName="Image";export{H as a};
3
- //# sourceMappingURL=chunk-5PQCTVZB.js.map
2
+ import{a as n}from"./chunk-LPLW7OWA.js";import{a as d}from"./chunk-L54FWKJE.js";import{c as m}from"./chunk-OKQAVYW4.js";import{b as a}from"./chunk-XU74PNM2.js";import*as e from"react";import v from"classnames";import{useComposedRefs as x,useLayoutEffect as N}from"radix-ui/internal";var W=["cover","contain","fill","scale-down","none"],f={...a,fit:{type:"enum",className:"kui-r-fit",values:W,default:"cover"}};var H=e.forwardRef((p,g)=>{let{width:o,height:r,...h}=p,u=typeof o=="number"?o:void 0,c=typeof r=="number"?r:void 0,{className:l,alt:P,radius:y,loading:w="lazy",decoding:I="async",onLoad:R,onError:b,...D}=m({...h,width:typeof o=="number"?void 0:o,height:typeof r=="number"?void 0:r},f,d,n),[j,s]=e.useState("loading"),i=e.useRef(null);N(()=>{let t=i.current;t?.complete?s(t.naturalWidth>0?"loaded":"error"):s("loading")},[p.src]);let E=x(i,g);return e.createElement("img",{...D,width:u,height:c,ref:E,alt:P,loading:w,decoding:I,"data-radius":y,"data-status":j,className:v("kui-Image",l),onLoad:t=>{s("loaded"),R?.(t)},onError:t=>{s("error"),b?.(t)}})});H.displayName="Image";export{H as a};
3
+ //# sourceMappingURL=chunk-ENQV6SEA.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{c as t}from"./chunk-5ON3XLRD.js";import{a as o}from"./chunk-CLJ6SEGP.js";import{c as s}from"./chunk-OKQAVYW4.js";import*as e from"react";import P from"classnames";import{Slot as l}from"radix-ui";var c=["1","2","3","4"],u=["raised","surface","outline","ghost","soft"],r={...o,size:{type:"enum",className:"kui-r-size",values:c,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:u,default:"raised"}};var C=e.forwardRef((p,a)=>{let i=t(p,r.size),{asChild:m,className:f,...n}=s(i,r),d=m?l.Root:"div";return e.createElement(d,{ref:a,...n,className:P("kui-reset","kui-BaseCard","kui-Card","kui-SurfaceNest",f)})});C.displayName="Card";export{C as a};
3
- //# sourceMappingURL=chunk-VVLUY4WR.js.map
2
+ import{c as s}from"./chunk-OKQAVYW4.js";import{c as t}from"./chunk-5ON3XLRD.js";import{a as o}from"./chunk-CLJ6SEGP.js";import*as e from"react";import P from"classnames";import{Slot as l}from"radix-ui";var c=["1","2","3","4"],u=["raised","surface","outline","ghost","soft"],r={...o,size:{type:"enum",className:"kui-r-size",values:c,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:u,default:"raised"}};var C=e.forwardRef((p,a)=>{let i=t(p,r.size),{asChild:m,className:f,...n}=s(i,r),d=m?l.Root:"div";return e.createElement(d,{ref:a,...n,className:P("kui-reset","kui-BaseCard","kui-Card","kui-SurfaceNest",f)})});C.displayName="Card";export{C as a};
3
+ //# sourceMappingURL=chunk-EPGIYTFK.js.map