@cloudflare/kumo 1.16.0 → 1.17.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 (254) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/ai/USAGE.md +3 -1
  3. package/ai/component-registry.json +200 -59
  4. package/ai/component-registry.md +269 -33
  5. package/ai/schemas.ts +15 -5
  6. package/dist/.build-complete +1 -1
  7. package/dist/ai/schemas.d.ts +101 -37
  8. package/dist/ai/schemas.d.ts.map +1 -1
  9. package/dist/ai/schemas.js +187 -174
  10. package/dist/ai/schemas.js.map +1 -1
  11. package/dist/chunks/{Legend-bov5dqf08wemc2qj.js → Legend-o0ntojbaplmszwk0.js} +4 -2
  12. package/dist/chunks/Legend-o0ntojbaplmszwk0.js.map +1 -0
  13. package/dist/chunks/badge-n80t3z8u9ttlxi20.js +120 -0
  14. package/dist/chunks/badge-n80t3z8u9ttlxi20.js.map +1 -0
  15. package/dist/chunks/banner-nz0eryqnz3qd86ln.js +79 -0
  16. package/dist/chunks/banner-nz0eryqnz3qd86ln.js.map +1 -0
  17. package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js → breadcrumbs-cjgn3w4drahvqnuj.js} +3 -3
  18. package/dist/chunks/{breadcrumbs-m79gm4gjwbfajpna.js.map → breadcrumbs-cjgn3w4drahvqnuj.js.map} +1 -1
  19. package/dist/chunks/{button-j0hi0afn33w9lxgi.js → button-odxi0hp4fvi5i2w3.js} +50 -48
  20. package/dist/chunks/button-odxi0hp4fvi5i2w3.js.map +1 -0
  21. package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js → checkbox-dx8x0rzv582yjv7n.js} +38 -47
  22. package/dist/chunks/{checkbox-lawmt1894wr6rpgi.js.map → checkbox-dx8x0rzv582yjv7n.js.map} +1 -1
  23. package/dist/chunks/{clipboard-text-ohx8kkpxisz382rj.js → clipboard-text-kyk51d1ze7zvdn4q.js} +55 -54
  24. package/dist/chunks/clipboard-text-kyk51d1ze7zvdn4q.js.map +1 -0
  25. package/dist/chunks/{combobox-ft0u7rfaxawk0r0c.js → combobox-9fhjzprab46csmon.js} +97 -82
  26. package/dist/chunks/combobox-9fhjzprab46csmon.js.map +1 -0
  27. package/dist/chunks/{command-palette-b31nq4wk7o7gx4sa.js → command-palette-kenx2bbdzd4kpx36.js} +158 -154
  28. package/dist/chunks/command-palette-kenx2bbdzd4kpx36.js.map +1 -0
  29. package/dist/chunks/{dialog-l5tmwxrzp9g83jmw.js → dialog-e05ysa8t2fklw065.js} +22 -20
  30. package/dist/chunks/dialog-e05ysa8t2fklw065.js.map +1 -0
  31. package/dist/chunks/{dropdown-icy3xatdwhzr4une.js → dropdown-g587px7zv3ssaxr4.js} +96 -90
  32. package/dist/chunks/dropdown-g587px7zv3ssaxr4.js.map +1 -0
  33. package/dist/chunks/{empty-hrwtammqp0b2nvtf.js → empty-fuz1un7r7mbz0kim.js} +2 -2
  34. package/dist/chunks/{empty-hrwtammqp0b2nvtf.js.map → empty-fuz1un7r7mbz0kim.js.map} +1 -1
  35. package/dist/chunks/{field-csje72m7j9403fj5.js → field-fq504lyu7ttsh5m9.js} +3 -3
  36. package/dist/chunks/{field-csje72m7j9403fj5.js.map → field-fq504lyu7ttsh5m9.js.map} +1 -1
  37. package/dist/chunks/{input-area-jko15sbc6zeage3l.js → input-area-nq40szg9110on89c.js} +4 -4
  38. package/dist/chunks/{input-area-jko15sbc6zeage3l.js.map → input-area-nq40szg9110on89c.js.map} +1 -1
  39. package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js → input-group-hbebbyh8fo6aqydn.js} +3 -3
  40. package/dist/chunks/{input-group-cjsy8kh4vf9312xl.js.map → input-group-hbebbyh8fo6aqydn.js.map} +1 -1
  41. package/dist/chunks/{input-c8jmidy7gdqfiky1.js → input-kvhyo3p4859bexvx.js} +4 -4
  42. package/dist/chunks/input-kvhyo3p4859bexvx.js.map +1 -0
  43. package/dist/chunks/{label-i46xnnzdh9bsxk6a.js → label-j9owppbgnn35mebg.js} +3 -3
  44. package/dist/chunks/{label-i46xnnzdh9bsxk6a.js.map → label-j9owppbgnn35mebg.js.map} +1 -1
  45. package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js → layer-card-l5yjvrxry1dhte57.js} +8 -8
  46. package/dist/chunks/{layer-card-mu2w82x6ko1nhhtr.js.map → layer-card-l5yjvrxry1dhte57.js.map} +1 -1
  47. package/dist/chunks/{link-o7yfj4kwgl19fklp.js → link-hmmf3k1xn6rm72rt.js} +2 -2
  48. package/dist/chunks/{link-o7yfj4kwgl19fklp.js.map → link-hmmf3k1xn6rm72rt.js.map} +1 -1
  49. package/dist/chunks/{menubar-g1wqqjuyyfvsim83.js → menubar-abojnm0uwjuni8ok.js} +20 -20
  50. package/dist/chunks/menubar-abojnm0uwjuni8ok.js.map +1 -0
  51. package/dist/chunks/{meter-cqkrg5axjenbsuue.js → meter-i84dte2f82qmvn7y.js} +2 -2
  52. package/dist/chunks/{meter-cqkrg5axjenbsuue.js.map → meter-i84dte2f82qmvn7y.js.map} +1 -1
  53. package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js → pagination-pbd7qqik97ac0l7m.js} +3 -3
  54. package/dist/chunks/{pagination-e3dp8bd80s35f7sd.js.map → pagination-pbd7qqik97ac0l7m.js.map} +1 -1
  55. package/dist/chunks/{popover-jurf834u2uywluux.js → popover-i951xjcgezeqr4iv.js} +31 -28
  56. package/dist/chunks/popover-i951xjcgezeqr4iv.js.map +1 -0
  57. package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js +18 -0
  58. package/dist/chunks/portal-provider-hwmkdmkpvct0cb76.js.map +1 -0
  59. package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js → radio-l2vkcue40d84fmo1.js} +13 -16
  60. package/dist/chunks/{radio-l9dzm6sohcvvrsdc.js.map → radio-l2vkcue40d84fmo1.js.map} +1 -1
  61. package/dist/chunks/{select-hnt87e3cfos48qql.js → select-paedwa3nlhpq82ua.js} +39 -37
  62. package/dist/chunks/select-paedwa3nlhpq82ua.js.map +1 -0
  63. package/dist/chunks/{sensitive-input-lvtccf3iqc06lj7b.js → sensitive-input-kznmknpp5h1grc6k.js} +97 -91
  64. package/dist/chunks/sensitive-input-kznmknpp5h1grc6k.js.map +1 -0
  65. package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js → sidebar-jepeq7gaf4issuw6.js} +3 -3
  66. package/dist/chunks/{sidebar-l6rk9o5qf8k5vth1.js.map → sidebar-jepeq7gaf4issuw6.js.map} +1 -1
  67. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js +33 -0
  68. package/dist/chunks/skeleton-line-epxenksfesr2fkcv.js.map +1 -0
  69. package/dist/chunks/surface-blo81kgy9g0sexgm.js +36 -0
  70. package/dist/chunks/surface-blo81kgy9g0sexgm.js.map +1 -0
  71. package/dist/chunks/{switch-fukrbip86khvqjn7.js → switch-i0zwcp3wq6vsxm1c.js} +64 -64
  72. package/dist/chunks/{switch-fukrbip86khvqjn7.js.map → switch-i0zwcp3wq6vsxm1c.js.map} +1 -1
  73. package/dist/chunks/table-nrcw19tlpduayukl.js +183 -0
  74. package/dist/chunks/table-nrcw19tlpduayukl.js.map +1 -0
  75. package/dist/chunks/tabs-bw92jb303zxw7w4f.js +92 -0
  76. package/dist/chunks/{tabs-n0t7iro7wr0pzgk2.js.map → tabs-bw92jb303zxw7w4f.js.map} +1 -1
  77. package/dist/chunks/{text-gzt92mlji1lug13d.js → text-nmyi1rkwdj37f30f.js} +24 -22
  78. package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +1 -0
  79. package/dist/chunks/{toast-r9ajsces7xp8l85w.js → toast-lrnwby56drs7vtae.js} +59 -57
  80. package/dist/chunks/toast-lrnwby56drs7vtae.js.map +1 -0
  81. package/dist/chunks/toml-nczb2z9n0o23o3ci.js +8 -0
  82. package/dist/chunks/toml-nczb2z9n0o23o3ci.js.map +1 -0
  83. package/dist/chunks/{tooltip-hnc71tg4gz2gpcvc.js → tooltip-cit9ltlxfuhwctuj.js} +24 -21
  84. package/dist/chunks/tooltip-cit9ltlxfuhwctuj.js.map +1 -0
  85. package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js → vendor-base-ui-n30qblevnpk9cc5c.js} +42 -41
  86. package/dist/chunks/{vendor-base-ui-ccr5l0ynrievzzv3.js.map → vendor-base-ui-n30qblevnpk9cc5c.js.map} +1 -1
  87. package/dist/code/server.js +10 -9
  88. package/dist/code/server.js.map +1 -1
  89. package/dist/code.js +3 -2
  90. package/dist/code.js.map +1 -1
  91. package/dist/components/badge.js +1 -1
  92. package/dist/components/banner.js +1 -1
  93. package/dist/components/breadcrumbs.js +1 -1
  94. package/dist/components/button.js +1 -1
  95. package/dist/components/chart.js +1 -1
  96. package/dist/components/checkbox.js +1 -1
  97. package/dist/components/clipboard-text.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/flow.js +5 -4
  105. package/dist/components/flow.js.map +1 -1
  106. package/dist/components/input.js +3 -3
  107. package/dist/components/label.js +1 -1
  108. package/dist/components/layer-card.js +1 -1
  109. package/dist/components/link.js +1 -1
  110. package/dist/components/loader.js +1 -1
  111. package/dist/components/menubar.js +1 -1
  112. package/dist/components/meter.js +1 -1
  113. package/dist/components/pagination.js +1 -1
  114. package/dist/components/popover.js +1 -1
  115. package/dist/components/radio.js +1 -1
  116. package/dist/components/select.js +1 -1
  117. package/dist/components/sensitive-input.js +1 -1
  118. package/dist/components/sidebar.js +1 -1
  119. package/dist/components/surface.js +1 -1
  120. package/dist/components/switch.js +1 -1
  121. package/dist/components/table.js +1 -1
  122. package/dist/components/tabs.js +1 -1
  123. package/dist/components/text.js +1 -1
  124. package/dist/components/toast.js +2 -2
  125. package/dist/components/tooltip.js +1 -1
  126. package/dist/index.js +75 -73
  127. package/dist/index.js.map +1 -1
  128. package/dist/primitives/accordion.js +1 -1
  129. package/dist/primitives/alert-dialog.js +1 -1
  130. package/dist/primitives/autocomplete.js +1 -1
  131. package/dist/primitives/avatar.js +1 -1
  132. package/dist/primitives/button.js +1 -1
  133. package/dist/primitives/checkbox-group.js +1 -1
  134. package/dist/primitives/checkbox.js +1 -1
  135. package/dist/primitives/collapsible.js +1 -1
  136. package/dist/primitives/combobox.js +1 -1
  137. package/dist/primitives/context-menu.js +1 -1
  138. package/dist/primitives/csp-provider.js +1 -1
  139. package/dist/primitives/dialog.js +1 -1
  140. package/dist/primitives/direction-provider.js +1 -1
  141. package/dist/primitives/drawer.js +1 -1
  142. package/dist/primitives/field.js +1 -1
  143. package/dist/primitives/fieldset.js +1 -1
  144. package/dist/primitives/form.js +1 -1
  145. package/dist/primitives/input.js +1 -1
  146. package/dist/primitives/menu.js +1 -1
  147. package/dist/primitives/menubar.js +1 -1
  148. package/dist/primitives/meter.js +1 -1
  149. package/dist/primitives/navigation-menu.js +1 -1
  150. package/dist/primitives/number-field.js +1 -1
  151. package/dist/primitives/popover.js +1 -1
  152. package/dist/primitives/preview-card.js +1 -1
  153. package/dist/primitives/progress.js +1 -1
  154. package/dist/primitives/radio-group.js +1 -1
  155. package/dist/primitives/radio.js +1 -1
  156. package/dist/primitives/scroll-area.js +1 -1
  157. package/dist/primitives/select.js +1 -1
  158. package/dist/primitives/separator.js +1 -1
  159. package/dist/primitives/slider.js +1 -1
  160. package/dist/primitives/switch.js +1 -1
  161. package/dist/primitives/tabs.js +1 -1
  162. package/dist/primitives/toast.js +1 -1
  163. package/dist/primitives/toggle-group.js +1 -1
  164. package/dist/primitives/toggle.js +1 -1
  165. package/dist/primitives/toolbar.js +1 -1
  166. package/dist/primitives/tooltip.js +1 -1
  167. package/dist/primitives.js +1 -1
  168. package/dist/scripts/theme-generator/config.d.ts.map +1 -1
  169. package/dist/scripts/theme-generator/config.js +288 -24
  170. package/dist/scripts/theme-generator/config.js.map +1 -1
  171. package/dist/src/code/provider.d.ts.map +1 -1
  172. package/dist/src/code/server.d.ts.map +1 -1
  173. package/dist/src/code/types.d.ts +1 -1
  174. package/dist/src/code/types.d.ts.map +1 -1
  175. package/dist/src/components/badge/badge.d.ts +95 -22
  176. package/dist/src/components/badge/badge.d.ts.map +1 -1
  177. package/dist/src/components/banner/banner.d.ts +2 -0
  178. package/dist/src/components/banner/banner.d.ts.map +1 -1
  179. package/dist/src/components/button/button.d.ts +2 -0
  180. package/dist/src/components/button/button.d.ts.map +1 -1
  181. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  182. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  183. package/dist/src/components/clipboard-text/clipboard-text.d.ts +2 -0
  184. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
  185. package/dist/src/components/combobox/combobox.d.ts +8 -1
  186. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  187. package/dist/src/components/command-palette/command-palette.d.ts +9 -2
  188. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
  189. package/dist/src/components/command-palette/types.d.ts +7 -0
  190. package/dist/src/components/command-palette/types.d.ts.map +1 -1
  191. package/dist/src/components/dialog/dialog.d.ts +8 -1
  192. package/dist/src/components/dialog/dialog.d.ts.map +1 -1
  193. package/dist/src/components/dropdown/dropdown.d.ts +17 -2
  194. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  195. package/dist/src/components/flow/diagram.d.ts.map +1 -1
  196. package/dist/src/components/loader/skeleton-line.d.ts +2 -1
  197. package/dist/src/components/loader/skeleton-line.d.ts.map +1 -1
  198. package/dist/src/components/popover/popover.d.ts +8 -1
  199. package/dist/src/components/popover/popover.d.ts.map +1 -1
  200. package/dist/src/components/radio/radio.d.ts.map +1 -1
  201. package/dist/src/components/select/select.d.ts +8 -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/surface/surface.d.ts +23 -23
  205. package/dist/src/components/surface/surface.d.ts.map +1 -1
  206. package/dist/src/components/table/table.d.ts +34 -2
  207. package/dist/src/components/table/table.d.ts.map +1 -1
  208. package/dist/src/components/tabs/tabs.d.ts.map +1 -1
  209. package/dist/src/components/text/text.d.ts +5 -0
  210. package/dist/src/components/text/text.d.ts.map +1 -1
  211. package/dist/src/components/toast/toast.d.ts +16 -9
  212. package/dist/src/components/toast/toast.d.ts.map +1 -1
  213. package/dist/src/components/tooltip/tooltip.d.ts +11 -6
  214. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  215. package/dist/src/index.d.ts +1 -0
  216. package/dist/src/index.d.ts.map +1 -1
  217. package/dist/src/utils/index.d.ts +1 -0
  218. package/dist/src/utils/index.d.ts.map +1 -1
  219. package/dist/src/utils/portal-provider.d.ts +56 -0
  220. package/dist/src/utils/portal-provider.d.ts.map +1 -0
  221. package/dist/styles/kumo-binding.css +49 -46
  222. package/dist/styles/kumo-standalone.css +1 -1
  223. package/dist/styles/theme-fedramp.css +3 -3
  224. package/dist/styles/theme-kumo.css +202 -22
  225. package/dist/utils.js +8 -6
  226. package/dist/utils.js.map +1 -1
  227. package/package.json +2 -2
  228. package/scripts/theme-generator/config.ts +298 -24
  229. package/dist/chunks/Legend-bov5dqf08wemc2qj.js.map +0 -1
  230. package/dist/chunks/badge-mrshucy2530o70cq.js +0 -56
  231. package/dist/chunks/badge-mrshucy2530o70cq.js.map +0 -1
  232. package/dist/chunks/banner-vzdjbqsb6em7tmdk.js +0 -75
  233. package/dist/chunks/banner-vzdjbqsb6em7tmdk.js.map +0 -1
  234. package/dist/chunks/button-j0hi0afn33w9lxgi.js.map +0 -1
  235. package/dist/chunks/clipboard-text-ohx8kkpxisz382rj.js.map +0 -1
  236. package/dist/chunks/combobox-ft0u7rfaxawk0r0c.js.map +0 -1
  237. package/dist/chunks/command-palette-b31nq4wk7o7gx4sa.js.map +0 -1
  238. package/dist/chunks/dialog-l5tmwxrzp9g83jmw.js.map +0 -1
  239. package/dist/chunks/dropdown-icy3xatdwhzr4une.js.map +0 -1
  240. package/dist/chunks/input-c8jmidy7gdqfiky1.js.map +0 -1
  241. package/dist/chunks/menubar-g1wqqjuyyfvsim83.js.map +0 -1
  242. package/dist/chunks/popover-jurf834u2uywluux.js.map +0 -1
  243. package/dist/chunks/select-hnt87e3cfos48qql.js.map +0 -1
  244. package/dist/chunks/sensitive-input-lvtccf3iqc06lj7b.js.map +0 -1
  245. package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js +0 -28
  246. package/dist/chunks/skeleton-line-1j5exu6vv07mmhfb.js.map +0 -1
  247. package/dist/chunks/surface-dhshylwccuaz91d1.js +0 -21
  248. package/dist/chunks/surface-dhshylwccuaz91d1.js.map +0 -1
  249. package/dist/chunks/table-orfgzwvxh8yr90dk.js +0 -155
  250. package/dist/chunks/table-orfgzwvxh8yr90dk.js.map +0 -1
  251. package/dist/chunks/tabs-n0t7iro7wr0pzgk2.js +0 -86
  252. package/dist/chunks/text-gzt92mlji1lug13d.js.map +0 -1
  253. package/dist/chunks/toast-r9ajsces7xp8l85w.js.map +0 -1
  254. package/dist/chunks/tooltip-hnc71tg4gz2gpcvc.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-9fhjzprab46csmon.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 { 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 down to sub-components\nconst ComboboxSizeContext = createContext<KumoInputSize>(\"base\");\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(KUMO_COMBOBOX_VARIANTS.inputSide[inputSide].classes);\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 <ComboboxSizeContext.Provider value={size}>\n <ComboboxBase.Root {...props}>{children}</ComboboxBase.Root>\n </ComboboxSizeContext.Provider>\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 = useContext(ComboboxSizeContext);\n const iconStyles = triggerValueIconStyles[size];\n\n return (\n <ComboboxBase.Trigger\n className={cn(\n inputVariants({ size }),\n \"relative flex items-center\",\n \"data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed\",\n iconStyles.padding,\n className,\n )}\n >\n <ComboboxBase.Value>{props.children}</ComboboxBase.Value>\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(props: ComboboxBase.Input.Props) {\n const size = useContext(ComboboxSizeContext);\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 }),\n \"w-full\",\n iconStyles.padding,\n \"disabled:cursor-not-allowed\",\n )}\n />\n\n <ComboboxBase.Clear\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 className=\"p-0\">\n <ComboboxBase.Icon\n className={cn(\n \"absolute top-1/2 flex -translate-y-1/2 cursor-pointer text-kumo-subtle\",\n iconStyles.caretRight,\n )}\n >\n <CaretDownIcon size={iconStyles.iconSize} className=\"fill-current\" />\n </ComboboxBase.Icon>\n </ComboboxBase.Trigger>\n </div>\n );\n}\n\nfunction Item({ children, ...props }: ComboboxBase.Item.Props) {\n return (\n <ComboboxBase.Item\n {...props}\n className=\"group mx-1.5 grid cursor-pointer grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base data-highlighted:bg-kumo-tint\"\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-strong\",\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-line mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0\"\n />\n );\n}\n\nfunction Chip(props: ComboboxBase.Chip.Props) {\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-line\", // Border\n \"bg-kumo-overlay\", // Background\n \"text-sm\", // Typography\n )}\n >\n {props.children}\n <ComboboxBase.ChipRemove\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 = useContext(ComboboxSizeContext);\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 }),\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"],"names":["KUMO_INPUT_VARIANTS","ComboboxSizeContext","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","useContext","iconStyles","jsxs","ComboboxBase.Trigger","inputVariants","ComboboxBase.Value","ComboboxBase.Icon","CaretDownIcon","triggerInputIconStyles","TriggerInput","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","ComboboxBase.Chip","ComboboxBase.ChipRemove","sizeToMinHeight","TriggerMultipleWithInput","placeholder","renderItem","inputSide","controlledValue","chipsToRender","ComboboxBase.Chips","item","internalValue","Fragment","Combobox","ComboboxBase.Collection"],"mappings":"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"}
@@ -1,35 +1,37 @@
1
1
  "use client";
2
- import { jsx as e, jsxs as p, Fragment as E } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as g, Fragment as E } from "react/jsx-runtime";
3
3
  import { forwardRef as K, useContext as N, createContext as v, 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 { S as G } from "./surface-dhshylwccuaz91d1.js";
5
+ import { S as G } from "./surface-blo81kgy9g0sexgm.js";
6
6
  import { L as j } from "./loader-m5wfmqwgucrr4i5v.js";
7
7
  import { c as m } from "./cn-ct4n7r74mh8y0f48.js";
8
- import { a5 as U, a7 as O, aa as V, ac as w, a9 as $, a8 as q, ab as z, bk as B, ap as S, au as J, av as Q, aw as W } from "./vendor-base-ui-ccr5l0ynrievzzv3.js";
8
+ import { u as U } from "./portal-provider-hwmkdmkpvct0cb76.js";
9
+ import { a5 as O, a7 as V, aa as $, ac as w, a9 as q, a8 as z, ab as B, bm as S, ap as J, au as Q, av as W, aw as X } from "./vendor-base-ui-n30qblevnpk9cc5c.js";
9
10
  const C = v({});
10
11
  function I({
11
12
  open: t,
12
13
  onOpenChange: n,
13
- onBackdropClick: a,
14
- children: l
14
+ onBackdropClick: o,
15
+ children: i,
16
+ container: s
15
17
  }) {
16
- const s = (u) => {
17
- a ? a(u) : n(!1);
18
- }, c = b(() => {
18
+ const u = U(), d = s ?? u ?? void 0, r = (c) => {
19
+ o ? o(c) : n(!1);
20
+ }, a = b(() => {
19
21
  n(!1);
20
22
  }, [n]);
21
- return /* @__PURE__ */ e(S, { open: t, onOpenChange: n, modal: !0, children: /* @__PURE__ */ p(J, { children: [
23
+ return /* @__PURE__ */ e(J, { open: t, onOpenChange: n, modal: !0, children: /* @__PURE__ */ g(Q, { container: d, children: [
22
24
  /* @__PURE__ */ e(
23
- Q,
25
+ W,
24
26
  {
25
27
  className: "fixed inset-0 bg-kumo-overlay opacity-80 transition-all duration-150 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0",
26
- onClick: s
28
+ onClick: r
27
29
  }
28
30
  ),
29
31
  /* @__PURE__ */ e(
30
32
  G,
31
33
  {
32
- as: W,
34
+ render: /* @__PURE__ */ e(X, {}),
33
35
  className: m(
34
36
  "fixed top-[10vh] left-1/2 w-full max-w-2xl -translate-x-1/2",
35
37
  "overflow-hidden rounded-lg",
@@ -39,55 +41,57 @@ function I({
39
41
  transitionProperty: "scale, opacity",
40
42
  transitionTimingFunction: "var(--default-transition-timing-function)"
41
43
  },
42
- children: /* @__PURE__ */ e(C.Provider, { value: { onClose: c }, children: l })
44
+ children: /* @__PURE__ */ e(C.Provider, { value: { onClose: a }, children: i })
43
45
  }
44
46
  )
45
47
  ] }) });
46
48
  }
47
- function X({
49
+ function Y({
48
50
  open: t,
49
51
  onOpenChange: n,
50
- onBackdropClick: a,
51
- children: l,
52
+ onBackdropClick: o,
53
+ children: i,
52
54
  items: s,
53
- value: c,
54
- onValueChange: u,
55
- onItemHighlighted: i,
56
- itemToStringValue: o,
57
- filter: d,
58
- onSelect: r,
59
- getSelectableItems: f
55
+ value: u,
56
+ onValueChange: d,
57
+ onItemHighlighted: r,
58
+ itemToStringValue: a,
59
+ filter: c,
60
+ onSelect: l,
61
+ getSelectableItems: f,
62
+ container: h
60
63
  }) {
61
64
  return /* @__PURE__ */ e(
62
65
  I,
63
66
  {
64
67
  open: t,
65
68
  onOpenChange: n,
66
- onBackdropClick: a,
69
+ onBackdropClick: o,
70
+ container: h,
67
71
  children: /* @__PURE__ */ e(
68
- L,
72
+ A,
69
73
  {
70
74
  items: s,
71
- value: c,
72
- onValueChange: u,
73
- onItemHighlighted: i,
74
- itemToStringValue: o,
75
- filter: d,
75
+ value: u,
76
+ onValueChange: d,
77
+ onItemHighlighted: r,
78
+ itemToStringValue: a,
79
+ filter: c,
76
80
  open: t,
77
- onSelect: r,
81
+ onSelect: l,
78
82
  getSelectableItems: f,
79
- children: l
83
+ children: i
80
84
  }
81
85
  )
82
86
  }
83
87
  );
84
88
  }
85
- function Y({
89
+ function Z({
86
90
  children: t,
87
91
  leading: n,
88
- trailing: a
92
+ trailing: o
89
93
  }) {
90
- return /* @__PURE__ */ p("div", { className: "flex items-center gap-3 bg-kumo-base px-4 py-3", children: [
94
+ return /* @__PURE__ */ g("div", { className: "flex items-center gap-3 bg-kumo-base px-4 py-3", children: [
91
95
  n ?? /* @__PURE__ */ e(
92
96
  F,
93
97
  {
@@ -96,36 +100,36 @@ function Y({
96
100
  }
97
101
  ),
98
102
  t,
99
- a
103
+ o
100
104
  ] });
101
105
  }
102
- const D = K(function({ children: n, className: a }, l) {
106
+ const D = K(function({ children: n, className: o }, i) {
103
107
  return /* @__PURE__ */ e(
104
108
  "div",
105
109
  {
106
- ref: l,
110
+ ref: i,
107
111
  className: m(
108
112
  "min-h-0 flex-1 overflow-y-auto rounded-b-lg bg-kumo-base px-2 py-2 ring-1 ring-kumo-line",
109
- a
113
+ o
110
114
  ),
111
115
  children: n
112
116
  }
113
117
  );
114
118
  });
115
119
  D.displayName = "CommandPalette.List";
116
- function Z({
120
+ function ee({
117
121
  children: t,
118
122
  className: n,
119
- ...a
123
+ ...o
120
124
  }) {
121
- return /* @__PURE__ */ e(q, { className: m("space-y-0.5", n), ...a, children: t });
125
+ return /* @__PURE__ */ e(z, { className: m("space-y-0.5", n), ...o, children: t });
122
126
  }
123
- function ee({
127
+ function te({
124
128
  children: t,
125
129
  className: n
126
130
  }) {
127
131
  return /* @__PURE__ */ e(
128
- $,
132
+ q,
129
133
  {
130
134
  className: m(
131
135
  "mb-2 px-2 pt-1 text-xs font-semibold text-kumo-strong",
@@ -135,11 +139,11 @@ function ee({
135
139
  }
136
140
  );
137
141
  }
138
- function te({
142
+ function ne({
139
143
  value: t,
140
144
  disabled: n,
141
- children: a,
142
- className: l,
145
+ children: o,
146
+ className: i,
143
147
  onClick: s
144
148
  }) {
145
149
  return /* @__PURE__ */ e(
@@ -153,80 +157,80 @@ function te({
153
157
  "cursor-pointer data-[highlighted]:bg-kumo-overlay",
154
158
  "rounded-lg",
155
159
  n && "cursor-default opacity-50",
156
- l
160
+ i
157
161
  ),
158
- children: a
162
+ children: o
159
163
  }
160
164
  );
161
165
  }
162
- function ne({ children: t }) {
163
- return /* @__PURE__ */ e(V, { children: /* @__PURE__ */ e("div", { className: "p-8 text-center", children: /* @__PURE__ */ e("p", { className: "text-kumo-strong", children: t ?? "No results found" }) }) });
166
+ function oe({ children: t }) {
167
+ return /* @__PURE__ */ e($, { children: /* @__PURE__ */ e("div", { className: "p-8 text-center", children: /* @__PURE__ */ e("p", { className: "text-kumo-strong", children: t ?? "No results found" }) }) });
164
168
  }
165
169
  function ae({ children: t }) {
166
170
  return /* @__PURE__ */ e("div", { className: "flex items-center justify-center p-8", children: t ?? /* @__PURE__ */ e(j, { size: 24 }) });
167
171
  }
168
- function oe({ children: t }) {
172
+ function se({ children: t }) {
169
173
  return /* @__PURE__ */ e("div", { className: "flex items-center justify-between rounded-b-lg bg-kumo-elevated px-4 py-3 text-xs text-kumo-strong", children: t });
170
174
  }
171
175
  function y({
172
176
  text: t,
173
177
  highlights: n,
174
- className: a
178
+ className: o
175
179
  }) {
176
180
  if (!n || n.length === 0)
177
- return /* @__PURE__ */ e("span", { className: a, children: t });
178
- const l = [...n].sort((i, o) => i[0] - o[0]), s = [];
179
- for (const i of l) {
180
- const o = s[s.length - 1];
181
- o && i[0] <= o[1] + 1 ? o[1] = Math.max(o[1], i[1]) : s.push([...i]);
181
+ return /* @__PURE__ */ e("span", { className: o, children: t });
182
+ const i = [...n].sort((r, a) => r[0] - a[0]), s = [];
183
+ for (const r of i) {
184
+ const a = s[s.length - 1];
185
+ a && r[0] <= a[1] + 1 ? a[1] = Math.max(a[1], r[1]) : s.push([...r]);
182
186
  }
183
- const c = [];
184
- let u = 0;
185
- return s.forEach((i, o) => {
186
- const [d, r] = i;
187
- d > u && c.push(/* @__PURE__ */ e("span", { children: t.slice(u, d) }, `text-${o}`)), c.push(
187
+ const u = [];
188
+ let d = 0;
189
+ return s.forEach((r, a) => {
190
+ const [c, l] = r;
191
+ c > d && u.push(/* @__PURE__ */ e("span", { children: t.slice(d, c) }, `text-${a}`)), u.push(
188
192
  /* @__PURE__ */ e(
189
193
  "mark",
190
194
  {
191
195
  className: "rounded-sm bg-kumo-warning/50 text-kumo-default",
192
- children: t.slice(d, r + 1)
196
+ children: t.slice(c, l + 1)
193
197
  },
194
- `highlight-${o}`
198
+ `highlight-${a}`
195
199
  )
196
- ), u = r + 1;
197
- }), u < t.length && c.push(/* @__PURE__ */ e("span", { children: t.slice(u) }, "text-end")), /* @__PURE__ */ e("span", { className: a, children: c });
200
+ ), d = l + 1;
201
+ }), d < t.length && u.push(/* @__PURE__ */ e("span", { children: t.slice(d) }, "text-end")), /* @__PURE__ */ e("span", { className: o, children: u });
198
202
  }
199
- function se({
203
+ function re({
200
204
  title: t,
201
205
  breadcrumbs: n,
202
- titleHighlights: a,
203
- breadcrumbHighlights: l,
206
+ titleHighlights: o,
207
+ breadcrumbHighlights: i,
204
208
  description: s,
205
- icon: c,
206
- value: u,
207
- onClick: i,
208
- showArrow: o = !0,
209
- external: d = !1,
210
- nonInteractive: r = !1
209
+ icon: u,
210
+ value: d,
211
+ onClick: r,
212
+ showArrow: a = !0,
213
+ external: c = !1,
214
+ nonInteractive: l = !1
211
215
  }) {
212
- return /* @__PURE__ */ p(
216
+ return /* @__PURE__ */ g(
213
217
  w,
214
218
  {
215
- value: u,
216
- onClick: r ? void 0 : (f) => i(f),
219
+ value: d,
220
+ onClick: l ? void 0 : (f) => r(f),
217
221
  className: m(
218
222
  "group flex w-full items-center gap-3 rounded-lg px-2 py-1.5 text-left transition-colors",
219
- r ? "cursor-default" : "cursor-pointer data-[highlighted]:bg-kumo-overlay"
223
+ l ? "cursor-default" : "cursor-pointer data-[highlighted]:bg-kumo-overlay"
220
224
  ),
221
225
  children: [
222
- c && /* @__PURE__ */ e("div", { className: "flex flex-shrink-0 items-center text-kumo-subtle", children: c }),
223
- /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ p("div", { className: "flex items-center gap-2 truncate", children: [
224
- n?.map((f, g) => /* @__PURE__ */ p("span", { className: "flex items-center gap-2", children: [
226
+ u && /* @__PURE__ */ e("div", { className: "flex flex-shrink-0 items-center text-kumo-subtle", children: u }),
227
+ /* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ g("div", { className: "flex items-center gap-2 truncate", children: [
228
+ n?.map((f, h) => /* @__PURE__ */ g("span", { className: "flex items-center gap-2", children: [
225
229
  /* @__PURE__ */ e(
226
230
  y,
227
231
  {
228
232
  text: f,
229
- highlights: l?.[g],
233
+ highlights: i?.[h],
230
234
  className: "text-base text-kumo-default"
231
235
  }
232
236
  ),
@@ -237,27 +241,27 @@ function se({
237
241
  weight: "bold"
238
242
  }
239
243
  )
240
- ] }, g)),
244
+ ] }, h)),
241
245
  /* @__PURE__ */ e(
242
246
  y,
243
247
  {
244
248
  text: t,
245
- highlights: a,
249
+ highlights: o,
246
250
  className: "text-base text-kumo-default"
247
251
  }
248
252
  ),
249
- d && /* @__PURE__ */ e(H, { className: "h-3.5 w-3.5 flex-shrink-0 text-kumo-subtle" }),
250
- s && /* @__PURE__ */ p(E, { children: [
253
+ c && /* @__PURE__ */ e(H, { className: "h-3.5 w-3.5 flex-shrink-0 text-kumo-subtle" }),
254
+ s && /* @__PURE__ */ g(E, { children: [
251
255
  /* @__PURE__ */ e("span", { className: "text-kumo-strong", children: "—" }),
252
256
  /* @__PURE__ */ e("span", { className: "truncate text-sm text-kumo-strong", children: s })
253
257
  ] })
254
258
  ] }) }),
255
- o && !d && !r && /* @__PURE__ */ e(_, { className: "h-4 w-4 flex-shrink-0 text-kumo-subtle opacity-0 transition-opacity group-data-[highlighted]:opacity-100" })
259
+ a && !c && !l && /* @__PURE__ */ e(_, { className: "h-4 w-4 flex-shrink-0 text-kumo-subtle opacity-0 transition-opacity group-data-[highlighted]:opacity-100" })
256
260
  ]
257
261
  }
258
262
  );
259
263
  }
260
- function re({
264
+ function le({
261
265
  children: t,
262
266
  className: n
263
267
  }) {
@@ -272,128 +276,128 @@ function re({
272
276
  }
273
277
  );
274
278
  }
275
- const A = v({}), le = () => !0;
276
- function L({
279
+ const P = v({}), ie = () => !0;
280
+ function A({
277
281
  children: t,
278
282
  items: n,
279
- value: a,
280
- onValueChange: l,
283
+ value: o,
284
+ onValueChange: i,
281
285
  onItemHighlighted: s,
282
- itemToStringValue: c,
283
- filter: u = le,
284
- open: i = !0,
285
- className: o,
286
- onSelect: d,
287
- getSelectableItems: r
286
+ itemToStringValue: u,
287
+ filter: d = ie,
288
+ open: r = !0,
289
+ className: a,
290
+ onSelect: c,
291
+ getSelectableItems: l
288
292
  }) {
289
- const f = T(-1), g = b(
290
- (h, x) => {
291
- f.current = x.index, s?.(h, x);
293
+ const f = T(-1), h = b(
294
+ (p, x) => {
295
+ f.current = x.index, s?.(p, x);
292
296
  },
293
297
  [s]
294
- ), P = b(
295
- (h) => {
296
- const x = h.key === "Enter", R = h.metaKey || h.ctrlKey;
297
- if (x && R && d && r) {
298
- const k = r(n)[f.current];
299
- k !== void 0 && (h.preventDefault(), d(k, { newTab: !0 }));
298
+ ), L = b(
299
+ (p) => {
300
+ const x = p.key === "Enter", R = p.metaKey || p.ctrlKey;
301
+ if (x && R && c && l) {
302
+ const k = l(n)[f.current];
303
+ k !== void 0 && (p.preventDefault(), c(k, { newTab: !0 }));
300
304
  }
301
305
  },
302
- [n, d, r]
306
+ [n, c, l]
303
307
  );
304
- return /* @__PURE__ */ e(re, { className: o, children: /* @__PURE__ */ e(
305
- B,
308
+ return /* @__PURE__ */ e(le, { className: a, children: /* @__PURE__ */ e(
309
+ S,
306
310
  {
307
311
  items: n,
308
- value: a,
309
- onValueChange: l,
310
- onItemHighlighted: g,
311
- itemToStringValue: c,
312
- filter: u,
312
+ value: o,
313
+ onValueChange: i,
314
+ onItemHighlighted: h,
315
+ itemToStringValue: u,
316
+ filter: d,
313
317
  autoHighlight: "always",
314
318
  keepHighlight: !0,
315
- open: i,
316
- children: /* @__PURE__ */ e(A.Provider, { value: { onInputKeyDown: P }, children: t })
319
+ open: r,
320
+ children: /* @__PURE__ */ e(P.Provider, { value: { onInputKeyDown: L }, children: t })
317
321
  }
318
322
  ) });
319
323
  }
320
- function ie({
324
+ function ce({
321
325
  autoFocus: t = !0,
322
326
  placeholder: n,
323
- className: a,
324
- onKeyDown: l,
327
+ className: o,
328
+ onKeyDown: i,
325
329
  leading: s,
326
- trailing: c,
327
- ...u
330
+ trailing: u,
331
+ ...d
328
332
  }) {
329
- const { onInputKeyDown: i } = N(A), { onClose: o } = N(C), d = b(
330
- (r) => {
331
- if (l?.(r), !r.defaultPrevented) {
332
- if (r.key === "Escape" && o) {
333
- r.preventDefault(), o();
333
+ const { onInputKeyDown: r } = N(P), { onClose: a } = N(C), c = b(
334
+ (l) => {
335
+ if (i?.(l), !l.defaultPrevented) {
336
+ if (l.key === "Escape" && a) {
337
+ l.preventDefault(), a();
334
338
  return;
335
339
  }
336
- i?.(r);
340
+ r?.(l);
337
341
  }
338
342
  },
339
- [i, l, o]
343
+ [r, i, a]
340
344
  );
341
- return /* @__PURE__ */ e(Y, { leading: s, trailing: c, children: /* @__PURE__ */ e(
342
- z,
345
+ return /* @__PURE__ */ e(Z, { leading: s, trailing: u, children: /* @__PURE__ */ e(
346
+ B,
343
347
  {
344
348
  placeholder: n,
345
349
  className: m(
346
350
  "flex-1 border-none bg-transparent text-base kumo-input-placeholder",
347
351
  "outline-none focus-visible:outline-none",
348
- a
352
+ o
349
353
  ),
350
- onKeyDown: d,
354
+ onKeyDown: c,
351
355
  autoFocus: t,
352
- ...u
356
+ ...d
353
357
  }
354
358
  ) });
355
359
  }
356
- function ce({
360
+ function ue({
357
361
  children: t,
358
362
  className: n
359
363
  }) {
360
- return /* @__PURE__ */ e(O, { className: m("space-y-3", n), children: t });
364
+ return /* @__PURE__ */ e(V, { className: m("space-y-3", n), children: t });
361
365
  }
362
- const ue = U, ye = {}, ke = {}, Ne = {
366
+ const de = O, Ne = {}, ve = {}, we = {
363
367
  /** Modal dialog wrapper - use with Panel for content that can swap */
364
368
  Dialog: I,
365
369
  /** Dialog + Panel combined - for simple single-view command palettes */
366
- Root: X,
370
+ Root: Y,
367
371
  /** Autocomplete panel without dialog - use inside Dialog for swappable content */
368
- Panel: L,
372
+ Panel: A,
369
373
  /** Input for use inside Panel */
370
- Input: ie,
374
+ Input: ce,
371
375
  /** Scrollable results container */
372
376
  List: D,
373
377
  /** Category grouping */
374
- Group: Z,
378
+ Group: ee,
375
379
  /** Section header text */
376
- GroupLabel: ee,
380
+ GroupLabel: te,
377
381
  /** Basic item */
378
- Item: te,
382
+ Item: ne,
379
383
  /** Rich item with breadcrumbs, highlights, icons */
380
- ResultItem: se,
384
+ ResultItem: re,
381
385
  /** Text with highlighted portions */
382
386
  HighlightedText: y,
383
387
  /** Empty state */
384
- Empty: ne,
388
+ Empty: oe,
385
389
  /** Loading state */
386
390
  Loading: ae,
387
391
  /** Footer for keyboard hints */
388
- Footer: oe,
392
+ Footer: se,
389
393
  /** Render prop iterator for groups */
390
- Results: ce,
394
+ Results: ue,
391
395
  /** Render prop iterator for items within a group */
392
- Items: ue
396
+ Items: de
393
397
  };
394
398
  export {
395
- Ne as C,
396
- ye as K,
397
- ke as a
399
+ we as C,
400
+ Ne as K,
401
+ ve as a
398
402
  };
399
- //# sourceMappingURL=command-palette-b31nq4wk7o7gx4sa.js.map
403
+ //# sourceMappingURL=command-palette-kenx2bbdzd4kpx36.js.map