@bioturing/components 0.32.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 +129 -129
  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 -108
  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 +75 -78
  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 -80
  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 +46 -46
  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 +69 -69
  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 -4431
  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 +1 -1
  507. package/dist/tailwind.d.ts +0 -1
@@ -1,104 +1,104 @@
1
1
  "use client";
2
- import { jsxs as ne, Fragment as se, jsx as m } from "react/jsx-runtime";
2
+ import { jsxs as oe, Fragment as ne, jsx as f } from "react/jsx-runtime";
3
3
  import ae from "antd/es/config-provider/DisabledContext";
4
- import { FormItemInputContext as de } from "antd/es/form/context";
5
- import { forwardRef as ie, useContext as j, useCallback as v, useMemo as h } from "react";
6
- import { DropdownMenuDivider as ce } from "../dropdown-menu/divider.js";
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
8
  import { DropdownMenuItem as fe } from "../dropdown-menu/item.js";
9
- import { DropdownMenu as ue } from "../dropdown-menu/component.js";
10
- import { SelectTrigger as me } from "../select-trigger/component.js";
11
- import { useControlledState as P } from "../hooks/useControlledState.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
12
  import { useCls as be } from "../utils/antdUtils.js";
13
- import { clsx as b } from "../utils/cn.js";
14
- import { reactNodeToString as xe } from "../utils/reactToString.js";
15
- const ye = ({
16
- options: o = [],
17
- value: _,
18
- defaultValue: V,
19
- onChange: c,
20
- placeholder: K = "Select...",
21
- disabled: $ = !1,
22
- status: B,
23
- allowClear: E = !1,
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
24
  multiple: l = !1,
25
25
  maxTagCount: he,
26
- showSearch: p = !0,
27
- open: W,
28
- onOpenChange: q,
29
- placement: z = "bottomLeft",
30
- className: G,
31
- classNames: d,
32
- size: H = "middle",
33
- loading: pe = !1,
34
- optionRender: ge,
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
35
  onSearch: Ce,
36
36
  dropdownRender: Ae,
37
- clearIcon: J,
38
- suffixIcon: Q,
39
- dropdownMenuProps: U,
40
- triggerProps: x,
41
- searchProps: X,
42
- showSelectionSummary: D = !1,
43
- selectionSummaryRender: g,
44
- showSelectAll: O = !1,
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
45
  selectAllRender: ke,
46
- optionLabelRender: y,
47
- getOptionKeywords: S = (r) => [
46
+ optionLabelRender: D,
47
+ getOptionKeywords: P = (r) => [
48
48
  String(r.value),
49
- xe(r.label)
49
+ pe(r.label)
50
50
  ],
51
- ...Y
52
- }, Z) => {
53
- const [r, w] = P(
54
- _,
55
- c,
56
- V !== void 0 ? V : l ? [] : void 0
57
- ), [M, T] = P(
58
- W,
59
- q,
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,
60
60
  !1
61
- ), f = be(), {
62
- status: L
61
+ ), c = be(), {
62
+ status: X
63
63
  // hasFeedback,
64
64
  // feedbackIcon,
65
- } = j(de), R = j(ae), N = B || L, ee = $ || R, s = v(
65
+ } = T(ie), Y = T(ae), Z = L || X, ee = K || Y, n = u(
66
66
  (e) => {
67
- w(e), c == null || c(e);
67
+ S(e), p?.(e);
68
68
  },
69
- [w, c]
70
- ), F = v(
69
+ [S, p]
70
+ ), N = u(
71
71
  (e) => {
72
72
  if (l) {
73
- const t = Array.isArray(r) ? r : [], n = t.includes(e) ? t.filter((i) => i !== e) : [...t, e];
74
- s(n);
73
+ const t = Array.isArray(r) ? r : [], o = t.includes(e) ? t.filter((i) => i !== e) : [...t, e];
74
+ n(o);
75
75
  } else
76
- s(e);
76
+ n(e);
77
77
  },
78
- [l, r, s]
79
- ), C = v(() => {
78
+ [l, r, n]
79
+ ), y = u(() => {
80
80
  if (l) {
81
- const e = o.map((t) => t.value);
82
- s(e);
81
+ const e = s.map((t) => t.value);
82
+ n(e);
83
83
  }
84
- }, [l, o, s]), A = v(() => {
85
- l && s([]);
86
- }, [l, s]), te = h(() => o.map((e) => ({
84
+ }, [l, s, n]), v = u(() => {
85
+ l && n([]);
86
+ }, [l, n]), te = b(() => s.map((e) => ({
87
87
  type: "item",
88
88
  // todo: make this type better
89
89
  key: e.value,
90
90
  icon: e.icon,
91
91
  label: e.label,
92
92
  disabled: e.disabled,
93
- onClick: () => !e.disabled && F(e.value)
94
- })), [o, F]), le = h(() => {
95
- if (!O || !l || o.length === 0)
93
+ onClick: () => !e.disabled && N(e.value)
94
+ })), [s, N]), le = b(() => {
95
+ if (!V || !l || s.length === 0)
96
96
  return null;
97
- const e = Array.isArray(r) ? r : [], t = o.map((I) => I.value), n = e.filter(
98
- (I) => t.includes(I)
99
- ), i = n.length === o.length && o.length > 0, k = n.length > 0 && n.length < o.length;
100
- return /* @__PURE__ */ ne(se, { children: [
101
- /* @__PURE__ */ m(
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
102
  fe,
103
103
  {
104
104
  item: {
@@ -106,37 +106,37 @@ const ye = ({
106
106
  key: "select_all",
107
107
  label: "Select All",
108
108
  onClick: () => {
109
- k || i ? A() : C();
109
+ C || i ? v() : y();
110
110
  }
111
111
  },
112
- inCombobox: p,
112
+ inCombobox: g,
113
113
  selected: i,
114
114
  showCheckbox: !0,
115
- indeterminate: k,
115
+ indeterminate: C,
116
116
  renderAsNativeElement: !0,
117
117
  onSelect: () => {
118
- k || i ? A() : C();
118
+ C || i ? v() : y();
119
119
  }
120
120
  },
121
121
  "select_all"
122
122
  ),
123
- /* @__PURE__ */ m(ce, {})
123
+ /* @__PURE__ */ f(de, {})
124
124
  ] });
125
125
  }, [
126
- O,
126
+ V,
127
127
  l,
128
- o,
128
+ s,
129
129
  r,
130
- p,
131
- A,
132
- C
133
- ]), u = h(() => Array.isArray(r) ? r : r ? [r] : [], [r]), a = u.map((e) => o.find((t) => t.value === e)).filter(Boolean), { displayValue: re, displayPrefix: oe } = h(() => {
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
134
  if (a.length === 0)
135
135
  return { displayValue: void 0, displayPrefix: void 0 };
136
136
  if (l) {
137
137
  const t = `${a.length} ${a.length === 1 ? "item" : "items"} selected`;
138
- return D ? g ? {
139
- displayValue: g(u),
138
+ return I ? h ? {
139
+ displayValue: h(d),
140
140
  displayPrefix: void 0
141
141
  } : {
142
142
  displayValue: t,
@@ -152,86 +152,86 @@ const ye = ({
152
152
  }
153
153
  const e = a[0];
154
154
  return {
155
- displayValue: e == null ? void 0 : e.label,
156
- displayPrefix: e == null ? void 0 : e.icon
155
+ displayValue: e?.label,
156
+ displayPrefix: e?.icon
157
157
  };
158
158
  }, [
159
159
  a,
160
160
  l,
161
- D,
162
- g,
163
- u
161
+ I,
162
+ h,
163
+ d
164
164
  ]);
165
- return /* @__PURE__ */ m("div", { ref: Z, className: b(f("combobox"), G), ...Y, children: /* @__PURE__ */ m(
166
- ue,
165
+ return /* @__PURE__ */ f("div", { ref: U, className: m(c("combobox"), W), ...Q, children: /* @__PURE__ */ f(
166
+ me,
167
167
  {
168
168
  items: te,
169
- open: M,
170
- onOpenChange: T,
171
- placement: z,
172
- showSearch: p,
169
+ open: w,
170
+ onOpenChange: M,
171
+ placement: E,
172
+ showSearch: g,
173
173
  searchProps: {
174
174
  placeholder: "Search options...",
175
- ...X
175
+ ...J
176
176
  },
177
- className: b(f("combobox-dropdown")),
177
+ className: m(c("combobox-dropdown")),
178
178
  classNames: {
179
- trigger: b(f("combobox-trigger-wrapper")),
180
- popup: b(f("combobox-popup")),
181
- item: b(f("combobox-option"), d == null ? void 0 : d.option),
182
- ...d
179
+ trigger: m(c("combobox-trigger-wrapper")),
180
+ popup: m(c("combobox-popup")),
181
+ item: m(c("combobox-option"), x?.option),
182
+ ...x
183
183
  },
184
184
  popupMatchTriggerWidth: !0,
185
185
  keepOpenOnSelect: l,
186
- highlightedItemKey: l ? void 0 : u[0],
186
+ highlightedItemKey: l ? void 0 : d[0],
187
187
  showCheckbox: l,
188
188
  beforeList: le,
189
- selectedItemKeys: u,
190
- getItemKeywords: S ? (e) => {
191
- const t = o.find(
192
- (n) => n.value === e.key
189
+ selectedItemKeys: d,
190
+ getItemKeywords: P ? (e) => {
191
+ const t = s.find(
192
+ (o) => o.value === e.key
193
193
  );
194
- return t ? S(t) : [];
194
+ return t ? P(t) : [];
195
195
  } : void 0,
196
- itemLabelRender: y ? (e, t) => {
197
- const n = o.find(
196
+ itemLabelRender: D ? (e, t) => {
197
+ const o = s.find(
198
198
  (i) => i.value === e.key
199
199
  );
200
- return n ? y == null ? void 0 : y(n, t) : null;
200
+ return o ? D?.(o, t) : null;
201
201
  } : void 0,
202
- ...U,
203
- children: /* @__PURE__ */ m(
204
- me,
202
+ ...H,
203
+ children: /* @__PURE__ */ f(
204
+ ue,
205
205
  {
206
206
  value: re,
207
- prefix: oe,
208
- placeholder: K,
207
+ prefix: se,
208
+ placeholder: _,
209
209
  disabled: ee,
210
- status: N,
211
- open: M,
212
- size: H,
213
- allowClear: E,
214
- suffixIcon: Q,
215
- clearIcon: J,
210
+ status: Z,
211
+ open: w,
212
+ size: q,
213
+ allowClear: R,
214
+ suffixIcon: G,
215
+ clearIcon: z,
216
216
  classNames: {
217
- trigger: d == null ? void 0 : d.trigger,
218
- ...x == null ? void 0 : x.classNames
217
+ trigger: x?.trigger,
218
+ ...O?.classNames
219
219
  },
220
220
  onClear: () => {
221
- s(l ? [] : void 0);
221
+ n(l ? [] : void 0);
222
222
  },
223
- onOpenChange: T,
223
+ onOpenChange: M,
224
224
  role: "combobox",
225
- ...x
225
+ ...O
226
226
  }
227
227
  )
228
228
  }
229
229
  ) });
230
- }, ve = ie(ye), Be = Object.assign(ve, {
230
+ }, xe = ce(ge), Le = Object.assign(xe, {
231
231
  // Add any sub components here if needed
232
232
  });
233
233
  export {
234
- Be as Combobox,
235
- Be as default
234
+ Le as Combobox,
235
+ Le as default
236
236
  };
237
237
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
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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"}
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"}
@@ -1,79 +1,79 @@
1
1
  "use client";
2
- import { jsxs as s, Fragment as S, jsx as r } from "react/jsx-runtime";
2
+ import { jsxs as f, Fragment as S, jsx as n } from "react/jsx-runtime";
3
3
  import { useEffect as E, useCallback as L } from "react";
4
- import { Command as m } from "../cmdk/index.js";
5
- import { useDropdownMenu as D } from "../dropdown-menu/useDropdownMenu.js";
4
+ import { Command as r } from "../cmdk/index.js";
5
+ import { useDropdownMenu as N } from "../dropdown-menu/useDropdownMenu.js";
6
6
  import './style.css';/* empty css */
7
- import { WithAntdTokens as b } from "../utils/WithAntdTokens.js";
8
- import { useCls as x } from "../utils/antdUtils.js";
9
- import { useControlledState as A } from "../hooks/useControlledState.js";
10
- import { ScrollArea as j } from "../scroll-area/component.js";
11
- const G = [
7
+ import { WithAntdTokens as D } from "../utils/WithAntdTokens.js";
8
+ import { useCls as b } from "../utils/antdUtils.js";
9
+ import { useControlledState as x } from "../hooks/useControlledState.js";
10
+ import { ScrollArea as A } from "../scroll-area/component.js";
11
+ const j = [
12
12
  { key: "k", metaKey: !0 },
13
13
  { key: "k", ctrlKey: !0 }
14
14
  ];
15
- function I(t, e) {
15
+ function G(t, e) {
16
16
  return t.key.toLowerCase() === e.key.toLowerCase() && !!t.metaKey == !!e.metaKey && !!t.ctrlKey == !!e.ctrlKey && !!t.altKey == !!e.altKey && !!t.shiftKey == !!e.shiftKey;
17
17
  }
18
- const H = ({
18
+ const B = ({
19
19
  open: t,
20
20
  onOpenChange: e,
21
21
  defaultOpen: h,
22
22
  items: k = [],
23
- shortcuts: i = G,
23
+ shortcuts: s = j,
24
24
  placeholder: c = "Type a command or search...",
25
25
  emptyText: l = "No results found.",
26
26
  label: C = "Command Palette",
27
27
  className: K,
28
- classNames: o
28
+ classNames: d
29
29
  }) => {
30
- const n = x(), [a, d] = A(
30
+ const o = b(), [m, a] = x(
31
31
  t,
32
32
  e,
33
33
  h
34
34
  );
35
35
  E(() => {
36
- const y = (f) => {
37
- i.find(
38
- (g) => I(f, g)
39
- ) && (f.preventDefault(), d(!a));
36
+ const p = (y) => {
37
+ s.find(
38
+ (g) => G(y, g)
39
+ ) && (y.preventDefault(), a(!m));
40
40
  };
41
- return document.addEventListener("keydown", y), () => document.removeEventListener("keydown", y);
42
- }, [i, a, d]);
43
- const { renderGroup: u, itemGroups: p } = D({
41
+ return document.addEventListener("keydown", p), () => document.removeEventListener("keydown", p);
42
+ }, [s, m, a]);
43
+ const { renderGroup: i, itemGroups: u } = N({
44
44
  items: k,
45
45
  inCombobox: !0,
46
46
  onOpenChange: e
47
47
  }), w = L(
48
- () => /* @__PURE__ */ s(S, { children: [
49
- /* @__PURE__ */ r(m.Input, { placeholder: c }),
50
- /* @__PURE__ */ r(j, { fadeEdges: !0, children: /* @__PURE__ */ s(
51
- m.List,
48
+ () => /* @__PURE__ */ f(S, { children: [
49
+ /* @__PURE__ */ n(r.Input, { placeholder: c }),
50
+ /* @__PURE__ */ n(A, { fadeEdges: !0, children: /* @__PURE__ */ f(
51
+ r.List,
52
52
  {
53
- className: n("dropdown-menu-list", "command-palette-list"),
53
+ className: o("dropdown-menu-list", "command-palette-list"),
54
54
  children: [
55
- /* @__PURE__ */ r(m.Empty, { className: n("dropdown-menu-empty"), children: l }),
56
- p.map(u)
55
+ /* @__PURE__ */ n(r.Empty, { className: o("dropdown-menu-empty"), children: l }),
56
+ u.map(i)
57
57
  ]
58
58
  }
59
59
  ) })
60
60
  ] }),
61
- [n, l, p, c, u]
61
+ [o, l, u, c, i]
62
62
  );
63
- return /* @__PURE__ */ r(b, { children: /* @__PURE__ */ r(
64
- m.Dialog,
63
+ return /* @__PURE__ */ n(D, { children: /* @__PURE__ */ n(
64
+ r.Dialog,
65
65
  {
66
- open: a,
67
- onOpenChange: d,
66
+ open: m,
67
+ onOpenChange: a,
68
68
  label: C,
69
- overlayClassName: n("command-palette-overlay", o == null ? void 0 : o.mask),
70
- contentClassName: n("command-palette-content", o == null ? void 0 : o.content),
71
- className: n("command-palette", K),
69
+ overlayClassName: o("command-palette-overlay", d?.mask),
70
+ contentClassName: o("command-palette-content", d?.content),
71
+ className: o("command-palette", K),
72
72
  children: w()
73
73
  }
74
74
  ) });
75
75
  };
76
76
  export {
77
- H as CommandPalette
77
+ B as CommandPalette
78
78
  };
79
79
  //# sourceMappingURL=component.js.map