@raystack/apsara 0.56.5 → 1.0.0-rc.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 (611) hide show
  1. package/README.md +3 -3
  2. package/dist/components/accordion/accordion-content.cjs +3 -3
  3. package/dist/components/accordion/accordion-content.cjs.map +1 -1
  4. package/dist/components/accordion/accordion-content.d.ts +1 -7
  5. package/dist/components/accordion/accordion-content.d.ts.map +1 -1
  6. package/dist/components/accordion/accordion-content.js +3 -3
  7. package/dist/components/accordion/accordion-content.js.map +1 -1
  8. package/dist/components/accordion/accordion-item.cjs +3 -3
  9. package/dist/components/accordion/accordion-item.cjs.map +1 -1
  10. package/dist/components/accordion/accordion-item.d.ts +1 -7
  11. package/dist/components/accordion/accordion-item.d.ts.map +1 -1
  12. package/dist/components/accordion/accordion-item.js +2 -2
  13. package/dist/components/accordion/accordion-item.js.map +1 -1
  14. package/dist/components/accordion/accordion-root.cjs +24 -13
  15. package/dist/components/accordion/accordion-root.cjs.map +1 -1
  16. package/dist/components/accordion/accordion-root.d.ts +12 -6
  17. package/dist/components/accordion/accordion-root.d.ts.map +1 -1
  18. package/dist/components/accordion/accordion-root.js +24 -13
  19. package/dist/components/accordion/accordion-root.js.map +1 -1
  20. package/dist/components/accordion/accordion-trigger.cjs +3 -3
  21. package/dist/components/accordion/accordion-trigger.cjs.map +1 -1
  22. package/dist/components/accordion/accordion-trigger.d.ts +1 -7
  23. package/dist/components/accordion/accordion-trigger.d.ts.map +1 -1
  24. package/dist/components/accordion/accordion-trigger.js +2 -2
  25. package/dist/components/accordion/accordion-trigger.js.map +1 -1
  26. package/dist/components/accordion/accordion.d.ts +14 -4
  27. package/dist/components/accordion/accordion.d.ts.map +1 -1
  28. package/dist/components/accordion/accordion.module.css.cjs +1 -1
  29. package/dist/components/accordion/accordion.module.css.js +1 -1
  30. package/dist/components/avatar/avatar.cjs +4 -5
  31. package/dist/components/avatar/avatar.cjs.map +1 -1
  32. package/dist/components/avatar/avatar.d.ts +4 -5
  33. package/dist/components/avatar/avatar.d.ts.map +1 -1
  34. package/dist/components/avatar/avatar.js +4 -5
  35. package/dist/components/avatar/avatar.js.map +1 -1
  36. package/dist/components/avatar/index.d.ts +2 -2
  37. package/dist/components/breadcrumb/breadcrumb-item.cjs +2 -2
  38. package/dist/components/breadcrumb/breadcrumb-item.cjs.map +1 -1
  39. package/dist/components/breadcrumb/breadcrumb-item.d.ts +3 -3
  40. package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -1
  41. package/dist/components/breadcrumb/breadcrumb-item.js +2 -2
  42. package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -1
  43. package/dist/components/button/button.cjs +3 -4
  44. package/dist/components/button/button.cjs.map +1 -1
  45. package/dist/components/button/button.d.ts +12 -11
  46. package/dist/components/button/button.d.ts.map +1 -1
  47. package/dist/components/button/button.js +3 -4
  48. package/dist/components/button/button.js.map +1 -1
  49. package/dist/components/calendar/calendar.cjs +1 -2
  50. package/dist/components/calendar/calendar.cjs.map +1 -1
  51. package/dist/components/calendar/calendar.d.ts.map +1 -1
  52. package/dist/components/calendar/calendar.js +2 -3
  53. package/dist/components/calendar/calendar.js.map +1 -1
  54. package/dist/components/checkbox/__tests__/checkbox-group.test.d.ts +2 -0
  55. package/dist/components/checkbox/__tests__/checkbox-group.test.d.ts.map +1 -0
  56. package/dist/components/checkbox/checkbox.cjs +10 -21
  57. package/dist/components/checkbox/checkbox.cjs.map +1 -1
  58. package/dist/components/checkbox/checkbox.d.ts +3 -13
  59. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  60. package/dist/components/checkbox/checkbox.js +11 -22
  61. package/dist/components/checkbox/checkbox.js.map +1 -1
  62. package/dist/components/checkbox/checkbox.module.css.cjs +1 -1
  63. package/dist/components/checkbox/checkbox.module.css.js +1 -1
  64. package/dist/components/checkbox/index.d.ts +1 -1
  65. package/dist/components/chip/chip.d.ts +1 -1
  66. package/dist/components/code-block/code-block-misc.d.ts +15 -15
  67. package/dist/components/code-block/code-block-misc.d.ts.map +1 -1
  68. package/dist/components/code-block/code-block.d.ts +100 -0
  69. package/dist/components/code-block/code-block.d.ts.map +1 -0
  70. package/dist/components/collapsible/__tests__/collapsible.test.d.ts +2 -0
  71. package/dist/components/collapsible/__tests__/collapsible.test.d.ts.map +1 -0
  72. package/dist/components/collapsible/collapsible.cjs +22 -0
  73. package/dist/components/collapsible/collapsible.cjs.map +1 -0
  74. package/dist/components/collapsible/collapsible.d.ts +5 -0
  75. package/dist/components/collapsible/collapsible.d.ts.map +1 -0
  76. package/dist/components/collapsible/collapsible.js +20 -0
  77. package/dist/components/collapsible/collapsible.js.map +1 -0
  78. package/dist/components/collapsible/collapsible.module.css.cjs +8 -0
  79. package/dist/components/collapsible/collapsible.module.css.cjs.map +1 -0
  80. package/dist/components/collapsible/collapsible.module.css.js +4 -0
  81. package/dist/components/collapsible/collapsible.module.css.js.map +1 -0
  82. package/dist/components/collapsible/index.d.ts +2 -0
  83. package/dist/components/collapsible/index.d.ts.map +1 -0
  84. package/dist/components/color-picker/color-picker-alpha.cjs +3 -3
  85. package/dist/components/color-picker/color-picker-alpha.cjs.map +1 -1
  86. package/dist/components/color-picker/color-picker-alpha.d.ts +2 -3
  87. package/dist/components/color-picker/color-picker-alpha.d.ts.map +1 -1
  88. package/dist/components/color-picker/color-picker-alpha.js +4 -4
  89. package/dist/components/color-picker/color-picker-alpha.js.map +1 -1
  90. package/dist/components/color-picker/color-picker-hue.cjs +3 -3
  91. package/dist/components/color-picker/color-picker-hue.cjs.map +1 -1
  92. package/dist/components/color-picker/color-picker-hue.d.ts +2 -3
  93. package/dist/components/color-picker/color-picker-hue.d.ts.map +1 -1
  94. package/dist/components/color-picker/color-picker-hue.js +4 -4
  95. package/dist/components/color-picker/color-picker-hue.js.map +1 -1
  96. package/dist/components/color-picker/color-picker.d.ts +8 -0
  97. package/dist/components/color-picker/color-picker.d.ts.map +1 -0
  98. package/dist/components/color-picker/color-picker.module.css.cjs +1 -1
  99. package/dist/components/color-picker/color-picker.module.css.js +1 -1
  100. package/dist/components/combobox/combobox-content.cjs +5 -26
  101. package/dist/components/combobox/combobox-content.cjs.map +1 -1
  102. package/dist/components/combobox/combobox-content.d.ts +3 -4
  103. package/dist/components/combobox/combobox-content.d.ts.map +1 -1
  104. package/dist/components/combobox/combobox-content.js +6 -27
  105. package/dist/components/combobox/combobox-content.js.map +1 -1
  106. package/dist/components/combobox/combobox-input.cjs +10 -33
  107. package/dist/components/combobox/combobox-input.cjs.map +1 -1
  108. package/dist/components/combobox/combobox-input.d.ts.map +1 -1
  109. package/dist/components/combobox/combobox-input.js +11 -34
  110. package/dist/components/combobox/combobox-input.js.map +1 -1
  111. package/dist/components/combobox/combobox-item.cjs +15 -15
  112. package/dist/components/combobox/combobox-item.cjs.map +1 -1
  113. package/dist/components/combobox/combobox-item.d.ts +5 -5
  114. package/dist/components/combobox/combobox-item.d.ts.map +1 -1
  115. package/dist/components/combobox/combobox-item.js +15 -15
  116. package/dist/components/combobox/combobox-item.js.map +1 -1
  117. package/dist/components/combobox/combobox-misc.cjs +13 -13
  118. package/dist/components/combobox/combobox-misc.cjs.map +1 -1
  119. package/dist/components/combobox/combobox-misc.d.ts +3 -9
  120. package/dist/components/combobox/combobox-misc.d.ts.map +1 -1
  121. package/dist/components/combobox/combobox-misc.js +13 -13
  122. package/dist/components/combobox/combobox-misc.js.map +1 -1
  123. package/dist/components/combobox/combobox-root.cjs +23 -42
  124. package/dist/components/combobox/combobox-root.cjs.map +1 -1
  125. package/dist/components/combobox/combobox-root.d.ts +19 -26
  126. package/dist/components/combobox/combobox-root.d.ts.map +1 -1
  127. package/dist/components/combobox/combobox-root.js +24 -43
  128. package/dist/components/combobox/combobox-root.js.map +1 -1
  129. package/dist/components/combobox/combobox.d.ts +6 -12
  130. package/dist/components/combobox/combobox.d.ts.map +1 -1
  131. package/dist/components/combobox/combobox.module.css.cjs +1 -1
  132. package/dist/components/combobox/combobox.module.css.js +1 -1
  133. package/dist/components/data-table/components/content.cjs +30 -22
  134. package/dist/components/data-table/components/content.cjs.map +1 -1
  135. package/dist/components/data-table/components/content.d.ts.map +1 -1
  136. package/dist/components/data-table/components/content.js +30 -22
  137. package/dist/components/data-table/components/content.js.map +1 -1
  138. package/dist/components/data-table/components/filters.cjs +3 -3
  139. package/dist/components/data-table/components/filters.cjs.map +1 -1
  140. package/dist/components/data-table/components/filters.d.ts.map +1 -1
  141. package/dist/components/data-table/components/filters.js +4 -4
  142. package/dist/components/data-table/components/filters.js.map +1 -1
  143. package/dist/components/data-table/components/virtualized-content.cjs +56 -9
  144. package/dist/components/data-table/components/virtualized-content.cjs.map +1 -1
  145. package/dist/components/data-table/components/virtualized-content.d.ts.map +1 -1
  146. package/dist/components/data-table/components/virtualized-content.js +57 -10
  147. package/dist/components/data-table/components/virtualized-content.js.map +1 -1
  148. package/dist/components/data-table/data-table.cjs +30 -21
  149. package/dist/components/data-table/data-table.cjs.map +1 -1
  150. package/dist/components/data-table/data-table.d.ts +7 -7
  151. package/dist/components/data-table/data-table.d.ts.map +1 -1
  152. package/dist/components/data-table/data-table.js +31 -22
  153. package/dist/components/data-table/data-table.js.map +1 -1
  154. package/dist/components/data-table/data-table.module.css.cjs +1 -1
  155. package/dist/components/data-table/data-table.module.css.js +1 -1
  156. package/dist/components/data-table/data-table.types.cjs.map +1 -1
  157. package/dist/components/data-table/data-table.types.d.ts +5 -0
  158. package/dist/components/data-table/data-table.types.d.ts.map +1 -1
  159. package/dist/components/data-table/data-table.types.js.map +1 -1
  160. package/dist/components/data-table/utils/filter-operations.cjs +6 -6
  161. package/dist/components/data-table/utils/filter-operations.cjs.map +1 -1
  162. package/dist/components/data-table/utils/filter-operations.d.ts +1 -1
  163. package/dist/components/data-table/utils/filter-operations.js +6 -6
  164. package/dist/components/data-table/utils/filter-operations.js.map +1 -1
  165. package/dist/components/data-table/utils/index.cjs +12 -0
  166. package/dist/components/data-table/utils/index.cjs.map +1 -1
  167. package/dist/components/data-table/utils/index.d.ts +5 -0
  168. package/dist/components/data-table/utils/index.d.ts.map +1 -1
  169. package/dist/components/data-table/utils/index.js +12 -1
  170. package/dist/components/data-table/utils/index.js.map +1 -1
  171. package/dist/components/dialog/dialog-content.cjs +17 -0
  172. package/dist/components/dialog/dialog-content.cjs.map +1 -0
  173. package/dist/components/dialog/dialog-content.d.ts +15 -0
  174. package/dist/components/dialog/dialog-content.d.ts.map +1 -0
  175. package/dist/components/dialog/dialog-content.js +15 -0
  176. package/dist/components/dialog/dialog-content.js.map +1 -0
  177. package/dist/components/dialog/dialog-misc.cjs +37 -0
  178. package/dist/components/dialog/dialog-misc.cjs.map +1 -0
  179. package/dist/components/dialog/dialog-misc.d.ts +34 -0
  180. package/dist/components/dialog/dialog-misc.d.ts.map +1 -0
  181. package/dist/components/dialog/dialog-misc.js +30 -0
  182. package/dist/components/dialog/dialog-misc.js.map +1 -0
  183. package/dist/components/dialog/dialog.cjs +13 -44
  184. package/dist/components/dialog/dialog.cjs.map +1 -1
  185. package/dist/components/dialog/dialog.d.ts +38 -44
  186. package/dist/components/dialog/dialog.d.ts.map +1 -1
  187. package/dist/components/dialog/dialog.js +6 -34
  188. package/dist/components/dialog/dialog.js.map +1 -1
  189. package/dist/components/dialog/dialog.module.css.cjs +1 -1
  190. package/dist/components/dialog/dialog.module.css.js +1 -1
  191. package/dist/components/drawer/__tests__/drawer.test.d.ts +2 -0
  192. package/dist/components/drawer/__tests__/drawer.test.d.ts.map +1 -0
  193. package/dist/components/drawer/drawer-content.cjs +30 -0
  194. package/dist/components/drawer/drawer-content.cjs.map +1 -0
  195. package/dist/components/drawer/drawer-content.d.ts +13 -0
  196. package/dist/components/drawer/drawer-content.d.ts.map +1 -0
  197. package/dist/components/drawer/drawer-content.js +28 -0
  198. package/dist/components/drawer/drawer-content.js.map +1 -0
  199. package/dist/components/drawer/drawer-misc.cjs +26 -0
  200. package/dist/components/drawer/drawer-misc.cjs.map +1 -0
  201. package/dist/components/drawer/drawer-misc.d.ts +13 -0
  202. package/dist/components/drawer/drawer-misc.d.ts.map +1 -0
  203. package/dist/components/drawer/drawer-misc.js +20 -0
  204. package/dist/components/drawer/drawer-misc.js.map +1 -0
  205. package/dist/components/drawer/drawer-root.cjs +19 -0
  206. package/dist/components/drawer/drawer-root.cjs.map +1 -0
  207. package/dist/components/drawer/drawer-root.d.ts +12 -0
  208. package/dist/components/drawer/drawer-root.d.ts.map +1 -0
  209. package/dist/components/drawer/drawer-root.js +17 -0
  210. package/dist/components/drawer/drawer-root.js.map +1 -0
  211. package/dist/components/drawer/drawer.cjs +20 -0
  212. package/dist/components/drawer/drawer.cjs.map +1 -0
  213. package/dist/components/drawer/drawer.d.ts +21 -0
  214. package/dist/components/drawer/drawer.d.ts.map +1 -0
  215. package/dist/components/drawer/drawer.js +18 -0
  216. package/dist/components/drawer/drawer.js.map +1 -0
  217. package/dist/components/drawer/drawer.module.css.cjs +8 -0
  218. package/dist/components/drawer/drawer.module.css.cjs.map +1 -0
  219. package/dist/components/drawer/drawer.module.css.js +4 -0
  220. package/dist/components/drawer/drawer.module.css.js.map +1 -0
  221. package/dist/components/drawer/index.d.ts +2 -0
  222. package/dist/components/drawer/index.d.ts.map +1 -0
  223. package/dist/components/flex/flex.cjs +13 -4
  224. package/dist/components/flex/flex.cjs.map +1 -1
  225. package/dist/components/flex/flex.d.ts +7 -6
  226. package/dist/components/flex/flex.d.ts.map +1 -1
  227. package/dist/components/flex/flex.js +13 -4
  228. package/dist/components/flex/flex.js.map +1 -1
  229. package/dist/components/grid/grid-item.cjs +21 -16
  230. package/dist/components/grid/grid-item.cjs.map +1 -1
  231. package/dist/components/grid/grid-item.d.ts +14 -13
  232. package/dist/components/grid/grid-item.d.ts.map +1 -1
  233. package/dist/components/grid/grid-item.js +21 -16
  234. package/dist/components/grid/grid-item.js.map +1 -1
  235. package/dist/components/grid/grid.cjs +26 -21
  236. package/dist/components/grid/grid.cjs.map +1 -1
  237. package/dist/components/grid/grid.d.ts +27 -18
  238. package/dist/components/grid/grid.d.ts.map +1 -1
  239. package/dist/components/grid/grid.js +26 -21
  240. package/dist/components/grid/grid.js.map +1 -1
  241. package/dist/components/grid/index.d.ts +8 -6
  242. package/dist/components/grid/index.d.ts.map +1 -1
  243. package/dist/components/headline/headline.d.ts +1 -1
  244. package/dist/components/input-field/input-field.cjs +2 -2
  245. package/dist/components/input-field/input-field.cjs.map +1 -1
  246. package/dist/components/input-field/input-field.d.ts +2 -1
  247. package/dist/components/input-field/input-field.d.ts.map +1 -1
  248. package/dist/components/input-field/input-field.js +2 -2
  249. package/dist/components/input-field/input-field.js.map +1 -1
  250. package/dist/components/menu/__tests__/menu.test.d.ts +2 -0
  251. package/dist/components/menu/__tests__/menu.test.d.ts.map +1 -0
  252. package/dist/components/menu/cell.cjs +12 -0
  253. package/dist/components/menu/cell.cjs.map +1 -0
  254. package/dist/components/{dropdown-menu → menu}/cell.d.ts +2 -2
  255. package/dist/components/menu/cell.d.ts.map +1 -0
  256. package/dist/components/menu/cell.js +10 -0
  257. package/dist/components/menu/cell.js.map +1 -0
  258. package/dist/components/{dropdown-menu → menu}/cell.module.css.cjs +1 -1
  259. package/dist/components/menu/cell.module.css.js +4 -0
  260. package/dist/components/menu/index.d.ts +2 -0
  261. package/dist/components/menu/index.d.ts.map +1 -0
  262. package/dist/components/menu/menu-content.cjs +95 -0
  263. package/dist/components/menu/menu-content.cjs.map +1 -0
  264. package/dist/components/menu/menu-content.d.ts +7 -0
  265. package/dist/components/menu/menu-content.d.ts.map +1 -0
  266. package/dist/components/menu/menu-content.js +92 -0
  267. package/dist/components/menu/menu-content.js.map +1 -0
  268. package/dist/components/menu/menu-item.cjs +30 -0
  269. package/dist/components/menu/menu-item.cjs.map +1 -0
  270. package/dist/components/menu/menu-item.d.ts +7 -0
  271. package/dist/components/menu/menu-item.d.ts.map +1 -0
  272. package/dist/components/menu/menu-item.js +28 -0
  273. package/dist/components/menu/menu-item.js.map +1 -0
  274. package/dist/components/menu/menu-misc.cjs +42 -0
  275. package/dist/components/menu/menu-misc.cjs.map +1 -0
  276. package/dist/components/menu/menu-misc.d.ts +8 -0
  277. package/dist/components/menu/menu-misc.d.ts.map +1 -0
  278. package/dist/components/menu/menu-misc.js +37 -0
  279. package/dist/components/menu/menu-misc.js.map +1 -0
  280. package/dist/components/menu/menu-root.cjs +103 -0
  281. package/dist/components/menu/menu-root.cjs.map +1 -0
  282. package/dist/components/menu/menu-root.d.ts +71 -0
  283. package/dist/components/menu/menu-root.d.ts.map +1 -0
  284. package/dist/components/menu/menu-root.js +98 -0
  285. package/dist/components/menu/menu-root.js.map +1 -0
  286. package/dist/components/menu/menu-trigger.cjs +43 -0
  287. package/dist/components/menu/menu-trigger.cjs.map +1 -0
  288. package/dist/components/menu/menu-trigger.d.ts +11 -0
  289. package/dist/components/menu/menu-trigger.d.ts.map +1 -0
  290. package/dist/components/menu/menu-trigger.js +40 -0
  291. package/dist/components/menu/menu-trigger.js.map +1 -0
  292. package/dist/components/menu/menu.cjs +23 -0
  293. package/dist/components/menu/menu.cjs.map +1 -0
  294. package/dist/components/menu/menu.d.ts +21 -0
  295. package/dist/components/menu/menu.d.ts.map +1 -0
  296. package/dist/components/menu/menu.js +21 -0
  297. package/dist/components/menu/menu.js.map +1 -0
  298. package/dist/components/menu/menu.module.css.cjs +8 -0
  299. package/dist/components/menu/menu.module.css.cjs.map +1 -0
  300. package/dist/components/menu/menu.module.css.js +4 -0
  301. package/dist/components/menu/menu.module.css.js.map +1 -0
  302. package/dist/components/menu/utils.cjs +53 -0
  303. package/dist/components/menu/utils.cjs.map +1 -0
  304. package/dist/components/menu/utils.d.ts +8 -0
  305. package/dist/components/menu/utils.d.ts.map +1 -0
  306. package/dist/components/menu/utils.js +46 -0
  307. package/dist/components/menu/utils.js.map +1 -0
  308. package/dist/components/popover/popover.cjs +8 -7
  309. package/dist/components/popover/popover.cjs.map +1 -1
  310. package/dist/components/popover/popover.d.ts +6 -8
  311. package/dist/components/popover/popover.d.ts.map +1 -1
  312. package/dist/components/popover/popover.js +7 -6
  313. package/dist/components/popover/popover.js.map +1 -1
  314. package/dist/components/popover/popover.module.css.cjs +1 -1
  315. package/dist/components/popover/popover.module.css.js +1 -1
  316. package/dist/components/preview-card/__tests__/preview-card.test.d.ts +2 -0
  317. package/dist/components/preview-card/__tests__/preview-card.test.d.ts.map +1 -0
  318. package/dist/components/preview-card/index.d.ts +2 -0
  319. package/dist/components/preview-card/index.d.ts.map +1 -0
  320. package/dist/components/preview-card/preview-card.cjs +24 -0
  321. package/dist/components/preview-card/preview-card.cjs.map +1 -0
  322. package/dist/components/preview-card/preview-card.d.ts +15 -0
  323. package/dist/components/preview-card/preview-card.d.ts.map +1 -0
  324. package/dist/components/preview-card/preview-card.js +22 -0
  325. package/dist/components/preview-card/preview-card.js.map +1 -0
  326. package/dist/components/preview-card/preview-card.module.css.cjs +8 -0
  327. package/dist/components/preview-card/preview-card.module.css.cjs.map +1 -0
  328. package/dist/components/preview-card/preview-card.module.css.js +4 -0
  329. package/dist/components/preview-card/preview-card.module.css.js.map +1 -0
  330. package/dist/components/radio/index.d.ts +1 -1
  331. package/dist/components/radio/radio.cjs +8 -11
  332. package/dist/components/radio/radio.cjs.map +1 -1
  333. package/dist/components/radio/radio.d.ts +4 -13
  334. package/dist/components/radio/radio.d.ts.map +1 -1
  335. package/dist/components/radio/radio.js +10 -12
  336. package/dist/components/radio/radio.js.map +1 -1
  337. package/dist/components/scroll-area/index.d.ts +2 -1
  338. package/dist/components/scroll-area/index.d.ts.map +1 -1
  339. package/dist/components/scroll-area/scroll-area-scrollbar.cjs +4 -4
  340. package/dist/components/scroll-area/scroll-area-scrollbar.cjs.map +1 -1
  341. package/dist/components/scroll-area/scroll-area-scrollbar.d.ts +5 -6
  342. package/dist/components/scroll-area/scroll-area-scrollbar.d.ts.map +1 -1
  343. package/dist/components/scroll-area/scroll-area-scrollbar.js +4 -4
  344. package/dist/components/scroll-area/scroll-area-scrollbar.js.map +1 -1
  345. package/dist/components/scroll-area/scroll-area.cjs +11 -2
  346. package/dist/components/scroll-area/scroll-area.cjs.map +1 -1
  347. package/dist/components/scroll-area/scroll-area.d.ts +6 -1
  348. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  349. package/dist/components/scroll-area/scroll-area.js +11 -2
  350. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  351. package/dist/components/scroll-area/scroll-area.module.css.cjs +1 -1
  352. package/dist/components/scroll-area/scroll-area.module.css.js +1 -1
  353. package/dist/components/select/select-content.cjs +9 -18
  354. package/dist/components/select/select-content.cjs.map +1 -1
  355. package/dist/components/select/select-content.d.ts +6 -2
  356. package/dist/components/select/select-content.d.ts.map +1 -1
  357. package/dist/components/select/select-content.js +11 -20
  358. package/dist/components/select/select-content.js.map +1 -1
  359. package/dist/components/select/select-item.cjs +10 -11
  360. package/dist/components/select/select-item.cjs.map +1 -1
  361. package/dist/components/select/select-item.d.ts +9 -4
  362. package/dist/components/select/select-item.d.ts.map +1 -1
  363. package/dist/components/select/select-item.js +10 -11
  364. package/dist/components/select/select-item.js.map +1 -1
  365. package/dist/components/select/select-misc.cjs +19 -10
  366. package/dist/components/select/select-misc.cjs.map +1 -1
  367. package/dist/components/select/select-misc.d.ts +15 -4
  368. package/dist/components/select/select-misc.d.ts.map +1 -1
  369. package/dist/components/select/select-misc.js +19 -10
  370. package/dist/components/select/select-misc.js.map +1 -1
  371. package/dist/components/select/select-multiple-value.cjs +3 -7
  372. package/dist/components/select/select-multiple-value.cjs.map +1 -1
  373. package/dist/components/select/select-multiple-value.d.ts +2 -3
  374. package/dist/components/select/select-multiple-value.d.ts.map +1 -1
  375. package/dist/components/select/select-multiple-value.js +5 -9
  376. package/dist/components/select/select-multiple-value.js.map +1 -1
  377. package/dist/components/select/select-root.cjs +51 -66
  378. package/dist/components/select/select-root.cjs.map +1 -1
  379. package/dist/components/select/select-root.d.ts +11 -15
  380. package/dist/components/select/select-root.d.ts.map +1 -1
  381. package/dist/components/select/select-root.js +52 -67
  382. package/dist/components/select/select-root.js.map +1 -1
  383. package/dist/components/select/select-trigger.cjs +7 -4
  384. package/dist/components/select/select-trigger.cjs.map +1 -1
  385. package/dist/components/select/select-trigger.d.ts +2 -3
  386. package/dist/components/select/select-trigger.d.ts.map +1 -1
  387. package/dist/components/select/select-trigger.js +7 -4
  388. package/dist/components/select/select-trigger.js.map +1 -1
  389. package/dist/components/select/select-value.cjs +17 -8
  390. package/dist/components/select/select-value.cjs.map +1 -1
  391. package/dist/components/select/select-value.d.ts +6 -4
  392. package/dist/components/select/select-value.d.ts.map +1 -1
  393. package/dist/components/select/select-value.js +17 -8
  394. package/dist/components/select/select-value.js.map +1 -1
  395. package/dist/components/select/select.cjs +4 -4
  396. package/dist/components/select/select.cjs.map +1 -1
  397. package/dist/components/select/select.d.ts +10 -11
  398. package/dist/components/select/select.d.ts.map +1 -1
  399. package/dist/components/select/select.js +4 -4
  400. package/dist/components/select/select.js.map +1 -1
  401. package/dist/components/select/select.module.css.cjs +1 -1
  402. package/dist/components/select/select.module.css.js +1 -1
  403. package/dist/components/separator/separator.cjs +3 -3
  404. package/dist/components/separator/separator.cjs.map +1 -1
  405. package/dist/components/separator/separator.d.ts +3 -5
  406. package/dist/components/separator/separator.d.ts.map +1 -1
  407. package/dist/components/separator/separator.js +3 -3
  408. package/dist/components/separator/separator.js.map +1 -1
  409. package/dist/components/sidebar/sidebar-item.cjs +7 -4
  410. package/dist/components/sidebar/sidebar-item.cjs.map +1 -1
  411. package/dist/components/sidebar/sidebar-item.d.ts.map +1 -1
  412. package/dist/components/sidebar/sidebar-item.js +7 -4
  413. package/dist/components/sidebar/sidebar-item.js.map +1 -1
  414. package/dist/components/sidebar/sidebar-misc.cjs +1 -1
  415. package/dist/components/sidebar/sidebar-misc.cjs.map +1 -1
  416. package/dist/components/sidebar/sidebar-misc.js +1 -1
  417. package/dist/components/sidebar/sidebar-misc.js.map +1 -1
  418. package/dist/components/sidebar/sidebar-root.cjs +4 -5
  419. package/dist/components/sidebar/sidebar-root.cjs.map +1 -1
  420. package/dist/components/sidebar/sidebar-root.d.ts +5 -3
  421. package/dist/components/sidebar/sidebar-root.d.ts.map +1 -1
  422. package/dist/components/sidebar/sidebar-root.js +4 -5
  423. package/dist/components/sidebar/sidebar-root.js.map +1 -1
  424. package/dist/components/sidebar/sidebar.d.ts +1 -1
  425. package/dist/components/sidebar/sidebar.module.css.cjs +1 -1
  426. package/dist/components/sidebar/sidebar.module.css.js +1 -1
  427. package/dist/components/slider/index.d.ts +1 -1
  428. package/dist/components/slider/slider.cjs +10 -22
  429. package/dist/components/slider/slider.cjs.map +1 -1
  430. package/dist/components/slider/slider.d.ts +6 -13
  431. package/dist/components/slider/slider.d.ts.map +1 -1
  432. package/dist/components/slider/slider.js +12 -24
  433. package/dist/components/slider/slider.js.map +1 -1
  434. package/dist/components/slider/slider.module.css.cjs +1 -1
  435. package/dist/components/slider/slider.module.css.js +1 -1
  436. package/dist/components/switch/switch.cjs +2 -3
  437. package/dist/components/switch/switch.cjs.map +1 -1
  438. package/dist/components/switch/switch.d.ts +4 -5
  439. package/dist/components/switch/switch.d.ts.map +1 -1
  440. package/dist/components/switch/switch.js +4 -5
  441. package/dist/components/switch/switch.js.map +1 -1
  442. package/dist/components/tabs/index.d.ts +1 -1
  443. package/dist/components/tabs/tabs.cjs +10 -14
  444. package/dist/components/tabs/tabs.cjs.map +1 -1
  445. package/dist/components/tabs/tabs.d.ts +7 -14
  446. package/dist/components/tabs/tabs.d.ts.map +1 -1
  447. package/dist/components/tabs/tabs.js +11 -15
  448. package/dist/components/tabs/tabs.js.map +1 -1
  449. package/dist/components/tabs/tabs.module.css.cjs +1 -1
  450. package/dist/components/tabs/tabs.module.css.js +1 -1
  451. package/dist/components/text/text.d.ts +1 -1
  452. package/dist/components/toast/index.d.ts +3 -1
  453. package/dist/components/toast/index.d.ts.map +1 -1
  454. package/dist/components/toast/toast-manager.cjs +9 -0
  455. package/dist/components/toast/toast-manager.cjs.map +1 -0
  456. package/dist/components/toast/toast-manager.d.ts +2 -0
  457. package/dist/components/toast/toast-manager.d.ts.map +1 -0
  458. package/dist/components/toast/toast-manager.js +7 -0
  459. package/dist/components/toast/toast-manager.js.map +1 -0
  460. package/dist/components/toast/toast-provider.cjs +22 -0
  461. package/dist/components/toast/toast-provider.cjs.map +1 -0
  462. package/dist/components/toast/toast-provider.d.ts +11 -0
  463. package/dist/components/toast/toast-provider.d.ts.map +1 -0
  464. package/dist/components/toast/toast-provider.js +20 -0
  465. package/dist/components/toast/toast-provider.js.map +1 -0
  466. package/dist/components/toast/toast-root.cjs +34 -0
  467. package/dist/components/toast/toast-root.cjs.map +1 -0
  468. package/dist/components/toast/toast-root.d.ts +8 -0
  469. package/dist/components/toast/toast-root.d.ts.map +1 -0
  470. package/dist/components/toast/toast-root.js +32 -0
  471. package/dist/components/toast/toast-root.js.map +1 -0
  472. package/dist/components/toast/toast.cjs +11 -25
  473. package/dist/components/toast/toast.cjs.map +1 -1
  474. package/dist/components/toast/toast.d.ts +6 -8
  475. package/dist/components/toast/toast.d.ts.map +1 -1
  476. package/dist/components/toast/toast.js +10 -24
  477. package/dist/components/toast/toast.js.map +1 -1
  478. package/dist/components/toast/toast.module.css.cjs +1 -1
  479. package/dist/components/toast/toast.module.css.js +1 -1
  480. package/dist/components/tooltip/tooltip-content.cjs +17 -0
  481. package/dist/components/tooltip/tooltip-content.cjs.map +1 -0
  482. package/dist/components/tooltip/tooltip-content.d.ts +10 -0
  483. package/dist/components/tooltip/tooltip-content.d.ts.map +1 -0
  484. package/dist/components/tooltip/tooltip-content.js +15 -0
  485. package/dist/components/tooltip/tooltip-content.js.map +1 -0
  486. package/dist/components/tooltip/tooltip-misc.cjs +19 -0
  487. package/dist/components/tooltip/tooltip-misc.cjs.map +1 -0
  488. package/dist/components/tooltip/tooltip-misc.d.ts +9 -0
  489. package/dist/components/tooltip/tooltip-misc.d.ts.map +1 -0
  490. package/dist/components/tooltip/tooltip-misc.js +16 -0
  491. package/dist/components/tooltip/tooltip-misc.js.map +1 -0
  492. package/dist/components/tooltip/tooltip.cjs +7 -4
  493. package/dist/components/tooltip/tooltip.cjs.map +1 -1
  494. package/dist/components/tooltip/tooltip.d.ts +8 -5
  495. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  496. package/dist/components/tooltip/tooltip.js +7 -4
  497. package/dist/components/tooltip/tooltip.js.map +1 -1
  498. package/dist/components/tooltip/tooltip.module.css.cjs +1 -1
  499. package/dist/components/tooltip/tooltip.module.css.js +1 -1
  500. package/dist/index.cjs +14 -8
  501. package/dist/index.cjs.map +1 -1
  502. package/dist/index.d.ts +6 -4
  503. package/dist/index.d.ts.map +1 -1
  504. package/dist/index.js +8 -4
  505. package/dist/index.js.map +1 -1
  506. package/dist/style.css +1 -1
  507. package/package.json +5 -7
  508. package/dist/components/dropdown-menu/__tests__/dropdown-menu.test.d.ts +0 -2
  509. package/dist/components/dropdown-menu/__tests__/dropdown-menu.test.d.ts.map +0 -1
  510. package/dist/components/dropdown-menu/cell.cjs +0 -12
  511. package/dist/components/dropdown-menu/cell.cjs.map +0 -1
  512. package/dist/components/dropdown-menu/cell.d.ts.map +0 -1
  513. package/dist/components/dropdown-menu/cell.js +0 -10
  514. package/dist/components/dropdown-menu/cell.js.map +0 -1
  515. package/dist/components/dropdown-menu/cell.module.css.js +0 -4
  516. package/dist/components/dropdown-menu/dropdown-menu-content.cjs +0 -36
  517. package/dist/components/dropdown-menu/dropdown-menu-content.cjs.map +0 -1
  518. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts +0 -7
  519. package/dist/components/dropdown-menu/dropdown-menu-content.d.ts.map +0 -1
  520. package/dist/components/dropdown-menu/dropdown-menu-content.js +0 -34
  521. package/dist/components/dropdown-menu/dropdown-menu-content.js.map +0 -1
  522. package/dist/components/dropdown-menu/dropdown-menu-item.cjs +0 -45
  523. package/dist/components/dropdown-menu/dropdown-menu-item.cjs.map +0 -1
  524. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts +0 -9
  525. package/dist/components/dropdown-menu/dropdown-menu-item.d.ts.map +0 -1
  526. package/dist/components/dropdown-menu/dropdown-menu-item.js +0 -43
  527. package/dist/components/dropdown-menu/dropdown-menu-item.js.map +0 -1
  528. package/dist/components/dropdown-menu/dropdown-menu-misc.cjs +0 -36
  529. package/dist/components/dropdown-menu/dropdown-menu-misc.cjs.map +0 -1
  530. package/dist/components/dropdown-menu/dropdown-menu-misc.d.ts +0 -10
  531. package/dist/components/dropdown-menu/dropdown-menu-misc.d.ts.map +0 -1
  532. package/dist/components/dropdown-menu/dropdown-menu-misc.js +0 -31
  533. package/dist/components/dropdown-menu/dropdown-menu-misc.js.map +0 -1
  534. package/dist/components/dropdown-menu/dropdown-menu-root.cjs +0 -52
  535. package/dist/components/dropdown-menu/dropdown-menu-root.cjs.map +0 -1
  536. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +0 -40
  537. package/dist/components/dropdown-menu/dropdown-menu-root.d.ts.map +0 -1
  538. package/dist/components/dropdown-menu/dropdown-menu-root.js +0 -48
  539. package/dist/components/dropdown-menu/dropdown-menu-root.js.map +0 -1
  540. package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs +0 -34
  541. package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs.map +0 -1
  542. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +0 -14
  543. package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts.map +0 -1
  544. package/dist/components/dropdown-menu/dropdown-menu-trigger.js +0 -31
  545. package/dist/components/dropdown-menu/dropdown-menu-trigger.js.map +0 -1
  546. package/dist/components/dropdown-menu/dropdown-menu.cjs +0 -24
  547. package/dist/components/dropdown-menu/dropdown-menu.cjs.map +0 -1
  548. package/dist/components/dropdown-menu/dropdown-menu.d.ts +0 -16
  549. package/dist/components/dropdown-menu/dropdown-menu.d.ts.map +0 -1
  550. package/dist/components/dropdown-menu/dropdown-menu.js +0 -22
  551. package/dist/components/dropdown-menu/dropdown-menu.js.map +0 -1
  552. package/dist/components/dropdown-menu/dropdown-menu.module.css.cjs +0 -8
  553. package/dist/components/dropdown-menu/dropdown-menu.module.css.cjs.map +0 -1
  554. package/dist/components/dropdown-menu/dropdown-menu.module.css.js +0 -4
  555. package/dist/components/dropdown-menu/dropdown-menu.module.css.js.map +0 -1
  556. package/dist/components/dropdown-menu/index.d.ts +0 -2
  557. package/dist/components/dropdown-menu/index.d.ts.map +0 -1
  558. package/dist/components/dropdown-menu/types.d.ts +0 -4
  559. package/dist/components/dropdown-menu/types.d.ts.map +0 -1
  560. package/dist/components/dropdown-menu/utils.cjs +0 -21
  561. package/dist/components/dropdown-menu/utils.cjs.map +0 -1
  562. package/dist/components/dropdown-menu/utils.d.ts +0 -4
  563. package/dist/components/dropdown-menu/utils.d.ts.map +0 -1
  564. package/dist/components/dropdown-menu/utils.js +0 -18
  565. package/dist/components/dropdown-menu/utils.js.map +0 -1
  566. package/dist/components/scroll-area/scroll-area-root.cjs +0 -17
  567. package/dist/components/scroll-area/scroll-area-root.cjs.map +0 -1
  568. package/dist/components/scroll-area/scroll-area-root.d.ts +0 -9
  569. package/dist/components/scroll-area/scroll-area-root.d.ts.map +0 -1
  570. package/dist/components/scroll-area/scroll-area-root.js +0 -15
  571. package/dist/components/scroll-area/scroll-area-root.js.map +0 -1
  572. package/dist/components/sheet/__tests__/sheet.test.d.ts +0 -2
  573. package/dist/components/sheet/__tests__/sheet.test.d.ts.map +0 -1
  574. package/dist/components/sheet/index.d.ts +0 -2
  575. package/dist/components/sheet/index.d.ts.map +0 -1
  576. package/dist/components/sheet/sheet.cjs +0 -50
  577. package/dist/components/sheet/sheet.cjs.map +0 -1
  578. package/dist/components/sheet/sheet.d.ts +0 -36
  579. package/dist/components/sheet/sheet.d.ts.map +0 -1
  580. package/dist/components/sheet/sheet.js +0 -45
  581. package/dist/components/sheet/sheet.js.map +0 -1
  582. package/dist/components/sheet/sheet.module.css.cjs +0 -8
  583. package/dist/components/sheet/sheet.module.css.cjs.map +0 -1
  584. package/dist/components/sheet/sheet.module.css.js +0 -4
  585. package/dist/components/sheet/sheet.module.css.js.map +0 -1
  586. package/dist/components/slider/thumb.cjs +0 -8
  587. package/dist/components/slider/thumb.cjs.map +0 -1
  588. package/dist/components/slider/thumb.d.ts +0 -2
  589. package/dist/components/slider/thumb.d.ts.map +0 -1
  590. package/dist/components/slider/thumb.js +0 -6
  591. package/dist/components/slider/thumb.js.map +0 -1
  592. package/dist/components/tooltip/tooltip-provider.cjs +0 -18
  593. package/dist/components/tooltip/tooltip-provider.cjs.map +0 -1
  594. package/dist/components/tooltip/tooltip-provider.d.ts +0 -9
  595. package/dist/components/tooltip/tooltip-provider.d.ts.map +0 -1
  596. package/dist/components/tooltip/tooltip-provider.js +0 -15
  597. package/dist/components/tooltip/tooltip-provider.js.map +0 -1
  598. package/dist/components/tooltip/tooltip-root.cjs +0 -66
  599. package/dist/components/tooltip/tooltip-root.cjs.map +0 -1
  600. package/dist/components/tooltip/tooltip-root.d.ts +0 -29
  601. package/dist/components/tooltip/tooltip-root.d.ts.map +0 -1
  602. package/dist/components/tooltip/tooltip-root.js +0 -63
  603. package/dist/components/tooltip/tooltip-root.js.map +0 -1
  604. package/dist/components/tooltip/utils.cjs +0 -30
  605. package/dist/components/tooltip/utils.cjs.map +0 -1
  606. package/dist/components/tooltip/utils.d.ts +0 -10
  607. package/dist/components/tooltip/utils.d.ts.map +0 -1
  608. package/dist/components/tooltip/utils.js +0 -28
  609. package/dist/components/tooltip/utils.js.map +0 -1
  610. /package/dist/components/{dropdown-menu → menu}/cell.module.css.cjs.map +0 -0
  611. /package/dist/components/{dropdown-menu → menu}/cell.module.css.js.map +0 -0
@@ -1,33 +1,33 @@
1
1
  "use client";
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
- import { ComboboxItem as ComboboxItem$1 } from '@ariakit/react';
3
+ import { Combobox } from '@base-ui/react';
4
4
  import { cx } from 'class-variance-authority';
5
5
  import { forwardRef } from 'react';
6
6
  import { Checkbox } from '../checkbox/checkbox.js';
7
- import { getMatch } from '../dropdown-menu/utils.js';
7
+ import { getMatch } from '../menu/utils.js';
8
8
  import { Text } from '../text/text.js';
9
9
  import styles from './combobox.module.css.js';
10
10
  import { useComboboxContext } from './combobox-root.js';
11
11
 
12
- const ComboboxItem = forwardRef(({ className, children, value: providedValue, leadingIcon, disabled, ...props }, ref) => {
12
+ const ComboboxItem = forwardRef(({ className, children, value: providedValue, leadingIcon, disabled, render, ...props }, ref) => {
13
13
  const value = providedValue
14
- ? String(providedValue)
14
+ ? providedValue
15
15
  : typeof children === 'string'
16
16
  ? children
17
17
  : undefined;
18
- const { multiple, value: comboboxValue, inputValue } = useComboboxContext();
19
- const isSelected = multiple
20
- ? comboboxValue?.includes(value ?? '')
21
- : value === comboboxValue;
22
- const isMatched = getMatch(value, children, inputValue);
23
- const element = typeof children === 'string' ? (jsxs(Fragment, { children: [leadingIcon && jsx("div", { className: styles.itemIcon, children: leadingIcon }), jsx(Text, { children: children })] })) : (children);
24
- if (inputValue?.length && !isMatched) {
25
- // Doesn't match search, so don't render at all
26
- return null;
18
+ const { multiple, inputValue, hasItems } = useComboboxContext();
19
+ // When items prop is not provided on Root, use custom filtering
20
+ if (!hasItems && inputValue?.length) {
21
+ const isMatched = getMatch(value, children, inputValue);
22
+ if (!isMatched)
23
+ return null;
27
24
  }
28
- return (jsxs(ComboboxItem$1, { ref: ref, value: value, className: cx(styles.menuitem, className), focusOnHover: true, "aria-selected": isSelected, "data-selected": isSelected, resetValueOnSelect: multiple, ...props, children: [multiple && jsx(Checkbox, { checked: isSelected }), element] }));
25
+ const element = typeof children === 'string' ? (jsxs(Fragment, { children: [leadingIcon && jsx("div", { className: styles.itemIcon, children: leadingIcon }), jsx(Text, { children: children })] })) : (children);
26
+ return (jsx(Combobox.Item, { ref: ref, value: value, className: cx(styles.menuitem, className), disabled: disabled, ...props, render: render
27
+ ? render
28
+ : (renderProps, state) => (jsxs("div", { ...renderProps, children: [multiple && jsx(Checkbox, { checked: state.selected }), element] })) }));
29
29
  });
30
- ComboboxItem.displayName = 'ComboboxItem';
30
+ ComboboxItem.displayName = 'Combobox.Item';
31
31
 
32
32
  export { ComboboxItem };
33
33
  //# sourceMappingURL=combobox-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-item.js","sources":["../../../components/combobox/combobox-item.tsx"],"sourcesContent":["'use client';\n\nimport { ComboboxItem as AriakitComboboxItem } from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\nimport { Checkbox } from '../checkbox';\nimport { getMatch } from '../dropdown-menu/utils';\nimport { Text } from '../text';\nimport styles from './combobox.module.css';\nimport { useComboboxContext } from './combobox-root';\n\nexport interface ComboboxItemProps\n extends ComponentPropsWithoutRef<typeof AriakitComboboxItem> {\n leadingIcon?: React.ReactNode;\n}\n\nexport const ComboboxItem = forwardRef<\n ElementRef<typeof AriakitComboboxItem>,\n ComboboxItemProps\n>(\n (\n {\n className,\n children,\n value: providedValue,\n leadingIcon,\n disabled,\n ...props\n },\n ref\n ) => {\n const value = providedValue\n ? String(providedValue)\n : typeof children === 'string'\n ? children\n : undefined;\n const { multiple, value: comboboxValue, inputValue } = useComboboxContext();\n\n const isSelected = multiple\n ? comboboxValue?.includes(value ?? '')\n : value === comboboxValue;\n const isMatched = getMatch(value, children, inputValue);\n\n const element =\n typeof children === 'string' ? (\n <>\n {leadingIcon && <div className={styles.itemIcon}>{leadingIcon}</div>}\n <Text>{children}</Text>\n </>\n ) : (\n children\n );\n\n if (inputValue?.length && !isMatched) {\n // Doesn't match search, so don't render at all\n return null;\n }\n\n return (\n <AriakitComboboxItem\n ref={ref}\n value={value}\n className={cx(styles.menuitem, className)}\n focusOnHover\n aria-selected={isSelected}\n data-selected={isSelected}\n resetValueOnSelect={multiple}\n {...props}\n >\n {multiple && <Checkbox checked={isSelected} />}\n {element}\n </AriakitComboboxItem>\n );\n }\n);\nComboboxItem.displayName = 'ComboboxItem';\n"],"names":[],"mappings":";;;;;;;;;;;AAgBa;;AAgBP;AACA;AACE;;AAEJ;;;AAIE;;AAGF;AAUA;;AAEE;;;AAkBJ;AAEF;;"}
1
+ {"version":3,"file":"combobox-item.js","sources":["../../../components/combobox/combobox-item.tsx"],"sourcesContent":["'use client';\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport { forwardRef, ReactNode } from 'react';\nimport { Checkbox } from '../checkbox';\nimport { getMatch } from '../menu/utils';\nimport { Text } from '../text';\nimport styles from './combobox.module.css';\nimport { useComboboxContext } from './combobox-root';\n\nexport interface ComboboxItemProps extends ComboboxPrimitive.Item.Props {\n leadingIcon?: ReactNode;\n}\n\nexport const ComboboxItem = forwardRef<HTMLDivElement, ComboboxItemProps>(\n (\n {\n className,\n children,\n value: providedValue,\n leadingIcon,\n disabled,\n render,\n ...props\n },\n ref\n ) => {\n const value = providedValue\n ? providedValue\n : typeof children === 'string'\n ? children\n : undefined;\n\n const { multiple, inputValue, hasItems } = useComboboxContext();\n\n // When items prop is not provided on Root, use custom filtering\n if (!hasItems && inputValue?.length) {\n const isMatched = getMatch(value, children, inputValue);\n if (!isMatched) return null;\n }\n\n const element =\n typeof children === 'string' ? (\n <>\n {leadingIcon && <div className={styles.itemIcon}>{leadingIcon}</div>}\n <Text>{children}</Text>\n </>\n ) : (\n children\n );\n\n return (\n <ComboboxPrimitive.Item\n ref={ref}\n value={value}\n className={cx(styles.menuitem, className)}\n disabled={disabled}\n {...props}\n render={\n render\n ? render\n : (renderProps, state) => (\n <div {...renderProps}>\n {multiple && <Checkbox checked={state.selected} />}\n {element}\n </div>\n )\n }\n />\n );\n }\n);\nComboboxItem.displayName = 'Combobox.Item';\n"],"names":[],"mappings":";;;;;;;;;;;AAeO;;AAcD;AACA;AACE;;;;AAMJ;;AAEE;AAAgB;;AAGlB;AAUA;AASQ;AACA;AASV;AAEF;;"}
@@ -2,33 +2,33 @@
2
2
  'use strict';
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
- var react = require('@ariakit/react');
5
+ var react = require('@base-ui/react');
6
6
  var classVarianceAuthority = require('class-variance-authority');
7
7
  var React = require('react');
8
8
  var combobox_module = require('./combobox.module.css.cjs');
9
9
  var comboboxRoot = require('./combobox-root.cjs');
10
10
 
11
11
  const ComboboxLabel = React.forwardRef(({ className, ...props }, ref) => {
12
- const { inputValue } = comboboxRoot.useComboboxContext();
13
- if (inputValue?.length)
12
+ const { inputValue, hasItems } = comboboxRoot.useComboboxContext();
13
+ if (!hasItems && inputValue?.length)
14
14
  return null;
15
- return (jsxRuntime.jsx(react.ComboboxGroupLabel, { ref: ref, className: classVarianceAuthority.cx(combobox_module.default.label, className), ...props }));
15
+ return (jsxRuntime.jsx(react.Combobox.GroupLabel, { ref: ref, className: classVarianceAuthority.cx(combobox_module.default.label, className), ...props }));
16
16
  });
17
- ComboboxLabel.displayName = 'ComboboxLabel';
17
+ ComboboxLabel.displayName = 'Combobox.Label';
18
18
  const ComboboxGroup = React.forwardRef(({ className, children, ...props }, ref) => {
19
- const { inputValue } = comboboxRoot.useComboboxContext();
20
- if (inputValue?.length)
19
+ const { inputValue, hasItems } = comboboxRoot.useComboboxContext();
20
+ if (!hasItems && inputValue?.length)
21
21
  return children;
22
- return (jsxRuntime.jsx(react.ComboboxGroup, { ref: ref, className: classVarianceAuthority.cx(combobox_module.default.group, className), ...props, children: children }));
22
+ return (jsxRuntime.jsx(react.Combobox.Group, { ref: ref, className: classVarianceAuthority.cx(combobox_module.default.group, className), ...props, children: children }));
23
23
  });
24
- ComboboxGroup.displayName = 'ComboboxGroup';
24
+ ComboboxGroup.displayName = 'Combobox.Group';
25
25
  const ComboboxSeparator = React.forwardRef(({ className, ...props }, ref) => {
26
- const { inputValue } = comboboxRoot.useComboboxContext();
27
- if (inputValue?.length)
26
+ const { inputValue, hasItems } = comboboxRoot.useComboboxContext();
27
+ if (!hasItems && inputValue?.length)
28
28
  return null;
29
- return (jsxRuntime.jsx(react.ComboboxSeparator, { ref: ref, className: classVarianceAuthority.cx(combobox_module.default.separator, className), ...props }));
29
+ return (jsxRuntime.jsx(react.Combobox.Separator, { ref: ref, className: classVarianceAuthority.cx(combobox_module.default.separator, className), ...props }));
30
30
  });
31
- ComboboxSeparator.displayName = 'ComboboxSeparator';
31
+ ComboboxSeparator.displayName = 'Combobox.Separator';
32
32
 
33
33
  exports.ComboboxGroup = ComboboxGroup;
34
34
  exports.ComboboxLabel = ComboboxLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-misc.cjs","sources":["../../../components/combobox/combobox-misc.tsx"],"sourcesContent":["'use client';\n\nimport {\n ComboboxGroup as AriakitComboboxGroup,\n ComboboxGroupLabel as AriakitComboboxGroupLabel,\n ComboboxSeparator as AriakitComboboxSeparator\n} from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\nimport styles from './combobox.module.css';\nimport { useComboboxContext } from './combobox-root';\n\nexport const ComboboxLabel = forwardRef<\n ElementRef<typeof AriakitComboboxGroupLabel>,\n ComponentPropsWithoutRef<typeof AriakitComboboxGroupLabel>\n>(({ className, ...props }, ref) => {\n const { inputValue } = useComboboxContext();\n if (inputValue?.length) return null;\n\n return (\n <AriakitComboboxGroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n {...props}\n />\n );\n});\nComboboxLabel.displayName = 'ComboboxLabel';\n\nexport const ComboboxGroup = forwardRef<\n ElementRef<typeof AriakitComboboxGroup>,\n ComponentPropsWithoutRef<typeof AriakitComboboxGroup>\n>(({ className, children, ...props }, ref) => {\n const { inputValue } = useComboboxContext();\n if (inputValue?.length) return children;\n\n return (\n <AriakitComboboxGroup\n ref={ref}\n className={cx(styles.group, className)}\n {...props}\n >\n {children}\n </AriakitComboboxGroup>\n );\n});\nComboboxGroup.displayName = 'ComboboxGroup';\n\nexport const ComboboxSeparator = forwardRef<\n ElementRef<typeof AriakitComboboxSeparator>,\n ComponentPropsWithoutRef<typeof AriakitComboboxSeparator>\n>(({ className, ...props }, ref) => {\n const { inputValue } = useComboboxContext();\n if (inputValue?.length) return null;\n\n return (\n <AriakitComboboxSeparator\n ref={ref}\n className={cx(styles.separator, className)}\n {...props}\n />\n );\n});\nComboboxSeparator.displayName = 'ComboboxSeparator';\n"],"names":[],"mappings":";;;;;;;;;;AAYa;AAIX;;AACwB;;AAS1B;AACA;AAEa;AAIX;;AACwB;;AAW1B;AACA;AAEa;AAIX;;AACwB;;AAS1B;AACA;;;;"}
1
+ {"version":3,"file":"combobox-misc.cjs","sources":["../../../components/combobox/combobox-misc.tsx"],"sourcesContent":["'use client';\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport { ElementRef, forwardRef } from 'react';\nimport styles from './combobox.module.css';\nimport { useComboboxContext } from './combobox-root';\n\nexport const ComboboxLabel = forwardRef<\n ElementRef<typeof ComboboxPrimitive.GroupLabel>,\n ComboboxPrimitive.GroupLabel.Props\n>(({ className, ...props }, ref) => {\n const { inputValue, hasItems } = useComboboxContext();\n if (!hasItems && inputValue?.length) return null;\n\n return (\n <ComboboxPrimitive.GroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n {...props}\n />\n );\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\nexport const ComboboxGroup = forwardRef<\n ElementRef<typeof ComboboxPrimitive.Group>,\n ComboboxPrimitive.Group.Props\n>(({ className, children, ...props }, ref) => {\n const { inputValue, hasItems } = useComboboxContext();\n if (!hasItems && inputValue?.length) return children;\n\n return (\n <ComboboxPrimitive.Group\n ref={ref}\n className={cx(styles.group, className)}\n {...props}\n >\n {children}\n </ComboboxPrimitive.Group>\n );\n});\nComboboxGroup.displayName = 'Combobox.Group';\n\nexport const ComboboxSeparator = forwardRef<\n ElementRef<typeof ComboboxPrimitive.Separator>,\n ComboboxPrimitive.Separator.Props\n>(({ className, ...props }, ref) => {\n const { inputValue, hasItems } = useComboboxContext();\n if (!hasItems && inputValue?.length) return null;\n\n return (\n <ComboboxPrimitive.Separator\n ref={ref}\n className={cx(styles.separator, className)}\n {...props}\n />\n );\n});\nComboboxSeparator.displayName = 'Combobox.Separator';\n"],"names":[],"mappings":";;;;;;;;;;AAQa;;AAKX;AAAqC;;AASvC;AACA;AAEa;;AAKX;AAAqC;;AAWvC;AACA;AAEa;;AAKX;AAAqC;;AASvC;AACA;;;;"}
@@ -1,10 +1,4 @@
1
- export declare const ComboboxLabel: import("react").ForwardRefExoticComponent<Omit<import("@ariakit/react").ComboboxGroupLabelOptions<"div"> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@ariakit/react").ComboboxGroupLabelOptions<T>> & {
2
- [index: `data-${string}`]: unknown;
3
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
4
- export declare const ComboboxGroup: import("react").ForwardRefExoticComponent<Omit<import("@ariakit/react").ComboboxGroupOptions<"div"> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@ariakit/react").ComboboxGroupOptions<T>> & {
5
- [index: `data-${string}`]: unknown;
6
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
- export declare const ComboboxSeparator: import("react").ForwardRefExoticComponent<Omit<import("@ariakit/react").ComboboxSeparatorOptions<"hr"> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHRElement>, HTMLHRElement>, keyof import("@ariakit/react").ComboboxSeparatorOptions<T>> & {
8
- [index: `data-${string}`]: unknown;
9
- }, "ref"> & import("react").RefAttributes<HTMLHRElement>>;
1
+ export declare const ComboboxLabel: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteGroupLabelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
2
+ export declare const ComboboxGroup: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
3
+ export declare const ComboboxSeparator: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").SeparatorProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
10
4
  //# sourceMappingURL=combobox-misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-misc.d.ts","sourceRoot":"","sources":["../../../components/combobox/combobox-misc.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa;;0DAcxB,CAAC;AAGH,eAAO,MAAM,aAAa;;0DAgBxB,CAAC;AAGH,eAAO,MAAM,iBAAiB;;yDAc5B,CAAC"}
1
+ {"version":3,"file":"combobox-misc.d.ts","sourceRoot":"","sources":["../../../components/combobox/combobox-misc.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,8JAcxB,CAAC;AAGH,eAAO,MAAM,aAAa,yJAgBxB,CAAC;AAGH,eAAO,MAAM,iBAAiB,iJAc5B,CAAC"}
@@ -1,32 +1,32 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { ComboboxGroupLabel, ComboboxGroup as ComboboxGroup$1, ComboboxSeparator as ComboboxSeparator$1 } from '@ariakit/react';
3
+ import { Combobox } from '@base-ui/react';
4
4
  import { cx } from 'class-variance-authority';
5
5
  import { forwardRef } from 'react';
6
6
  import styles from './combobox.module.css.js';
7
7
  import { useComboboxContext } from './combobox-root.js';
8
8
 
9
9
  const ComboboxLabel = forwardRef(({ className, ...props }, ref) => {
10
- const { inputValue } = useComboboxContext();
11
- if (inputValue?.length)
10
+ const { inputValue, hasItems } = useComboboxContext();
11
+ if (!hasItems && inputValue?.length)
12
12
  return null;
13
- return (jsx(ComboboxGroupLabel, { ref: ref, className: cx(styles.label, className), ...props }));
13
+ return (jsx(Combobox.GroupLabel, { ref: ref, className: cx(styles.label, className), ...props }));
14
14
  });
15
- ComboboxLabel.displayName = 'ComboboxLabel';
15
+ ComboboxLabel.displayName = 'Combobox.Label';
16
16
  const ComboboxGroup = forwardRef(({ className, children, ...props }, ref) => {
17
- const { inputValue } = useComboboxContext();
18
- if (inputValue?.length)
17
+ const { inputValue, hasItems } = useComboboxContext();
18
+ if (!hasItems && inputValue?.length)
19
19
  return children;
20
- return (jsx(ComboboxGroup$1, { ref: ref, className: cx(styles.group, className), ...props, children: children }));
20
+ return (jsx(Combobox.Group, { ref: ref, className: cx(styles.group, className), ...props, children: children }));
21
21
  });
22
- ComboboxGroup.displayName = 'ComboboxGroup';
22
+ ComboboxGroup.displayName = 'Combobox.Group';
23
23
  const ComboboxSeparator = forwardRef(({ className, ...props }, ref) => {
24
- const { inputValue } = useComboboxContext();
25
- if (inputValue?.length)
24
+ const { inputValue, hasItems } = useComboboxContext();
25
+ if (!hasItems && inputValue?.length)
26
26
  return null;
27
- return (jsx(ComboboxSeparator$1, { ref: ref, className: cx(styles.separator, className), ...props }));
27
+ return (jsx(Combobox.Separator, { ref: ref, className: cx(styles.separator, className), ...props }));
28
28
  });
29
- ComboboxSeparator.displayName = 'ComboboxSeparator';
29
+ ComboboxSeparator.displayName = 'Combobox.Separator';
30
30
 
31
31
  export { ComboboxGroup, ComboboxLabel, ComboboxSeparator };
32
32
  //# sourceMappingURL=combobox-misc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-misc.js","sources":["../../../components/combobox/combobox-misc.tsx"],"sourcesContent":["'use client';\n\nimport {\n ComboboxGroup as AriakitComboboxGroup,\n ComboboxGroupLabel as AriakitComboboxGroupLabel,\n ComboboxSeparator as AriakitComboboxSeparator\n} from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { ComponentPropsWithoutRef, ElementRef, forwardRef } from 'react';\nimport styles from './combobox.module.css';\nimport { useComboboxContext } from './combobox-root';\n\nexport const ComboboxLabel = forwardRef<\n ElementRef<typeof AriakitComboboxGroupLabel>,\n ComponentPropsWithoutRef<typeof AriakitComboboxGroupLabel>\n>(({ className, ...props }, ref) => {\n const { inputValue } = useComboboxContext();\n if (inputValue?.length) return null;\n\n return (\n <AriakitComboboxGroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n {...props}\n />\n );\n});\nComboboxLabel.displayName = 'ComboboxLabel';\n\nexport const ComboboxGroup = forwardRef<\n ElementRef<typeof AriakitComboboxGroup>,\n ComponentPropsWithoutRef<typeof AriakitComboboxGroup>\n>(({ className, children, ...props }, ref) => {\n const { inputValue } = useComboboxContext();\n if (inputValue?.length) return children;\n\n return (\n <AriakitComboboxGroup\n ref={ref}\n className={cx(styles.group, className)}\n {...props}\n >\n {children}\n </AriakitComboboxGroup>\n );\n});\nComboboxGroup.displayName = 'ComboboxGroup';\n\nexport const ComboboxSeparator = forwardRef<\n ElementRef<typeof AriakitComboboxSeparator>,\n ComponentPropsWithoutRef<typeof AriakitComboboxSeparator>\n>(({ className, ...props }, ref) => {\n const { inputValue } = useComboboxContext();\n if (inputValue?.length) return null;\n\n return (\n <AriakitComboboxSeparator\n ref={ref}\n className={cx(styles.separator, className)}\n {...props}\n />\n );\n});\nComboboxSeparator.displayName = 'ComboboxSeparator';\n"],"names":[],"mappings":";;;;;;;;AAYa;AAIX;;AACwB;;AAS1B;AACA;AAEa;AAIX;;AACwB;;AAW1B;AACA;AAEa;AAIX;;AACwB;;AAS1B;AACA;;"}
1
+ {"version":3,"file":"combobox-misc.js","sources":["../../../components/combobox/combobox-misc.tsx"],"sourcesContent":["'use client';\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react';\nimport { cx } from 'class-variance-authority';\nimport { ElementRef, forwardRef } from 'react';\nimport styles from './combobox.module.css';\nimport { useComboboxContext } from './combobox-root';\n\nexport const ComboboxLabel = forwardRef<\n ElementRef<typeof ComboboxPrimitive.GroupLabel>,\n ComboboxPrimitive.GroupLabel.Props\n>(({ className, ...props }, ref) => {\n const { inputValue, hasItems } = useComboboxContext();\n if (!hasItems && inputValue?.length) return null;\n\n return (\n <ComboboxPrimitive.GroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n {...props}\n />\n );\n});\nComboboxLabel.displayName = 'Combobox.Label';\n\nexport const ComboboxGroup = forwardRef<\n ElementRef<typeof ComboboxPrimitive.Group>,\n ComboboxPrimitive.Group.Props\n>(({ className, children, ...props }, ref) => {\n const { inputValue, hasItems } = useComboboxContext();\n if (!hasItems && inputValue?.length) return children;\n\n return (\n <ComboboxPrimitive.Group\n ref={ref}\n className={cx(styles.group, className)}\n {...props}\n >\n {children}\n </ComboboxPrimitive.Group>\n );\n});\nComboboxGroup.displayName = 'Combobox.Group';\n\nexport const ComboboxSeparator = forwardRef<\n ElementRef<typeof ComboboxPrimitive.Separator>,\n ComboboxPrimitive.Separator.Props\n>(({ className, ...props }, ref) => {\n const { inputValue, hasItems } = useComboboxContext();\n if (!hasItems && inputValue?.length) return null;\n\n return (\n <ComboboxPrimitive.Separator\n ref={ref}\n className={cx(styles.separator, className)}\n {...props}\n />\n );\n});\nComboboxSeparator.displayName = 'Combobox.Separator';\n"],"names":[],"mappings":";;;;;;;;AAQa;;AAKX;AAAqC;;AASvC;AACA;AAEa;;AAKX;AAAqC;;AAWvC;AACA;AAEa;;AAKX;AAAqC;;AASvC;AACA;;"}
@@ -2,8 +2,7 @@
2
2
  'use strict';
3
3
 
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
- var react = require('@ariakit/react');
6
- var radixUi = require('radix-ui');
5
+ var react = require('@base-ui/react');
7
6
  var React = require('react');
8
7
 
9
8
  const ComboboxContext = React.createContext(undefined);
@@ -14,51 +13,33 @@ const useComboboxContext = () => {
14
13
  }
15
14
  return context;
16
15
  };
17
- const ComboboxRoot = ({ modal = false, multiple = false, children, value: providedValue, defaultValue = multiple ? [] : undefined, onValueChange, inputValue: providedInputValue, onInputValueChange, defaultInputValue, open: providedOpen, defaultOpen = false, onOpenChange, ...props }) => {
18
- const [internalValue, setInternalValue] = React.useState(defaultValue);
19
- const [internalInputValue, setInternalInputValue] = React.useState(defaultInputValue);
20
- const [internalOpen, setInternalOpen] = React.useState(defaultOpen);
21
- const inputRef = React.useRef(null);
22
- const listRef = React.useRef(null);
23
- const value = providedValue ?? internalValue;
24
- const inputValue = providedInputValue ?? internalInputValue;
25
- const open = providedOpen ?? internalOpen;
26
- const setValue = React.useCallback((newValue) => {
16
+ const ComboboxRoot = ({ multiple = false, children, onValueChange, onInputValueChange, value: providedValue, defaultValue, items, ...props }) => {
17
+ const [inputValue, setInputValue] = React.useState('');
18
+ const [internalValue, setInternalValue] = React.useState(defaultValue ?? null);
19
+ const inputContainerRef = React.useRef(null);
20
+ const computedValue = providedValue ?? internalValue;
21
+ const handleInputValueChange = React.useCallback((value, eventDetails) => {
22
+ setInputValue(value);
23
+ onInputValueChange?.(value);
24
+ }, [onInputValueChange]);
25
+ const handleValueChange = React.useCallback((value, eventDetails) => {
26
+ setInternalValue(value);
27
27
  if (multiple) {
28
- const formattedValue = newValue
29
- ? Array.isArray(newValue)
30
- ? newValue
31
- : [newValue]
32
- : [];
33
- setInternalValue(formattedValue);
34
- onValueChange?.(formattedValue);
28
+ onValueChange?.(value);
35
29
  }
36
30
  else {
37
- setInternalValue(String(newValue));
38
- onValueChange?.(String(newValue));
31
+ onValueChange?.(value);
39
32
  }
40
33
  }, [onValueChange, multiple]);
41
- const setInputValue = React.useCallback((newValue) => {
42
- if (!multiple && newValue.length === 0)
43
- setValue('');
44
- setInternalInputValue(newValue);
45
- onInputValueChange?.(newValue);
46
- }, [onInputValueChange, setValue, multiple]);
47
- const setOpen = React.useCallback((newOpen) => {
48
- setInternalOpen(newOpen);
49
- onOpenChange?.(newOpen);
50
- }, [onOpenChange]);
51
- return (jsxRuntime.jsx(ComboboxContext.Provider, { value: {
52
- setValue,
53
- value,
54
- inputValue,
55
- setInputValue,
56
- open,
57
- setOpen,
58
- inputRef,
59
- multiple,
60
- listRef
61
- }, children: jsxRuntime.jsx(radixUi.Popover.Root, { open: open, onOpenChange: setOpen, modal: modal, children: jsxRuntime.jsx(react.ComboboxProvider, { open: open, setOpen: setOpen, value: inputValue, setValue: setInputValue, selectedValue: value, setSelectedValue: setValue, focusLoop: false, includesBaseElement: false, resetValueOnHide: multiple, resetValueOnSelect: multiple, ...props, children: children }) }) }));
34
+ const contextValue = React.useMemo(() => ({
35
+ multiple,
36
+ inputValue,
37
+ hasItems: !!items,
38
+ inputContainerRef,
39
+ value: computedValue,
40
+ onValueChange: handleValueChange
41
+ }), [multiple, inputValue, items, computedValue, handleValueChange]);
42
+ return (jsxRuntime.jsx(ComboboxContext.Provider, { value: contextValue, children: jsxRuntime.jsx(react.Combobox.Root, { multiple: multiple, onValueChange: handleValueChange, onInputValueChange: handleInputValueChange, items: items, value: providedValue, defaultValue: defaultValue, modal: true, ...props, children: children }) }));
62
43
  };
63
44
 
64
45
  exports.ComboboxRoot = ComboboxRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-root.cjs","sources":["../../../components/combobox/combobox-root.tsx"],"sourcesContent":["'use client';\n\nimport { ComboboxProvider, ComboboxProviderProps } from '@ariakit/react';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport {\n createContext,\n RefObject,\n useCallback,\n useContext,\n useRef,\n useState\n} from 'react';\n\ninterface ComboboxContextValue {\n setValue: (value: string | string[]) => void;\n value?: string | string[];\n inputValue?: string;\n setInputValue: (inputValue: string) => void;\n open: boolean;\n setOpen: (open: boolean) => void;\n inputRef: RefObject<HTMLInputElement | null>;\n multiple: boolean;\n listRef: RefObject<HTMLDivElement | null>;\n}\n\nconst ComboboxContext = createContext<ComboboxContextValue | undefined>(\n undefined\n);\n\nexport const useComboboxContext = (): ComboboxContextValue => {\n const context = useContext(ComboboxContext);\n if (!context) {\n throw new Error(\n 'useComboboxContext must be used within a ComboboxProvider'\n );\n }\n return context;\n};\nexport interface BaseComboboxRootProps\n extends Omit<\n ComboboxProviderProps,\n | 'value'\n | 'setValue'\n | 'selectedValue'\n | 'setSelectedValue'\n | 'defaultSelectedValue'\n | 'defaultValue'\n | 'resetValueOnHide'\n | 'resetValueOnSelect'\n > {\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n inputValue?: string;\n onInputValueChange?: (inputValue: string) => void;\n defaultInputValue?: string;\n}\nexport interface SingleComboboxProps extends BaseComboboxRootProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\nexport interface MultipleComboboxProps extends BaseComboboxRootProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\nexport type ComboboxRootProps = SingleComboboxProps | MultipleComboboxProps;\n\nexport const ComboboxRoot = ({\n modal = false,\n multiple = false,\n children,\n value: providedValue,\n defaultValue = multiple ? [] : undefined,\n onValueChange,\n inputValue: providedInputValue,\n onInputValueChange,\n defaultInputValue,\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n ...props\n}: ComboboxRootProps) => {\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalInputValue, setInternalInputValue] =\n useState(defaultInputValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n\n const value = providedValue ?? internalValue;\n const inputValue = providedInputValue ?? internalInputValue;\n const open = providedOpen ?? internalOpen;\n\n const setValue = useCallback(\n (newValue: string | string[] | undefined) => {\n if (multiple) {\n const formattedValue = newValue\n ? Array.isArray(newValue)\n ? newValue\n : [newValue]\n : [];\n setInternalValue(formattedValue);\n (onValueChange as MultipleComboboxProps['onValueChange'])?.(\n formattedValue\n );\n } else {\n setInternalValue(String(newValue));\n (onValueChange as SingleComboboxProps['onValueChange'])?.(\n String(newValue)\n );\n }\n },\n [onValueChange, multiple]\n );\n\n const setInputValue = useCallback(\n (newValue: string) => {\n if (!multiple && newValue.length === 0) setValue('');\n setInternalInputValue(newValue);\n onInputValueChange?.(newValue);\n },\n [onInputValueChange, setValue, multiple]\n );\n\n const setOpen = useCallback(\n (newOpen: boolean) => {\n setInternalOpen(newOpen);\n onOpenChange?.(newOpen);\n },\n [onOpenChange]\n );\n\n return (\n <ComboboxContext.Provider\n value={{\n setValue,\n value,\n inputValue,\n setInputValue,\n open,\n setOpen,\n inputRef,\n multiple,\n listRef\n }}\n >\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen} modal={modal}>\n <ComboboxProvider\n open={open}\n setOpen={setOpen}\n value={inputValue}\n setValue={setInputValue}\n selectedValue={value}\n setSelectedValue={setValue}\n focusLoop={false}\n includesBaseElement={false}\n resetValueOnHide={multiple}\n resetValueOnSelect={multiple}\n {...props}\n >\n {children}\n </ComboboxProvider>\n </PopoverPrimitive.Root>\n </ComboboxContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAyBA;AAIO;AACL;;AAEE;;AAIF;AACF;AAiCa;;;;AAsBX;AACA;AAEA;AACA;AACA;AAEA;;;AAIQ;AACE;;;;AAIH;;;AAID;AACC;;AAIL;AAIF;AAEI;;;AAEA;;AAKJ;;AAGI;AACF;AAIF;;;;;;;;;;AAYK;AAqBP;;;"}
1
+ {"version":3,"file":"combobox-root.cjs","sources":["../../../components/combobox/combobox-root.tsx"],"sourcesContent":["'use client';\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react';\nimport {\n createContext,\n RefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState\n} from 'react';\n\ninterface ComboboxContextValue<Value = string> {\n multiple: boolean;\n inputValue: string;\n hasItems: boolean;\n inputContainerRef: RefObject<HTMLDivElement | null>;\n value: Value | Value[] | null | undefined;\n onValueChange?: (value: Value | Value[] | null) => void;\n}\n\nconst ComboboxContext = createContext<\n ComboboxContextValue<unknown> | undefined\n>(undefined);\n\nexport const useComboboxContext = <\n Value = string\n>(): ComboboxContextValue<Value> => {\n const context = useContext(ComboboxContext);\n if (!context) {\n throw new Error(\n 'useComboboxContext must be used within a ComboboxProvider'\n );\n }\n return context as ComboboxContextValue<Value>;\n};\n\nexport interface BaseComboboxRootProps<Value>\n extends Omit<\n ComboboxPrimitive.Root.Props<Value, boolean>,\n 'onValueChange' | 'onInputValueChange' | 'multiple'\n > {\n onInputValueChange?: (inputValue: string) => void;\n}\n\nexport interface SingleComboboxProps<Value = string>\n extends BaseComboboxRootProps<Value> {\n multiple?: false;\n value?: Value | null;\n defaultValue?: Value | null;\n onValueChange?: (value: Value | null) => void;\n}\n\nexport interface MultipleComboboxProps<Value = string>\n extends BaseComboboxRootProps<Value> {\n multiple: true;\n value?: Value[];\n defaultValue?: Value[];\n onValueChange?: (value: Value[]) => void;\n}\n\nexport type ComboboxRootProps<Value = string> =\n | SingleComboboxProps<Value>\n | MultipleComboboxProps<Value>;\n\nexport const ComboboxRoot = <Value extends unknown | unknown[]>({\n multiple = false,\n children,\n onValueChange,\n onInputValueChange,\n value: providedValue,\n defaultValue,\n items,\n ...props\n}: ComboboxRootProps<Value>) => {\n const [inputValue, setInputValue] = useState('');\n const [internalValue, setInternalValue] = useState<\n Value | Value[] | null | undefined\n >(defaultValue ?? null);\n const inputContainerRef = useRef<HTMLDivElement>(null);\n\n const computedValue = providedValue ?? internalValue;\n\n const handleInputValueChange = useCallback(\n (\n value: string,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails\n ) => {\n setInputValue(value);\n onInputValueChange?.(value);\n },\n [onInputValueChange]\n );\n\n const handleValueChange = useCallback(\n (\n value: Value | Value[] | null,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails\n ) => {\n setInternalValue(value);\n if (multiple) {\n (onValueChange as MultipleComboboxProps<Value>['onValueChange'])?.(\n value as Value[]\n );\n } else {\n (onValueChange as SingleComboboxProps<Value>['onValueChange'])?.(\n value as Value | null\n );\n }\n },\n [onValueChange, multiple]\n );\n\n const contextValue = useMemo(\n () => ({\n multiple,\n inputValue,\n hasItems: !!items,\n inputContainerRef,\n value: computedValue,\n onValueChange: handleValueChange\n }),\n [multiple, inputValue, items, computedValue, handleValueChange]\n );\n\n return (\n <ComboboxContext.Provider\n value={contextValue as ComboboxContextValue<unknown>}\n >\n <ComboboxPrimitive.Root\n multiple={multiple}\n onValueChange={handleValueChange}\n onInputValueChange={handleInputValueChange}\n items={items}\n value={providedValue}\n defaultValue={defaultValue}\n modal\n {...props}\n >\n {children}\n </ComboboxPrimitive.Root>\n </ComboboxContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAsBA;AAIO;AAGL;;AAEE;;AAIF;AACF;AA8BO;;AAWL;AAGA;AAEA;;;AAQI;AACF;;;;AAWK;;;AAIA;;AAIL;AAIF;;;;;AAMI;AACA;AACD;;AAsBL;;;"}
@@ -1,37 +1,30 @@
1
- import { ComboboxProviderProps } from '@ariakit/react';
1
+ import { Combobox as ComboboxPrimitive } from '@base-ui/react';
2
2
  import { RefObject } from 'react';
3
- interface ComboboxContextValue {
4
- setValue: (value: string | string[]) => void;
5
- value?: string | string[];
6
- inputValue?: string;
7
- setInputValue: (inputValue: string) => void;
8
- open: boolean;
9
- setOpen: (open: boolean) => void;
10
- inputRef: RefObject<HTMLInputElement | null>;
3
+ interface ComboboxContextValue<Value = string> {
11
4
  multiple: boolean;
12
- listRef: RefObject<HTMLDivElement | null>;
5
+ inputValue: string;
6
+ hasItems: boolean;
7
+ inputContainerRef: RefObject<HTMLDivElement | null>;
8
+ value: Value | Value[] | null | undefined;
9
+ onValueChange?: (value: Value | Value[] | null) => void;
13
10
  }
14
- export declare const useComboboxContext: () => ComboboxContextValue;
15
- export interface BaseComboboxRootProps extends Omit<ComboboxProviderProps, 'value' | 'setValue' | 'selectedValue' | 'setSelectedValue' | 'defaultSelectedValue' | 'defaultValue' | 'resetValueOnHide' | 'resetValueOnSelect'> {
16
- onOpenChange?: (open: boolean) => void;
17
- modal?: boolean;
18
- inputValue?: string;
11
+ export declare const useComboboxContext: <Value = string>() => ComboboxContextValue<Value>;
12
+ export interface BaseComboboxRootProps<Value> extends Omit<ComboboxPrimitive.Root.Props<Value, boolean>, 'onValueChange' | 'onInputValueChange' | 'multiple'> {
19
13
  onInputValueChange?: (inputValue: string) => void;
20
- defaultInputValue?: string;
21
14
  }
22
- export interface SingleComboboxProps extends BaseComboboxRootProps {
15
+ export interface SingleComboboxProps<Value = string> extends BaseComboboxRootProps<Value> {
23
16
  multiple?: false;
24
- value?: string;
25
- onValueChange?: (value: string) => void;
26
- defaultValue?: string;
17
+ value?: Value | null;
18
+ defaultValue?: Value | null;
19
+ onValueChange?: (value: Value | null) => void;
27
20
  }
28
- export interface MultipleComboboxProps extends BaseComboboxRootProps {
21
+ export interface MultipleComboboxProps<Value = string> extends BaseComboboxRootProps<Value> {
29
22
  multiple: true;
30
- value?: string[];
31
- onValueChange?: (value: string[]) => void;
32
- defaultValue?: string[];
23
+ value?: Value[];
24
+ defaultValue?: Value[];
25
+ onValueChange?: (value: Value[]) => void;
33
26
  }
34
- export type ComboboxRootProps = SingleComboboxProps | MultipleComboboxProps;
35
- export declare const ComboboxRoot: ({ modal, multiple, children, value: providedValue, defaultValue, onValueChange, inputValue: providedInputValue, onInputValueChange, defaultInputValue, open: providedOpen, defaultOpen, onOpenChange, ...props }: ComboboxRootProps) => import("react/jsx-runtime").JSX.Element;
27
+ export type ComboboxRootProps<Value = string> = SingleComboboxProps<Value> | MultipleComboboxProps<Value>;
28
+ export declare const ComboboxRoot: <Value extends unknown>({ multiple, children, onValueChange, onInputValueChange, value: providedValue, defaultValue, items, ...props }: ComboboxRootProps<Value>) => import("react/jsx-runtime").JSX.Element;
36
29
  export {};
37
30
  //# sourceMappingURL=combobox-root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-root.d.ts","sourceRoot":"","sources":["../../../components/combobox/combobox-root.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAEf,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CAC3C;AAMD,eAAO,MAAM,kBAAkB,QAAO,oBAQrC,CAAC;AACF,MAAM,WAAW,qBACf,SAAQ,IAAI,CACV,qBAAqB,EACnB,OAAO,GACP,UAAU,GACV,eAAe,GACf,kBAAkB,GAClB,sBAAsB,GACtB,cAAc,GACd,kBAAkB,GAClB,oBAAoB,CACvB;IACD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AACD,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE5E,eAAO,MAAM,YAAY,qNActB,iBAAiB,4CAuFnB,CAAC"}
1
+ {"version":3,"file":"combobox-root.d.ts","sourceRoot":"","sources":["../../../components/combobox/combobox-root.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAEL,SAAS,EAMV,MAAM,OAAO,CAAC;AAEf,UAAU,oBAAoB,CAAC,KAAK,GAAG,MAAM;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD;AAMD,eAAO,MAAM,kBAAkB,wBAE1B,qBAAqB,KAAK,CAQ9B,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,KAAK,CAC1C,SAAQ,IAAI,CACV,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,EAC5C,eAAe,GAAG,oBAAoB,GAAG,UAAU,CACpD;IACD,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,mBAAmB,CAAC,KAAK,GAAG,MAAM,CACjD,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,qBAAqB,CAAC,KAAK,GAAG,MAAM,CACnD,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,MAAM,iBAAiB,CAAC,KAAK,GAAG,MAAM,IACxC,mBAAmB,CAAC,KAAK,CAAC,GAC1B,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAEjC,eAAO,MAAM,YAAY,0IAStB,kBAAkB,KAAK,CAAC,4CAqE1B,CAAC"}
@@ -1,8 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
- import { ComboboxProvider } from '@ariakit/react';
4
- import { Popover } from 'radix-ui';
5
- import { createContext, useContext, useState, useRef, useCallback } from 'react';
3
+ import { Combobox } from '@base-ui/react';
4
+ import { createContext, useContext, useState, useRef, useCallback, useMemo } from 'react';
6
5
 
7
6
  const ComboboxContext = createContext(undefined);
8
7
  const useComboboxContext = () => {
@@ -12,51 +11,33 @@ const useComboboxContext = () => {
12
11
  }
13
12
  return context;
14
13
  };
15
- const ComboboxRoot = ({ modal = false, multiple = false, children, value: providedValue, defaultValue = multiple ? [] : undefined, onValueChange, inputValue: providedInputValue, onInputValueChange, defaultInputValue, open: providedOpen, defaultOpen = false, onOpenChange, ...props }) => {
16
- const [internalValue, setInternalValue] = useState(defaultValue);
17
- const [internalInputValue, setInternalInputValue] = useState(defaultInputValue);
18
- const [internalOpen, setInternalOpen] = useState(defaultOpen);
19
- const inputRef = useRef(null);
20
- const listRef = useRef(null);
21
- const value = providedValue ?? internalValue;
22
- const inputValue = providedInputValue ?? internalInputValue;
23
- const open = providedOpen ?? internalOpen;
24
- const setValue = useCallback((newValue) => {
14
+ const ComboboxRoot = ({ multiple = false, children, onValueChange, onInputValueChange, value: providedValue, defaultValue, items, ...props }) => {
15
+ const [inputValue, setInputValue] = useState('');
16
+ const [internalValue, setInternalValue] = useState(defaultValue ?? null);
17
+ const inputContainerRef = useRef(null);
18
+ const computedValue = providedValue ?? internalValue;
19
+ const handleInputValueChange = useCallback((value, eventDetails) => {
20
+ setInputValue(value);
21
+ onInputValueChange?.(value);
22
+ }, [onInputValueChange]);
23
+ const handleValueChange = useCallback((value, eventDetails) => {
24
+ setInternalValue(value);
25
25
  if (multiple) {
26
- const formattedValue = newValue
27
- ? Array.isArray(newValue)
28
- ? newValue
29
- : [newValue]
30
- : [];
31
- setInternalValue(formattedValue);
32
- onValueChange?.(formattedValue);
26
+ onValueChange?.(value);
33
27
  }
34
28
  else {
35
- setInternalValue(String(newValue));
36
- onValueChange?.(String(newValue));
29
+ onValueChange?.(value);
37
30
  }
38
31
  }, [onValueChange, multiple]);
39
- const setInputValue = useCallback((newValue) => {
40
- if (!multiple && newValue.length === 0)
41
- setValue('');
42
- setInternalInputValue(newValue);
43
- onInputValueChange?.(newValue);
44
- }, [onInputValueChange, setValue, multiple]);
45
- const setOpen = useCallback((newOpen) => {
46
- setInternalOpen(newOpen);
47
- onOpenChange?.(newOpen);
48
- }, [onOpenChange]);
49
- return (jsx(ComboboxContext.Provider, { value: {
50
- setValue,
51
- value,
52
- inputValue,
53
- setInputValue,
54
- open,
55
- setOpen,
56
- inputRef,
57
- multiple,
58
- listRef
59
- }, children: jsx(Popover.Root, { open: open, onOpenChange: setOpen, modal: modal, children: jsx(ComboboxProvider, { open: open, setOpen: setOpen, value: inputValue, setValue: setInputValue, selectedValue: value, setSelectedValue: setValue, focusLoop: false, includesBaseElement: false, resetValueOnHide: multiple, resetValueOnSelect: multiple, ...props, children: children }) }) }));
32
+ const contextValue = useMemo(() => ({
33
+ multiple,
34
+ inputValue,
35
+ hasItems: !!items,
36
+ inputContainerRef,
37
+ value: computedValue,
38
+ onValueChange: handleValueChange
39
+ }), [multiple, inputValue, items, computedValue, handleValueChange]);
40
+ return (jsx(ComboboxContext.Provider, { value: contextValue, children: jsx(Combobox.Root, { multiple: multiple, onValueChange: handleValueChange, onInputValueChange: handleInputValueChange, items: items, value: providedValue, defaultValue: defaultValue, modal: true, ...props, children: children }) }));
60
41
  };
61
42
 
62
43
  export { ComboboxRoot, useComboboxContext };
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-root.js","sources":["../../../components/combobox/combobox-root.tsx"],"sourcesContent":["'use client';\n\nimport { ComboboxProvider, ComboboxProviderProps } from '@ariakit/react';\nimport { Popover as PopoverPrimitive } from 'radix-ui';\nimport {\n createContext,\n RefObject,\n useCallback,\n useContext,\n useRef,\n useState\n} from 'react';\n\ninterface ComboboxContextValue {\n setValue: (value: string | string[]) => void;\n value?: string | string[];\n inputValue?: string;\n setInputValue: (inputValue: string) => void;\n open: boolean;\n setOpen: (open: boolean) => void;\n inputRef: RefObject<HTMLInputElement | null>;\n multiple: boolean;\n listRef: RefObject<HTMLDivElement | null>;\n}\n\nconst ComboboxContext = createContext<ComboboxContextValue | undefined>(\n undefined\n);\n\nexport const useComboboxContext = (): ComboboxContextValue => {\n const context = useContext(ComboboxContext);\n if (!context) {\n throw new Error(\n 'useComboboxContext must be used within a ComboboxProvider'\n );\n }\n return context;\n};\nexport interface BaseComboboxRootProps\n extends Omit<\n ComboboxProviderProps,\n | 'value'\n | 'setValue'\n | 'selectedValue'\n | 'setSelectedValue'\n | 'defaultSelectedValue'\n | 'defaultValue'\n | 'resetValueOnHide'\n | 'resetValueOnSelect'\n > {\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n inputValue?: string;\n onInputValueChange?: (inputValue: string) => void;\n defaultInputValue?: string;\n}\nexport interface SingleComboboxProps extends BaseComboboxRootProps {\n multiple?: false;\n value?: string;\n onValueChange?: (value: string) => void;\n defaultValue?: string;\n}\nexport interface MultipleComboboxProps extends BaseComboboxRootProps {\n multiple: true;\n value?: string[];\n onValueChange?: (value: string[]) => void;\n defaultValue?: string[];\n}\nexport type ComboboxRootProps = SingleComboboxProps | MultipleComboboxProps;\n\nexport const ComboboxRoot = ({\n modal = false,\n multiple = false,\n children,\n value: providedValue,\n defaultValue = multiple ? [] : undefined,\n onValueChange,\n inputValue: providedInputValue,\n onInputValueChange,\n defaultInputValue,\n open: providedOpen,\n defaultOpen = false,\n onOpenChange,\n ...props\n}: ComboboxRootProps) => {\n const [internalValue, setInternalValue] = useState<\n string | string[] | undefined\n >(defaultValue);\n const [internalInputValue, setInternalInputValue] =\n useState(defaultInputValue);\n const [internalOpen, setInternalOpen] = useState(defaultOpen);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n\n const value = providedValue ?? internalValue;\n const inputValue = providedInputValue ?? internalInputValue;\n const open = providedOpen ?? internalOpen;\n\n const setValue = useCallback(\n (newValue: string | string[] | undefined) => {\n if (multiple) {\n const formattedValue = newValue\n ? Array.isArray(newValue)\n ? newValue\n : [newValue]\n : [];\n setInternalValue(formattedValue);\n (onValueChange as MultipleComboboxProps['onValueChange'])?.(\n formattedValue\n );\n } else {\n setInternalValue(String(newValue));\n (onValueChange as SingleComboboxProps['onValueChange'])?.(\n String(newValue)\n );\n }\n },\n [onValueChange, multiple]\n );\n\n const setInputValue = useCallback(\n (newValue: string) => {\n if (!multiple && newValue.length === 0) setValue('');\n setInternalInputValue(newValue);\n onInputValueChange?.(newValue);\n },\n [onInputValueChange, setValue, multiple]\n );\n\n const setOpen = useCallback(\n (newOpen: boolean) => {\n setInternalOpen(newOpen);\n onOpenChange?.(newOpen);\n },\n [onOpenChange]\n );\n\n return (\n <ComboboxContext.Provider\n value={{\n setValue,\n value,\n inputValue,\n setInputValue,\n open,\n setOpen,\n inputRef,\n multiple,\n listRef\n }}\n >\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen} modal={modal}>\n <ComboboxProvider\n open={open}\n setOpen={setOpen}\n value={inputValue}\n setValue={setInputValue}\n selectedValue={value}\n setSelectedValue={setValue}\n focusLoop={false}\n includesBaseElement={false}\n resetValueOnHide={multiple}\n resetValueOnSelect={multiple}\n {...props}\n >\n {children}\n </ComboboxProvider>\n </PopoverPrimitive.Root>\n </ComboboxContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;;AAyBA;AAIO;AACL;;AAEE;;AAIF;AACF;AAiCa;;;;AAsBX;AACA;AAEA;AACA;AACA;AAEA;;;AAIQ;AACE;;;;AAIH;;;AAID;AACC;;AAIL;AAIF;AAEI;;;AAEA;;AAKJ;;AAGI;AACF;AAIF;;;;;;;;;;AAYK;AAqBP;;"}
1
+ {"version":3,"file":"combobox-root.js","sources":["../../../components/combobox/combobox-root.tsx"],"sourcesContent":["'use client';\n\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react';\nimport {\n createContext,\n RefObject,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState\n} from 'react';\n\ninterface ComboboxContextValue<Value = string> {\n multiple: boolean;\n inputValue: string;\n hasItems: boolean;\n inputContainerRef: RefObject<HTMLDivElement | null>;\n value: Value | Value[] | null | undefined;\n onValueChange?: (value: Value | Value[] | null) => void;\n}\n\nconst ComboboxContext = createContext<\n ComboboxContextValue<unknown> | undefined\n>(undefined);\n\nexport const useComboboxContext = <\n Value = string\n>(): ComboboxContextValue<Value> => {\n const context = useContext(ComboboxContext);\n if (!context) {\n throw new Error(\n 'useComboboxContext must be used within a ComboboxProvider'\n );\n }\n return context as ComboboxContextValue<Value>;\n};\n\nexport interface BaseComboboxRootProps<Value>\n extends Omit<\n ComboboxPrimitive.Root.Props<Value, boolean>,\n 'onValueChange' | 'onInputValueChange' | 'multiple'\n > {\n onInputValueChange?: (inputValue: string) => void;\n}\n\nexport interface SingleComboboxProps<Value = string>\n extends BaseComboboxRootProps<Value> {\n multiple?: false;\n value?: Value | null;\n defaultValue?: Value | null;\n onValueChange?: (value: Value | null) => void;\n}\n\nexport interface MultipleComboboxProps<Value = string>\n extends BaseComboboxRootProps<Value> {\n multiple: true;\n value?: Value[];\n defaultValue?: Value[];\n onValueChange?: (value: Value[]) => void;\n}\n\nexport type ComboboxRootProps<Value = string> =\n | SingleComboboxProps<Value>\n | MultipleComboboxProps<Value>;\n\nexport const ComboboxRoot = <Value extends unknown | unknown[]>({\n multiple = false,\n children,\n onValueChange,\n onInputValueChange,\n value: providedValue,\n defaultValue,\n items,\n ...props\n}: ComboboxRootProps<Value>) => {\n const [inputValue, setInputValue] = useState('');\n const [internalValue, setInternalValue] = useState<\n Value | Value[] | null | undefined\n >(defaultValue ?? null);\n const inputContainerRef = useRef<HTMLDivElement>(null);\n\n const computedValue = providedValue ?? internalValue;\n\n const handleInputValueChange = useCallback(\n (\n value: string,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails\n ) => {\n setInputValue(value);\n onInputValueChange?.(value);\n },\n [onInputValueChange]\n );\n\n const handleValueChange = useCallback(\n (\n value: Value | Value[] | null,\n eventDetails: ComboboxPrimitive.Root.ChangeEventDetails\n ) => {\n setInternalValue(value);\n if (multiple) {\n (onValueChange as MultipleComboboxProps<Value>['onValueChange'])?.(\n value as Value[]\n );\n } else {\n (onValueChange as SingleComboboxProps<Value>['onValueChange'])?.(\n value as Value | null\n );\n }\n },\n [onValueChange, multiple]\n );\n\n const contextValue = useMemo(\n () => ({\n multiple,\n inputValue,\n hasItems: !!items,\n inputContainerRef,\n value: computedValue,\n onValueChange: handleValueChange\n }),\n [multiple, inputValue, items, computedValue, handleValueChange]\n );\n\n return (\n <ComboboxContext.Provider\n value={contextValue as ComboboxContextValue<unknown>}\n >\n <ComboboxPrimitive.Root\n multiple={multiple}\n onValueChange={handleValueChange}\n onInputValueChange={handleInputValueChange}\n items={items}\n value={providedValue}\n defaultValue={defaultValue}\n modal\n {...props}\n >\n {children}\n </ComboboxPrimitive.Root>\n </ComboboxContext.Provider>\n );\n};\n"],"names":[],"mappings":";;;;;AAsBA;AAIO;AAGL;;AAEE;;AAIF;AACF;AA8BO;;AAWL;AAGA;AAEA;;;AAQI;AACF;;;;AAWK;;;AAIA;;AAIL;AAIF;;;;;AAMI;AACA;AACD;;AAsBL;;"}
@@ -1,15 +1,9 @@
1
- export declare const Combobox: (({ modal, multiple, children, value: providedValue, defaultValue, onValueChange, inputValue: providedInputValue, onInputValueChange, defaultInputValue, open: providedOpen, defaultOpen, onOpenChange, ...props }: import("./combobox-root").ComboboxRootProps) => import("react/jsx-runtime").JSX.Element) & {
1
+ export declare const Combobox: (<Value extends unknown>({ multiple, children, onValueChange, onInputValueChange, value: providedValue, defaultValue, items, ...props }: import("./combobox-root").ComboboxRootProps<Value>) => import("react/jsx-runtime").JSX.Element) & {
2
2
  Input: import("react").ForwardRefExoticComponent<import("./combobox-input").ComboboxInputProps & import("react").RefAttributes<HTMLInputElement>>;
3
- Content: import("react").ForwardRefExoticComponent<import("./combobox-content").ComboboxContentProps & import("react").RefAttributes<HTMLDivElement>>;
4
- Item: import("react").ForwardRefExoticComponent<import("./combobox-item").ComboboxItemProps & import("react").RefAttributes<HTMLDivElement>>;
5
- Group: import("react").ForwardRefExoticComponent<Omit<import("@ariakit/react").ComboboxGroupOptions<"div"> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@ariakit/react").ComboboxGroupOptions<T>> & {
6
- [index: `data-${string}`]: unknown;
7
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
8
- Label: import("react").ForwardRefExoticComponent<Omit<import("@ariakit/react").ComboboxGroupLabelOptions<"div"> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@ariakit/react").ComboboxGroupLabelOptions<T_1>> & {
9
- [index: `data-${string}`]: unknown;
10
- }, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
11
- Separator: import("react").ForwardRefExoticComponent<Omit<import("@ariakit/react").ComboboxSeparatorOptions<"hr"> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHRElement>, HTMLHRElement>, keyof import("@ariakit/react").ComboboxSeparatorOptions<T_2>> & {
12
- [index: `data-${string}`]: unknown;
13
- }, "ref"> & import("react").RefAttributes<HTMLHRElement>>;
3
+ Content: import("react").ForwardRefExoticComponent<Omit<import("./combobox-content").ComboboxContentProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
4
+ Item: import("react").ForwardRefExoticComponent<Omit<import("./combobox-item").ComboboxItemProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
5
+ Group: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteGroupProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
6
+ Label: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AutocompleteGroupLabelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
7
+ Separator: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").SeparatorProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
8
  };
15
9
  //# sourceMappingURL=combobox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../components/combobox/combobox.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAOnB,CAAC"}
1
+ {"version":3,"file":"combobox.d.ts","sourceRoot":"","sources":["../../../components/combobox/combobox.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,QAAQ;;;;;;;CAOnB,CAAC"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var styles = {"content":"combobox-module_content__5b8Oc","list":"combobox-module_list__0Kbu0","itemIcon":"combobox-module_itemIcon__bbgmL","menuitem":"combobox-module_menuitem__6PPmr","label":"combobox-module_label__oU1VF","separator":"combobox-module_separator__nn47j"};
5
+ var styles = {"positioner":"combobox-module_positioner__4Dnxn","content":"combobox-module_content__5b8Oc","list":"combobox-module_list__0Kbu0","itemIcon":"combobox-module_itemIcon__bbgmL","menuitem":"combobox-module_menuitem__6PPmr","label":"combobox-module_label__oU1VF","separator":"combobox-module_separator__nn47j"};
6
6
 
7
7
  exports.default = styles;
8
8
  //# sourceMappingURL=combobox.module.css.cjs.map
@@ -1,4 +1,4 @@
1
- var styles = {"content":"combobox-module_content__5b8Oc","list":"combobox-module_list__0Kbu0","itemIcon":"combobox-module_itemIcon__bbgmL","menuitem":"combobox-module_menuitem__6PPmr","label":"combobox-module_label__oU1VF","separator":"combobox-module_separator__nn47j"};
1
+ var styles = {"positioner":"combobox-module_positioner__4Dnxn","content":"combobox-module_content__5b8Oc","list":"combobox-module_list__0Kbu0","itemIcon":"combobox-module_itemIcon__bbgmL","menuitem":"combobox-module_menuitem__6PPmr","label":"combobox-module_label__oU1VF","separator":"combobox-module_separator__nn47j"};
2
2
 
3
3
  export { styles as default };
4
4
  //# sourceMappingURL=combobox.module.css.js.map