@bioturing/components 0.31.0 → 0.32.1

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 (507) hide show
  1. package/dist/components/badge/component.d.ts +7 -0
  2. package/dist/components/badge/component.d.ts.map +1 -0
  3. package/dist/components/badge/component.js.map +1 -1
  4. package/dist/components/badge/index.d.ts +2 -0
  5. package/dist/components/badge/index.d.ts.map +1 -0
  6. package/dist/components/breadcrumb/component.d.ts +6 -0
  7. package/dist/components/breadcrumb/component.d.ts.map +1 -0
  8. package/dist/components/breadcrumb/component.js.map +1 -1
  9. package/dist/components/breadcrumb/index.d.ts +3 -0
  10. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  11. package/dist/components/breadcrumb/types.d.ts +19 -0
  12. package/dist/components/breadcrumb/types.d.ts.map +1 -0
  13. package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
  14. package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
  15. package/dist/components/breadcrumb/useItemRender.js.map +1 -1
  16. package/dist/components/button/component.d.ts +14 -0
  17. package/dist/components/button/component.d.ts.map +1 -0
  18. package/dist/components/button/component.js.map +1 -1
  19. package/dist/components/button/index.d.ts +2 -0
  20. package/dist/components/button/index.d.ts.map +1 -0
  21. package/dist/components/checkbox/component.d.ts +16 -0
  22. package/dist/components/checkbox/component.d.ts.map +1 -0
  23. package/dist/components/checkbox/component.js.map +1 -1
  24. package/dist/components/checkbox/index.d.ts +2 -0
  25. package/dist/components/checkbox/index.d.ts.map +1 -0
  26. package/dist/components/choice-list/component.d.ts +35 -0
  27. package/dist/components/choice-list/component.d.ts.map +1 -0
  28. package/dist/components/choice-list/component.js.map +1 -1
  29. package/dist/components/choice-list/index.d.ts +2 -0
  30. package/dist/components/choice-list/index.d.ts.map +1 -0
  31. package/dist/components/cmdk/command-score.d.ts +2 -0
  32. package/dist/components/cmdk/command-score.d.ts.map +1 -0
  33. package/dist/components/cmdk/command-score.js.map +1 -1
  34. package/dist/components/cmdk/index.d.ts +440 -0
  35. package/dist/components/cmdk/index.d.ts.map +1 -0
  36. package/dist/components/cmdk/index.js +332 -348
  37. package/dist/components/cmdk/index.js.map +1 -1
  38. package/dist/components/code-block/component.d.ts +3 -0
  39. package/dist/components/code-block/component.d.ts.map +1 -0
  40. package/dist/components/code-block/component.js +83 -84
  41. package/dist/components/code-block/component.js.map +1 -1
  42. package/dist/components/code-block/index.d.ts +3 -0
  43. package/dist/components/code-block/index.d.ts.map +1 -0
  44. package/dist/components/code-block/types.d.ts +64 -0
  45. package/dist/components/code-block/types.d.ts.map +1 -0
  46. package/dist/components/collapse/component.d.ts +14 -0
  47. package/dist/components/collapse/component.d.ts.map +1 -0
  48. package/dist/components/collapse/component.js.map +1 -1
  49. package/dist/components/collapse/index.d.ts +2 -0
  50. package/dist/components/collapse/index.d.ts.map +1 -0
  51. package/dist/components/color-select/component.d.ts +36 -0
  52. package/dist/components/color-select/component.d.ts.map +1 -0
  53. package/dist/components/color-select/component.js +28 -30
  54. package/dist/components/color-select/component.js.map +1 -1
  55. package/dist/components/color-select/index.d.ts +2 -0
  56. package/dist/components/color-select/index.d.ts.map +1 -0
  57. package/dist/components/combobox/component.d.ts +119 -0
  58. package/dist/components/combobox/component.d.ts.map +1 -0
  59. package/dist/components/combobox/component.js +166 -162
  60. package/dist/components/combobox/component.js.map +1 -1
  61. package/dist/components/combobox/index.d.ts +3 -0
  62. package/dist/components/combobox/index.d.ts.map +1 -0
  63. package/dist/components/command-palette/component.d.ts +41 -0
  64. package/dist/components/command-palette/component.d.ts.map +1 -0
  65. package/dist/components/command-palette/component.js +36 -36
  66. package/dist/components/command-palette/component.js.map +1 -1
  67. package/dist/components/command-palette/index.d.ts +2 -0
  68. package/dist/components/command-palette/index.d.ts.map +1 -0
  69. package/dist/components/command-palette/style.css +1 -1
  70. package/dist/components/drag-drop/context.d.ts +10 -0
  71. package/dist/components/drag-drop/context.d.ts.map +1 -0
  72. package/dist/components/drag-drop/context.js.map +1 -1
  73. package/dist/components/drag-drop/draggable.d.ts +6 -0
  74. package/dist/components/drag-drop/draggable.d.ts.map +1 -0
  75. package/dist/components/drag-drop/draggable.js.map +1 -1
  76. package/dist/components/drag-drop/droppable.d.ts +9 -0
  77. package/dist/components/drag-drop/droppable.d.ts.map +1 -0
  78. package/dist/components/drag-drop/droppable.js.map +1 -1
  79. package/dist/components/drag-drop/hooks.d.ts +42 -0
  80. package/dist/components/drag-drop/hooks.d.ts.map +1 -0
  81. package/dist/components/drag-drop/hooks.js +71 -73
  82. package/dist/components/drag-drop/hooks.js.map +1 -1
  83. package/dist/components/drag-drop/index.d.ts +26 -0
  84. package/dist/components/drag-drop/index.d.ts.map +1 -0
  85. package/dist/components/drag-drop/index.js.map +1 -1
  86. package/dist/components/drag-drop/types.d.ts +232 -0
  87. package/dist/components/drag-drop/types.d.ts.map +1 -0
  88. package/dist/components/drag-drop/value.d.ts +8 -0
  89. package/dist/components/drag-drop/value.d.ts.map +1 -0
  90. package/dist/components/drag-drop/value.js +66 -66
  91. package/dist/components/drag-drop/value.js.map +1 -1
  92. package/dist/components/dropdown-menu/component.d.ts +79 -0
  93. package/dist/components/dropdown-menu/component.d.ts.map +1 -0
  94. package/dist/components/dropdown-menu/component.js +108 -106
  95. package/dist/components/dropdown-menu/component.js.map +1 -1
  96. package/dist/components/dropdown-menu/divider.d.ts +6 -0
  97. package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
  98. package/dist/components/dropdown-menu/divider.js.map +1 -1
  99. package/dist/components/dropdown-menu/index.d.ts +4 -0
  100. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  101. package/dist/components/dropdown-menu/item.d.ts +56 -0
  102. package/dist/components/dropdown-menu/item.d.ts.map +1 -0
  103. package/dist/components/dropdown-menu/item.js +72 -66
  104. package/dist/components/dropdown-menu/item.js.map +1 -1
  105. package/dist/components/dropdown-menu/types.d.ts +88 -0
  106. package/dist/components/dropdown-menu/types.d.ts.map +1 -0
  107. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
  108. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
  109. package/dist/components/dropdown-menu/useDropdownMenu.js +80 -77
  110. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  111. package/dist/components/ds-root/component.d.ts +14 -0
  112. package/dist/components/ds-root/component.d.ts.map +1 -0
  113. package/dist/components/ds-root/component.js.map +1 -1
  114. package/dist/components/ds-root/context.d.ts +8 -0
  115. package/dist/components/ds-root/context.d.ts.map +1 -0
  116. package/dist/components/ds-root/index.d.ts +3 -0
  117. package/dist/components/ds-root/index.d.ts.map +1 -0
  118. package/dist/components/empty/component.d.ts +13 -0
  119. package/dist/components/empty/component.d.ts.map +1 -0
  120. package/dist/components/empty/component.js.map +1 -1
  121. package/dist/components/empty/index.d.ts +2 -0
  122. package/dist/components/empty/index.d.ts.map +1 -0
  123. package/dist/components/field/component.d.ts +42 -0
  124. package/dist/components/field/component.d.ts.map +1 -0
  125. package/dist/components/field/component.js.map +1 -1
  126. package/dist/components/field/index.d.ts +2 -0
  127. package/dist/components/field/index.d.ts.map +1 -0
  128. package/dist/components/form/component.d.ts +22 -0
  129. package/dist/components/form/component.d.ts.map +1 -0
  130. package/dist/components/form/component.js.map +1 -1
  131. package/dist/components/form/index.d.ts +2 -0
  132. package/dist/components/form/index.d.ts.map +1 -0
  133. package/dist/components/form/item.d.ts +24 -0
  134. package/dist/components/form/item.d.ts.map +1 -0
  135. package/dist/components/form/item.js +24 -24
  136. package/dist/components/form/item.js.map +1 -1
  137. package/dist/components/form/label.d.ts +32 -0
  138. package/dist/components/form/label.d.ts.map +1 -0
  139. package/dist/components/form/label.js.map +1 -1
  140. package/dist/components/hooks/antd.d.ts +11 -0
  141. package/dist/components/hooks/antd.d.ts.map +1 -0
  142. package/dist/components/hooks/antd.js.map +1 -1
  143. package/dist/components/hooks/base-ui.d.ts +11 -0
  144. package/dist/components/hooks/base-ui.d.ts.map +1 -0
  145. package/dist/components/hooks/base-ui.js +22 -25
  146. package/dist/components/hooks/base-ui.js.map +1 -1
  147. package/dist/components/hooks/index.d.ts +11 -0
  148. package/dist/components/hooks/index.d.ts.map +1 -0
  149. package/dist/components/hooks/useBreakpoint.d.ts +39 -0
  150. package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
  151. package/dist/components/hooks/useBreakpoint.js +14 -15
  152. package/dist/components/hooks/useBreakpoint.js.map +1 -1
  153. package/dist/components/hooks/useCSSVariables.d.ts +7 -0
  154. package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
  155. package/dist/components/hooks/useCSSVariables.js.map +1 -1
  156. package/dist/components/hooks/useCharts.d.ts +41 -0
  157. package/dist/components/hooks/useCharts.d.ts.map +1 -0
  158. package/dist/components/hooks/useCharts.js.map +1 -1
  159. package/dist/components/hooks/useControlledState.d.ts +13 -0
  160. package/dist/components/hooks/useControlledState.d.ts.map +1 -0
  161. package/dist/components/hooks/useControlledState.js.map +1 -1
  162. package/dist/components/hooks/useDraggable.d.ts +4 -0
  163. package/dist/components/hooks/useDraggable.d.ts.map +1 -0
  164. package/dist/components/hooks/useDraggable.js +19 -20
  165. package/dist/components/hooks/useDraggable.js.map +1 -1
  166. package/dist/components/hooks/useHover.d.ts +5 -0
  167. package/dist/components/hooks/useHover.d.ts.map +1 -0
  168. package/dist/components/hooks/useHover.js +16 -17
  169. package/dist/components/hooks/useHover.js.map +1 -1
  170. package/dist/components/hooks/useResizeObserver.d.ts +9 -0
  171. package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
  172. package/dist/components/hooks/useResizeObserver.js +29 -30
  173. package/dist/components/hooks/useResizeObserver.js.map +1 -1
  174. package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
  175. package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
  176. package/dist/components/hooks/useTransitionStatus.js.map +1 -1
  177. package/dist/components/hooks/useWindowSize.d.ts +5 -0
  178. package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
  179. package/dist/components/hooks/useWindowSize.js.map +1 -1
  180. package/dist/components/icon-button/component.d.ts +45 -0
  181. package/dist/components/icon-button/component.d.ts.map +1 -0
  182. package/dist/components/icon-button/component.js.map +1 -1
  183. package/dist/components/icon-button/index.d.ts +2 -0
  184. package/dist/components/icon-button/index.d.ts.map +1 -0
  185. package/dist/components/index.d.ts +53 -0
  186. package/dist/components/index.d.ts.map +1 -0
  187. package/dist/components/input/component.d.ts +29 -0
  188. package/dist/components/input/component.d.ts.map +1 -0
  189. package/dist/components/input/component.js +42 -41
  190. package/dist/components/input/component.js.map +1 -1
  191. package/dist/components/input/index.d.ts +2 -0
  192. package/dist/components/input/index.d.ts.map +1 -0
  193. package/dist/components/keyboard-shortcut/component.d.ts +15 -0
  194. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
  195. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  196. package/dist/components/keyboard-shortcut/index.d.ts +2 -0
  197. package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
  198. package/dist/components/loader/component.d.ts +5 -0
  199. package/dist/components/loader/component.d.ts.map +1 -0
  200. package/dist/components/loader/component.js.map +1 -1
  201. package/dist/components/loader/index.d.ts +2 -0
  202. package/dist/components/loader/index.d.ts.map +1 -0
  203. package/dist/components/modal/Modal.d.ts +85 -0
  204. package/dist/components/modal/Modal.d.ts.map +1 -0
  205. package/dist/components/modal/Modal.js +75 -75
  206. package/dist/components/modal/Modal.js.map +1 -1
  207. package/dist/components/modal/ModalProvider.d.ts +6 -0
  208. package/dist/components/modal/ModalProvider.d.ts.map +1 -0
  209. package/dist/components/modal/ModalProvider.js +25 -25
  210. package/dist/components/modal/ModalProvider.js.map +1 -1
  211. package/dist/components/modal/ModalService.d.ts +34 -0
  212. package/dist/components/modal/ModalService.d.ts.map +1 -0
  213. package/dist/components/modal/ModalService.js +5 -10
  214. package/dist/components/modal/ModalService.js.map +1 -1
  215. package/dist/components/modal/constants.d.ts +10 -0
  216. package/dist/components/modal/constants.d.ts.map +1 -0
  217. package/dist/components/modal/constants.js.map +1 -1
  218. package/dist/components/modal/functions.d.ts +28 -0
  219. package/dist/components/modal/functions.d.ts.map +1 -0
  220. package/dist/components/modal/functions.js.map +1 -1
  221. package/dist/components/modal/index.d.ts +16 -0
  222. package/dist/components/modal/index.d.ts.map +1 -0
  223. package/dist/components/modal/index.js.map +1 -1
  224. package/dist/components/nav/context.d.ts +10 -0
  225. package/dist/components/nav/context.d.ts.map +1 -0
  226. package/dist/components/nav/context.js.map +1 -1
  227. package/dist/components/nav/group.d.ts +15 -0
  228. package/dist/components/nav/group.d.ts.map +1 -0
  229. package/dist/components/nav/group.js.map +1 -1
  230. package/dist/components/nav/heading.d.ts +6 -0
  231. package/dist/components/nav/heading.d.ts.map +1 -0
  232. package/dist/components/nav/heading.js.map +1 -1
  233. package/dist/components/nav/index.d.ts +12 -0
  234. package/dist/components/nav/index.d.ts.map +1 -0
  235. package/dist/components/nav/item.d.ts +35 -0
  236. package/dist/components/nav/item.d.ts.map +1 -0
  237. package/dist/components/nav/item.js.map +1 -1
  238. package/dist/components/popover/component.d.ts +10 -0
  239. package/dist/components/popover/component.d.ts.map +1 -0
  240. package/dist/components/popover/component.js.map +1 -1
  241. package/dist/components/popover/index.d.ts +2 -0
  242. package/dist/components/popover/index.d.ts.map +1 -0
  243. package/dist/components/popup-panel/component.d.ts +100 -0
  244. package/dist/components/popup-panel/component.d.ts.map +1 -0
  245. package/dist/components/popup-panel/component.js +105 -105
  246. package/dist/components/popup-panel/component.js.map +1 -1
  247. package/dist/components/popup-panel/constants.d.ts +8 -0
  248. package/dist/components/popup-panel/constants.d.ts.map +1 -0
  249. package/dist/components/popup-panel/constants.js.map +1 -1
  250. package/dist/components/popup-panel/index.d.ts +2 -0
  251. package/dist/components/popup-panel/index.d.ts.map +1 -0
  252. package/dist/components/radio/component.d.ts +8 -0
  253. package/dist/components/radio/component.d.ts.map +1 -0
  254. package/dist/components/radio/component.js.map +1 -1
  255. package/dist/components/radio/index.d.ts +3 -0
  256. package/dist/components/radio/index.d.ts.map +1 -0
  257. package/dist/components/radio/interface.d.ts +6 -0
  258. package/dist/components/radio/interface.d.ts.map +1 -0
  259. package/dist/components/resizable/component.d.ts +70 -0
  260. package/dist/components/resizable/component.d.ts.map +1 -0
  261. package/dist/components/resizable/component.js +147 -147
  262. package/dist/components/resizable/component.js.map +1 -1
  263. package/dist/components/resizable/index.d.ts +3 -0
  264. package/dist/components/resizable/index.d.ts.map +1 -0
  265. package/dist/components/scroll-area/component.d.ts +67 -0
  266. package/dist/components/scroll-area/component.d.ts.map +1 -0
  267. package/dist/components/scroll-area/component.js +75 -56
  268. package/dist/components/scroll-area/component.js.map +1 -1
  269. package/dist/components/scroll-area/index.d.ts +2 -0
  270. package/dist/components/scroll-area/index.d.ts.map +1 -0
  271. package/dist/components/segmented/component.d.ts +10 -0
  272. package/dist/components/segmented/component.d.ts.map +1 -0
  273. package/dist/components/segmented/component.js.map +1 -1
  274. package/dist/components/segmented/index.d.ts +2 -0
  275. package/dist/components/segmented/index.d.ts.map +1 -0
  276. package/dist/components/select/component.d.ts +48 -0
  277. package/dist/components/select/component.d.ts.map +1 -0
  278. package/dist/components/select/component.js +93 -94
  279. package/dist/components/select/component.js.map +1 -1
  280. package/dist/components/select/index.d.ts +2 -0
  281. package/dist/components/select/index.d.ts.map +1 -0
  282. package/dist/components/select/item.d.ts +14 -0
  283. package/dist/components/select/item.d.ts.map +1 -0
  284. package/dist/components/select/item.js.map +1 -1
  285. package/dist/components/select-trigger/component.d.ts +45 -0
  286. package/dist/components/select-trigger/component.d.ts.map +1 -0
  287. package/dist/components/select-trigger/component.js +96 -96
  288. package/dist/components/select-trigger/component.js.map +1 -1
  289. package/dist/components/select-trigger/index.d.ts +3 -0
  290. package/dist/components/select-trigger/index.d.ts.map +1 -0
  291. package/dist/components/slider/component.d.ts +6 -0
  292. package/dist/components/slider/component.d.ts.map +1 -0
  293. package/dist/components/slider/component.js.map +1 -1
  294. package/dist/components/slider/index.d.ts +2 -0
  295. package/dist/components/slider/index.d.ts.map +1 -0
  296. package/dist/components/spin/component.d.ts +6 -0
  297. package/dist/components/spin/component.d.ts.map +1 -0
  298. package/dist/components/spin/component.js.map +1 -1
  299. package/dist/components/spin/index.d.ts +2 -0
  300. package/dist/components/spin/index.d.ts.map +1 -0
  301. package/dist/components/splitter/component.d.ts +10 -0
  302. package/dist/components/splitter/component.d.ts.map +1 -0
  303. package/dist/components/splitter/component.js +7 -7
  304. package/dist/components/splitter/component.js.map +1 -1
  305. package/dist/components/splitter/context.d.ts +5 -0
  306. package/dist/components/splitter/context.d.ts.map +1 -0
  307. package/dist/components/splitter/context.js.map +1 -1
  308. package/dist/components/splitter/index.d.ts +2 -0
  309. package/dist/components/splitter/index.d.ts.map +1 -0
  310. package/dist/components/splitter/splitter-panel.d.ts +12 -0
  311. package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
  312. package/dist/components/splitter/splitter-panel.js.map +1 -1
  313. package/dist/components/splitter/splitter.d.ts +11 -0
  314. package/dist/components/splitter/splitter.d.ts.map +1 -0
  315. package/dist/components/splitter/splitter.js +112 -112
  316. package/dist/components/splitter/splitter.js.map +1 -1
  317. package/dist/components/splitter/useSizes.d.ts +9 -0
  318. package/dist/components/splitter/useSizes.d.ts.map +1 -0
  319. package/dist/components/splitter/useSizes.js +35 -35
  320. package/dist/components/splitter/useSizes.js.map +1 -1
  321. package/dist/components/stack/Stack.d.ts +40 -0
  322. package/dist/components/stack/Stack.d.ts.map +1 -0
  323. package/dist/components/stack/Stack.js.map +1 -1
  324. package/dist/components/stack/StackChild.d.ts +31 -0
  325. package/dist/components/stack/StackChild.d.ts.map +1 -0
  326. package/dist/components/stack/StackChild.js.map +1 -1
  327. package/dist/components/stack/index.d.ts +8 -0
  328. package/dist/components/stack/index.d.ts.map +1 -0
  329. package/dist/components/stack/index.js.map +1 -1
  330. package/dist/components/status-icon/component.d.ts +23 -0
  331. package/dist/components/status-icon/component.d.ts.map +1 -0
  332. package/dist/components/status-icon/component.js.map +1 -1
  333. package/dist/components/status-icon/index.d.ts +2 -0
  334. package/dist/components/status-icon/index.d.ts.map +1 -0
  335. package/dist/components/switch/component.d.ts +9 -0
  336. package/dist/components/switch/component.d.ts.map +1 -0
  337. package/dist/components/switch/component.js.map +1 -1
  338. package/dist/components/switch/index.d.ts +2 -0
  339. package/dist/components/switch/index.d.ts.map +1 -0
  340. package/dist/components/table/component.d.ts +32 -0
  341. package/dist/components/table/component.d.ts.map +1 -0
  342. package/dist/components/table/component.js +57 -58
  343. package/dist/components/table/component.js.map +1 -1
  344. package/dist/components/table/index.d.ts +2 -0
  345. package/dist/components/table/index.d.ts.map +1 -0
  346. package/dist/components/tag/component.d.ts +22 -0
  347. package/dist/components/tag/component.d.ts.map +1 -0
  348. package/dist/components/tag/component.js.map +1 -1
  349. package/dist/components/tag/index.d.ts +2 -0
  350. package/dist/components/tag/index.d.ts.map +1 -0
  351. package/dist/components/theme-provider/component.d.ts +7 -0
  352. package/dist/components/theme-provider/component.d.ts.map +1 -0
  353. package/dist/components/theme-provider/component.js.map +1 -1
  354. package/dist/components/theme-provider/index.d.ts +2 -0
  355. package/dist/components/theme-provider/index.d.ts.map +1 -0
  356. package/dist/components/toast/component.d.ts +15 -0
  357. package/dist/components/toast/component.d.ts.map +1 -0
  358. package/dist/components/toast/component.js +49 -50
  359. package/dist/components/toast/component.js.map +1 -1
  360. package/dist/components/toast/function.d.ts +11 -0
  361. package/dist/components/toast/function.d.ts.map +1 -0
  362. package/dist/components/toast/function.js.map +1 -1
  363. package/dist/components/toast/index.d.ts +4 -0
  364. package/dist/components/toast/index.d.ts.map +1 -0
  365. package/dist/components/toast/types.d.ts +4 -0
  366. package/dist/components/toast/types.d.ts.map +1 -0
  367. package/dist/components/tooltip/component.d.ts +10 -0
  368. package/dist/components/tooltip/component.d.ts.map +1 -0
  369. package/dist/components/tooltip/component.js.map +1 -1
  370. package/dist/components/tooltip/index.d.ts +2 -0
  371. package/dist/components/tooltip/index.d.ts.map +1 -0
  372. package/dist/components/tour/component.d.ts +8 -0
  373. package/dist/components/tour/component.d.ts.map +1 -0
  374. package/dist/components/tour/component.js.map +1 -1
  375. package/dist/components/tour/index.d.ts +2 -0
  376. package/dist/components/tour/index.d.ts.map +1 -0
  377. package/dist/components/transition/component.d.ts +30 -0
  378. package/dist/components/transition/component.d.ts.map +1 -0
  379. package/dist/components/transition/component.js +32 -32
  380. package/dist/components/transition/component.js.map +1 -1
  381. package/dist/components/transition/index.d.ts +2 -0
  382. package/dist/components/transition/index.d.ts.map +1 -0
  383. package/dist/components/tree/components.d.ts +14 -0
  384. package/dist/components/tree/components.d.ts.map +1 -0
  385. package/dist/components/tree/components.js.map +1 -1
  386. package/dist/components/tree/helpers.d.ts +6 -0
  387. package/dist/components/tree/helpers.d.ts.map +1 -0
  388. package/dist/components/tree/helpers.js.map +1 -1
  389. package/dist/components/tree/index.d.ts +5 -0
  390. package/dist/components/tree/index.d.ts.map +1 -0
  391. package/dist/components/tree/types.d.ts +56 -0
  392. package/dist/components/tree/types.d.ts.map +1 -0
  393. package/dist/components/tree/useTreeCommon.d.ts +179 -0
  394. package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
  395. package/dist/components/tree/useTreeCommon.js +29 -29
  396. package/dist/components/tree/useTreeCommon.js.map +1 -1
  397. package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
  398. package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
  399. package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
  400. package/dist/components/truncate/component.d.ts +17 -0
  401. package/dist/components/truncate/component.d.ts.map +1 -0
  402. package/dist/components/truncate/component.js +38 -39
  403. package/dist/components/truncate/component.js.map +1 -1
  404. package/dist/components/truncate/helpers.d.ts +17 -0
  405. package/dist/components/truncate/helpers.d.ts.map +1 -0
  406. package/dist/components/truncate/helpers.js +27 -30
  407. package/dist/components/truncate/helpers.js.map +1 -1
  408. package/dist/components/truncate/index.d.ts +2 -0
  409. package/dist/components/truncate/index.d.ts.map +1 -0
  410. package/dist/components/upload/component.d.ts +17 -0
  411. package/dist/components/upload/component.d.ts.map +1 -0
  412. package/dist/components/upload/component.js.map +1 -1
  413. package/dist/components/upload/dragger.d.ts +14 -0
  414. package/dist/components/upload/dragger.d.ts.map +1 -0
  415. package/dist/components/upload/dragger.js.map +1 -1
  416. package/dist/components/upload/hooks.d.ts +6 -0
  417. package/dist/components/upload/hooks.d.ts.map +1 -0
  418. package/dist/components/upload/hooks.js.map +1 -1
  419. package/dist/components/upload/index.d.ts +4 -0
  420. package/dist/components/upload/index.d.ts.map +1 -0
  421. package/dist/components/upload/item.d.ts +12 -0
  422. package/dist/components/upload/item.d.ts.map +1 -0
  423. package/dist/components/upload/item.js.map +1 -1
  424. package/dist/components/upload/utils.d.ts +2 -0
  425. package/dist/components/upload/utils.d.ts.map +1 -0
  426. package/dist/components/upload/utils.js.map +1 -1
  427. package/dist/components/utils/WithAntdTokens.d.ts +8 -0
  428. package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
  429. package/dist/components/utils/WithAntdTokens.js.map +1 -1
  430. package/dist/components/utils/WithRenderProp.d.ts +14 -0
  431. package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
  432. package/dist/components/utils/WithRenderProp.js.map +1 -1
  433. package/dist/components/utils/antdUtils.d.ts +11 -0
  434. package/dist/components/utils/antdUtils.d.ts.map +1 -0
  435. package/dist/components/utils/antdUtils.js +9 -12
  436. package/dist/components/utils/antdUtils.js.map +1 -1
  437. package/dist/components/utils/client.d.ts +6 -0
  438. package/dist/components/utils/client.d.ts.map +1 -0
  439. package/dist/components/utils/cn.d.ts +5 -0
  440. package/dist/components/utils/cn.d.ts.map +1 -0
  441. package/dist/components/utils/cn.js.map +1 -1
  442. package/dist/components/utils/colors.d.ts +2 -0
  443. package/dist/components/utils/colors.d.ts.map +1 -0
  444. package/dist/components/utils/constants.d.ts +15 -0
  445. package/dist/components/utils/constants.d.ts.map +1 -0
  446. package/dist/components/utils/index.d.ts +6 -0
  447. package/dist/components/utils/index.d.ts.map +1 -0
  448. package/dist/components/utils/isTracebackError.d.ts +2 -0
  449. package/dist/components/utils/isTracebackError.d.ts.map +1 -0
  450. package/dist/components/utils/isTracebackError.js.map +1 -1
  451. package/dist/components/utils/main.d.ts +7 -0
  452. package/dist/components/utils/main.d.ts.map +1 -0
  453. package/dist/components/utils/placement.d.ts +21 -0
  454. package/dist/components/utils/placement.d.ts.map +1 -0
  455. package/dist/components/utils/placement.js.map +1 -1
  456. package/dist/components/utils/reactElement.d.ts +2 -0
  457. package/dist/components/utils/reactElement.d.ts.map +1 -0
  458. package/dist/components/utils/reactToString.d.ts +3 -0
  459. package/dist/components/utils/reactToString.d.ts.map +1 -0
  460. package/dist/components/utils/reactToString.js.map +1 -1
  461. package/dist/components/utils/selectionRange.d.ts +2 -0
  462. package/dist/components/utils/selectionRange.d.ts.map +1 -0
  463. package/dist/components/utils/selectionRange.js.map +1 -1
  464. package/dist/components/utils/theme.d.ts +6 -0
  465. package/dist/components/utils/theme.d.ts.map +1 -0
  466. package/dist/components/utils/theme.js.map +1 -1
  467. package/dist/components/utils/types.d.ts +12 -0
  468. package/dist/components/utils/types.d.ts.map +1 -0
  469. package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
  470. package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
  471. package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
  472. package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
  473. package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
  474. package/dist/index.d.ts +4 -4390
  475. package/dist/index.d.ts.map +1 -0
  476. package/dist/index.js +166 -164
  477. package/dist/index.js.map +1 -1
  478. package/dist/metadata.d.ts +446 -0
  479. package/dist/metadata.d.ts.map +1 -0
  480. package/dist/metadata.js.map +1 -1
  481. package/dist/tokens/and-theme/index.d.ts +2 -0
  482. package/dist/tokens/and-theme/index.d.ts.map +1 -0
  483. package/dist/tokens/and-theme/tokens.d.ts +6 -0
  484. package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
  485. package/dist/tokens/and-theme/tokens.js.map +1 -1
  486. package/dist/tokens/charts/index.d.ts +5 -0
  487. package/dist/tokens/charts/index.d.ts.map +1 -0
  488. package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
  489. package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
  490. package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
  491. package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
  492. package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
  493. package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
  494. package/dist/tokens/charts/palettes/index.d.ts +24 -0
  495. package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
  496. package/dist/tokens/charts/palettes/index.js.map +1 -1
  497. package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
  498. package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
  499. package/dist/tokens/index.d.ts +5 -0
  500. package/dist/tokens/index.d.ts.map +1 -0
  501. package/dist/tokens/types.d.ts +10 -0
  502. package/dist/tokens/types.d.ts.map +1 -0
  503. package/dist/tokens/utils.d.ts +9 -0
  504. package/dist/tokens/utils.d.ts.map +1 -0
  505. package/dist/tokens/utils.js.map +1 -1
  506. package/package.json +2 -2
  507. package/dist/tailwind.d.ts +0 -1
@@ -1,233 +1,237 @@
1
1
  "use client";
2
- import { jsxs as ue, Fragment as fe, jsx as b } from "react/jsx-runtime";
3
- import { forwardRef as me, useState as S, useContext as _, useCallback as p, useMemo as x } from "react";
4
- import { useControlled as be } from "@base-ui-components/utils/useControlled";
5
- import { FormItemInputContext as pe } from "antd/es/form/context";
6
- import xe from "antd/es/config-provider/DisabledContext";
2
+ import { jsxs as oe, Fragment as ne, jsx as f } from "react/jsx-runtime";
3
+ import ae from "antd/es/config-provider/DisabledContext";
4
+ import { FormItemInputContext as ie } from "antd/es/form/context";
5
+ import { forwardRef as ce, useContext as T, useCallback as u, useMemo as b } from "react";
6
+ import { DropdownMenuDivider as de } from "../dropdown-menu/divider.js";
7
7
  import './style.css';/* empty css */
8
- import { DropdownMenuDivider as ye } from "../dropdown-menu/divider.js";
9
- import { DropdownMenuItem as ge } from "../dropdown-menu/item.js";
10
- import { DropdownMenu as ve } from "../dropdown-menu/component.js";
11
- import { SelectTrigger as he } from "../select-trigger/component.js";
12
- import { useControlledState as Ce } from "../hooks/useControlledState.js";
13
- import { useCls as Ae } from "../utils/antdUtils.js";
14
- import { clsx as y } from "../utils/cn.js";
15
- import { reactNodeToString as Ve } from "../utils/reactToString.js";
16
- const ke = ({
17
- options: g = [],
18
- value: R,
19
- defaultValue: T,
20
- onChange: v,
21
- placeholder: $ = "Select...",
22
- disabled: B = !1,
23
- status: E,
24
- allowClear: W = !1,
25
- multiple: t = !1,
26
- maxTagCount: De,
27
- showSearch: i = !0,
28
- open: q,
29
- onOpenChange: z,
30
- placement: G = "bottomLeft",
31
- className: H,
32
- classNames: a,
33
- size: J = "middle",
34
- loading: we = !1,
35
- optionRender: Me,
36
- filterOption: h = !0,
37
- onSearch: C,
38
- dropdownRender: Te,
39
- clearIcon: Q,
40
- suffixIcon: U,
41
- dropdownMenuProps: X,
42
- triggerProps: A,
43
- searchProps: Y,
44
- showSelectionSummary: F = !1,
45
- selectionSummaryRender: k,
46
- showSelectAll: L = !1,
47
- selectAllRender: Fe,
48
- getOptionKeywords: Z = (V) => [
49
- String(V.key),
50
- Ve(V.label)
8
+ import { DropdownMenuItem as fe } from "../dropdown-menu/item.js";
9
+ import { DropdownMenu as me } from "../dropdown-menu/component.js";
10
+ import { SelectTrigger as ue } from "../select-trigger/component.js";
11
+ import { useControlledState as F } from "../hooks/useControlledState.js";
12
+ import { useCls as be } from "../utils/antdUtils.js";
13
+ import { clsx as m } from "../utils/cn.js";
14
+ import { reactNodeToString as pe } from "../utils/reactToString.js";
15
+ const ge = ({
16
+ options: s = [],
17
+ value: j,
18
+ defaultValue: k,
19
+ onChange: p,
20
+ placeholder: _ = "Select...",
21
+ disabled: K = !1,
22
+ status: L,
23
+ allowClear: R = !1,
24
+ multiple: l = !1,
25
+ maxTagCount: he,
26
+ showSearch: g = !0,
27
+ open: $,
28
+ onOpenChange: B,
29
+ placement: E = "bottomLeft",
30
+ className: W,
31
+ classNames: x,
32
+ size: q = "middle",
33
+ loading: ye = !1,
34
+ optionRender: ve,
35
+ onSearch: Ce,
36
+ dropdownRender: Ae,
37
+ clearIcon: z,
38
+ suffixIcon: G,
39
+ dropdownMenuProps: H,
40
+ triggerProps: O,
41
+ searchProps: J,
42
+ showSelectionSummary: I = !1,
43
+ selectionSummaryRender: h,
44
+ showSelectAll: V = !1,
45
+ selectAllRender: ke,
46
+ optionLabelRender: D,
47
+ getOptionKeywords: P = (r) => [
48
+ String(r.value),
49
+ pe(r.label)
51
50
  ],
52
- ...N
53
- }, ee) => {
54
- const [V] = S(
55
- T !== void 0 ? T : t ? [] : void 0
56
- ), [o, O] = be({
57
- controlled: R,
58
- default: V,
59
- name: "value"
60
- }), [j, K] = Ce(
61
- q,
62
- z,
51
+ ...Q
52
+ }, U) => {
53
+ const [r, S] = F(
54
+ j,
55
+ p,
56
+ k !== void 0 ? k : l ? [] : void 0
57
+ ), [w, M] = F(
58
+ $,
59
+ B,
63
60
  !1
64
- ), [d, te] = S(""), c = Ae(), {
65
- status: le
61
+ ), c = be(), {
62
+ status: X
66
63
  // hasFeedback,
67
64
  // feedbackIcon,
68
- } = _(pe), oe = _(xe), re = E || le, ne = B || oe, n = p(
65
+ } = T(ie), Y = T(ae), Z = L || X, ee = K || Y, n = u(
69
66
  (e) => {
70
- O(e), v == null || v(e);
67
+ S(e), p?.(e);
71
68
  },
72
- [O, v]
73
- ), P = p(
69
+ [S, p]
70
+ ), N = u(
74
71
  (e) => {
75
- if (t) {
76
- const l = Array.isArray(o) ? o : [], f = l.includes(e) ? l.filter((m) => m !== e) : [...l, e];
77
- n(f);
72
+ if (l) {
73
+ const t = Array.isArray(r) ? r : [], o = t.includes(e) ? t.filter((i) => i !== e) : [...t, e];
74
+ n(o);
78
75
  } else
79
76
  n(e);
80
77
  },
81
- [t, o, n]
82
- ), se = p(
83
- (e) => {
84
- te(e), C == null || C(e);
85
- },
86
- [C]
87
- ), r = x(() => !i || !d ? g : g.filter((e) => typeof h == "function" ? h(d, e) : h === !1 ? !0 : (typeof e.label == "string" ? e.label : String(e.value)).toLowerCase().includes(d.toLowerCase())), [g, i, d, h]), I = p(() => {
88
- if (t) {
89
- const e = r.map((l) => l.value);
78
+ [l, r, n]
79
+ ), y = u(() => {
80
+ if (l) {
81
+ const e = s.map((t) => t.value);
90
82
  n(e);
91
83
  }
92
- }, [t, r, n]), D = p(() => {
93
- t && n([]);
94
- }, [t, n]), ae = x(() => r.map((e) => ({
84
+ }, [l, s, n]), v = u(() => {
85
+ l && n([]);
86
+ }, [l, n]), te = b(() => s.map((e) => ({
95
87
  type: "item",
88
+ // todo: make this type better
96
89
  key: e.value,
97
90
  icon: e.icon,
98
91
  label: e.label,
99
92
  disabled: e.disabled,
100
- onClick: () => !e.disabled && P(e.value)
101
- })), [r, P]), ie = x(() => {
102
- if (!L || !t || r.length === 0)
93
+ onClick: () => !e.disabled && N(e.value)
94
+ })), [s, N]), le = b(() => {
95
+ if (!V || !l || s.length === 0)
103
96
  return null;
104
- const e = Array.isArray(o) ? o : [], l = r.map((M) => M.value), f = e.filter(
105
- (M) => l.includes(M)
106
- ), m = f.length === r.length && r.length > 0, w = f.length > 0 && f.length < r.length;
107
- return /* @__PURE__ */ ue(fe, { children: [
108
- /* @__PURE__ */ b(
109
- ge,
97
+ const e = Array.isArray(r) ? r : [], t = s.map((A) => A.value), o = e.filter(
98
+ (A) => t.includes(A)
99
+ ), i = o.length === s.length && s.length > 0, C = o.length > 0 && o.length < s.length;
100
+ return /* @__PURE__ */ oe(ne, { children: [
101
+ /* @__PURE__ */ f(
102
+ fe,
110
103
  {
111
104
  item: {
112
105
  type: "item",
113
106
  key: "select_all",
114
107
  label: "Select All",
115
108
  onClick: () => {
116
- w || m ? D() : I();
109
+ C || i ? v() : y();
117
110
  }
118
111
  },
119
- inCombobox: i,
120
- selected: m,
112
+ inCombobox: g,
113
+ selected: i,
121
114
  showCheckbox: !0,
122
- indeterminate: w,
115
+ indeterminate: C,
123
116
  renderAsNativeElement: !0,
124
117
  onSelect: () => {
125
- w || m ? D() : I();
118
+ C || i ? v() : y();
126
119
  }
127
120
  },
128
121
  "select_all"
129
122
  ),
130
- /* @__PURE__ */ b(ye, {})
123
+ /* @__PURE__ */ f(de, {})
131
124
  ] });
132
125
  }, [
133
- L,
134
- t,
126
+ V,
127
+ l,
128
+ s,
135
129
  r,
136
- o,
137
- i,
138
- D,
139
- I
140
- ]), u = x(() => Array.isArray(o) ? o : o ? [o] : [], [o]), s = u.map((e) => g.find((l) => l.value === e)).filter(Boolean), { displayValue: de, displayPrefix: ce } = x(() => {
141
- if (s.length === 0)
130
+ g,
131
+ v,
132
+ y
133
+ ]), d = b(() => Array.isArray(r) ? r : r ? [r] : [], [r]), a = d.map((e) => s.find((t) => t.value === e)).filter(Boolean), { displayValue: re, displayPrefix: se } = b(() => {
134
+ if (a.length === 0)
142
135
  return { displayValue: void 0, displayPrefix: void 0 };
143
- if (t) {
144
- const l = `${s.length} ${s.length === 1 ? "item" : "items"} selected`;
145
- return F ? k ? {
146
- displayValue: k(u),
136
+ if (l) {
137
+ const t = `${a.length} ${a.length === 1 ? "item" : "items"} selected`;
138
+ return I ? h ? {
139
+ displayValue: h(d),
147
140
  displayPrefix: void 0
148
141
  } : {
149
- displayValue: l,
142
+ displayValue: t,
150
143
  // TODO: Create icon component for multiple selection summary
151
144
  displayPrefix: void 0
152
- } : s.length === 1 ? {
153
- displayValue: s[0].label,
154
- displayPrefix: s[0].icon
145
+ } : a.length === 1 ? {
146
+ displayValue: a[0].label,
147
+ displayPrefix: a[0].icon
155
148
  } : {
156
- displayValue: l,
149
+ displayValue: t,
157
150
  displayPrefix: void 0
158
151
  };
159
152
  }
160
- const e = s[0];
153
+ const e = a[0];
161
154
  return {
162
- displayValue: e == null ? void 0 : e.label,
163
- displayPrefix: e == null ? void 0 : e.icon
155
+ displayValue: e?.label,
156
+ displayPrefix: e?.icon
164
157
  };
165
158
  }, [
166
- s,
167
- t,
168
- F,
169
- k,
170
- u
159
+ a,
160
+ l,
161
+ I,
162
+ h,
163
+ d
171
164
  ]);
172
- return /* @__PURE__ */ b("div", { ref: ee, className: y(c("combobox"), H), ...N, children: /* @__PURE__ */ b(
173
- ve,
165
+ return /* @__PURE__ */ f("div", { ref: U, className: m(c("combobox"), W), ...Q, children: /* @__PURE__ */ f(
166
+ me,
174
167
  {
175
- items: ae,
176
- open: j,
177
- onOpenChange: K,
178
- placement: G,
179
- showSearch: i,
168
+ items: te,
169
+ open: w,
170
+ onOpenChange: M,
171
+ placement: E,
172
+ showSearch: g,
180
173
  searchProps: {
181
174
  placeholder: "Search options...",
182
- onValueChange: se,
183
- value: d,
184
- ...Y
175
+ ...J
185
176
  },
186
- className: y(c("combobox-dropdown")),
177
+ className: m(c("combobox-dropdown")),
187
178
  classNames: {
188
- trigger: y(c("combobox-trigger-wrapper")),
189
- popup: y(c("combobox-popup")),
190
- item: y(c("combobox-option"), a == null ? void 0 : a.option),
191
- ...a
179
+ trigger: m(c("combobox-trigger-wrapper")),
180
+ popup: m(c("combobox-popup")),
181
+ item: m(c("combobox-option"), x?.option),
182
+ ...x
192
183
  },
193
184
  popupMatchTriggerWidth: !0,
194
- keepOpenOnSelect: t,
195
- highlightedItemKey: t ? void 0 : u[0],
196
- showCheckbox: t,
197
- beforeList: ie,
198
- selectedItemKeys: u,
199
- getItemKeywords: Z,
200
- ...X,
201
- children: /* @__PURE__ */ b(
202
- he,
185
+ keepOpenOnSelect: l,
186
+ highlightedItemKey: l ? void 0 : d[0],
187
+ showCheckbox: l,
188
+ beforeList: le,
189
+ selectedItemKeys: d,
190
+ getItemKeywords: P ? (e) => {
191
+ const t = s.find(
192
+ (o) => o.value === e.key
193
+ );
194
+ return t ? P(t) : [];
195
+ } : void 0,
196
+ itemLabelRender: D ? (e, t) => {
197
+ const o = s.find(
198
+ (i) => i.value === e.key
199
+ );
200
+ return o ? D?.(o, t) : null;
201
+ } : void 0,
202
+ ...H,
203
+ children: /* @__PURE__ */ f(
204
+ ue,
203
205
  {
204
- value: de,
205
- prefix: ce,
206
- placeholder: $,
207
- disabled: ne,
208
- status: re,
209
- open: j,
210
- size: J,
211
- allowClear: W,
212
- suffixIcon: U,
213
- clearIcon: Q,
206
+ value: re,
207
+ prefix: se,
208
+ placeholder: _,
209
+ disabled: ee,
210
+ status: Z,
211
+ open: w,
212
+ size: q,
213
+ allowClear: R,
214
+ suffixIcon: G,
215
+ clearIcon: z,
214
216
  classNames: {
215
- trigger: a == null ? void 0 : a.trigger,
216
- ...A == null ? void 0 : A.classNames
217
+ trigger: x?.trigger,
218
+ ...O?.classNames
219
+ },
220
+ onClear: () => {
221
+ n(l ? [] : void 0);
217
222
  },
218
- onClear: () => n(t ? [] : void 0),
219
- onOpenChange: K,
223
+ onOpenChange: M,
220
224
  role: "combobox",
221
- ...A
225
+ ...O
222
226
  }
223
227
  )
224
228
  }
225
229
  ) });
226
- }, Ie = me(ke), He = Object.assign(Ie, {
230
+ }, xe = ce(ge), Le = Object.assign(xe, {
227
231
  // Add any sub components here if needed
228
232
  });
229
233
  export {
230
- He as Combobox,
231
- He as default
234
+ Le as Combobox,
235
+ Le as default
232
236
  };
233
237
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/combobox/component.tsx"],"sourcesContent":["\"use client\";\nimport React, {\n forwardRef,\n useCallback,\n useMemo,\n useState,\n useContext,\n} from \"react\";\nimport { useControlled } from \"@base-ui-components/utils/useControlled\";\nimport { FormItemInputContext } from \"antd/es/form/context\";\nimport { ValidateStatus } from \"antd/es/form/FormItem\";\nimport DisabledContext from \"antd/es/config-provider/DisabledContext\";\nimport { clsx, reactNodeToString, useCls } from \"../utils\";\nimport { SelectTrigger } from \"../select-trigger\";\nimport {\n DropdownMenu,\n DropdownMenuProps,\n DropdownMenuItem,\n type DropdownMenuItemType,\n} from \"../dropdown-menu\";\nimport type { PopoverProps } from \"antd/es/popover\";\n\n// Import component-specific styles\nimport \"./style.css\";\nimport { useControlledState } from \"../hooks\";\nimport { DropdownMenuDivider } from \"../dropdown-menu/divider\";\n\nexport interface ComboboxOption {\n value: string | number;\n label: React.ReactNode;\n disabled?: boolean;\n icon?: React.ReactNode;\n}\n\nexport interface ComboboxProps {\n /** Array of options to be displayed in the combobox */\n options?: ComboboxOption[];\n /** Current value of the combobox */\n value?: string | number | Array<string | number>;\n /** Default value when uncontrolled */\n defaultValue?: string | number | Array<string | number>;\n /** Callback when value changes */\n onChange?: (value: string | number | Array<string | number>) => void;\n /** Placeholder text for the input */\n placeholder?: string;\n /** Whether the combobox is disabled */\n disabled?: boolean;\n /** Validation status */\n status?: ValidateStatus;\n /** Whether to allow clearing the selection */\n allowClear?: boolean;\n /** Whether to allow multiple selections */\n multiple?: boolean;\n /** Maximum number of tags to show */\n maxTagCount?: number;\n /** Whether to show search functionality */\n showSearch?: boolean;\n /** Controlled open state */\n open?: boolean;\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void;\n /** Placement of the dropdown */\n placement?: PopoverProps[\"placement\"];\n /** Custom className for the component */\n className?: string;\n /** Custom class names for different parts */\n classNames?: {\n trigger?: string;\n input?: string;\n option?: string;\n optionIcon?: string;\n optionText?: string;\n };\n /** Size of the combobox */\n size?: \"small\" | \"middle\" | \"large\";\n /** Loading state */\n loading?: boolean;\n /** Custom render for options */\n optionRender?: (\n option: ComboboxOption,\n props: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n /** Filter function for search */\n filterOption?: boolean | ((input: string, option: ComboboxOption) => boolean);\n /** Callback when search input changes */\n onSearch?: (value: string) => void;\n /** Custom dropdown render */\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n /** Custom clear icon */\n clearIcon?: React.ReactNode;\n /** Custom suffix icon */\n suffixIcon?: React.ReactNode;\n /**\n * Props to pass to the dropdown menu\n */\n dropdownMenuProps?: DropdownMenuProps;\n /**\n * Props to pass to the combobox trigger\n */\n triggerProps?: React.ComponentPropsWithoutRef<typeof SelectTrigger>;\n searchProps?: {\n placeholder?: string;\n onValueChange?: (value: string) => void;\n value?: string;\n };\n /**\n * Show selection summary instead of individual tags when multiple\n * @default false\n */\n showSelectionSummary?: boolean;\n /**\n * Render function for the selection summary in multiple case\n * @default (selectedValues) => `${selectedValues.length} items selected`\n */\n selectionSummaryRender?: (\n selectedValues: Array<string | number>\n ) => React.ReactNode;\n /**\n * Show select all option when in multiple mode\n * @default false\n */\n showSelectAll?: boolean;\n /**\n * Render function for the select all option\n */\n selectAllRender?: (props: {\n onSelectAll: () => void;\n onDeselectAll: () => void;\n checked: boolean;\n indeterminate: boolean;\n }) => React.ReactNode;\n /**\n * Function to extract keywords from the item for search filtering\n * @default (option) => [String(option.key), reactNodeToString(option.label)]\n */\n getOptionKeywords?: (\n option: DropdownMenuItemType & { type: \"item\" }\n ) => string[];\n}\n\nconst ComboboxInner = (\n {\n options = [],\n value: controlledValue,\n defaultValue,\n onChange,\n placeholder = \"Select...\",\n disabled: disabledProp = false,\n status: statusProp,\n allowClear = false,\n multiple = false,\n maxTagCount,\n showSearch = true,\n open: controlledOpen,\n onOpenChange,\n placement = \"bottomLeft\",\n className,\n classNames,\n size = \"middle\",\n loading: _loading = false,\n optionRender,\n filterOption = true,\n onSearch,\n dropdownRender,\n clearIcon,\n suffixIcon,\n dropdownMenuProps,\n triggerProps,\n searchProps,\n showSelectionSummary = false,\n selectionSummaryRender,\n showSelectAll = false,\n selectAllRender,\n getOptionKeywords = (option: DropdownMenuItemType & { type: \"item\" }) => [\n String(option.key),\n reactNodeToString(option.label),\n ],\n ...rest\n }: ComboboxProps,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [initialDefaultValue] = useState(\n defaultValue !== undefined ? defaultValue : multiple ? [] : undefined\n );\n const [value, setValue] = useControlled({\n controlled: controlledValue,\n default: initialDefaultValue,\n name: \"value\",\n });\n\n const [open, setOpen] = useControlledState(\n controlledOpen,\n onOpenChange,\n false\n );\n const [searchValue, setSearchValue] = useState(\"\");\n const cls = useCls();\n\n // Get form context values\n const {\n status: contextStatus,\n // hasFeedback,\n // feedbackIcon,\n } = useContext(FormItemInputContext);\n const contextDisabled = useContext(DisabledContext);\n\n // Merge context values with props\n const mergedStatus = statusProp || contextStatus;\n const disabled = disabledProp || contextDisabled;\n\n const handleValueChange = useCallback(\n (newValue: string | number | Array<string | number>) => {\n setValue(newValue);\n onChange?.(newValue);\n },\n [setValue, onChange]\n );\n\n const handleOptionSelect = useCallback(\n (optionValue: string | number) => {\n if (multiple) {\n const currentValues = Array.isArray(value) ? value : [];\n const newValues = currentValues.includes(optionValue)\n ? currentValues.filter((v) => v !== optionValue)\n : [...currentValues, optionValue];\n handleValueChange(newValues);\n } else {\n handleValueChange(optionValue);\n // onOpenChange?.(false);\n }\n },\n [multiple, value, handleValueChange]\n );\n\n const handleSearchChange = useCallback(\n (newValue: string) => {\n setSearchValue(newValue);\n onSearch?.(newValue);\n },\n [onSearch]\n );\n\n // Filter options based on search\n const filteredOptions = useMemo(() => {\n if (!showSearch || !searchValue) return options;\n\n return options.filter((option) => {\n if (typeof filterOption === \"function\") {\n return filterOption(searchValue, option);\n }\n if (filterOption === false) return true;\n\n const label =\n typeof option.label === \"string\" ? option.label : String(option.value);\n return label.toLowerCase().includes(searchValue.toLowerCase());\n });\n }, [options, showSearch, searchValue, filterOption]);\n\n const handleSelectAll = useCallback(() => {\n if (multiple) {\n const allValues = filteredOptions.map((option) => option.value);\n handleValueChange(allValues);\n }\n }, [multiple, filteredOptions, handleValueChange]);\n\n const handleDeselectAll = useCallback(() => {\n if (multiple) {\n handleValueChange([]);\n }\n }, [multiple, handleValueChange]);\n\n // Convert options to DropdownMenu items\n const dropdownItems: DropdownMenuItemType[] = useMemo(() => {\n return filteredOptions.map((option) => {\n return {\n type: \"item\",\n key: option.value,\n icon: option.icon,\n label: option.label,\n disabled: option.disabled,\n onClick: () => !option.disabled && handleOptionSelect(option.value),\n };\n });\n }, [filteredOptions, handleOptionSelect]);\n\n // Select all component for beforeList\n const selectAllComponent = useMemo(() => {\n if (!showSelectAll || !multiple || filteredOptions.length === 0) {\n return null;\n }\n\n const selectedValues = Array.isArray(value) ? value : [];\n const filteredOptionValues = filteredOptions.map((opt) => opt.value);\n const selectedFromFiltered = selectedValues.filter((val) =>\n filteredOptionValues.includes(val)\n );\n const checked =\n selectedFromFiltered.length === filteredOptions.length &&\n filteredOptions.length > 0;\n const indeterminate =\n selectedFromFiltered.length > 0 &&\n selectedFromFiltered.length < filteredOptions.length;\n\n const selectAllItem: DropdownMenuItemType & { type: \"item\" } = {\n type: \"item\",\n key: \"select_all\",\n label: \"Select All\",\n onClick: () => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n },\n };\n\n return (\n <>\n <DropdownMenuItem\n key=\"select_all\"\n item={selectAllItem}\n inCombobox={showSearch}\n selected={checked}\n showCheckbox\n indeterminate={indeterminate}\n renderAsNativeElement\n onSelect={() => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n }}\n />\n <DropdownMenuDivider />\n </>\n );\n }, [\n showSelectAll,\n multiple,\n filteredOptions,\n value,\n showSearch,\n handleDeselectAll,\n handleSelectAll,\n ]);\n\n // Prepare trigger data\n const selectedValues = useMemo(() => {\n return Array.isArray(value) ? value : value ? [value] : [];\n }, [value]);\n const selectedOptions = selectedValues\n .map((val) => options.find((opt) => opt.value === val))\n .filter(Boolean);\n\n // Generate display value and prefix for SelectTrigger\n const { displayValue, displayPrefix } = useMemo(() => {\n if (selectedOptions.length === 0) {\n return { displayValue: undefined, displayPrefix: undefined };\n }\n\n if (multiple) {\n const summaryText = `${selectedOptions.length} ${\n selectedOptions.length === 1 ? \"item\" : \"items\"\n } selected`;\n if (showSelectionSummary) {\n if (selectionSummaryRender) {\n return {\n displayValue: selectionSummaryRender(selectedValues),\n displayPrefix: undefined,\n };\n }\n // Default summary with icons\n return {\n displayValue: summaryText,\n // TODO: Create icon component for multiple selection summary\n displayPrefix: undefined,\n };\n }\n // For non-summary multiple selection\n return selectedOptions.length === 1\n ? {\n displayValue: selectedOptions[0].label,\n displayPrefix: selectedOptions[0].icon,\n }\n : {\n displayValue: summaryText,\n displayPrefix: undefined,\n };\n }\n\n // Single selection\n const selectedOption = selectedOptions[0];\n return {\n displayValue: selectedOption?.label,\n displayPrefix: selectedOption?.icon,\n };\n }, [\n selectedOptions,\n multiple,\n showSelectionSummary,\n selectionSummaryRender,\n selectedValues,\n ]);\n\n return (\n <div ref={ref} className={clsx(cls(\"combobox\"), className)} {...rest}>\n <DropdownMenu\n items={dropdownItems}\n open={open}\n onOpenChange={setOpen}\n placement={placement}\n showSearch={showSearch}\n searchProps={{\n placeholder: \"Search options...\",\n onValueChange: handleSearchChange,\n value: searchValue,\n ...searchProps,\n }}\n className={clsx(cls(\"combobox-dropdown\"))}\n classNames={{\n trigger: clsx(cls(\"combobox-trigger-wrapper\")),\n popup: clsx(cls(\"combobox-popup\")),\n item: clsx(cls(\"combobox-option\"), classNames?.option),\n ...classNames,\n }}\n popupMatchTriggerWidth\n keepOpenOnSelect={multiple}\n highlightedItemKey={multiple ? undefined : selectedValues[0]}\n showCheckbox={multiple}\n beforeList={selectAllComponent}\n selectedItemKeys={selectedValues}\n getItemKeywords={getOptionKeywords}\n {...dropdownMenuProps}\n >\n <SelectTrigger\n value={displayValue}\n prefix={displayPrefix}\n placeholder={placeholder}\n disabled={disabled}\n status={mergedStatus}\n open={open}\n size={size}\n allowClear={allowClear}\n suffixIcon={suffixIcon}\n clearIcon={clearIcon}\n classNames={{\n trigger: classNames?.trigger,\n ...triggerProps?.classNames,\n }}\n onClear={() => handleValueChange(multiple ? [] : undefined)}\n onOpenChange={setOpen}\n role=\"combobox\"\n {...triggerProps}\n />\n </DropdownMenu>\n </div>\n );\n};\n\nconst MainCombobox = forwardRef(ComboboxInner);\n\nexport const Combobox = Object.assign(MainCombobox, {\n // Add any sub components here if needed\n});\n\nexport default Combobox;\n"],"names":["ComboboxInner","options","controlledValue","defaultValue","onChange","placeholder","disabledProp","statusProp","allowClear","multiple","maxTagCount","showSearch","controlledOpen","onOpenChange","placement","className","classNames","size","_loading","optionRender","filterOption","onSearch","dropdownRender","clearIcon","suffixIcon","dropdownMenuProps","triggerProps","searchProps","showSelectionSummary","selectionSummaryRender","showSelectAll","selectAllRender","getOptionKeywords","option","reactNodeToString","rest","ref","initialDefaultValue","useState","value","setValue","useControlled","open","setOpen","useControlledState","searchValue","setSearchValue","cls","useCls","contextStatus","useContext","FormItemInputContext","contextDisabled","DisabledContext","mergedStatus","disabled","handleValueChange","useCallback","newValue","handleOptionSelect","optionValue","currentValues","newValues","v","handleSearchChange","filteredOptions","useMemo","handleSelectAll","allValues","handleDeselectAll","dropdownItems","selectAllComponent","selectedValues","filteredOptionValues","opt","selectedFromFiltered","val","checked","indeterminate","jsxs","Fragment","jsx","DropdownMenuItem","DropdownMenuDivider","selectedOptions","displayValue","displayPrefix","summaryText","selectedOption","clsx","DropdownMenu","SelectTrigger","MainCombobox","forwardRef","Combobox"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/combobox/component.tsx"],"sourcesContent":["\"use client\";\nimport DisabledContext from \"antd/es/config-provider/DisabledContext\";\nimport { FormItemInputContext } from \"antd/es/form/context\";\nimport { ValidateStatus } from \"antd/es/form/FormItem\";\nimport type { PopoverProps } from \"antd/es/popover\";\nimport React, {\n ForwardedRef,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuItem,\n DropdownMenuProps,\n type DropdownMenuItemType,\n} from \"../dropdown-menu\";\nimport { SelectTrigger } from \"../select-trigger\";\nimport { clsx, reactNodeToString, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport { DropdownMenuDivider } from \"../dropdown-menu/divider\";\nimport { useControlledState } from \"../hooks\";\nimport \"./style.css\";\n\nexport type ComboboxOption<\n T extends React.Key,\n O extends Record<string, unknown> = {}\n> = {\n value: T;\n label: React.ReactNode;\n disabled?: boolean;\n icon?: React.ReactNode;\n} & O;\n\nexport interface ComboboxProps<\n T extends React.Key,\n M extends boolean,\n O extends Record<string, unknown> = {}\n> {\n /** Array of options to be displayed in the combobox */\n options?: ComboboxOption<T, O>[];\n /** Current value of the combobox */\n value?: M extends true ? T[] : T;\n /** Default value when uncontrolled */\n defaultValue?: M extends true ? T[] : T;\n /** Callback when value changes */\n onChange?: (value: M extends true ? T[] : T) => void;\n /** Placeholder text for the input */\n placeholder?: string;\n /** Whether the combobox is disabled */\n disabled?: boolean;\n /** Validation status */\n status?: ValidateStatus;\n /** Whether to allow clearing the selection */\n allowClear?: boolean;\n /** Whether to allow multiple selections */\n multiple?: M;\n /** Maximum number of tags to show */\n maxTagCount?: number;\n /** Whether to show search functionality */\n showSearch?: boolean;\n /** Controlled open state */\n open?: boolean;\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void;\n /** Placement of the dropdown */\n placement?: PopoverProps[\"placement\"];\n /** Custom className for the component */\n className?: string;\n /** Custom class names for different parts */\n classNames?: {\n trigger?: string;\n input?: string;\n option?: string;\n optionIcon?: string;\n optionText?: string;\n };\n /** Size of the combobox */\n size?: \"small\" | \"middle\" | \"large\";\n /** Loading state */\n loading?: boolean;\n /** Custom render for options */\n optionRender?: (\n option: ComboboxOption<T, O>,\n props: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n /** Filter function for search */\n filterOption?:\n | boolean\n | ((input: string, option: ComboboxOption<T, O>) => boolean);\n /** Callback when search input changes */\n onSearch?: (value: string) => void;\n /** Custom dropdown render */\n dropdownRender?: (menu: React.ReactElement) => React.ReactElement;\n /** Custom clear icon */\n clearIcon?: React.ReactNode;\n /** Custom suffix icon */\n suffixIcon?: React.ReactNode;\n /**\n * Props to pass to the dropdown menu\n */\n dropdownMenuProps?: DropdownMenuProps;\n /**\n * Props to pass to the combobox trigger\n */\n triggerProps?: React.ComponentPropsWithoutRef<typeof SelectTrigger>;\n searchProps?: {\n placeholder?: string;\n onValueChange?: (value: string) => void;\n value?: string;\n };\n /**\n * Show selection summary instead of individual tags when multiple\n * @default false\n */\n showSelectionSummary?: boolean;\n /**\n * Render function for the selection summary in multiple case\n * @default (selectedValues) => `${selectedValues.length} items selected`\n */\n selectionSummaryRender?: (selectedValues: T[]) => React.ReactNode;\n /**\n * Show select all option when in multiple mode\n * @default false\n */\n showSelectAll?: boolean;\n /**\n * Render function for the select all option\n */\n selectAllRender?: (props: {\n onSelectAll: () => void;\n onDeselectAll: () => void;\n checked: boolean;\n indeterminate: boolean;\n }) => React.ReactNode;\n /**\n * Function to extract keywords from the item for search filtering\n * @default (option) => [String(option.key), reactNodeToString(option.label)]\n */\n getOptionKeywords?: (option: ComboboxOption<T, O>) => string[];\n /**\n * Render function for the option label\n */\n optionLabelRender?: (\n option: ComboboxOption<T, O>,\n props?: React.HTMLAttributes<HTMLElement>\n ) => React.ReactElement;\n}\n\nconst ComboboxInner = <\n T extends React.Key,\n M extends boolean,\n O extends Record<string, unknown> = {}\n>(\n {\n options = [],\n value: controlledValue,\n defaultValue,\n onChange,\n placeholder = \"Select...\",\n disabled: disabledProp = false,\n status: statusProp,\n allowClear = false,\n multiple = false as M,\n maxTagCount,\n showSearch = true,\n open: controlledOpen,\n onOpenChange,\n placement = \"bottomLeft\",\n className,\n classNames,\n size = \"middle\",\n loading: _loading = false,\n optionRender,\n onSearch,\n dropdownRender,\n clearIcon,\n suffixIcon,\n dropdownMenuProps,\n triggerProps,\n searchProps,\n showSelectionSummary = false,\n selectionSummaryRender,\n showSelectAll = false,\n selectAllRender,\n optionLabelRender,\n getOptionKeywords = (option: ComboboxOption<T, O>) => [\n String(option.value),\n reactNodeToString(option.label),\n ],\n ...rest\n }: ComboboxProps<T, M, O>,\n ref: React.ForwardedRef<HTMLDivElement>\n) => {\n const [value, setValue] = useControlledState(\n controlledValue,\n onChange,\n defaultValue !== undefined ? defaultValue : multiple ? [] : undefined\n );\n\n const [open, setOpen] = useControlledState(\n controlledOpen,\n onOpenChange,\n false\n );\n const cls = useCls();\n\n // Get form context values\n const {\n status: contextStatus,\n // hasFeedback,\n // feedbackIcon,\n } = useContext(FormItemInputContext);\n const contextDisabled = useContext(DisabledContext);\n\n // Merge context values with props\n const mergedStatus = statusProp || contextStatus;\n const disabled = disabledProp || contextDisabled;\n\n const handleValueChange = useCallback(\n (newValue: M extends true ? T[] : T) => {\n setValue(newValue);\n onChange?.(newValue);\n },\n [setValue, onChange]\n );\n\n const handleOptionSelect = useCallback(\n (optionValue: T) => {\n if (multiple) {\n const currentValues = (Array.isArray(value) ? value : []) as T[];\n const newValues = currentValues.includes(optionValue)\n ? currentValues.filter((v) => v !== optionValue)\n : [...currentValues, optionValue];\n (handleValueChange as (v: T[]) => void)(newValues);\n } else {\n (handleValueChange as (v: T) => void)(optionValue);\n // onOpenChange?.(false);\n }\n },\n [multiple, value, handleValueChange]\n );\n\n const handleSelectAll = useCallback(() => {\n if (multiple) {\n const allValues = options.map((option) => option.value);\n (handleValueChange as (v: T[]) => void)(allValues);\n }\n }, [multiple, options, handleValueChange]);\n\n const handleDeselectAll = useCallback(() => {\n if (multiple) {\n (handleValueChange as (v: T[]) => void)([]);\n }\n }, [multiple, handleValueChange]);\n\n // Convert options to DropdownMenu items\n const dropdownItems: DropdownMenuItemType[] = useMemo(() => {\n return options.map((option) => {\n return {\n type: \"item\",\n // todo: make this type better\n key: option.value as React.Key,\n icon: option.icon,\n label: option.label,\n disabled: option.disabled,\n onClick: () => !option.disabled && handleOptionSelect(option.value),\n };\n });\n }, [options, handleOptionSelect]);\n\n // Select all component for beforeList\n const selectAllComponent = useMemo(() => {\n if (!showSelectAll || !multiple || options.length === 0) {\n return null;\n }\n\n const selectedValues = Array.isArray(value) ? value : [];\n const filteredOptionValues = options.map((opt) => opt.value);\n const selectedFromFiltered = selectedValues.filter((val) =>\n filteredOptionValues.includes(val)\n );\n const checked =\n selectedFromFiltered.length === options.length && options.length > 0;\n const indeterminate =\n selectedFromFiltered.length > 0 &&\n selectedFromFiltered.length < options.length;\n\n const selectAllItem: DropdownMenuItemType & { type: \"item\" } = {\n type: \"item\",\n key: \"select_all\",\n label: \"Select All\",\n onClick: () => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n },\n };\n\n return (\n <>\n <DropdownMenuItem\n key=\"select_all\"\n item={selectAllItem}\n inCombobox={showSearch}\n selected={checked}\n showCheckbox\n indeterminate={indeterminate}\n renderAsNativeElement\n onSelect={() => {\n if (indeterminate || checked) {\n handleDeselectAll();\n } else {\n handleSelectAll();\n }\n }}\n />\n <DropdownMenuDivider />\n </>\n );\n }, [\n showSelectAll,\n multiple,\n options,\n value,\n showSearch,\n handleDeselectAll,\n handleSelectAll,\n ]);\n\n // Prepare trigger data\n const selectedValues = useMemo(() => {\n return Array.isArray(value) ? value : value ? [value] : [];\n }, [value]);\n const selectedOptions = selectedValues\n .map((val) => options.find((opt) => opt.value === val))\n .filter(Boolean);\n\n // Generate display value and prefix for SelectTrigger\n const { displayValue, displayPrefix } = useMemo(() => {\n if (selectedOptions.length === 0) {\n return { displayValue: undefined, displayPrefix: undefined };\n }\n\n if (multiple) {\n const summaryText = `${selectedOptions.length} ${\n selectedOptions.length === 1 ? \"item\" : \"items\"\n } selected`;\n if (showSelectionSummary) {\n if (selectionSummaryRender) {\n return {\n displayValue: selectionSummaryRender(selectedValues),\n displayPrefix: undefined,\n };\n }\n // Default summary with icons\n return {\n displayValue: summaryText,\n // TODO: Create icon component for multiple selection summary\n displayPrefix: undefined,\n };\n }\n // For non-summary multiple selection\n return selectedOptions.length === 1\n ? {\n displayValue: selectedOptions[0].label,\n displayPrefix: selectedOptions[0].icon,\n }\n : {\n displayValue: summaryText,\n displayPrefix: undefined,\n };\n }\n\n // Single selection\n const selectedOption = selectedOptions[0];\n return {\n displayValue: selectedOption?.label,\n displayPrefix: selectedOption?.icon,\n };\n }, [\n selectedOptions,\n multiple,\n showSelectionSummary,\n selectionSummaryRender,\n selectedValues,\n ]);\n\n return (\n <div ref={ref} className={clsx(cls(\"combobox\"), className)} {...rest}>\n <DropdownMenu\n items={dropdownItems}\n open={open}\n onOpenChange={setOpen}\n placement={placement}\n showSearch={showSearch}\n searchProps={{\n placeholder: \"Search options...\",\n ...searchProps,\n }}\n className={clsx(cls(\"combobox-dropdown\"))}\n classNames={{\n trigger: clsx(cls(\"combobox-trigger-wrapper\")),\n popup: clsx(cls(\"combobox-popup\")),\n item: clsx(cls(\"combobox-option\"), classNames?.option),\n ...classNames,\n }}\n popupMatchTriggerWidth\n keepOpenOnSelect={multiple}\n highlightedItemKey={multiple ? undefined : selectedValues[0]}\n showCheckbox={multiple}\n beforeList={selectAllComponent}\n selectedItemKeys={selectedValues}\n getItemKeywords={\n getOptionKeywords\n ? (item) => {\n const selectedOption = options.find(\n (option) => option.value === item.key\n );\n if (!selectedOption) {\n return [];\n }\n return getOptionKeywords(selectedOption);\n }\n : undefined\n }\n itemLabelRender={\n optionLabelRender\n ? (item, props) => {\n const selectedOption = options.find(\n (option) => option.value === item.key\n );\n if (!selectedOption) {\n return null;\n }\n return optionLabelRender?.(selectedOption, props);\n }\n : undefined\n }\n {...dropdownMenuProps}\n >\n <SelectTrigger\n value={displayValue}\n prefix={displayPrefix}\n placeholder={placeholder}\n disabled={disabled}\n status={mergedStatus}\n open={open}\n size={size}\n allowClear={allowClear}\n suffixIcon={suffixIcon}\n clearIcon={clearIcon}\n classNames={{\n trigger: classNames?.trigger,\n ...triggerProps?.classNames,\n }}\n onClear={() => {\n if (multiple) {\n (handleValueChange as (v: T[]) => void)([]);\n } else {\n handleValueChange(undefined);\n }\n }}\n onOpenChange={setOpen}\n role=\"combobox\"\n {...triggerProps}\n />\n </DropdownMenu>\n </div>\n );\n};\n\nconst MainCombobox = forwardRef(ComboboxInner) as <\n T extends React.Key,\n M extends boolean,\n O extends Record<string, unknown> = {}\n>(\n props: ComboboxProps<T, M, O> & { ref?: ForwardedRef<HTMLDivElement> }\n) => ReturnType<typeof ComboboxInner>;\n\nexport const Combobox = Object.assign(MainCombobox, {\n // Add any sub components here if needed\n});\n\nexport default Combobox;\n"],"names":["ComboboxInner","options","controlledValue","defaultValue","onChange","placeholder","disabledProp","statusProp","allowClear","multiple","maxTagCount","showSearch","controlledOpen","onOpenChange","placement","className","classNames","size","_loading","optionRender","onSearch","dropdownRender","clearIcon","suffixIcon","dropdownMenuProps","triggerProps","searchProps","showSelectionSummary","selectionSummaryRender","showSelectAll","selectAllRender","optionLabelRender","getOptionKeywords","option","reactNodeToString","rest","ref","value","setValue","useControlledState","open","setOpen","cls","useCls","contextStatus","useContext","FormItemInputContext","contextDisabled","DisabledContext","mergedStatus","disabled","handleValueChange","useCallback","newValue","handleOptionSelect","optionValue","currentValues","newValues","v","handleSelectAll","allValues","handleDeselectAll","dropdownItems","useMemo","selectAllComponent","selectedValues","filteredOptionValues","opt","selectedFromFiltered","val","checked","indeterminate","jsxs","Fragment","jsx","DropdownMenuItem","DropdownMenuDivider","selectedOptions","displayValue","displayPrefix","summaryText","selectedOption","clsx","DropdownMenu","item","props","SelectTrigger","MainCombobox","forwardRef","Combobox"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { Combobox, default } from './component';
2
+ export type { ComboboxProps, ComboboxOption } from './component';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { default as React } from 'react';
2
+ import { DropdownMenuItemType } from '../dropdown-menu/types';
3
+ export type CommandPaletteShortcut = {
4
+ key: string;
5
+ metaKey?: boolean;
6
+ ctrlKey?: boolean;
7
+ altKey?: boolean;
8
+ shiftKey?: boolean;
9
+ };
10
+ export interface CommandPaletteProps {
11
+ /** Whether the command palette is open */
12
+ open?: boolean;
13
+ /** Callback fired when the open state changes */
14
+ onOpenChange?: (open: boolean) => void;
15
+ /**
16
+ * Default open state
17
+ */
18
+ defaultOpen?: boolean;
19
+ /** Items to display in the command palette */
20
+ items?: DropdownMenuItemType[];
21
+ /** Keyboard shortcuts to open the palette */
22
+ shortcuts?: CommandPaletteShortcut[];
23
+ /** Placeholder text for the search input */
24
+ placeholder?: string;
25
+ /** Text to show when no results are found */
26
+ emptyText?: string;
27
+ /** Accessible label for the command palette */
28
+ label?: string;
29
+ /** Additional CSS class names */
30
+ className?: string;
31
+ classNames?: {
32
+ root?: string;
33
+ mask?: string;
34
+ content?: string;
35
+ group?: string;
36
+ item?: string;
37
+ groupLabel?: string;
38
+ };
39
+ }
40
+ export declare const CommandPalette: React.FC<CommandPaletteProps>;
41
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/command-palette/component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,iDAAiD;IACjD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AA0CD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4ExD,CAAC"}