@cloudflare/kumo 1.18.0 → 2.0.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 (330) hide show
  1. package/CHANGELOG.md +329 -0
  2. package/ai/component-registry.json +907 -159
  3. package/ai/component-registry.md +1929 -598
  4. package/ai/schemas.ts +58 -14
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +206 -27
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/ai/schemas.js +2003 -1948
  9. package/dist/ai/schemas.js.map +1 -1
  10. package/dist/chunks/Legend-ibjxhfm9pn2vrb6f.js +430 -0
  11. package/dist/chunks/Legend-ibjxhfm9pn2vrb6f.js.map +1 -0
  12. package/dist/chunks/autocomplete-cs3fwy6lwzlyirpq.js +174 -0
  13. package/dist/chunks/autocomplete-cs3fwy6lwzlyirpq.js.map +1 -0
  14. package/dist/chunks/{breadcrumbs-k39s28qx05vbxxth.js → breadcrumbs-cxcwf2l1ki3ffg5d.js} +2 -2
  15. package/dist/chunks/{breadcrumbs-k39s28qx05vbxxth.js.map → breadcrumbs-cxcwf2l1ki3ffg5d.js.map} +1 -1
  16. package/dist/chunks/{button-cdxnqcgzwko8ooha.js → button-6by9ntsa3nj553mq.js} +18 -19
  17. package/dist/chunks/button-6by9ntsa3nj553mq.js.map +1 -0
  18. package/dist/chunks/checkbox-eren6w2csum1xghg.js +210 -0
  19. package/dist/chunks/checkbox-eren6w2csum1xghg.js.map +1 -0
  20. package/dist/chunks/{clipboard-text-vcbvmtne4zjk4b18.js → clipboard-text-f9q753udny1uyxr5.js} +47 -43
  21. package/dist/chunks/{clipboard-text-vcbvmtne4zjk4b18.js.map → clipboard-text-f9q753udny1uyxr5.js.map} +1 -1
  22. package/dist/chunks/{cloudflare-logo-bgts2jgsdh7sslw4.js → cloudflare-logo-pbavoe1wu8nr5c4n.js} +9 -9
  23. package/dist/chunks/{cloudflare-logo-bgts2jgsdh7sslw4.js.map → cloudflare-logo-pbavoe1wu8nr5c4n.js.map} +1 -1
  24. package/dist/chunks/collapsible-k8urhi16pg90jvxa.js +71 -0
  25. package/dist/chunks/collapsible-k8urhi16pg90jvxa.js.map +1 -0
  26. package/dist/chunks/{combobox-he2hd9e2ruknq5mp.js → combobox-n9qht9h9ag6kh5sn.js} +142 -118
  27. package/dist/chunks/combobox-n9qht9h9ag6kh5sn.js.map +1 -0
  28. package/dist/chunks/{command-palette-jc1w07jwakxvj23a.js → command-palette-gk9m34ymp2b3hfc5.js} +130 -130
  29. package/dist/chunks/command-palette-gk9m34ymp2b3hfc5.js.map +1 -0
  30. package/dist/chunks/{date-range-picker-j318zxjyqz4o3dak.js → date-range-picker-c9wnx9tbwohai7jy.js} +26 -26
  31. package/dist/chunks/{date-range-picker-j318zxjyqz4o3dak.js.map → date-range-picker-c9wnx9tbwohai7jy.js.map} +1 -1
  32. package/dist/chunks/{dialog-oqh8l3l3zutpibxx.js → dialog-94v7wiz7j3in6528.js} +25 -25
  33. package/dist/chunks/dialog-94v7wiz7j3in6528.js.map +1 -0
  34. package/dist/chunks/dropdown-zbax0zowy6m9zhmt.js +302 -0
  35. package/dist/chunks/dropdown-zbax0zowy6m9zhmt.js.map +1 -0
  36. package/dist/chunks/{empty-cj898km1r8xwuw44.js → empty-kpymw59thjf2ip8g.js} +9 -9
  37. package/dist/chunks/{empty-cj898km1r8xwuw44.js.map → empty-kpymw59thjf2ip8g.js.map} +1 -1
  38. package/dist/chunks/{field-krp6z6vfbkrvufz2.js → field-lnj619xpe8zjd26r.js} +7 -7
  39. package/dist/chunks/{field-krp6z6vfbkrvufz2.js.map → field-lnj619xpe8zjd26r.js.map} +1 -1
  40. package/dist/chunks/{grid-m9r71jxo2b8q1972.js → grid-hj1ylz16p7g5uelh.js} +2 -2
  41. package/dist/chunks/{grid-m9r71jxo2b8q1972.js.map → grid-hj1ylz16p7g5uelh.js.map} +1 -1
  42. package/dist/chunks/{input-area-no30c09udyjxshu5.js → input-area-h8xbqturegdfm1mi.js} +4 -4
  43. package/dist/chunks/{input-area-no30c09udyjxshu5.js.map → input-area-h8xbqturegdfm1mi.js.map} +1 -1
  44. package/dist/chunks/input-group-dh4pg8p20rh4mdi0.js +505 -0
  45. package/dist/chunks/input-group-dh4pg8p20rh4mdi0.js.map +1 -0
  46. package/dist/chunks/{input-h48k3uagzrgb98au.js → input-lpa5fc75tgrraafv.js} +45 -45
  47. package/dist/chunks/input-lpa5fc75tgrraafv.js.map +1 -0
  48. package/dist/chunks/label-be8m7qzlakzig2sl.js +68 -0
  49. package/dist/chunks/{label-latndvb1ngem7we8.js.map → label-be8m7qzlakzig2sl.js.map} +1 -1
  50. package/dist/chunks/layer-card-hvivdirwwnyq88wa.js +46 -0
  51. package/dist/chunks/layer-card-hvivdirwwnyq88wa.js.map +1 -0
  52. package/dist/chunks/{link-hn5ejal7nhh0o0b4.js → link-kt74pxkud4olmcer.js} +4 -4
  53. package/dist/chunks/{link-hn5ejal7nhh0o0b4.js.map → link-kt74pxkud4olmcer.js.map} +1 -1
  54. package/dist/chunks/menubar-hwev159bm4rw9ixk.js +96 -0
  55. package/dist/chunks/menubar-hwev159bm4rw9ixk.js.map +1 -0
  56. package/dist/chunks/{meter-gfa1hz9fhjnvx784.js → meter-bqetlujwg8gm2u7m.js} +2 -2
  57. package/dist/chunks/{meter-gfa1hz9fhjnvx784.js.map → meter-bqetlujwg8gm2u7m.js.map} +1 -1
  58. package/dist/chunks/pagination-ho8zesqfyp6ckmrl.js +266 -0
  59. package/dist/chunks/pagination-ho8zesqfyp6ckmrl.js.map +1 -0
  60. package/dist/chunks/{popover-h300w4vit0s2ayej.js → popover-iayd9ya5yhujz6ve.js} +69 -73
  61. package/dist/chunks/popover-iayd9ya5yhujz6ve.js.map +1 -0
  62. package/dist/chunks/{radio-jouttv89lbvhs55r.js → radio-datzh3pilz8ojak1.js} +87 -75
  63. package/dist/chunks/radio-datzh3pilz8ojak1.js.map +1 -0
  64. package/dist/chunks/select-kpfbib9l8xrrmzpz.js +215 -0
  65. package/dist/chunks/select-kpfbib9l8xrrmzpz.js.map +1 -0
  66. package/dist/chunks/{sensitive-input-hd4tpqkzifad1yca.js → sensitive-input-i1upqytzaw2pus8v.js} +42 -42
  67. package/dist/chunks/sensitive-input-i1upqytzaw2pus8v.js.map +1 -0
  68. package/dist/chunks/{sidebar-hljy3ssm8itc0ucx.js → sidebar-kh37grvfxto14ek6.js} +146 -147
  69. package/dist/chunks/sidebar-kh37grvfxto14ek6.js.map +1 -0
  70. package/dist/chunks/surface-o63tktyrifcjejyb.js +29 -0
  71. package/dist/chunks/surface-o63tktyrifcjejyb.js.map +1 -0
  72. package/dist/chunks/{switch-ihaydbzem62bey4p.js → switch-lclhiplr9zqf73tj.js} +89 -81
  73. package/dist/chunks/switch-lclhiplr9zqf73tj.js.map +1 -0
  74. package/dist/chunks/table-fyy8gl875yyevqs3.js +207 -0
  75. package/dist/chunks/table-fyy8gl875yyevqs3.js.map +1 -0
  76. package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js +102 -0
  77. package/dist/chunks/table-of-contents-fzyv7uhnnyr13dqu.js.map +1 -0
  78. package/dist/chunks/{tabs-e7eh7l3mpk3xgmwq.js → tabs-jywwt8ebjqjkux75.js} +21 -21
  79. package/dist/chunks/{tabs-e7eh7l3mpk3xgmwq.js.map → tabs-jywwt8ebjqjkux75.js.map} +1 -1
  80. package/dist/chunks/{text-nmyi1rkwdj37f30f.js → text-f7t467waymhb30sx.js} +8 -8
  81. package/dist/chunks/text-f7t467waymhb30sx.js.map +1 -0
  82. package/dist/chunks/{toast-bpz6iaq54u9jmuu8.js → toast-h573o0tc7tefivk2.js} +12 -12
  83. package/dist/chunks/{toast-bpz6iaq54u9jmuu8.js.map → toast-h573o0tc7tefivk2.js.map} +1 -1
  84. package/dist/chunks/{tooltip-belkznz8t8333h5f.js → tooltip-odudhkxe282wxinq.js} +38 -37
  85. package/dist/chunks/tooltip-odudhkxe282wxinq.js.map +1 -0
  86. package/dist/chunks/vendor-base-ui-ie71jahf0czyf58j.js +24638 -0
  87. package/dist/chunks/vendor-base-ui-ie71jahf0czyf58j.js.map +1 -0
  88. package/dist/chunks/vendor-floating-ui-dwag5e88viikh2zs.js +1311 -0
  89. package/dist/chunks/vendor-floating-ui-dwag5e88viikh2zs.js.map +1 -0
  90. package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js +534 -0
  91. package/dist/chunks/vendor-utils-ixnhxmehwihk5tr7.js.map +1 -0
  92. package/dist/code.js +1 -1
  93. package/dist/components/autocomplete.js +9 -0
  94. package/dist/components/autocomplete.js.map +1 -0
  95. package/dist/components/breadcrumbs.js +1 -1
  96. package/dist/components/button.js +1 -1
  97. package/dist/components/chart.js +1 -1
  98. package/dist/components/checkbox.js +1 -1
  99. package/dist/components/clipboard-text.js +1 -1
  100. package/dist/components/cloudflare-logo.js +1 -1
  101. package/dist/components/collapsible.js +1 -1
  102. package/dist/components/combobox.js +1 -1
  103. package/dist/components/command-palette.js +1 -1
  104. package/dist/components/date-range-picker.js +1 -1
  105. package/dist/components/dialog.js +1 -1
  106. package/dist/components/dropdown.js +1 -1
  107. package/dist/components/empty.js +1 -1
  108. package/dist/components/field.js +1 -1
  109. package/dist/components/flow.js +2 -2
  110. package/dist/components/flow.js.map +1 -1
  111. package/dist/components/grid.js +1 -1
  112. package/dist/components/input-group.js +8 -0
  113. package/dist/components/input-group.js.map +1 -0
  114. package/dist/components/input.js +9 -7
  115. package/dist/components/label.js +1 -1
  116. package/dist/components/layer-card.js +1 -1
  117. package/dist/components/link.js +1 -1
  118. package/dist/components/menubar.js +1 -1
  119. package/dist/components/meter.js +1 -1
  120. package/dist/components/pagination.js +1 -1
  121. package/dist/components/popover.js +1 -1
  122. package/dist/components/radio.js +1 -1
  123. package/dist/components/select.js +1 -1
  124. package/dist/components/sensitive-input.js +1 -1
  125. package/dist/components/sidebar.js +1 -1
  126. package/dist/components/surface.js +1 -1
  127. package/dist/components/switch.js +1 -1
  128. package/dist/components/table-of-contents.js +8 -0
  129. package/dist/components/table-of-contents.js.map +1 -0
  130. package/dist/components/table.js +1 -1
  131. package/dist/components/tabs.js +1 -1
  132. package/dist/components/text.js +1 -1
  133. package/dist/components/toast.js +2 -2
  134. package/dist/components/tooltip.js +1 -1
  135. package/dist/index.js +148 -139
  136. package/dist/index.js.map +1 -1
  137. package/dist/primitives/accordion.js +1 -1
  138. package/dist/primitives/alert-dialog.js +1 -1
  139. package/dist/primitives/autocomplete.js +1 -1
  140. package/dist/primitives/avatar.js +1 -1
  141. package/dist/primitives/button.js +1 -1
  142. package/dist/primitives/checkbox-group.js +1 -1
  143. package/dist/primitives/checkbox.js +1 -1
  144. package/dist/primitives/collapsible.js +1 -1
  145. package/dist/primitives/combobox.js +1 -1
  146. package/dist/primitives/context-menu.js +1 -1
  147. package/dist/primitives/csp-provider.js +1 -1
  148. package/dist/primitives/dialog.js +1 -1
  149. package/dist/primitives/direction-provider.js +1 -1
  150. package/dist/primitives/drawer.js +2 -2
  151. package/dist/primitives/field.js +1 -1
  152. package/dist/primitives/fieldset.js +1 -1
  153. package/dist/primitives/form.js +1 -1
  154. package/dist/primitives/input.js +1 -1
  155. package/dist/primitives/menu.js +1 -1
  156. package/dist/primitives/menubar.js +1 -1
  157. package/dist/primitives/meter.js +1 -1
  158. package/dist/primitives/navigation-menu.js +1 -1
  159. package/dist/primitives/number-field.js +1 -1
  160. package/dist/primitives/otp-field.js +6 -0
  161. package/dist/primitives/otp-field.js.map +1 -0
  162. package/dist/primitives/popover.js +1 -1
  163. package/dist/primitives/preview-card.js +2 -2
  164. package/dist/primitives/progress.js +1 -1
  165. package/dist/primitives/radio-group.js +1 -1
  166. package/dist/primitives/radio.js +1 -1
  167. package/dist/primitives/scroll-area.js +1 -1
  168. package/dist/primitives/select.js +1 -1
  169. package/dist/primitives/separator.js +1 -1
  170. package/dist/primitives/slider.js +1 -1
  171. package/dist/primitives/switch.js +1 -1
  172. package/dist/primitives/tabs.js +1 -1
  173. package/dist/primitives/toast.js +1 -1
  174. package/dist/primitives/toggle-group.js +1 -1
  175. package/dist/primitives/toggle.js +1 -1
  176. package/dist/primitives/toolbar.js +1 -1
  177. package/dist/primitives/tooltip.js +1 -1
  178. package/dist/primitives.js +22 -21
  179. package/dist/scripts/theme-generator/config.d.ts.map +1 -1
  180. package/dist/scripts/theme-generator/config.js +13 -3
  181. package/dist/scripts/theme-generator/config.js.map +1 -1
  182. package/dist/src/components/autocomplete/autocomplete.d.ts +180 -0
  183. package/dist/src/components/autocomplete/autocomplete.d.ts.map +1 -0
  184. package/dist/src/components/autocomplete/index.d.ts +2 -0
  185. package/dist/src/components/autocomplete/index.d.ts.map +1 -0
  186. package/dist/src/components/button/button.d.ts +3 -3
  187. package/dist/src/components/button/button.d.ts.map +1 -1
  188. package/dist/src/components/chart/Color.d.ts +36 -52
  189. package/dist/src/components/chart/Color.d.ts.map +1 -1
  190. package/dist/src/components/chart/EChart.d.ts +18 -2
  191. package/dist/src/components/chart/EChart.d.ts.map +1 -1
  192. package/dist/src/components/chart/TimeseriesChart.d.ts.map +1 -1
  193. package/dist/src/components/chart/index.d.ts +1 -1
  194. package/dist/src/components/chart/index.d.ts.map +1 -1
  195. package/dist/src/components/checkbox/checkbox.d.ts +37 -14
  196. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  197. package/dist/src/components/checkbox/index.d.ts +1 -1
  198. package/dist/src/components/checkbox/index.d.ts.map +1 -1
  199. package/dist/src/components/clipboard-text/clipboard-text.d.ts.map +1 -1
  200. package/dist/src/components/collapsible/collapsible.d.ts +77 -40
  201. package/dist/src/components/collapsible/collapsible.d.ts.map +1 -1
  202. package/dist/src/components/collapsible/index.d.ts +1 -1
  203. package/dist/src/components/collapsible/index.d.ts.map +1 -1
  204. package/dist/src/components/combobox/combobox.d.ts +19 -3
  205. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  206. package/dist/src/components/command-palette/command-palette.d.ts +2 -11
  207. package/dist/src/components/command-palette/command-palette.d.ts.map +1 -1
  208. package/dist/src/components/command-palette/index.d.ts +1 -1
  209. package/dist/src/components/command-palette/index.d.ts.map +1 -1
  210. package/dist/src/components/command-palette/types.d.ts +13 -1
  211. package/dist/src/components/command-palette/types.d.ts.map +1 -1
  212. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  213. package/dist/src/components/input/index.d.ts +16 -1
  214. package/dist/src/components/input/index.d.ts.map +1 -1
  215. package/dist/src/components/input/input.d.ts +2 -2
  216. package/dist/src/components/input/input.d.ts.map +1 -1
  217. package/dist/src/components/input-group/context.d.ts +96 -0
  218. package/dist/src/components/input-group/context.d.ts.map +1 -0
  219. package/dist/src/components/input-group/index.d.ts +2 -0
  220. package/dist/src/components/input-group/index.d.ts.map +1 -0
  221. package/dist/src/components/input-group/input-group-addon.d.ts +15 -0
  222. package/dist/src/components/input-group/input-group-addon.d.ts.map +1 -0
  223. package/dist/src/components/input-group/input-group-button.d.ts +36 -0
  224. package/dist/src/components/input-group/input-group-button.d.ts.map +1 -0
  225. package/dist/src/components/input-group/input-group-input.d.ts +9 -0
  226. package/dist/src/components/input-group/input-group-input.d.ts.map +1 -0
  227. package/dist/src/components/input-group/input-group-suffix.d.ts +13 -0
  228. package/dist/src/components/input-group/input-group-suffix.d.ts.map +1 -0
  229. package/dist/src/components/input-group/input-group.d.ts +43 -0
  230. package/dist/src/components/input-group/input-group.d.ts.map +1 -0
  231. package/dist/src/components/label/label.d.ts.map +1 -1
  232. package/dist/src/components/layer-card/layer-card.d.ts +39 -5
  233. package/dist/src/components/layer-card/layer-card.d.ts.map +1 -1
  234. package/dist/src/components/menubar/menubar.d.ts.map +1 -1
  235. package/dist/src/components/pagination/pagination.d.ts +51 -1
  236. package/dist/src/components/pagination/pagination.d.ts.map +1 -1
  237. package/dist/src/components/popover/popover.d.ts +35 -8
  238. package/dist/src/components/popover/popover.d.ts.map +1 -1
  239. package/dist/src/components/radio/index.d.ts +1 -1
  240. package/dist/src/components/radio/index.d.ts.map +1 -1
  241. package/dist/src/components/radio/radio.d.ts +44 -8
  242. package/dist/src/components/radio/radio.d.ts.map +1 -1
  243. package/dist/src/components/select/select.d.ts +52 -8
  244. package/dist/src/components/select/select.d.ts.map +1 -1
  245. package/dist/src/components/sensitive-input/sensitive-input.d.ts +2 -2
  246. package/dist/src/components/sidebar/sidebar.d.ts +2 -2
  247. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -1
  248. package/dist/src/components/surface/index.d.ts +3 -0
  249. package/dist/src/components/surface/index.d.ts.map +1 -1
  250. package/dist/src/components/surface/surface.d.ts +14 -10
  251. package/dist/src/components/surface/surface.d.ts.map +1 -1
  252. package/dist/src/components/switch/index.d.ts +1 -1
  253. package/dist/src/components/switch/index.d.ts.map +1 -1
  254. package/dist/src/components/switch/switch.d.ts +31 -3
  255. package/dist/src/components/switch/switch.d.ts.map +1 -1
  256. package/dist/src/components/table/table.d.ts +17 -2
  257. package/dist/src/components/table/table.d.ts.map +1 -1
  258. package/dist/src/components/table-of-contents/index.d.ts +2 -0
  259. package/dist/src/components/table-of-contents/index.d.ts.map +1 -0
  260. package/dist/src/components/table-of-contents/table-of-contents.d.ts +72 -0
  261. package/dist/src/components/table-of-contents/table-of-contents.d.ts.map +1 -0
  262. package/dist/src/components/text/text.d.ts +34 -6
  263. package/dist/src/components/text/text.d.ts.map +1 -1
  264. package/dist/src/components/text/text.type-spec.d.ts +44 -0
  265. package/dist/src/components/text/text.type-spec.d.ts.map +1 -0
  266. package/dist/src/components/toast/toast.d.ts +1 -1
  267. package/dist/src/components/toast/toast.d.ts.map +1 -1
  268. package/dist/src/components/tooltip/tooltip.d.ts +15 -6
  269. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  270. package/dist/src/index.d.ts +14 -8
  271. package/dist/src/index.d.ts.map +1 -1
  272. package/dist/src/primitives/index.d.ts +1 -0
  273. package/dist/src/primitives/index.d.ts.map +1 -1
  274. package/dist/src/primitives/otp-field.d.ts +13 -0
  275. package/dist/src/primitives/otp-field.d.ts.map +1 -0
  276. package/dist/styles/kumo-binding.css +19 -0
  277. package/dist/styles/kumo-standalone.css +1 -1
  278. package/dist/styles/kumo.css +2 -2
  279. package/dist/styles/theme-kumo.css +13 -6
  280. package/package.json +18 -2
  281. package/scripts/component-registry/discovery.ts +1 -0
  282. package/scripts/component-registry/index.test.ts +265 -0
  283. package/scripts/component-registry/index.ts +14 -0
  284. package/scripts/component-registry/metadata.ts +55 -7
  285. package/scripts/component-registry/sub-components.ts +81 -50
  286. package/scripts/component-registry/types.ts +2 -0
  287. package/scripts/theme-generator/config.ts +18 -6
  288. package/dist/chunks/Legend-o0ntojbaplmszwk0.js +0 -421
  289. package/dist/chunks/Legend-o0ntojbaplmszwk0.js.map +0 -1
  290. package/dist/chunks/button-cdxnqcgzwko8ooha.js.map +0 -1
  291. package/dist/chunks/checkbox-kt1uojk2f9e0d0h1.js +0 -211
  292. package/dist/chunks/checkbox-kt1uojk2f9e0d0h1.js.map +0 -1
  293. package/dist/chunks/collapsible-jhzee3ks51d3xowb.js +0 -58
  294. package/dist/chunks/collapsible-jhzee3ks51d3xowb.js.map +0 -1
  295. package/dist/chunks/combobox-he2hd9e2ruknq5mp.js.map +0 -1
  296. package/dist/chunks/command-palette-jc1w07jwakxvj23a.js.map +0 -1
  297. package/dist/chunks/dialog-oqh8l3l3zutpibxx.js.map +0 -1
  298. package/dist/chunks/dropdown-ncwhcd912vmone8k.js +0 -300
  299. package/dist/chunks/dropdown-ncwhcd912vmone8k.js.map +0 -1
  300. package/dist/chunks/input-group-lxdd09p60cf27pe1.js +0 -111
  301. package/dist/chunks/input-group-lxdd09p60cf27pe1.js.map +0 -1
  302. package/dist/chunks/input-h48k3uagzrgb98au.js.map +0 -1
  303. package/dist/chunks/label-latndvb1ngem7we8.js +0 -62
  304. package/dist/chunks/layer-card-l5yjvrxry1dhte57.js +0 -44
  305. package/dist/chunks/layer-card-l5yjvrxry1dhte57.js.map +0 -1
  306. package/dist/chunks/menubar-f1pilzooe5mue7c4.js +0 -92
  307. package/dist/chunks/menubar-f1pilzooe5mue7c4.js.map +0 -1
  308. package/dist/chunks/pagination-cu5lm6p5dxuycta4.js +0 -243
  309. package/dist/chunks/pagination-cu5lm6p5dxuycta4.js.map +0 -1
  310. package/dist/chunks/popover-h300w4vit0s2ayej.js.map +0 -1
  311. package/dist/chunks/radio-jouttv89lbvhs55r.js.map +0 -1
  312. package/dist/chunks/select-kva5ru5f673kah1m.js +0 -179
  313. package/dist/chunks/select-kva5ru5f673kah1m.js.map +0 -1
  314. package/dist/chunks/sensitive-input-hd4tpqkzifad1yca.js.map +0 -1
  315. package/dist/chunks/sidebar-hljy3ssm8itc0ucx.js.map +0 -1
  316. package/dist/chunks/surface-cilvbyhmyujz1bee.js +0 -36
  317. package/dist/chunks/surface-cilvbyhmyujz1bee.js.map +0 -1
  318. package/dist/chunks/switch-ihaydbzem62bey4p.js.map +0 -1
  319. package/dist/chunks/table-inweecadl3her7pd.js +0 -183
  320. package/dist/chunks/table-inweecadl3her7pd.js.map +0 -1
  321. package/dist/chunks/text-nmyi1rkwdj37f30f.js.map +0 -1
  322. package/dist/chunks/tooltip-belkznz8t8333h5f.js.map +0 -1
  323. package/dist/chunks/vendor-base-ui-k7bzesq81ie36nya.js +0 -22813
  324. package/dist/chunks/vendor-base-ui-k7bzesq81ie36nya.js.map +0 -1
  325. package/dist/chunks/vendor-floating-ui-gr9m6tsa1cpqwn99.js +0 -1286
  326. package/dist/chunks/vendor-floating-ui-gr9m6tsa1cpqwn99.js.map +0 -1
  327. package/dist/chunks/vendor-utils-fxk97j6xi1g42z2v.js +0 -740
  328. package/dist/chunks/vendor-utils-fxk97j6xi1g42z2v.js.map +0 -1
  329. package/dist/src/components/input/input-group.d.ts +0 -39
  330. package/dist/src/components/input/input-group.d.ts.map +0 -1
@@ -1,59 +1,59 @@
1
1
  "use client";
2
- import { jsx as o, jsxs as m } from "react/jsx-runtime";
2
+ import { jsx as e, jsxs as m } from "react/jsx-runtime";
3
3
  import { CheckIcon as S, XIcon as h, CaretDownIcon as x } from "@phosphor-icons/react";
4
4
  import { createContext as T, useContext as u, Fragment as P } from "react";
5
- import { i as p, K as V } from "./input-h48k3uagzrgb98au.js";
6
- import { c as a } from "./cn-ct4n7r74mh8y0f48.js";
7
- import { F as j } from "./field-krp6z6vfbkrvufz2.js";
5
+ import { i as p, K as V } from "./input-lpa5fc75tgrraafv.js";
6
+ import { c as t } from "./cn-ct4n7r74mh8y0f48.js";
7
+ import { F as j } from "./field-lnj619xpe8zjd26r.js";
8
8
  import { u as G } from "./portal-provider-hwmkdmkpvct0cb76.js";
9
- import { a5 as L, a6 as M, a7 as F, a8 as _, a9 as A, aa as E, ab as b, ac as K, ad as O, ae as U, af as W, ag as D, ah as f, ai as H, aj as C, ak as N, al as X, am as q, an as B } from "./vendor-base-ui-k7bzesq81ie36nya.js";
9
+ import { a6 as L, a7 as M, a8 as F, a9 as _, aa as A, ab as E, ac as b, ad as K, ae as O, af as U, ag as W, ah as D, ai as f, aj as H, ak as C, al as N, am as X, an as q, ao as B } from "./vendor-base-ui-ie71jahf0czyf58j.js";
10
10
  V.size;
11
11
  const g = T("base");
12
12
  function y({
13
- label: e,
14
- required: t,
15
- labelTooltip: i,
16
- description: r,
17
- error: n,
13
+ label: o,
14
+ required: a,
15
+ labelTooltip: r,
16
+ description: n,
17
+ error: i,
18
18
  children: c,
19
19
  size: s = "base",
20
20
  ...l
21
21
  }) {
22
- const d = /* @__PURE__ */ o(g.Provider, { value: s, children: /* @__PURE__ */ o(M, { ...l, children: c }) });
23
- return e ? /* @__PURE__ */ o(
22
+ const d = /* @__PURE__ */ e(g.Provider, { value: s, children: /* @__PURE__ */ e(M, { ...l, children: c }) });
23
+ return o ? /* @__PURE__ */ e(
24
24
  j,
25
25
  {
26
- label: e,
27
- required: t,
28
- labelTooltip: i,
29
- description: r,
30
- error: n ? typeof n == "string" ? { message: n, match: !0 } : n : void 0,
26
+ label: o,
27
+ required: a,
28
+ labelTooltip: r,
29
+ description: n,
30
+ error: i ? typeof i == "string" ? { message: i, match: !0 } : i : void 0,
31
31
  children: d
32
32
  }
33
33
  ) : d;
34
34
  }
35
35
  function v({
36
- children: e,
37
- className: t,
38
- align: i = "start",
39
- sideOffset: r = 4,
40
- alignOffset: n,
36
+ children: o,
37
+ className: a,
38
+ align: r = "start",
39
+ sideOffset: n = 4,
40
+ alignOffset: i,
41
41
  side: c,
42
42
  container: s
43
43
  }) {
44
44
  const l = G();
45
- return /* @__PURE__ */ o(X, { container: s ?? l ?? void 0, children: /* @__PURE__ */ o(
45
+ return /* @__PURE__ */ e(X, { container: s ?? l ?? void 0, children: /* @__PURE__ */ e(
46
46
  q,
47
47
  {
48
48
  className: "",
49
- align: i,
50
- sideOffset: r,
51
- alignOffset: n,
49
+ align: r,
50
+ sideOffset: n,
51
+ alignOffset: i,
52
52
  side: c,
53
- children: /* @__PURE__ */ o(
53
+ children: /* @__PURE__ */ e(
54
54
  B,
55
55
  {
56
- className: a(
56
+ className: t(
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",
@@ -61,9 +61,9 @@ function v({
61
61
  // background
62
62
  "rounded-lg shadow-lg ring ring-kumo-line",
63
63
  // border part
64
- t
64
+ a
65
65
  ),
66
- children: e
66
+ children: o
67
67
  }
68
68
  )
69
69
  }
@@ -76,30 +76,30 @@ const J = {
76
76
  lg: { padding: "pr-10", iconSize: 18, iconRight: "right-3" }
77
77
  };
78
78
  function z({
79
- className: e,
80
- ...t
79
+ className: o,
80
+ ...a
81
81
  }) {
82
- const i = u(g), r = J[i];
82
+ const r = u(g), n = J[r];
83
83
  return /* @__PURE__ */ m(
84
84
  C,
85
85
  {
86
- className: a(
87
- p({ size: i }),
86
+ className: t(
87
+ p({ size: r }),
88
88
  "relative flex items-center",
89
89
  "data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
90
- r.padding,
91
- e
90
+ n.padding,
91
+ o
92
92
  ),
93
93
  children: [
94
- /* @__PURE__ */ o(f, { children: t.children }),
95
- /* @__PURE__ */ o(
94
+ /* @__PURE__ */ e(f, { children: a.children }),
95
+ /* @__PURE__ */ e(
96
96
  N,
97
97
  {
98
- className: a(
98
+ className: t(
99
99
  "absolute top-1/2 -translate-y-1/2 flex items-center text-kumo-subtle",
100
- r.iconRight
100
+ n.iconRight
101
101
  ),
102
- children: /* @__PURE__ */ o(x, { size: r.iconSize, className: "fill-current" })
102
+ children: /* @__PURE__ */ e(x, { size: n.iconSize, className: "fill-current" })
103
103
  }
104
104
  )
105
105
  ]
@@ -132,139 +132,162 @@ const Q = {
132
132
  caretRight: "right-3"
133
133
  }
134
134
  };
135
- function R(e) {
136
- const t = u(g), i = Q[t];
135
+ function R({
136
+ clearLabel: o = "Clear selection",
137
+ showOptionsLabel: a = "Show options",
138
+ ...r
139
+ }) {
140
+ const n = u(g), i = Q[n];
137
141
  return /* @__PURE__ */ m(
138
142
  "div",
139
143
  {
140
- className: a(
144
+ className: t(
141
145
  "relative inline-block w-full max-w-xs",
142
146
  "has-[:disabled]:opacity-50 has-[:disabled]:cursor-not-allowed",
143
- e.className
147
+ r.className
144
148
  ),
145
149
  children: [
146
- /* @__PURE__ */ o(
150
+ /* @__PURE__ */ e(
147
151
  b,
148
152
  {
149
- ...e,
150
- className: a(
151
- p({ size: t }),
153
+ ...r,
154
+ className: t(
155
+ p({ size: n }),
152
156
  "w-full",
153
157
  i.padding,
154
158
  "disabled:cursor-not-allowed"
155
159
  )
156
160
  }
157
161
  ),
158
- /* @__PURE__ */ o(
162
+ /* @__PURE__ */ e(
159
163
  H,
160
164
  {
161
- className: a(
165
+ "aria-label": o,
166
+ className: t(
162
167
  "absolute top-1/2 flex -translate-y-1/2 cursor-pointer bg-transparent p-0",
163
168
  "data-[disabled]:pointer-events-none data-[disabled]:opacity-0",
164
169
  i.clearRight
165
170
  ),
166
- children: /* @__PURE__ */ o(h, { size: i.iconSize })
171
+ children: /* @__PURE__ */ e(h, { size: i.iconSize })
167
172
  }
168
173
  ),
169
- /* @__PURE__ */ o(C, { className: "p-0", children: /* @__PURE__ */ o(
170
- N,
174
+ /* @__PURE__ */ e(
175
+ C,
171
176
  {
172
- className: a(
173
- "absolute top-1/2 flex -translate-y-1/2 cursor-pointer text-kumo-subtle",
177
+ "aria-label": a,
178
+ className: t(
179
+ "absolute top-1/2 -translate-y-1/2 flex items-center justify-center cursor-pointer text-kumo-subtle",
180
+ "m-0 bg-transparent p-0",
181
+ // Reset Stratus global button styles
174
182
  i.caretRight
175
183
  ),
176
- children: /* @__PURE__ */ o(x, { size: i.iconSize, className: "fill-current" })
184
+ children: /* @__PURE__ */ e(N, { children: /* @__PURE__ */ e(x, { size: i.iconSize, className: "fill-current" }) })
177
185
  }
178
- ) })
186
+ )
179
187
  ]
180
188
  }
181
189
  );
182
190
  }
183
- function I({ children: e, ...t }) {
191
+ function w({
192
+ children: o,
193
+ className: a,
194
+ ...r
195
+ }) {
184
196
  return /* @__PURE__ */ m(
185
197
  K,
186
198
  {
187
- ...t,
188
- 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",
199
+ ...r,
200
+ className: t(
201
+ "group mx-1.5 grid grid-cols-[1fr_16px] gap-2 rounded px-2 py-1.5 text-base",
202
+ "cursor-pointer data-highlighted:bg-kumo-tint",
203
+ // Disabled rows: muted text, no pointer, suppress highlight bg even
204
+ // when keyboard nav lands on them. Base UI sets `data-disabled` on
205
+ // the element when the `disabled` prop is true.
206
+ "data-[disabled]:cursor-not-allowed data-[disabled]:text-kumo-subtle data-[disabled]:opacity-60 data-[disabled]:data-highlighted:bg-transparent",
207
+ a
208
+ ),
189
209
  children: [
190
- /* @__PURE__ */ o("div", { className: "col-start-1", children: e }),
191
- /* @__PURE__ */ o(O, { className: "col-start-2 flex items-center", children: /* @__PURE__ */ o(S, {}) })
210
+ /* @__PURE__ */ e("div", { className: "col-start-1", children: o }),
211
+ /* @__PURE__ */ e(O, { className: "col-start-2 flex items-center", children: /* @__PURE__ */ e(S, {}) })
192
212
  ]
193
213
  }
194
214
  );
195
215
  }
196
- function Y(e) {
197
- return /* @__PURE__ */ o(
216
+ function Y(o) {
217
+ return /* @__PURE__ */ e(
198
218
  E,
199
219
  {
200
- ...e,
201
- className: a(
220
+ ...o,
221
+ className: t(
202
222
  "mx-1.5 shrink-0 px-4 py-2 text-[0.925rem] leading-4 text-kumo-subtle empty:m-0 empty:p-0"
203
223
  ),
204
- children: e.children ?? "No labels found."
224
+ children: o.children ?? "No labels found."
205
225
  }
206
226
  );
207
227
  }
208
- function Z(e) {
209
- return /* @__PURE__ */ o(
228
+ function Z(o) {
229
+ return /* @__PURE__ */ e(
210
230
  b,
211
231
  {
212
- ...e,
213
- className: a(
232
+ ...o,
233
+ className: t(
214
234
  p(),
215
235
  "mx-1.5 w-[calc(100%-0.75rem)] shrink-0 first:mb-2",
216
- e.className
236
+ o.className
217
237
  )
218
238
  }
219
239
  );
220
240
  }
221
241
  function $({
222
- className: e,
223
- ...t
242
+ className: o,
243
+ ...a
224
244
  }) {
225
- return /* @__PURE__ */ o(
245
+ return /* @__PURE__ */ e(
226
246
  F,
227
247
  {
228
- ...t,
229
- className: a(
248
+ ...a,
249
+ className: t(
230
250
  "min-h-0 flex-1 overflow-y-auto overscroll-contain scroll-pt-2 scroll-pb-2",
231
- e
251
+ o
232
252
  )
233
253
  }
234
254
  );
235
255
  }
236
- function ee(e) {
237
- return /* @__PURE__ */ o(
256
+ function ee(o) {
257
+ return /* @__PURE__ */ e(
238
258
  A,
239
259
  {
240
- ...e,
241
- className: a(
260
+ ...o,
261
+ className: t(
242
262
  "mx-1.5 px-2 py-1.5 text-sm text-kumo-strong",
243
- e.className
263
+ o.className
244
264
  )
245
265
  }
246
266
  );
247
267
  }
248
- function oe(e) {
249
- return /* @__PURE__ */ o(
268
+ function oe(o) {
269
+ return /* @__PURE__ */ e(
250
270
  _,
251
271
  {
252
- ...e,
253
- className: "border-t border-kumo-line mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0"
272
+ ...o,
273
+ className: "border-t border-kumo-hairline mt-2 pt-2 first:border-t-0 first:mt-0 first:pt-0"
254
274
  }
255
275
  );
256
276
  }
257
- function w(e) {
277
+ function I({
278
+ removeLabel: o = "Remove",
279
+ ...a
280
+ }) {
258
281
  return /* @__PURE__ */ m(
259
282
  U,
260
283
  {
261
- ...e,
262
- className: a(
284
+ ...a,
285
+ className: t(
263
286
  "flex items-center gap-2.5",
264
287
  // Layout
265
288
  "h-6 pl-2 pr-[3px]",
266
289
  // Dimensions
267
- "rounded-sm ring-1 ring-kumo-line",
290
+ "rounded-sm ring-1 ring-kumo-hairline",
268
291
  // Border
269
292
  "bg-kumo-overlay",
270
293
  // Background
@@ -272,62 +295,63 @@ function w(e) {
272
295
  // Typography
273
296
  ),
274
297
  children: [
275
- e.children,
276
- /* @__PURE__ */ o(
298
+ a.children,
299
+ /* @__PURE__ */ e(
277
300
  W,
278
301
  {
279
- className: a(
302
+ "aria-label": o,
303
+ className: t(
280
304
  "cursor-pointer rounded-md p-1 hover:bg-kumo-fill-hover",
281
305
  "bg-transparent flex"
282
306
  ),
283
- children: /* @__PURE__ */ o(h, { size: 10 })
307
+ children: /* @__PURE__ */ e(h, { size: 10 })
284
308
  }
285
309
  )
286
310
  ]
287
311
  }
288
312
  );
289
313
  }
290
- const te = {
314
+ const ae = {
291
315
  xs: "min-h-5",
292
316
  sm: "min-h-6.5",
293
317
  base: "min-h-9",
294
318
  lg: "min-h-10"
295
319
  };
296
320
  function k({
297
- placeholder: e,
298
- renderItem: t,
299
- className: i,
300
- inputSide: r = "right",
301
- value: n
321
+ placeholder: o,
322
+ renderItem: a,
323
+ className: r,
324
+ inputSide: n = "right",
325
+ value: i
302
326
  }) {
303
- const c = u(g), s = n;
327
+ const c = u(g), s = i;
304
328
  return /* @__PURE__ */ m(
305
329
  D,
306
330
  {
307
- className: a(
331
+ className: t(
308
332
  p({ size: c }),
309
333
  "flex flex-col",
310
334
  "gap-1 py-1 px-1.5",
311
- te[c],
335
+ ae[c],
312
336
  "h-auto",
313
337
  "data-[disabled]:opacity-50 data-[disabled]:cursor-not-allowed",
314
- i
338
+ r
315
339
  ),
316
340
  children: [
317
- r === "top" && /* @__PURE__ */ o(
341
+ n === "top" && /* @__PURE__ */ e(
318
342
  b,
319
343
  {
320
- placeholder: e,
344
+ placeholder: o,
321
345
  className: "w-full px-2 py-1 border-0 bg-inherit"
322
346
  }
323
347
  ),
324
348
  /* @__PURE__ */ m("div", { className: "flex items-center flex-wrap gap-1.5 flex-1", children: [
325
- s !== void 0 && s.length > 0 && s.map((l) => t(l)),
326
- /* @__PURE__ */ o(f, { children: (l) => s !== void 0 ? null : /* @__PURE__ */ o(P, { children: l.map((d) => t(d)) }) }),
327
- r === "right" && /* @__PURE__ */ o(
349
+ s !== void 0 && s.length > 0 && s.map((l) => a(l)),
350
+ /* @__PURE__ */ e(f, { children: (l) => s !== void 0 ? null : /* @__PURE__ */ e(P, { children: l.map((d) => a(d)) }) }),
351
+ n === "right" && /* @__PURE__ */ e(
328
352
  b,
329
353
  {
330
- placeholder: e,
354
+ placeholder: o,
331
355
  className: "min-w-[100px] flex-1 px-2 py-1 border-0 bg-inherit"
332
356
  }
333
357
  )
@@ -340,8 +364,8 @@ y.displayName = "Combobox.Root";
340
364
  v.displayName = "Combobox.Content";
341
365
  z.displayName = "Combobox.TriggerValue";
342
366
  R.displayName = "Combobox.TriggerInput";
343
- I.displayName = "Combobox.Item";
344
- w.displayName = "Combobox.Chip";
367
+ w.displayName = "Combobox.Item";
368
+ I.displayName = "Combobox.Chip";
345
369
  k.displayName = "Combobox.TriggerMultipleWithInput";
346
370
  const de = Object.assign(y, {
347
371
  // Helper components
@@ -350,8 +374,8 @@ const de = Object.assign(y, {
350
374
  TriggerInput: R,
351
375
  TriggerMultipleWithInput: k,
352
376
  // Slightly modified BaseUI
353
- Chip: w,
354
- Item: I,
377
+ Chip: I,
378
+ Item: w,
355
379
  // Styled BaseUI
356
380
  Input: Z,
357
381
  Empty: Y,
@@ -365,4 +389,4 @@ const de = Object.assign(y, {
365
389
  export {
366
390
  de as C
367
391
  };
368
- //# sourceMappingURL=combobox-he2hd9e2ruknq5mp.js.map
392
+ //# sourceMappingURL=combobox-n9qht9h9ag6kh5sn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-n9qht9h9ag6kh5sn.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({\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 = 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 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 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>\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 {...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-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-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 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 = 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","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"],"mappings":"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"}