@cloudflare/kumo 2.2.2 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/ai/component-registry.json +194 -128
  3. package/ai/component-registry.md +412 -221
  4. package/ai/schemas.ts +8 -2
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +58 -38
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/ai/schemas.js +14 -4
  9. package/dist/ai/schemas.js.map +1 -1
  10. package/dist/chunks/SankeyChart-npoyr1j06svoxsfe.js +770 -0
  11. package/dist/chunks/SankeyChart-npoyr1j06svoxsfe.js.map +1 -0
  12. package/dist/chunks/{autocomplete-mhrvtq4y5n21vr0t.js → autocomplete-cvp5fsdt6gh0p3vu.js} +86 -68
  13. package/dist/chunks/autocomplete-cvp5fsdt6gh0p3vu.js.map +1 -0
  14. package/dist/chunks/{badge-kqox9toi0sygfbno.js → badge-c1th6h6ahz7eu49q.js} +80 -19
  15. package/dist/chunks/badge-c1th6h6ahz7eu49q.js.map +1 -0
  16. package/dist/chunks/banner-es5iwuk4pf25e29e.js +120 -0
  17. package/dist/chunks/banner-es5iwuk4pf25e29e.js.map +1 -0
  18. package/dist/chunks/{breadcrumbs-ohstavaqvycoremm.js → breadcrumbs-j214mimk5zj4ffp4.js} +8 -6
  19. package/dist/chunks/breadcrumbs-j214mimk5zj4ffp4.js.map +1 -0
  20. package/dist/chunks/{button-oevxukl0zmwoq4tb.js → button-mnrxu6dud2x5js5b.js} +19 -17
  21. package/dist/chunks/{button-oevxukl0zmwoq4tb.js.map → button-mnrxu6dud2x5js5b.js.map} +1 -1
  22. package/dist/chunks/{checkbox-h6vkv17lnq854z2c.js → checkbox-dqih8tzzt3vhp870.js} +25 -19
  23. package/dist/chunks/checkbox-dqih8tzzt3vhp870.js.map +1 -0
  24. package/dist/chunks/{clipboard-text-kyy71jmx7umdh8k8.js → clipboard-text-mrut8z3dt1w0efxz.js} +4 -4
  25. package/dist/chunks/{clipboard-text-kyy71jmx7umdh8k8.js.map → clipboard-text-mrut8z3dt1w0efxz.js.map} +1 -1
  26. package/dist/chunks/{collapsible-ej6p2bq758sw30nk.js → collapsible-nzqcf9zwnjkxqzr6.js} +21 -17
  27. package/dist/chunks/collapsible-nzqcf9zwnjkxqzr6.js.map +1 -0
  28. package/dist/chunks/{combobox-g3cudlfajecou4va.js → combobox-dpptfpcmqfrso1xa.js} +123 -111
  29. package/dist/chunks/combobox-dpptfpcmqfrso1xa.js.map +1 -0
  30. package/dist/chunks/{command-palette-eep807rf6iapoz8r.js → command-palette-fqhyacp33fhyf696.js} +12 -12
  31. package/dist/chunks/{command-palette-eep807rf6iapoz8r.js.map → command-palette-fqhyacp33fhyf696.js.map} +1 -1
  32. package/dist/chunks/dialog-my9fioafdstq50mi.js +134 -0
  33. package/dist/chunks/dialog-my9fioafdstq50mi.js.map +1 -0
  34. package/dist/chunks/{dropdown-cobpydatw4vlb3ov.js → dropdown-g4sb4cw9ffqaw5gx.js} +54 -44
  35. package/dist/chunks/dropdown-g4sb4cw9ffqaw5gx.js.map +1 -0
  36. package/dist/chunks/{empty-n3r7xutkb9sxjaso.js → empty-n17inn1z67bpohkw.js} +2 -2
  37. package/dist/chunks/{empty-n3r7xutkb9sxjaso.js.map → empty-n17inn1z67bpohkw.js.map} +1 -1
  38. package/dist/chunks/{field-l1oapopp6kjnephi.js → field-c8o7h3rlam4c9pcx.js} +3 -3
  39. package/dist/chunks/{field-l1oapopp6kjnephi.js.map → field-c8o7h3rlam4c9pcx.js.map} +1 -1
  40. package/dist/chunks/{input-area-gudamx1ruz8rxiw2.js → input-area-eurk3seud30ricwn.js} +4 -4
  41. package/dist/chunks/{input-area-gudamx1ruz8rxiw2.js.map → input-area-eurk3seud30ricwn.js.map} +1 -1
  42. package/dist/chunks/{input-i3os21puacqw4r75.js → input-en8hhb14mmt3tfwn.js} +3 -3
  43. package/dist/chunks/{input-i3os21puacqw4r75.js.map → input-en8hhb14mmt3tfwn.js.map} +1 -1
  44. package/dist/chunks/{input-group-gy08vju7eoogil8k.js → input-group-d09ocmjcbdai0gze.js} +70 -70
  45. package/dist/chunks/input-group-d09ocmjcbdai0gze.js.map +1 -0
  46. package/dist/chunks/{label-i0bj94d43irz0k1x.js → label-c8rz453pti66slki.js} +3 -3
  47. package/dist/chunks/{label-i0bj94d43irz0k1x.js.map → label-c8rz453pti66slki.js.map} +1 -1
  48. package/dist/chunks/{layer-card-hyz8lfxceudt05pv.js → layer-card-er4flkcxmzfug8jw.js} +2 -2
  49. package/dist/chunks/{layer-card-hyz8lfxceudt05pv.js.map → layer-card-er4flkcxmzfug8jw.js.map} +1 -1
  50. package/dist/chunks/{link-lkzjiitte3l29q87.js → link-i6vnwyjcwvjz5btm.js} +20 -19
  51. package/dist/chunks/{link-lkzjiitte3l29q87.js.map → link-i6vnwyjcwvjz5btm.js.map} +1 -1
  52. package/dist/chunks/menubar-ng5if56amh1tto4j.js +98 -0
  53. package/dist/chunks/menubar-ng5if56amh1tto4j.js.map +1 -0
  54. package/dist/chunks/{meter-jbxkh6gfggx1kjna.js → meter-d5igshkjqttl1fdj.js} +2 -2
  55. package/dist/chunks/{meter-jbxkh6gfggx1kjna.js.map → meter-d5igshkjqttl1fdj.js.map} +1 -1
  56. package/dist/chunks/{pagination-ceetno8sc1rd0wr2.js → pagination-bw7vwca4wrfjm8vb.js} +3 -3
  57. package/dist/chunks/{pagination-ceetno8sc1rd0wr2.js.map → pagination-bw7vwca4wrfjm8vb.js.map} +1 -1
  58. package/dist/chunks/{popover-i4opvl9g0as52fyx.js → popover-ozf1j7oi7pxiudyz.js} +4 -2
  59. package/dist/chunks/popover-ozf1j7oi7pxiudyz.js.map +1 -0
  60. package/dist/chunks/{radio-g56o5rftpu1qpxuv.js → radio-gpg6kmzonr2cayq1.js} +54 -46
  61. package/dist/chunks/radio-gpg6kmzonr2cayq1.js.map +1 -0
  62. package/dist/chunks/select-dw9iw35ug7yer3o3.js +237 -0
  63. package/dist/chunks/select-dw9iw35ug7yer3o3.js.map +1 -0
  64. package/dist/chunks/{sensitive-input-hokm527ollnz9dqc.js → sensitive-input-dgoxjtoxl4zqa51v.js} +101 -92
  65. package/dist/chunks/sensitive-input-dgoxjtoxl4zqa51v.js.map +1 -0
  66. package/dist/chunks/sidebar-hzio700cg85f7f31.js +1014 -0
  67. package/dist/chunks/sidebar-hzio700cg85f7f31.js.map +1 -0
  68. package/dist/chunks/{surface-ck1nt2uqfzmod4sz.js → surface-iyejjbqogjbo7ise.js} +2 -2
  69. package/dist/chunks/{surface-ck1nt2uqfzmod4sz.js.map → surface-iyejjbqogjbo7ise.js.map} +1 -1
  70. package/dist/chunks/{switch-fv0ttj24uhocvuh8.js → switch-g8f77h69h34xld06.js} +50 -45
  71. package/dist/chunks/switch-g8f77h69h34xld06.js.map +1 -0
  72. package/dist/chunks/{table-nsfcgpo93gfetrhh.js → table-e1te1im2tt2ez05y.js} +2 -2
  73. package/dist/chunks/{table-nsfcgpo93gfetrhh.js.map → table-e1te1im2tt2ez05y.js.map} +1 -1
  74. package/dist/chunks/{table-of-contents-fzyv7uhnnyr13dqu.js → table-of-contents-jco9kvt48d34dwsw.js} +34 -30
  75. package/dist/chunks/table-of-contents-jco9kvt48d34dwsw.js.map +1 -0
  76. package/dist/chunks/{tabs-g8ier5pehjpfxauf.js → tabs-hice1yy5q2t889z8.js} +6 -4
  77. package/dist/chunks/tabs-hice1yy5q2t889z8.js.map +1 -0
  78. package/dist/chunks/{toast-ofqlfmddcyka091n.js → toast-kvbgct0jvfmn4mas.js} +29 -27
  79. package/dist/chunks/{toast-ofqlfmddcyka091n.js.map → toast-kvbgct0jvfmn4mas.js.map} +1 -1
  80. package/dist/chunks/{tooltip-icvb67awe1zolz61.js → tooltip-ken77ixya0qpidie.js} +13 -13
  81. package/dist/chunks/{tooltip-icvb67awe1zolz61.js.map → tooltip-ken77ixya0qpidie.js.map} +1 -1
  82. package/dist/chunks/vendor-base-ui-knphx7dts1vm1x37.js +24710 -0
  83. package/dist/chunks/vendor-base-ui-knphx7dts1vm1x37.js.map +1 -0
  84. package/dist/chunks/{vendor-floating-ui-dwag5e88viikh2zs.js → vendor-floating-ui-c4mwmh0xmfzevy9l.js} +5 -5
  85. package/dist/chunks/{vendor-floating-ui-dwag5e88viikh2zs.js.map → vendor-floating-ui-c4mwmh0xmfzevy9l.js.map} +1 -1
  86. package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js +217 -0
  87. package/dist/chunks/vendor-utils-m5h2xu7s2rs3pgk5.js.map +1 -0
  88. package/dist/code.js +1 -1
  89. package/dist/components/autocomplete.js +1 -1
  90. package/dist/components/badge.js +1 -1
  91. package/dist/components/banner.js +1 -1
  92. package/dist/components/breadcrumbs.js +1 -1
  93. package/dist/components/button.js +1 -1
  94. package/dist/components/chart.js +1 -1
  95. package/dist/components/checkbox.js +1 -1
  96. package/dist/components/clipboard-text.js +1 -1
  97. package/dist/components/collapsible.js +1 -1
  98. package/dist/components/combobox.js +1 -1
  99. package/dist/components/command-palette.js +1 -1
  100. package/dist/components/dialog.js +1 -1
  101. package/dist/components/dropdown.js +1 -1
  102. package/dist/components/empty.js +1 -1
  103. package/dist/components/field.js +1 -1
  104. package/dist/components/input-group.js +1 -1
  105. package/dist/components/input.js +3 -3
  106. package/dist/components/label.js +1 -1
  107. package/dist/components/layer-card.js +1 -1
  108. package/dist/components/link.js +1 -1
  109. package/dist/components/menubar.js +1 -1
  110. package/dist/components/meter.js +1 -1
  111. package/dist/components/pagination.js +1 -1
  112. package/dist/components/popover.js +1 -1
  113. package/dist/components/radio.js +1 -1
  114. package/dist/components/select.js +1 -1
  115. package/dist/components/sensitive-input.js +1 -1
  116. package/dist/components/sidebar.js +22 -23
  117. package/dist/components/surface.js +1 -1
  118. package/dist/components/switch.js +1 -1
  119. package/dist/components/table-of-contents.js +1 -1
  120. package/dist/components/table.js +1 -1
  121. package/dist/components/tabs.js +1 -1
  122. package/dist/components/toast.js +2 -2
  123. package/dist/components/tooltip.js +1 -1
  124. package/dist/index.js +122 -123
  125. package/dist/primitives/accordion.js +1 -1
  126. package/dist/primitives/alert-dialog.js +1 -1
  127. package/dist/primitives/autocomplete.js +1 -1
  128. package/dist/primitives/avatar.js +1 -1
  129. package/dist/primitives/button.js +1 -1
  130. package/dist/primitives/checkbox-group.js +1 -1
  131. package/dist/primitives/checkbox.js +1 -1
  132. package/dist/primitives/collapsible.js +1 -1
  133. package/dist/primitives/combobox.js +1 -1
  134. package/dist/primitives/context-menu.js +1 -1
  135. package/dist/primitives/csp-provider.js +1 -1
  136. package/dist/primitives/dialog.js +1 -1
  137. package/dist/primitives/direction-provider.js +1 -1
  138. package/dist/primitives/drawer.js +1 -1
  139. package/dist/primitives/field.js +1 -1
  140. package/dist/primitives/fieldset.js +1 -1
  141. package/dist/primitives/form.js +1 -1
  142. package/dist/primitives/input.js +1 -1
  143. package/dist/primitives/menu.js +1 -1
  144. package/dist/primitives/menubar.js +1 -1
  145. package/dist/primitives/meter.js +1 -1
  146. package/dist/primitives/navigation-menu.js +1 -1
  147. package/dist/primitives/number-field.js +1 -1
  148. package/dist/primitives/otp-field.js +1 -1
  149. package/dist/primitives/popover.js +1 -1
  150. package/dist/primitives/preview-card.js +1 -1
  151. package/dist/primitives/progress.js +1 -1
  152. package/dist/primitives/radio-group.js +1 -1
  153. package/dist/primitives/radio.js +1 -1
  154. package/dist/primitives/scroll-area.js +1 -1
  155. package/dist/primitives/select.js +1 -1
  156. package/dist/primitives/separator.js +1 -1
  157. package/dist/primitives/slider.js +1 -1
  158. package/dist/primitives/switch.js +1 -1
  159. package/dist/primitives/tabs.js +1 -1
  160. package/dist/primitives/toast.js +1 -1
  161. package/dist/primitives/toggle-group.js +1 -1
  162. package/dist/primitives/toggle.js +1 -1
  163. package/dist/primitives/toolbar.js +1 -1
  164. package/dist/primitives/tooltip.js +1 -1
  165. package/dist/primitives.js +1 -1
  166. package/dist/scripts/theme-generator/config.d.ts.map +1 -1
  167. package/dist/scripts/theme-generator/config.js +37 -39
  168. package/dist/scripts/theme-generator/config.js.map +1 -1
  169. package/dist/scripts/theme-generator/generate-css.d.ts.map +1 -1
  170. package/dist/scripts/theme-generator/types.d.ts +8 -2
  171. package/dist/scripts/theme-generator/types.d.ts.map +1 -1
  172. package/dist/src/components/autocomplete/autocomplete.d.ts +1 -0
  173. package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -1
  174. package/dist/src/components/autocomplete/index.d.ts +1 -0
  175. package/dist/src/components/autocomplete/index.d.ts.map +1 -1
  176. package/dist/src/components/badge/badge.d.ts +51 -3
  177. package/dist/src/components/badge/badge.d.ts.map +1 -1
  178. package/dist/src/components/banner/banner.d.ts +14 -7
  179. package/dist/src/components/banner/banner.d.ts.map +1 -1
  180. package/dist/src/components/breadcrumbs/breadcrumbs.d.ts.map +1 -1
  181. package/dist/src/components/button/button.d.ts.map +1 -1
  182. package/dist/src/components/chart/SankeyChart.d.ts +6 -1
  183. package/dist/src/components/chart/SankeyChart.d.ts.map +1 -1
  184. package/dist/src/components/chart/TimeseriesChart.d.ts +43 -1
  185. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  186. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  187. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
  188. package/dist/src/components/combobox/combobox.d.ts +1 -0
  189. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  190. package/dist/src/components/combobox/index.d.ts +1 -0
  191. package/dist/src/components/combobox/index.d.ts.map +1 -1
  192. package/dist/src/components/dialog/dialog.d.ts +11 -4
  193. package/dist/src/components/dialog/dialog.d.ts.map +1 -1
  194. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  195. package/dist/src/components/input-group/input-group-button.d.ts.map +1 -1
  196. package/dist/src/components/input-group/input-group-input.d.ts.map +1 -1
  197. package/dist/src/components/input-group/input-group.d.ts.map +1 -1
  198. package/dist/src/components/link/link.d.ts.map +1 -1
  199. package/dist/src/components/menubar/menubar.d.ts.map +1 -1
  200. package/dist/src/components/popover/popover.d.ts.map +1 -1
  201. package/dist/src/components/radio/radio.d.ts.map +1 -1
  202. package/dist/src/components/select/select.d.ts.map +1 -1
  203. package/dist/src/components/sensitive-input/sensitive-input.d.ts.map +1 -1
  204. package/dist/src/components/sidebar/index.d.ts +1 -1
  205. package/dist/src/components/sidebar/index.d.ts.map +1 -1
  206. package/dist/src/components/sidebar/sidebar.d.ts +159 -146
  207. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -1
  208. package/dist/src/components/switch/switch.d.ts.map +1 -1
  209. package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -1
  210. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  211. package/dist/src/components/toast/toast.d.ts.map +1 -1
  212. package/dist/src/index.d.ts +1 -1
  213. package/dist/src/index.d.ts.map +1 -1
  214. package/dist/styles/kumo-binding.css +0 -18
  215. package/dist/styles/kumo-standalone.css +1 -1
  216. package/dist/styles/kumo.css +37 -0
  217. package/dist/styles/theme-kumo.css +30 -37
  218. package/package.json +5 -2
  219. package/scripts/generate-primitives.ts +6 -1
  220. package/scripts/theme-generator/config.ts +38 -40
  221. package/scripts/theme-generator/generate-css.ts +4 -1
  222. package/scripts/theme-generator/types.ts +8 -2
  223. package/dist/chunks/SankeyChart-dkq90770ad7hgzx3.js +0 -635
  224. package/dist/chunks/SankeyChart-dkq90770ad7hgzx3.js.map +0 -1
  225. package/dist/chunks/autocomplete-mhrvtq4y5n21vr0t.js.map +0 -1
  226. package/dist/chunks/badge-kqox9toi0sygfbno.js.map +0 -1
  227. package/dist/chunks/banner-ip2lm8r87hich557.js +0 -88
  228. package/dist/chunks/banner-ip2lm8r87hich557.js.map +0 -1
  229. package/dist/chunks/breadcrumbs-ohstavaqvycoremm.js.map +0 -1
  230. package/dist/chunks/checkbox-h6vkv17lnq854z2c.js.map +0 -1
  231. package/dist/chunks/collapsible-ej6p2bq758sw30nk.js.map +0 -1
  232. package/dist/chunks/combobox-g3cudlfajecou4va.js.map +0 -1
  233. package/dist/chunks/dialog-fo3qhv9fgiadq5gp.js +0 -115
  234. package/dist/chunks/dialog-fo3qhv9fgiadq5gp.js.map +0 -1
  235. package/dist/chunks/dropdown-cobpydatw4vlb3ov.js.map +0 -1
  236. package/dist/chunks/input-group-gy08vju7eoogil8k.js.map +0 -1
  237. package/dist/chunks/menubar-jalggrag4utvdpey.js +0 -96
  238. package/dist/chunks/menubar-jalggrag4utvdpey.js.map +0 -1
  239. package/dist/chunks/popover-i4opvl9g0as52fyx.js.map +0 -1
  240. package/dist/chunks/radio-g56o5rftpu1qpxuv.js.map +0 -1
  241. package/dist/chunks/select-g1xvti1k1hj7xe5t.js +0 -226
  242. package/dist/chunks/select-g1xvti1k1hj7xe5t.js.map +0 -1
  243. package/dist/chunks/sensitive-input-hokm527ollnz9dqc.js.map +0 -1
  244. package/dist/chunks/sidebar-oan40ylmqkyui21w.js +0 -875
  245. package/dist/chunks/sidebar-oan40ylmqkyui21w.js.map +0 -1
  246. package/dist/chunks/switch-fv0ttj24uhocvuh8.js.map +0 -1
  247. package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js.map +0 -1
  248. package/dist/chunks/tabs-g8ier5pehjpfxauf.js.map +0 -1
  249. package/dist/chunks/vendor-base-ui-nbyiqqi138hcoz52.js +0 -24639
  250. package/dist/chunks/vendor-base-ui-nbyiqqi138hcoz52.js.map +0 -1
  251. package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js +0 -534
  252. package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js.map +0 -1
@@ -1,59 +1,59 @@
1
1
  "use client";
2
2
  import { jsx as e, jsxs as m } from "react/jsx-runtime";
3
- import { CheckIcon as S, XIcon as C, CaretDownIcon as N } from "@phosphor-icons/react";
4
- import { createContext as T, useContext as g, Fragment as V } from "react";
5
- import { i as p, K as P } from "./input-i3os21puacqw4r75.js";
6
- import { c as t } from "./cn-ct4n7r74mh8y0f48.js";
7
- import { F as j } from "./field-l1oapopp6kjnephi.js";
8
- import { u as G } from "./portal-provider-hwmkdmkpvct0cb76.js";
9
- import { a6 as h, a7 as x, a8 as f, a9 as L, aa as M, ab as F, ac as _, ad as A, ae as E, af as b, ag as K, ah as O, ai as U, aj as W, ak as D, al as H, am as X, an as q, ao as B } from "./vendor-base-ui-nbyiqqi138hcoz52.js";
10
- P.size;
11
- const u = T("base");
3
+ import { CheckIcon as T, XIcon as C, CaretDownIcon as N } from "@phosphor-icons/react";
4
+ import { createContext as E, useContext as g, Fragment as V } from "react";
5
+ import { i as p, K as j } from "./input-en8hhb14mmt3tfwn.js";
6
+ import { c as i } from "./cn-ct4n7r74mh8y0f48.js";
7
+ import { F } from "./field-c8o7h3rlam4c9pcx.js";
8
+ import { u as P } from "./portal-provider-hwmkdmkpvct0cb76.js";
9
+ import { a6 as G, a7 as h, a8 as x, a9 as f, aa as L, ab as M, ac as _, ad as A, ae as K, af as O, ag as b, ah as U, ai as W, aj as B, ak as D, al as H, am as X, an as q, ao as J, ap as Q } from "./vendor-base-ui-knphx7dts1vm1x37.js";
10
+ j.size;
11
+ const u = E({ size: "base", hasError: !1 });
12
12
  function y({
13
13
  label: o,
14
14
  required: a,
15
15
  labelTooltip: r,
16
- description: n,
17
- error: i,
18
- children: c,
19
- size: s = "base",
16
+ description: s,
17
+ error: t,
18
+ children: n,
19
+ size: d = "base",
20
20
  ...l
21
21
  }) {
22
- const d = /* @__PURE__ */ e(u.Provider, { value: s, children: /* @__PURE__ */ e(M, { ...l, children: c }) });
22
+ const c = /* @__PURE__ */ e(u, { value: { size: d, hasError: !!t }, children: /* @__PURE__ */ e(M, { ...l, children: n }) });
23
23
  return o ? /* @__PURE__ */ e(
24
- j,
24
+ F,
25
25
  {
26
26
  label: o,
27
27
  required: a,
28
28
  labelTooltip: r,
29
- description: n,
30
- error: i ? typeof i == "string" ? { message: i, match: !0 } : i : void 0,
31
- children: d
29
+ description: s,
30
+ error: t ? typeof t == "string" ? { message: t, match: !0 } : t : void 0,
31
+ children: c
32
32
  }
33
- ) : d;
33
+ ) : c;
34
34
  }
35
- function v({
35
+ function k({
36
36
  children: o,
37
37
  className: a,
38
38
  align: r = "start",
39
- sideOffset: n = 4,
40
- alignOffset: i,
41
- side: c,
42
- container: s
39
+ sideOffset: s = 4,
40
+ alignOffset: t,
41
+ side: n,
42
+ container: d
43
43
  }) {
44
- const l = G();
45
- return /* @__PURE__ */ e(X, { container: s ?? l ?? void 0, children: /* @__PURE__ */ e(
46
- q,
44
+ const l = P();
45
+ return /* @__PURE__ */ e(q, { container: d ?? l ?? void 0, children: /* @__PURE__ */ e(
46
+ J,
47
47
  {
48
48
  className: "",
49
49
  align: r,
50
- sideOffset: n,
51
- alignOffset: i,
52
- side: c,
50
+ sideOffset: s,
51
+ alignOffset: t,
52
+ side: n,
53
53
  children: /* @__PURE__ */ e(
54
- B,
54
+ Q,
55
55
  {
56
- className: t(
56
+ className: i(
57
57
  "flex flex-col",
58
58
  // flexbox layout for sticky input + scrollable list
59
59
  "max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5",
@@ -69,26 +69,28 @@ function v({
69
69
  }
70
70
  ) });
71
71
  }
72
- const J = {
72
+ const Y = {
73
73
  xs: { padding: "pr-5", iconSize: 12, iconRight: "right-1" },
74
74
  sm: { padding: "pr-6", iconSize: 14, iconRight: "right-1.5" },
75
75
  base: { padding: "pr-8", iconSize: 16, iconRight: "right-2" },
76
76
  lg: { padding: "pr-10", iconSize: 18, iconRight: "right-3" }
77
77
  };
78
- function z({
78
+ function v({
79
79
  className: o,
80
80
  ...a
81
81
  }) {
82
- const r = g(u), n = J[r];
82
+ const { size: r, hasError: s } = g(u), t = Y[r];
83
83
  return /* @__PURE__ */ m(
84
84
  f,
85
85
  {
86
- className: t(
87
- p({ size: r }),
86
+ "data-kumo-component": "Combobox",
87
+ "data-kumo-part": "trigger",
88
+ className: i(
89
+ p({ size: r, variant: s ? "error" : "default" }),
88
90
  "relative flex items-center",
89
91
  "data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
90
92
  "data-[placeholder]:text-kumo-placeholder",
91
- n.padding,
93
+ t.padding,
92
94
  o
93
95
  ),
94
96
  children: [
@@ -96,18 +98,18 @@ function z({
96
98
  /* @__PURE__ */ e(
97
99
  h,
98
100
  {
99
- className: t(
101
+ className: i(
100
102
  "absolute top-1/2 -translate-y-1/2 flex items-center text-kumo-subtle",
101
- n.iconRight
103
+ t.iconRight
102
104
  ),
103
- children: /* @__PURE__ */ e(N, { size: n.iconSize, className: "fill-current" })
105
+ children: /* @__PURE__ */ e(N, { size: t.iconSize, className: "fill-current" })
104
106
  }
105
107
  )
106
108
  ]
107
109
  }
108
110
  );
109
111
  }
110
- const Q = {
112
+ const Z = {
111
113
  xs: {
112
114
  padding: "pr-7",
113
115
  iconSize: 12,
@@ -133,16 +135,16 @@ const Q = {
133
135
  caretRight: "right-3"
134
136
  }
135
137
  };
136
- function R({
138
+ function z({
137
139
  clearLabel: o = "Clear selection",
138
140
  showOptionsLabel: a = "Show options",
139
141
  ...r
140
142
  }) {
141
- const n = g(u), i = Q[n];
143
+ const { size: s, hasError: t } = g(u), n = Z[s];
142
144
  return /* @__PURE__ */ m(
143
145
  "div",
144
146
  {
145
- className: t(
147
+ className: i(
146
148
  "relative inline-block w-full max-w-xs",
147
149
  "has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed",
148
150
  r.className
@@ -152,53 +154,59 @@ function R({
152
154
  b,
153
155
  {
154
156
  ...r,
155
- className: t(
156
- p({ size: n }),
157
+ className: i(
158
+ p({ size: s, variant: t ? "error" : "default" }),
157
159
  "w-full",
158
- i.padding,
160
+ n.padding,
159
161
  "disabled:cursor-not-allowed"
160
162
  )
161
163
  }
162
164
  ),
163
165
  /* @__PURE__ */ e(
164
- H,
166
+ X,
165
167
  {
168
+ "data-kumo-component": "Combobox",
169
+ "data-kumo-part": "clear",
166
170
  "aria-label": o,
167
- className: t(
171
+ className: i(
168
172
  "absolute top-1/2 flex -translate-y-1/2 cursor-pointer bg-transparent p-0",
169
173
  "data-[disabled]:pointer-events-none data-[disabled]:opacity-0",
170
- i.clearRight
174
+ n.clearRight
171
175
  ),
172
- children: /* @__PURE__ */ e(C, { size: i.iconSize })
176
+ children: /* @__PURE__ */ e(C, { size: n.iconSize })
173
177
  }
174
178
  ),
175
179
  /* @__PURE__ */ e(
176
180
  f,
177
181
  {
182
+ "data-kumo-component": "Combobox",
183
+ "data-kumo-part": "trigger",
178
184
  "aria-label": a,
179
- className: t(
185
+ className: i(
180
186
  "absolute top-1/2 -translate-y-1/2 flex items-center justify-center cursor-pointer text-kumo-subtle",
181
187
  "m-0 bg-transparent p-0",
182
188
  // Reset Stratus global button styles
183
- i.caretRight
189
+ n.caretRight
184
190
  ),
185
- children: /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(N, { size: i.iconSize, className: "fill-current" }) })
191
+ children: /* @__PURE__ */ e(h, { className: "flex items-center", children: /* @__PURE__ */ e(N, { size: n.iconSize, className: "fill-current" }) })
186
192
  }
187
193
  )
188
194
  ]
189
195
  }
190
196
  );
191
197
  }
192
- function w({
198
+ function R({
193
199
  children: o,
194
200
  className: a,
195
201
  ...r
196
202
  }) {
197
203
  return /* @__PURE__ */ m(
198
- K,
204
+ U,
199
205
  {
206
+ "data-kumo-component": "Combobox",
207
+ "data-kumo-part": "item",
200
208
  ...r,
201
- className: t(
209
+ className: i(
202
210
  "group mx-1.5 grid grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base",
203
211
  "cursor-pointer data-highlighted:bg-kumo-tint",
204
212
  // Disabled rows: muted text, no pointer, suppress highlight bg even
@@ -209,29 +217,29 @@ function w({
209
217
  ),
210
218
  children: [
211
219
  /* @__PURE__ */ e("div", { className: "col-start-1", children: o }),
212
- /* @__PURE__ */ e(O, { className: "col-start-2 flex items-center", children: /* @__PURE__ */ e(S, {}) })
220
+ /* @__PURE__ */ e(W, { className: "col-start-2 flex items-center", children: /* @__PURE__ */ e(T, {}) })
213
221
  ]
214
222
  }
215
223
  );
216
224
  }
217
- function Y(o) {
225
+ function $(o) {
218
226
  return /* @__PURE__ */ e(
219
- E,
227
+ O,
220
228
  {
221
229
  ...o,
222
- className: t(
230
+ className: i(
223
231
  "mx-1.5 shrink-0 px-4 py-2 text-[0.925rem] leading-4 text-kumo-subtle empty:m-0 empty:p-0"
224
232
  ),
225
233
  children: o.children ?? "No labels found."
226
234
  }
227
235
  );
228
236
  }
229
- function Z(o) {
237
+ function ee(o) {
230
238
  return /* @__PURE__ */ e(
231
239
  b,
232
240
  {
233
241
  ...o,
234
- className: t(
242
+ className: i(
235
243
  p(),
236
244
  "mx-1.5 w-[calc(100%-0.75rem)] shrink-0 first:mb-2",
237
245
  o.className
@@ -239,51 +247,51 @@ function Z(o) {
239
247
  }
240
248
  );
241
249
  }
242
- function $({
250
+ function oe({
243
251
  className: o,
244
252
  ...a
245
253
  }) {
246
254
  return /* @__PURE__ */ e(
247
- F,
255
+ _,
248
256
  {
249
257
  ...a,
250
- className: t(
258
+ className: i(
251
259
  "min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2",
252
260
  o
253
261
  )
254
262
  }
255
263
  );
256
264
  }
257
- function ee(o) {
265
+ function ae(o) {
258
266
  return /* @__PURE__ */ e(
259
- A,
267
+ K,
260
268
  {
261
269
  ...o,
262
- className: t(
270
+ className: i(
263
271
  "mx-1.5 px-2 py-1.5 text-sm text-kumo-subtle",
264
272
  o.className
265
273
  )
266
274
  }
267
275
  );
268
276
  }
269
- function oe(o) {
277
+ function te(o) {
270
278
  return /* @__PURE__ */ e(
271
- _,
279
+ A,
272
280
  {
273
281
  ...o,
274
282
  className: "border-t border-kumo-hairline mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0"
275
283
  }
276
284
  );
277
285
  }
278
- function I({
286
+ function w({
279
287
  removeLabel: o = "Remove",
280
288
  ...a
281
289
  }) {
282
290
  return /* @__PURE__ */ m(
283
- U,
291
+ B,
284
292
  {
285
293
  ...a,
286
- className: t(
294
+ className: i(
287
295
  "flex items-center gap-2.5",
288
296
  // Layout
289
297
  "h-6 pl-2 pr-[3px]",
@@ -298,10 +306,12 @@ function I({
298
306
  children: [
299
307
  a.children,
300
308
  /* @__PURE__ */ e(
301
- W,
309
+ D,
302
310
  {
311
+ "data-kumo-component": "Combobox",
312
+ "data-kumo-part": "chip-remove",
303
313
  "aria-label": o,
304
- className: t(
314
+ className: i(
305
315
  "cursor-pointer rounded-md p-1 hover:bg-kumo-fill-hover",
306
316
  "bg-transparent flex"
307
317
  ),
@@ -312,34 +322,34 @@ function I({
312
322
  }
313
323
  );
314
324
  }
315
- const ae = {
325
+ const ie = {
316
326
  xs: "min-h-5",
317
327
  sm: "min-h-6.5",
318
328
  base: "min-h-9",
319
329
  lg: "min-h-10"
320
330
  };
321
- function k({
331
+ function I({
322
332
  placeholder: o,
323
333
  renderItem: a,
324
334
  className: r,
325
- inputSide: n = "right",
326
- value: i
335
+ inputSide: s = "right",
336
+ value: t
327
337
  }) {
328
- const c = g(u), s = i;
338
+ const { size: n, hasError: d } = g(u), l = t;
329
339
  return /* @__PURE__ */ m(
330
- D,
340
+ H,
331
341
  {
332
- className: t(
333
- p({ size: c }),
342
+ className: i(
343
+ p({ size: n, variant: d ? "error" : "default" }),
334
344
  "flex flex-col",
335
345
  "gap-1 py-1 px-1.5",
336
- ae[c],
346
+ ie[n],
337
347
  "h-auto",
338
348
  "data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
339
349
  r
340
350
  ),
341
351
  children: [
342
- n === "top" && /* @__PURE__ */ e(
352
+ s === "top" && /* @__PURE__ */ e(
343
353
  b,
344
354
  {
345
355
  placeholder: o,
@@ -347,9 +357,9 @@ function k({
347
357
  }
348
358
  ),
349
359
  /* @__PURE__ */ m("div", { className: "flex items-center flex-wrap gap-1.5 flex-1", children: [
350
- s !== void 0 && s.length > 0 && s.map((l) => a(l)),
351
- /* @__PURE__ */ e(x, { children: (l) => s !== void 0 ? null : /* @__PURE__ */ e(V, { children: l.map((d) => a(d)) }) }),
352
- n === "right" && /* @__PURE__ */ e(
360
+ l !== void 0 && l.length > 0 && l.map((c) => a(c)),
361
+ /* @__PURE__ */ e(x, { children: (c) => l !== void 0 ? null : /* @__PURE__ */ e(V, { children: c.map((S) => a(S)) }) }),
362
+ s === "right" && /* @__PURE__ */ e(
353
363
  b,
354
364
  {
355
365
  placeholder: o,
@@ -362,35 +372,37 @@ function k({
362
372
  );
363
373
  }
364
374
  y.displayName = "Combobox.Root";
365
- v.displayName = "Combobox.Content";
366
- z.displayName = "Combobox.TriggerValue";
367
- R.displayName = "Combobox.TriggerInput";
368
- w.displayName = "Combobox.Item";
369
- I.displayName = "Combobox.Chip";
370
- k.displayName = "Combobox.TriggerMultipleWithInput";
371
- const de = Object.assign(y, {
375
+ k.displayName = "Combobox.Content";
376
+ v.displayName = "Combobox.TriggerValue";
377
+ z.displayName = "Combobox.TriggerInput";
378
+ R.displayName = "Combobox.Item";
379
+ w.displayName = "Combobox.Chip";
380
+ I.displayName = "Combobox.TriggerMultipleWithInput";
381
+ const pe = Object.assign(y, {
372
382
  // Helper components
373
- Content: v,
374
- TriggerValue: z,
375
- TriggerInput: R,
376
- TriggerMultipleWithInput: k,
383
+ Content: k,
384
+ TriggerValue: v,
385
+ TriggerInput: z,
386
+ TriggerMultipleWithInput: I,
377
387
  // Slightly modified BaseUI
378
- Chip: I,
379
- Item: w,
388
+ Chip: w,
389
+ Item: R,
380
390
  // Styled BaseUI
381
- Input: Z,
382
- Empty: Y,
383
- GroupLabel: ee,
384
- Group: oe,
391
+ Input: ee,
392
+ Empty: $,
393
+ GroupLabel: ae,
394
+ Group: te,
385
395
  // Styled BaseUI
386
- List: $,
396
+ List: oe,
387
397
  // BaseUI
388
398
  Collection: L,
389
399
  Trigger: f,
390
400
  Value: x,
391
- Icon: h
401
+ Icon: h,
402
+ // Filtering
403
+ useFilter: G
392
404
  });
393
405
  export {
394
- de as C
406
+ pe as C
395
407
  };
396
- //# sourceMappingURL=combobox-g3cudlfajecou4va.js.map
408
+ //# sourceMappingURL=combobox-dpptfpcmqfrso1xa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-dpptfpcmqfrso1xa.js","sources":["../../src/components/combobox/combobox.tsx"],"sourcesContent":["import { Combobox as ComboboxBase } from \"@base-ui/react/combobox\";\nimport { CaretDownIcon, CheckIcon, XIcon } from \"@phosphor-icons/react\";\nimport {\n Fragment,\n createContext,\n useContext,\n type PropsWithChildren,\n type ReactNode,\n} from \"react\";\nimport {\n inputVariants,\n KUMO_INPUT_VARIANTS,\n type KumoInputSize,\n} from \"../input/input\";\nimport { cn } from \"../../utils/cn\";\nimport { resolveVariant } from \"../../utils/resolve-variant\";\nimport { Field, type FieldErrorMatch } from \"../field/field\";\nimport {\n usePortalContainer,\n type PortalContainer,\n} from \"../../utils/portal-provider\";\n\n/** Combobox variant definitions. */\nexport const KUMO_COMBOBOX_VARIANTS = {\n size: KUMO_INPUT_VARIANTS.size,\n inputSide: {\n right: {\n classes: \"\",\n description: \"Input positioned inline to the right of chips\",\n },\n top: {\n classes: \"\",\n description: \"Input positioned above chips\",\n },\n },\n} as const;\n\nexport const KUMO_COMBOBOX_DEFAULT_VARIANTS = {\n size: \"base\",\n inputSide: \"right\",\n} as const;\n\n// Context to pass size and error state down to sub-components\nconst ComboboxContext = createContext<{\n size: KumoInputSize;\n hasError: boolean;\n}>({ size: \"base\", hasError: false });\n\n// Derived types from KUMO_COMBOBOX_VARIANTS\nexport type KumoComboboxSize = keyof typeof KUMO_COMBOBOX_VARIANTS.size;\nexport type KumoComboboxInputSide =\n keyof typeof KUMO_COMBOBOX_VARIANTS.inputSide;\n\nexport interface KumoComboboxVariantsProps {\n /**\n * Size of the combobox trigger. Matches Input component sizes.\n * - `\"xs\"` — Extra small for compact UIs (h-5 / 20px)\n * - `\"sm\"` — Small for secondary fields (h-6.5 / 26px)\n * - `\"base\"` — Default size (h-9 / 36px)\n * - `\"lg\"` — Large for prominent fields (h-10 / 40px)\n * @default \"base\"\n */\n size?: KumoComboboxSize;\n /**\n * Position of the text input relative to chips in multi-select mode.\n * - `\"right\"` — Input inline to the right of chips\n * - `\"top\"` — Input above chips\n * @default \"right\"\n */\n inputSide?: KumoComboboxInputSide;\n}\n\nexport function comboboxVariants({\n inputSide = KUMO_COMBOBOX_DEFAULT_VARIANTS.inputSide,\n}: KumoComboboxVariantsProps = {}) {\n return cn(\n resolveVariant(\n KUMO_COMBOBOX_VARIANTS.inputSide,\n inputSide,\n KUMO_COMBOBOX_DEFAULT_VARIANTS.inputSide,\n ).classes,\n );\n}\n\n// Legacy type alias for backwards compatibility\nexport type ComboboxInputSide = KumoComboboxInputSide;\nexport type ComboboxSize = KumoComboboxSize;\n\nexport type ComboboxRootProps<\n Value = unknown,\n Multiple extends boolean | undefined = false,\n> = ComboboxBase.Root.Props<Value, Multiple>;\n\n/**\n * Combobox component props (simplified for documentation; the actual Root is generic).\n *\n * Combobox provides an autocomplete/typeahead input with a filterable dropdown.\n * Supports single-select, multi-select with chips, grouped items, and Field wrapper integration.\n *\n * @example\n * ```tsx\n * // Single-select with search input\n * <Combobox value={value} onValueChange={setValue} items={options}>\n * <Combobox.TriggerInput placeholder=\"Search…\" />\n * <Combobox.Content>\n * <Combobox.List>\n * {(item) => <Combobox.Item value={item}>{item.label}</Combobox.Item>}\n * </Combobox.List>\n * <Combobox.Empty>No results</Combobox.Empty>\n * </Combobox.Content>\n * </Combobox>\n *\n * // Multi-select with chips\n * <Combobox multiple items={options} label=\"Tags\">\n * <Combobox.TriggerMultipleWithInput\n * placeholder=\"Add tag…\"\n * renderItem={(item) => <Combobox.Chip value={item}>{item.label}</Combobox.Chip>}\n * />\n * <Combobox.Content>\n * <Combobox.List>\n * {(item) => <Combobox.Item value={item}>{item.label}</Combobox.Item>}\n * </Combobox.List>\n * </Combobox.Content>\n * </Combobox>\n * ```\n */\nexport interface ComboboxProps extends KumoComboboxVariantsProps {\n /** Array of items to display in the dropdown */\n items: unknown[];\n /** Currently selected value(s) */\n value?: unknown;\n /** Callback when selection changes */\n onValueChange?: (value: unknown) => void;\n /** Enable multi-select mode */\n multiple?: boolean;\n /** Combobox content (trigger, content, items) */\n children: ReactNode;\n /** Additional CSS classes */\n className?: string;\n /** Label content for the combobox (enables Field wrapper) - can be a string or any React node */\n label?: ReactNode;\n /** Whether the combobox is required */\n required?: boolean;\n /** Tooltip content to display next to the label via an info icon */\n labelTooltip?: ReactNode;\n /** Helper text displayed below the combobox */\n description?: ReactNode;\n /** Error message or validation error object */\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n}\n\nfunction Root<Value, Multiple extends boolean | undefined = false>({\n label,\n required,\n labelTooltip,\n description,\n error,\n children,\n size = \"base\",\n ...props\n}: ComboboxBase.Root.Props<Value, Multiple> & {\n label?: ReactNode;\n required?: boolean;\n labelTooltip?: ReactNode;\n description?: ReactNode;\n error?: string | { message: ReactNode; match: FieldErrorMatch };\n size?: KumoComboboxSize;\n}) {\n const comboboxControl = (\n <ComboboxContext value={{ size, hasError: Boolean(error) }}>\n <ComboboxBase.Root {...props}>{children}</ComboboxBase.Root>\n </ComboboxContext>\n );\n\n // Render with Field wrapper if label, description, or error are provided\n if (label) {\n return (\n <Field\n label={label}\n required={required}\n labelTooltip={labelTooltip}\n description={description}\n error={\n error\n ? typeof error === \"string\"\n ? { message: error, match: true }\n : error\n : undefined\n }\n >\n {comboboxControl}\n </Field>\n );\n }\n\n // Render bare combobox without Field wrapper\n return comboboxControl;\n}\n\nfunction Content({\n children,\n className,\n align = \"start\",\n sideOffset = 4,\n alignOffset,\n side,\n container: containerProp,\n}: PropsWithChildren<{\n className?: string;\n align?: ComboboxBase.Positioner.Props[\"align\"];\n alignOffset?: ComboboxBase.Positioner.Props[\"alignOffset\"];\n side?: ComboboxBase.Positioner.Props[\"side\"];\n sideOffset?: ComboboxBase.Positioner.Props[\"sideOffset\"];\n /**\n * Container element for the portal. Use this to render the combobox inside\n * a Shadow DOM or custom container. Overrides `KumoPortalProvider` context.\n * @default document.body (or KumoPortalProvider container if set)\n */\n container?: PortalContainer;\n}>) {\n const contextContainer = usePortalContainer();\n const container = containerProp ?? contextContainer ?? undefined;\n\n return (\n <ComboboxBase.Portal container={container}>\n <ComboboxBase.Positioner\n className=\"\"\n align={align}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n side={side}\n >\n <ComboboxBase.Popup\n className={cn(\n \"flex flex-col\", // flexbox layout for sticky input + scrollable list\n \"max-h-[min(var(--available-height),24rem)] max-w-(--available-width) min-w-(--anchor-width) py-1.5\",\n \"bg-kumo-base text-kumo-default\", // background\n \"rounded-lg shadow-lg ring ring-kumo-line\", // border part\n className,\n )}\n >\n {children}\n </ComboboxBase.Popup>\n </ComboboxBase.Positioner>\n </ComboboxBase.Portal>\n );\n}\n\n// Size-dependent styles for TriggerValue icon\nconst triggerValueIconStyles: Record<\n KumoComboboxSize,\n { padding: string; iconSize: number; iconRight: string }\n> = {\n xs: { padding: \"pr-5\", iconSize: 12, iconRight: \"right-1\" },\n sm: { padding: \"pr-6\", iconSize: 14, iconRight: \"right-1.5\" },\n base: { padding: \"pr-8\", iconSize: 16, iconRight: \"right-2\" },\n lg: { padding: \"pr-10\", iconSize: 18, iconRight: \"right-3\" },\n};\n\nfunction TriggerValue({\n className,\n ...props\n}: ComboboxBase.Value.Props & { className?: string }) {\n const { size, hasError } = useContext(ComboboxContext);\n const iconStyles = triggerValueIconStyles[size];\n\n return (\n <ComboboxBase.Trigger\n data-kumo-component=\"Combobox\"\n data-kumo-part=\"trigger\"\n className={cn(\n inputVariants({ size, variant: hasError ? \"error\" : \"default\" }),\n \"relative flex items-center\",\n \"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed\",\n \"data-[placeholder]:text-kumo-placeholder\",\n iconStyles.padding,\n className,\n )}\n >\n <ComboboxBase.Value {...props} />\n <ComboboxBase.Icon\n className={cn(\n \"absolute top-1/2 -translate-y-1/2 flex items-center text-kumo-subtle\",\n iconStyles.iconRight,\n )}\n >\n <CaretDownIcon size={iconStyles.iconSize} className=\"fill-current\" />\n </ComboboxBase.Icon>\n </ComboboxBase.Trigger>\n );\n}\n\n// Size-dependent styles for TriggerInput icons\nconst triggerInputIconStyles: Record<\n KumoComboboxSize,\n { padding: string; iconSize: number; clearRight: string; caretRight: string }\n> = {\n xs: {\n padding: \"pr-7\",\n iconSize: 12,\n clearRight: \"right-5\",\n caretRight: \"right-1\",\n },\n sm: {\n padding: \"pr-9\",\n iconSize: 14,\n clearRight: \"right-6\",\n caretRight: \"right-1.5\",\n },\n base: {\n padding: \"pr-12\",\n iconSize: 16,\n clearRight: \"right-8\",\n caretRight: \"right-2\",\n },\n lg: {\n padding: \"pr-14\",\n iconSize: 18,\n clearRight: \"right-9\",\n caretRight: \"right-3\",\n },\n};\n\nfunction TriggerInput({\n clearLabel = \"Clear selection\",\n showOptionsLabel = \"Show options\",\n ...props\n}: ComboboxBase.Input.Props & {\n /** Accessible label for the clear button. Pass a translated string for i18n.\n * @default \"Clear selection\"\n */\n clearLabel?: string;\n /** Accessible label for the dropdown trigger. Pass a translated string for i18n.\n * @default \"Show options\"\n */\n showOptionsLabel?: string;\n}) {\n const { size, hasError } = useContext(ComboboxContext);\n const iconStyles = triggerInputIconStyles[size];\n\n return (\n <div\n className={cn(\n \"relative inline-block w-full max-w-xs\",\n \"has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed\",\n props.className,\n )}\n >\n <ComboboxBase.Input\n {...props}\n className={cn(\n inputVariants({ size, variant: hasError ? \"error\" : \"default\" }),\n \"w-full\",\n iconStyles.padding,\n \"disabled:cursor-not-allowed\",\n )}\n />\n\n <ComboboxBase.Clear\n data-kumo-component=\"Combobox\"\n data-kumo-part=\"clear\"\n aria-label={clearLabel}\n className={cn(\n \"absolute top-1/2 flex -translate-y-1/2 cursor-pointer bg-transparent p-0\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-0\",\n iconStyles.clearRight,\n )}\n >\n <XIcon size={iconStyles.iconSize} />\n </ComboboxBase.Clear>\n\n <ComboboxBase.Trigger\n data-kumo-component=\"Combobox\"\n data-kumo-part=\"trigger\"\n aria-label={showOptionsLabel}\n className={cn(\n \"absolute top-1/2 -translate-y-1/2 flex items-center justify-center cursor-pointer text-kumo-subtle\",\n \"m-0 bg-transparent p-0\", // Reset Stratus global button styles\n iconStyles.caretRight,\n )}\n >\n <ComboboxBase.Icon className=\"flex items-center\">\n <CaretDownIcon size={iconStyles.iconSize} className=\"fill-current\" />\n </ComboboxBase.Icon>\n </ComboboxBase.Trigger>\n </div>\n );\n}\n\nfunction Item({\n children,\n className,\n ...props\n}: ComboboxBase.Item.Props & { className?: string }) {\n return (\n <ComboboxBase.Item\n data-kumo-component=\"Combobox\"\n data-kumo-part=\"item\"\n {...props}\n className={cn(\n \"group mx-1.5 grid grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base\",\n \"cursor-pointer data-highlighted:bg-kumo-tint\",\n // Disabled rows: muted text, no pointer, suppress highlight bg even\n // when keyboard nav lands on them. Base UI sets `data-disabled` on\n // the element when the `disabled` prop is true.\n \"data-[disabled]:cursor-not-allowed data-[disabled]:text-kumo-subtle data-[disabled]:opacity-60 data-[disabled]:data-highlighted:bg-transparent\",\n className,\n )}\n >\n <div className=\"col-start-1\">{children}</div>\n <ComboboxBase.ItemIndicator className=\"col-start-2 flex items-center\">\n <CheckIcon />\n </ComboboxBase.ItemIndicator>\n </ComboboxBase.Item>\n );\n}\n\nfunction Empty(props: ComboboxBase.Empty.Props) {\n return (\n <ComboboxBase.Empty\n {...props}\n className={cn(\n \"mx-1.5 shrink-0 px-4 py-2 text-[0.925rem] leading-4 text-kumo-subtle empty:m-0 empty:p-0\",\n )}\n children={props.children ?? \"No labels found.\"}\n />\n );\n}\n\nfunction Input(props: ComboboxBase.Input.Props) {\n return (\n <ComboboxBase.Input\n {...props}\n className={cn(\n inputVariants(),\n \"mx-1.5 w-[calc(100%-0.75rem)] shrink-0 first:mb-2\",\n props.className,\n )}\n />\n );\n}\n\nfunction List({\n className,\n ...props\n}: ComboboxBase.List.Props & { className?: string }) {\n return (\n <ComboboxBase.List\n {...props}\n className={cn(\n \"min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2\",\n className,\n )}\n />\n );\n}\n\nfunction GroupLabel(props: ComboboxBase.GroupLabel.Props) {\n return (\n <ComboboxBase.GroupLabel\n {...props}\n className={cn(\n \"mx-1.5 px-2 py-1.5 text-sm text-kumo-subtle\",\n props.className,\n )}\n />\n );\n}\n\nfunction Group(props: ComboboxBase.Group.Props) {\n return (\n <ComboboxBase.Group\n {...props}\n className=\"border-t border-kumo-hairline mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0\"\n />\n );\n}\n\nfunction Chip({\n removeLabel = \"Remove\",\n ...props\n}: ComboboxBase.Chip.Props & {\n /** Accessible label for the chip remove button. Pass a translated string for i18n.\n * @default \"Remove\"\n */\n removeLabel?: string;\n}) {\n return (\n <ComboboxBase.Chip\n {...props}\n className={cn(\n \"flex items-center gap-2.5\", // Layout\n \"h-6 pl-2 pr-[3px]\", // Dimensions\n \"rounded-sm ring-1 ring-kumo-hairline\", // Border\n \"bg-kumo-overlay\", // Background\n \"text-sm\", // Typography\n )}\n >\n {props.children}\n <ComboboxBase.ChipRemove\n data-kumo-component=\"Combobox\"\n data-kumo-part=\"chip-remove\"\n aria-label={removeLabel}\n className={cn(\n \"cursor-pointer rounded-md p-1 hover:bg-kumo-fill-hover\",\n \"bg-transparent flex\",\n )}\n >\n <XIcon size={10} />\n </ComboboxBase.ChipRemove>\n </ComboboxBase.Chip>\n );\n}\n\n// Map size to min-height class for TriggerMultipleWithInput\nconst sizeToMinHeight: Record<KumoComboboxSize, string> = {\n xs: \"min-h-5\",\n sm: \"min-h-6.5\",\n base: \"min-h-9\",\n lg: \"min-h-10\",\n};\n\nfunction TriggerMultipleWithInput<ValueType>({\n placeholder,\n renderItem,\n className,\n inputSide = \"right\",\n value: controlledValue,\n}: {\n placeholder?: string;\n renderItem: (value: ValueType) => React.ReactNode;\n className?: string;\n inputSide?: \"right\" | \"top\";\n /** Optional controlled value for rendering chips (use when pre-selecting values) */\n value?: ValueType[];\n}) {\n const { size, hasError } = useContext(ComboboxContext);\n // Determine which value to use for rendering chips\n const chipsToRender = controlledValue;\n\n return (\n <ComboboxBase.Chips\n className={cn(\n inputVariants({ size, variant: hasError ? \"error\" : \"default\" }),\n \"flex flex-col\",\n \"gap-1 py-1 px-1.5\",\n sizeToMinHeight[size],\n \"h-auto\",\n \"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed\",\n className,\n )}\n >\n {inputSide === \"top\" && (\n <ComboboxBase.Input\n placeholder={placeholder}\n className=\"w-full px-2 py-1 border-0 bg-inherit\"\n />\n )}\n {/* Chips container */}\n <div className=\"flex items-center flex-wrap gap-1.5 flex-1\">\n {/* Render chips from controlled value if provided */}\n {chipsToRender !== undefined &&\n chipsToRender.length > 0 &&\n chipsToRender.map((item) => renderItem(item))}\n {/* Also render from BaseUI's internal value for user selections */}\n <ComboboxBase.Value>\n {(internalValue: ValueType[]) => {\n // Skip rendering if using controlled value (to avoid duplicates)\n if (chipsToRender !== undefined) return null;\n return (\n <Fragment>\n {internalValue.map((item) => renderItem(item))}\n </Fragment>\n );\n }}\n </ComboboxBase.Value>\n {inputSide === \"right\" && (\n <ComboboxBase.Input\n placeholder={placeholder}\n className=\"min-w-[100px] flex-1 px-2 py-1 border-0 bg-inherit\"\n />\n )}\n </div>\n </ComboboxBase.Chips>\n );\n}\n\nRoot.displayName = \"Combobox.Root\";\nContent.displayName = \"Combobox.Content\";\nTriggerValue.displayName = \"Combobox.TriggerValue\";\nTriggerInput.displayName = \"Combobox.TriggerInput\";\nItem.displayName = \"Combobox.Item\";\nChip.displayName = \"Combobox.Chip\";\nTriggerMultipleWithInput.displayName = \"Combobox.TriggerMultipleWithInput\";\n\n/**\n * Combobox — autocomplete input with filterable dropdown list.\n *\n * Compound component: `Combobox` (Root), `.TriggerInput`, `.TriggerValue`,\n * `.TriggerMultipleWithInput`, `.Content`, `.Item`, `.Chip`, `.Input`,\n * `.Empty`, `.GroupLabel`, `.Group`, `.List`, `.Collection`.\n *\n * @example\n * ```tsx\n * <Combobox items={fruits} label=\"Fruit\">\n * <Combobox.TriggerInput placeholder=\"Pick a fruit…\" />\n * <Combobox.Content>\n * <Combobox.List>\n * {(item) => <Combobox.Item value={item}>{item}</Combobox.Item>}\n * </Combobox.List>\n * </Combobox.Content>\n * </Combobox>\n * ```\n *\n * @see https://base-ui.com/react/components/combobox\n */\nexport const Combobox = Object.assign(Root, {\n // Helper components\n Content,\n TriggerValue,\n TriggerInput,\n TriggerMultipleWithInput,\n\n // Slightly modified BaseUI\n Chip,\n Item,\n\n // Styled BaseUI\n Input,\n Empty,\n GroupLabel,\n Group,\n\n // Styled BaseUI\n List,\n\n // BaseUI\n Collection: ComboboxBase.Collection,\n\n Trigger: ComboboxBase.Trigger,\n Value: ComboboxBase.Value,\n Icon: ComboboxBase.Icon,\n\n // Filtering\n useFilter: ComboboxBase.useFilter,\n});\n"],"names":["KUMO_INPUT_VARIANTS","ComboboxContext","createContext","Root","label","required","labelTooltip","description","error","children","size","props","comboboxControl","jsx","ComboboxBase.Root","Field","Content","className","align","sideOffset","alignOffset","side","containerProp","contextContainer","usePortalContainer","ComboboxBase.Portal","ComboboxBase.Positioner","ComboboxBase.Popup","cn","triggerValueIconStyles","TriggerValue","hasError","useContext","iconStyles","jsxs","ComboboxBase.Trigger","inputVariants","ComboboxBase.Value","ComboboxBase.Icon","CaretDownIcon","triggerInputIconStyles","TriggerInput","clearLabel","showOptionsLabel","ComboboxBase.Input","ComboboxBase.Clear","XIcon","Item","ComboboxBase.Item","ComboboxBase.ItemIndicator","CheckIcon","Empty","ComboboxBase.Empty","Input","List","ComboboxBase.List","GroupLabel","ComboboxBase.GroupLabel","Group","ComboboxBase.Group","Chip","removeLabel","ComboboxBase.Chip","ComboboxBase.ChipRemove","sizeToMinHeight","TriggerMultipleWithInput","placeholder","renderItem","inputSide","controlledValue","chipsToRender","ComboboxBase.Chips","item","internalValue","Fragment","Combobox","ComboboxBase.Collection","ComboboxBase.useFilter"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
  import { jsx as e, jsxs as g, Fragment as E } from "react/jsx-runtime";
3
- import { forwardRef as K, useContext as N, createContext as v, useCallback as b, useRef as T } from "react";
3
+ import { forwardRef as K, useContext as N, createContext as w, useCallback as b, useRef as T } from "react";
4
4
  import { CaretRightIcon as M, ArrowSquareOutIcon as H, ArrowRightIcon as _, MagnifyingGlassIcon as F } from "@phosphor-icons/react";
5
- import { L as G } from "./layer-card-hyz8lfxceudt05pv.js";
5
+ import { L as G } from "./layer-card-er4flkcxmzfug8jw.js";
6
6
  import { L as j } from "./loader-g8a6j76ue5nq0lr8.js";
7
7
  import { c as m } from "./cn-ct4n7r74mh8y0f48.js";
8
8
  import { u as U } from "./portal-provider-hwmkdmkpvct0cb76.js";
9
- import { a9 as q, ab as O, ae as V, bu as w, ad as $, ac as z, af as B, bv as J, aq as Q, av as W, aw as X, ax as Y } from "./vendor-base-ui-nbyiqqi138hcoz52.js";
10
- const C = v({});
9
+ import { aa as z, ac as O, af as V, bw as v, ae as $, ad as q, ag as B, bx as J, ar as Q, ax as W, ay as X, az as Y } from "./vendor-base-ui-knphx7dts1vm1x37.js";
10
+ const C = w({});
11
11
  function I({
12
12
  open: t,
13
13
  onOpenChange: n,
@@ -122,7 +122,7 @@ function ee({
122
122
  className: n,
123
123
  ...a
124
124
  }) {
125
- return /* @__PURE__ */ e(z, { className: m("space-y-0.5", n), ...a, children: t });
125
+ return /* @__PURE__ */ e(q, { className: m("space-y-0.5", n), ...a, children: t });
126
126
  }
127
127
  function te({
128
128
  children: t,
@@ -147,7 +147,7 @@ function ne({
147
147
  onClick: s
148
148
  }) {
149
149
  return /* @__PURE__ */ e(
150
- w,
150
+ v,
151
151
  {
152
152
  value: t,
153
153
  disabled: n,
@@ -214,7 +214,7 @@ function re({
214
214
  nonInteractive: l = !1
215
215
  }) {
216
216
  return /* @__PURE__ */ g(
217
- w,
217
+ v,
218
218
  {
219
219
  value: d,
220
220
  onClick: l ? void 0 : (f) => r(f),
@@ -276,7 +276,7 @@ function le({
276
276
  }
277
277
  );
278
278
  }
279
- const L = v({}), ie = () => !0;
279
+ const L = w({}), ie = () => !0;
280
280
  function A({
281
281
  children: t,
282
282
  items: n,
@@ -363,7 +363,7 @@ function ue({
363
363
  }) {
364
364
  return /* @__PURE__ */ e(O, { className: m("space-y-3", n), children: t });
365
365
  }
366
- const de = q, Ne = {}, ve = {}, we = {
366
+ const de = z, Ne = {}, we = {}, ve = {
367
367
  /** Modal dialog wrapper - use with Panel for content that can swap */
368
368
  Dialog: I,
369
369
  /** Dialog + Panel combined - for simple single-view command palettes */
@@ -396,8 +396,8 @@ const de = q, Ne = {}, ve = {}, we = {
396
396
  Items: de
397
397
  };
398
398
  export {
399
- we as C,
399
+ ve as C,
400
400
  Ne as K,
401
- ve as a
401
+ we as a
402
402
  };
403
- //# sourceMappingURL=command-palette-eep807rf6iapoz8r.js.map
403
+ //# sourceMappingURL=command-palette-fqhyacp33fhyf696.js.map