@womp/kookie-ui 0.26.2 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/components.css +165 -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.d.ts +7 -1
  8. package/dist/cjs/components/_internal/pane-chrome.d.ts.map +1 -1
  9. package/dist/cjs/components/_internal/pane-chrome.js +1 -1
  10. package/dist/cjs/components/_internal/pane-chrome.js.map +4 -4
  11. package/dist/cjs/components/_internal/portal-theme.d.ts +9 -0
  12. package/dist/cjs/components/_internal/portal-theme.d.ts.map +1 -0
  13. package/dist/cjs/components/_internal/portal-theme.js +3 -0
  14. package/dist/cjs/components/_internal/portal-theme.js.map +7 -0
  15. package/dist/cjs/components/_internal/shell-page-scroll.d.ts +15 -0
  16. package/dist/cjs/components/_internal/shell-page-scroll.d.ts.map +1 -0
  17. package/dist/cjs/components/_internal/shell-page-scroll.js +3 -0
  18. package/dist/cjs/components/_internal/shell-page-scroll.js.map +7 -0
  19. package/dist/cjs/components/_internal/shell-sidebar.js +1 -1
  20. package/dist/cjs/components/_internal/shell-sidebar.js.map +4 -4
  21. package/dist/cjs/components/alert-dialog.js +1 -1
  22. package/dist/cjs/components/alert-dialog.js.map +4 -4
  23. package/dist/cjs/components/button.js +1 -1
  24. package/dist/cjs/components/button.js.map +4 -4
  25. package/dist/cjs/components/chatbar.js +1 -1
  26. package/dist/cjs/components/chatbar.js.map +4 -4
  27. package/dist/cjs/components/chip.js +1 -1
  28. package/dist/cjs/components/chip.js.map +4 -4
  29. package/dist/cjs/components/combobox.d.ts.map +1 -1
  30. package/dist/cjs/components/combobox.js +1 -1
  31. package/dist/cjs/components/combobox.js.map +4 -4
  32. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  33. package/dist/cjs/components/context-menu.js +1 -1
  34. package/dist/cjs/components/context-menu.js.map +4 -4
  35. package/dist/cjs/components/dialog.js +1 -1
  36. package/dist/cjs/components/dialog.js.map +4 -4
  37. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  38. package/dist/cjs/components/dropdown-menu.js +1 -1
  39. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  40. package/dist/cjs/components/index.js +2 -2
  41. package/dist/cjs/components/index.js.map +4 -4
  42. package/dist/cjs/components/message-scroller.js +1 -1
  43. package/dist/cjs/components/message-scroller.js.map +4 -4
  44. package/dist/cjs/components/notice.js +1 -1
  45. package/dist/cjs/components/notice.js.map +4 -4
  46. package/dist/cjs/components/popover.js +1 -1
  47. package/dist/cjs/components/popover.js.map +4 -4
  48. package/dist/cjs/components/schemas/index.js +1 -1
  49. package/dist/cjs/components/schemas/index.js.map +2 -2
  50. package/dist/cjs/components/schemas/shell.schema.d.ts +1 -0
  51. package/dist/cjs/components/schemas/shell.schema.d.ts.map +1 -1
  52. package/dist/cjs/components/schemas/shell.schema.js +1 -1
  53. package/dist/cjs/components/schemas/shell.schema.js.map +2 -2
  54. package/dist/cjs/components/select.d.ts.map +1 -1
  55. package/dist/cjs/components/select.js +1 -1
  56. package/dist/cjs/components/select.js.map +4 -4
  57. package/dist/cjs/components/sheet.js +1 -1
  58. package/dist/cjs/components/sheet.js.map +4 -4
  59. package/dist/cjs/components/shell.d.ts +11 -0
  60. package/dist/cjs/components/shell.d.ts.map +1 -1
  61. package/dist/cjs/components/shell.js +1 -1
  62. package/dist/cjs/components/shell.js.map +4 -4
  63. package/dist/cjs/components/sidebar.js +1 -1
  64. package/dist/cjs/components/sidebar.js.map +4 -4
  65. package/dist/cjs/components/spinner.d.ts.map +1 -1
  66. package/dist/cjs/components/spinner.js +1 -1
  67. package/dist/cjs/components/spinner.js.map +2 -2
  68. package/dist/cjs/components/text-area.d.ts.map +1 -1
  69. package/dist/cjs/components/text-area.js +1 -1
  70. package/dist/cjs/components/text-area.js.map +2 -2
  71. package/dist/cjs/components/text-field.d.ts.map +1 -1
  72. package/dist/cjs/components/text-field.js +2 -2
  73. package/dist/cjs/components/text-field.js.map +2 -2
  74. package/dist/cjs/components/theme.d.ts.map +1 -1
  75. package/dist/cjs/components/theme.js +1 -1
  76. package/dist/cjs/components/theme.js.map +4 -4
  77. package/dist/cjs/components/toggle.js +1 -1
  78. package/dist/cjs/components/toggle.js.map +4 -4
  79. package/dist/cjs/components/toolbar.js +1 -1
  80. package/dist/cjs/components/toolbar.js.map +4 -4
  81. package/dist/cjs/components/tooltip.js +1 -1
  82. package/dist/cjs/components/tooltip.js.map +4 -4
  83. package/dist/cjs/index.js +4 -4
  84. package/dist/cjs/index.js.map +4 -4
  85. package/dist/esm/{chunk-6M6HGIGN.js → chunk-25ZRMILM.js} +2 -2
  86. package/dist/esm/chunk-2E57H3NH.js +3 -0
  87. package/dist/esm/chunk-2E57H3NH.js.map +7 -0
  88. package/dist/esm/chunk-2S7HPQVX.js +3 -0
  89. package/dist/esm/chunk-2S7HPQVX.js.map +7 -0
  90. package/dist/esm/{chunk-UG73IGRF.js → chunk-2ZKEQS76.js} +2 -2
  91. package/dist/esm/{chunk-H2TSRYQ5.js → chunk-324VC67W.js} +2 -2
  92. package/dist/esm/{chunk-UR5BUNNT.js → chunk-3MFSQ6PN.js} +2 -2
  93. package/dist/esm/{chunk-OTCVSJT7.js → chunk-4MNRLB57.js} +2 -2
  94. package/dist/esm/{chunk-TFFU435D.js → chunk-5BX2YZV6.js} +2 -2
  95. package/dist/esm/chunk-5BX2YZV6.js.map +7 -0
  96. package/dist/esm/chunk-67UEMB4K.js +3 -0
  97. package/dist/esm/chunk-67UEMB4K.js.map +7 -0
  98. package/dist/esm/chunk-6HEORZNJ.js +3 -0
  99. package/dist/esm/chunk-6HEORZNJ.js.map +7 -0
  100. package/dist/esm/{chunk-K55IQP5H.js → chunk-6YWHNLSC.js} +2 -2
  101. package/dist/esm/chunk-6YWHNLSC.js.map +7 -0
  102. package/dist/esm/{chunk-NYBE3U3V.js → chunk-7QBNXNEN.js} +2 -2
  103. package/dist/esm/{chunk-E6BDD3PN.js → chunk-7V6M3MIR.js} +2 -2
  104. package/dist/esm/{chunk-KQIZMPSW.js → chunk-ANQLWGFN.js} +1 -1
  105. package/dist/esm/{chunk-KQIZMPSW.js.map → chunk-ANQLWGFN.js.map} +2 -2
  106. package/dist/esm/chunk-AQKSO3SW.js +3 -0
  107. package/dist/esm/chunk-AQKSO3SW.js.map +7 -0
  108. package/dist/esm/{chunk-ONJYRJ66.js → chunk-B6OFKABP.js} +2 -2
  109. package/dist/esm/chunk-BUXK5VGR.js +3 -0
  110. package/dist/esm/chunk-BUXK5VGR.js.map +7 -0
  111. package/dist/esm/{chunk-7QP6JFPO.js → chunk-C67MM24U.js} +2 -2
  112. package/dist/esm/chunk-CZ24FOFS.js +3 -0
  113. package/dist/esm/chunk-CZ24FOFS.js.map +7 -0
  114. package/dist/esm/{chunk-LFAUMDU5.js → chunk-D2C2A2ZK.js} +2 -2
  115. package/dist/esm/{chunk-UBUGG2OB.js → chunk-DP7MPGR7.js} +2 -2
  116. package/dist/esm/{chunk-BVQDDN5Q.js → chunk-EB4AG3OL.js} +2 -2
  117. package/dist/esm/{chunk-5PQCTVZB.js → chunk-ENQV6SEA.js} +2 -2
  118. package/dist/esm/{chunk-VVLUY4WR.js → chunk-EPGIYTFK.js} +2 -2
  119. package/dist/esm/{chunk-2TWPPDII.js → chunk-FMVOB367.js} +2 -2
  120. package/dist/esm/chunk-FVRVBB6O.js +3 -0
  121. package/dist/esm/chunk-FVRVBB6O.js.map +7 -0
  122. package/dist/esm/{chunk-TFFMELAL.js → chunk-FYTLUDL3.js} +2 -2
  123. package/dist/esm/{chunk-W4CPV4PO.js → chunk-H2J25HXP.js} +2 -2
  124. package/dist/esm/{chunk-C2WKAIZM.js → chunk-H73AMXCH.js} +2 -2
  125. package/dist/esm/{chunk-AJANJ22M.js → chunk-HBO7W7SS.js} +2 -2
  126. package/dist/esm/{chunk-F364PDDM.js → chunk-HLIOHDEX.js} +2 -2
  127. package/dist/esm/{chunk-5FWEGTP6.js → chunk-HR2VHGJ5.js} +2 -2
  128. package/dist/esm/chunk-HR2VHGJ5.js.map +7 -0
  129. package/dist/esm/{chunk-ZKQCSGL3.js → chunk-ISCZ57VL.js} +2 -2
  130. package/dist/esm/{chunk-TFGUTYZK.js → chunk-J54GYD7A.js} +2 -2
  131. package/dist/esm/{chunk-HVMRB3AH.js → chunk-JD4KR6VZ.js} +2 -2
  132. package/dist/esm/{chunk-MS2ONKJJ.js → chunk-JKQN6QCP.js} +2 -2
  133. package/dist/esm/{chunk-NS573D6O.js → chunk-JP36JSNP.js} +2 -2
  134. package/dist/esm/chunk-K3GDM26A.js +3 -0
  135. package/dist/esm/{chunk-M7IQIKB4.js.map → chunk-K3GDM26A.js.map} +2 -2
  136. package/dist/esm/{chunk-ULCHGKI3.js → chunk-KJZSXLIX.js} +2 -2
  137. package/dist/esm/{chunk-N3B6EGXL.js → chunk-LABMK6Q7.js} +2 -2
  138. package/dist/esm/{chunk-VIVM525H.js → chunk-MGWGD6KI.js} +2 -2
  139. package/dist/esm/{chunk-RD4T2MCC.js → chunk-MJKVVGGV.js} +2 -2
  140. package/dist/esm/chunk-MJKVVGGV.js.map +7 -0
  141. package/dist/esm/{chunk-TXVZOS3E.js → chunk-MMDZBPSX.js} +2 -2
  142. package/dist/esm/{chunk-EERKYRYI.js → chunk-NWXODCTD.js} +2 -2
  143. package/dist/esm/{chunk-VCZ2GYOF.js → chunk-Q5SANVIW.js} +2 -2
  144. package/dist/esm/chunk-QEDKL23P.js +3 -0
  145. package/dist/esm/chunk-QEDKL23P.js.map +7 -0
  146. package/dist/esm/{chunk-LGZCNQBS.js → chunk-QPRUTOLI.js} +2 -2
  147. package/dist/esm/{chunk-TTW3EAQT.js → chunk-QRV32INS.js} +2 -2
  148. package/dist/esm/{chunk-3QN4C5LW.js → chunk-REORAMUH.js} +2 -2
  149. package/dist/esm/{chunk-GOXGRJO6.js → chunk-SUQJ7DD4.js} +2 -2
  150. package/dist/esm/chunk-TSWHVZ47.js +3 -0
  151. package/dist/esm/chunk-TSWHVZ47.js.map +7 -0
  152. package/dist/esm/chunk-VQDCHBZR.js +3 -0
  153. package/dist/esm/chunk-VQDCHBZR.js.map +7 -0
  154. package/dist/esm/{chunk-TF6WAIUQ.js → chunk-W4Z6ORYO.js} +2 -2
  155. package/dist/esm/{chunk-F2722F7B.js → chunk-WAXRIARV.js} +2 -2
  156. package/dist/esm/chunk-WAXRIARV.js.map +7 -0
  157. package/dist/esm/{chunk-ADL3LEOQ.js → chunk-WD66RYF6.js} +2 -2
  158. package/dist/esm/{chunk-DIY2XQKR.js → chunk-X7JHZ3HA.js} +2 -2
  159. package/dist/esm/{chunk-H33NTGVF.js → chunk-XD3C3GVF.js} +2 -2
  160. package/dist/esm/{chunk-VPUFKJQA.js → chunk-YMUERC2J.js} +2 -2
  161. package/dist/esm/chunk-ZOUIIO4C.js +6 -0
  162. package/dist/esm/chunk-ZOUIIO4C.js.map +7 -0
  163. package/dist/esm/components/_internal/base-button.js +1 -1
  164. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  165. package/dist/esm/components/_internal/menu-context.js +1 -1
  166. package/dist/esm/components/_internal/pane-band-context.d.ts +4 -3
  167. package/dist/esm/components/_internal/pane-band-context.d.ts.map +1 -1
  168. package/dist/esm/components/_internal/pane-band-context.js +1 -1
  169. package/dist/esm/components/_internal/pane-chrome.d.ts +7 -1
  170. package/dist/esm/components/_internal/pane-chrome.d.ts.map +1 -1
  171. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  172. package/dist/esm/components/_internal/portal-theme.d.ts +9 -0
  173. package/dist/esm/components/_internal/portal-theme.d.ts.map +1 -0
  174. package/dist/esm/components/_internal/portal-theme.js +3 -0
  175. package/dist/esm/components/_internal/portal-theme.js.map +7 -0
  176. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  177. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  178. package/dist/esm/components/_internal/shell-page-scroll.d.ts +15 -0
  179. package/dist/esm/components/_internal/shell-page-scroll.d.ts.map +1 -0
  180. package/dist/esm/components/_internal/shell-page-scroll.js +3 -0
  181. package/dist/esm/components/_internal/shell-page-scroll.js.map +7 -0
  182. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  183. package/dist/esm/components/accordion.js +1 -1
  184. package/dist/esm/components/alert-dialog.js +1 -1
  185. package/dist/esm/components/avatar.js +1 -1
  186. package/dist/esm/components/blockquote.js +1 -1
  187. package/dist/esm/components/box.js +1 -1
  188. package/dist/esm/components/button.js +1 -1
  189. package/dist/esm/components/card.js +1 -1
  190. package/dist/esm/components/chatbar.js +1 -1
  191. package/dist/esm/components/checkbox-group.js +1 -1
  192. package/dist/esm/components/checkbox.js +1 -1
  193. package/dist/esm/components/chip.js +1 -1
  194. package/dist/esm/components/code.js +1 -1
  195. package/dist/esm/components/combobox.d.ts.map +1 -1
  196. package/dist/esm/components/combobox.js +1 -1
  197. package/dist/esm/components/context-menu.d.ts.map +1 -1
  198. package/dist/esm/components/context-menu.js +1 -1
  199. package/dist/esm/components/dialog.js +1 -1
  200. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  201. package/dist/esm/components/dropdown-menu.js +1 -1
  202. package/dist/esm/components/flex.js +1 -1
  203. package/dist/esm/components/grid.js +1 -1
  204. package/dist/esm/components/heading.js +1 -1
  205. package/dist/esm/components/image.js +1 -1
  206. package/dist/esm/components/index.js +1 -1
  207. package/dist/esm/components/kbd.js +1 -1
  208. package/dist/esm/components/link.js +1 -1
  209. package/dist/esm/components/message-scroller.js +1 -1
  210. package/dist/esm/components/navbar.js +1 -1
  211. package/dist/esm/components/notice.js +1 -1
  212. package/dist/esm/components/popover.js +1 -1
  213. package/dist/esm/components/progress.js +1 -1
  214. package/dist/esm/components/radio-group.js +1 -1
  215. package/dist/esm/components/radio.js +1 -1
  216. package/dist/esm/components/schemas/index.js +1 -1
  217. package/dist/esm/components/schemas/shell.schema.d.ts +1 -0
  218. package/dist/esm/components/schemas/shell.schema.d.ts.map +1 -1
  219. package/dist/esm/components/schemas/shell.schema.js +1 -1
  220. package/dist/esm/components/scroll-area.js +1 -1
  221. package/dist/esm/components/segmented-control.js +1 -1
  222. package/dist/esm/components/select.d.ts.map +1 -1
  223. package/dist/esm/components/select.js +1 -1
  224. package/dist/esm/components/separator.js +1 -1
  225. package/dist/esm/components/sheet.js +1 -1
  226. package/dist/esm/components/shell.d.ts +11 -0
  227. package/dist/esm/components/shell.d.ts.map +1 -1
  228. package/dist/esm/components/shell.js +1 -1
  229. package/dist/esm/components/sidebar.js +1 -1
  230. package/dist/esm/components/slider.js +1 -1
  231. package/dist/esm/components/spinner.d.ts.map +1 -1
  232. package/dist/esm/components/spinner.js +1 -1
  233. package/dist/esm/components/switch.js +1 -1
  234. package/dist/esm/components/table.js +1 -1
  235. package/dist/esm/components/tabs.js +1 -1
  236. package/dist/esm/components/text-area.d.ts.map +1 -1
  237. package/dist/esm/components/text-area.js +1 -1
  238. package/dist/esm/components/text-field.d.ts.map +1 -1
  239. package/dist/esm/components/text-field.js +1 -1
  240. package/dist/esm/components/text.js +1 -1
  241. package/dist/esm/components/theme.d.ts.map +1 -1
  242. package/dist/esm/components/theme.js +1 -1
  243. package/dist/esm/components/toggle.js +1 -1
  244. package/dist/esm/components/toolbar.js +1 -1
  245. package/dist/esm/components/tooltip.js +1 -1
  246. package/dist/esm/components/virtual-menu.js +1 -1
  247. package/dist/esm/index.js +1 -1
  248. package/package.json +1 -1
  249. package/schemas/index.json +6 -1
  250. package/schemas/shell-root.json +6 -1
  251. package/src/components/_internal/pane-band-context.ts +4 -3
  252. package/src/components/_internal/pane-chrome.tsx +15 -2
  253. package/src/components/_internal/portal-theme.tsx +18 -0
  254. package/src/components/_internal/shell-page-scroll.ts +49 -0
  255. package/src/components/alert-dialog.tsx +3 -3
  256. package/src/components/combobox.tsx +4 -3
  257. package/src/components/context-menu.tsx +6 -5
  258. package/src/components/dialog.tsx +3 -3
  259. package/src/components/dropdown-menu.tsx +6 -5
  260. package/src/components/popover.tsx +3 -3
  261. package/src/components/schemas/shell.schema.ts +4 -1
  262. package/src/components/select.tsx +4 -3
  263. package/src/components/sheet.tsx +3 -3
  264. package/src/components/shell.css +201 -0
  265. package/src/components/shell.tsx +128 -22
  266. package/src/components/spinner.css +16 -1
  267. package/src/components/spinner.tsx +14 -13
  268. package/src/components/text-area.css +7 -2
  269. package/src/components/text-area.tsx +10 -8
  270. package/src/components/text-field.css +7 -2
  271. package/src/components/text-field.tsx +10 -8
  272. package/src/components/theme.tsx +24 -30
  273. package/src/components/tooltip.tsx +3 -3
  274. package/styles.css +165 -4
  275. package/dist/esm/chunk-3C4Q6PMS.js +0 -3
  276. package/dist/esm/chunk-3C4Q6PMS.js.map +0 -7
  277. package/dist/esm/chunk-3ZWHKNHI.js +0 -3
  278. package/dist/esm/chunk-3ZWHKNHI.js.map +0 -7
  279. package/dist/esm/chunk-457Z4R5W.js +0 -3
  280. package/dist/esm/chunk-457Z4R5W.js.map +0 -7
  281. package/dist/esm/chunk-5FWEGTP6.js.map +0 -7
  282. package/dist/esm/chunk-5MEWNLNH.js +0 -3
  283. package/dist/esm/chunk-5MEWNLNH.js.map +0 -7
  284. package/dist/esm/chunk-BEHAT3GI.js +0 -3
  285. package/dist/esm/chunk-BEHAT3GI.js.map +0 -7
  286. package/dist/esm/chunk-DG2KIH54.js +0 -6
  287. package/dist/esm/chunk-DG2KIH54.js.map +0 -7
  288. package/dist/esm/chunk-DQCE7DHY.js +0 -3
  289. package/dist/esm/chunk-DQCE7DHY.js.map +0 -7
  290. package/dist/esm/chunk-F2722F7B.js.map +0 -7
  291. package/dist/esm/chunk-GE7FRBZ4.js +0 -3
  292. package/dist/esm/chunk-GE7FRBZ4.js.map +0 -7
  293. package/dist/esm/chunk-K55IQP5H.js.map +0 -7
  294. package/dist/esm/chunk-M7IQIKB4.js +0 -3
  295. package/dist/esm/chunk-POP5NB33.js +0 -3
  296. package/dist/esm/chunk-POP5NB33.js.map +0 -7
  297. package/dist/esm/chunk-RD4T2MCC.js.map +0 -7
  298. package/dist/esm/chunk-SCIFT27R.js +0 -3
  299. package/dist/esm/chunk-SCIFT27R.js.map +0 -7
  300. package/dist/esm/chunk-TFFU435D.js.map +0 -7
  301. /package/dist/esm/{chunk-6M6HGIGN.js.map → chunk-25ZRMILM.js.map} +0 -0
  302. /package/dist/esm/{chunk-UG73IGRF.js.map → chunk-2ZKEQS76.js.map} +0 -0
  303. /package/dist/esm/{chunk-H2TSRYQ5.js.map → chunk-324VC67W.js.map} +0 -0
  304. /package/dist/esm/{chunk-UR5BUNNT.js.map → chunk-3MFSQ6PN.js.map} +0 -0
  305. /package/dist/esm/{chunk-OTCVSJT7.js.map → chunk-4MNRLB57.js.map} +0 -0
  306. /package/dist/esm/{chunk-NYBE3U3V.js.map → chunk-7QBNXNEN.js.map} +0 -0
  307. /package/dist/esm/{chunk-E6BDD3PN.js.map → chunk-7V6M3MIR.js.map} +0 -0
  308. /package/dist/esm/{chunk-ONJYRJ66.js.map → chunk-B6OFKABP.js.map} +0 -0
  309. /package/dist/esm/{chunk-7QP6JFPO.js.map → chunk-C67MM24U.js.map} +0 -0
  310. /package/dist/esm/{chunk-LFAUMDU5.js.map → chunk-D2C2A2ZK.js.map} +0 -0
  311. /package/dist/esm/{chunk-UBUGG2OB.js.map → chunk-DP7MPGR7.js.map} +0 -0
  312. /package/dist/esm/{chunk-BVQDDN5Q.js.map → chunk-EB4AG3OL.js.map} +0 -0
  313. /package/dist/esm/{chunk-5PQCTVZB.js.map → chunk-ENQV6SEA.js.map} +0 -0
  314. /package/dist/esm/{chunk-VVLUY4WR.js.map → chunk-EPGIYTFK.js.map} +0 -0
  315. /package/dist/esm/{chunk-2TWPPDII.js.map → chunk-FMVOB367.js.map} +0 -0
  316. /package/dist/esm/{chunk-TFFMELAL.js.map → chunk-FYTLUDL3.js.map} +0 -0
  317. /package/dist/esm/{chunk-W4CPV4PO.js.map → chunk-H2J25HXP.js.map} +0 -0
  318. /package/dist/esm/{chunk-C2WKAIZM.js.map → chunk-H73AMXCH.js.map} +0 -0
  319. /package/dist/esm/{chunk-AJANJ22M.js.map → chunk-HBO7W7SS.js.map} +0 -0
  320. /package/dist/esm/{chunk-F364PDDM.js.map → chunk-HLIOHDEX.js.map} +0 -0
  321. /package/dist/esm/{chunk-ZKQCSGL3.js.map → chunk-ISCZ57VL.js.map} +0 -0
  322. /package/dist/esm/{chunk-TFGUTYZK.js.map → chunk-J54GYD7A.js.map} +0 -0
  323. /package/dist/esm/{chunk-HVMRB3AH.js.map → chunk-JD4KR6VZ.js.map} +0 -0
  324. /package/dist/esm/{chunk-MS2ONKJJ.js.map → chunk-JKQN6QCP.js.map} +0 -0
  325. /package/dist/esm/{chunk-NS573D6O.js.map → chunk-JP36JSNP.js.map} +0 -0
  326. /package/dist/esm/{chunk-ULCHGKI3.js.map → chunk-KJZSXLIX.js.map} +0 -0
  327. /package/dist/esm/{chunk-N3B6EGXL.js.map → chunk-LABMK6Q7.js.map} +0 -0
  328. /package/dist/esm/{chunk-VIVM525H.js.map → chunk-MGWGD6KI.js.map} +0 -0
  329. /package/dist/esm/{chunk-TXVZOS3E.js.map → chunk-MMDZBPSX.js.map} +0 -0
  330. /package/dist/esm/{chunk-EERKYRYI.js.map → chunk-NWXODCTD.js.map} +0 -0
  331. /package/dist/esm/{chunk-VCZ2GYOF.js.map → chunk-Q5SANVIW.js.map} +0 -0
  332. /package/dist/esm/{chunk-LGZCNQBS.js.map → chunk-QPRUTOLI.js.map} +0 -0
  333. /package/dist/esm/{chunk-TTW3EAQT.js.map → chunk-QRV32INS.js.map} +0 -0
  334. /package/dist/esm/{chunk-3QN4C5LW.js.map → chunk-REORAMUH.js.map} +0 -0
  335. /package/dist/esm/{chunk-GOXGRJO6.js.map → chunk-SUQJ7DD4.js.map} +0 -0
  336. /package/dist/esm/{chunk-TF6WAIUQ.js.map → chunk-W4Z6ORYO.js.map} +0 -0
  337. /package/dist/esm/{chunk-ADL3LEOQ.js.map → chunk-WD66RYF6.js.map} +0 -0
  338. /package/dist/esm/{chunk-DIY2XQKR.js.map → chunk-X7JHZ3HA.js.map} +0 -0
  339. /package/dist/esm/{chunk-H33NTGVF.js.map → chunk-XD3C3GVF.js.map} +0 -0
  340. /package/dist/esm/{chunk-VPUFKJQA.js.map → chunk-YMUERC2J.js.map} +0 -0
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as X,b as oo,c as eo,e as W,f as to,i as ro,l as no}from"./chunk-457Z4R5W.js";import{a as B}from"./chunk-ULCHGKI3.js";import{a as Q}from"./chunk-OTCVSJT7.js";import{a as q}from"./chunk-7N2Q5WOM.js";import{b as L}from"./chunk-5ON3XLRD.js";import{g as J}from"./chunk-3ZWHKNHI.js";import{c as U}from"./chunk-OKQAVYW4.js";import*as o from"react";import{useLayoutEffect as D}from"radix-ui/internal";import x from"classnames";import{Toolbar as N}from"radix-ui";var bo=["1","2","3","4"],To=["horizontal","vertical"],g={size:{type:"enum",className:"kui-r-size",values:bo,default:"2"},orientation:{type:"enum",values:To,default:"horizontal"}};var E=o.createContext(null),F=o.createContext(null),M=o.createContext(!1);function Io(){return o.useContext(M)}var H=o.forwardRef((e,t)=>{let r=J(),a=L(e.size??r??void 0,g.size),s=e.orientation??g.orientation.default,{className:i,orientation:n,backdrop:l=!1,children:u,...d}=U({...e,size:a},g,q),p=o.useMemo(()=>({size:a,orientation:s,backdrop:l}),[a,s,l]);return o.createElement(N.Root,{...d,ref:t,orientation:s,"data-backdrop":l||void 0,className:x("kui-Toolbar",i)},o.createElement(E.Provider,{value:p},u))});H.displayName="Toolbar";var so=o.forwardRef(({className:e,disabled:t=!1,children:r,...a},s)=>{let i=o.useContext(E),n=o.useContext(M),l=o.useMemo(()=>({disabled:t}),[t]);return n?o.createElement(to,{...a,ref:s,className:e},o.createElement(F.Provider,{value:l},r)):o.createElement("div",{role:"group","data-orientation":i?.orientation??"horizontal","data-disabled":t||void 0,...a,ref:s,className:x("kui-ToolbarGroup",e)},o.createElement(F.Provider,{value:l},r))});so.displayName="Toolbar.Group";var mo=new Set(["id","className","style","title"]);function ao(e){return e===!0||e==="true"}function Po(e){return o.isValidElement(e)&&e.type==="button"}var A=o.forwardRef((e,t)=>{let r=o.useContext(E),a=o.useContext(F),s=o.useContext(M),{iconOnly:i,size:n,variant:l,emphasis:u,color:d,disabled:p,asChild:v,onKeyDown:y,...w}=e,h=p||a?.disabled||void 0;if(s){let T={};for(let m of Object.keys(w))(/^on[A-Z]/.test(m)||m.startsWith("aria-")||m.startsWith("data-")||mo.has(m))&&(T[m]=w[m]);return y&&(T.onKeyDown=y),o.createElement(io,{...T,ref:t,asChild:v,iconOnly:i,disabled:h,color:d,pressed:e["aria-pressed"]===void 0?void 0:ao(e["aria-pressed"])},w.children)}let O=r?.orientation==="vertical"&&y?T=>{T.key==="ArrowDown"||T.key==="ArrowUp"||y(T)}:y,I=ao(e["aria-pressed"]),c="data-state"in e||e["aria-pressed"]===void 0?{}:{"data-state":I?"on":"off"},f={size:n??r?.size,...u!==void 0?{emphasis:u}:{variant:l??(a?"ghost":r?.backdrop?"raised":"soft")},color:d??(l||u?void 0:"gray"),...c},b={...w,...i?{iconOnly:!0}:{},...v?{asChild:!0}:{},...O?{onKeyDown:O}:{},...f};return r?v&&!Po(w.children)?o.createElement(N.Link,{asChild:!0,ref:t},o.createElement(B,{...b,disabled:h})):o.createElement(N.Button,{asChild:!0,ref:t,disabled:h},o.createElement(B,{...b})):o.createElement(B,{...b,ref:t,disabled:h})});A.displayName="Toolbar.Button";var io=o.forwardRef(({asChild:e,iconOnly:t,disabled:r,color:a,pressed:s,children:i,"aria-label":n,...l},u)=>{let d=t?n:void 0,p={...l,...t?{}:n?{"aria-label":n}:{},disabled:r,...a?{color:a}:{}};if(e&&o.isValidElement(i)){let v=d?o.cloneElement(i,void 0,i.props.children,o.createElement("span",null,d)):i;return o.createElement(W,{...p,ref:u,asChild:!0},v)}return s!==void 0?o.createElement(ro,{...p,ref:u,checked:s},i,d):o.createElement(W,{...p,ref:u},i,d)});io.displayName="Toolbar.OverflowItem";function Ro(){return o.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentcolor","aria-hidden":!0,xmlns:"http://www.w3.org/2000/svg"},o.createElement("circle",{cx:"3.25",cy:"8",r:"1.25"}),o.createElement("circle",{cx:"8",cy:"8",r:"1.25"}),o.createElement("circle",{cx:"12.75",cy:"8",r:"1.25"}))}var lo=o.forwardRef(({label:e="More",className:t,children:r,...a},s)=>{let i=o.Children.toArray(r),n=i.length,l=o.useRef(null),u=o.useRef([]),d=o.useRef(0),[p,v]=o.useState(n),[y,w]=o.useState(0),[h,O]=o.useState(n);h!==n&&(O(n),v(n)),D(()=>{u.current=[]},[n]),D(()=>{let c=l.current;if(!c)return;let f=Array.from(c.children),b=Math.min(p,n);for(let P=0;P<b;P++){let R=f[P];R&&(u.current[P]=R.offsetWidth)}let T=f[b];T&&(d.current=T.offsetWidth);let m=Number.parseFloat(getComputedStyle(c).columnGap)||0,K=c.clientWidth,V=0,_=0;for(let P=0;P<n;P++){let R=u.current[P];if(R===void 0)return;R!==0&&(V+=R+(_>0?m:0),_+=1)}let k=n;if(V>K){let P=K-(d.current||c.clientHeight)-m,R=0,Y=0;k=0;for(let G=0;G<n;G++){let Z=u.current[G];if(Z>0){let $=Z+(Y>0?m:0);if(R+$>P)break;R+=$,Y+=1}k+=1}}k!==p&&v(k)},[p,n,y]),o.useEffect(()=>{let c=l.current;if(!c||typeof ResizeObserver>"u")return;let f=new ResizeObserver(()=>w(b=>b+1));f.observe(c);for(let b of Array.from(c.children))f.observe(b);return()=>f.disconnect()},[p,n]);let I=o.useCallback(c=>{l.current=c,typeof s=="function"?s(c):s&&(s.current=c)},[s]);return o.createElement("div",{...a,ref:I,className:x("kui-ToolbarOverflow",t)},i.slice(0,p).map((c,f)=>o.createElement("div",{key:f,className:"kui-ToolbarOverflowSeat"},c)),p<n?o.createElement(X,null,o.createElement(oo,null,o.createElement(A,{iconOnly:!0,"aria-label":e},o.createElement(Ro,null))),o.createElement(eo,{align:"end"},o.createElement(M.Provider,{value:!0},i.slice(p)))):null)});lo.displayName="Toolbar.Overflow";var j=[],S=new Map,z=new Set,C=new Map;function vo(e){return z.add(e),()=>{z.delete(e)}}function yo(e,t,r){let a=S.get(e)??j,i=a.findIndex(n=>n.id===t)===-1?[...a,{id:t,node:r}]:a.map(n=>n.id===t?{id:t,node:r}:n);S.set(e,i),z.forEach(n=>n())}function wo(e,t){let r=S.get(e);if(!r)return;let a=r.filter(s=>s.id!==t);a.length===0?S.delete(e):S.set(e,a),z.forEach(s=>s())}function co({name:e="default"}){D(()=>{let r=(C.get(e)??0)+1;return C.set(e,r),r>1,()=>{let a=(C.get(e)??1)-1;a>0?C.set(e,a):C.delete(e)}},[e]);let t=o.useSyncExternalStore(vo,()=>S.get(e)??j,()=>j);return o.createElement(o.Fragment,null,t.map(r=>o.createElement(o.Fragment,{key:r.id},r.node)))}co.displayName="Toolbar.Slot";function po({name:e="default",children:t}){let r=o.useId();return D(()=>{yo(e,r,t)},[e,r,t]),D(()=>()=>wo(e,r),[e,r]),null}po.displayName="Toolbar.Fill";var uo=o.forwardRef(({className:e,...t},r)=>{let a=o.useContext(E);return o.useContext(M)?o.createElement(no,{...t,ref:r,className:e}):a?o.createElement(N.Separator,{...t,ref:r,className:x("kui-ToolbarSeparator",e)}):o.createElement("div",{role:"separator","aria-orientation":"vertical","data-orientation":"vertical",...t,ref:r,className:x("kui-ToolbarSeparator",e)})});uo.displayName="Toolbar.Separator";var ho={1:"2",2:"3",3:"4",4:"5"},fo=o.forwardRef(({className:e,children:t,style:r,id:a},s)=>{let i=o.useContext(E),n=L(void 0,g.size),l=i?.size??n;return t==null||t===!1?null:o.createElement(Q,{ref:s,as:"span",size:ho[l],weight:"medium",truncate:!0,id:a,style:r,className:x("kui-ToolbarTitle",e)},t)});fo.displayName="Toolbar.Title";var Go=Object.assign(H,{Root:H,Group:so,Button:A,Separator:uo,Title:fo,Overflow:lo,Slot:co,Fill:po});export{Io as a,H as b,so as c,A as d,lo as e,co as f,po as g,uo as h,fo as i,Go as j};
3
- //# sourceMappingURL=chunk-6M6HGIGN.js.map
2
+ import{a as X,b as oo,c as eo,e as W,f as to,i as ro,l as no}from"./chunk-67UEMB4K.js";import{a as B}from"./chunk-KJZSXLIX.js";import{a as Q}from"./chunk-4MNRLB57.js";import{a as q}from"./chunk-7N2Q5WOM.js";import{h as J}from"./chunk-TSWHVZ47.js";import{c as U}from"./chunk-OKQAVYW4.js";import{b as L}from"./chunk-5ON3XLRD.js";import*as o from"react";import{useLayoutEffect as D}from"radix-ui/internal";import x from"classnames";import{Toolbar as N}from"radix-ui";var bo=["1","2","3","4"],To=["horizontal","vertical"],g={size:{type:"enum",className:"kui-r-size",values:bo,default:"2"},orientation:{type:"enum",values:To,default:"horizontal"}};var E=o.createContext(null),F=o.createContext(null),M=o.createContext(!1);function Io(){return o.useContext(M)}var H=o.forwardRef((e,t)=>{let r=J(),a=L(e.size??r??void 0,g.size),s=e.orientation??g.orientation.default,{className:i,orientation:n,backdrop:l=!1,children:u,...d}=U({...e,size:a},g,q),p=o.useMemo(()=>({size:a,orientation:s,backdrop:l}),[a,s,l]);return o.createElement(N.Root,{...d,ref:t,orientation:s,"data-backdrop":l||void 0,className:x("kui-Toolbar",i)},o.createElement(E.Provider,{value:p},u))});H.displayName="Toolbar";var so=o.forwardRef(({className:e,disabled:t=!1,children:r,...a},s)=>{let i=o.useContext(E),n=o.useContext(M),l=o.useMemo(()=>({disabled:t}),[t]);return n?o.createElement(to,{...a,ref:s,className:e},o.createElement(F.Provider,{value:l},r)):o.createElement("div",{role:"group","data-orientation":i?.orientation??"horizontal","data-disabled":t||void 0,...a,ref:s,className:x("kui-ToolbarGroup",e)},o.createElement(F.Provider,{value:l},r))});so.displayName="Toolbar.Group";var mo=new Set(["id","className","style","title"]);function ao(e){return e===!0||e==="true"}function Po(e){return o.isValidElement(e)&&e.type==="button"}var A=o.forwardRef((e,t)=>{let r=o.useContext(E),a=o.useContext(F),s=o.useContext(M),{iconOnly:i,size:n,variant:l,emphasis:u,color:d,disabled:p,asChild:v,onKeyDown:y,...w}=e,h=p||a?.disabled||void 0;if(s){let T={};for(let m of Object.keys(w))(/^on[A-Z]/.test(m)||m.startsWith("aria-")||m.startsWith("data-")||mo.has(m))&&(T[m]=w[m]);return y&&(T.onKeyDown=y),o.createElement(io,{...T,ref:t,asChild:v,iconOnly:i,disabled:h,color:d,pressed:e["aria-pressed"]===void 0?void 0:ao(e["aria-pressed"])},w.children)}let O=r?.orientation==="vertical"&&y?T=>{T.key==="ArrowDown"||T.key==="ArrowUp"||y(T)}:y,I=ao(e["aria-pressed"]),c="data-state"in e||e["aria-pressed"]===void 0?{}:{"data-state":I?"on":"off"},f={size:n??r?.size,...u!==void 0?{emphasis:u}:{variant:l??(a?"ghost":r?.backdrop?"raised":"soft")},color:d??(l||u?void 0:"gray"),...c},b={...w,...i?{iconOnly:!0}:{},...v?{asChild:!0}:{},...O?{onKeyDown:O}:{},...f};return r?v&&!Po(w.children)?o.createElement(N.Link,{asChild:!0,ref:t},o.createElement(B,{...b,disabled:h})):o.createElement(N.Button,{asChild:!0,ref:t,disabled:h},o.createElement(B,{...b})):o.createElement(B,{...b,ref:t,disabled:h})});A.displayName="Toolbar.Button";var io=o.forwardRef(({asChild:e,iconOnly:t,disabled:r,color:a,pressed:s,children:i,"aria-label":n,...l},u)=>{let d=t?n:void 0,p={...l,...t?{}:n?{"aria-label":n}:{},disabled:r,...a?{color:a}:{}};if(e&&o.isValidElement(i)){let v=d?o.cloneElement(i,void 0,i.props.children,o.createElement("span",null,d)):i;return o.createElement(W,{...p,ref:u,asChild:!0},v)}return s!==void 0?o.createElement(ro,{...p,ref:u,checked:s},i,d):o.createElement(W,{...p,ref:u},i,d)});io.displayName="Toolbar.OverflowItem";function Ro(){return o.createElement("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentcolor","aria-hidden":!0,xmlns:"http://www.w3.org/2000/svg"},o.createElement("circle",{cx:"3.25",cy:"8",r:"1.25"}),o.createElement("circle",{cx:"8",cy:"8",r:"1.25"}),o.createElement("circle",{cx:"12.75",cy:"8",r:"1.25"}))}var lo=o.forwardRef(({label:e="More",className:t,children:r,...a},s)=>{let i=o.Children.toArray(r),n=i.length,l=o.useRef(null),u=o.useRef([]),d=o.useRef(0),[p,v]=o.useState(n),[y,w]=o.useState(0),[h,O]=o.useState(n);h!==n&&(O(n),v(n)),D(()=>{u.current=[]},[n]),D(()=>{let c=l.current;if(!c)return;let f=Array.from(c.children),b=Math.min(p,n);for(let P=0;P<b;P++){let R=f[P];R&&(u.current[P]=R.offsetWidth)}let T=f[b];T&&(d.current=T.offsetWidth);let m=Number.parseFloat(getComputedStyle(c).columnGap)||0,K=c.clientWidth,V=0,_=0;for(let P=0;P<n;P++){let R=u.current[P];if(R===void 0)return;R!==0&&(V+=R+(_>0?m:0),_+=1)}let k=n;if(V>K){let P=K-(d.current||c.clientHeight)-m,R=0,Y=0;k=0;for(let G=0;G<n;G++){let Z=u.current[G];if(Z>0){let $=Z+(Y>0?m:0);if(R+$>P)break;R+=$,Y+=1}k+=1}}k!==p&&v(k)},[p,n,y]),o.useEffect(()=>{let c=l.current;if(!c||typeof ResizeObserver>"u")return;let f=new ResizeObserver(()=>w(b=>b+1));f.observe(c);for(let b of Array.from(c.children))f.observe(b);return()=>f.disconnect()},[p,n]);let I=o.useCallback(c=>{l.current=c,typeof s=="function"?s(c):s&&(s.current=c)},[s]);return o.createElement("div",{...a,ref:I,className:x("kui-ToolbarOverflow",t)},i.slice(0,p).map((c,f)=>o.createElement("div",{key:f,className:"kui-ToolbarOverflowSeat"},c)),p<n?o.createElement(X,null,o.createElement(oo,null,o.createElement(A,{iconOnly:!0,"aria-label":e},o.createElement(Ro,null))),o.createElement(eo,{align:"end"},o.createElement(M.Provider,{value:!0},i.slice(p)))):null)});lo.displayName="Toolbar.Overflow";var j=[],S=new Map,z=new Set,C=new Map;function vo(e){return z.add(e),()=>{z.delete(e)}}function yo(e,t,r){let a=S.get(e)??j,i=a.findIndex(n=>n.id===t)===-1?[...a,{id:t,node:r}]:a.map(n=>n.id===t?{id:t,node:r}:n);S.set(e,i),z.forEach(n=>n())}function wo(e,t){let r=S.get(e);if(!r)return;let a=r.filter(s=>s.id!==t);a.length===0?S.delete(e):S.set(e,a),z.forEach(s=>s())}function co({name:e="default"}){D(()=>{let r=(C.get(e)??0)+1;return C.set(e,r),r>1,()=>{let a=(C.get(e)??1)-1;a>0?C.set(e,a):C.delete(e)}},[e]);let t=o.useSyncExternalStore(vo,()=>S.get(e)??j,()=>j);return o.createElement(o.Fragment,null,t.map(r=>o.createElement(o.Fragment,{key:r.id},r.node)))}co.displayName="Toolbar.Slot";function po({name:e="default",children:t}){let r=o.useId();return D(()=>{yo(e,r,t)},[e,r,t]),D(()=>()=>wo(e,r),[e,r]),null}po.displayName="Toolbar.Fill";var uo=o.forwardRef(({className:e,...t},r)=>{let a=o.useContext(E);return o.useContext(M)?o.createElement(no,{...t,ref:r,className:e}):a?o.createElement(N.Separator,{...t,ref:r,className:x("kui-ToolbarSeparator",e)}):o.createElement("div",{role:"separator","aria-orientation":"vertical","data-orientation":"vertical",...t,ref:r,className:x("kui-ToolbarSeparator",e)})});uo.displayName="Toolbar.Separator";var ho={1:"2",2:"3",3:"4",4:"5"},fo=o.forwardRef(({className:e,children:t,style:r,id:a},s)=>{let i=o.useContext(E),n=L(void 0,g.size),l=i?.size??n;return t==null||t===!1?null:o.createElement(Q,{ref:s,as:"span",size:ho[l],weight:"medium",truncate:!0,id:a,style:r,className:x("kui-ToolbarTitle",e)},t)});fo.displayName="Toolbar.Title";var Go=Object.assign(H,{Root:H,Group:so,Button:A,Separator:uo,Title:fo,Overflow:lo,Slot:co,Fill:po});export{Io as a,H as b,so as c,A as d,lo as e,co as f,po as g,uo as h,fo as i,Go as j};
3
+ //# sourceMappingURL=chunk-25ZRMILM.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as se,b as ie}from"./chunk-MJKVVGGV.js";import{a as ne}from"./chunk-WUCBFB25.js";import{a as ae}from"./chunk-TGRHRMQI.js";import{a as Y}from"./chunk-BUXK5VGR.js";import{b as Z,c as ee}from"./chunk-GKDGNPBD.js";import{c as X}from"./chunk-5KMEUZWN.js";import{a as Q}from"./chunk-LPLW7OWA.js";import{a as I}from"./chunk-L54FWKJE.js";import{c as O}from"./chunk-OKQAVYW4.js";import{a as re}from"./chunk-AQKSO3SW.js";import{b as te}from"./chunk-FVRVBB6O.js";import{b as oe}from"./chunk-5ON3XLRD.js";import{c as W}from"./chunk-HBWBPBSA.js";import{b as J}from"./chunk-XU74PNM2.js";import{a as Le}from"./chunk-VQPANPMI.js";var je={};Le(je,{Content:()=>ye,Empty:()=>Se,Group:()=>Ve,Input:()=>Re,Item:()=>Te,Label:()=>Ee,List:()=>ve,Root:()=>Pe,Separator:()=>ke,Trigger:()=>ge,Value:()=>he});import*as e from"react";import d from"classnames";import{Popover as me}from"radix-ui";import{useCallbackRef as H,useComposedRefs as pe,useControllableState as A,useLayoutEffect as K}from"radix-ui/internal";import{Command as T,useCommandState as ce}from"cmdk";var Oe=["1","2","3","4"],G={size:{type:"enum",className:"kui-r-size",values:Oe,default:"2",responsive:!0}},ze=["raised","surface","soft","outline","ghost"],le={variant:{type:"enum",className:"kui-variant",values:ze,default:"raised"},error:{type:"boolean"},loading:{type:"boolean"},disabled:{type:"boolean"},readOnly:{type:"boolean"},...W,...J,width:I.width,placeholder:{type:"string"}},Me=["1","2","3","4"],z={size:{type:"enum",className:"kui-r-size",values:Me,default:"2",responsive:!0},...W,width:I.width,minWidth:I.minWidth,maxWidth:{...I.maxWidth,default:"480px"},...Q};var Fe={size:G.size},Be={size:z.size},be=new Set;function We(o){be.has(o)||(be.add(o),console.warn(o))}function Ge(o){let r=o,t=new Set;return{get:()=>r,set:a=>{Object.is(a,r)||(r=a,t.forEach(n=>n()))},subscribe:a=>(t.add(a),()=>{t.delete(a)})}}var ue=e.createContext(null),M=o=>{let r=e.useContext(ue);if(!r)throw new Error(`Combobox.${o} must be used within Combobox.Root`);return r},de=e.createContext(null),fe=e.createContext(null),Ce=e.createContext(null),xe=()=>e.useContext(Ce);function Ae(o){let r=o.getAttribute("aria-label")?.trim();if(r)return r;let t=o.getAttribute("aria-labelledby");if(t){let n=t.split(/\s+/).map(s=>o.ownerDocument.getElementById(s)?.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}let a=o.labels;if(a&&a.length>0){let n=Array.from(a).map(s=>s.textContent?.trim()).filter(Boolean).join(" ");if(n)return n}}var Pe=o=>{let{children:r,size:t,value:a,defaultValue:n=null,onValueChange:s,open:m,defaultOpen:f=!1,onOpenChange:l,placeholder:c="Select an option",searchPlaceholder:P="Search...",searchValue:g,defaultSearchValue:h="",onSearchValueChange:y,filter:C,shouldFilter:i=!0,loop:b=!0,disabled:R,resetSearchOnSelect:x=!0,resetSearchOnClose:S=!0,color:V,displayValue:v,...k}=o,u=oe(t,G.size),[E,w]=A({prop:m,defaultProp:f,onChange:l}),[p,we]=A({prop:a,defaultProp:n,onChange:s}),[q,N]=A({prop:g,defaultProp:h,onChange:y}),$=typeof v=="function"?v(p):v,[D]=e.useState(()=>Ge(p));K(()=>{D.set(p)},[D,p]);let F=H(L=>{w(L),!L&&S&&N("")}),_=H(L=>{we(L),w(!1),x&&N("")}),B=e.useRef(null),U=e.useCallback(()=>B.current?Ae(B.current):void 0,[]),Ie=e.useMemo(()=>({value:p,displayValue:$,setOpen:F,size:u,placeholder:c,searchPlaceholder:P,disabled:R,color:V,loop:b,shouldFilter:i,filter:C,triggerRef:B,getTriggerLabel:U}),[p,$,F,u,c,P,R,V,b,i,C,U]),Ne=e.useMemo(()=>({value:q,setValue:N}),[q,N]),De=e.useMemo(()=>({store:D,onSelect:_,disabled:R}),[D,_,R]);return e.createElement(ue.Provider,{value:Ie},e.createElement(de.Provider,{value:Ne},e.createElement(fe.Provider,{value:De},e.createElement(se,{open:E,onOpenChange:F,...k},r))))};Pe.displayName="Combobox.Root";var ge=e.forwardRef((o,r)=>{let t=M("Trigger"),{children:a,className:n,placeholder:s,disabled:m,readOnly:f,error:l,loading:c,color:P,radius:g,onClick:h,onKeyDown:y,type:C,...i}=O({size:t.size,...o},Fe,le),b=m??t.disabled,R=P??t.color,x=!!(f||c),S=t.value==null&&t.displayValue==null,V=pe(r,t.triggerRef),{getTriggerLabel:v}=t;e.useEffect(()=>{},[v]);let k=p=>{h?.(p),x&&p.preventDefault()},u=p=>{y?.(p),!(p.defaultPrevented||x||b)&&(p.key==="ArrowDown"||p.key==="ArrowUp")&&(p.preventDefault(),t.setOpen(!0))},E=e.createElement("span",{className:"kui-SelectIcon kui-SelectLoadingIcon","aria-hidden":"true"},e.createElement(Y,null)),w=e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-SelectTriggerInner"},e.createElement("span",{className:"kui-ComboboxValue"},t.displayValue??t.value??s??t.placeholder)),c?E:e.createElement(ee,{className:"kui-SelectIcon"}));return e.createElement(ie,{disabled:b},e.createElement("button",{"data-accent-color":R,"data-radius":g,"data-error":l,"data-loading":c,"data-disabled":b||void 0,"data-read-only":f||void 0,"data-placeholder":S?"":void 0,...i,role:"combobox","aria-disabled":b||i["aria-disabled"],"aria-readonly":f||i["aria-readonly"],"aria-invalid":l||i["aria-invalid"],"aria-busy":c||i["aria-busy"],type:C??"button",disabled:b,onClick:k,onKeyDown:u,ref:V,className:d("kui-reset","kui-SelectTrigger","kui-ComboboxTrigger",n)},a?e.createElement(e.Fragment,null,ae(a),c?E:null):w))});ge.displayName="Combobox.Trigger";var he=e.forwardRef(({placeholder:o,children:r,className:t,...a},n)=>{let s=M("Value"),m=s.displayValue??s.value??void 0;return e.createElement("span",{...a,ref:n,className:d("kui-ComboboxValue",t)},m??r??o??s.placeholder)});he.displayName="Combobox.Value";function He(){let o=ce(n=>n.filtered.count),r=ce(n=>n.search),[t,a]=e.useState("");return e.useEffect(()=>{let n=r?o===0?"No results":`${o} result${o===1?"":"s"}`:"",s=window.setTimeout(()=>a(n),r?400:0);return()=>window.clearTimeout(s)},[o,r]),e.createElement(ne,{role:"status","aria-live":"polite","aria-atomic":"true"},t)}var ye=e.forwardRef((o,r)=>{let t=M("Content"),a=te(),n=o.size??t.size??z.size.default,{className:s,children:m,color:f,forceMount:l,container:c,onOpenAutoFocus:P,"aria-label":g,"aria-labelledby":h,...y}=O({...o,size:n},z),C=f||t.color||a.accentColor,{getTriggerLabel:i}=t,[b,R]=e.useState(i);K(()=>{if(b!==void 0)return;let u=i();u!==void 0&&R(u)},[i,b]);let x=o["aria-label"]??b,S=e.useMemo(()=>({sizeClassName:O({size:n},Be).className||void 0,color:C,label:x}),[n,C,x]),V=e.useRef(null),v=u=>{if(P?.(u),u.defaultPrevented)return;let E=V.current;if(!E||E.querySelector("[cmdk-input]"))return;u.preventDefault(),(E.querySelector("[cmdk-list]")??E).focus({preventScroll:!0})},k=t.value?.trim()||void 0;return e.createElement(me.Portal,{container:c,forceMount:l?!0:void 0},e.createElement(re,{asChild:!0},e.createElement(me.Content,{"data-accent-color":C,align:"start",sideOffset:4,collisionPadding:10,"aria-label":h?void 0:x,"aria-labelledby":h,...y,forceMount:l?!0:void 0,onOpenAutoFocus:v,ref:r,className:d("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-ComboboxContent",s)},e.createElement(Ce.Provider,{value:S},e.createElement(T,{ref:V,loop:t.loop,shouldFilter:t.shouldFilter,filter:t.filter,label:x,defaultValue:k,className:"kui-ComboboxCommand"},m,e.createElement(He,null))))))});ye.displayName="Combobox.Content";var Re=e.forwardRef(({className:o,startAdornment:r,endAdornment:t,placeholder:a,variant:n,value:s,onValueChange:m,...f},l)=>{let c=M("Input"),P=e.useContext(de),g=xe(),h=n??"soft",y=s??P?.value??"",C=m??P?.setValue,i=e.createElement("div",{className:d("kui-TextFieldRoot","kui-ComboboxInputRoot",g?.sizeClassName,`kui-variant-${h}`),"data-accent-color":g?.color},r?e.createElement("div",{className:"kui-TextFieldSlot"},r):null,e.createElement(T.Input,{...f,ref:l,value:y,onValueChange:C,placeholder:a??c.searchPlaceholder,className:d("kui-reset","kui-TextFieldInput",o)}),t?e.createElement("div",{className:"kui-TextFieldSlot","data-side":"right"},t):null);return g?e.createElement("div",{className:"kui-ComboboxSearch"},i):i});Re.displayName="Combobox.Input";var ve=e.forwardRef(({className:o,children:r,label:t,...a},n)=>{let s=xe();return e.createElement("div",{className:"kui-ComboboxScrollArea"},e.createElement("div",{className:d("kui-BaseMenuViewport","kui-ComboboxViewport")},e.createElement(T.List,{...a,label:t??s?.label,ref:n,className:d("kui-ComboboxList",o)},r)))});ve.displayName="Combobox.List";var Se=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Empty,{...r,ref:t,className:d("kui-ComboboxEmpty",o)}));Se.displayName="Combobox.Empty";var Ve=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Group,{...r,ref:t,className:d("kui-BaseMenuGroup","kui-ComboboxGroup",o)}));Ve.displayName="Combobox.Group";var Ee=e.forwardRef(({className:o,id:r,...t},a)=>{let n=e.useId(),s=r??n,m=e.useRef(null),f=pe(a,m);return K(()=>{let l=m.current?.closest("[cmdk-group-items]");if(!(!l||l.hasAttribute("aria-labelledby")))return l.setAttribute("aria-labelledby",s),()=>{l.getAttribute("aria-labelledby")===s&&l.removeAttribute("aria-labelledby")}},[s]),e.createElement("div",{...t,id:s,ref:f,className:d("kui-BaseMenuLabel","kui-ComboboxLabel",o)})});Ee.displayName="Combobox.Label";var ke=e.forwardRef(({className:o,...r},t)=>e.createElement(T.Separator,{...r,ref:t,className:d("kui-BaseMenuSeparator","kui-ComboboxSeparator",o)}));ke.displayName="Combobox.Separator";function j(o){return o==null||typeof o=="boolean"?"":typeof o=="string"||typeof o=="number"?String(o):Array.isArray(o)?o.map(j).join(""):e.isValidElement(o)?j(o.props.children):""}var Te=e.forwardRef(({className:o,children:r,label:t,value:a,disabled:n,onSelect:s,keywords:m,...f},l)=>{let c=e.useContext(fe);if(!c)throw new Error("Combobox.Item must be used within Combobox.Root");let{store:P,onSelect:g,disabled:h}=c,y=a??(typeof r=="string"?r.trim():void 0),C=()=>y!==void 0&&P.get()===y,i=e.useSyncExternalStore(P.subscribe,C,C),b=H(s),R=e.useCallback(k=>{let u=a??k;g(u),b(u)},[a,g,b]),x=(t??j(r)).replace(/\s+/g," ").trim(),S=x?m?[x,...m]:[x]:m,V=S?S.join("\0"):"",v=n??h??!1;return e.createElement(T.Item,{key:V,...f,value:a,keywords:S,"aria-checked":i,disabled:v||void 0,ref:l,onSelect:R,className:d("kui-reset","kui-BaseMenuItem","kui-ComboboxItem",o)},i?e.createElement("span",{className:d("kui-BaseMenuItemIndicator","kui-ComboboxItemIndicator")},e.createElement(Z,{className:d("kui-BaseMenuItemIndicatorIcon","kui-ComboboxItemIndicatorIcon")})):null,e.createElement(X,null,r))});Te.displayName="Combobox.Item";export{Pe as a,ge as b,he as c,ye as d,Re as e,ve as f,Se as g,Ve as h,Ee as i,ke as j,Te as k,je as l};
3
+ //# sourceMappingURL=chunk-2E57H3NH.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/combobox.tsx", "../../src/components/combobox.props.tsx"],
4
+ "sourcesContent": ["'use client';\n\n/**\n * Combobox: Radix Popover for positioning, dismissal and focus; cmdk for search,\n * filtering and keyboard navigation.\n *\n * Render path. State is split so an interaction re-renders only what reads it:\n * - `ComboboxContext` (Trigger, Value, Content): config and the selected value.\n * Open state is not in it, so opening and closing re-render no consumer.\n * - `ComboboxSearchContext` (Input only): the search text.\n * - `ComboboxItemContext` (Items): stable values only. Items read \"am I selected\"\n * from a store through `useSyncExternalStore`, so a selection re-renders the old\n * and the new selected item, not all N.\n *\n * Highlight. cmdk's `data-selected` is the single highlight source, driven by both\n * the pointer and the keyboard. There is no separate CSS `:hover` highlight, so two\n * items are never lit at once and Enter always picks the lit item.\n */\n\nimport { warnDeprecated } from '../helpers/warn-deprecated.js';\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport { useCallbackRef, useComposedRefs, useControllableState, useLayoutEffect } from 'radix-ui/internal';\nimport { Command as CommandPrimitive, useCommandState } from 'cmdk';\n\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSize } from '../hooks/theme-size.js';\nimport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs } from './combobox.props.js';\nimport { ChevronDownIcon, ThickCheckIcon } from './icons.js';\nimport { Spinner } from './spinner.js';\nimport { useThemeContext } from './theme.js';\nimport { PortalTheme } from './_internal/portal-theme.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport * as Popover from './popover.js';\nimport { Slottable } from './slot.js';\nimport { VisuallyHidden } from './visually-hidden.js';\n\nimport type { textFieldRootPropDefs } from './text-field.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\ntype TextFieldVariant = (typeof textFieldRootPropDefs.variant.values)[number];\ntype ComboboxValue = string | null;\ntype CommandFilter = (value: string, search: string, keywords?: string[]) => number;\n\n// Hoisted so extractProps' compiled prop-def cache (keyed by object identity) hits.\nconst triggerSizingPropDefs = { size: comboboxRootPropDefs.size };\nconst contentSizePropDefs = { size: comboboxContentPropDefs.size };\n\nconst warned = new Set<string>();\nfunction warnOnce(message: string) {\n if (warned.has(message)) return;\n warned.add(message);\n console.warn(message);\n}\n\n// ============================================================================\n// Selection store\n// ============================================================================\n\ninterface SelectionStore {\n get: () => ComboboxValue;\n set: (value: ComboboxValue) => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore(initial: ComboboxValue): SelectionStore {\n let current = initial;\n const listeners = new Set<() => void>();\n return {\n get: () => current,\n set: (next) => {\n if (Object.is(next, current)) return;\n current = next;\n listeners.forEach((listener) => listener());\n },\n subscribe: (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\n// ============================================================================\n// Contexts\n// ============================================================================\n\ninterface ComboboxContextValue {\n value: ComboboxValue;\n displayValue?: string;\n setOpen: (open: boolean) => void;\n size?: ComboboxRootOwnProps['size'];\n placeholder?: string;\n searchPlaceholder?: string;\n disabled?: boolean;\n color?: string;\n loop: boolean;\n shouldFilter: boolean;\n filter?: CommandFilter;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n /** Reads the trigger's accessible name from the DOM (aria-label, aria-labelledby or <label>). */\n getTriggerLabel: () => string | undefined;\n}\n\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\n\nconst useComboboxContext = (componentName: string) => {\n const ctx = React.useContext(ComboboxContext);\n if (!ctx) {\n throw new Error(`Combobox.${componentName} must be used within Combobox.Root`);\n }\n return ctx;\n};\n\ninterface ComboboxSearchContextValue {\n value: string;\n setValue: (value: string) => void;\n}\n\nconst ComboboxSearchContext = React.createContext<ComboboxSearchContextValue | null>(null);\n\ninterface ComboboxItemContextValue {\n store: SelectionStore;\n onSelect: (value: string) => void;\n disabled?: boolean;\n}\n\nconst ComboboxItemContext = React.createContext<ComboboxItemContextValue | null>(null);\n\n/** Values resolved by Content and read by Input and List. */\ninterface ComboboxContentContextValue {\n sizeClassName?: string;\n color?: string;\n label?: string;\n}\n\nconst ComboboxContentContext = React.createContext<ComboboxContentContextValue | null>(null);\n\nconst useComboboxContentContext = () => React.useContext(ComboboxContentContext);\n\n// ============================================================================\n// Root\n// ============================================================================\n\ntype ComboboxRootOwnProps = GetPropDefTypes<typeof comboboxRootPropDefs> & {\n value?: ComboboxValue;\n defaultValue?: ComboboxValue;\n onValueChange?: (value: ComboboxValue) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n searchValue?: string;\n defaultSearchValue?: string;\n onSearchValueChange?: (value: string) => void;\n filter?: CommandFilter;\n shouldFilter?: boolean;\n loop?: boolean;\n disabled?: boolean;\n /** Clear the search text when an option is selected. Defaults to true. */\n resetSearchOnSelect?: boolean;\n /** Clear the search text when the popup is dismissed without a selection. Defaults to true. */\n resetSearchOnClose?: boolean;\n color?: (typeof comboboxTriggerPropDefs.color.values)[number];\n /**\n * Text shown in the trigger for the selected value. Without it the raw value is shown.\n * Can be a string or a function that receives the current value. Pass a stable\n * function (module scope or `useCallback`): an inline function runs on every render.\n * @example displayValue={(v) => items.find(i => i.value === v)?.label}\n */\n displayValue?: string | ((value: ComboboxValue) => string | undefined);\n};\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof Popover.Root>;\ninterface ComboboxRootProps extends PopoverRootProps, ComboboxRootOwnProps {}\n\nfunction readElementLabel(el: HTMLElement): string | undefined {\n const ariaLabel = el.getAttribute('aria-label')?.trim();\n if (ariaLabel) return ariaLabel;\n\n const labelledBy = el.getAttribute('aria-labelledby');\n if (labelledBy) {\n const text = labelledBy\n .split(/\\s+/)\n .map((id) => el.ownerDocument.getElementById(id)?.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n const labels = (el as HTMLButtonElement).labels;\n if (labels && labels.length > 0) {\n const text = Array.from(labels)\n .map((label) => label.textContent?.trim())\n .filter(Boolean)\n .join(' ');\n if (text) return text;\n }\n\n return undefined;\n}\n\nconst ComboboxRoot: React.FC<ComboboxRootProps> = (props) => {\n const {\n children,\n size: sizeProp,\n value: valueProp,\n defaultValue = null,\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n placeholder = 'Select an option',\n searchPlaceholder = 'Search...',\n searchValue: searchValueProp,\n defaultSearchValue = '',\n onSearchValueChange,\n filter,\n shouldFilter = true,\n loop = true,\n disabled,\n resetSearchOnSelect = true,\n resetSearchOnClose = true,\n color,\n displayValue: displayValueProp,\n ...rootProps\n } = props;\n const size = useThemeSize(sizeProp, comboboxRootPropDefs.size);\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [value, setValue] = useControllableState<ComboboxValue>({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const [searchValue, setSearchValue] = useControllableState<string>({\n prop: searchValueProp,\n defaultProp: defaultSearchValue,\n onChange: onSearchValueChange,\n });\n\n const resolvedDisplayValue = typeof displayValueProp === 'function' ? displayValueProp(value) : displayValueProp;\n\n // Items subscribe to this store instead of the context, so a selection\n // re-renders only the items whose selected state flips.\n const [store] = React.useState(() => createSelectionStore(value));\n useLayoutEffect(() => {\n store.set(value);\n }, [store, value]);\n\n // The radix setters change identity whenever their controlled prop changes.\n // Reading them through callback refs keeps these handlers stable, so the\n // contexts below do not change on every keystroke or selection.\n const handleOpenChange = useCallbackRef((nextOpen: boolean) => {\n setOpen(nextOpen);\n if (!nextOpen && resetSearchOnClose) setSearchValue('');\n });\n\n const onSelect = useCallbackRef((nextValue: string) => {\n setValue(nextValue);\n setOpen(false);\n if (resetSearchOnSelect) setSearchValue('');\n });\n\n const triggerRef = React.useRef<HTMLButtonElement | null>(null);\n const getTriggerLabel = React.useCallback(() => (triggerRef.current ? readElementLabel(triggerRef.current) : undefined), []);\n\n const contextValue = React.useMemo<ComboboxContextValue>(\n () => ({\n value,\n displayValue: resolvedDisplayValue,\n setOpen: handleOpenChange,\n size,\n placeholder,\n searchPlaceholder,\n disabled,\n color,\n loop,\n shouldFilter,\n filter,\n triggerRef,\n getTriggerLabel,\n }),\n [value, resolvedDisplayValue, handleOpenChange, size, placeholder, searchPlaceholder, disabled, color, loop, shouldFilter, filter, getTriggerLabel],\n );\n\n const searchContextValue = React.useMemo<ComboboxSearchContextValue>(() => ({ value: searchValue, setValue: setSearchValue }), [searchValue, setSearchValue]);\n\n const itemContextValue = React.useMemo<ComboboxItemContextValue>(() => ({ store, onSelect, disabled }), [store, onSelect, disabled]);\n\n return (\n <ComboboxContext.Provider value={contextValue}>\n <ComboboxSearchContext.Provider value={searchContextValue}>\n <ComboboxItemContext.Provider value={itemContextValue}>\n <Popover.Root open={open} onOpenChange={handleOpenChange} {...rootProps}>\n {children}\n </Popover.Root>\n </ComboboxItemContext.Provider>\n </ComboboxSearchContext.Provider>\n </ComboboxContext.Provider>\n );\n};\nComboboxRoot.displayName = 'Combobox.Root';\n\n// ============================================================================\n// Trigger\n// ============================================================================\n\ntype ComboboxTriggerElement = HTMLButtonElement;\ntype ComboboxTriggerOwnProps = GetPropDefTypes<typeof comboboxTriggerPropDefs>;\ntype NativeTriggerProps = Omit<React.ComponentPropsWithoutRef<'button'>, 'color'>;\ninterface ComboboxTriggerProps extends NativeTriggerProps, ComboboxTriggerOwnProps {}\n\nconst ComboboxTrigger = React.forwardRef<ComboboxTriggerElement, ComboboxTriggerProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Trigger');\n\n const {\n children,\n className,\n placeholder,\n disabled,\n readOnly,\n error,\n loading,\n color,\n radius,\n onClick,\n onKeyDown,\n type: buttonType,\n ...triggerProps\n } = extractProps({ size: ctx.size, ...props }, triggerSizingPropDefs, comboboxTriggerPropDefs);\n\n const isDisabled = disabled ?? ctx.disabled;\n const resolvedColor = color ?? ctx.color;\n // Read-only and loading triggers stay focusable but do not open.\n const isBlocked = Boolean(readOnly || loading);\n const isPlaceholder = ctx.value == null && ctx.displayValue == null;\n\n const composedRef = useComposedRefs(forwardedRef, ctx.triggerRef);\n\n const { getTriggerLabel } = ctx;\n React.useEffect(() => {\n if (process.env.NODE_ENV === 'production') return;\n if (!getTriggerLabel()) {\n warnOnce(\n 'Combobox.Trigger has no accessible name. The combobox role does not take its name from its content. Add `aria-label`, `aria-labelledby`, or a `<label htmlFor>` that points at the trigger.',\n );\n }\n }, [getTriggerLabel]);\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n // Radix skips its open toggle when the event is default-prevented.\n if (isBlocked) event.preventDefault();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented || isBlocked || isDisabled) return;\n // Both arrows open the list, as on Select (APG select-only combobox).\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n ctx.setOpen(true);\n }\n };\n\n const loadingIcon = (\n <span className=\"kui-SelectIcon kui-SelectLoadingIcon\" aria-hidden=\"true\">\n <Spinner />\n </span>\n );\n\n const defaultContent = (\n <>\n <span className=\"kui-SelectTriggerInner\">\n <span className=\"kui-ComboboxValue\">{ctx.displayValue ?? ctx.value ?? placeholder ?? ctx.placeholder}</span>\n </span>\n {loading ? loadingIcon : <ChevronDownIcon className=\"kui-SelectIcon\" />}\n </>\n );\n\n // Radix Popover.Trigger supplies aria-expanded, aria-controls (the popup id) and\n // aria-haspopup=\"dialog\", which matches the Popover dialog this opens.\n return (\n <Popover.Trigger disabled={isDisabled}>\n <button\n data-accent-color={resolvedColor}\n data-radius={radius}\n data-error={error}\n data-loading={loading}\n data-disabled={isDisabled || undefined}\n data-read-only={readOnly || undefined}\n data-placeholder={isPlaceholder ? '' : undefined}\n {...triggerProps}\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props -- Popover.Trigger (Slot) adds aria-expanded and aria-controls\n role=\"combobox\"\n // The props win when set; otherwise a caller's own aria-* (a form library's aria-invalid) stays, as on Select.\n aria-disabled={isDisabled || triggerProps['aria-disabled']}\n aria-readonly={readOnly || triggerProps['aria-readonly']}\n aria-invalid={error || triggerProps['aria-invalid']}\n aria-busy={loading || triggerProps['aria-busy']}\n type={buttonType ?? 'button'}\n disabled={isDisabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n ref={composedRef}\n className={classNames('kui-reset', 'kui-SelectTrigger', 'kui-ComboboxTrigger', className)}\n >\n {/* Custom children replace the value and chevron; the spinner still shows while loading. */}\n {children ? (\n <>\n {requireReactElement(children)}\n {loading ? loadingIcon : null}\n </>\n ) : (\n defaultContent\n )}\n </button>\n </Popover.Trigger>\n );\n});\nComboboxTrigger.displayName = 'Combobox.Trigger';\n\n// ============================================================================\n// Value (standalone, for custom trigger layouts)\n// ============================================================================\n\ntype ComboboxValueElement = HTMLSpanElement;\ninterface ComboboxValueProps extends React.ComponentPropsWithoutRef<'span'> {\n placeholder?: string;\n}\n\nconst ComboboxValue = React.forwardRef<ComboboxValueElement, ComboboxValueProps>(({ placeholder, children, className, ...valueProps }, forwardedRef) => {\n const ctx = useComboboxContext('Value');\n const display = ctx.displayValue ?? ctx.value ?? undefined;\n return (\n <span {...valueProps} ref={forwardedRef} className={classNames('kui-ComboboxValue', className)}>\n {display ?? children ?? placeholder ?? ctx.placeholder}\n </span>\n );\n});\nComboboxValue.displayName = 'Combobox.Value';\n\n// ============================================================================\n// Content\n// ============================================================================\n\ntype ComboboxContentElement = React.ElementRef<typeof PopoverPrimitive.Content>;\ntype ComboboxContentOwnProps = GetPropDefTypes<typeof comboboxContentPropDefs> & {\n container?: React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Portal>['container'];\n};\ninterface ComboboxContentProps extends Omit<ComponentPropsWithout<typeof PopoverPrimitive.Content, RemovedProps>, 'size'>, ComboboxContentOwnProps {}\n\n/** Announces the filtered result count to screen readers after typing settles. */\nfunction ComboboxAnnouncer() {\n const count = useCommandState((state) => state.filtered.count);\n const search = useCommandState((state) => state.search);\n const [message, setMessage] = React.useState('');\n\n React.useEffect(() => {\n const next = !search ? '' : count === 0 ? 'No results' : `${count} result${count === 1 ? '' : 's'}`;\n const timeout = window.setTimeout(() => setMessage(next), search ? 400 : 0);\n return () => window.clearTimeout(timeout);\n }, [count, search]);\n\n return (\n <VisuallyHidden role=\"status\" aria-live=\"polite\" aria-atomic=\"true\">\n {message}\n </VisuallyHidden>\n );\n}\n\nconst ComboboxContent = React.forwardRef<ComboboxContentElement, ComboboxContentProps>((props, forwardedRef) => {\n const ctx = useComboboxContext('Content');\n const themeContext = useThemeContext();\n\n // The list takes the field's size.\n const size = props.size ?? ctx.size ?? comboboxContentPropDefs.size.default;\n\n const {\n className,\n children,\n color,\n forceMount,\n container,\n onOpenAutoFocus,\n 'aria-label': _ariaLabel,\n 'aria-labelledby': ariaLabelledByProp,\n ...contentProps\n } = extractProps({ ...props, size }, comboboxContentPropDefs);\n\n const resolvedColor = color || ctx.color || themeContext.accentColor;\n\n\n // The trigger's name labels the popup, the search field and the listbox.\n // Read once per mount (the content remounts on every open); fall back to a\n // layout effect when the trigger was not attached yet (defaultOpen, forceMount).\n const { getTriggerLabel } = ctx;\n const [triggerLabel, setTriggerLabel] = React.useState(getTriggerLabel);\n useLayoutEffect(() => {\n if (triggerLabel !== undefined) return;\n const label = getTriggerLabel();\n if (label !== undefined) setTriggerLabel(label);\n }, [getTriggerLabel, triggerLabel]);\n\n const label = props['aria-label'] ?? triggerLabel;\n\n const contentContextValue = React.useMemo<ComboboxContentContextValue>(\n () => ({\n // Responsive-aware size class for the search field (never String() a responsive object).\n sizeClassName: extractProps({ size }, contentSizePropDefs).className || undefined,\n color: resolvedColor,\n label,\n }),\n [size, resolvedColor, label],\n );\n\n const commandRef = React.useRef<HTMLDivElement>(null);\n\n // Without a search field, focus would land on the popup itself, outside cmdk's\n // keydown handler. Focus the listbox instead so arrow keys and Enter work.\n const handleOpenAutoFocus = (event: Event) => {\n onOpenAutoFocus?.(event);\n if (event.defaultPrevented) return;\n const command = commandRef.current;\n if (!command || command.querySelector('[cmdk-input]')) return;\n event.preventDefault();\n const list = command.querySelector<HTMLElement>('[cmdk-list]');\n (list ?? command).focus({ preventScroll: true });\n };\n\n // Start the highlight on the selected option (cmdk trims item values).\n const initialHighlight = ctx.value?.trim() || undefined;\n\n return (\n <PopoverPrimitive.Portal container={container} forceMount={forceMount ? true : undefined}>\n <PortalTheme asChild>\n <PopoverPrimitive.Content\n data-accent-color={resolvedColor}\n align=\"start\"\n sideOffset={4}\n collisionPadding={10}\n aria-label={ariaLabelledByProp ? undefined : label}\n aria-labelledby={ariaLabelledByProp}\n {...contentProps}\n forceMount={forceMount ? true : undefined}\n onOpenAutoFocus={handleOpenAutoFocus}\n ref={forwardedRef}\n className={classNames('kui-PopperContent', 'kui-BaseMenuContent',\n 'kui-variant-soft', 'kui-ComboboxContent', className)}\n >\n <ComboboxContentContext.Provider value={contentContextValue}>\n <CommandPrimitive\n ref={commandRef}\n loop={ctx.loop}\n shouldFilter={ctx.shouldFilter}\n filter={ctx.filter}\n label={label}\n defaultValue={initialHighlight}\n className=\"kui-ComboboxCommand\"\n >\n {children}\n <ComboboxAnnouncer />\n </CommandPrimitive>\n </ComboboxContentContext.Provider>\n </PopoverPrimitive.Content>\n </PortalTheme>\n </PopoverPrimitive.Portal>\n );\n});\nComboboxContent.displayName = 'Combobox.Content';\n\n// ============================================================================\n// Input\n// ============================================================================\n\ntype ComboboxInputElement = React.ElementRef<typeof CommandPrimitive.Input>;\ninterface ComboboxInputProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>, 'value' | 'onValueChange'> {\n startAdornment?: React.ReactNode;\n endAdornment?: React.ReactNode;\n variant?: TextFieldVariant;\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst ComboboxInput = React.forwardRef<ComboboxInputElement, ComboboxInputProps>(\n ({ className, startAdornment, endAdornment, placeholder, variant: inputVariant, value, onValueChange, ...inputProps }, forwardedRef) => {\n const ctx = useComboboxContext('Input');\n const search = React.useContext(ComboboxSearchContext);\n const contentContext = useComboboxContentContext();\n\n const textFieldVariant = inputVariant ?? 'soft';\n\n // The search text lives in Root; only this component subscribes to it.\n const searchValue = value ?? search?.value ?? '';\n const handleSearchChange = onValueChange ?? search?.setValue;\n\n const inputField = (\n <div\n className={classNames('kui-TextFieldRoot', 'kui-ComboboxInputRoot', contentContext?.sizeClassName, `kui-variant-${textFieldVariant}`)}\n data-accent-color={contentContext?.color}\n >\n {startAdornment ? <div className=\"kui-TextFieldSlot\">{startAdornment}</div> : null}\n <CommandPrimitive.Input\n {...inputProps}\n ref={forwardedRef}\n value={searchValue}\n onValueChange={handleSearchChange}\n placeholder={placeholder ?? ctx.searchPlaceholder}\n className={classNames('kui-reset', 'kui-TextFieldInput', className)}\n />\n {endAdornment ? (\n <div className=\"kui-TextFieldSlot\" data-side=\"right\">\n {endAdornment}\n </div>\n ) : null}\n </div>\n );\n\n return contentContext ? <div className=\"kui-ComboboxSearch\">{inputField}</div> : inputField;\n },\n);\nComboboxInput.displayName = 'Combobox.Input';\n\n// ============================================================================\n// List\n// ============================================================================\n\ntype ComboboxListElement = React.ElementRef<typeof CommandPrimitive.List>;\ninterface ComboboxListProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> {}\n\n// cmdk's List owns its id (referenced by the input's aria-controls), role and\n// aria-label (set from `label`), so none of them are overridden here.\nconst ComboboxList = React.forwardRef<ComboboxListElement, ComboboxListProps>(({ className, children, label, ...listProps }, forwardedRef) => {\n const contentContext = useComboboxContentContext();\n return (\n <div className=\"kui-ComboboxScrollArea\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-ComboboxViewport')}>\n <CommandPrimitive.List {...listProps} label={label ?? contentContext?.label} ref={forwardedRef} className={classNames('kui-ComboboxList', className)}>\n {children}\n </CommandPrimitive.List>\n </div>\n </div>\n );\n});\nComboboxList.displayName = 'Combobox.List';\n\n// ============================================================================\n// Empty\n// ============================================================================\n\ntype ComboboxEmptyElement = React.ElementRef<typeof CommandPrimitive.Empty>;\ninterface ComboboxEmptyProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty> {}\n\nconst ComboboxEmpty = React.forwardRef<ComboboxEmptyElement, ComboboxEmptyProps>(({ className, ...emptyProps }, forwardedRef) => (\n <CommandPrimitive.Empty {...emptyProps} ref={forwardedRef} className={classNames('kui-ComboboxEmpty', className)} />\n));\nComboboxEmpty.displayName = 'Combobox.Empty';\n\n// ============================================================================\n// Group\n// ============================================================================\n\ntype ComboboxGroupElement = React.ElementRef<typeof CommandPrimitive.Group>;\ninterface ComboboxGroupProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group> {}\n\nconst ComboboxGroup = React.forwardRef<ComboboxGroupElement, ComboboxGroupProps>(({ className, ...groupProps }, forwardedRef) => (\n <CommandPrimitive.Group {...groupProps} ref={forwardedRef} className={classNames('kui-BaseMenuGroup', 'kui-ComboboxGroup', className)} />\n));\nComboboxGroup.displayName = 'Combobox.Group';\n\n// ============================================================================\n// Label\n// ============================================================================\n\ntype ComboboxLabelElement = React.ElementRef<'div'>;\ninterface ComboboxLabelProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst ComboboxLabel = React.forwardRef<ComboboxLabelElement, ComboboxLabelProps>(({ className, id: idProp, ...labelProps }, forwardedRef) => {\n const generatedId = React.useId();\n const id = idProp ?? generatedId;\n const localRef = React.useRef<HTMLDivElement>(null);\n const composedRef = useComposedRefs(forwardedRef, localRef);\n\n // cmdk renders the group's role=\"group\" element itself and gives no way to\n // label it from a child, so name it after this label when inside a Group.\n useLayoutEffect(() => {\n const group = localRef.current?.closest('[cmdk-group-items]');\n if (!group || group.hasAttribute('aria-labelledby')) return;\n group.setAttribute('aria-labelledby', id);\n return () => {\n if (group.getAttribute('aria-labelledby') === id) group.removeAttribute('aria-labelledby');\n };\n }, [id]);\n\n return <div {...labelProps} id={id} ref={composedRef} className={classNames('kui-BaseMenuLabel', 'kui-ComboboxLabel', className)} />;\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\n// ============================================================================\n// Separator\n// ============================================================================\n\ntype ComboboxSeparatorElement = React.ElementRef<typeof CommandPrimitive.Separator>;\ninterface ComboboxSeparatorProps extends React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator> {}\n\nconst ComboboxSeparator = React.forwardRef<ComboboxSeparatorElement, ComboboxSeparatorProps>(({ className, ...separatorProps }, forwardedRef) => (\n <CommandPrimitive.Separator {...separatorProps} ref={forwardedRef} className={classNames('kui-BaseMenuSeparator', 'kui-ComboboxSeparator', className)} />\n));\nComboboxSeparator.displayName = 'Combobox.Separator';\n\n// ============================================================================\n// Item\n// ============================================================================\n\n/** Plain text of a React node tree, used as the item's search text. */\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') return '';\n if (typeof node === 'string' || typeof node === 'number') return String(node);\n if (Array.isArray(node)) return node.map(getNodeText).join('');\n if (React.isValidElement<{ children?: React.ReactNode }>(node)) return getNodeText(node.props.children);\n return '';\n}\n\ntype ComboboxItemElement = React.ElementRef<typeof CommandPrimitive.Item>;\ninterface ComboboxItemProps extends Omit<React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>, 'keywords' | 'onSelect'> {\n /**\n * Text matched by search. Defaults to the text of `children`. Set it when the\n * children are components whose text is not in the JSX (it cannot be read).\n */\n label?: string;\n /** Additional keywords for search filtering. */\n keywords?: string[];\n /** Called when the item is selected. */\n onSelect?: (value: string) => void;\n}\n\nconst ComboboxItem = React.forwardRef<ComboboxItemElement, ComboboxItemProps>(\n ({ className, children, label, value, disabled, onSelect, keywords, ...itemProps }, forwardedRef) => {\n const itemContext = React.useContext(ComboboxItemContext);\n if (!itemContext) {\n throw new Error('Combobox.Item must be used within Combobox.Root');\n }\n const { store, onSelect: onSelectFromRoot, disabled: rootDisabled } = itemContext;\n\n // Without `value`, cmdk uses the trimmed text of string children.\n const itemValue = value ?? (typeof children === 'string' ? children.trim() : undefined);\n const getIsSelected = () => itemValue !== undefined && store.get() === itemValue;\n const isSelected = React.useSyncExternalStore(store.subscribe, getIsSelected, getIsSelected);\n\n const onSelectProp = useCallbackRef(onSelect);\n // cmdk passes its resolved value (the `value` prop, or the text when `value` is omitted).\n const handleSelect = React.useCallback(\n (resolvedValue: string) => {\n const nextValue = value ?? resolvedValue;\n onSelectFromRoot(nextValue);\n onSelectProp(nextValue);\n },\n [value, onSelectFromRoot, onSelectProp],\n );\n\n // cmdk matches only `value` and `keywords`, so add the visible text as a keyword.\n const text = (label ?? getNodeText(children)).replace(/\\s+/g, ' ').trim();\n const searchKeywords = text ? (keywords ? [text, ...keywords] : [text]) : keywords;\n // cmdk stores keywords only when `value` changes. Remount the cmdk item when\n // they change so a new label or keyword list is picked up.\n const keywordsKey = searchKeywords ? searchKeywords.join('\\u0000') : '';\n\n const isDisabled = disabled ?? rootDisabled ?? false;\n\n return (\n <CommandPrimitive.Item\n key={keywordsKey}\n {...itemProps}\n value={value}\n keywords={searchKeywords}\n // cmdk owns aria-selected (the highlighted option); the chosen option is aria-checked.\n aria-checked={isSelected}\n disabled={isDisabled || undefined}\n ref={forwardedRef}\n onSelect={handleSelect}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-ComboboxItem', className)}\n >\n {isSelected ? (\n <span className={classNames('kui-BaseMenuItemIndicator', 'kui-ComboboxItemIndicator')}>\n <ThickCheckIcon className={classNames('kui-BaseMenuItemIndicatorIcon', 'kui-ComboboxItemIndicatorIcon')} />\n </span>\n ) : null}\n <Slottable>{children}</Slottable>\n </CommandPrimitive.Item>\n );\n },\n);\nComboboxItem.displayName = 'Combobox.Item';\n\n// ============================================================================\n// Exports\n// ============================================================================\n\nexport {\n ComboboxRoot as Root,\n ComboboxTrigger as Trigger,\n ComboboxValue as Value,\n ComboboxContent as Content,\n ComboboxInput as Input,\n ComboboxList as List,\n ComboboxEmpty as Empty,\n ComboboxGroup as Group,\n ComboboxLabel as Label,\n ComboboxSeparator as Separator,\n ComboboxItem as Item,\n};\n\nexport type {\n ComboboxRootProps as RootProps,\n ComboboxTriggerProps as TriggerProps,\n ComboboxValueProps as ValueProps,\n ComboboxContentProps as ContentProps,\n ComboboxInputProps as InputProps,\n ComboboxListProps as ListProps,\n ComboboxEmptyProps as EmptyProps,\n ComboboxGroupProps as GroupProps,\n ComboboxLabelProps as LabelProps,\n ComboboxSeparatorProps as SeparatorProps,\n ComboboxItemProps as ItemProps,\n};\n", "import { colorPropDef } from '../props/color.prop.js';\nimport { radiusPropDef } from '../props/radius.prop.js';\nimport { widthPropDefs } from '../props/width.props.js';\nimport { heightPropDefs } from '../props/height.props.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\nconst sizes = ['1', '2', '3', '4'] as const;\n\n/**\n * Shared responsive sizing inherited by Combobox.Root.\n */\nconst comboboxRootPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: sizes, default: '2', responsive: true },\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n};\n\nconst triggerVariants = ['raised', 'surface', 'soft', 'outline', 'ghost'] as const;\n\n/**\n * Token-aware props specific to Combobox.Trigger.\n */\nconst comboboxTriggerPropDefs = {\n variant: { type: 'enum', className: 'kui-variant', values: triggerVariants, default: 'raised' },\n error: { type: 'boolean' },\n loading: { type: 'boolean' },\n disabled: { type: 'boolean' },\n readOnly: { type: 'boolean' },\n ...colorPropDef,\n ...radiusPropDef,\n width: widthPropDefs.width,\n placeholder: { type: 'string' },\n} satisfies {\n variant: PropDef<(typeof triggerVariants)[number]>;\n error: PropDef<boolean>;\n loading: PropDef<boolean>;\n disabled: PropDef<boolean>;\n readOnly: PropDef<boolean>;\n width: PropDef<string>;\n placeholder: PropDef<string>;\n};\n\n// The list takes sizes 1 to 4, like every menu.\nconst contentSizes = ['1', '2', '3', '4'] as const;\n\n/**\n * Styling props for the dropdown surface rendered by Combobox.Content.\n */\nconst comboboxContentPropDefs = {\n size: { type: 'enum', className: 'kui-r-size', values: contentSizes, default: '2', responsive: true },\n ...colorPropDef,\n width: widthPropDefs.width,\n minWidth: widthPropDefs.minWidth,\n maxWidth: { ...widthPropDefs.maxWidth, default: '480px' },\n ...heightPropDefs,\n} satisfies {\n size: PropDef<(typeof contentSizes)[number]>;\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n};\n\nexport { comboboxRootPropDefs, comboboxTriggerPropDefs, comboboxContentPropDefs };\n"],
5
+ "mappings": "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",
6
+ "names": ["combobox_exports", "__export", "ComboboxContent", "ComboboxEmpty", "ComboboxGroup", "ComboboxInput", "ComboboxItem", "ComboboxLabel", "ComboboxList", "ComboboxRoot", "ComboboxSeparator", "ComboboxTrigger", "ComboboxValue", "React", "classNames", "PopoverPrimitive", "useCallbackRef", "useComposedRefs", "useControllableState", "useLayoutEffect", "CommandPrimitive", "useCommandState", "sizes", "comboboxRootPropDefs", "triggerVariants", "comboboxTriggerPropDefs", "colorPropDef", "radiusPropDef", "widthPropDefs", "contentSizes", "comboboxContentPropDefs", "heightPropDefs", "triggerSizingPropDefs", "comboboxRootPropDefs", "contentSizePropDefs", "comboboxContentPropDefs", "warned", "warnOnce", "message", "createSelectionStore", "initial", "current", "listeners", "next", "listener", "ComboboxContext", "useComboboxContext", "componentName", "ctx", "ComboboxSearchContext", "ComboboxItemContext", "ComboboxContentContext", "useComboboxContentContext", "readElementLabel", "el", "ariaLabel", "labelledBy", "text", "id", "labels", "label", "ComboboxRoot", "props", "children", "sizeProp", "valueProp", "defaultValue", "onValueChange", "openProp", "defaultOpen", "onOpenChange", "placeholder", "searchPlaceholder", "searchValueProp", "defaultSearchValue", "onSearchValueChange", "filter", "shouldFilter", "loop", "disabled", "resetSearchOnSelect", "resetSearchOnClose", "color", "displayValueProp", "rootProps", "size", "useThemeSize", "open", "setOpen", "useControllableState", "value", "setValue", "searchValue", "setSearchValue", "resolvedDisplayValue", "store", "useLayoutEffect", "handleOpenChange", "useCallbackRef", "nextOpen", "onSelect", "nextValue", "triggerRef", "getTriggerLabel", "contextValue", "searchContextValue", "itemContextValue", "PopoverRoot", "ComboboxTrigger", "forwardedRef", "className", "readOnly", "error", "loading", "radius", "onClick", "onKeyDown", "buttonType", "triggerProps", "extractProps", "comboboxTriggerPropDefs", "isDisabled", "resolvedColor", "isBlocked", "isPlaceholder", "composedRef", "useComposedRefs", "handleClick", "event", "handleKeyDown", "loadingIcon", "Spinner", "defaultContent", "ChevronDownIcon", "PopoverTrigger", "classNames", "requireReactElement", "ComboboxValue", "valueProps", "display", "ComboboxAnnouncer", "count", "useCommandState", "state", "search", "setMessage", "timeout", "VisuallyHidden", "ComboboxContent", "themeContext", "useThemeContext", "forceMount", "container", "onOpenAutoFocus", "_ariaLabel", "ariaLabelledByProp", "contentProps", "triggerLabel", "setTriggerLabel", "contentContextValue", "commandRef", "handleOpenAutoFocus", "command", "initialHighlight", "PopoverPrimitive", "PortalTheme", "CommandPrimitive", "ComboboxInput", "startAdornment", "endAdornment", "inputVariant", "inputProps", "contentContext", "textFieldVariant", "handleSearchChange", "inputField", "ComboboxList", "listProps", "ComboboxEmpty", "emptyProps", "ComboboxGroup", "groupProps", "ComboboxLabel", "idProp", "labelProps", "generatedId", "localRef", "group", "ComboboxSeparator", "separatorProps", "getNodeText", "node", "ComboboxItem", "keywords", "itemProps", "itemContext", "onSelectFromRoot", "rootDisabled", "itemValue", "getIsSelected", "isSelected", "onSelectProp", "handleSelect", "resolvedValue", "searchKeywords", "keywordsKey", "ThickCheckIcon", "Slottable"]
7
+ }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{b as C,c as T,d as N,e as G}from"./chunk-2ACVWLFA.js";import{a as F}from"./chunk-TGRHRMQI.js";import{b as z,d as L,f as O}from"./chunk-GKDGNPBD.js";import{c as h,e as V,g as S,h as k,i as A}from"./chunk-ISCZ57VL.js";import{b,c as R,d as I,e as v}from"./chunk-EB4AG3OL.js";import{a as y}from"./chunk-MGWGD6KI.js";import{c as f}from"./chunk-OKQAVYW4.js";import{a as g}from"./chunk-AQKSO3SW.js";import{b as j}from"./chunk-FVRVBB6O.js";import{c as W}from"./chunk-5ON3XLRD.js";import{a as ne}from"./chunk-VQPANPMI.js";var ae={};ne(ae,{CheckboxItem:()=>Y,Content:()=>K,Group:()=>J,Item:()=>H,Label:()=>U,RadioGroup:()=>Q,RadioItem:()=>X,Root:()=>_,Separator:()=>te,Sub:()=>Z,SubContent:()=>ee,SubTrigger:()=>$,Trigger:()=>q});import*as e from"react";import s from"classnames";import{ContextMenu as i,Slot as B}from"radix-ui";import{useCallbackRef as re}from"radix-ui/internal";var _=t=>{let{open:r,onOpenChange:n}=t,[a,o]=e.useState(!1),u=r??a,p=re(n),c=e.useCallback(l=>{o(l),p(l)},[p]),m=e.useCallback(()=>c(!1),[c]);return e.createElement(V,{value:m},e.createElement(i.Root,{...t,open:u,onOpenChange:c}))};_.displayName="ContextMenu.Root";var q=e.forwardRef(({children:t,...r},n)=>e.createElement(i.Trigger,{...r,ref:n,asChild:!0},F(t)));q.displayName="ContextMenu.Trigger";var E=e.createContext({}),K=e.forwardRef((t,r)=>{let n=W(t,C.size),a=j(),{size:o=C.size.default}=n,{className:u,children:p,color:c,container:m,forceMount:l,submenuBehavior:w,virtualized:d=!1,...P}=f(n,C),x=c||a.accentColor,M=b(o,C.size.default),oe=e.useMemo(()=>({size:o,color:x}),[o,x]),D=e.createElement(h,{size:o},e.createElement(E.Provider,{value:oe},p));return e.createElement(i.Portal,{container:m,forceMount:l},e.createElement(g,{asChild:!0},e.createElement(i.Content,{"data-accent-color":x,alignOffset:R(M),collisionPadding:10,...P,asChild:!1,ref:r,className:s("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-ContextMenuContent",u)},d?e.createElement("div",{className:s("kui-BaseMenuViewport","kui-ContextMenuViewport","kui-virtualized")},D):e.createElement(y,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:s("kui-BaseMenuViewport","kui-ContextMenuViewport")},D)))))});K.displayName="ContextMenu.Content";var U=e.forwardRef(({className:t,id:r,...n},a)=>{let o=A(r);return e.createElement(i.Label,{...n,id:o,asChild:!1,ref:a,className:s("kui-BaseMenuLabel","kui-ContextMenuLabel",t)})});U.displayName="ContextMenu.Label";var H=e.forwardRef((t,r)=>{let{className:n,children:a,color:o=T.color.default,shortcut:u,...p}=t;return e.createElement(i.Item,{"data-accent-color":o,"aria-keyshortcuts":u?I(u):void 0,...p,ref:r,className:s("kui-reset","kui-BaseMenuItem","kui-ContextMenuItem",n)},e.createElement(B.Slottable,null,a),u&&e.createElement(v,{shortcut:u,className:"kui-ContextMenuShortcut"}))});H.displayName="ContextMenu.Item";var J=e.forwardRef(({className:t,"aria-labelledby":r,...n},a)=>{let[o,u]=k(r);return e.createElement(S,{value:u},e.createElement(i.Group,{"aria-labelledby":o,...n,asChild:!1,ref:a,className:s("kui-BaseMenuGroup","kui-ContextMenuGroup",t)}))});J.displayName="ContextMenu.Group";var Q=e.forwardRef(({className:t,"aria-labelledby":r,...n},a)=>{let[o,u]=k(r);return e.createElement(S,{value:u},e.createElement(i.RadioGroup,{"aria-labelledby":o,...n,asChild:!1,ref:a,className:s("kui-BaseMenuRadioGroup","kui-ContextMenuRadioGroup",t)}))});Q.displayName="ContextMenu.RadioGroup";var X=e.forwardRef((t,r)=>{let{children:n,className:a,color:o=G.color.default,...u}=t;return e.createElement(i.RadioItem,{...u,asChild:!1,ref:r,"data-accent-color":o,className:s("kui-BaseMenuItem","kui-BaseMenuRadioItem","kui-ContextMenuItem","kui-ContextMenuRadioItem",a)},e.createElement(B.Slottable,null,n),e.createElement(i.ItemIndicator,{className:"kui-BaseMenuItemIndicator kui-ContextMenuItemIndicator"},e.createElement(O,{className:"kui-BaseMenuItemIndicatorIcon kui-ContextMenuItemIndicatorIcon"})))});X.displayName="ContextMenu.RadioItem";var Y=e.forwardRef((t,r)=>{let{children:n,className:a,shortcut:o,color:u=N.color.default,...p}=t;return e.createElement(i.CheckboxItem,{"aria-keyshortcuts":o?I(o):void 0,...p,asChild:!1,ref:r,"data-accent-color":u,className:s("kui-BaseMenuItem","kui-BaseMenuCheckboxItem","kui-ContextMenuItem","kui-ContextMenuCheckboxItem",a)},e.createElement(B.Slottable,null,n),e.createElement(i.ItemIndicator,{className:"kui-BaseMenuItemIndicator kui-ContextMenuItemIndicator"},e.createElement(z,{className:"kui-BaseMenuItemIndicatorIcon kui-ContextMenuItemIndicatorIcon"})),o&&e.createElement(v,{shortcut:o,className:"kui-ContextMenuShortcut"}))});Y.displayName="ContextMenu.CheckboxItem";var Z=t=>e.createElement(i.Sub,{...t});Z.displayName="ContextMenu.Sub";var $=e.forwardRef((t,r)=>{let{className:n,children:a,...o}=t;return e.createElement(i.SubTrigger,{...o,asChild:!1,ref:r,className:s("kui-BaseMenuItem","kui-BaseMenuSubTrigger","kui-ContextMenuItem","kui-ContextMenuSubTrigger",n)},a,e.createElement("div",{className:"kui-BaseMenuShortcut kui-ContextMenuShortcut"},e.createElement(L,{className:"kui-BaseMenuSubTriggerIcon kui-ContextMenuSubTriggerIcon"})))});$.displayName="ContextMenu.SubTrigger";var ee=e.forwardRef((t,r)=>{let n=e.useContext(E),a=t.size??n.size,o=t.color??n.color,{className:u,children:p,container:c,forceMount:m,color:l,virtualized:w=!1,...d}=f({...t,size:a},C),P=b(a,C.size.default),x=e.useMemo(()=>({size:a,color:o}),[a,o]),M=e.createElement(h,{size:a},e.createElement(E.Provider,{value:x},p));return e.createElement(i.Portal,{container:c,forceMount:m},e.createElement(g,{asChild:!0},e.createElement(i.SubContent,{"data-accent-color":o,alignOffset:R(P),sideOffset:1,collisionPadding:10,...d,asChild:!1,ref:r,className:s("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-BaseMenuSubContent","kui-ContextMenuContent","kui-ContextMenuSubContent",u)},w?e.createElement("div",{className:s("kui-BaseMenuViewport","kui-ContextMenuViewport","kui-virtualized")},M):e.createElement(y,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:s("kui-BaseMenuViewport","kui-ContextMenuViewport")},M)))))});ee.displayName="ContextMenu.SubContent";var te=e.forwardRef(({className:t,...r},n)=>e.createElement(i.Separator,{...r,asChild:!1,ref:n,className:s("kui-BaseMenuSeparator","kui-ContextMenuSeparator",t)}));te.displayName="ContextMenu.Separator";export{_ as a,q as b,K as c,U as d,H as e,J as f,Q as g,X as h,Y as i,Z as j,$ as k,ee as l,te as m,ae as n};
3
+ //# sourceMappingURL=chunk-2S7HPQVX.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/context-menu.tsx"],
4
+ "sourcesContent": ["/**\n * Context Menu component that provides right-click menu functionality.\n * Requires client-side rendering due to event handling and portal usage.\n */\n'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ContextMenu as ContextMenuPrimitive, Slot } from 'radix-ui';\nimport { useCallbackRef } from 'radix-ui/internal';\n\nimport { ScrollArea } from './scroll-area.js';\nimport {\n contextMenuContentPropDefs,\n contextMenuSubContentPropDefs,\n contextMenuItemPropDefs,\n contextMenuCheckboxItemPropDefs,\n contextMenuRadioItemPropDefs,\n} from './context-menu.props.js';\nimport { useThemeContext } from './theme.js';\nimport { PortalTheme } from './_internal/portal-theme.js';\nimport { ThickCheckIcon, ThickChevronRightIcon, ThickDotIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { useThemeSizeProps } from '../hooks/theme-size.js';\nimport { requireReactElement } from '../helpers/require-react-element.js';\nimport {\n MenuCloseProvider,\n MenuGroupLabelProvider,\n MenuProvider,\n useMenuGroupLabelId,\n useMenuGroupLabelledBy,\n} from './_internal/menu-context.js';\nimport {\n MenuShortcut,\n getMenuAlignOffset,\n toAriaKeyShortcuts,\n useResolvedResponsiveValue,\n} from './_internal/base-menu.utils.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes, Responsive } from '../props/prop-def.js';\n\ninterface ContextMenuRootProps\n extends React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Root> {}\nconst ContextMenuRoot: React.FC<ContextMenuRootProps> = (props) => {\n const { open: openProp, onOpenChange } = props;\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false);\n const open = openProp ?? uncontrolledOpen;\n\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (next: boolean) => {\n setUncontrolledOpen(next);\n handleOpenChangeProp(next);\n },\n [handleOpenChangeProp],\n );\n const close = React.useCallback(() => handleOpenChange(false), [handleOpenChange]);\n\n return (\n <MenuCloseProvider value={close}>\n <ContextMenuPrimitive.Root {...props} open={open} onOpenChange={handleOpenChange} />\n </MenuCloseProvider>\n );\n};\nContextMenuRoot.displayName = 'ContextMenu.Root';\n\ntype ContextMenuTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.Trigger>;\ninterface ContextMenuTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Trigger, RemovedProps> {}\nconst ContextMenuTrigger = React.forwardRef<ContextMenuTriggerElement, ContextMenuTriggerProps>(\n ({ children, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </ContextMenuPrimitive.Trigger>\n ),\n);\nContextMenuTrigger.displayName = 'ContextMenu.Trigger';\n\n/** Visual props shared by Content and SubContent. */\ntype ContextMenuSurfaceProps = GetPropDefTypes<typeof contextMenuContentPropDefs>;\n\ntype ContextMenuContentContextValue = {\n size?: ContextMenuSurfaceProps['size'];\n color?: ContextMenuSurfaceProps['color'];\n};\nconst ContextMenuContentContext = React.createContext<ContextMenuContentContextValue>({});\ntype ContextMenuContentElement = React.ElementRef<typeof ContextMenuPrimitive.Content>;\ninterface ContextMenuContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Content, RemovedProps>,\n ContextMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n * Use this when rendering virtualized lists inside the context menu.\n */\n virtualized?: boolean;\n /**\n * @deprecated Has no effect. ContextMenu submenus always cascade.\n */\n submenuBehavior?: Responsive<'cascade' | 'drill-down'>;\n}\nconst ContextMenuContent = React.forwardRef<ContextMenuContentElement, ContextMenuContentProps>(\n (ownProps, forwardedRef) => {\n const props = useThemeSizeProps(ownProps, contextMenuContentPropDefs.size);\n const themeContext = useThemeContext();\n const {\n size = contextMenuContentPropDefs.size.default,\n } = props;\n const {\n className,\n children,\n color,\n container,\n forceMount,\n submenuBehavior: _submenuBehavior,\n virtualized = false,\n ...contentProps\n } = extractProps(props, contextMenuContentPropDefs);\n\n const resolvedColor = color || themeContext.accentColor;\n const scalarSize = useResolvedResponsiveValue(size, contextMenuContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color: resolvedColor }),\n [size, resolvedColor],\n );\n\n const body = (\n <MenuProvider size={size}>\n <ContextMenuContentContext.Provider value={contextValue}>{children}</ContextMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <PortalTheme asChild>\n <ContextMenuPrimitive.Content\n data-accent-color={resolvedColor}\n alignOffset={getMenuAlignOffset(scalarSize)}\n collisionPadding={10}\n {...contentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-PopperContent',\n 'kui-BaseMenuContent',\n 'kui-variant-soft',\n 'kui-ContextMenuContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('kui-BaseMenuViewport', 'kui-ContextMenuViewport', 'kui-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-ContextMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </ContextMenuPrimitive.Content>\n </PortalTheme>\n </ContextMenuPrimitive.Portal>\n );\n },\n);\nContextMenuContent.displayName = 'ContextMenu.Content';\n\ntype ContextMenuLabelElement = React.ElementRef<typeof ContextMenuPrimitive.Label>;\ninterface ContextMenuLabelProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Label, RemovedProps> {}\nconst ContextMenuLabel = React.forwardRef<ContextMenuLabelElement, ContextMenuLabelProps>(\n ({ className, id: idProp, ...props }, forwardedRef) => {\n const id = useMenuGroupLabelId(idProp);\n return (\n <ContextMenuPrimitive.Label\n {...props}\n id={id}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuLabel', 'kui-ContextMenuLabel', className)}\n />\n );\n },\n);\nContextMenuLabel.displayName = 'ContextMenu.Label';\n\ntype ContextMenuItemElement = React.ElementRef<typeof ContextMenuPrimitive.Item>;\ntype ContextMenuItemOwnProps = GetPropDefTypes<typeof contextMenuItemPropDefs>;\ninterface ContextMenuItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Item, RemovedProps>,\n ContextMenuItemOwnProps {}\nconst ContextMenuItem = React.forwardRef<ContextMenuItemElement, ContextMenuItemProps>(\n (props, forwardedRef) => {\n const {\n className,\n children,\n color = contextMenuItemPropDefs.color.default,\n shortcut,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.Item\n data-accent-color={color}\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n ref={forwardedRef}\n className={classNames('kui-reset', 'kui-BaseMenuItem', 'kui-ContextMenuItem', className)}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"kui-ContextMenuShortcut\" />}\n </ContextMenuPrimitive.Item>\n );\n },\n);\nContextMenuItem.displayName = 'ContextMenu.Item';\n\ntype ContextMenuGroupElement = React.ElementRef<typeof ContextMenuPrimitive.Group>;\ninterface ContextMenuGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Group, RemovedProps> {}\nconst ContextMenuGroup = React.forwardRef<ContextMenuGroupElement, ContextMenuGroupProps>(\n ({ className, 'aria-labelledby': ariaLabelledBy, ...props }, forwardedRef) => {\n const [labelledBy, setLabelId] = useMenuGroupLabelledBy(ariaLabelledBy);\n return (\n <MenuGroupLabelProvider value={setLabelId}>\n <ContextMenuPrimitive.Group\n aria-labelledby={labelledBy}\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuGroup', 'kui-ContextMenuGroup', className)}\n />\n </MenuGroupLabelProvider>\n );\n },\n);\nContextMenuGroup.displayName = 'ContextMenu.Group';\n\ntype ContextMenuRadioGroupElement = React.ElementRef<typeof ContextMenuPrimitive.RadioGroup>;\ninterface ContextMenuRadioGroupProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioGroup, RemovedProps> {}\nconst ContextMenuRadioGroup = React.forwardRef<\n ContextMenuRadioGroupElement,\n ContextMenuRadioGroupProps\n>(({ className, 'aria-labelledby': ariaLabelledBy, ...props }, forwardedRef) => {\n const [labelledBy, setLabelId] = useMenuGroupLabelledBy(ariaLabelledBy);\n return (\n <MenuGroupLabelProvider value={setLabelId}>\n <ContextMenuPrimitive.RadioGroup\n aria-labelledby={labelledBy}\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuRadioGroup', 'kui-ContextMenuRadioGroup', className)}\n />\n </MenuGroupLabelProvider>\n );\n});\nContextMenuRadioGroup.displayName = 'ContextMenu.RadioGroup';\n\ntype ContextMenuRadioItemElement = React.ElementRef<typeof ContextMenuPrimitive.RadioItem>;\ntype ContextMenuRadioItemOwnProps = GetPropDefTypes<typeof contextMenuRadioItemPropDefs>;\ninterface ContextMenuRadioItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.RadioItem, RemovedProps>,\n ContextMenuRadioItemOwnProps {}\nconst ContextMenuRadioItem = React.forwardRef<\n ContextMenuRadioItemElement,\n ContextMenuRadioItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n color = contextMenuRadioItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.RadioItem\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'kui-BaseMenuItem',\n 'kui-BaseMenuRadioItem',\n 'kui-ContextMenuItem',\n 'kui-ContextMenuRadioItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"kui-BaseMenuItemIndicator kui-ContextMenuItemIndicator\">\n <ThickDotIcon className=\"kui-BaseMenuItemIndicatorIcon kui-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n </ContextMenuPrimitive.RadioItem>\n );\n});\nContextMenuRadioItem.displayName = 'ContextMenu.RadioItem';\n\ntype ContextMenuCheckboxItemElement = React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>;\ntype ContextMenuCheckboxItemOwnProps = GetPropDefTypes<typeof contextMenuCheckboxItemPropDefs>;\ninterface ContextMenuCheckboxItemProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.CheckboxItem, RemovedProps>,\n ContextMenuCheckboxItemOwnProps {}\nconst ContextMenuCheckboxItem = React.forwardRef<\n ContextMenuCheckboxItemElement,\n ContextMenuCheckboxItemProps\n>((props, forwardedRef) => {\n const {\n children,\n className,\n shortcut,\n color = contextMenuCheckboxItemPropDefs.color.default,\n ...itemProps\n } = props;\n return (\n <ContextMenuPrimitive.CheckboxItem\n aria-keyshortcuts={shortcut ? toAriaKeyShortcuts(shortcut) : undefined}\n {...itemProps}\n asChild={false}\n ref={forwardedRef}\n data-accent-color={color}\n className={classNames(\n 'kui-BaseMenuItem',\n 'kui-BaseMenuCheckboxItem',\n 'kui-ContextMenuItem',\n 'kui-ContextMenuCheckboxItem',\n className,\n )}\n >\n <Slot.Slottable>{children}</Slot.Slottable>\n <ContextMenuPrimitive.ItemIndicator className=\"kui-BaseMenuItemIndicator kui-ContextMenuItemIndicator\">\n <ThickCheckIcon className=\"kui-BaseMenuItemIndicatorIcon kui-ContextMenuItemIndicatorIcon\" />\n </ContextMenuPrimitive.ItemIndicator>\n {shortcut && <MenuShortcut shortcut={shortcut} className=\"kui-ContextMenuShortcut\" />}\n </ContextMenuPrimitive.CheckboxItem>\n );\n});\nContextMenuCheckboxItem.displayName = 'ContextMenu.CheckboxItem';\n\ninterface ContextMenuSubProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Sub, RemovedProps> {}\nconst ContextMenuSub: React.FC<ContextMenuSubProps> = (props) => (\n <ContextMenuPrimitive.Sub {...props} />\n);\nContextMenuSub.displayName = 'ContextMenu.Sub';\n\ntype ContextMenuSubTriggerElement = React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>;\ninterface ContextMenuSubTriggerProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubTrigger, RemovedProps> {}\nconst ContextMenuSubTrigger = React.forwardRef<\n ContextMenuSubTriggerElement,\n ContextMenuSubTriggerProps\n>((props, forwardedRef) => {\n const { className, children, ...subTriggerProps } = props;\n return (\n <ContextMenuPrimitive.SubTrigger\n {...subTriggerProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-BaseMenuItem',\n 'kui-BaseMenuSubTrigger',\n 'kui-ContextMenuItem',\n 'kui-ContextMenuSubTrigger',\n className,\n )}\n >\n {children}\n <div className=\"kui-BaseMenuShortcut kui-ContextMenuShortcut\">\n <ThickChevronRightIcon className=\"kui-BaseMenuSubTriggerIcon kui-ContextMenuSubTriggerIcon\" />\n </div>\n </ContextMenuPrimitive.SubTrigger>\n );\n});\nContextMenuSubTrigger.displayName = 'ContextMenu.SubTrigger';\n\ntype ContextMenuSubContentElement = React.ElementRef<typeof ContextMenuPrimitive.SubContent>;\ninterface ContextMenuSubContentProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.SubContent, RemovedProps>,\n ContextMenuSurfaceProps {\n container?: React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Portal>['container'];\n /**\n * When true, skips the ScrollArea wrapper to allow VirtualMenu to handle its own scrolling.\n */\n virtualized?: boolean;\n}\nconst ContextMenuSubContent = React.forwardRef<\n ContextMenuSubContentElement,\n ContextMenuSubContentProps\n>((props, forwardedRef) => {\n const parent = React.useContext(ContextMenuContentContext);\n\n // A submenu inherits the parent surface, and its own props win.\n const size = props.size ?? parent.size;\n const color = props.color ?? parent.color;\n\n const {\n className,\n children,\n container,\n forceMount,\n color: _color,\n virtualized = false,\n ...subContentProps\n } = extractProps({ ...props, size }, contextMenuSubContentPropDefs);\n\n const scalarSize = useResolvedResponsiveValue(size, contextMenuSubContentPropDefs.size.default);\n\n const contextValue = React.useMemo(\n () => ({ size, color }),\n [size, color],\n );\n\n const body = (\n <MenuProvider size={size}>\n <ContextMenuContentContext.Provider value={contextValue}>{children}</ContextMenuContentContext.Provider>\n </MenuProvider>\n );\n\n return (\n <ContextMenuPrimitive.Portal container={container} forceMount={forceMount}>\n <PortalTheme asChild>\n <ContextMenuPrimitive.SubContent\n data-accent-color={color}\n alignOffset={getMenuAlignOffset(scalarSize)}\n // Side offset accounts for the outer solid box-shadow\n sideOffset={1}\n collisionPadding={10}\n {...subContentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames(\n 'kui-PopperContent',\n 'kui-BaseMenuContent',\n 'kui-variant-soft',\n 'kui-BaseMenuSubContent',\n 'kui-ContextMenuContent',\n 'kui-ContextMenuSubContent',\n className,\n )}\n >\n {virtualized ? (\n <div className={classNames('kui-BaseMenuViewport', 'kui-ContextMenuViewport', 'kui-virtualized')}>\n {body}\n </div>\n ) : (\n <ScrollArea type=\"auto\" scrollbars=\"vertical\">\n <div className={classNames('kui-BaseMenuViewport', 'kui-ContextMenuViewport')}>{body}</div>\n </ScrollArea>\n )}\n </ContextMenuPrimitive.SubContent>\n </PortalTheme>\n </ContextMenuPrimitive.Portal>\n );\n});\nContextMenuSubContent.displayName = 'ContextMenu.SubContent';\n\ntype ContextMenuSeparatorElement = React.ElementRef<typeof ContextMenuPrimitive.Separator>;\ninterface ContextMenuSeparatorProps\n extends ComponentPropsWithout<typeof ContextMenuPrimitive.Separator, RemovedProps> {}\nconst ContextMenuSeparator = React.forwardRef<\n ContextMenuSeparatorElement,\n ContextMenuSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <ContextMenuPrimitive.Separator\n {...props}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-BaseMenuSeparator', 'kui-ContextMenuSeparator', className)}\n />\n));\nContextMenuSeparator.displayName = 'ContextMenu.Separator';\n\nexport {\n ContextMenuRoot as Root,\n ContextMenuTrigger as Trigger,\n ContextMenuContent as Content,\n ContextMenuLabel as Label,\n ContextMenuItem as Item,\n ContextMenuGroup as Group,\n ContextMenuRadioGroup as RadioGroup,\n ContextMenuRadioItem as RadioItem,\n ContextMenuCheckboxItem as CheckboxItem,\n ContextMenuSub as Sub,\n ContextMenuSubTrigger as SubTrigger,\n ContextMenuSubContent as SubContent,\n ContextMenuSeparator as Separator,\n};\n\nexport type {\n ContextMenuRootProps as RootProps,\n ContextMenuTriggerProps as TriggerProps,\n ContextMenuContentProps as ContentProps,\n ContextMenuLabelProps as LabelProps,\n ContextMenuItemProps as ItemProps,\n ContextMenuGroupProps as GroupProps,\n ContextMenuRadioGroupProps as RadioGroupProps,\n ContextMenuRadioItemProps as RadioItemProps,\n ContextMenuCheckboxItemProps as CheckboxItemProps,\n ContextMenuSubProps as SubProps,\n ContextMenuSubTriggerProps as SubTriggerProps,\n ContextMenuSubContentProps as SubContentProps,\n ContextMenuSeparatorProps as SeparatorProps,\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["context_menu_exports", "__export", "ContextMenuCheckboxItem", "ContextMenuContent", "ContextMenuGroup", "ContextMenuItem", "ContextMenuLabel", "ContextMenuRadioGroup", "ContextMenuRadioItem", "ContextMenuRoot", "ContextMenuSeparator", "ContextMenuSub", "ContextMenuSubContent", "ContextMenuSubTrigger", "ContextMenuTrigger", "React", "classNames", "ContextMenuPrimitive", "Slot", "useCallbackRef", "ContextMenuRoot", "props", "openProp", "onOpenChange", "uncontrolledOpen", "setUncontrolledOpen", "open", "handleOpenChangeProp", "useCallbackRef", "handleOpenChange", "next", "close", "MenuCloseProvider", "ContextMenuPrimitive", "ContextMenuTrigger", "children", "forwardedRef", "requireReactElement", "ContextMenuContentContext", "ContextMenuContent", "ownProps", "useThemeSizeProps", "baseMenuSubContentPropDefs", "themeContext", "useThemeContext", "size", "className", "color", "container", "forceMount", "_submenuBehavior", "virtualized", "contentProps", "extractProps", "resolvedColor", "scalarSize", "useResolvedResponsiveValue", "contextValue", "body", "MenuProvider", "PortalTheme", "getMenuAlignOffset", "classNames", "ScrollArea", "ContextMenuLabel", "idProp", "id", "useMenuGroupLabelId", "ContextMenuItem", "baseMenuItemPropDefs", "shortcut", "itemProps", "toAriaKeyShortcuts", "Slot", "MenuShortcut", "ContextMenuGroup", "ariaLabelledBy", "labelledBy", "setLabelId", "useMenuGroupLabelledBy", "MenuGroupLabelProvider", "ContextMenuRadioGroup", "ContextMenuRadioItem", "baseMenuRadioItemPropDefs", "ThickDotIcon", "ContextMenuCheckboxItem", "baseMenuCheckboxItemPropDefs", "ThickCheckIcon", "ContextMenuSub", "ContextMenuSubTrigger", "subTriggerProps", "ThickChevronRightIcon", "ContextMenuSubContent", "parent", "_color", "subContentProps", "ContextMenuSeparator"]
7
+ }
@@ -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{c as A}from"./chunk-5ON3XLRD.js";import{d as z}from"./chunk-HBWBPBSA.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-2ZKEQS76.js.map
@@ -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{a as F}from"./chunk-H2TSRYQ5.js";import{a as O,b as U,c as q,e as C,f as $}from"./chunk-457Z4R5W.js";import{a as E}from"./chunk-TFGUTYZK.js";import{a as z,b as V,c as j}from"./chunk-RD4T2MCC.js";import{d as H}from"./chunk-GKDGNPBD.js";import{b as L}from"./chunk-5KMEUZWN.js";import{a as W}from"./chunk-LGZCNQBS.js";import{b as y,c as K}from"./chunk-3ZWHKNHI.js";import{a as ue}from"./chunk-VQPANPMI.js";var fe={};ue(fe,{Group:()=>oe,GroupContent:()=>ie,GroupLabel:()=>ae,Menu:()=>Y,MenuButton:()=>T,MenuItem:()=>D,MenuSub:()=>ee,MenuSubContent:()=>re,MenuSubTrigger:()=>te,Search:()=>se,Separator:()=>Q});import*as e from"react";import d from"classnames";import*as f from"@radix-ui/react-accordion";var Q=e.forwardRef(({className:t,...r},n)=>e.createElement(F,{...r,ref:n,className:d("kui-SidebarSeparator",t)}));Q.displayName="Sidebar.Separator";var Y=e.forwardRef(({className:t,...r},n)=>e.createElement("ul",{...r,ref:n,className:d("kui-SidebarMenu",t)}));Y.displayName="Sidebar.Menu";var D=e.forwardRef(({className:t,...r},n)=>e.createElement("li",{...r,ref:n,className:d("kui-SidebarMenuItem",t)}));D.displayName="Sidebar.MenuItem";function A(t){if(typeof t=="function"){let r=t;return r.displayName||r.name}if(t&&typeof t=="object"){let r=t;return r.displayName||A(r.render)||A(r.type)}}function ce(t){return t.type==="svg"||t.props?.icon?!0:A(t.type)?.includes("Icon")??!1}function Z(t){return typeof t=="string"||typeof t=="number"}function de(t){let r=e.Children.toArray(t),n=[],o=[];for(let a of r)e.isValidElement(a)&&ce(a)?n.push(a):o.push(Z(a)?e.createElement("span",{key:o.length,className:"kui-SidebarMenuLabel"},a):a);return n.length===0&&r.length>1&&e.isValidElement(r[0])&&(n.push(r[0]),o.shift()),{icons:n,labels:o}}function pe(t){return e.Children.map(t,r=>Z(r)?e.createElement("span",{className:"kui-SidebarMenuLabel"},r):r)}function _(t){if(t.key!=="ArrowDown"&&t.key!=="ArrowUp")return;let r=t.currentTarget.closest(".kui-SidebarContent, .kui-SidebarSearchPopover"),n=r?Array.from(r.querySelectorAll(".kui-SidebarMenuButton")).filter(u=>u.offsetParent!==null):[],o=n.indexOf(t.currentTarget),a=n[o+(t.key==="ArrowDown"?1:-1)];o!==-1&&a&&(t.preventDefault(),a.focus())}var T=e.forwardRef(({asChild:t=!1,isActive:r=!1,shortcut:n,badge:o,className:a,children:u,onKeyDown:p,...s},l)=>{let c=y(),k=e.useContext(K),g=c?.size??k,M=c?.presentation==="thin",N=t?L:"button",P=i=>{p?.(i),i.defaultPrevented||_(i)},m=M?null:e.createElement(e.Fragment,null,o&&e.createElement("div",{className:"kui-SidebarMenuBadge"},typeof o=="string"?e.createElement(E,{size:g,variant:"soft"},o):e.createElement(E,{size:o.size||g,variant:o.variant||"soft",color:o.color,radius:o.radius},o.content)),n&&e.createElement("div",{className:"kui-BaseMenuShortcut kui-SidebarMenuShortcut"},e.createElement(W,{size:g},n))),h=i=>{if(M){let{icons:v,labels:w}=de(i);if(v.length>0)return e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-SidebarMenuIconWrapper"},v),w)}return e.createElement(e.Fragment,null,pe(i),m)},S;return t&&e.isValidElement(u)&&e.Children.count(u)===1?S=e.cloneElement(u,void 0,h(u.props.children)):t?S=u:S=h(u),e.createElement(N,{type:t?void 0:"button",...s,ref:l,"aria-current":r?"page":void 0,className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton",a),"data-active":r||void 0,onKeyDown:P},S)});T.displayName="Sidebar.MenuButton";var x=e.createContext("accordion"),ee=e.forwardRef(({defaultOpen:t=!1,children:r,...n},o)=>(y()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?e.createElement("div",{...n,ref:o},e.createElement(O,null,e.createElement(x.Provider,{value:"dropdown"},r))):e.createElement("div",{...n,ref:o},e.createElement(x.Provider,{value:"accordion"},e.createElement(f.Root,{type:"single",collapsible:!0,defaultValue:t?"item":void 0},e.createElement(f.Item,{value:"item"},r)))));ee.displayName="Sidebar.MenuSub";var te=e.forwardRef(({asChild:t=!1,className:r,children:n,onKeyDown:o,...a},u)=>e.useContext(x)==="dropdown"?e.createElement(U,null,e.createElement("button",{...a,onKeyDown:o,ref:u,type:"button","aria-haspopup":"menu",className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton","kui-SidebarMenuSubTrigger",r)},n)):e.createElement(f.Header,{asChild:!0},e.createElement("div",null,e.createElement(f.Trigger,{...a,onKeyDown:s=>{_(s),o?.(s)},ref:u,asChild:t,className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton","kui-SidebarMenuSubTrigger",r)},t?n:e.createElement(e.Fragment,null,n,e.createElement(H,{className:d("kui-BaseMenuSubTriggerIcon","kui-SidebarMenuSubTriggerIcon")}))))));te.displayName="Sidebar.MenuSubTrigger";function X(t,r){if(e.isValidElement(t)&&t.type===T){let{asChild:n,isActive:o,shortcut:a,badge:u,type:p,children:s,...l}=t.props,c={...l,"data-active":o||void 0,"aria-current":o?"page":void 0};return n&&e.isValidElement(s)&&e.Children.count(s)===1?e.createElement(C,{key:r,...c,asChild:!0},s):e.createElement(C,{key:r,...c},s)}return e.isValidElement(t)?e.createElement(C,{key:r,asChild:!0},t):e.createElement(C,{key:r},t)}function le(t){return e.Children.map(t,(r,n)=>e.isValidElement(r)&&r.type===T?e.createElement(D,{key:r.key??n},r):r)}var re=e.forwardRef(({className:t,children:r,...n},o)=>{let a=y();if(e.useContext(x)==="dropdown"){let p=e.Children.map(r,(s,l)=>{if(e.isValidElement(s)&&s.type===D){let c=e.Children.toArray(s.props.children);return X(c.length===1?c[0]:c,l)}return X(s,l)});return e.createElement(q,{...n,ref:o,size:a?.size,className:d(t)},e.createElement($,null,p))}return e.createElement(f.Content,{...n,ref:o,className:d("kui-SidebarMenuSubContent",t)},e.createElement("ul",{className:"kui-SidebarMenuSubList"},le(r)))});re.displayName="Sidebar.MenuSubContent";var ne=e.createContext(null),oe=e.forwardRef(({className:t,...r},n)=>{let o=e.useId(),[a,u]=e.useState(null),p=e.useMemo(()=>({labelId:o,setLabelId:u}),[o]);return e.createElement(ne.Provider,{value:p},e.createElement("div",{role:a?"group":void 0,"aria-labelledby":a??void 0,...r,ref:n,className:d("kui-BaseMenuGroup","kui-SidebarGroup",t)}))});oe.displayName="Sidebar.Group";var ae=e.forwardRef(({asChild:t=!1,className:r,id:n,...o},a)=>{let u=t?L:"div",p=e.useContext(ne),s=n??p?.labelId,l=p?.setLabelId;return e.useEffect(()=>{if(!(!l||!s))return l(s),()=>l(null)},[l,s]),e.createElement(u,{...o,id:s,ref:a,className:d("kui-BaseMenuLabel","kui-SidebarGroupLabel",r)})});ae.displayName="Sidebar.GroupLabel";var ie=e.forwardRef(({className:t,...r},n)=>e.createElement("div",{...r,ref:n,className:d("kui-SidebarGroupContent",t)}));ie.displayName="Sidebar.GroupContent";var B=({className:t})=>e.createElement("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("circle",{cx:"11",cy:"11",r:"8"}),e.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),J=({className:t})=>e.createElement("svg",{className:t,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),se=e.forwardRef(({value:t,onValueChange:r,placeholder:n="Search...",children:o,className:a,...u},p)=>{let s=y(),l=s?.presentation==="thin",c=e.useRef(null),k=e.useRef(null),M=`${e.useId()}-results`,N=e.useRef(t);N.current=t;let P=e.useRef(r);P.current=r;let m=n.replace(/\.+$/,""),h=e.useCallback(i=>{i.key==="Escape"&&N.current&&(i.preventDefault(),i.stopPropagation(),P.current(""),c.current?.focus())},[]),S=e.useCallback(i=>{if(i.defaultPrevented)return;let v=k.current;if(!v)return;let w=v.querySelector('[role="group"]');if(!w)return;let b=Array.from(w.querySelectorAll("a, button"));if(b.length===0)return;let G=document.activeElement,I=G===c.current,R=b.indexOf(G);if(i.key.length===1&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!I&&R!==-1){c.current?.focus();return}switch(i.key){case"ArrowDown":{i.preventDefault(),I||R===-1?b[0]?.focus():R<b.length-1&&b[R+1]?.focus();break}case"ArrowUp":{i.preventDefault(),R<=0?c.current?.focus():b[R-1]?.focus();break}case"Home":{I||(i.preventDefault(),b[0]?.focus());break}case"End":{I||(i.preventDefault(),b[b.length-1]?.focus());break}}},[]);return l?e.createElement("div",{...u,ref:p,className:d("kui-SidebarSearch","kui-SidebarSearch--thin",a)},e.createElement(z,null,e.createElement(V,null,e.createElement("button",{type:"button",className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton","kui-SidebarSearchTrigger"),"aria-label":m},e.createElement("span",{className:"kui-SidebarMenuIconWrapper"},e.createElement(B,null)),e.createElement("span",{className:"kui-SidebarMenuLabel"},"Search"))),e.createElement(j,{side:"right",align:"start",size:"2",width:"280px","aria-label":m},e.createElement("div",{ref:k,className:"kui-SidebarSearchPopover",role:"search",onKeyDown:S},e.createElement("div",{className:"kui-SidebarSearchInputWrapper"},e.createElement(B,{className:"kui-SidebarSearchIcon"}),e.createElement("input",{ref:c,type:"search",className:"kui-SidebarSearchInput",value:t,onChange:i=>r(i.target.value),onKeyDown:h,placeholder:n,"aria-label":m,"aria-controls":o?M:void 0,autoFocus:!0}),t&&e.createElement("button",{type:"button",className:"kui-reset kui-SidebarSearchClear",onClick:()=>{r(""),c.current?.focus()},"aria-label":"Clear search"},e.createElement(J,null))),o&&e.createElement("div",{id:M,role:"group","aria-label":"Search results"},o))))):e.createElement("div",{...u,ref:p,className:d("kui-SidebarSearch","kui-SidebarSearch--expanded","kui-ShellPaneChrome",`kui-r-size-${s?.size??"2"}`,a),role:"search"},e.createElement("div",{className:"kui-SidebarSearchInputWrapper"},e.createElement(B,{className:"kui-SidebarSearchIcon"}),e.createElement("input",{ref:c,type:"search",className:"kui-SidebarSearchInput",value:t,onChange:i=>r(i.target.value),onKeyDown:h,placeholder:n,"aria-label":m}),t&&e.createElement("button",{type:"button",className:"kui-reset kui-SidebarSearchClear",onClick:()=>{r(""),c.current?.focus()},"aria-label":"Clear search"},e.createElement(J,null))))});se.displayName="Sidebar.Search";export{Q as a,Y as b,D as c,T as d,ee as e,te as f,re as g,oe as h,ae as i,ie as j,se as k,fe as l};
3
- //# sourceMappingURL=chunk-UR5BUNNT.js.map
2
+ import{a as F}from"./chunk-324VC67W.js";import{a as O,b as U,c as q,e as C,f as $}from"./chunk-67UEMB4K.js";import{a as E}from"./chunk-J54GYD7A.js";import{a as z,b as V,c as j}from"./chunk-MJKVVGGV.js";import{d as H}from"./chunk-GKDGNPBD.js";import{b as L}from"./chunk-5KMEUZWN.js";import{a as W}from"./chunk-QPRUTOLI.js";import{b as y,c as K}from"./chunk-TSWHVZ47.js";import{a as ue}from"./chunk-VQPANPMI.js";var fe={};ue(fe,{Group:()=>oe,GroupContent:()=>ie,GroupLabel:()=>ae,Menu:()=>Y,MenuButton:()=>T,MenuItem:()=>D,MenuSub:()=>ee,MenuSubContent:()=>re,MenuSubTrigger:()=>te,Search:()=>se,Separator:()=>Q});import*as e from"react";import d from"classnames";import*as f from"@radix-ui/react-accordion";var Q=e.forwardRef(({className:t,...r},n)=>e.createElement(F,{...r,ref:n,className:d("kui-SidebarSeparator",t)}));Q.displayName="Sidebar.Separator";var Y=e.forwardRef(({className:t,...r},n)=>e.createElement("ul",{...r,ref:n,className:d("kui-SidebarMenu",t)}));Y.displayName="Sidebar.Menu";var D=e.forwardRef(({className:t,...r},n)=>e.createElement("li",{...r,ref:n,className:d("kui-SidebarMenuItem",t)}));D.displayName="Sidebar.MenuItem";function A(t){if(typeof t=="function"){let r=t;return r.displayName||r.name}if(t&&typeof t=="object"){let r=t;return r.displayName||A(r.render)||A(r.type)}}function ce(t){return t.type==="svg"||t.props?.icon?!0:A(t.type)?.includes("Icon")??!1}function Z(t){return typeof t=="string"||typeof t=="number"}function de(t){let r=e.Children.toArray(t),n=[],o=[];for(let a of r)e.isValidElement(a)&&ce(a)?n.push(a):o.push(Z(a)?e.createElement("span",{key:o.length,className:"kui-SidebarMenuLabel"},a):a);return n.length===0&&r.length>1&&e.isValidElement(r[0])&&(n.push(r[0]),o.shift()),{icons:n,labels:o}}function pe(t){return e.Children.map(t,r=>Z(r)?e.createElement("span",{className:"kui-SidebarMenuLabel"},r):r)}function _(t){if(t.key!=="ArrowDown"&&t.key!=="ArrowUp")return;let r=t.currentTarget.closest(".kui-SidebarContent, .kui-SidebarSearchPopover"),n=r?Array.from(r.querySelectorAll(".kui-SidebarMenuButton")).filter(u=>u.offsetParent!==null):[],o=n.indexOf(t.currentTarget),a=n[o+(t.key==="ArrowDown"?1:-1)];o!==-1&&a&&(t.preventDefault(),a.focus())}var T=e.forwardRef(({asChild:t=!1,isActive:r=!1,shortcut:n,badge:o,className:a,children:u,onKeyDown:p,...s},l)=>{let c=y(),k=e.useContext(K),g=c?.size??k,M=c?.presentation==="thin",N=t?L:"button",P=i=>{p?.(i),i.defaultPrevented||_(i)},m=M?null:e.createElement(e.Fragment,null,o&&e.createElement("div",{className:"kui-SidebarMenuBadge"},typeof o=="string"?e.createElement(E,{size:g,variant:"soft"},o):e.createElement(E,{size:o.size||g,variant:o.variant||"soft",color:o.color,radius:o.radius},o.content)),n&&e.createElement("div",{className:"kui-BaseMenuShortcut kui-SidebarMenuShortcut"},e.createElement(W,{size:g},n))),h=i=>{if(M){let{icons:v,labels:w}=de(i);if(v.length>0)return e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-SidebarMenuIconWrapper"},v),w)}return e.createElement(e.Fragment,null,pe(i),m)},S;return t&&e.isValidElement(u)&&e.Children.count(u)===1?S=e.cloneElement(u,void 0,h(u.props.children)):t?S=u:S=h(u),e.createElement(N,{type:t?void 0:"button",...s,ref:l,"aria-current":r?"page":void 0,className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton",a),"data-active":r||void 0,onKeyDown:P},S)});T.displayName="Sidebar.MenuButton";var x=e.createContext("accordion"),ee=e.forwardRef(({defaultOpen:t=!1,children:r,...n},o)=>(y()?.presentation==="thin"?"dropdown":"accordion")==="dropdown"?e.createElement("div",{...n,ref:o},e.createElement(O,null,e.createElement(x.Provider,{value:"dropdown"},r))):e.createElement("div",{...n,ref:o},e.createElement(x.Provider,{value:"accordion"},e.createElement(f.Root,{type:"single",collapsible:!0,defaultValue:t?"item":void 0},e.createElement(f.Item,{value:"item"},r)))));ee.displayName="Sidebar.MenuSub";var te=e.forwardRef(({asChild:t=!1,className:r,children:n,onKeyDown:o,...a},u)=>e.useContext(x)==="dropdown"?e.createElement(U,null,e.createElement("button",{...a,onKeyDown:o,ref:u,type:"button","aria-haspopup":"menu",className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton","kui-SidebarMenuSubTrigger",r)},n)):e.createElement(f.Header,{asChild:!0},e.createElement("div",null,e.createElement(f.Trigger,{...a,onKeyDown:s=>{_(s),o?.(s)},ref:u,asChild:t,className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton","kui-SidebarMenuSubTrigger",r)},t?n:e.createElement(e.Fragment,null,n,e.createElement(H,{className:d("kui-BaseMenuSubTriggerIcon","kui-SidebarMenuSubTriggerIcon")}))))));te.displayName="Sidebar.MenuSubTrigger";function X(t,r){if(e.isValidElement(t)&&t.type===T){let{asChild:n,isActive:o,shortcut:a,badge:u,type:p,children:s,...l}=t.props,c={...l,"data-active":o||void 0,"aria-current":o?"page":void 0};return n&&e.isValidElement(s)&&e.Children.count(s)===1?e.createElement(C,{key:r,...c,asChild:!0},s):e.createElement(C,{key:r,...c},s)}return e.isValidElement(t)?e.createElement(C,{key:r,asChild:!0},t):e.createElement(C,{key:r},t)}function le(t){return e.Children.map(t,(r,n)=>e.isValidElement(r)&&r.type===T?e.createElement(D,{key:r.key??n},r):r)}var re=e.forwardRef(({className:t,children:r,...n},o)=>{let a=y();if(e.useContext(x)==="dropdown"){let p=e.Children.map(r,(s,l)=>{if(e.isValidElement(s)&&s.type===D){let c=e.Children.toArray(s.props.children);return X(c.length===1?c[0]:c,l)}return X(s,l)});return e.createElement(q,{...n,ref:o,size:a?.size,className:d(t)},e.createElement($,null,p))}return e.createElement(f.Content,{...n,ref:o,className:d("kui-SidebarMenuSubContent",t)},e.createElement("ul",{className:"kui-SidebarMenuSubList"},le(r)))});re.displayName="Sidebar.MenuSubContent";var ne=e.createContext(null),oe=e.forwardRef(({className:t,...r},n)=>{let o=e.useId(),[a,u]=e.useState(null),p=e.useMemo(()=>({labelId:o,setLabelId:u}),[o]);return e.createElement(ne.Provider,{value:p},e.createElement("div",{role:a?"group":void 0,"aria-labelledby":a??void 0,...r,ref:n,className:d("kui-BaseMenuGroup","kui-SidebarGroup",t)}))});oe.displayName="Sidebar.Group";var ae=e.forwardRef(({asChild:t=!1,className:r,id:n,...o},a)=>{let u=t?L:"div",p=e.useContext(ne),s=n??p?.labelId,l=p?.setLabelId;return e.useEffect(()=>{if(!(!l||!s))return l(s),()=>l(null)},[l,s]),e.createElement(u,{...o,id:s,ref:a,className:d("kui-BaseMenuLabel","kui-SidebarGroupLabel",r)})});ae.displayName="Sidebar.GroupLabel";var ie=e.forwardRef(({className:t,...r},n)=>e.createElement("div",{...r,ref:n,className:d("kui-SidebarGroupContent",t)}));ie.displayName="Sidebar.GroupContent";var B=({className:t})=>e.createElement("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("circle",{cx:"11",cy:"11",r:"8"}),e.createElement("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})),J=({className:t})=>e.createElement("svg",{className:t,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true"},e.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),se=e.forwardRef(({value:t,onValueChange:r,placeholder:n="Search...",children:o,className:a,...u},p)=>{let s=y(),l=s?.presentation==="thin",c=e.useRef(null),k=e.useRef(null),M=`${e.useId()}-results`,N=e.useRef(t);N.current=t;let P=e.useRef(r);P.current=r;let m=n.replace(/\.+$/,""),h=e.useCallback(i=>{i.key==="Escape"&&N.current&&(i.preventDefault(),i.stopPropagation(),P.current(""),c.current?.focus())},[]),S=e.useCallback(i=>{if(i.defaultPrevented)return;let v=k.current;if(!v)return;let w=v.querySelector('[role="group"]');if(!w)return;let b=Array.from(w.querySelectorAll("a, button"));if(b.length===0)return;let G=document.activeElement,I=G===c.current,R=b.indexOf(G);if(i.key.length===1&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!I&&R!==-1){c.current?.focus();return}switch(i.key){case"ArrowDown":{i.preventDefault(),I||R===-1?b[0]?.focus():R<b.length-1&&b[R+1]?.focus();break}case"ArrowUp":{i.preventDefault(),R<=0?c.current?.focus():b[R-1]?.focus();break}case"Home":{I||(i.preventDefault(),b[0]?.focus());break}case"End":{I||(i.preventDefault(),b[b.length-1]?.focus());break}}},[]);return l?e.createElement("div",{...u,ref:p,className:d("kui-SidebarSearch","kui-SidebarSearch--thin",a)},e.createElement(z,null,e.createElement(V,null,e.createElement("button",{type:"button",className:d("kui-reset","kui-BaseMenuItem","kui-SidebarMenuButton","kui-SidebarSearchTrigger"),"aria-label":m},e.createElement("span",{className:"kui-SidebarMenuIconWrapper"},e.createElement(B,null)),e.createElement("span",{className:"kui-SidebarMenuLabel"},"Search"))),e.createElement(j,{side:"right",align:"start",size:"2",width:"280px","aria-label":m},e.createElement("div",{ref:k,className:"kui-SidebarSearchPopover",role:"search",onKeyDown:S},e.createElement("div",{className:"kui-SidebarSearchInputWrapper"},e.createElement(B,{className:"kui-SidebarSearchIcon"}),e.createElement("input",{ref:c,type:"search",className:"kui-SidebarSearchInput",value:t,onChange:i=>r(i.target.value),onKeyDown:h,placeholder:n,"aria-label":m,"aria-controls":o?M:void 0,autoFocus:!0}),t&&e.createElement("button",{type:"button",className:"kui-reset kui-SidebarSearchClear",onClick:()=>{r(""),c.current?.focus()},"aria-label":"Clear search"},e.createElement(J,null))),o&&e.createElement("div",{id:M,role:"group","aria-label":"Search results"},o))))):e.createElement("div",{...u,ref:p,className:d("kui-SidebarSearch","kui-SidebarSearch--expanded","kui-ShellPaneChrome",`kui-r-size-${s?.size??"2"}`,a),role:"search"},e.createElement("div",{className:"kui-SidebarSearchInputWrapper"},e.createElement(B,{className:"kui-SidebarSearchIcon"}),e.createElement("input",{ref:c,type:"search",className:"kui-SidebarSearchInput",value:t,onChange:i=>r(i.target.value),onKeyDown:h,placeholder:n,"aria-label":m}),t&&e.createElement("button",{type:"button",className:"kui-reset kui-SidebarSearchClear",onClick:()=>{r(""),c.current?.focus()},"aria-label":"Clear search"},e.createElement(J,null))))});se.displayName="Sidebar.Search";export{Q as a,Y as b,D as c,T as d,ee as e,te as f,re as g,oe as h,ae as i,ie as j,se as k,fe as l};
3
+ //# sourceMappingURL=chunk-3MFSQ6PN.js.map
@@ -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 n}from"./chunk-FATCGZZE.js";import{a as D}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 m}from"./chunk-GE7FRBZ4.js";import{c as s}from"./chunk-5ON3XLRD.js";import{c as r}from"./chunk-OKQAVYW4.js";import{a as w}from"./chunk-VQPANPMI.js";var S={};w(S,{Close:()=>y,Content:()=>C,Description:()=>R,Root:()=>c,Title:()=>d,Trigger:()=>f});import*as o from"react";import W from"classnames";import{Dialog as t}from"radix-ui";var c=e=>o.createElement(t.Root,{...e,modal:!0});c.displayName="Dialog.Root";var f=o.forwardRef(({children:e,...i},a)=>o.createElement(t.Trigger,{...i,ref:a,asChild:!0},l(e)));f.displayName="Dialog.Trigger";var{align:O,...P}=n,B={align:O},C=o.forwardRef(({align:e,...i},a)=>{let T=s(i,P.size),{className:v}=r({align:e},B),{className:u,forceMount:h,container:E,onCloseAutoFocus:N,...x}=r(T,P);return D(),o.createElement(t.Portal,{container:E,forceMount:h},o.createElement(m,{asChild:!0},o.createElement(t.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay"},o.createElement("div",{className:"kui-BaseDialogScroll kui-DialogScroll"},o.createElement("div",{className:`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${v}`},o.createElement(t.Content,{...x,ref:a,className:W("kui-BaseDialogContent","kui-DialogContent",u),"aria-modal":"true",onCloseAutoFocus:k=>{N?.(k),document.body.style.pointerEvents=""}}))))))});C.displayName="Dialog.Content";var d=o.forwardRef((e,i)=>o.createElement(t.Title,{asChild:!0},o.createElement(p,{size:"5",trim:"start",...e,asChild:!1,ref:i})));d.displayName="Dialog.Title";var R=o.forwardRef((e,i)=>o.createElement(t.Description,{asChild:!0},o.createElement(g,{as:"p",size:"3",...e,asChild:!1,ref:i})));R.displayName="Dialog.Description";var y=o.forwardRef(({children:e,...i},a)=>o.createElement(t.Close,{...i,ref:a,asChild:!0},l(e)));y.displayName="Dialog.Close";export{c as a,f as b,C as c,d,R as e,y as f,S as g};
3
- //# sourceMappingURL=chunk-TFFU435D.js.map
2
+ import{a as p}from"./chunk-FATCGZZE.js";import{a as D}from"./chunk-7VJF6EXN.js";import{a as g}from"./chunk-JP36JSNP.js";import{a as l}from"./chunk-TGRHRMQI.js";import{a as m}from"./chunk-4MNRLB57.js";import{c as r}from"./chunk-OKQAVYW4.js";import{a as n}from"./chunk-AQKSO3SW.js";import{c as s}from"./chunk-5ON3XLRD.js";import{a as w}from"./chunk-VQPANPMI.js";var S={};w(S,{Close:()=>y,Content:()=>C,Description:()=>R,Root:()=>c,Title:()=>d,Trigger:()=>f});import*as o from"react";import W from"classnames";import{Dialog as t}from"radix-ui";var c=e=>o.createElement(t.Root,{...e,modal:!0});c.displayName="Dialog.Root";var f=o.forwardRef(({children:e,...i},a)=>o.createElement(t.Trigger,{...i,ref:a,asChild:!0},l(e)));f.displayName="Dialog.Trigger";var{align:O,...P}=p,B={align:O},C=o.forwardRef(({align:e,...i},a)=>{let T=s(i,P.size),{className:v}=r({align:e},B),{className:u,forceMount:h,container:E,onCloseAutoFocus:N,...x}=r(T,P);return D(),o.createElement(t.Portal,{container:E,forceMount:h},o.createElement(n,{asChild:!0},o.createElement(t.Overlay,{className:"kui-BaseDialogOverlay kui-DialogOverlay"},o.createElement("div",{className:"kui-BaseDialogScroll kui-DialogScroll"},o.createElement("div",{className:`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${v}`},o.createElement(t.Content,{...x,ref:a,className:W("kui-BaseDialogContent","kui-DialogContent",u),"aria-modal":"true",onCloseAutoFocus:k=>{N?.(k),document.body.style.pointerEvents=""}}))))))});C.displayName="Dialog.Content";var d=o.forwardRef((e,i)=>o.createElement(t.Title,{asChild:!0},o.createElement(g,{size:"5",trim:"start",...e,asChild:!1,ref:i})));d.displayName="Dialog.Title";var R=o.forwardRef((e,i)=>o.createElement(t.Description,{asChild:!0},o.createElement(m,{as:"p",size:"3",...e,asChild:!1,ref:i})));R.displayName="Dialog.Description";var y=o.forwardRef(({children:e,...i},a)=>o.createElement(t.Close,{...i,ref:a,asChild:!0},l(e)));y.displayName="Dialog.Close";export{c as a,f as b,C as c,d,R as e,y as f,S as g};
3
+ //# sourceMappingURL=chunk-5BX2YZV6.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/dialog.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\n\nimport { dialogContentPropDefs } from './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 { DialogContentOwnProps } from './dialog.props.js';\nimport type { ComponentPropsWithout, RemovedProps, ComponentPropsAs } from '../helpers/component-props.js';\n\ninterface DialogRootProps extends ComponentPropsWithout<typeof DialogPrimitive.Root, 'modal'> {}\nconst DialogRoot: React.FC<DialogRootProps> = (props) => <DialogPrimitive.Root {...props} modal />;\nDialogRoot.displayName = 'Dialog.Root';\n\ntype DialogTriggerElement = React.ElementRef<typeof DialogPrimitive.Trigger>;\ninterface DialogTriggerProps extends ComponentPropsWithout<typeof DialogPrimitive.Trigger, RemovedProps> {}\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Trigger {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Trigger>\n));\nDialogTrigger.displayName = 'Dialog.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 } = dialogContentPropDefs;\nconst alignPropDefs = { align: alignPropDef };\n\ntype DialogContentElement = React.ElementRef<typeof DialogPrimitive.Content>;\ninterface DialogContentProps extends ComponentPropsWithout<typeof DialogPrimitive.Content, RemovedProps>, DialogContentOwnProps {\n container?: React.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>['container'];\n}\nconst DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(({ 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 // Cleanup stuck pointer-events on body\n useBodyPointerEventsCleanup();\n\n return (\n <DialogPrimitive.Portal container={container} forceMount={forceMount}>\n <PortalTheme asChild>\n <DialogPrimitive.Overlay className=\"kui-BaseDialogOverlay kui-DialogOverlay\">\n <div className=\"kui-BaseDialogScroll kui-DialogScroll\">\n <div className={`kui-BaseDialogScrollPadding kui-DialogScrollPadding ${alignClassName}`}>\n <DialogPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n className={classNames('kui-BaseDialogContent', 'kui-DialogContent', 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 </DialogPrimitive.Overlay>\n </PortalTheme>\n </DialogPrimitive.Portal>\n );\n});\nDialogContent.displayName = 'Dialog.Content';\n\ntype DialogTitleElement = React.ElementRef<typeof Heading>;\ntype DialogTitleProps = ComponentPropsWithout<typeof Heading, 'asChild'>;\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>((props, forwardedRef) => (\n <DialogPrimitive.Title asChild>\n <Heading size=\"5\" trim=\"start\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Title>\n));\nDialogTitle.displayName = 'Dialog.Title';\n\ntype DialogDescriptionElement = HTMLParagraphElement;\ntype DialogDescriptionProps = ComponentPropsAs<typeof Text, 'p'>;\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>((props, forwardedRef) => (\n <DialogPrimitive.Description asChild>\n <Text as=\"p\" size=\"3\" {...props} asChild={false} ref={forwardedRef} />\n </DialogPrimitive.Description>\n));\nDialogDescription.displayName = 'Dialog.Description';\n\ntype DialogCloseElement = React.ElementRef<typeof DialogPrimitive.Close>;\ninterface DialogCloseProps extends ComponentPropsWithout<typeof DialogPrimitive.Close, RemovedProps> {}\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(({ children, ...props }, forwardedRef) => (\n <DialogPrimitive.Close {...props} ref={forwardedRef} asChild>\n {requireReactElement(children)}\n </DialogPrimitive.Close>\n));\nDialogClose.displayName = 'Dialog.Close';\n\nexport { DialogRoot as Root, DialogTrigger as Trigger, DialogContent as Content, DialogTitle as Title, DialogDescription as Description, DialogClose as Close };\n\nexport type {\n DialogRootProps as RootProps,\n DialogTriggerProps as TriggerProps,\n DialogContentProps as ContentProps,\n DialogTitleProps as TitleProps,\n DialogDescriptionProps as DescriptionProps,\n DialogCloseProps as CloseProps,\n};\n"],
5
+ "mappings": ";wWAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,EAAA,YAAAC,EAAA,gBAAAC,EAAA,SAAAC,EAAA,UAAAC,EAAA,YAAAC,IAAA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,UAAUC,MAAuB,WAe1C,IAAMC,EAAyCC,GAAU,gBAACC,EAAgB,KAAhB,CAAsB,GAAGD,EAAO,MAAK,GAAC,EAChGD,EAAW,YAAc,cAIzB,IAAMG,EAAsB,aAAqD,CAAC,CAAE,SAAAC,EAAU,GAAGH,CAAM,EAAGI,IACxG,gBAACH,EAAgB,QAAhB,CAAyB,GAAGD,EAAO,IAAKI,EAAc,QAAO,IAC3DC,EAAoBF,CAAQ,CAC/B,CACD,EACDD,EAAc,YAAc,iBAK5B,GAAM,CAAE,MAAOI,EAAc,GAAGC,CAAgB,EAAIC,EAC9CC,EAAgB,CAAE,MAAOH,CAAa,EAMtCI,EAAsB,aAAqD,CAAC,CAAE,MAAAC,EAAO,GAAGC,CAAS,EAAGR,IAAiB,CACzH,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,EAAgB,OAAhB,CAAuB,UAAWiB,EAAW,WAAYD,GACxD,gBAACK,EAAA,CAAY,QAAO,IAClB,gBAACrB,EAAgB,QAAhB,CAAwB,UAAU,2CACjC,gBAAC,OAAI,UAAU,yCACb,gBAAC,OAAI,UAAW,uDAAuDa,CAAc,IACnF,gBAACb,EAAgB,QAAhB,CACE,GAAGmB,EACJ,IAAKhB,EACL,UAAWmB,EAAW,wBAAyB,oBAAqBP,CAAS,EAC7E,aAAW,OACX,iBAAmBQ,GAAU,CAE3BL,IAAmBK,CAAK,EAExB,SAAS,KAAK,MAAM,cAAgB,EACtC,EACF,CACF,CACF,CACF,CACF,CACF,CAEJ,CAAC,EACDd,EAAc,YAAc,iBAI5B,IAAMe,EAAoB,aAAiD,CAACzB,EAAOI,IACjF,gBAACH,EAAgB,MAAhB,CAAsB,QAAO,IAC5B,gBAACyB,EAAA,CAAQ,KAAK,IAAI,KAAK,QAAS,GAAG1B,EAAO,QAAS,GAAO,IAAKI,EAAc,CAC/E,CACD,EACDqB,EAAY,YAAc,eAI1B,IAAME,EAA0B,aAA6D,CAAC3B,EAAOI,IACnG,gBAACH,EAAgB,YAAhB,CAA4B,QAAO,IAClC,gBAAC2B,EAAA,CAAK,GAAG,IAAI,KAAK,IAAK,GAAG5B,EAAO,QAAS,GAAO,IAAKI,EAAc,CACtE,CACD,EACDuB,EAAkB,YAAc,qBAIhC,IAAME,EAAoB,aAAiD,CAAC,CAAE,SAAA1B,EAAU,GAAGH,CAAM,EAAGI,IAClG,gBAACH,EAAgB,MAAhB,CAAuB,GAAGD,EAAO,IAAKI,EAAc,QAAO,IACzDC,EAAoBF,CAAQ,CAC/B,CACD,EACD0B,EAAY,YAAc",
6
+ "names": ["dialog_exports", "__export", "DialogClose", "DialogContent", "DialogDescription", "DialogRoot", "DialogTitle", "DialogTrigger", "React", "classNames", "DialogPrimitive", "DialogRoot", "props", "DialogPrimitive", "DialogTrigger", "children", "forwardedRef", "requireReactElement", "alignPropDef", "contentPropDefs", "dialogContentPropDefs", "alignPropDefs", "DialogContent", "align", "ownProps", "useThemeSizeProps", "alignClassName", "extractProps", "className", "forceMount", "container", "onCloseAutoFocus", "contentProps", "useBodyPointerEventsCleanup", "PortalTheme", "classNames", "event", "DialogTitle", "Heading", "DialogDescription", "Text", "DialogClose"]
7
+ }
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as I,b as y,c as z,d as _,e as K}from"./chunk-2ACVWLFA.js";import{a as te}from"./chunk-TGRHRMQI.js";import{b as H,c as U,d as k,e as Y,f as q}from"./chunk-GKDGNPBD.js";import{a as M,b as v,c as J,d as Q,e as E,f as Z,g as ee,h as N}from"./chunk-5JYSYTHA.js";import{c as B,e as oe,g,h as O,i as ne}from"./chunk-ISCZ57VL.js";import{b as h,c as $,d as T,e as x}from"./chunk-EB4AG3OL.js";import{a as L}from"./chunk-MGWGD6KI.js";import{c as S}from"./chunk-OKQAVYW4.js";import{a as G}from"./chunk-AQKSO3SW.js";import{b as re}from"./chunk-FVRVBB6O.js";import{c as X}from"./chunk-5ON3XLRD.js";import{a as he}from"./chunk-VQPANPMI.js";var Oe={};he(Oe,{CheckboxItem:()=>Me,Content:()=>de,Group:()=>me,Item:()=>ce,Label:()=>le,RadioGroup:()=>De,RadioItem:()=>we,Root:()=>ue,Separator:()=>be,Sub:()=>fe,SubContent:()=>Re,SubTrigger:()=>Pe,Trigger:()=>se,TriggerIcon:()=>Ie});import*as e from"react";import l from"classnames";import{DropdownMenu as s,Slot as W}from"radix-ui";import{useCallbackRef as ie}from"radix-ui/internal";var ae=e.createContext(!1),ue=o=>{let{open:n,defaultOpen:t=!1,onOpenChange:u}=o,[i,r]=e.useState(t),a=n??i,c=ie(u),p=e.useCallback(D=>{r(D),c(D)},[c]),m=e.useCallback(()=>p(!1),[p]);return e.createElement(ae.Provider,{value:a},e.createElement(oe,{value:m},e.createElement(s.Root,{...o,open:a,onOpenChange:p})))};ue.displayName="DropdownMenu.Root";var se=e.forwardRef(({children:o,...n},t)=>e.createElement(s.Trigger,{...n,ref:t,asChild:!0},te(o)));se.displayName="DropdownMenu.Trigger";var V=e.createContext({}),Te={ltr:"ArrowLeft",rtl:"ArrowRight"},xe={ltr:"ArrowRight",rtl:"ArrowLeft"};function Ee(o){return o instanceof HTMLElement&&(o.isContentEditable||o.tagName==="INPUT"||o.tagName==="TEXTAREA")}function pe(o){return o?.closest("[dir]")?.getAttribute("dir")==="rtl"?"rtl":"ltr"}var de=e.forwardRef((o,n)=>{let t=X(o,I.size),u=re(),{size:i=I.size.default}=t,{className:r,children:a,color:c,container:p,forceMount:m,submenuBehavior:D,virtualized:d=!1,onEscapeKeyDown:P,onKeyDown:R,...f}=S(t,I),b=c||u.accentColor,A=h(D,"cascade"),F=A==="drill-down",ge=e.useContext(ae),C=J(),ye=w=>{P?.(w),!(w.defaultPrevented||!F||C.getDepth()===0)&&(w.preventDefault(),C.pop("keyboard"))},Se=w=>{R?.(w),!(w.defaultPrevented||!F||C.getDepth()===0)&&(Ee(w.target)||w.key===Te[pe(w.currentTarget)]&&(w.preventDefault(),C.pop("keyboard")))},ke=e.useMemo(()=>({size:i,color:b}),[i,b]),j=e.createElement(B,{size:i},e.createElement(V.Provider,{value:ke},e.createElement(Q,{store:C,behavior:A,open:ge},a)));return e.createElement(s.Portal,{container:p,forceMount:m},e.createElement(G,{asChild:!0},e.createElement(s.Content,{"data-accent-color":b,align:"start",sideOffset:4,collisionPadding:10,...f,onEscapeKeyDown:ye,onKeyDown:Se,asChild:!1,ref:n,className:l("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-DropdownMenuContent",r)},d?e.createElement("div",{className:l("kui-BaseMenuViewport","kui-DropdownMenuViewport","kui-virtualized")},j):e.createElement(L,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:l("kui-BaseMenuViewport","kui-DropdownMenuViewport")},j)))))});de.displayName="DropdownMenu.Content";var le=e.forwardRef(({className:o,id:n,...t},u)=>{let i=e.useContext(M),r=ne(n,i);return i?e.createElement(s.Label,{...t,id:r,asChild:!1,ref:u,className:l("kui-BaseMenuLabel","kui-DropdownMenuLabel",o)}):null});le.displayName="DropdownMenu.Label";var ce=e.forwardRef((o,n)=>{let{className:t,children:u,color:i=z.color.default,shortcut:r,...a}=o;return e.useContext(M)?e.createElement(s.Item,{"data-accent-color":i,"aria-keyshortcuts":r?T(r):void 0,...a,ref:n,className:l("kui-reset","kui-BaseMenuItem","kui-DropdownMenuItem",t)},e.createElement(W.Slottable,null,u),r&&e.createElement(x,{shortcut:r,className:"kui-DropdownMenuShortcut"})):null});ce.displayName="DropdownMenu.Item";var me=e.forwardRef(({className:o,"aria-labelledby":n,...t},u)=>{let[i,r]=O(n),a=e.useContext(M);return e.createElement(g,{value:r},e.createElement(s.Group,{...a?{"aria-labelledby":i}:{role:"none"},...t,asChild:!1,ref:u,className:l("kui-BaseMenuGroup","kui-DropdownMenuGroup",o)}))});me.displayName="DropdownMenu.Group";var De=e.forwardRef(({className:o,"aria-labelledby":n,...t},u)=>{let[i,r]=O(n),a=e.useContext(M);return e.createElement(g,{value:r},e.createElement(s.RadioGroup,{...a?{"aria-labelledby":i}:{role:"none"},...t,asChild:!1,ref:u,className:l("kui-BaseMenuRadioGroup","kui-DropdownMenuRadioGroup",o)}))});De.displayName="DropdownMenu.RadioGroup";var we=e.forwardRef((o,n)=>{let{children:t,className:u,color:i=K.color.default,...r}=o;return e.useContext(M)?e.createElement(s.RadioItem,{...r,asChild:!1,ref:n,"data-accent-color":i,className:l("kui-BaseMenuItem","kui-BaseMenuRadioItem","kui-DropdownMenuItem","kui-DropdownMenuRadioItem",u)},e.createElement(W.Slottable,null,t),e.createElement(s.ItemIndicator,{className:"kui-BaseMenuItemIndicator kui-DropdownMenuItemIndicator"},e.createElement(q,{className:"kui-BaseMenuItemIndicatorIcon kui-DropdownMenuItemIndicatorIcon"}))):null});we.displayName="DropdownMenu.RadioItem";var Me=e.forwardRef((o,n)=>{let{children:t,className:u,shortcut:i,color:r=_.color.default,...a}=o;return e.useContext(M)?e.createElement(s.CheckboxItem,{"aria-keyshortcuts":i?T(i):void 0,...a,asChild:!1,ref:n,"data-accent-color":r,className:l("kui-BaseMenuItem","kui-BaseMenuCheckboxItem","kui-DropdownMenuItem","kui-DropdownMenuCheckboxItem",u)},e.createElement(W.Slottable,null,t),e.createElement(s.ItemIndicator,{className:"kui-BaseMenuItemIndicator kui-DropdownMenuItemIndicator"},e.createElement(H,{className:"kui-BaseMenuItemIndicatorIcon kui-DropdownMenuItemIndicatorIcon"})),i&&e.createElement(x,{shortcut:i,className:"kui-DropdownMenuShortcut"})):null});Me.displayName="DropdownMenu.CheckboxItem";var fe=({label:o="Back",open:n,defaultOpen:t,onOpenChange:u,children:i})=>{let r=v(),a=e.useId(),c=e.useMemo(()=>({id:a,label:o}),[a,o]),p=E(r,a)!=="closed",m=ie(u),D=n!==void 0;e.useLayoutEffect(()=>{if(!(!r||!D))return r.setController(a,m),()=>r.setController(a,null)},[r,D,a,m]),e.useLayoutEffect(()=>{!r||n===void 0||(n&&!r.isOpen(a)?r.open(a,r.takePendingModality(a)):!n&&r.isOpen(a)&&r.close(a,r.takePendingModality(a)))},[r,n,a]);let d=e.useRef(n===void 0&&!!t);e.useLayoutEffect(()=>{r&&d.current?r.open(a):d.current=!1},[]);let P=e.useRef(p);return e.useEffect(()=>{if(!(!r||P.current===p)){if(P.current=p,p&&d.current){d.current=!1;return}n!==void 0&&n===p||m(p)}},[r,p,m,n]),e.createElement(ee.Provider,{value:c},e.createElement(s.Sub,{open:n,defaultOpen:t,onOpenChange:r?void 0:u},i))};fe.displayName="DropdownMenu.Sub";var Pe=e.forwardRef((o,n)=>{let{className:t,children:u,onKeyDown:i,...r}=o,a=v(),c=N(),p=e.useContext(M);if(a&&c){if(!p)return null;let m=d=>{d.preventDefault(),a.push(c.id)},D=d=>{i?.(d),!(d.defaultPrevented||r.disabled)&&d.key===xe[pe(d.currentTarget)]&&(d.preventDefault(),a.push(c.id,"keyboard"))};return e.createElement(s.Item,{...r,"data-drill-down-trigger":c.id,"data-drill-down-name":r.textValue,onSelect:m,onKeyDown:D,ref:n,className:l("kui-reset","kui-BaseMenuItem","kui-BaseMenuSubTrigger","kui-DropdownMenuItem","kui-DropdownMenuSubTrigger","kui-DropdownMenuDrillDownSubTrigger",t)},u,e.createElement("div",{className:"kui-BaseMenuShortcut kui-DropdownMenuShortcut"},e.createElement(k,{className:"kui-BaseMenuSubTriggerIcon kui-DropdownMenuSubTriggerIcon"})))}return e.createElement(s.SubTrigger,{...r,onKeyDown:i,asChild:!1,ref:n,className:l("kui-BaseMenuItem","kui-BaseMenuSubTrigger","kui-DropdownMenuItem","kui-DropdownMenuSubTrigger",t)},u,e.createElement("div",{className:"kui-BaseMenuShortcut kui-DropdownMenuShortcut"},e.createElement(k,{className:"kui-BaseMenuSubTriggerIcon kui-DropdownMenuSubTriggerIcon"})))});Pe.displayName="DropdownMenu.SubTrigger";var be=e.forwardRef(({className:o,...n},t)=>e.useContext(M)?e.createElement(s.Separator,{...n,asChild:!1,ref:t,className:l("kui-BaseMenuSeparator","kui-DropdownMenuSeparator",o)}):null);be.displayName="DropdownMenu.Separator";function Ne({label:o,name:n}){let t=v(),u=e.useCallback(a=>{a.preventDefault(),t?.pop()},[t]),i=typeof o=="string"?o:n,r=i&&i!=="Back"?`Back from ${i}`:void 0;return e.createElement(s.Item,{"aria-label":r,textValue:i||"Back",onSelect:u,className:l("kui-reset","kui-BaseMenuItem","kui-DropdownMenuItem","kui-DropdownMenuDrillDownBackItem")},e.createElement(Y,{className:"kui-BaseMenuSubTriggerIcon kui-DropdownMenuDrillDownBackIcon"}),e.createElement("span",{className:"kui-DropdownMenuDrillDownBackLabel"},o))}function Be(o){let{loop:n,onEscapeKeyDown:t,onPointerDownOutside:u,onFocusOutside:i,onInteractOutside:r,sideOffset:a,alignOffset:c,avoidCollisions:p,collisionBoundary:m,collisionPadding:D,arrowPadding:d,sticky:P,hideWhenDetached:R,updatePositionStrategy:f,...b}=o;return b}var Re=e.forwardRef((o,n)=>{let t=v(),u=N();return t&&u?e.createElement(ve,{...o,ref:n,store:t,sub:u}):e.createElement(Ce,{...o,ref:n})});Re.displayName="DropdownMenu.SubContent";var Ce=e.forwardRef((o,n)=>{let t=e.useContext(V),u=o.size??t.size,i=o.color??t.color,{className:r,children:a,container:c,forceMount:p,color:m,virtualized:D=!1,...d}=S({...o,size:u},y),P=h(u,y.size.default),R=e.useMemo(()=>({size:u,color:i}),[u,i]),f=e.createElement(B,{size:u},e.createElement(V.Provider,{value:R},a));return e.createElement(s.Portal,{container:c,forceMount:p},e.createElement(G,{asChild:!0},e.createElement(s.SubContent,{"data-accent-color":i,alignOffset:$(P),sideOffset:1,collisionPadding:10,...d,asChild:!1,ref:n,className:l("kui-PopperContent","kui-BaseMenuContent","kui-variant-soft","kui-BaseMenuSubContent","kui-DropdownMenuContent","kui-DropdownMenuSubContent",r)},D?e.createElement("div",{className:l("kui-BaseMenuViewport","kui-DropdownMenuViewport","kui-virtualized")},f):e.createElement(L,{type:"auto",scrollbars:"vertical"},e.createElement("div",{className:l("kui-BaseMenuViewport","kui-DropdownMenuViewport")},f)))))});Ce.displayName="DropdownMenu.CascadeSubContent";var ve=e.forwardRef(({store:o,sub:n,...t},u)=>{let i=E(o,n.id),r=Z(o,n.id);if(i==="closed")return null;let{className:a,children:c,container:p,forceMount:m,virtualized:D,size:d,color:P,...R}=Be(t),f=i==="top",b=r?.name||(typeof n.label=="string"?n.label:"");return e.createElement("div",{role:"group","aria-label":b||void 0,...R,ref:u,"data-drill-down-panel":n.id,"data-drill-down-active":f?!0:void 0,className:l("kui-DropdownMenuDrillDownPanel",a)},f&&e.createElement(e.Fragment,null,e.createElement(Ne,{label:n.label,name:b}),e.createElement(s.Separator,{className:"kui-BaseMenuSeparator kui-DropdownMenuSeparator"})),e.createElement(g,{value:null},e.createElement(M.Provider,{value:f},c)))});ve.displayName="DropdownMenu.DrillDownPanel";var Ie=e.forwardRef(({className:o,...n},t)=>e.createElement(U,{...n,ref:t,className:l("kui-DropdownMenuTriggerIcon",o)}));Ie.displayName="DropdownMenu.TriggerIcon";export{ue as a,se as b,de as c,le as d,ce as e,me as f,De as g,we as h,Me as i,fe as j,Pe as k,be as l,Re as m,Ie as n,Oe as o};
3
+ //# sourceMappingURL=chunk-67UEMB4K.js.map