@womp/kookie-ui 0.26.2 → 0.26.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/components.css +27 -4
  2. package/dist/cjs/components/_internal/base-button.js +1 -1
  3. package/dist/cjs/components/_internal/base-button.js.map +2 -2
  4. package/dist/cjs/components/_internal/pane-band-context.d.ts +4 -3
  5. package/dist/cjs/components/_internal/pane-band-context.d.ts.map +1 -1
  6. package/dist/cjs/components/_internal/pane-band-context.js.map +2 -2
  7. package/dist/cjs/components/_internal/pane-chrome.js.map +2 -2
  8. package/dist/cjs/components/_internal/portal-theme.d.ts +9 -0
  9. package/dist/cjs/components/_internal/portal-theme.d.ts.map +1 -0
  10. package/dist/cjs/components/_internal/portal-theme.js +3 -0
  11. package/dist/cjs/components/_internal/portal-theme.js.map +7 -0
  12. package/dist/cjs/components/_internal/shell-sidebar.js.map +2 -2
  13. package/dist/cjs/components/alert-dialog.js +1 -1
  14. package/dist/cjs/components/alert-dialog.js.map +4 -4
  15. package/dist/cjs/components/button.js +1 -1
  16. package/dist/cjs/components/button.js.map +4 -4
  17. package/dist/cjs/components/chatbar.js +1 -1
  18. package/dist/cjs/components/chatbar.js.map +4 -4
  19. package/dist/cjs/components/chip.js +1 -1
  20. package/dist/cjs/components/chip.js.map +4 -4
  21. package/dist/cjs/components/combobox.d.ts.map +1 -1
  22. package/dist/cjs/components/combobox.js +1 -1
  23. package/dist/cjs/components/combobox.js.map +4 -4
  24. package/dist/cjs/components/context-menu.d.ts.map +1 -1
  25. package/dist/cjs/components/context-menu.js +1 -1
  26. package/dist/cjs/components/context-menu.js.map +4 -4
  27. package/dist/cjs/components/dialog.js +1 -1
  28. package/dist/cjs/components/dialog.js.map +4 -4
  29. package/dist/cjs/components/dropdown-menu.d.ts.map +1 -1
  30. package/dist/cjs/components/dropdown-menu.js +1 -1
  31. package/dist/cjs/components/dropdown-menu.js.map +4 -4
  32. package/dist/cjs/components/index.js +2 -2
  33. package/dist/cjs/components/index.js.map +4 -4
  34. package/dist/cjs/components/message-scroller.js +1 -1
  35. package/dist/cjs/components/message-scroller.js.map +4 -4
  36. package/dist/cjs/components/notice.js +1 -1
  37. package/dist/cjs/components/notice.js.map +4 -4
  38. package/dist/cjs/components/popover.js +1 -1
  39. package/dist/cjs/components/popover.js.map +4 -4
  40. package/dist/cjs/components/select.d.ts.map +1 -1
  41. package/dist/cjs/components/select.js +1 -1
  42. package/dist/cjs/components/select.js.map +4 -4
  43. package/dist/cjs/components/sheet.js +1 -1
  44. package/dist/cjs/components/sheet.js.map +4 -4
  45. package/dist/cjs/components/shell.js.map +2 -2
  46. package/dist/cjs/components/sidebar.js +1 -1
  47. package/dist/cjs/components/sidebar.js.map +4 -4
  48. package/dist/cjs/components/spinner.d.ts.map +1 -1
  49. package/dist/cjs/components/spinner.js +1 -1
  50. package/dist/cjs/components/spinner.js.map +2 -2
  51. package/dist/cjs/components/text-area.d.ts.map +1 -1
  52. package/dist/cjs/components/text-area.js +1 -1
  53. package/dist/cjs/components/text-area.js.map +2 -2
  54. package/dist/cjs/components/text-field.d.ts.map +1 -1
  55. package/dist/cjs/components/text-field.js +2 -2
  56. package/dist/cjs/components/text-field.js.map +2 -2
  57. package/dist/cjs/components/theme.d.ts.map +1 -1
  58. package/dist/cjs/components/theme.js +1 -1
  59. package/dist/cjs/components/theme.js.map +4 -4
  60. package/dist/cjs/components/toggle.js +1 -1
  61. package/dist/cjs/components/toggle.js.map +4 -4
  62. package/dist/cjs/components/toolbar.js +1 -1
  63. package/dist/cjs/components/toolbar.js.map +4 -4
  64. package/dist/cjs/components/tooltip.js +1 -1
  65. package/dist/cjs/components/tooltip.js.map +4 -4
  66. package/dist/cjs/index.js +4 -4
  67. package/dist/cjs/index.js.map +4 -4
  68. package/dist/esm/{chunk-UG73IGRF.js → chunk-27XQ5PN5.js} +2 -2
  69. package/dist/esm/{chunk-F2722F7B.js → chunk-2NWHEGKZ.js} +2 -2
  70. package/dist/esm/chunk-2NWHEGKZ.js.map +7 -0
  71. package/dist/esm/{chunk-5FWEGTP6.js → chunk-2R7WQPXX.js} +2 -2
  72. package/dist/esm/chunk-2R7WQPXX.js.map +7 -0
  73. package/dist/esm/{chunk-H2TSRYQ5.js → chunk-324VC67W.js} +2 -2
  74. package/dist/esm/{chunk-TFGUTYZK.js → chunk-3UIODOPE.js} +2 -2
  75. package/dist/esm/chunk-4CIQRUYW.js +6 -0
  76. package/dist/esm/chunk-4CIQRUYW.js.map +7 -0
  77. package/dist/esm/{chunk-OTCVSJT7.js → chunk-4MNRLB57.js} +2 -2
  78. package/dist/esm/{chunk-E6BDD3PN.js → chunk-6C6EK2B5.js} +2 -2
  79. package/dist/esm/{chunk-W4CPV4PO.js → chunk-6JGF6PQH.js} +2 -2
  80. package/dist/esm/{chunk-NYBE3U3V.js → chunk-7QBNXNEN.js} +2 -2
  81. package/dist/esm/{chunk-C2WKAIZM.js → chunk-ACMANOVD.js} +2 -2
  82. package/dist/esm/{chunk-KQIZMPSW.js → chunk-ANQLWGFN.js} +1 -1
  83. package/dist/esm/{chunk-KQIZMPSW.js.map → chunk-ANQLWGFN.js.map} +2 -2
  84. package/dist/esm/chunk-BUXK5VGR.js +3 -0
  85. package/dist/esm/chunk-BUXK5VGR.js.map +7 -0
  86. package/dist/esm/{chunk-7QP6JFPO.js → chunk-C67MM24U.js} +2 -2
  87. package/dist/esm/{chunk-ULCHGKI3.js → chunk-CGFLZ3DC.js} +2 -2
  88. package/dist/esm/{chunk-LFAUMDU5.js → chunk-D2C2A2ZK.js} +2 -2
  89. package/dist/esm/{chunk-MS2ONKJJ.js → chunk-DSM5SUH3.js} +2 -2
  90. package/dist/esm/{chunk-AJANJ22M.js → chunk-E2LSWNWZ.js} +2 -2
  91. package/dist/esm/{chunk-BVQDDN5Q.js → chunk-EB4AG3OL.js} +2 -2
  92. package/dist/esm/{chunk-5PQCTVZB.js → chunk-ENQV6SEA.js} +2 -2
  93. package/dist/esm/{chunk-VVLUY4WR.js → chunk-EPGIYTFK.js} +2 -2
  94. package/dist/esm/{chunk-6M6HGIGN.js → chunk-FK434VPA.js} +2 -2
  95. package/dist/esm/{chunk-TFFMELAL.js → chunk-FYTLUDL3.js} +2 -2
  96. package/dist/esm/chunk-GMWCTK5G.js +3 -0
  97. package/dist/esm/chunk-GMWCTK5G.js.map +7 -0
  98. package/dist/esm/{chunk-F364PDDM.js → chunk-HLIOHDEX.js} +2 -2
  99. package/dist/esm/{chunk-ONJYRJ66.js → chunk-IDEDEPBM.js} +2 -2
  100. package/dist/esm/{chunk-ZKQCSGL3.js → chunk-ISCZ57VL.js} +2 -2
  101. package/dist/esm/{chunk-HVMRB3AH.js → chunk-JD4KR6VZ.js} +2 -2
  102. package/dist/esm/{chunk-NS573D6O.js → chunk-JP36JSNP.js} +2 -2
  103. package/dist/esm/{chunk-N3B6EGXL.js → chunk-KLYI5E6F.js} +2 -2
  104. package/dist/esm/{chunk-GOXGRJO6.js → chunk-MCHK36NI.js} +2 -2
  105. package/dist/esm/{chunk-VIVM525H.js → chunk-MGWGD6KI.js} +2 -2
  106. package/dist/esm/{chunk-K55IQP5H.js → chunk-MPCCYR7L.js} +2 -2
  107. package/dist/esm/chunk-MPCCYR7L.js.map +7 -0
  108. package/dist/esm/{chunk-EERKYRYI.js → chunk-NWXODCTD.js} +2 -2
  109. package/dist/esm/{chunk-3ZWHKNHI.js → chunk-OLTRWCQK.js} +2 -2
  110. package/dist/esm/{chunk-RD4T2MCC.js → chunk-OLWUS7PC.js} +2 -2
  111. package/dist/esm/chunk-OLWUS7PC.js.map +7 -0
  112. package/dist/esm/chunk-OUOP6Q3Z.js +3 -0
  113. package/dist/esm/chunk-OUOP6Q3Z.js.map +7 -0
  114. package/dist/esm/{chunk-UR5BUNNT.js → chunk-Q2TLWILH.js} +2 -2
  115. package/dist/esm/{chunk-VCZ2GYOF.js → chunk-Q5SANVIW.js} +2 -2
  116. package/dist/esm/{chunk-LGZCNQBS.js → chunk-QPRUTOLI.js} +2 -2
  117. package/dist/esm/{chunk-TTW3EAQT.js → chunk-QRV32INS.js} +2 -2
  118. package/dist/esm/chunk-R7YHDIFM.js +3 -0
  119. package/dist/esm/{chunk-M7IQIKB4.js.map → chunk-R7YHDIFM.js.map} +2 -2
  120. package/dist/esm/{chunk-UBUGG2OB.js → chunk-RP5ORPPH.js} +2 -2
  121. package/dist/esm/chunk-T2DZDW5Y.js +3 -0
  122. package/dist/esm/chunk-T2DZDW5Y.js.map +7 -0
  123. package/dist/esm/{chunk-2TWPPDII.js → chunk-UMR4AF35.js} +2 -2
  124. package/dist/esm/chunk-VPP5IDW7.js +3 -0
  125. package/dist/esm/chunk-VPP5IDW7.js.map +7 -0
  126. package/dist/esm/chunk-W3ES2XSB.js +3 -0
  127. package/dist/esm/chunk-W3ES2XSB.js.map +7 -0
  128. package/dist/esm/{chunk-TF6WAIUQ.js → chunk-W4Z6ORYO.js} +2 -2
  129. package/dist/esm/{chunk-ADL3LEOQ.js → chunk-WD66RYF6.js} +2 -2
  130. package/dist/esm/{chunk-TFFU435D.js → chunk-WYKNBNM5.js} +2 -2
  131. package/dist/esm/chunk-WYKNBNM5.js.map +7 -0
  132. package/dist/esm/{chunk-DIY2XQKR.js → chunk-X7JHZ3HA.js} +2 -2
  133. package/dist/esm/{chunk-H33NTGVF.js → chunk-XD3C3GVF.js} +2 -2
  134. package/dist/esm/{chunk-POP5NB33.js → chunk-XGES2VBG.js} +2 -2
  135. package/dist/esm/{chunk-VPUFKJQA.js → chunk-YMUERC2J.js} +2 -2
  136. package/dist/esm/chunk-YOZXIUZY.js +3 -0
  137. package/dist/esm/chunk-YOZXIUZY.js.map +7 -0
  138. package/dist/esm/{chunk-TXVZOS3E.js → chunk-Z5W4ACO2.js} +2 -2
  139. package/dist/esm/{chunk-3QN4C5LW.js → chunk-ZIAA2C4H.js} +2 -2
  140. package/dist/esm/components/_internal/base-button.js +1 -1
  141. package/dist/esm/components/_internal/base-menu.utils.js +1 -1
  142. package/dist/esm/components/_internal/menu-context.js +1 -1
  143. package/dist/esm/components/_internal/pane-band-context.d.ts +4 -3
  144. package/dist/esm/components/_internal/pane-band-context.d.ts.map +1 -1
  145. package/dist/esm/components/_internal/pane-band-context.js +1 -1
  146. package/dist/esm/components/_internal/pane-chrome.js +1 -1
  147. package/dist/esm/components/_internal/portal-theme.d.ts +9 -0
  148. package/dist/esm/components/_internal/portal-theme.d.ts.map +1 -0
  149. package/dist/esm/components/_internal/portal-theme.js +3 -0
  150. package/dist/esm/components/_internal/portal-theme.js.map +7 -0
  151. package/dist/esm/components/_internal/shell-bottom.js +1 -1
  152. package/dist/esm/components/_internal/shell-inspector.js +1 -1
  153. package/dist/esm/components/_internal/shell-sidebar.js +1 -1
  154. package/dist/esm/components/accordion.js +1 -1
  155. package/dist/esm/components/alert-dialog.js +1 -1
  156. package/dist/esm/components/avatar.js +1 -1
  157. package/dist/esm/components/blockquote.js +1 -1
  158. package/dist/esm/components/box.js +1 -1
  159. package/dist/esm/components/button.js +1 -1
  160. package/dist/esm/components/card.js +1 -1
  161. package/dist/esm/components/chatbar.js +1 -1
  162. package/dist/esm/components/checkbox-group.js +1 -1
  163. package/dist/esm/components/checkbox.js +1 -1
  164. package/dist/esm/components/chip.js +1 -1
  165. package/dist/esm/components/code.js +1 -1
  166. package/dist/esm/components/combobox.d.ts.map +1 -1
  167. package/dist/esm/components/combobox.js +1 -1
  168. package/dist/esm/components/context-menu.d.ts.map +1 -1
  169. package/dist/esm/components/context-menu.js +1 -1
  170. package/dist/esm/components/dialog.js +1 -1
  171. package/dist/esm/components/dropdown-menu.d.ts.map +1 -1
  172. package/dist/esm/components/dropdown-menu.js +1 -1
  173. package/dist/esm/components/flex.js +1 -1
  174. package/dist/esm/components/grid.js +1 -1
  175. package/dist/esm/components/heading.js +1 -1
  176. package/dist/esm/components/image.js +1 -1
  177. package/dist/esm/components/index.js +1 -1
  178. package/dist/esm/components/kbd.js +1 -1
  179. package/dist/esm/components/link.js +1 -1
  180. package/dist/esm/components/message-scroller.js +1 -1
  181. package/dist/esm/components/navbar.js +1 -1
  182. package/dist/esm/components/notice.js +1 -1
  183. package/dist/esm/components/popover.js +1 -1
  184. package/dist/esm/components/progress.js +1 -1
  185. package/dist/esm/components/radio-group.js +1 -1
  186. package/dist/esm/components/radio.js +1 -1
  187. package/dist/esm/components/scroll-area.js +1 -1
  188. package/dist/esm/components/segmented-control.js +1 -1
  189. package/dist/esm/components/select.d.ts.map +1 -1
  190. package/dist/esm/components/select.js +1 -1
  191. package/dist/esm/components/separator.js +1 -1
  192. package/dist/esm/components/sheet.js +1 -1
  193. package/dist/esm/components/shell.js +1 -1
  194. package/dist/esm/components/sidebar.js +1 -1
  195. package/dist/esm/components/slider.js +1 -1
  196. package/dist/esm/components/spinner.d.ts.map +1 -1
  197. package/dist/esm/components/spinner.js +1 -1
  198. package/dist/esm/components/switch.js +1 -1
  199. package/dist/esm/components/table.js +1 -1
  200. package/dist/esm/components/tabs.js +1 -1
  201. package/dist/esm/components/text-area.d.ts.map +1 -1
  202. package/dist/esm/components/text-area.js +1 -1
  203. package/dist/esm/components/text-field.d.ts.map +1 -1
  204. package/dist/esm/components/text-field.js +1 -1
  205. package/dist/esm/components/text.js +1 -1
  206. package/dist/esm/components/theme.d.ts.map +1 -1
  207. package/dist/esm/components/theme.js +1 -1
  208. package/dist/esm/components/toggle.js +1 -1
  209. package/dist/esm/components/toolbar.js +1 -1
  210. package/dist/esm/components/tooltip.js +1 -1
  211. package/dist/esm/components/virtual-menu.js +1 -1
  212. package/dist/esm/index.js +1 -1
  213. package/package.json +1 -1
  214. package/src/components/_internal/pane-band-context.ts +4 -3
  215. package/src/components/_internal/portal-theme.tsx +18 -0
  216. package/src/components/alert-dialog.tsx +3 -3
  217. package/src/components/combobox.tsx +4 -3
  218. package/src/components/context-menu.tsx +6 -5
  219. package/src/components/dialog.tsx +3 -3
  220. package/src/components/dropdown-menu.tsx +6 -5
  221. package/src/components/popover.tsx +3 -3
  222. package/src/components/select.tsx +4 -3
  223. package/src/components/sheet.tsx +3 -3
  224. package/src/components/spinner.css +16 -1
  225. package/src/components/spinner.tsx +14 -13
  226. package/src/components/text-area.css +7 -2
  227. package/src/components/text-area.tsx +10 -8
  228. package/src/components/text-field.css +7 -2
  229. package/src/components/text-field.tsx +10 -8
  230. package/src/components/theme.tsx +24 -30
  231. package/src/components/tooltip.tsx +3 -3
  232. package/styles.css +27 -4
  233. package/dist/esm/chunk-3C4Q6PMS.js +0 -3
  234. package/dist/esm/chunk-3C4Q6PMS.js.map +0 -7
  235. package/dist/esm/chunk-457Z4R5W.js +0 -3
  236. package/dist/esm/chunk-457Z4R5W.js.map +0 -7
  237. package/dist/esm/chunk-5FWEGTP6.js.map +0 -7
  238. package/dist/esm/chunk-5MEWNLNH.js +0 -3
  239. package/dist/esm/chunk-5MEWNLNH.js.map +0 -7
  240. package/dist/esm/chunk-BEHAT3GI.js +0 -3
  241. package/dist/esm/chunk-BEHAT3GI.js.map +0 -7
  242. package/dist/esm/chunk-DG2KIH54.js +0 -6
  243. package/dist/esm/chunk-DG2KIH54.js.map +0 -7
  244. package/dist/esm/chunk-DQCE7DHY.js +0 -3
  245. package/dist/esm/chunk-DQCE7DHY.js.map +0 -7
  246. package/dist/esm/chunk-F2722F7B.js.map +0 -7
  247. package/dist/esm/chunk-GE7FRBZ4.js +0 -3
  248. package/dist/esm/chunk-GE7FRBZ4.js.map +0 -7
  249. package/dist/esm/chunk-K55IQP5H.js.map +0 -7
  250. package/dist/esm/chunk-M7IQIKB4.js +0 -3
  251. package/dist/esm/chunk-RD4T2MCC.js.map +0 -7
  252. package/dist/esm/chunk-TFFU435D.js.map +0 -7
  253. /package/dist/esm/{chunk-UG73IGRF.js.map → chunk-27XQ5PN5.js.map} +0 -0
  254. /package/dist/esm/{chunk-H2TSRYQ5.js.map → chunk-324VC67W.js.map} +0 -0
  255. /package/dist/esm/{chunk-TFGUTYZK.js.map → chunk-3UIODOPE.js.map} +0 -0
  256. /package/dist/esm/{chunk-OTCVSJT7.js.map → chunk-4MNRLB57.js.map} +0 -0
  257. /package/dist/esm/{chunk-E6BDD3PN.js.map → chunk-6C6EK2B5.js.map} +0 -0
  258. /package/dist/esm/{chunk-W4CPV4PO.js.map → chunk-6JGF6PQH.js.map} +0 -0
  259. /package/dist/esm/{chunk-NYBE3U3V.js.map → chunk-7QBNXNEN.js.map} +0 -0
  260. /package/dist/esm/{chunk-C2WKAIZM.js.map → chunk-ACMANOVD.js.map} +0 -0
  261. /package/dist/esm/{chunk-7QP6JFPO.js.map → chunk-C67MM24U.js.map} +0 -0
  262. /package/dist/esm/{chunk-ULCHGKI3.js.map → chunk-CGFLZ3DC.js.map} +0 -0
  263. /package/dist/esm/{chunk-LFAUMDU5.js.map → chunk-D2C2A2ZK.js.map} +0 -0
  264. /package/dist/esm/{chunk-MS2ONKJJ.js.map → chunk-DSM5SUH3.js.map} +0 -0
  265. /package/dist/esm/{chunk-AJANJ22M.js.map → chunk-E2LSWNWZ.js.map} +0 -0
  266. /package/dist/esm/{chunk-BVQDDN5Q.js.map → chunk-EB4AG3OL.js.map} +0 -0
  267. /package/dist/esm/{chunk-5PQCTVZB.js.map → chunk-ENQV6SEA.js.map} +0 -0
  268. /package/dist/esm/{chunk-VVLUY4WR.js.map → chunk-EPGIYTFK.js.map} +0 -0
  269. /package/dist/esm/{chunk-6M6HGIGN.js.map → chunk-FK434VPA.js.map} +0 -0
  270. /package/dist/esm/{chunk-TFFMELAL.js.map → chunk-FYTLUDL3.js.map} +0 -0
  271. /package/dist/esm/{chunk-F364PDDM.js.map → chunk-HLIOHDEX.js.map} +0 -0
  272. /package/dist/esm/{chunk-ONJYRJ66.js.map → chunk-IDEDEPBM.js.map} +0 -0
  273. /package/dist/esm/{chunk-ZKQCSGL3.js.map → chunk-ISCZ57VL.js.map} +0 -0
  274. /package/dist/esm/{chunk-HVMRB3AH.js.map → chunk-JD4KR6VZ.js.map} +0 -0
  275. /package/dist/esm/{chunk-NS573D6O.js.map → chunk-JP36JSNP.js.map} +0 -0
  276. /package/dist/esm/{chunk-N3B6EGXL.js.map → chunk-KLYI5E6F.js.map} +0 -0
  277. /package/dist/esm/{chunk-GOXGRJO6.js.map → chunk-MCHK36NI.js.map} +0 -0
  278. /package/dist/esm/{chunk-VIVM525H.js.map → chunk-MGWGD6KI.js.map} +0 -0
  279. /package/dist/esm/{chunk-EERKYRYI.js.map → chunk-NWXODCTD.js.map} +0 -0
  280. /package/dist/esm/{chunk-3ZWHKNHI.js.map → chunk-OLTRWCQK.js.map} +0 -0
  281. /package/dist/esm/{chunk-UR5BUNNT.js.map → chunk-Q2TLWILH.js.map} +0 -0
  282. /package/dist/esm/{chunk-VCZ2GYOF.js.map → chunk-Q5SANVIW.js.map} +0 -0
  283. /package/dist/esm/{chunk-LGZCNQBS.js.map → chunk-QPRUTOLI.js.map} +0 -0
  284. /package/dist/esm/{chunk-TTW3EAQT.js.map → chunk-QRV32INS.js.map} +0 -0
  285. /package/dist/esm/{chunk-UBUGG2OB.js.map → chunk-RP5ORPPH.js.map} +0 -0
  286. /package/dist/esm/{chunk-2TWPPDII.js.map → chunk-UMR4AF35.js.map} +0 -0
  287. /package/dist/esm/{chunk-TF6WAIUQ.js.map → chunk-W4Z6ORYO.js.map} +0 -0
  288. /package/dist/esm/{chunk-ADL3LEOQ.js.map → chunk-WD66RYF6.js.map} +0 -0
  289. /package/dist/esm/{chunk-DIY2XQKR.js.map → chunk-X7JHZ3HA.js.map} +0 -0
  290. /package/dist/esm/{chunk-H33NTGVF.js.map → chunk-XD3C3GVF.js.map} +0 -0
  291. /package/dist/esm/{chunk-POP5NB33.js.map → chunk-XGES2VBG.js.map} +0 -0
  292. /package/dist/esm/{chunk-VPUFKJQA.js.map → chunk-YMUERC2J.js.map} +0 -0
  293. /package/dist/esm/{chunk-TXVZOS3E.js.map → chunk-Z5W4ACO2.js.map} +0 -0
  294. /package/dist/esm/{chunk-3QN4C5LW.js.map → chunk-ZIAA2C4H.js.map} +0 -0
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as 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-VPP5IDW7.js";import{a as B}from"./chunk-CGFLZ3DC.js";import{a as Q}from"./chunk-4MNRLB57.js";import{a as q}from"./chunk-7N2Q5WOM.js";import{g as J}from"./chunk-OLTRWCQK.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-FK434VPA.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as h,e as P,f,g as l}from"./chunk-2VSRZ4IT.js";import{a as R}from"./chunk-4KIZRO52.js";import{a as G}from"./chunk-OTCVSJT7.js";import{b as a}from"./chunk-GKDGNPBD.js";import{b as n}from"./chunk-5ON3XLRD.js";import{a as k}from"./chunk-CLJ6SEGP.js";import{c as b}from"./chunk-OKQAVYW4.js";import{a as S}from"./chunk-VQPANPMI.js";var T={};S(T,{Item:()=>N,Root:()=>v});import*as o from"react";import u from"classnames";import{Context as _}from"radix-ui/internal";var x={...k,...R};var I="CheckboxGroup",[z]=_.createContextScope(I,[h]),d=h(),[D,y]=z(I),v=o.forwardRef(({color:s=x.color.default,size:e,...t},r)=>{let p=n(e,x.size),{__scopeCheckboxGroup:c,className:m,...i}=t,E=d(c);return o.createElement(D,{scope:c,color:s,size:p},o.createElement(P,{...E,...i,ref:r,className:u("kui-CheckboxGroupRoot",m)}))});v.displayName="CheckboxGroup.Root";var N=o.forwardRef((s,e)=>{let{__scopeCheckboxGroup:t,children:r,className:p,style:c,...m}=s,{size:i}=y("CheckboxGroupItem",t);return r?o.createElement(G,{as:"label",size:i,className:u("kui-CheckboxGroupItem",p),style:c},o.createElement(C,{__scopeCheckboxGroup:t,...m,ref:e}),r&&o.createElement("span",{className:"kui-CheckboxGroupItemInner"},r)):o.createElement(C,{__scopeCheckboxGroup:t,...m,ref:e,className:p,style:c})});N.displayName="CheckboxGroup.Item";var C=o.forwardRef(({__scopeCheckboxGroup:s,...e},t)=>{let r=y("CheckboxGroupItemCheckbox",s),p=d(s),{color:c,className:m}=b({...e,...r},x);return o.createElement(f,{...p,"data-accent-color":c,...e,ref:t,className:u("kui-reset","kui-BaseCheckboxRoot","kui-CheckboxGroupItemCheckbox",m)},o.createElement(l,{...p,asChild:!0,className:"kui-BaseCheckboxIndicator"},o.createElement(a,null)))});C.displayName="CheckboxGroup.ItemCheckbox";export{v as a,N as b,T as c};
3
- //# sourceMappingURL=chunk-TFFMELAL.js.map
2
+ import{a as h,e as P,f,g as l}from"./chunk-2VSRZ4IT.js";import{a as R}from"./chunk-4KIZRO52.js";import{a as G}from"./chunk-4MNRLB57.js";import{b as a}from"./chunk-GKDGNPBD.js";import{c as b}from"./chunk-OKQAVYW4.js";import{b as n}from"./chunk-5ON3XLRD.js";import{a as k}from"./chunk-CLJ6SEGP.js";import{a as S}from"./chunk-VQPANPMI.js";var T={};S(T,{Item:()=>N,Root:()=>v});import*as o from"react";import u from"classnames";import{Context as _}from"radix-ui/internal";var x={...k,...R};var I="CheckboxGroup",[z]=_.createContextScope(I,[h]),d=h(),[D,y]=z(I),v=o.forwardRef(({color:s=x.color.default,size:e,...t},r)=>{let p=n(e,x.size),{__scopeCheckboxGroup:c,className:m,...i}=t,E=d(c);return o.createElement(D,{scope:c,color:s,size:p},o.createElement(P,{...E,...i,ref:r,className:u("kui-CheckboxGroupRoot",m)}))});v.displayName="CheckboxGroup.Root";var N=o.forwardRef((s,e)=>{let{__scopeCheckboxGroup:t,children:r,className:p,style:c,...m}=s,{size:i}=y("CheckboxGroupItem",t);return r?o.createElement(G,{as:"label",size:i,className:u("kui-CheckboxGroupItem",p),style:c},o.createElement(C,{__scopeCheckboxGroup:t,...m,ref:e}),r&&o.createElement("span",{className:"kui-CheckboxGroupItemInner"},r)):o.createElement(C,{__scopeCheckboxGroup:t,...m,ref:e,className:p,style:c})});N.displayName="CheckboxGroup.Item";var C=o.forwardRef(({__scopeCheckboxGroup:s,...e},t)=>{let r=y("CheckboxGroupItemCheckbox",s),p=d(s),{color:c,className:m}=b({...e,...r},x);return o.createElement(f,{...p,"data-accent-color":c,...e,ref:t,className:u("kui-reset","kui-BaseCheckboxRoot","kui-CheckboxGroupItemCheckbox",m)},o.createElement(l,{...p,asChild:!0,className:"kui-BaseCheckboxIndicator"},o.createElement(a,null)))});C.displayName="CheckboxGroup.ItemCheckbox";export{v as a,N as b,T as c};
3
+ //# sourceMappingURL=chunk-FYTLUDL3.js.map
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as se,b as ie}from"./chunk-OLWUS7PC.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-T2DZDW5Y.js";import{b as te}from"./chunk-YOZXIUZY.js";import{c as W}from"./chunk-HBWBPBSA.js";import{b as oe}from"./chunk-5ON3XLRD.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-GMWCTK5G.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": ";+mBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,GAAA,UAAAC,GAAA,UAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,cAAAC,GAAA,YAAAC,GAAA,UAAAC,KAoBA,UAAYC,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAWC,OAAwB,WAC5C,OAAS,kBAAAC,EAAgB,mBAAAC,GAAiB,wBAAAC,EAAsB,mBAAAC,MAAuB,oBACvF,OAAS,WAAWC,EAAkB,mBAAAC,OAAuB,OCjB7D,IAAMC,GAAQ,CAAC,IAAK,IAAK,IAAK,GAAG,EAK3BC,EAAuB,CAC3B,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,GAAO,QAAS,IAAK,WAAY,EAAK,CAC/F,EAIME,GAAkB,CAAC,SAAU,UAAW,OAAQ,UAAW,OAAO,EAKlEC,GAA0B,CAC9B,QAAS,CAAE,KAAM,OAAQ,UAAW,cAAe,OAAQD,GAAiB,QAAS,QAAS,EAC9F,MAAO,CAAE,KAAM,SAAU,EACzB,QAAS,CAAE,KAAM,SAAU,EAC3B,SAAU,CAAE,KAAM,SAAU,EAC5B,SAAU,CAAE,KAAM,SAAU,EAC5B,GAAGE,EACH,GAAGC,EACH,MAAOC,EAAc,MACrB,YAAa,CAAE,KAAM,QAAS,CAChC,EAWMC,GAAe,CAAC,IAAK,IAAK,IAAK,GAAG,EAKlCC,EAA0B,CAC9B,KAAM,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQD,GAAc,QAAS,IAAK,WAAY,EAAK,EACpG,GAAGH,EACH,MAAOE,EAAc,MACrB,SAAUA,EAAc,SACxB,SAAU,CAAE,GAAGA,EAAc,SAAU,QAAS,OAAQ,EACxD,GAAGG,CACL,EDTA,IAAMC,GAAwB,CAAE,KAAMC,EAAqB,IAAK,EAC1DC,GAAsB,CAAE,KAAMC,EAAwB,IAAK,EAE3DC,GAAS,IAAI,IACnB,SAASC,GAASC,EAAiB,CAC7BF,GAAO,IAAIE,CAAO,IACtBF,GAAO,IAAIE,CAAO,EAClB,QAAQ,KAAKA,CAAO,EACtB,CAYA,SAASC,GAAqBC,EAAwC,CACpE,IAAIC,EAAUD,EACRE,EAAY,IAAI,IACtB,MAAO,CACL,IAAK,IAAMD,EACX,IAAME,GAAS,CACT,OAAO,GAAGA,EAAMF,CAAO,IAC3BA,EAAUE,EACVD,EAAU,QAASE,GAAaA,EAAS,CAAC,EAC5C,EACA,UAAYA,IACVF,EAAU,IAAIE,CAAQ,EACf,IAAM,CACXF,EAAU,OAAOE,CAAQ,CAC3B,EAEJ,CACF,CAuBA,IAAMC,GAAwB,gBAA2C,IAAI,EAEvEC,EAAsBC,GAA0B,CACpD,IAAMC,EAAY,aAAWH,EAAe,EAC5C,GAAI,CAACG,EACH,MAAM,IAAI,MAAM,YAAYD,CAAa,oCAAoC,EAE/E,OAAOC,CACT,EAOMC,GAA8B,gBAAiD,IAAI,EAQnFC,GAA4B,gBAA+C,IAAI,EAS/EC,GAA+B,gBAAkD,IAAI,EAErFC,GAA4B,IAAY,aAAWD,EAAsB,EAuC/E,SAASE,GAAiBC,EAAqC,CAC7D,IAAMC,EAAYD,EAAG,aAAa,YAAY,GAAG,KAAK,EACtD,GAAIC,EAAW,OAAOA,EAEtB,IAAMC,EAAaF,EAAG,aAAa,iBAAiB,EACpD,GAAIE,EAAY,CACd,IAAMC,EAAOD,EACV,MAAM,KAAK,EACX,IAAKE,GAAOJ,EAAG,cAAc,eAAeI,CAAE,GAAG,aAAa,KAAK,CAAC,EACpE,OAAO,OAAO,EACd,KAAK,GAAG,EACX,GAAID,EAAM,OAAOA,CACnB,CAEA,IAAME,EAAUL,EAAyB,OACzC,GAAIK,GAAUA,EAAO,OAAS,EAAG,CAC/B,IAAMF,EAAO,MAAM,KAAKE,CAAM,EAC3B,IAAKC,GAAUA,EAAM,aAAa,KAAK,CAAC,EACxC,OAAO,OAAO,EACd,KAAK,GAAG,EACX,GAAIH,EAAM,OAAOA,CACnB,CAGF,CAEA,IAAMI,GAA6CC,GAAU,CAC3D,GAAM,CACJ,SAAAC,EACA,KAAMC,EACN,MAAOC,EACP,aAAAC,EAAe,KACf,cAAAC,EACA,KAAMC,EACN,YAAAC,EAAc,GACd,aAAAC,EACA,YAAAC,EAAc,mBACd,kBAAAC,EAAoB,YACpB,YAAaC,EACb,mBAAAC,EAAqB,GACrB,oBAAAC,EACA,OAAAC,EACA,aAAAC,EAAe,GACf,KAAAC,EAAO,GACP,SAAAC,EACA,oBAAAC,EAAsB,GACtB,mBAAAC,EAAqB,GACrB,MAAAC,EACA,aAAcC,EACd,GAAGC,CACL,EAAItB,EACEuB,EAAOC,GAAatB,EAAU/B,EAAqB,IAAI,EAEvD,CAACsD,EAAMC,CAAO,EAAIC,EAAqB,CAC3C,KAAMrB,EACN,YAAaC,EACb,SAAUC,CACZ,CAAC,EAEK,CAACoB,EAAOC,EAAQ,EAAIF,EAAoC,CAC5D,KAAMxB,EACN,YAAaC,EACb,SAAUC,CACZ,CAAC,EAEK,CAACyB,EAAaC,CAAc,EAAIJ,EAA6B,CACjE,KAAMhB,EACN,YAAaC,EACb,SAAUC,CACZ,CAAC,EAEKmB,EAAuB,OAAOX,GAAqB,WAAaA,EAAiBO,CAAK,EAAIP,EAI1F,CAACY,CAAK,EAAU,WAAS,IAAMxD,GAAqBmD,CAAK,CAAC,EAChEM,EAAgB,IAAM,CACpBD,EAAM,IAAIL,CAAK,CACjB,EAAG,CAACK,EAAOL,CAAK,CAAC,EAKjB,IAAMO,EAAmBC,EAAgBC,GAAsB,CAC7DX,EAAQW,CAAQ,EACZ,CAACA,GAAYlB,GAAoBY,EAAe,EAAE,CACxD,CAAC,EAEKO,EAAWF,EAAgBG,GAAsB,CACrDV,GAASU,CAAS,EAClBb,EAAQ,EAAK,EACTR,GAAqBa,EAAe,EAAE,CAC5C,CAAC,EAEKS,EAAmB,SAAiC,IAAI,EACxDC,EAAwB,cAAY,IAAOD,EAAW,QAAUjD,GAAiBiD,EAAW,OAAO,EAAI,OAAY,CAAC,CAAC,EAErHE,GAAqB,UACzB,KAAO,CACL,MAAAd,EACA,aAAcI,EACd,QAASG,EACT,KAAAZ,EACA,YAAAd,EACA,kBAAAC,EACA,SAAAO,EACA,MAAAG,EACA,KAAAJ,EACA,aAAAD,EACA,OAAAD,EACA,WAAA0B,EACA,gBAAAC,CACF,GACA,CAACb,EAAOI,EAAsBG,EAAkBZ,EAAMd,EAAaC,EAAmBO,EAAUG,EAAOJ,EAAMD,EAAcD,EAAQ2B,CAAe,CACpJ,EAEME,GAA2B,UAAoC,KAAO,CAAE,MAAOb,EAAa,SAAUC,CAAe,GAAI,CAACD,EAAaC,CAAc,CAAC,EAEtJa,GAAyB,UAAkC,KAAO,CAAE,MAAAX,EAAO,SAAAK,EAAU,SAAArB,CAAS,GAAI,CAACgB,EAAOK,EAAUrB,CAAQ,CAAC,EAEnI,OACE,gBAAClC,GAAgB,SAAhB,CAAyB,MAAO2D,IAC/B,gBAACvD,GAAsB,SAAtB,CAA+B,MAAOwD,IACrC,gBAACvD,GAAoB,SAApB,CAA6B,MAAOwD,IACnC,gBAASC,GAAR,CAAa,KAAMpB,EAAM,aAAcU,EAAmB,GAAGb,GAC3DrB,CACH,CACF,CACF,CACF,CAEJ,EACAF,GAAa,YAAc,gBAW3B,IAAM+C,GAAwB,aAAyD,CAAC9C,EAAO+C,IAAiB,CAC9G,IAAM7D,EAAMF,EAAmB,SAAS,EAElC,CACJ,SAAAiB,EACA,UAAA+C,EACA,YAAAvC,EACA,SAAAQ,EACA,SAAAgC,EACA,MAAAC,EACA,QAAAC,EACA,MAAA/B,EACA,OAAAgC,EACA,QAAAC,EACA,UAAAC,EACA,KAAMC,EACN,GAAGC,CACL,EAAIC,EAAa,CAAE,KAAMvE,EAAI,KAAM,GAAGc,CAAM,EAAG9B,GAAuBwF,EAAuB,EAEvFC,EAAa1C,GAAY/B,EAAI,SAC7B0E,EAAgBxC,GAASlC,EAAI,MAE7B2E,EAAY,GAAQZ,GAAYE,GAChCW,EAAgB5E,EAAI,OAAS,MAAQA,EAAI,cAAgB,KAEzD6E,EAAcC,GAAgBjB,EAAc7D,EAAI,UAAU,EAE1D,CAAE,gBAAAuD,CAAgB,EAAIvD,EACtB,YAAU,IAAM,CAOtB,EAAG,CAACuD,CAAe,CAAC,EAEpB,IAAMwB,EAAeC,GAA+C,CAClEb,IAAUa,CAAK,EAEXL,GAAWK,EAAM,eAAe,CACtC,EAEMC,EAAiBD,GAAkD,CACvEZ,IAAYY,CAAK,EACb,EAAAA,EAAM,kBAAoBL,GAAaF,KAEvCO,EAAM,MAAQ,aAAeA,EAAM,MAAQ,aAC7CA,EAAM,eAAe,EACrBhF,EAAI,QAAQ,EAAI,EAEpB,EAEMkF,EACJ,gBAAC,QAAK,UAAU,uCAAuC,cAAY,QACjE,gBAACC,EAAA,IAAQ,CACX,EAGIC,EACJ,gCACE,gBAAC,QAAK,UAAU,0BACd,gBAAC,QAAK,UAAU,qBAAqBpF,EAAI,cAAgBA,EAAI,OAASuB,GAAevB,EAAI,WAAY,CACvG,EACCiE,EAAUiB,EAAc,gBAACG,GAAA,CAAgB,UAAU,iBAAiB,CACvE,EAKF,OACE,gBAASC,GAAR,CAAgB,SAAUb,GACzB,gBAAC,UACC,oBAAmBC,EACnB,cAAaR,EACb,aAAYF,EACZ,eAAcC,EACd,gBAAeQ,GAAc,OAC7B,iBAAgBV,GAAY,OAC5B,mBAAkBa,EAAgB,GAAK,OACtC,GAAGN,EAEJ,KAAK,WAEL,gBAAeG,GAAcH,EAAa,eAAe,EACzD,gBAAeP,GAAYO,EAAa,eAAe,EACvD,eAAcN,GAASM,EAAa,cAAc,EAClD,YAAWL,GAAWK,EAAa,WAAW,EAC9C,KAAMD,GAAc,SACpB,SAAUI,EACV,QAASM,EACT,UAAWE,EACX,IAAKJ,EACL,UAAWU,EAAW,YAAa,oBAAqB,sBAAuBzB,CAAS,GAGvF/C,EACC,gCACGyE,GAAoBzE,CAAQ,EAC5BkD,EAAUiB,EAAc,IAC3B,EAEAE,CAEJ,CACF,CAEJ,CAAC,EACDxB,GAAgB,YAAc,mBAW9B,IAAM6B,GAAsB,aAAqD,CAAC,CAAE,YAAAlE,EAAa,SAAAR,EAAU,UAAA+C,EAAW,GAAG4B,CAAW,EAAG7B,IAAiB,CACtJ,IAAM7D,EAAMF,EAAmB,OAAO,EAChC6F,EAAU3F,EAAI,cAAgBA,EAAI,OAAS,OACjD,OACE,gBAAC,QAAM,GAAG0F,EAAY,IAAK7B,EAAc,UAAW0B,EAAW,oBAAqBzB,CAAS,GAC1F6B,GAAW5E,GAAYQ,GAAevB,EAAI,WAC7C,CAEJ,CAAC,EACDyF,GAAc,YAAc,iBAa5B,SAASG,IAAoB,CAC3B,IAAMC,EAAQC,GAAiBC,GAAUA,EAAM,SAAS,KAAK,EACvDC,EAASF,GAAiBC,GAAUA,EAAM,MAAM,EAChD,CAACzG,EAAS2G,CAAU,EAAU,WAAS,EAAE,EAE/C,OAAM,YAAU,IAAM,CACpB,IAAMtG,EAAQqG,EAAcH,IAAU,EAAI,aAAe,GAAGA,CAAK,UAAUA,IAAU,EAAI,GAAK,GAAG,GAA1E,GACjBK,EAAU,OAAO,WAAW,IAAMD,EAAWtG,CAAI,EAAGqG,EAAS,IAAM,CAAC,EAC1E,MAAO,IAAM,OAAO,aAAaE,CAAO,CAC1C,EAAG,CAACL,EAAOG,CAAM,CAAC,EAGhB,gBAACG,GAAA,CAAe,KAAK,SAAS,YAAU,SAAS,cAAY,QAC1D7G,CACH,CAEJ,CAEA,IAAM8G,GAAwB,aAAyD,CAACtF,EAAO+C,IAAiB,CAC9G,IAAM7D,EAAMF,EAAmB,SAAS,EAClCuG,EAAeC,GAAgB,EAG/BjE,EAAOvB,EAAM,MAAQd,EAAI,MAAQb,EAAwB,KAAK,QAE9D,CACJ,UAAA2E,EACA,SAAA/C,EACA,MAAAmB,EACA,WAAAqE,EACA,UAAAC,EACA,gBAAAC,EACA,aAAcC,EACd,kBAAmBC,EACnB,GAAGC,CACL,EAAIrC,EAAa,CAAE,GAAGzD,EAAO,KAAAuB,CAAK,EAAGlD,CAAuB,EAEtDuF,EAAgBxC,GAASlC,EAAI,OAASqG,EAAa,YAMnD,CAAE,gBAAA9C,CAAgB,EAAIvD,EACtB,CAAC6G,EAAcC,CAAe,EAAU,WAASvD,CAAe,EACtEP,EAAgB,IAAM,CACpB,GAAI6D,IAAiB,OAAW,OAChC,IAAMjG,EAAQ2C,EAAgB,EAC1B3C,IAAU,QAAWkG,EAAgBlG,CAAK,CAChD,EAAG,CAAC2C,EAAiBsD,CAAY,CAAC,EAElC,IAAMjG,EAAQE,EAAM,YAAY,GAAK+F,EAE/BE,EAA4B,UAChC,KAAO,CAEL,cAAexC,EAAa,CAAE,KAAAlC,CAAK,EAAGnD,EAAmB,EAAE,WAAa,OACxE,MAAOwF,EACP,MAAA9D,CACF,GACA,CAACyB,EAAMqC,EAAe9D,CAAK,CAC7B,EAEMoG,EAAmB,SAAuB,IAAI,EAI9CC,EAAuBjC,GAAiB,CAE5C,GADAyB,IAAkBzB,CAAK,EACnBA,EAAM,iBAAkB,OAC5B,IAAMkC,EAAUF,EAAW,QAC3B,GAAI,CAACE,GAAWA,EAAQ,cAAc,cAAc,EAAG,OACvDlC,EAAM,eAAe,GACRkC,EAAQ,cAA2B,aAAa,GACpDA,GAAS,MAAM,CAAE,cAAe,EAAK,CAAC,CACjD,EAGMC,EAAmBnH,EAAI,OAAO,KAAK,GAAK,OAE9C,OACE,gBAACoH,GAAiB,OAAjB,CAAwB,UAAWZ,EAAW,WAAYD,EAAa,GAAO,QAC7E,gBAACc,GAAA,CAAY,QAAO,IAClB,gBAACD,GAAiB,QAAjB,CACC,oBAAmB1C,EACnB,MAAM,QACN,WAAY,EACZ,iBAAkB,GAClB,aAAYiC,EAAqB,OAAY/F,EAC7C,kBAAiB+F,EAChB,GAAGC,EACJ,WAAYL,EAAa,GAAO,OAChC,gBAAiBU,EACjB,IAAKpD,EACL,UAAW0B,EAAW,oBAAqB,sBAC3C,mBAAoB,sBAAuBzB,CAAS,GAEpD,gBAAC3D,GAAuB,SAAvB,CAAgC,MAAO4G,GACtC,gBAACO,EAAA,CACC,IAAKN,EACL,KAAMhH,EAAI,KACV,aAAcA,EAAI,aAClB,OAAQA,EAAI,OACZ,MAAOY,EACP,aAAcuG,EACd,UAAU,uBAETpG,EACD,gBAAC6E,GAAA,IAAkB,CACrB,CACF,CACF,CACF,CACF,CAEJ,CAAC,EACDQ,GAAgB,YAAc,mBAe9B,IAAMmB,GAAsB,aAC1B,CAAC,CAAE,UAAAzD,EAAW,eAAA0D,EAAgB,aAAAC,EAAc,YAAAlG,EAAa,QAASmG,EAAc,MAAAhF,EAAO,cAAAvB,EAAe,GAAGwG,CAAW,EAAG9D,IAAiB,CACtI,IAAM7D,EAAMF,EAAmB,OAAO,EAChCkG,EAAe,aAAW/F,EAAqB,EAC/C2H,EAAiBxH,GAA0B,EAE3CyH,EAAmBH,GAAgB,OAGnC9E,EAAcF,GAASsD,GAAQ,OAAS,GACxC8B,EAAqB3G,GAAiB6E,GAAQ,SAE9C+B,EACJ,gBAAC,OACC,UAAWxC,EAAW,oBAAqB,wBAAyBqC,GAAgB,cAAe,eAAeC,CAAgB,EAAE,EACpI,oBAAmBD,GAAgB,OAElCJ,EAAiB,gBAAC,OAAI,UAAU,qBAAqBA,CAAe,EAAS,KAC9E,gBAACF,EAAiB,MAAjB,CACE,GAAGK,EACJ,IAAK9D,EACL,MAAOjB,EACP,cAAekF,EACf,YAAavG,GAAevB,EAAI,kBAChC,UAAWuF,EAAW,YAAa,qBAAsBzB,CAAS,EACpE,EACC2D,EACC,gBAAC,OAAI,UAAU,oBAAoB,YAAU,SAC1CA,CACH,EACE,IACN,EAGF,OAAOG,EAAiB,gBAAC,OAAI,UAAU,sBAAsBG,CAAW,EAASA,CACnF,CACF,EACAR,GAAc,YAAc,iBAW5B,IAAMS,GAAqB,aAAmD,CAAC,CAAE,UAAAlE,EAAW,SAAA/C,EAAU,MAAAH,EAAO,GAAGqH,CAAU,EAAGpE,IAAiB,CAC5I,IAAM+D,EAAiBxH,GAA0B,EACjD,OACE,gBAAC,OAAI,UAAU,0BACb,gBAAC,OAAI,UAAWmF,EAAW,uBAAwB,sBAAsB,GACvE,gBAAC+B,EAAiB,KAAjB,CAAuB,GAAGW,EAAW,MAAOrH,GAASgH,GAAgB,MAAO,IAAK/D,EAAc,UAAW0B,EAAW,mBAAoBzB,CAAS,GAChJ/C,CACH,CACF,CACF,CAEJ,CAAC,EACDiH,GAAa,YAAc,gBAS3B,IAAME,GAAsB,aAAqD,CAAC,CAAE,UAAApE,EAAW,GAAGqE,CAAW,EAAGtE,IAC9G,gBAACyD,EAAiB,MAAjB,CAAwB,GAAGa,EAAY,IAAKtE,EAAc,UAAW0B,EAAW,oBAAqBzB,CAAS,EAAG,CACnH,EACDoE,GAAc,YAAc,iBAS5B,IAAME,GAAsB,aAAqD,CAAC,CAAE,UAAAtE,EAAW,GAAGuE,CAAW,EAAGxE,IAC9G,gBAACyD,EAAiB,MAAjB,CAAwB,GAAGe,EAAY,IAAKxE,EAAc,UAAW0B,EAAW,oBAAqB,oBAAqBzB,CAAS,EAAG,CACxI,EACDsE,GAAc,YAAc,iBAS5B,IAAME,GAAsB,aAAqD,CAAC,CAAE,UAAAxE,EAAW,GAAIyE,EAAQ,GAAGC,CAAW,EAAG3E,IAAiB,CAC3I,IAAM4E,EAAoB,QAAM,EAC1B/H,EAAK6H,GAAUE,EACfC,EAAiB,SAAuB,IAAI,EAC5C7D,EAAcC,GAAgBjB,EAAc6E,CAAQ,EAI1D,OAAA1F,EAAgB,IAAM,CACpB,IAAM2F,EAAQD,EAAS,SAAS,QAAQ,oBAAoB,EAC5D,GAAI,GAACC,GAASA,EAAM,aAAa,iBAAiB,GAClD,OAAAA,EAAM,aAAa,kBAAmBjI,CAAE,EACjC,IAAM,CACPiI,EAAM,aAAa,iBAAiB,IAAMjI,GAAIiI,EAAM,gBAAgB,iBAAiB,CAC3F,CACF,EAAG,CAACjI,CAAE,CAAC,EAEA,gBAAC,OAAK,GAAG8H,EAAY,GAAI9H,EAAI,IAAKmE,EAAa,UAAWU,EAAW,oBAAqB,oBAAqBzB,CAAS,EAAG,CACpI,CAAC,EACDwE,GAAc,YAAc,iBAS5B,IAAMM,GAA0B,aAA6D,CAAC,CAAE,UAAA9E,EAAW,GAAG+E,CAAe,EAAGhF,IAC9H,gBAACyD,EAAiB,UAAjB,CAA4B,GAAGuB,EAAgB,IAAKhF,EAAc,UAAW0B,EAAW,wBAAyB,wBAAyBzB,CAAS,EAAG,CACxJ,EACD8E,GAAkB,YAAc,qBAOhC,SAASE,EAAYC,EAA+B,CAClD,OAAIA,GAAQ,MAAQ,OAAOA,GAAS,UAAkB,GAClD,OAAOA,GAAS,UAAY,OAAOA,GAAS,SAAiB,OAAOA,CAAI,EACxE,MAAM,QAAQA,CAAI,EAAUA,EAAK,IAAID,CAAW,EAAE,KAAK,EAAE,EACnD,iBAA+CC,CAAI,EAAUD,EAAYC,EAAK,MAAM,QAAQ,EAC/F,EACT,CAeA,IAAMC,GAAqB,aACzB,CAAC,CAAE,UAAAlF,EAAW,SAAA/C,EAAU,MAAAH,EAAO,MAAA8B,EAAO,SAAAX,EAAU,SAAAqB,EAAU,SAAA6F,EAAU,GAAGC,CAAU,EAAGrF,IAAiB,CACnG,IAAMsF,EAAoB,aAAWjJ,EAAmB,EACxD,GAAI,CAACiJ,EACH,MAAM,IAAI,MAAM,iDAAiD,EAEnE,GAAM,CAAE,MAAApG,EAAO,SAAUqG,EAAkB,SAAUC,CAAa,EAAIF,EAGhEG,EAAY5G,IAAU,OAAO3B,GAAa,SAAWA,EAAS,KAAK,EAAI,QACvEwI,EAAgB,IAAMD,IAAc,QAAavG,EAAM,IAAI,IAAMuG,EACjEE,EAAmB,uBAAqBzG,EAAM,UAAWwG,EAAeA,CAAa,EAErFE,EAAevG,EAAeE,CAAQ,EAEtCsG,EAAqB,cACxBC,GAA0B,CACzB,IAAMtG,EAAYX,GAASiH,EAC3BP,EAAiB/F,CAAS,EAC1BoG,EAAapG,CAAS,CACxB,EACA,CAACX,EAAO0G,EAAkBK,CAAY,CACxC,EAGMhJ,GAAQG,GAASkI,EAAY/H,CAAQ,GAAG,QAAQ,OAAQ,GAAG,EAAE,KAAK,EAClE6I,EAAiBnJ,EAAQwI,EAAW,CAACxI,EAAM,GAAGwI,CAAQ,EAAI,CAACxI,CAAI,EAAKwI,EAGpEY,EAAcD,EAAiBA,EAAe,KAAK,IAAQ,EAAI,GAE/DnF,EAAa1C,GAAYsH,GAAgB,GAE/C,OACE,gBAAC/B,EAAiB,KAAjB,CACC,IAAKuC,EACJ,GAAGX,EACJ,MAAOxG,EACP,SAAUkH,EAEV,eAAcJ,EACd,SAAU/E,GAAc,OACxB,IAAKZ,EACL,SAAU6F,EACV,UAAWnE,EAAW,YAAa,mBAAoB,mBAAoBzB,CAAS,GAEnF0F,EACC,gBAAC,QAAK,UAAWjE,EAAW,4BAA6B,2BAA2B,GAClF,gBAACuE,EAAA,CAAe,UAAWvE,EAAW,gCAAiC,+BAA+B,EAAG,CAC3G,EACE,KACJ,gBAACwE,EAAA,KAAWhJ,CAAS,CACvB,CAEJ,CACF,EACAiI,GAAa,YAAc",
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
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as p,b as s,c as m,d as c}from"./chunk-UJ7JERJ5.js";import{c as t}from"./chunk-HBWBPBSA.js";import{a as e}from"./chunk-CLJ6SEGP.js";import{c as r}from"./chunk-OKQAVYW4.js";import*as o from"react";import D from"classnames";import{Slot as y}from"radix-ui";var q=["1","2","3","4","5","6","7","8","9"],f={...e,size:{type:"enum",className:"kui-r-size",values:q,responsive:!0},...c,...t,...p,...m,...s};var d=o.forwardRef((i,l)=>{let{asChild:a,className:u,color:n,...P}=r(i,f),k=a?y.Root:"blockquote";return o.createElement(k,{"data-accent-color":n,...P,ref:l,className:D("kui-Text","kui-Blockquote",u)})});d.displayName="Blockquote";export{d as a};
3
- //# sourceMappingURL=chunk-F364PDDM.js.map
2
+ import{a as p,b as s,c as m,d as c}from"./chunk-UJ7JERJ5.js";import{c as r}from"./chunk-OKQAVYW4.js";import{c as t}from"./chunk-HBWBPBSA.js";import{a as e}from"./chunk-CLJ6SEGP.js";import*as o from"react";import D from"classnames";import{Slot as y}from"radix-ui";var q=["1","2","3","4","5","6","7","8","9"],f={...e,size:{type:"enum",className:"kui-r-size",values:q,responsive:!0},...c,...t,...p,...m,...s};var d=o.forwardRef((i,l)=>{let{asChild:a,className:u,color:n,...P}=r(i,f),k=a?y.Root:"blockquote";return o.createElement(k,{"data-accent-color":n,...P,ref:l,className:D("kui-Text","kui-Blockquote",u)})});d.displayName="Blockquote";export{d as a};
3
+ //# sourceMappingURL=chunk-HLIOHDEX.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{c as E}from"./chunk-HBWBPBSA.js";import{c as I}from"./chunk-5ON3XLRD.js";import{b as L}from"./chunk-XU74PNM2.js";import{c as j}from"./chunk-OKQAVYW4.js";import*as r from"react";import re from"classnames";import{Direction as ae,Slider as v}from"radix-ui";var te=["1","2","3","4"],g={size:{type:"enum",className:"kui-r-size",values:te,default:"2",responsive:!0},showTickLabels:{type:"boolean"},snapToTicks:{type:"boolean"},...E,...L};var ne=r.forwardRef((K,O)=>{let W=I(K,g.size),{className:B,color:G,radius:A,tabIndex:C,...H}=j(W,g),{ticks:c,unit:u,showTickLabels:U,snapToTicks:y,value:$,defaultValue:q,onValueChange:x,onValueCommit:p,"aria-label":F,"aria-labelledby":J,...i}=H,k=i.min??0,d=i.max??100,[Q,X]=r.useState(()=>q??[k]),P=$!==void 0,s=P?$:Q,D=r.useId(),Y=i.step,l=r.useMemo(()=>c?[...c].sort((e,t)=>e.value-t.value):[],[c]),m=r.useCallback(e=>{let t=l[0].value;for(let a of l)Math.abs(a.value-e)<Math.abs(t-e)&&(t=a.value);return t},[l]),R=r.useCallback((e,t)=>{let a=m(e);return e>t&&a<=t?l.find(n=>n.value>t)?.value??t:e<t&&a>=t?[...l].reverse().find(n=>n.value<t)?.value??t:a},[m,l]),f=r.useRef(!1),N=r.useCallback(e=>{let t=a=>u?`${a} ${u}`:a.toString();return e.length===1?`${t(e[0])} out of ${t(d)}`:e.length===2?`${t(e[0])} to ${t(e[1])} out of ${t(d)}`:`${e.map(t).join(", ")} out of ${t(d)}`},[u,d]),Z=ae.useDirection(i.dir),T=i.orientation??"horizontal",V=T==="vertical"?!i.inverted:Z==="rtl"!=!!i.inverted,S=r.useMemo(()=>c?c.map((e,t)=>{let a=(e.value-k)/(d-k)*100;return{...e,percentage:V?100-a:a,index:t}}):null,[c,k,d,V]),b=r.useRef(null),h=r.useRef(null),_=r.useCallback(e=>{b.current&&(b.current.textContent=N(e),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{b.current&&(b.current.textContent="")},1e3))},[N]),w=r.useCallback(e=>{let a=y&&l.length>0?e.map((n,o)=>f.current&&s[o]!==void 0?R(n,s[o]):m(n)):e;P||X(a),x?.(a)},[y,l,R,m,s,x,P]),ee=r.useCallback(e=>{if(!p)return;if(!y||l.length===0){p(e);return}let t=f.current,a=e.map((n,o)=>t&&s[o]!==void 0?R(n,s[o]):m(n));t&&a.every((n,o)=>n===s[o])||p(a)},[p,y,l,R,m,s]);return r.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]),r.createElement("div",{className:"kui-SliderContainer","data-orientation":T,"data-has-ticks":S?"":void 0},r.createElement("div",{ref:b,"aria-live":"polite","aria-atomic":"true",className:"kui-sr-only"}),r.createElement(v.Root,{"data-accent-color":G,"data-radius":A,ref:O,...i,value:s,step:Y,onKeyDown:e=>{f.current=!0,i.onKeyDown?.(e)},onPointerDown:e=>{f.current=!1,i.onPointerDown?.(e)},onValueChange:w,onValueCommit:ee,asChild:!1,className:re("kui-SliderRoot",B)},r.createElement(v.Track,{className:"kui-SliderTrack"},r.createElement(v.Range,{className:"kui-SliderRange","data-inverted":i.inverted?"":void 0})),s.map((e,t)=>r.createElement(v.Thumb,{key:t,className:"kui-SliderThumb",...C!==void 0?{tabIndex:C}:void 0,"aria-label":F,"aria-labelledby":J,"aria-valuetext":u?`${e} ${u}`:void 0}))),S&&r.createElement("div",{className:"kui-SliderTicks","data-orientation":T,role:"group","aria-label":"Slider tick marks"},S.map(e=>r.createElement("button",{key:e.index,className:"kui-SliderTick",style:T==="vertical"?{top:`${e.percentage}%`}:{left:`${e.percentage}%`},disabled:i.disabled,onClick:()=>{let t=0;s.forEach((n,o)=>{let M=Math.abs(n-e.value),z=Math.abs(s[t]-e.value);(M<z||M===z&&e.value>n)&&(t=o)});let a=s.map((n,o)=>o===t?e.value:n).sort((n,o)=>n-o);f.current=!1,w(a),p?.(a),_(a)},"aria-label":`Set to ${e.label||(u?`${e.value} ${u}`:e.value)}`,"aria-describedby":e.label?void 0:`${D}-tick-${e.index}`,type:"button"},r.createElement("div",{className:"kui-SliderTickMark"}),e.label&&U!==!1&&r.createElement("div",{className:"kui-SliderTickLabel"},e.label),!e.label&&r.createElement("span",{id:`${D}-tick-${e.index}`,className:"kui-sr-only"},u?`${e.value} ${u}`:e.value)))))});ne.displayName="Slider";export{ne as a};
3
- //# sourceMappingURL=chunk-ONJYRJ66.js.map
2
+ import{c as j}from"./chunk-OKQAVYW4.js";import{c as E}from"./chunk-HBWBPBSA.js";import{c as I}from"./chunk-5ON3XLRD.js";import{b as L}from"./chunk-XU74PNM2.js";import*as r from"react";import re from"classnames";import{Direction as ae,Slider as v}from"radix-ui";var te=["1","2","3","4"],g={size:{type:"enum",className:"kui-r-size",values:te,default:"2",responsive:!0},showTickLabels:{type:"boolean"},snapToTicks:{type:"boolean"},...E,...L};var ne=r.forwardRef((K,O)=>{let W=I(K,g.size),{className:B,color:G,radius:A,tabIndex:C,...H}=j(W,g),{ticks:c,unit:u,showTickLabels:U,snapToTicks:y,value:$,defaultValue:q,onValueChange:x,onValueCommit:p,"aria-label":F,"aria-labelledby":J,...i}=H,k=i.min??0,d=i.max??100,[Q,X]=r.useState(()=>q??[k]),P=$!==void 0,s=P?$:Q,D=r.useId(),Y=i.step,l=r.useMemo(()=>c?[...c].sort((e,t)=>e.value-t.value):[],[c]),m=r.useCallback(e=>{let t=l[0].value;for(let a of l)Math.abs(a.value-e)<Math.abs(t-e)&&(t=a.value);return t},[l]),R=r.useCallback((e,t)=>{let a=m(e);return e>t&&a<=t?l.find(n=>n.value>t)?.value??t:e<t&&a>=t?[...l].reverse().find(n=>n.value<t)?.value??t:a},[m,l]),f=r.useRef(!1),N=r.useCallback(e=>{let t=a=>u?`${a} ${u}`:a.toString();return e.length===1?`${t(e[0])} out of ${t(d)}`:e.length===2?`${t(e[0])} to ${t(e[1])} out of ${t(d)}`:`${e.map(t).join(", ")} out of ${t(d)}`},[u,d]),Z=ae.useDirection(i.dir),T=i.orientation??"horizontal",V=T==="vertical"?!i.inverted:Z==="rtl"!=!!i.inverted,S=r.useMemo(()=>c?c.map((e,t)=>{let a=(e.value-k)/(d-k)*100;return{...e,percentage:V?100-a:a,index:t}}):null,[c,k,d,V]),b=r.useRef(null),h=r.useRef(null),_=r.useCallback(e=>{b.current&&(b.current.textContent=N(e),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>{b.current&&(b.current.textContent="")},1e3))},[N]),w=r.useCallback(e=>{let a=y&&l.length>0?e.map((n,o)=>f.current&&s[o]!==void 0?R(n,s[o]):m(n)):e;P||X(a),x?.(a)},[y,l,R,m,s,x,P]),ee=r.useCallback(e=>{if(!p)return;if(!y||l.length===0){p(e);return}let t=f.current,a=e.map((n,o)=>t&&s[o]!==void 0?R(n,s[o]):m(n));t&&a.every((n,o)=>n===s[o])||p(a)},[p,y,l,R,m,s]);return r.useEffect(()=>()=>{h.current&&clearTimeout(h.current)},[]),r.createElement("div",{className:"kui-SliderContainer","data-orientation":T,"data-has-ticks":S?"":void 0},r.createElement("div",{ref:b,"aria-live":"polite","aria-atomic":"true",className:"kui-sr-only"}),r.createElement(v.Root,{"data-accent-color":G,"data-radius":A,ref:O,...i,value:s,step:Y,onKeyDown:e=>{f.current=!0,i.onKeyDown?.(e)},onPointerDown:e=>{f.current=!1,i.onPointerDown?.(e)},onValueChange:w,onValueCommit:ee,asChild:!1,className:re("kui-SliderRoot",B)},r.createElement(v.Track,{className:"kui-SliderTrack"},r.createElement(v.Range,{className:"kui-SliderRange","data-inverted":i.inverted?"":void 0})),s.map((e,t)=>r.createElement(v.Thumb,{key:t,className:"kui-SliderThumb",...C!==void 0?{tabIndex:C}:void 0,"aria-label":F,"aria-labelledby":J,"aria-valuetext":u?`${e} ${u}`:void 0}))),S&&r.createElement("div",{className:"kui-SliderTicks","data-orientation":T,role:"group","aria-label":"Slider tick marks"},S.map(e=>r.createElement("button",{key:e.index,className:"kui-SliderTick",style:T==="vertical"?{top:`${e.percentage}%`}:{left:`${e.percentage}%`},disabled:i.disabled,onClick:()=>{let t=0;s.forEach((n,o)=>{let M=Math.abs(n-e.value),z=Math.abs(s[t]-e.value);(M<z||M===z&&e.value>n)&&(t=o)});let a=s.map((n,o)=>o===t?e.value:n).sort((n,o)=>n-o);f.current=!1,w(a),p?.(a),_(a)},"aria-label":`Set to ${e.label||(u?`${e.value} ${u}`:e.value)}`,"aria-describedby":e.label?void 0:`${D}-tick-${e.index}`,type:"button"},r.createElement("div",{className:"kui-SliderTickMark"}),e.label&&U!==!1&&r.createElement("div",{className:"kui-SliderTickLabel"},e.label),!e.label&&r.createElement("span",{id:`${D}-tick-${e.index}`,className:"kui-sr-only"},u?`${e.value} ${u}`:e.value)))))});ne.displayName="Slider";export{ne as a};
3
+ //# sourceMappingURL=chunk-IDEDEPBM.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{b as s}from"./chunk-BVQDDN5Q.js";import*as e from"react";import{useLayoutEffect as l}from"radix-ui/internal";var d=e.createContext({isInsideMenu:!1}),i=e.createContext(null),a={1:24,2:30,3:34,4:38};function p(t){return a[t]}function x({children:t,size:o}){let n=s(o,void 0),r=n?p(n):void 0,u=e.useMemo(()=>({isInsideMenu:!0,size:n,itemHeight:r}),[n,r]);return e.createElement(d.Provider,{value:u},e.createElement(i.Provider,{value:null},t))}function v(){return e.useContext(d)}var c=e.createContext(void 0),m=c.Provider;function C(){return e.useContext(c)}var R=i.Provider;function P(t){let[o,n]=e.useState(null);return[t??o??void 0,n]}function b(t,o=!0){let n=e.useContext(i),r=e.useId(),u=t??r;return l(()=>{if(!(!n||!o))return n(u),()=>n(null)},[n,u,o]),n?u:t}export{a,p as b,x as c,v as d,m as e,C as f,R as g,P as h,b as i};
3
- //# sourceMappingURL=chunk-ZKQCSGL3.js.map
2
+ import{b as s}from"./chunk-EB4AG3OL.js";import*as e from"react";import{useLayoutEffect as l}from"radix-ui/internal";var d=e.createContext({isInsideMenu:!1}),i=e.createContext(null),a={1:24,2:30,3:34,4:38};function p(t){return a[t]}function x({children:t,size:o}){let n=s(o,void 0),r=n?p(n):void 0,u=e.useMemo(()=>({isInsideMenu:!0,size:n,itemHeight:r}),[n,r]);return e.createElement(d.Provider,{value:u},e.createElement(i.Provider,{value:null},t))}function v(){return e.useContext(d)}var c=e.createContext(void 0),m=c.Provider;function C(){return e.useContext(c)}var R=i.Provider;function P(t){let[o,n]=e.useState(null);return[t??o??void 0,n]}function b(t,o=!0){let n=e.useContext(i),r=e.useId(),u=t??r;return l(()=>{if(!(!n||!o))return n(u),()=>n(null)},[n,u,o]),n?u:t}export{a,p as b,x as c,v as d,m as e,C as f,R as g,P as h,b as i};
3
+ //# sourceMappingURL=chunk-ISCZ57VL.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as o}from"./chunk-4KIZRO52.js";import{a as p,b as s}from"./chunk-GKDGNPBD.js";import{c as i}from"./chunk-5ON3XLRD.js";import{c}from"./chunk-OKQAVYW4.js";import*as e from"react";import b from"classnames";import{Checkbox as h}from"radix-ui";import{useControllableState as P}from"radix-ui/internal";var u=e.forwardRef((a,k)=>{let m=i(a,o.size),{className:n,color:C,checked:f,defaultChecked:t,onCheckedChange:d,...l}=c(m,o),[r,x]=P({prop:f,defaultProp:t??!1,onChange:d});return e.createElement(h.Root,{"data-accent-color":C,...l,defaultChecked:t,checked:r,onCheckedChange:x,asChild:!1,ref:k,className:b("kui-reset","kui-BaseCheckboxRoot","kui-CheckboxRoot",n)},e.createElement(h.Indicator,{asChild:!0,className:"kui-BaseCheckboxIndicator kui-CheckboxIndicator"},r==="indeterminate"?e.createElement(p,null):e.createElement(s,null)))});u.displayName="Checkbox";export{u as a};
3
- //# sourceMappingURL=chunk-HVMRB3AH.js.map
2
+ import{a as o}from"./chunk-4KIZRO52.js";import{a as p,b as s}from"./chunk-GKDGNPBD.js";import{c}from"./chunk-OKQAVYW4.js";import{c as i}from"./chunk-5ON3XLRD.js";import*as e from"react";import b from"classnames";import{Checkbox as h}from"radix-ui";import{useControllableState as P}from"radix-ui/internal";var u=e.forwardRef((a,k)=>{let m=i(a,o.size),{className:n,color:C,checked:f,defaultChecked:t,onCheckedChange:d,...l}=c(m,o),[r,x]=P({prop:f,defaultProp:t??!1,onChange:d});return e.createElement(h.Root,{"data-accent-color":C,...l,defaultChecked:t,checked:r,onCheckedChange:x,asChild:!1,ref:k,className:b("kui-reset","kui-BaseCheckboxRoot","kui-CheckboxRoot",n)},e.createElement(h.Indicator,{asChild:!0,className:"kui-BaseCheckboxIndicator kui-CheckboxIndicator"},r==="indeterminate"?e.createElement(p,null):e.createElement(s,null)))});u.displayName="Checkbox";export{u as a};
3
+ //# sourceMappingURL=chunk-JD4KR6VZ.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as d,b as f,c as g}from"./chunk-BQC2P3SN.js";import{a as P,b as H,c as h,d as c}from"./chunk-UJ7JERJ5.js";import{c as i}from"./chunk-HBWBPBSA.js";import{a as n}from"./chunk-CLJ6SEGP.js";import{c as m}from"./chunk-OKQAVYW4.js";import*as e from"react";import{Slot as v}from"radix-ui";var R=["h1","h2","h3","h4","h5","h6"],C=["1","2","3","4","5","6","7","8","9"],l={as:{type:"enum",values:R,default:"h2"},...n,size:{type:"enum",className:"kui-r-size",values:C,default:"6",responsive:!0},...g,...c,...f,...d,...h,...H,...i,...P};var W=e.memo(e.forwardRef((u,o)=>{let{children:r,className:p,asChild:y,as:D="h2",color:t,...s}=m(u,l),a=p?`kui-Heading ${p}`:"kui-Heading";return y?e.createElement(v.Root,{"data-accent-color":t,...s,ref:o,className:a},r):e.createElement(D,{"data-accent-color":t,...s,ref:o,className:a},r)}));W.displayName="Heading";export{W as a};
3
- //# sourceMappingURL=chunk-NS573D6O.js.map
2
+ import{a as d,b as f,c as g}from"./chunk-BQC2P3SN.js";import{a as P,b as H,c as h,d as c}from"./chunk-UJ7JERJ5.js";import{c as m}from"./chunk-OKQAVYW4.js";import{c as i}from"./chunk-HBWBPBSA.js";import{a as n}from"./chunk-CLJ6SEGP.js";import*as e from"react";import{Slot as v}from"radix-ui";var R=["h1","h2","h3","h4","h5","h6"],C=["1","2","3","4","5","6","7","8","9"],l={as:{type:"enum",values:R,default:"h2"},...n,size:{type:"enum",className:"kui-r-size",values:C,default:"6",responsive:!0},...g,...c,...f,...d,...h,...H,...i,...P};var W=e.memo(e.forwardRef((u,o)=>{let{children:r,className:p,asChild:y,as:D="h2",color:t,...s}=m(u,l),a=p?`kui-Heading ${p}`:"kui-Heading";return y?e.createElement(v.Root,{"data-accent-color":t,...s,ref:o,className:a},r):e.createElement(D,{"data-accent-color":t,...s,ref:o,className:a},r)}));W.displayName="Heading";export{W as a};
3
+ //# sourceMappingURL=chunk-JP36JSNP.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as nt}from"./chunk-E6BDD3PN.js";import{a as Be}from"./chunk-WUCBFB25.js";import{a as we}from"./chunk-ULCHGKI3.js";import{a as Ae}from"./chunk-OTCVSJT7.js";import{a as De}from"./chunk-DQCE7DHY.js";import{a as ze}from"./chunk-KVVRFWGQ.js";import{g as Qe,h as Ze,j as et}from"./chunk-GKDGNPBD.js";import{b as U}from"./chunk-5KMEUZWN.js";import{b as tt}from"./chunk-5ON3XLRD.js";import{a as at}from"./chunk-VIVM525H.js";import{a as Ht}from"./chunk-VQPANPMI.js";var Wt={};Ht(Wt,{AttachTrigger:()=>Rt,Attachment:()=>$e,AttachmentsRow:()=>pt,InlineEnd:()=>mt,InlineStart:()=>dt,Item:()=>bt,Root:()=>lt,Row:()=>Ct,RowEnd:()=>vt,RowStart:()=>gt,Send:()=>yt,Textarea:()=>ut});import*as e from"react";import E from"classnames";import{useComposedRefs as st,useLayoutEffect as je}from"radix-ui/internal";import{useDropzone as Ft}from"react-dropzone";function ot(t,r){let{placeholder:a}=t;if(!a){r();return}t.placeholder="";try{r()}finally{t.placeholder=a}}var It={values:["1","2","3"]},it=e.createContext(null),We=e.createContext(""),I=()=>{let t=e.useContext(it);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(r=>r.trim()).filter(Boolean):[],zt=(t,r)=>{if(r.length===0)return!0;let a=t.type.toLowerCase(),i=t.name.toLowerCase();for(let c of r){let l=c.toLowerCase();if(l.includes("/")){let[u,d]=l.split("/"),[g,y]=a.split("/");if(u==="*"||u===g&&(d==="*"||d===y))return!0}else if(l.startsWith(".")&&i.endsWith(l))return!0}return!1},Dt=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,ct=(t,r)=>(r||"").toLowerCase().startsWith("image/")||Dt.test(t),Ve=t=>t.trim().length>0,rt=(t,r)=>`${t} ${r}${t===1?"":"s"}`,Bt=0,jt=()=>`chatbar-attachment-${Date.now()}-${++Bt}`,lt=e.forwardRef((t,r)=>{let{className:a,style:i,children:c,value:l,defaultValue:u="",onValueChange:d,open:g,defaultOpen:y=!1,onOpenChange:R,expandOn:p="both",minLines:v=3,maxLines:x=6,sendMode:w="whenDirty",disabled:b,readOnly:S,onSubmit:D,size:O,variant:z,color:H,radius:F,width:Q,maxWidth:f,attachments:_,defaultAttachments:B,onAttachmentsChange:se,accept:A,multiple:L=!0,maxAttachments:Z,maxFileSize:G,paste:j=!0,pasteAccept:q,clearOnSubmit:V=!0,onAttachmentReject:N,dropzone:M=!0,apiRef:ke,onBlurCapture:pe,notices:he,context:fe,...Se}=t,W=tt(O,It),Ee=l!=null,[n,C]=e.useState(u),k=Ee?l:n,ee=g!=null,[X,te]=e.useState(y),ie=ee?g:X,Y="attachments"in t,[ce,be]=e.useState(()=>B??[]),le=e.useMemo(()=>Y?_??[]:ce,[Y,_,ce]),[Ke,xt]=e.useState({text:"",id:0}),ue=e.useCallback(o=>xt(s=>({text:o,id:s.id+1})),[]),Ue=e.useRef(null),Pt=st(r,Ue),Te=e.useRef(null),Le=e.useRef(null),de=e.useRef(!1),Re=e.useRef(!1),Ce=e.useRef(void 0),Ne=e.useRef(null),_e=me(A).join(","),Me=me(q).join(","),Oe=e.useMemo(()=>me(_e),[_e]),At=e.useMemo(()=>Me?me(Me):Oe,[Me,Oe]),Ge={value:k,attachments:le,accepts:Oe,pasteAccepts:At,multiple:L,maxAttachments:Z,maxFileSize:G,disabled:b,readOnly:S,expandOn:p,isValueControlled:Ee,isOpenControlled:ee,isAttachmentsControlled:Y,onValueChange:d,onOpenChange:R,onAttachmentsChange:se,onAttachmentReject:N,onSubmit:D},P=e.useRef(Ge);P.current=Ge;let He=e.useRef(null),$=e.useCallback(()=>He.current??P.current.attachments,[]),ae=e.useCallback(o=>{P.current.isOpenControlled||te(o),P.current.onOpenChange?.(o)},[]),ge=e.useCallback(o=>{P.current.isValueControlled||C(o),P.current.onValueChange?.(o)},[]),ne=e.useCallback(o=>{He.current=o,queueMicrotask(()=>{He.current=null}),P.current.isAttachmentsControlled||be(o),P.current.onAttachmentsChange?.(o)},[]),ve=e.useRef(new Set),oe=e.useCallback((o,s,m=P.current.multiple)=>{let h=P.current;if(h.disabled||h.readOnly||o.length===0)return 0;let K=$(),J=[],re=[],Mt=typeof h.maxAttachments=="number"?Math.max(h.maxAttachments-K.length,0):1/0,Ot=m?1/0:1;for(let T of o){if(J.length>=Mt||J.length>=Ot){re.push({file:T,reason:"count"});continue}if(typeof h.maxFileSize=="number"&&T.size>h.maxFileSize){re.push({file:T,reason:"size"});continue}if(!zt(T,s)){re.push({file:T,reason:"type"});continue}let Ie=ct(T.name,T.type)?URL.createObjectURL(T):void 0;Ie&&ve.current.add(Ie),J.push({id:jt(),name:T.name,size:T.size,type:T.type,file:T,url:Ie,status:"idle"})}let Pe=[];return J.length>0&&(ne(K.concat(J)),h.expandOn!=="none"&&ae(!0),Pe.push(`${rt(J.length,"file")} attached.`)),re.length>0&&(h.onAttachmentReject?.(re),Pe.push(`${rt(re.length,"file")} could not be attached.`)),Pe.length>0&&ue(Pe.join(" ")),J.length},[$,ne,ae,ue]),ye=e.useCallback(o=>oe(o,P.current.accepts),[oe]),qe=e.useCallback(o=>oe(o,P.current.pasteAccepts),[oe]),Xe=e.useCallback(o=>{let s=$(),m=s.find(h=>h.id===o);m&&(ne(s.filter(h=>h.id!==o)),ue(`Removed ${m.name}.`))},[$,ne,ue]),Ye=e.useCallback(o=>{let s=P.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let h={value:s.value,attachments:m};if(o&&s.onSubmit)for(let K of m)K.url&&ve.current.delete(K.url);return s.onSubmit?.(h),o&&(ge(""),ne([])),!0},[$,ge,ne]);e.useEffect(()=>{let o=ve.current;if(o.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(o))s.has(m)||(URL.revokeObjectURL(m),o.delete(m))},[le]),e.useEffect(()=>{let o=ve.current;return()=>{if(!P.current.isAttachmentsControlled){for(let s of Array.from(o))URL.revokeObjectURL(s);o.clear()}}},[]);let xe=e.useCallback(o=>{let s=P.current,m=Le.current;if(clearTimeout(Ce.current),Re.current=!1,!m||s.disabled||s.readOnly)return;let h=o?.accept!=null?me(o.accept):s.accepts,K=o?.multiple??s.multiple;Ne.current={patterns:h,multiple:K},m.accept=h.join(","),m.multiple=K,de.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(de.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Re.current=!0,clearTimeout(Ce.current),Ce.current=setTimeout(()=>{Re.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(Ce.current),[]),e.useEffect(()=>{let o=Le.current,s=()=>{de.current=!1};return window.addEventListener("focus",s),o?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),o?.removeEventListener("cancel",s)}},[]);let wt=e.useCallback(o=>{let s=o.currentTarget,m=Array.from(s.files??[]),h=Ne.current;oe(m,h?.patterns??P.current.accepts,h?.multiple),de.current=!1,Ne.current=null,s.value=""},[oe]),kt=e.useCallback(o=>{pe?.(o);let s=P.current,m=Ue.current;if(!m||s.expandOn==="none")return;let h=o.relatedTarget;h&&m.contains(h)||de.current||Re.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(o=>{ye(o)},[ye]),{getRootProps:Et,isDragActive:Tt}=Ft({onDrop:St,onDragEnter:()=>ue(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!M||b||S}),Fe=M&&Tt;e.useImperativeHandle(ke,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>xe()}),[xe]);let Lt=e.useCallback(o=>{if(b||o.pointerType==="mouse"&&o.button!==0)return;let s=o.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(o.preventDefault(),Te.current?.focus({preventScroll:!0}))},[b]),Nt=e.useMemo(()=>({open:ie,setOpen:ae,setValue:ge,size:W,expandOn:p,minLines:v,maxLines:x,sendMode:w,disabled:b,readOnly:S,paste:j,clearOnSubmit:V,multiple:L,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:ye,appendFilesFromPaste:qe,openFilePicker:xe,beginFilePickerPress:Je}),[ie,ae,ge,W,p,v,x,w,b,S,j,V,L,le,Xe,Ye,ye,qe,xe,Je]);return e.createElement(it.Provider,{value:Nt},e.createElement(We.Provider,{value:k},e.createElement(e.Fragment,null,e.createElement("div",{...Se,ref:Pt,className:E("kui-ChatbarRoot",`kui-r-size-${W}`,a),style:{position:"relative",width:Q,maxWidth:f,...i},"data-state":ie?"open":"closed","data-disabled":b?"":void 0,"data-readonly":S?"":void 0,"data-drop-active":Fe?"":void 0,"data-accent-color":H,"data-radius":F,onBlurCapture:kt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:wt}),he?e.createElement("div",{className:"kui-ChatbarNotices"},e.createElement(nt.Provider,{value:W},he)):null,e.createElement("div",{...M?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:E("kui-ChatbarBox",`kui-variant-${z??"raised"}`),style:{position:"relative"},"data-accent-color":H,"data-radius":F},e.createElement("div",{className:"kui-ChatbarGrid"},c),Fe&&e.createElement("div",{className:"kui-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"kui-ChatbarDropContent"},e.createElement(Ae,{emphasis:"medium",size:W,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(Ae,{as:"div",size:W==="3"?"2":"1",emphasis:"medium",className:"kui-ChatbarContext"},fe):null,e.createElement(Be,{role:"status","aria-live":"polite"},Fe?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});lt.displayName="Chatbar.Root";var ut=e.forwardRef((t,r)=>{let{className:a,style:i,asChild:c,onFocus:l,onChange:u,onPaste:d,onKeyDown:g,onCompositionStart:y,onCompositionEnd:R,submitOnEnter:p=!1,...v}=t,x=I(),w=e.useContext(We),{open:b,minLines:S,maxLines:D,expandOn:O,disabled:z,readOnly:H,setOpen:F,setValue:Q,textareaRef:f,paste:_,appendFilesFromPaste:B,size:se,submit:A,clearOnSubmit:L}=x,Z=st(r,f),G=e.useRef(0),j=e.useRef(0),q=e.useRef(!1),V=e.useRef({open:b,minLines:S,maxLines:D});je(()=>{V.current={open:b,minLines:S,maxLines:D}},[b,S,D]);let N=e.useCallback(()=>{let n=f.current;if(!n)return;let C=window.getComputedStyle(n);G.current=parseFloat(C.lineHeight)||20,j.current=(parseFloat(C.paddingTop)||0)+(parseFloat(C.paddingBottom)||0)},[f]),M=e.useCallback((n,C)=>{let{minLines:k,maxLines:ee}=V.current,X=G.current,te=j.current,ie=Math.ceil((C?k:1)*X)+te,Y=Math.ceil((C?ee:1)*X)+te,ce=Math.max(n.scrollHeight,ie);n.style.height=`${Math.min(ce,Y)}px`;let be=ce>Y;n.style.overflowY=be?"auto":"hidden",n.style.maxHeight=be?`${Y}px`:"none"},[]);je(()=>{N()},[N,se]),je(()=>{let n=f.current;n&&(G.current===0&&N(),ot(n,()=>{n.style.height="auto";let C=b;if(!b&&(O==="overflow"||O==="both")){let k=Math.ceil(G.current)+j.current;n.scrollHeight>k+1&&(C=!0,F(!0))}M(n,C)}))},[w,b,O,S,D,se,F,f,N,M]),e.useEffect(()=>{let n=f.current;if(!n||typeof ResizeObserver>"u")return;let C=-1,k=new ResizeObserver(ee=>{let X=ee[0]?.contentRect.width??0;if(X===C)return;let te=C===-1;C=X,!te&&(N(),ot(n,()=>{n.style.height="auto",M(n,V.current.open)}))});return k.observe(n),()=>k.disconnect()},[f,N,M]),e.useEffect(()=>{},[]);let ke=e.useCallback(n=>{l?.(n),!(z||H)&&(O==="focus"||O==="both")&&!b&&F(!0)},[z,H,O,b,F,l]),pe=e.useCallback(n=>{Q(n.currentTarget.value),u?.(n)},[Q,u]),he=e.useCallback(n=>{if(d?.(n),n.defaultPrevented||!_||z||H)return;let C=Array.from(n.clipboardData?.items??[]).filter(k=>k.kind==="file").map(k=>k.getAsFile()).filter(k=>!!k);C.length!==0&&B(C)>0&&n.preventDefault()},[_,z,H,d,B]),fe=e.useCallback(n=>{q.current=!0,y?.(n)},[y]),Se=e.useCallback(n=>{q.current=!1,R?.(n)},[R]),W=e.useCallback(n=>{g?.(n),!(n.defaultPrevented||!p)&&(n.key!=="Enter"||n.shiftKey||n.altKey||n.ctrlKey||n.metaKey||q.current||n.nativeEvent.isComposing||n.nativeEvent.keyCode===229||(n.preventDefault(),A(L)))},[p,g,A,L]);return e.createElement("div",{className:"kui-ChatbarField kui-ChatbarTextarea"},e.createElement(c?U:"textarea",{...v,ref:Z,className:E("kui-ChatbarInput",a),value:w,onChange:pe,onFocus:ke,onPaste:he,onKeyDown:W,onCompositionStart:fe,onCompositionEnd:Se,disabled:z,readOnly:H,rows:b?S:1,spellCheck:v.spellCheck??!0,autoCorrect:v.autoCorrect??"on",style:i}))});ut.displayName="Chatbar.Textarea";var dt=e.forwardRef((t,r)=>{let{children:a,asChild:i,className:c,...l}=t;return I().open?null:e.createElement(i?U:"div",{...l,ref:r,className:E("kui-ChatbarInlineStart",c)},a)});dt.displayName="Chatbar.InlineStart";var mt=e.forwardRef((t,r)=>{let{children:a,asChild:i,className:c,...l}=t;return I().open?null:e.createElement(i?U:"div",{...l,ref:r,className:E("kui-ChatbarInlineEnd",c)},a)});mt.displayName="Chatbar.InlineEnd";var pt=e.forwardRef((t,r)=>{let{asChild:a,forceMount:i,renderAttachment:c,className:l,children:u,...d}=t,g=I(),y=e.Children.toArray(u).length>0;return g.attachments.length===0&&!y&&!i?null:e.createElement("div",null,e.createElement(a?U:"div",{...d,ref:r,className:E("kui-ChatbarAttachmentsRow",l),role:"list","aria-label":d["aria-label"]??"Attachments"},e.createElement(at,{className:"kui-ChatbarScrollArea",scrollbars:"horizontal"},e.createElement(ze,{align:"center",gap:"3",minWidth:"fit-content"},g.attachments.map(p=>e.createElement($e,{key:p.id,attachment:p,asChild:!!c},c?.(p))),u))))});pt.displayName="Chatbar.AttachmentsRow";function ht(t,r){let a=t.closest('[role="listitem"]'),i=a?.parentElement?Array.from(a.parentElement.children):[],c=a?i.indexOf(a):-1,u=(i[c+1]??i[c-1])?.querySelector(".kui-ChatbarItemRemove");u?u.focus():r.current?.focus({preventScroll:!0})}var ft=({lead:t,leadKind:r,label:a,detail:i,removeLabel:c,onRemove:l})=>{let u=I();return e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-ChatbarItemLead","data-kind":r,"aria-hidden":!0},t),e.createElement(Ae,{className:"kui-ChatbarItemLabel",size:u.size,truncate:!0},a,i?e.createElement(Be,null,", ",i):null),l&&e.createElement(we,{iconOnly:!0,className:"kui-ChatbarItemRemove","aria-label":c,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(Qe,null)))},Vt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,r)=>{let{attachment:a,asChild:i,className:c,children:l,...u}=t,d=I(),g=i?U:"div",y=!!a.url&&ct(a.name,a.type),R=`${Math.ceil(a.size/1024)} KB`,p=a.status?Vt[a.status]:void 0,v=d.disabled||d.readOnly,x=b=>{ht(b.currentTarget,d.textareaRef),d.removeAttachment(a.id)},w=a.status==="uploading"?e.createElement(De,null):y?e.createElement("img",{className:"kui-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(et,null);return e.createElement(g,{...u,ref:r,className:E(l?"kui-ChatbarAttachment":"kui-ChatbarAttachment kui-ChatbarItem",c),role:"listitem","data-kind":y?"image":"file","data-status":a.status,title:a.name},l??e.createElement(ft,{lead:w,leadKind:y&&a.status!=="uploading"?"image":"icon",label:a.name,detail:p?`${R}, ${p}`:R,removeLabel:`Remove ${a.name}`,onRemove:v?void 0:x}))});$e.displayName="Chatbar.Attachment";var bt=e.forwardRef((t,r)=>{let{children:a,icon:i,image:c,color:l,onRemove:u,removeLabel:d,className:g,...y}=t,R=I(),p=R.disabled||R.readOnly,v=u?x=>{ht(x.currentTarget,R.textareaRef),u()}:void 0;return e.createElement("div",{...y,ref:r,className:E("kui-ChatbarItem",g),role:"listitem","data-accent-color":c?void 0:l??"gray",title:a},e.createElement(ft,{lead:c?e.createElement("img",{className:"kui-ChatbarAttachmentImage",src:c,alt:""}):i,leadKind:c?"image":"icon",label:a,removeLabel:d??`Remove ${a}`,onRemove:p?void 0:v}))});bt.displayName="Chatbar.Item";var Rt=e.forwardRef((t,r)=>{let{asChild:a,accept:i,multiple:c,disabled:l,onPointerDown:u,onClick:d,children:g,color:y,...R}=t,p=I(),v=l||p.disabled||p.readOnly,x={...R,ref:r,className:E("kui-ChatbarAttachTrigger",R.className),type:R.type??"button","aria-label":R["aria-label"]??"Add attachments",disabled:v,onPointerDown:w=>{u?.(w),!v&&!w.defaultPrevented&&p.beginFilePickerPress()},onClick:w=>{d?.(w),!(v||w.defaultPrevented)&&p.openFilePicker({accept:i,multiple:c})}};return a?e.createElement(U,{...x},g):e.createElement(we,{iconOnly:!0,emphasis:"quiet",color:"gray",size:p.size,...x},g??e.createElement(Ze,{"aria-hidden":!0}))});Rt.displayName="Chatbar.AttachTrigger";var Ct=e.forwardRef((t,r)=>{let{asChild:a,children:i,className:c,...l}=t;return I().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:r,className:E("kui-ChatbarRow",c)},e.createElement(ze,{align:"center",justify:"between",width:"100%"},i))):null});Ct.displayName="Chatbar.Row";var gt=e.forwardRef((t,r)=>{let{className:a,...i}=t;return e.createElement("div",{...i,ref:r,className:E("kui-ChatbarRowStart",a)})});gt.displayName="Chatbar.RowStart";var vt=e.forwardRef((t,r)=>{let{className:a,...i}=t;return e.createElement("div",{...i,ref:r,className:E("kui-ChatbarRowEnd",a)})});vt.displayName="Chatbar.RowEnd";var yt=e.forwardRef((t,r)=>{let{asChild:a,clearOnSend:i,disabled:c,children:l,style:u,className:d,size:g,variant:y,emphasis:R,tabIndex:p,onClick:v,status:x="ready",onStop:w,onRetry:b,stopLabel:S="Stop",retryLabel:D="Retry",stopIcon:O,retryIcon:z,"aria-label":H,"aria-labelledby":F,...Q}=t,f=I(),_=e.useContext(We),B=Ve(_)||f.attachments.length>0,A=B?"send":x==="submitted"||x==="streaming"?"stop":x==="error"?"retry":"send";if(f.sendMode==="never"&&A==="send")return null;let L=A!=="send"||f.sendMode==="always"||B,Z=A==="send"?c||f.disabled||f.readOnly||!B:c||f.disabled,j=A==="stop"?{"aria-label":S}:A==="retry"?{"aria-label":D}:F?{"aria-labelledby":F}:{"aria-label":H??"Send"},q=N=>{if(v?.(N),N.defaultPrevented||Z)return;if(A==="stop"){w?.();return}if(A==="retry"){b?.();return}let M=i??f.clearOnSubmit;f.submit(M)&&M&&f.textareaRef.current?.focus({preventScroll:!0})},V=A==="stop"?O??(x==="submitted"?e.createElement(De,null):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):A==="retry"?z??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(we,{iconOnly:!0,...Q,ref:r,size:g??f.size,...R?{emphasis:R}:{variant:y??(f.open||A!=="send"?"solid":"ghost")},disabled:Z,className:E("kui-ChatbarSend",d),style:{opacity:L?1:0,pointerEvents:L?void 0:"none",...u},"aria-hidden":L?void 0:!0,tabIndex:L?p:-1,asChild:a,onClick:q,"data-status":x,"data-mode":A,...j},V)});yt.displayName="Chatbar.Send";export{lt as a,ut as b,dt as c,mt as d,pt as e,$e as f,bt as g,Rt as h,Ct as i,gt as j,vt as k,yt as l,Wt as m};
3
- //# sourceMappingURL=chunk-N3B6EGXL.js.map
2
+ import{a as nt}from"./chunk-6C6EK2B5.js";import{a as Be}from"./chunk-WUCBFB25.js";import{a as we}from"./chunk-CGFLZ3DC.js";import{a as Ae}from"./chunk-4MNRLB57.js";import{a as De}from"./chunk-BUXK5VGR.js";import{a as ze}from"./chunk-KVVRFWGQ.js";import{g as Qe,h as Ze,j as et}from"./chunk-GKDGNPBD.js";import{b as U}from"./chunk-5KMEUZWN.js";import{a as at}from"./chunk-MGWGD6KI.js";import{b as tt}from"./chunk-5ON3XLRD.js";import{a as Ht}from"./chunk-VQPANPMI.js";var Wt={};Ht(Wt,{AttachTrigger:()=>Rt,Attachment:()=>$e,AttachmentsRow:()=>pt,InlineEnd:()=>mt,InlineStart:()=>dt,Item:()=>bt,Root:()=>lt,Row:()=>Ct,RowEnd:()=>vt,RowStart:()=>gt,Send:()=>yt,Textarea:()=>ut});import*as e from"react";import E from"classnames";import{useComposedRefs as st,useLayoutEffect as je}from"radix-ui/internal";import{useDropzone as Ft}from"react-dropzone";function ot(t,r){let{placeholder:a}=t;if(!a){r();return}t.placeholder="";try{r()}finally{t.placeholder=a}}var It={values:["1","2","3"]},it=e.createContext(null),We=e.createContext(""),I=()=>{let t=e.useContext(it);if(!t)throw new Error("Chatbar context not found. Wrap parts in <Chatbar.Root>.");return t},me=t=>Array.isArray(t)?t:typeof t=="string"?t.split(",").map(r=>r.trim()).filter(Boolean):[],zt=(t,r)=>{if(r.length===0)return!0;let a=t.type.toLowerCase(),i=t.name.toLowerCase();for(let c of r){let l=c.toLowerCase();if(l.includes("/")){let[u,d]=l.split("/"),[g,y]=a.split("/");if(u==="*"||u===g&&(d==="*"||d===y))return!0}else if(l.startsWith(".")&&i.endsWith(l))return!0}return!1},Dt=/\.(png|jpe?g|gif|webp|bmp|svg|avif)$/i,ct=(t,r)=>(r||"").toLowerCase().startsWith("image/")||Dt.test(t),Ve=t=>t.trim().length>0,rt=(t,r)=>`${t} ${r}${t===1?"":"s"}`,Bt=0,jt=()=>`chatbar-attachment-${Date.now()}-${++Bt}`,lt=e.forwardRef((t,r)=>{let{className:a,style:i,children:c,value:l,defaultValue:u="",onValueChange:d,open:g,defaultOpen:y=!1,onOpenChange:R,expandOn:p="both",minLines:v=3,maxLines:x=6,sendMode:w="whenDirty",disabled:b,readOnly:S,onSubmit:D,size:O,variant:z,color:H,radius:F,width:Q,maxWidth:f,attachments:_,defaultAttachments:B,onAttachmentsChange:se,accept:A,multiple:L=!0,maxAttachments:Z,maxFileSize:G,paste:j=!0,pasteAccept:q,clearOnSubmit:V=!0,onAttachmentReject:N,dropzone:M=!0,apiRef:ke,onBlurCapture:pe,notices:he,context:fe,...Se}=t,W=tt(O,It),Ee=l!=null,[n,C]=e.useState(u),k=Ee?l:n,ee=g!=null,[X,te]=e.useState(y),ie=ee?g:X,Y="attachments"in t,[ce,be]=e.useState(()=>B??[]),le=e.useMemo(()=>Y?_??[]:ce,[Y,_,ce]),[Ke,xt]=e.useState({text:"",id:0}),ue=e.useCallback(o=>xt(s=>({text:o,id:s.id+1})),[]),Ue=e.useRef(null),Pt=st(r,Ue),Te=e.useRef(null),Le=e.useRef(null),de=e.useRef(!1),Re=e.useRef(!1),Ce=e.useRef(void 0),Ne=e.useRef(null),_e=me(A).join(","),Me=me(q).join(","),Oe=e.useMemo(()=>me(_e),[_e]),At=e.useMemo(()=>Me?me(Me):Oe,[Me,Oe]),Ge={value:k,attachments:le,accepts:Oe,pasteAccepts:At,multiple:L,maxAttachments:Z,maxFileSize:G,disabled:b,readOnly:S,expandOn:p,isValueControlled:Ee,isOpenControlled:ee,isAttachmentsControlled:Y,onValueChange:d,onOpenChange:R,onAttachmentsChange:se,onAttachmentReject:N,onSubmit:D},P=e.useRef(Ge);P.current=Ge;let He=e.useRef(null),$=e.useCallback(()=>He.current??P.current.attachments,[]),ae=e.useCallback(o=>{P.current.isOpenControlled||te(o),P.current.onOpenChange?.(o)},[]),ge=e.useCallback(o=>{P.current.isValueControlled||C(o),P.current.onValueChange?.(o)},[]),ne=e.useCallback(o=>{He.current=o,queueMicrotask(()=>{He.current=null}),P.current.isAttachmentsControlled||be(o),P.current.onAttachmentsChange?.(o)},[]),ve=e.useRef(new Set),oe=e.useCallback((o,s,m=P.current.multiple)=>{let h=P.current;if(h.disabled||h.readOnly||o.length===0)return 0;let K=$(),J=[],re=[],Mt=typeof h.maxAttachments=="number"?Math.max(h.maxAttachments-K.length,0):1/0,Ot=m?1/0:1;for(let T of o){if(J.length>=Mt||J.length>=Ot){re.push({file:T,reason:"count"});continue}if(typeof h.maxFileSize=="number"&&T.size>h.maxFileSize){re.push({file:T,reason:"size"});continue}if(!zt(T,s)){re.push({file:T,reason:"type"});continue}let Ie=ct(T.name,T.type)?URL.createObjectURL(T):void 0;Ie&&ve.current.add(Ie),J.push({id:jt(),name:T.name,size:T.size,type:T.type,file:T,url:Ie,status:"idle"})}let Pe=[];return J.length>0&&(ne(K.concat(J)),h.expandOn!=="none"&&ae(!0),Pe.push(`${rt(J.length,"file")} attached.`)),re.length>0&&(h.onAttachmentReject?.(re),Pe.push(`${rt(re.length,"file")} could not be attached.`)),Pe.length>0&&ue(Pe.join(" ")),J.length},[$,ne,ae,ue]),ye=e.useCallback(o=>oe(o,P.current.accepts),[oe]),qe=e.useCallback(o=>oe(o,P.current.pasteAccepts),[oe]),Xe=e.useCallback(o=>{let s=$(),m=s.find(h=>h.id===o);m&&(ne(s.filter(h=>h.id!==o)),ue(`Removed ${m.name}.`))},[$,ne,ue]),Ye=e.useCallback(o=>{let s=P.current;if(s.disabled||s.readOnly)return!1;let m=$();if(!Ve(s.value)&&m.length===0)return!1;let h={value:s.value,attachments:m};if(o&&s.onSubmit)for(let K of m)K.url&&ve.current.delete(K.url);return s.onSubmit?.(h),o&&(ge(""),ne([])),!0},[$,ge,ne]);e.useEffect(()=>{let o=ve.current;if(o.size===0)return;let s=new Set(le.map(m=>m.url));for(let m of Array.from(o))s.has(m)||(URL.revokeObjectURL(m),o.delete(m))},[le]),e.useEffect(()=>{let o=ve.current;return()=>{if(!P.current.isAttachmentsControlled){for(let s of Array.from(o))URL.revokeObjectURL(s);o.clear()}}},[]);let xe=e.useCallback(o=>{let s=P.current,m=Le.current;if(clearTimeout(Ce.current),Re.current=!1,!m||s.disabled||s.readOnly)return;let h=o?.accept!=null?me(o.accept):s.accepts,K=o?.multiple??s.multiple;Ne.current={patterns:h,multiple:K},m.accept=h.join(","),m.multiple=K,de.current=!0,m.click(),setTimeout(()=>{document.hasFocus()&&(de.current=!1)},1e3)},[]),Je=e.useCallback(()=>{Re.current=!0,clearTimeout(Ce.current),Ce.current=setTimeout(()=>{Re.current=!1},800)},[]);e.useEffect(()=>()=>clearTimeout(Ce.current),[]),e.useEffect(()=>{let o=Le.current,s=()=>{de.current=!1};return window.addEventListener("focus",s),o?.addEventListener("cancel",s),()=>{window.removeEventListener("focus",s),o?.removeEventListener("cancel",s)}},[]);let wt=e.useCallback(o=>{let s=o.currentTarget,m=Array.from(s.files??[]),h=Ne.current;oe(m,h?.patterns??P.current.accepts,h?.multiple),de.current=!1,Ne.current=null,s.value=""},[oe]),kt=e.useCallback(o=>{pe?.(o);let s=P.current,m=Ue.current;if(!m||s.expandOn==="none")return;let h=o.relatedTarget;h&&m.contains(h)||de.current||Re.current||!Ve(s.value)&&$().length===0&&ae(!1)},[pe,ae,$]),St=e.useCallback(o=>{ye(o)},[ye]),{getRootProps:Et,isDragActive:Tt}=Ft({onDrop:St,onDragEnter:()=>ue(""),noClick:!0,noKeyboard:!0,noPaste:!0,disabled:!M||b||S}),Fe=M&&Tt;e.useImperativeHandle(ke,()=>({focusTextarea:()=>Te.current?.focus({preventScroll:!0}),openFilePicker:()=>xe()}),[xe]);let Lt=e.useCallback(o=>{if(b||o.pointerType==="mouse"&&o.button!==0)return;let s=o.target;s instanceof Element&&s.closest('button, [role="button"], a[href], input, textarea, select, [contenteditable], [tabindex]:not([tabindex="-1"])')||(o.preventDefault(),Te.current?.focus({preventScroll:!0}))},[b]),Nt=e.useMemo(()=>({open:ie,setOpen:ae,setValue:ge,size:W,expandOn:p,minLines:v,maxLines:x,sendMode:w,disabled:b,readOnly:S,paste:j,clearOnSubmit:V,multiple:L,textareaRef:Te,attachments:le,removeAttachment:Xe,submit:Ye,appendFiles:ye,appendFilesFromPaste:qe,openFilePicker:xe,beginFilePickerPress:Je}),[ie,ae,ge,W,p,v,x,w,b,S,j,V,L,le,Xe,Ye,ye,qe,xe,Je]);return e.createElement(it.Provider,{value:Nt},e.createElement(We.Provider,{value:k},e.createElement(e.Fragment,null,e.createElement("div",{...Se,ref:Pt,className:E("kui-ChatbarRoot",`kui-r-size-${W}`,a),style:{position:"relative",width:Q,maxWidth:f,...i},"data-state":ie?"open":"closed","data-disabled":b?"":void 0,"data-readonly":S?"":void 0,"data-drop-active":Fe?"":void 0,"data-accent-color":H,"data-radius":F,onBlurCapture:kt},e.createElement("input",{ref:Le,type:"file",tabIndex:-1,"aria-hidden":!0,style:{display:"none"},onChange:wt}),he?e.createElement("div",{className:"kui-ChatbarNotices"},e.createElement(nt.Provider,{value:W},he)):null,e.createElement("div",{...M?Et():{},style:{width:"100%",flex:"1 1 auto",minHeight:0},onPointerDown:Lt},e.createElement("div",{className:E("kui-ChatbarBox",`kui-variant-${z??"raised"}`),style:{position:"relative"},"data-accent-color":H,"data-radius":F},e.createElement("div",{className:"kui-ChatbarGrid"},c),Fe&&e.createElement("div",{className:"kui-ChatbarDropOverlay","aria-hidden":!0},e.createElement("div",{className:"kui-ChatbarDropContent"},e.createElement(Ae,{emphasis:"medium",size:W,weight:"medium"},"Drop files here to attach"))))),fe?e.createElement(Ae,{as:"div",size:W==="3"?"2":"1",emphasis:"medium",className:"kui-ChatbarContext"},fe):null,e.createElement(Be,{role:"status","aria-live":"polite"},Fe?"Drop files here to attach.":e.createElement("span",{key:Ke.id},Ke.text))))))});lt.displayName="Chatbar.Root";var ut=e.forwardRef((t,r)=>{let{className:a,style:i,asChild:c,onFocus:l,onChange:u,onPaste:d,onKeyDown:g,onCompositionStart:y,onCompositionEnd:R,submitOnEnter:p=!1,...v}=t,x=I(),w=e.useContext(We),{open:b,minLines:S,maxLines:D,expandOn:O,disabled:z,readOnly:H,setOpen:F,setValue:Q,textareaRef:f,paste:_,appendFilesFromPaste:B,size:se,submit:A,clearOnSubmit:L}=x,Z=st(r,f),G=e.useRef(0),j=e.useRef(0),q=e.useRef(!1),V=e.useRef({open:b,minLines:S,maxLines:D});je(()=>{V.current={open:b,minLines:S,maxLines:D}},[b,S,D]);let N=e.useCallback(()=>{let n=f.current;if(!n)return;let C=window.getComputedStyle(n);G.current=parseFloat(C.lineHeight)||20,j.current=(parseFloat(C.paddingTop)||0)+(parseFloat(C.paddingBottom)||0)},[f]),M=e.useCallback((n,C)=>{let{minLines:k,maxLines:ee}=V.current,X=G.current,te=j.current,ie=Math.ceil((C?k:1)*X)+te,Y=Math.ceil((C?ee:1)*X)+te,ce=Math.max(n.scrollHeight,ie);n.style.height=`${Math.min(ce,Y)}px`;let be=ce>Y;n.style.overflowY=be?"auto":"hidden",n.style.maxHeight=be?`${Y}px`:"none"},[]);je(()=>{N()},[N,se]),je(()=>{let n=f.current;n&&(G.current===0&&N(),ot(n,()=>{n.style.height="auto";let C=b;if(!b&&(O==="overflow"||O==="both")){let k=Math.ceil(G.current)+j.current;n.scrollHeight>k+1&&(C=!0,F(!0))}M(n,C)}))},[w,b,O,S,D,se,F,f,N,M]),e.useEffect(()=>{let n=f.current;if(!n||typeof ResizeObserver>"u")return;let C=-1,k=new ResizeObserver(ee=>{let X=ee[0]?.contentRect.width??0;if(X===C)return;let te=C===-1;C=X,!te&&(N(),ot(n,()=>{n.style.height="auto",M(n,V.current.open)}))});return k.observe(n),()=>k.disconnect()},[f,N,M]),e.useEffect(()=>{},[]);let ke=e.useCallback(n=>{l?.(n),!(z||H)&&(O==="focus"||O==="both")&&!b&&F(!0)},[z,H,O,b,F,l]),pe=e.useCallback(n=>{Q(n.currentTarget.value),u?.(n)},[Q,u]),he=e.useCallback(n=>{if(d?.(n),n.defaultPrevented||!_||z||H)return;let C=Array.from(n.clipboardData?.items??[]).filter(k=>k.kind==="file").map(k=>k.getAsFile()).filter(k=>!!k);C.length!==0&&B(C)>0&&n.preventDefault()},[_,z,H,d,B]),fe=e.useCallback(n=>{q.current=!0,y?.(n)},[y]),Se=e.useCallback(n=>{q.current=!1,R?.(n)},[R]),W=e.useCallback(n=>{g?.(n),!(n.defaultPrevented||!p)&&(n.key!=="Enter"||n.shiftKey||n.altKey||n.ctrlKey||n.metaKey||q.current||n.nativeEvent.isComposing||n.nativeEvent.keyCode===229||(n.preventDefault(),A(L)))},[p,g,A,L]);return e.createElement("div",{className:"kui-ChatbarField kui-ChatbarTextarea"},e.createElement(c?U:"textarea",{...v,ref:Z,className:E("kui-ChatbarInput",a),value:w,onChange:pe,onFocus:ke,onPaste:he,onKeyDown:W,onCompositionStart:fe,onCompositionEnd:Se,disabled:z,readOnly:H,rows:b?S:1,spellCheck:v.spellCheck??!0,autoCorrect:v.autoCorrect??"on",style:i}))});ut.displayName="Chatbar.Textarea";var dt=e.forwardRef((t,r)=>{let{children:a,asChild:i,className:c,...l}=t;return I().open?null:e.createElement(i?U:"div",{...l,ref:r,className:E("kui-ChatbarInlineStart",c)},a)});dt.displayName="Chatbar.InlineStart";var mt=e.forwardRef((t,r)=>{let{children:a,asChild:i,className:c,...l}=t;return I().open?null:e.createElement(i?U:"div",{...l,ref:r,className:E("kui-ChatbarInlineEnd",c)},a)});mt.displayName="Chatbar.InlineEnd";var pt=e.forwardRef((t,r)=>{let{asChild:a,forceMount:i,renderAttachment:c,className:l,children:u,...d}=t,g=I(),y=e.Children.toArray(u).length>0;return g.attachments.length===0&&!y&&!i?null:e.createElement("div",null,e.createElement(a?U:"div",{...d,ref:r,className:E("kui-ChatbarAttachmentsRow",l),role:"list","aria-label":d["aria-label"]??"Attachments"},e.createElement(at,{className:"kui-ChatbarScrollArea",scrollbars:"horizontal"},e.createElement(ze,{align:"center",gap:"3",minWidth:"fit-content"},g.attachments.map(p=>e.createElement($e,{key:p.id,attachment:p,asChild:!!c},c?.(p))),u))))});pt.displayName="Chatbar.AttachmentsRow";function ht(t,r){let a=t.closest('[role="listitem"]'),i=a?.parentElement?Array.from(a.parentElement.children):[],c=a?i.indexOf(a):-1,u=(i[c+1]??i[c-1])?.querySelector(".kui-ChatbarItemRemove");u?u.focus():r.current?.focus({preventScroll:!0})}var ft=({lead:t,leadKind:r,label:a,detail:i,removeLabel:c,onRemove:l})=>{let u=I();return e.createElement(e.Fragment,null,e.createElement("span",{className:"kui-ChatbarItemLead","data-kind":r,"aria-hidden":!0},t),e.createElement(Ae,{className:"kui-ChatbarItemLabel",size:u.size,truncate:!0},a,i?e.createElement(Be,null,", ",i):null),l&&e.createElement(we,{iconOnly:!0,className:"kui-ChatbarItemRemove","aria-label":c,size:"1",variant:"ghost",color:"gray",onClick:l},e.createElement(Qe,null)))},Vt={uploading:"uploading",error:"failed to upload"},$e=e.forwardRef((t,r)=>{let{attachment:a,asChild:i,className:c,children:l,...u}=t,d=I(),g=i?U:"div",y=!!a.url&&ct(a.name,a.type),R=`${Math.ceil(a.size/1024)} KB`,p=a.status?Vt[a.status]:void 0,v=d.disabled||d.readOnly,x=b=>{ht(b.currentTarget,d.textareaRef),d.removeAttachment(a.id)},w=a.status==="uploading"?e.createElement(De,null):y?e.createElement("img",{className:"kui-ChatbarAttachmentImage",src:a.url,alt:""}):e.createElement(et,null);return e.createElement(g,{...u,ref:r,className:E(l?"kui-ChatbarAttachment":"kui-ChatbarAttachment kui-ChatbarItem",c),role:"listitem","data-kind":y?"image":"file","data-status":a.status,title:a.name},l??e.createElement(ft,{lead:w,leadKind:y&&a.status!=="uploading"?"image":"icon",label:a.name,detail:p?`${R}, ${p}`:R,removeLabel:`Remove ${a.name}`,onRemove:v?void 0:x}))});$e.displayName="Chatbar.Attachment";var bt=e.forwardRef((t,r)=>{let{children:a,icon:i,image:c,color:l,onRemove:u,removeLabel:d,className:g,...y}=t,R=I(),p=R.disabled||R.readOnly,v=u?x=>{ht(x.currentTarget,R.textareaRef),u()}:void 0;return e.createElement("div",{...y,ref:r,className:E("kui-ChatbarItem",g),role:"listitem","data-accent-color":c?void 0:l??"gray",title:a},e.createElement(ft,{lead:c?e.createElement("img",{className:"kui-ChatbarAttachmentImage",src:c,alt:""}):i,leadKind:c?"image":"icon",label:a,removeLabel:d??`Remove ${a}`,onRemove:p?void 0:v}))});bt.displayName="Chatbar.Item";var Rt=e.forwardRef((t,r)=>{let{asChild:a,accept:i,multiple:c,disabled:l,onPointerDown:u,onClick:d,children:g,color:y,...R}=t,p=I(),v=l||p.disabled||p.readOnly,x={...R,ref:r,className:E("kui-ChatbarAttachTrigger",R.className),type:R.type??"button","aria-label":R["aria-label"]??"Add attachments",disabled:v,onPointerDown:w=>{u?.(w),!v&&!w.defaultPrevented&&p.beginFilePickerPress()},onClick:w=>{d?.(w),!(v||w.defaultPrevented)&&p.openFilePicker({accept:i,multiple:c})}};return a?e.createElement(U,{...x},g):e.createElement(we,{iconOnly:!0,emphasis:"quiet",color:"gray",size:p.size,...x},g??e.createElement(Ze,{"aria-hidden":!0}))});Rt.displayName="Chatbar.AttachTrigger";var Ct=e.forwardRef((t,r)=>{let{asChild:a,children:i,className:c,...l}=t;return I().open?e.createElement("div",null,e.createElement(a?U:"div",{...l,ref:r,className:E("kui-ChatbarRow",c)},e.createElement(ze,{align:"center",justify:"between",width:"100%"},i))):null});Ct.displayName="Chatbar.Row";var gt=e.forwardRef((t,r)=>{let{className:a,...i}=t;return e.createElement("div",{...i,ref:r,className:E("kui-ChatbarRowStart",a)})});gt.displayName="Chatbar.RowStart";var vt=e.forwardRef((t,r)=>{let{className:a,...i}=t;return e.createElement("div",{...i,ref:r,className:E("kui-ChatbarRowEnd",a)})});vt.displayName="Chatbar.RowEnd";var yt=e.forwardRef((t,r)=>{let{asChild:a,clearOnSend:i,disabled:c,children:l,style:u,className:d,size:g,variant:y,emphasis:R,tabIndex:p,onClick:v,status:x="ready",onStop:w,onRetry:b,stopLabel:S="Stop",retryLabel:D="Retry",stopIcon:O,retryIcon:z,"aria-label":H,"aria-labelledby":F,...Q}=t,f=I(),_=e.useContext(We),B=Ve(_)||f.attachments.length>0,A=B?"send":x==="submitted"||x==="streaming"?"stop":x==="error"?"retry":"send";if(f.sendMode==="never"&&A==="send")return null;let L=A!=="send"||f.sendMode==="always"||B,Z=A==="send"?c||f.disabled||f.readOnly||!B:c||f.disabled,j=A==="stop"?{"aria-label":S}:A==="retry"?{"aria-label":D}:F?{"aria-labelledby":F}:{"aria-label":H??"Send"},q=N=>{if(v?.(N),N.defaultPrevented||Z)return;if(A==="stop"){w?.();return}if(A==="retry"){b?.();return}let M=i??f.clearOnSubmit;f.submit(M)&&M&&f.textareaRef.current?.focus({preventScroll:!0})},V=A==="stop"?O??(x==="submitted"?e.createElement(De,null):e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":!0},e.createElement("rect",{x:"7",y:"7",width:"10",height:"10",rx:"2"}))):A==="retry"?z??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M3 12a9 9 0 1 0 3-6.7L3 8"}),e.createElement("path",{d:"M3 3v5h5"})):l??e.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0},e.createElement("path",{d:"M5 12h14"}),e.createElement("path",{d:"m12 5 7 7-7 7"}));return e.createElement(we,{iconOnly:!0,...Q,ref:r,size:g??f.size,...R?{emphasis:R}:{variant:y??(f.open||A!=="send"?"solid":"ghost")},disabled:Z,className:E("kui-ChatbarSend",d),style:{opacity:L?1:0,pointerEvents:L?void 0:"none",...u},"aria-hidden":L?void 0:!0,tabIndex:L?p:-1,asChild:a,onClick:q,"data-status":x,"data-mode":A,...j},V)});yt.displayName="Chatbar.Send";export{lt as a,ut as b,dt as c,mt as d,pt as e,$e as f,bt as g,Rt as h,Ct as i,gt as j,vt as k,yt as l,Wt as m};
3
+ //# sourceMappingURL=chunk-KLYI5E6F.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as m,e as v}from"./chunk-HBWBPBSA.js";import{c as y}from"./chunk-5ON3XLRD.js";import{a as b}from"./chunk-YOSLXJI5.js";import{b as P}from"./chunk-XU74PNM2.js";import{a as f}from"./chunk-CLJ6SEGP.js";import{c as g}from"./chunk-OKQAVYW4.js";import*as e from"react";import A from"classnames";import{Avatar as u}from"radix-ui";var q=["1","2","3","4","5","6","7","8","9"],B=["raised","solid","soft","surface","outline"],U=["cover","contain","fill","scale-down","none"],c={...f,size:{type:"enum",className:"kui-r-size",values:q,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:B,default:"raised"},...v,...P,fallback:{type:"ReactNode",required:!0},status:{type:"enum",values:m,default:void 0},statusLabel:{type:"string",default:void 0},badge:{type:"ReactNode",default:void 0},fit:{type:"enum",className:"kui-r-fit",values:U,default:"cover",responsive:!0}};var _=e.forwardRef((a,s)=>{let o=y(a,c.size),{asChild:t,children:r,className:n,style:i,color:h,radius:N,status:d,statusLabel:l,badge:p,fallback:k,onLoadingStatusChange:D,src:C,alt:I,srcSet:z,sizes:S,crossOrigin:w,referrerPolicy:E,loading:L,decoding:x,onLoad:F,onError:O,...j}=g(o,c),T={fallback:k,onLoadingStatusChange:D,src:C,alt:I,srcSet:z,sizes:S,crossOrigin:w,referrerPolicy:E,loading:L,decoding:x,onLoad:F,onError:O},V=t&&r!=null&&e.isValidElement(r)&&(r.props.disabled===!0||r.props["data-disabled"]===!0),W=p!==void 0||d!==void 0,G=p!==void 0?e.createElement("span",{className:"kui-AvatarBadge"},p):d!==void 0?e.createElement("span",{className:"kui-AvatarStatus","data-accent-color":d,role:l?"img":void 0,"aria-label":l||void 0,"aria-hidden":l?void 0:!0}):null;return e.createElement(u.Root,{...j,ref:s,"data-accent-color":h,"data-radius":N,"data-disabled":V||void 0,"data-has-indicator":W||void 0,className:A("kui-reset","kui-AvatarRoot",n),style:i,asChild:t},b({asChild:t,children:r},e.createElement(e.Fragment,null,e.createElement(R,{...T}),G)))});_.displayName="Avatar";var R=e.memo(({fallback:a,onLoadingStatusChange:s,...o})=>{let[t,r]=e.useState("idle"),n=e.useCallback(i=>{s?.(i),r(i)},[s]);return e.createElement(e.Fragment,null,t==="idle"||t==="loading"?e.createElement("span",{className:"kui-AvatarFallback"}):null,t==="error"?e.createElement(u.Fallback,{className:A("kui-AvatarFallback",{"kui-one-letter":typeof a=="string"&&a.length===1,"kui-two-letters":typeof a=="string"&&a.length===2}),...o.alt?{role:"img","aria-label":o.alt}:{"aria-hidden":!0}},a):null,e.createElement(u.Image,{className:"kui-AvatarImage",...o,onLoadingStatusChange:n}))});R.displayName="AvatarImpl";export{_ as a};
3
- //# sourceMappingURL=chunk-GOXGRJO6.js.map
2
+ import{a as b}from"./chunk-YOSLXJI5.js";import{c as g}from"./chunk-OKQAVYW4.js";import{a as m,e as v}from"./chunk-HBWBPBSA.js";import{c as y}from"./chunk-5ON3XLRD.js";import{b as P}from"./chunk-XU74PNM2.js";import{a as f}from"./chunk-CLJ6SEGP.js";import*as e from"react";import A from"classnames";import{Avatar as u}from"radix-ui";var q=["1","2","3","4","5","6","7","8","9"],B=["raised","solid","soft","surface","outline"],U=["cover","contain","fill","scale-down","none"],c={...f,size:{type:"enum",className:"kui-r-size",values:q,default:"2",responsive:!0},variant:{type:"enum",className:"kui-variant",values:B,default:"raised"},...v,...P,fallback:{type:"ReactNode",required:!0},status:{type:"enum",values:m,default:void 0},statusLabel:{type:"string",default:void 0},badge:{type:"ReactNode",default:void 0},fit:{type:"enum",className:"kui-r-fit",values:U,default:"cover",responsive:!0}};var _=e.forwardRef((a,s)=>{let o=y(a,c.size),{asChild:t,children:r,className:n,style:i,color:h,radius:N,status:d,statusLabel:l,badge:p,fallback:k,onLoadingStatusChange:D,src:C,alt:I,srcSet:z,sizes:S,crossOrigin:w,referrerPolicy:E,loading:L,decoding:x,onLoad:F,onError:O,...j}=g(o,c),T={fallback:k,onLoadingStatusChange:D,src:C,alt:I,srcSet:z,sizes:S,crossOrigin:w,referrerPolicy:E,loading:L,decoding:x,onLoad:F,onError:O},V=t&&r!=null&&e.isValidElement(r)&&(r.props.disabled===!0||r.props["data-disabled"]===!0),W=p!==void 0||d!==void 0,G=p!==void 0?e.createElement("span",{className:"kui-AvatarBadge"},p):d!==void 0?e.createElement("span",{className:"kui-AvatarStatus","data-accent-color":d,role:l?"img":void 0,"aria-label":l||void 0,"aria-hidden":l?void 0:!0}):null;return e.createElement(u.Root,{...j,ref:s,"data-accent-color":h,"data-radius":N,"data-disabled":V||void 0,"data-has-indicator":W||void 0,className:A("kui-reset","kui-AvatarRoot",n),style:i,asChild:t},b({asChild:t,children:r},e.createElement(e.Fragment,null,e.createElement(R,{...T}),G)))});_.displayName="Avatar";var R=e.memo(({fallback:a,onLoadingStatusChange:s,...o})=>{let[t,r]=e.useState("idle"),n=e.useCallback(i=>{s?.(i),r(i)},[s]);return e.createElement(e.Fragment,null,t==="idle"||t==="loading"?e.createElement("span",{className:"kui-AvatarFallback"}):null,t==="error"?e.createElement(u.Fallback,{className:A("kui-AvatarFallback",{"kui-one-letter":typeof a=="string"&&a.length===1,"kui-two-letters":typeof a=="string"&&a.length===2}),...o.alt?{role:"img","aria-label":o.alt}:{"aria-hidden":!0}},a):null,e.createElement(u.Image,{className:"kui-AvatarImage",...o,onLoadingStatusChange:n}))});R.displayName="AvatarImpl";export{_ as a};
3
+ //# sourceMappingURL=chunk-MCHK36NI.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as w}from"./chunk-KOAWATCI.js";import{a as v,b as y}from"./chunk-5KJIPH2N.js";import{a as R}from"./chunk-YOSLXJI5.js";import{b as S}from"./chunk-XU74PNM2.js";import{a as h}from"./chunk-LPLW7OWA.js";import{a as A}from"./chunk-L54FWKJE.js";import{a as b}from"./chunk-CLJ6SEGP.js";import{c as P}from"./chunk-OKQAVYW4.js";import*as r from"react";import H from"classnames";import{ScrollArea as t}from"radix-ui";import{useComposedRefs as O}from"radix-ui/internal";var k=["vertical","horizontal","both"],c={...b,...S,scrollbars:{type:"enum",values:k,default:"both"},fade:{type:"boolean",default:!1}};var W='[role="menu"], [role="listbox"]';function j(e,a){r.useEffect(()=>{if(!a||!e||e.closest(W))return;let o=0,i=()=>{o=0;let l=v(e);l.x>0||l.y>0?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},n=()=>{o||(o=requestAnimationFrame(i))};i();let s=typeof ResizeObserver>"u"?null:new ResizeObserver(n);s?.observe(e);for(let l of Array.from(e.children))s?.observe(l);return()=>{o&&cancelAnimationFrame(o),s?.disconnect()}},[e,a])}var z=r.forwardRef((e,a)=>{let{asChild:o,children:i,className:n,style:s,type:l,scrollHideDelay:f=l!=="scroll"?0:void 0,dir:D,radius:d=c.radius.default,scrollbars:m=c.scrollbars.default,fade:u=c.fade.default,...p}=P(e,A,h),[N,T]=r.useState(null),E=y(u),x=w(),C=O(a,E,x,T);j(N,p.tabIndex===void 0);let V=p["aria-label"]!==void 0||p["aria-labelledby"]!==void 0;return r.createElement(t.Root,{type:l,scrollHideDelay:f,dir:D,className:H("kui-ScrollAreaRoot",n),"data-fade":u?"":void 0,style:s,asChild:o},R({asChild:o,children:i},g=>r.createElement(r.Fragment,null,r.createElement(t.Viewport,{role:V?"region":void 0,...p,ref:C,className:"kui-ScrollAreaViewport"},g),r.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),m!=="vertical"?r.createElement(t.Scrollbar,{"data-radius":d,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},r.createElement(t.Thumb,{className:"kui-ScrollAreaThumb"})):null,m!=="horizontal"?r.createElement(t.Scrollbar,{"data-radius":d,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},r.createElement(t.Thumb,{className:"kui-ScrollAreaThumb"})):null,m==="both"?r.createElement(t.Corner,{className:"kui-ScrollAreaCorner"}):null)))});z.displayName="ScrollArea";export{z as a};
3
- //# sourceMappingURL=chunk-VIVM525H.js.map
2
+ import{a as w}from"./chunk-KOAWATCI.js";import{a as v,b as y}from"./chunk-5KJIPH2N.js";import{a as R}from"./chunk-YOSLXJI5.js";import{a as h}from"./chunk-LPLW7OWA.js";import{a as A}from"./chunk-L54FWKJE.js";import{c as P}from"./chunk-OKQAVYW4.js";import{b as S}from"./chunk-XU74PNM2.js";import{a as b}from"./chunk-CLJ6SEGP.js";import*as r from"react";import H from"classnames";import{ScrollArea as t}from"radix-ui";import{useComposedRefs as O}from"radix-ui/internal";var k=["vertical","horizontal","both"],c={...b,...S,scrollbars:{type:"enum",values:k,default:"both"},fade:{type:"boolean",default:!1}};var W='[role="menu"], [role="listbox"]';function j(e,a){r.useEffect(()=>{if(!a||!e||e.closest(W))return;let o=0,i=()=>{o=0;let l=v(e);l.x>0||l.y>0?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")},n=()=>{o||(o=requestAnimationFrame(i))};i();let s=typeof ResizeObserver>"u"?null:new ResizeObserver(n);s?.observe(e);for(let l of Array.from(e.children))s?.observe(l);return()=>{o&&cancelAnimationFrame(o),s?.disconnect()}},[e,a])}var z=r.forwardRef((e,a)=>{let{asChild:o,children:i,className:n,style:s,type:l,scrollHideDelay:f=l!=="scroll"?0:void 0,dir:D,radius:d=c.radius.default,scrollbars:m=c.scrollbars.default,fade:u=c.fade.default,...p}=P(e,A,h),[N,T]=r.useState(null),E=y(u),x=w(),C=O(a,E,x,T);j(N,p.tabIndex===void 0);let V=p["aria-label"]!==void 0||p["aria-labelledby"]!==void 0;return r.createElement(t.Root,{type:l,scrollHideDelay:f,dir:D,className:H("kui-ScrollAreaRoot",n),"data-fade":u?"":void 0,style:s,asChild:o},R({asChild:o,children:i},g=>r.createElement(r.Fragment,null,r.createElement(t.Viewport,{role:V?"region":void 0,...p,ref:C,className:"kui-ScrollAreaViewport"},g),r.createElement("div",{className:"kui-ScrollAreaViewportFocusRing"}),m!=="vertical"?r.createElement(t.Scrollbar,{"data-radius":d,orientation:"horizontal",className:"kui-ScrollAreaScrollbar"},r.createElement(t.Thumb,{className:"kui-ScrollAreaThumb"})):null,m!=="horizontal"?r.createElement(t.Scrollbar,{"data-radius":d,orientation:"vertical",className:"kui-ScrollAreaScrollbar"},r.createElement(t.Thumb,{className:"kui-ScrollAreaThumb"})):null,m==="both"?r.createElement(t.Corner,{className:"kui-ScrollAreaCorner"}):null)))});z.displayName="ScrollArea";export{z as a};
3
+ //# sourceMappingURL=chunk-MGWGD6KI.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as l}from"./chunk-OTCVSJT7.js";import{c as P}from"./chunk-GE7FRBZ4.js";import{a as e}from"./chunk-L54FWKJE.js";import{c as s}from"./chunk-OKQAVYW4.js";import*as o from"react";import W from"classnames";import{Tooltip as t}from"radix-ui";var a={content:{type:"ReactNode",required:!0},width:e.width,minWidth:e.minWidth,maxWidth:{...e.maxWidth,default:"360px"}};var m=200,f=o.createContext(!1);function N({delayDuration:i=m,children:r,...p}){return o.createElement(f.Provider,{value:!0},o.createElement(t.Provider,{delayDuration:i,...p},r))}N.displayName="TooltipProvider";var g=o.forwardRef((i,r)=>{let{children:p,className:d,open:T,defaultOpen:c,onOpenChange:v,delayDuration:y,disableHoverableContent:h,content:u,container:R,forceMount:C,...D}=s(i,a),x={open:T,defaultOpen:c,onOpenChange:v,delayDuration:y,disableHoverableContent:h},w=o.useContext(f),n=o.createElement(t.Root,{...x},o.createElement(t.Trigger,{asChild:!0},p),o.createElement(t.Portal,{container:R,forceMount:C},o.createElement(P,{asChild:!0},o.createElement(t.Content,{sideOffset:4,collisionPadding:10,...D,asChild:!1,ref:r,className:W("kui-TooltipContent",d)},o.createElement(l,{as:"p",className:"kui-TooltipText",size:"1"},u),o.createElement(t.Arrow,{className:"kui-TooltipArrow"})))));return w?n:o.createElement(t.Provider,{delayDuration:m},n)});g.displayName="Tooltip";export{N as a,g as b};
3
- //# sourceMappingURL=chunk-K55IQP5H.js.map
2
+ import{a as P}from"./chunk-4MNRLB57.js";import{a as e}from"./chunk-L54FWKJE.js";import{c as s}from"./chunk-OKQAVYW4.js";import{a as l}from"./chunk-T2DZDW5Y.js";import*as o from"react";import W from"classnames";import{Tooltip as t}from"radix-ui";var a={content:{type:"ReactNode",required:!0},width:e.width,minWidth:e.minWidth,maxWidth:{...e.maxWidth,default:"360px"}};var m=200,f=o.createContext(!1);function N({delayDuration:i=m,children:r,...p}){return o.createElement(f.Provider,{value:!0},o.createElement(t.Provider,{delayDuration:i,...p},r))}N.displayName="TooltipProvider";var g=o.forwardRef((i,r)=>{let{children:p,className:d,open:T,defaultOpen:c,onOpenChange:v,delayDuration:y,disableHoverableContent:h,content:u,container:R,forceMount:C,...D}=s(i,a),x={open:T,defaultOpen:c,onOpenChange:v,delayDuration:y,disableHoverableContent:h},w=o.useContext(f),n=o.createElement(t.Root,{...x},o.createElement(t.Trigger,{asChild:!0},p),o.createElement(t.Portal,{container:R,forceMount:C},o.createElement(l,{asChild:!0},o.createElement(t.Content,{sideOffset:4,collisionPadding:10,...D,asChild:!1,ref:r,className:W("kui-TooltipContent",d)},o.createElement(P,{as:"p",className:"kui-TooltipText",size:"1"},u),o.createElement(t.Arrow,{className:"kui-TooltipArrow"})))));return w?n:o.createElement(t.Provider,{delayDuration:m},n)});g.displayName="Tooltip";export{N as a,g as b};
3
+ //# sourceMappingURL=chunk-MPCCYR7L.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/components/tooltip.tsx", "../../src/components/tooltip.props.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nimport classNames from 'classnames';\nimport { Tooltip as TooltipPrimitive } from 'radix-ui';\n\nimport { Text } from './text.js';\nimport { PortalTheme } from './_internal/portal-theme.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { tooltipPropDefs } from './tooltip.props.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\n\n/** The rest before a tooltip opens, in milliseconds. */\nconst TOOLTIP_DELAY = 200;\n\n/** True inside a `TooltipProvider`, so a Tooltip knows it need not bring its own. */\nconst TooltipProviderContext = React.createContext(false);\n\ninterface TooltipProviderProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider> {}\n\n/**\n * Groups the tooltips inside it: the first one waits `delayDuration` (200ms), and the next ones\n * open at once while the pointer moves between them. Put it once near the root of the app.\n * A Tooltip outside one still works, with the same delay, but each one waits on its own.\n */\nfunction TooltipProvider({ delayDuration = TOOLTIP_DELAY, children, ...props }: TooltipProviderProps) {\n return (\n <TooltipProviderContext.Provider value={true}>\n <TooltipPrimitive.Provider delayDuration={delayDuration} {...props}>\n {children}\n </TooltipPrimitive.Provider>\n </TooltipProviderContext.Provider>\n );\n}\nTooltipProvider.displayName = 'TooltipProvider';\n\ntype TooltipElement = React.ElementRef<typeof TooltipPrimitive.Content>;\ntype TooltipOwnProps = GetPropDefTypes<typeof tooltipPropDefs>;\ninterface TooltipProps\n extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>,\n ComponentPropsWithout<typeof TooltipPrimitive.Content, RemovedProps | 'content'>,\n TooltipOwnProps {\n content: React.ReactNode;\n container?: React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Portal>['container'];\n}\nconst Tooltip = React.forwardRef<TooltipElement, TooltipProps>((props, forwardedRef) => {\n const {\n children,\n className,\n open,\n defaultOpen,\n onOpenChange,\n delayDuration,\n disableHoverableContent,\n content,\n container,\n forceMount,\n ...tooltipContentProps\n } = extractProps(props, tooltipPropDefs);\n const rootProps = { open, defaultOpen, onOpenChange, delayDuration, disableHoverableContent };\n const hasProvider = React.useContext(TooltipProviderContext);\n const tooltip = (\n <TooltipPrimitive.Root {...rootProps}>\n <TooltipPrimitive.Trigger asChild>{children}</TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal container={container} forceMount={forceMount}>\n <PortalTheme asChild>\n <TooltipPrimitive.Content\n sideOffset={4}\n collisionPadding={10}\n {...tooltipContentProps}\n asChild={false}\n ref={forwardedRef}\n className={classNames('kui-TooltipContent', className)}\n >\n <Text as=\"p\" className=\"kui-TooltipText\" size=\"1\">\n {content}\n </Text>\n <TooltipPrimitive.Arrow className=\"kui-TooltipArrow\" />\n </TooltipPrimitive.Content>\n </PortalTheme>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n );\n // Radix needs a provider above every tooltip. Outside a TooltipProvider, bring one.\n return hasProvider ? tooltip : <TooltipPrimitive.Provider delayDuration={TOOLTIP_DELAY}>{tooltip}</TooltipPrimitive.Provider>;\n});\nTooltip.displayName = 'Tooltip';\n\nexport { Tooltip, TooltipProvider };\nexport type { TooltipProps, TooltipProviderProps };\n", "import { widthPropDefs } from '../props/width.props.js';\n\nimport type { PropDef, GetPropDefTypes } from '../props/prop-def.js';\n\nconst tooltipPropDefs = {\n content: { type: 'ReactNode', required: true },\n width: widthPropDefs.width,\n minWidth: widthPropDefs.minWidth,\n maxWidth: { ...widthPropDefs.maxWidth, default: '360px' },\n} satisfies {\n width: PropDef<string>;\n minWidth: PropDef<string>;\n maxWidth: PropDef<string>;\n content: PropDef<React.ReactNode>;\n};\n\ntype TooltipOwnProps = GetPropDefTypes<typeof tooltipPropDefs & typeof widthPropDefs>;\n\nexport { tooltipPropDefs };\nexport type { TooltipOwnProps };\n"],
5
+ "mappings": ";gKAAA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,WAAWC,MAAwB,WCE5C,IAAMC,EAAkB,CACtB,QAAS,CAAE,KAAM,YAAa,SAAU,EAAK,EAC7C,MAAOC,EAAc,MACrB,SAAUA,EAAc,SACxB,SAAU,CAAE,GAAGA,EAAc,SAAU,QAAS,OAAQ,CAC1D,EDIA,IAAMC,EAAgB,IAGhBC,EAA+B,gBAAc,EAAK,EASxD,SAASC,EAAgB,CAAE,cAAAC,EAAgBH,EAAe,SAAAI,EAAU,GAAGC,CAAM,EAAyB,CACpG,OACE,gBAACJ,EAAuB,SAAvB,CAAgC,MAAO,IACtC,gBAACK,EAAiB,SAAjB,CAA0B,cAAeH,EAAgB,GAAGE,GAC1DD,CACH,CACF,CAEJ,CACAF,EAAgB,YAAc,kBAW9B,IAAMK,EAAgB,aAAyC,CAACF,EAAOG,IAAiB,CACtF,GAAM,CACJ,SAAAJ,EACA,UAAAK,EACA,KAAAC,EACA,YAAAC,EACA,aAAAC,EACA,cAAAT,EACA,wBAAAU,EACA,QAAAC,EACA,UAAAC,EACA,WAAAC,EACA,GAAGC,CACL,EAAIC,EAAab,EAAOc,CAAe,EACjCC,EAAY,CAAE,KAAAV,EAAM,YAAAC,EAAa,aAAAC,EAAc,cAAAT,EAAe,wBAAAU,CAAwB,EACtFQ,EAAoB,aAAWpB,CAAsB,EACrDqB,EACJ,gBAAChB,EAAiB,KAAjB,CAAuB,GAAGc,GACzB,gBAACd,EAAiB,QAAjB,CAAyB,QAAO,IAAEF,CAAS,EAC5C,gBAACE,EAAiB,OAAjB,CAAwB,UAAWS,EAAW,WAAYC,GACzD,gBAACO,EAAA,CAAY,QAAO,IAClB,gBAACjB,EAAiB,QAAjB,CACC,WAAY,EACZ,iBAAkB,GACjB,GAAGW,EACJ,QAAS,GACT,IAAKT,EACL,UAAWgB,EAAW,qBAAsBf,CAAS,GAErD,gBAACgB,EAAA,CAAK,GAAG,IAAI,UAAU,kBAAkB,KAAK,KAC3CX,CACH,EACA,gBAACR,EAAiB,MAAjB,CAAuB,UAAU,mBAAmB,CACvD,CACF,CACF,CACF,EAGF,OAAOe,EAAcC,EAAU,gBAAChB,EAAiB,SAAjB,CAA0B,cAAeN,GAAgBsB,CAAQ,CACnG,CAAC,EACDf,EAAQ,YAAc",
6
+ "names": ["React", "classNames", "TooltipPrimitive", "tooltipPropDefs", "widthPropDefs", "TOOLTIP_DELAY", "TooltipProviderContext", "TooltipProvider", "delayDuration", "children", "props", "TooltipPrimitive", "Tooltip", "forwardedRef", "className", "open", "defaultOpen", "onOpenChange", "disableHoverableContent", "content", "container", "forceMount", "tooltipContentProps", "extractProps", "tooltipPropDefs", "rootProps", "hasProvider", "tooltip", "PortalTheme", "classNames", "Text"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as i}from"./chunk-KVVRFWGQ.js";import{c as l}from"./chunk-5ON3XLRD.js";import{c as m}from"./chunk-OKQAVYW4.js";import{a as y}from"./chunk-VQPANPMI.js";var u={};y(u,{Actions:()=>c,Logo:()=>N,Navigation:()=>b,Root:()=>f});import*as o from"react";import n from"classnames";var g=["static","fixed","sticky"],R=["1","2","3","4"],v={position:{type:"enum",values:g,default:"fixed"},size:{type:"enum",values:R,default:"2"}};var f=o.forwardRef((r,t)=>{let a=l(r,v.size),{children:s,className:e,...p}=m(a,v),P=a.position??"fixed",d=a.size??"2";return o.createElement("header",{...p,ref:t,className:n("kui-NavbarRoot",e),"data-position":P,"data-size":d},o.createElement("div",{className:"kui-NavbarContainer"},s))});f.displayName="Navbar.Root";var N=o.forwardRef(({gap:r="2",align:t="center",justify:a="start",className:s,...e},p)=>o.createElement(i,{ref:p,gap:r,align:t,justify:a,className:n("kui-NavbarLogo",s),...e}));N.displayName="Navbar.Logo";var b=o.forwardRef(({gap:r="4",align:t="center",justify:a="center",className:s,...e},p)=>o.createElement(i,{ref:p,gap:r,align:t,justify:a,className:n("kui-NavbarNavigation",s),role:"navigation","aria-label":e["aria-labelledby"]===void 0?"Main":void 0,...e}));b.displayName="Navbar.Navigation";var c=o.forwardRef(({gap:r="4",align:t="center",justify:a="end",className:s,...e},p)=>o.createElement(i,{ref:p,gap:r,align:t,justify:a,className:n("kui-NavbarActions",s),...e}));c.displayName="Navbar.Actions";export{f as a,N as b,b as c,c as d,u as e};
3
- //# sourceMappingURL=chunk-EERKYRYI.js.map
2
+ import{a as i}from"./chunk-KVVRFWGQ.js";import{c as m}from"./chunk-OKQAVYW4.js";import{c as l}from"./chunk-5ON3XLRD.js";import{a as y}from"./chunk-VQPANPMI.js";var u={};y(u,{Actions:()=>c,Logo:()=>N,Navigation:()=>b,Root:()=>f});import*as o from"react";import n from"classnames";var g=["static","fixed","sticky"],R=["1","2","3","4"],v={position:{type:"enum",values:g,default:"fixed"},size:{type:"enum",values:R,default:"2"}};var f=o.forwardRef((r,t)=>{let a=l(r,v.size),{children:s,className:e,...p}=m(a,v),P=a.position??"fixed",d=a.size??"2";return o.createElement("header",{...p,ref:t,className:n("kui-NavbarRoot",e),"data-position":P,"data-size":d},o.createElement("div",{className:"kui-NavbarContainer"},s))});f.displayName="Navbar.Root";var N=o.forwardRef(({gap:r="2",align:t="center",justify:a="start",className:s,...e},p)=>o.createElement(i,{ref:p,gap:r,align:t,justify:a,className:n("kui-NavbarLogo",s),...e}));N.displayName="Navbar.Logo";var b=o.forwardRef(({gap:r="4",align:t="center",justify:a="center",className:s,...e},p)=>o.createElement(i,{ref:p,gap:r,align:t,justify:a,className:n("kui-NavbarNavigation",s),role:"navigation","aria-label":e["aria-labelledby"]===void 0?"Main":void 0,...e}));b.displayName="Navbar.Navigation";var c=o.forwardRef(({gap:r="4",align:t="center",justify:a="end",className:s,...e},p)=>o.createElement(i,{ref:p,gap:r,align:t,justify:a,className:n("kui-NavbarActions",s),...e}));c.displayName="Navbar.Actions";export{f as a,N as b,b as c,c as d,u as e};
3
+ //# sourceMappingURL=chunk-NWXODCTD.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as u}from"./chunk-VIVM525H.js";import{a as s}from"./chunk-KQIZMPSW.js";import{j as m}from"./chunk-GHWEXMF6.js";import*as e from"react";import c from"classnames";var C=e.createContext(null);function d(){return e.useContext(C)}var S=e.createContext("2"),h=e.createContext(!1);function F({children:t,presentation:n}){let a=e.useContext(S),o=e.useMemo(()=>({size:a,menuVariant:"soft",presentation:n}),[a,n]);return e.createElement(C.Provider,{value:o},t)}function P(){let t=d(),n=e.useContext(S),a=t?.size??n,o=t?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${a}`,`kui-menu-variant-${o}`]}var R={1:"2",2:"3",3:"4",4:"4"};function f(){let t=d(),n=e.useContext(S);return R[t?.size??n]}function M(){let t=e.useContext(s),n=e.useContext(m)!==null,a=f();return t!==void 0?t:n?a:null}var z=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:c("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,t)},e.createElement(s.Provider,{value:l},a))});z.displayName="Shell.PaneHeader";var b=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:c("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,t)},e.createElement(s.Provider,{value:l},a))});b.displayName="Shell.PaneFooter";var V=e.forwardRef(({className:t,style:n,dir:a,children:o,fade:r=!1,...i},l)=>{let v=P(),p=e.useContext(h),x=d();return p&&x===null?e.createElement(u,{...i,ref:l,type:"hover",fade:r,className:"kui-ShellScroll"},e.createElement("div",{style:n,dir:a,className:c("kui-ShellScrollContent",t)},o)):e.createElement(u,{...i,ref:l,type:"hover",fade:r,className:"kui-ShellScroll"},e.createElement("div",{style:n,dir:a,className:c("kui-BaseMenuContent","kui-SidebarContent",...v,t)},e.createElement(s.Provider,{value:null},e.createElement("div",{className:"kui-BaseMenuViewport"},o))))});V.displayName="Shell.Scroll";export{C as a,d as b,S as c,h as d,F as e,R as f,M as g,z as h,b as i,V as j};
3
- //# sourceMappingURL=chunk-3ZWHKNHI.js.map
2
+ import{a as u}from"./chunk-MGWGD6KI.js";import{a as s}from"./chunk-ANQLWGFN.js";import{j as m}from"./chunk-GHWEXMF6.js";import*as e from"react";import c from"classnames";var C=e.createContext(null);function d(){return e.useContext(C)}var S=e.createContext("2"),h=e.createContext(!1);function F({children:t,presentation:n}){let a=e.useContext(S),o=e.useMemo(()=>({size:a,menuVariant:"soft",presentation:n}),[a,n]);return e.createElement(C.Provider,{value:o},t)}function P(){let t=d(),n=e.useContext(S),a=t?.size??n,o=t?.menuVariant??"soft";return["kui-ShellPaneChrome",`kui-r-size-${a}`,`kui-menu-variant-${o}`]}var R={1:"2",2:"3",3:"4",4:"4"};function f(){let t=d(),n=e.useContext(S);return R[t?.size??n]}function M(){let t=e.useContext(s),n=e.useContext(m)!==null,a=f();return t!==void 0?t:n?a:null}var z=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:c("kui-ShellPaneHeader","kui-SidebarHeader","kui-SidebarHeader--container",...i,t)},e.createElement(s.Provider,{value:l},a))});z.displayName="Shell.PaneHeader";var b=e.forwardRef(({className:t,float:n,children:a,...o},r)=>{let i=P(),l=f();return e.createElement("div",{...o,ref:r,"data-float":n||void 0,className:c("kui-ShellPaneFooter","kui-SidebarFooter","kui-SidebarFooter--container",...i,t)},e.createElement(s.Provider,{value:l},a))});b.displayName="Shell.PaneFooter";var V=e.forwardRef(({className:t,style:n,dir:a,children:o,fade:r=!1,...i},l)=>{let v=P(),p=e.useContext(h),x=d();return p&&x===null?e.createElement(u,{...i,ref:l,type:"hover",fade:r,className:"kui-ShellScroll"},e.createElement("div",{style:n,dir:a,className:c("kui-ShellScrollContent",t)},o)):e.createElement(u,{...i,ref:l,type:"hover",fade:r,className:"kui-ShellScroll"},e.createElement("div",{style:n,dir:a,className:c("kui-BaseMenuContent","kui-SidebarContent",...v,t)},e.createElement(s.Provider,{value:null},e.createElement("div",{className:"kui-BaseMenuViewport"},o))))});V.displayName="Shell.Scroll";export{C as a,d as b,S as c,h as d,F as e,R as f,M as g,z as h,b as i,V as j};
3
+ //# sourceMappingURL=chunk-OLTRWCQK.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as v}from"./chunk-TGRHRMQI.js";import{c as C}from"./chunk-GE7FRBZ4.js";import{c as T}from"./chunk-5ON3XLRD.js";import{a as d}from"./chunk-LPLW7OWA.js";import{a as P}from"./chunk-L54FWKJE.js";import{a as f}from"./chunk-CLJ6SEGP.js";import{c as m}from"./chunk-OKQAVYW4.js";import{a as k}from"./chunk-VQPANPMI.js";var I={};k(I,{Anchor:()=>x,Close:()=>g,Content:()=>y,Root:()=>u,Toolbar:()=>z,Trigger:()=>h});import*as o from"react";import i from"classnames";import{Popover as n}from"radix-ui";var M=["1","2","3","4"],c={...f,size:{type:"enum",className:"kui-r-size",values:M,default:"2",responsive:!0},width:P.width,minWidth:P.minWidth,maxWidth:{...P.maxWidth,default:"480px"},...d};var R=o.createContext(null),b=e=>{let r=o.useContext(R);return r},u=e=>o.createElement(n.Root,{...e});u.displayName="Popover.Root";var h=o.forwardRef(({children:e,...r},t)=>o.createElement(n.Trigger,{...r,ref:t,asChild:!0},v(e)));h.displayName="Popover.Trigger";var y=o.forwardRef((e,r)=>{let t=T(e,c.size),{className:s,forceMount:a,container:l,...p}=m(t,c),[L,A]=o.useState(void 0),S=o.useMemo(()=>({setLabelId:A}),[]);return o.createElement(n.Portal,{container:l,forceMount:a},o.createElement(C,{asChild:!0},o.createElement(n.Content,{align:"start",sideOffset:8,collisionPadding:10,...p,ref:r,"aria-labelledby":L??p["aria-labelledby"],className:i("kui-PopperContent","kui-PopoverContent",s)},o.createElement(R.Provider,{value:S},t.children))))});y.displayName="Popover.Content";var g=o.forwardRef(({children:e,...r},t)=>o.createElement(n.Close,{...r,ref:t,asChild:!0},v(e)));g.displayName="Popover.Close";var x=o.forwardRef((e,r)=>o.createElement(n.Anchor,{...e,ref:r}));x.displayName="Popover.Anchor";var E=o.forwardRef(({className:e,children:r,...t},s)=>(b("Popover.Toolbar"),o.createElement("div",{...t,ref:s,className:i("kui-PopoverToolbar",e)},r)));E.displayName="Popover.Toolbar";var w=o.forwardRef(({className:e,...r},t)=>o.createElement("div",{...r,ref:t,className:i("kui-PopoverToolbarSection","kui-PopoverToolbarLeft",e)}));w.displayName="Popover.Toolbar.Left";var D=o.forwardRef(({className:e,...r},t)=>o.createElement("div",{...r,ref:t,className:i("kui-PopoverToolbarSection","kui-PopoverToolbarCenter",e)}));D.displayName="Popover.Toolbar.Center";var N=o.forwardRef(({className:e,...r},t)=>o.createElement("div",{...r,ref:t,className:i("kui-PopoverToolbarSection","kui-PopoverToolbarRight",e)}));N.displayName="Popover.Toolbar.Right";var W=o.forwardRef(({className:e,id:r,...t},s)=>{let a=b("Popover.Toolbar.Title"),l=o.useId(),p=r??`kui-popover-toolbar-title-${l}`;return o.useEffect(()=>(a?.setLabelId(p),()=>a?.setLabelId(void 0)),[a,p]),o.createElement("span",{...t,id:p,ref:s,className:i("kui-PopoverToolbarTitle",e)})});W.displayName="Popover.Toolbar.Title";var z=Object.assign(E,{Left:w,Center:D,Right:N,Title:W});export{u as a,h as b,y as c,g as d,x as e,z as f,I as g};
3
- //# sourceMappingURL=chunk-RD4T2MCC.js.map
2
+ import{a as v}from"./chunk-TGRHRMQI.js";import{a as d}from"./chunk-LPLW7OWA.js";import{a as P}from"./chunk-L54FWKJE.js";import{c as m}from"./chunk-OKQAVYW4.js";import{a as C}from"./chunk-T2DZDW5Y.js";import{c as T}from"./chunk-5ON3XLRD.js";import{a as f}from"./chunk-CLJ6SEGP.js";import{a as k}from"./chunk-VQPANPMI.js";var I={};k(I,{Anchor:()=>x,Close:()=>g,Content:()=>y,Root:()=>u,Toolbar:()=>z,Trigger:()=>h});import*as o from"react";import i from"classnames";import{Popover as n}from"radix-ui";var M=["1","2","3","4"],c={...f,size:{type:"enum",className:"kui-r-size",values:M,default:"2",responsive:!0},width:P.width,minWidth:P.minWidth,maxWidth:{...P.maxWidth,default:"480px"},...d};var R=o.createContext(null),b=e=>{let r=o.useContext(R);return r},u=e=>o.createElement(n.Root,{...e});u.displayName="Popover.Root";var h=o.forwardRef(({children:e,...r},t)=>o.createElement(n.Trigger,{...r,ref:t,asChild:!0},v(e)));h.displayName="Popover.Trigger";var y=o.forwardRef((e,r)=>{let t=T(e,c.size),{className:s,forceMount:a,container:l,...p}=m(t,c),[L,A]=o.useState(void 0),S=o.useMemo(()=>({setLabelId:A}),[]);return o.createElement(n.Portal,{container:l,forceMount:a},o.createElement(C,{asChild:!0},o.createElement(n.Content,{align:"start",sideOffset:8,collisionPadding:10,...p,ref:r,"aria-labelledby":L??p["aria-labelledby"],className:i("kui-PopperContent","kui-PopoverContent",s)},o.createElement(R.Provider,{value:S},t.children))))});y.displayName="Popover.Content";var g=o.forwardRef(({children:e,...r},t)=>o.createElement(n.Close,{...r,ref:t,asChild:!0},v(e)));g.displayName="Popover.Close";var x=o.forwardRef((e,r)=>o.createElement(n.Anchor,{...e,ref:r}));x.displayName="Popover.Anchor";var E=o.forwardRef(({className:e,children:r,...t},s)=>(b("Popover.Toolbar"),o.createElement("div",{...t,ref:s,className:i("kui-PopoverToolbar",e)},r)));E.displayName="Popover.Toolbar";var w=o.forwardRef(({className:e,...r},t)=>o.createElement("div",{...r,ref:t,className:i("kui-PopoverToolbarSection","kui-PopoverToolbarLeft",e)}));w.displayName="Popover.Toolbar.Left";var D=o.forwardRef(({className:e,...r},t)=>o.createElement("div",{...r,ref:t,className:i("kui-PopoverToolbarSection","kui-PopoverToolbarCenter",e)}));D.displayName="Popover.Toolbar.Center";var N=o.forwardRef(({className:e,...r},t)=>o.createElement("div",{...r,ref:t,className:i("kui-PopoverToolbarSection","kui-PopoverToolbarRight",e)}));N.displayName="Popover.Toolbar.Right";var W=o.forwardRef(({className:e,id:r,...t},s)=>{let a=b("Popover.Toolbar.Title"),l=o.useId(),p=r??`kui-popover-toolbar-title-${l}`;return o.useEffect(()=>(a?.setLabelId(p),()=>a?.setLabelId(void 0)),[a,p]),o.createElement("span",{...t,id:p,ref:s,className:i("kui-PopoverToolbarTitle",e)})});W.displayName="Popover.Toolbar.Title";var z=Object.assign(E,{Left:w,Center:D,Right:N,Title:W});export{u as a,h as b,y as c,g as d,x as e,z as f,I as g};
3
+ //# sourceMappingURL=chunk-OLWUS7PC.js.map