@bioturing/components 0.32.0 → 0.32.2

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 (511) hide show
  1. package/README.md +29 -0
  2. package/dist/components/badge/component.d.ts +7 -0
  3. package/dist/components/badge/component.d.ts.map +1 -0
  4. package/dist/components/badge/component.js.map +1 -1
  5. package/dist/components/badge/index.d.ts +2 -0
  6. package/dist/components/badge/index.d.ts.map +1 -0
  7. package/dist/components/breadcrumb/component.d.ts +6 -0
  8. package/dist/components/breadcrumb/component.d.ts.map +1 -0
  9. package/dist/components/breadcrumb/component.js.map +1 -1
  10. package/dist/components/breadcrumb/index.d.ts +3 -0
  11. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  12. package/dist/components/breadcrumb/types.d.ts +19 -0
  13. package/dist/components/breadcrumb/types.d.ts.map +1 -0
  14. package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
  15. package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
  16. package/dist/components/breadcrumb/useItemRender.js.map +1 -1
  17. package/dist/components/button/component.d.ts +14 -0
  18. package/dist/components/button/component.d.ts.map +1 -0
  19. package/dist/components/button/component.js.map +1 -1
  20. package/dist/components/button/index.d.ts +2 -0
  21. package/dist/components/button/index.d.ts.map +1 -0
  22. package/dist/components/checkbox/component.d.ts +16 -0
  23. package/dist/components/checkbox/component.d.ts.map +1 -0
  24. package/dist/components/checkbox/component.js.map +1 -1
  25. package/dist/components/checkbox/index.d.ts +2 -0
  26. package/dist/components/checkbox/index.d.ts.map +1 -0
  27. package/dist/components/choice-list/component.d.ts +35 -0
  28. package/dist/components/choice-list/component.d.ts.map +1 -0
  29. package/dist/components/choice-list/component.js.map +1 -1
  30. package/dist/components/choice-list/index.d.ts +2 -0
  31. package/dist/components/choice-list/index.d.ts.map +1 -0
  32. package/dist/components/cmdk/command-score.d.ts +2 -0
  33. package/dist/components/cmdk/command-score.d.ts.map +1 -0
  34. package/dist/components/cmdk/command-score.js.map +1 -1
  35. package/dist/components/cmdk/index.d.ts +440 -0
  36. package/dist/components/cmdk/index.d.ts.map +1 -0
  37. package/dist/components/cmdk/index.js +332 -348
  38. package/dist/components/cmdk/index.js.map +1 -1
  39. package/dist/components/code-block/component.d.ts +3 -0
  40. package/dist/components/code-block/component.d.ts.map +1 -0
  41. package/dist/components/code-block/component.js +83 -84
  42. package/dist/components/code-block/component.js.map +1 -1
  43. package/dist/components/code-block/index.d.ts +3 -0
  44. package/dist/components/code-block/index.d.ts.map +1 -0
  45. package/dist/components/code-block/types.d.ts +64 -0
  46. package/dist/components/code-block/types.d.ts.map +1 -0
  47. package/dist/components/collapse/component.d.ts +14 -0
  48. package/dist/components/collapse/component.d.ts.map +1 -0
  49. package/dist/components/collapse/component.js.map +1 -1
  50. package/dist/components/collapse/index.d.ts +2 -0
  51. package/dist/components/collapse/index.d.ts.map +1 -0
  52. package/dist/components/color-select/component.d.ts +36 -0
  53. package/dist/components/color-select/component.d.ts.map +1 -0
  54. package/dist/components/color-select/component.js +28 -30
  55. package/dist/components/color-select/component.js.map +1 -1
  56. package/dist/components/color-select/index.d.ts +2 -0
  57. package/dist/components/color-select/index.d.ts.map +1 -0
  58. package/dist/components/combobox/component.d.ts +119 -0
  59. package/dist/components/combobox/component.d.ts.map +1 -0
  60. package/dist/components/combobox/component.js +129 -129
  61. package/dist/components/combobox/component.js.map +1 -1
  62. package/dist/components/combobox/index.d.ts +3 -0
  63. package/dist/components/combobox/index.d.ts.map +1 -0
  64. package/dist/components/command-palette/component.d.ts +41 -0
  65. package/dist/components/command-palette/component.d.ts.map +1 -0
  66. package/dist/components/command-palette/component.js +36 -36
  67. package/dist/components/command-palette/component.js.map +1 -1
  68. package/dist/components/command-palette/index.d.ts +2 -0
  69. package/dist/components/command-palette/index.d.ts.map +1 -0
  70. package/dist/components/command-palette/style.css +1 -1
  71. package/dist/components/drag-drop/context.d.ts +10 -0
  72. package/dist/components/drag-drop/context.d.ts.map +1 -0
  73. package/dist/components/drag-drop/context.js.map +1 -1
  74. package/dist/components/drag-drop/draggable.d.ts +6 -0
  75. package/dist/components/drag-drop/draggable.d.ts.map +1 -0
  76. package/dist/components/drag-drop/draggable.js.map +1 -1
  77. package/dist/components/drag-drop/droppable.d.ts +9 -0
  78. package/dist/components/drag-drop/droppable.d.ts.map +1 -0
  79. package/dist/components/drag-drop/droppable.js.map +1 -1
  80. package/dist/components/drag-drop/hooks.d.ts +42 -0
  81. package/dist/components/drag-drop/hooks.d.ts.map +1 -0
  82. package/dist/components/drag-drop/hooks.js +71 -73
  83. package/dist/components/drag-drop/hooks.js.map +1 -1
  84. package/dist/components/drag-drop/index.d.ts +26 -0
  85. package/dist/components/drag-drop/index.d.ts.map +1 -0
  86. package/dist/components/drag-drop/index.js.map +1 -1
  87. package/dist/components/drag-drop/types.d.ts +232 -0
  88. package/dist/components/drag-drop/types.d.ts.map +1 -0
  89. package/dist/components/drag-drop/value.d.ts +8 -0
  90. package/dist/components/drag-drop/value.d.ts.map +1 -0
  91. package/dist/components/drag-drop/value.js +66 -66
  92. package/dist/components/drag-drop/value.js.map +1 -1
  93. package/dist/components/dropdown-menu/component.d.ts +79 -0
  94. package/dist/components/dropdown-menu/component.d.ts.map +1 -0
  95. package/dist/components/dropdown-menu/component.js +108 -108
  96. package/dist/components/dropdown-menu/component.js.map +1 -1
  97. package/dist/components/dropdown-menu/divider.d.ts +6 -0
  98. package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
  99. package/dist/components/dropdown-menu/divider.js.map +1 -1
  100. package/dist/components/dropdown-menu/index.d.ts +4 -0
  101. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  102. package/dist/components/dropdown-menu/item.d.ts +56 -0
  103. package/dist/components/dropdown-menu/item.d.ts.map +1 -0
  104. package/dist/components/dropdown-menu/item.js +75 -78
  105. package/dist/components/dropdown-menu/item.js.map +1 -1
  106. package/dist/components/dropdown-menu/types.d.ts +88 -0
  107. package/dist/components/dropdown-menu/types.d.ts.map +1 -0
  108. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
  109. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
  110. package/dist/components/dropdown-menu/useDropdownMenu.js +80 -80
  111. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  112. package/dist/components/ds-root/component.d.ts +14 -0
  113. package/dist/components/ds-root/component.d.ts.map +1 -0
  114. package/dist/components/ds-root/component.js.map +1 -1
  115. package/dist/components/ds-root/context.d.ts +8 -0
  116. package/dist/components/ds-root/context.d.ts.map +1 -0
  117. package/dist/components/ds-root/index.d.ts +3 -0
  118. package/dist/components/ds-root/index.d.ts.map +1 -0
  119. package/dist/components/empty/component.d.ts +13 -0
  120. package/dist/components/empty/component.d.ts.map +1 -0
  121. package/dist/components/empty/component.js.map +1 -1
  122. package/dist/components/empty/index.d.ts +2 -0
  123. package/dist/components/empty/index.d.ts.map +1 -0
  124. package/dist/components/field/component.d.ts +42 -0
  125. package/dist/components/field/component.d.ts.map +1 -0
  126. package/dist/components/field/component.js.map +1 -1
  127. package/dist/components/field/index.d.ts +2 -0
  128. package/dist/components/field/index.d.ts.map +1 -0
  129. package/dist/components/form/component.d.ts +22 -0
  130. package/dist/components/form/component.d.ts.map +1 -0
  131. package/dist/components/form/component.js.map +1 -1
  132. package/dist/components/form/index.d.ts +2 -0
  133. package/dist/components/form/index.d.ts.map +1 -0
  134. package/dist/components/form/item.d.ts +24 -0
  135. package/dist/components/form/item.d.ts.map +1 -0
  136. package/dist/components/form/item.js +24 -24
  137. package/dist/components/form/item.js.map +1 -1
  138. package/dist/components/form/label.d.ts +32 -0
  139. package/dist/components/form/label.d.ts.map +1 -0
  140. package/dist/components/form/label.js.map +1 -1
  141. package/dist/components/hooks/antd.d.ts +11 -0
  142. package/dist/components/hooks/antd.d.ts.map +1 -0
  143. package/dist/components/hooks/antd.js +9 -12
  144. package/dist/components/hooks/antd.js.map +1 -1
  145. package/dist/components/hooks/base-ui.d.ts +11 -0
  146. package/dist/components/hooks/base-ui.d.ts.map +1 -0
  147. package/dist/components/hooks/base-ui.js +22 -25
  148. package/dist/components/hooks/base-ui.js.map +1 -1
  149. package/dist/components/hooks/index.d.ts +11 -0
  150. package/dist/components/hooks/index.d.ts.map +1 -0
  151. package/dist/components/hooks/useBreakpoint.d.ts +39 -0
  152. package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
  153. package/dist/components/hooks/useBreakpoint.js +14 -15
  154. package/dist/components/hooks/useBreakpoint.js.map +1 -1
  155. package/dist/components/hooks/useCSSVariables.d.ts +7 -0
  156. package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
  157. package/dist/components/hooks/useCSSVariables.js.map +1 -1
  158. package/dist/components/hooks/useCharts.d.ts +41 -0
  159. package/dist/components/hooks/useCharts.d.ts.map +1 -0
  160. package/dist/components/hooks/useCharts.js.map +1 -1
  161. package/dist/components/hooks/useControlledState.d.ts +13 -0
  162. package/dist/components/hooks/useControlledState.d.ts.map +1 -0
  163. package/dist/components/hooks/useControlledState.js.map +1 -1
  164. package/dist/components/hooks/useDraggable.d.ts +4 -0
  165. package/dist/components/hooks/useDraggable.d.ts.map +1 -0
  166. package/dist/components/hooks/useDraggable.js +19 -20
  167. package/dist/components/hooks/useDraggable.js.map +1 -1
  168. package/dist/components/hooks/useHover.d.ts +5 -0
  169. package/dist/components/hooks/useHover.d.ts.map +1 -0
  170. package/dist/components/hooks/useHover.js +16 -17
  171. package/dist/components/hooks/useHover.js.map +1 -1
  172. package/dist/components/hooks/useResizeObserver.d.ts +9 -0
  173. package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
  174. package/dist/components/hooks/useResizeObserver.js +29 -30
  175. package/dist/components/hooks/useResizeObserver.js.map +1 -1
  176. package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
  177. package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
  178. package/dist/components/hooks/useTransitionStatus.js.map +1 -1
  179. package/dist/components/hooks/useWindowSize.d.ts +5 -0
  180. package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
  181. package/dist/components/hooks/useWindowSize.js.map +1 -1
  182. package/dist/components/icon-button/component.d.ts +45 -0
  183. package/dist/components/icon-button/component.d.ts.map +1 -0
  184. package/dist/components/icon-button/component.js.map +1 -1
  185. package/dist/components/icon-button/index.d.ts +2 -0
  186. package/dist/components/icon-button/index.d.ts.map +1 -0
  187. package/dist/components/index.d.ts +53 -0
  188. package/dist/components/index.d.ts.map +1 -0
  189. package/dist/components/input/component.d.ts +29 -0
  190. package/dist/components/input/component.d.ts.map +1 -0
  191. package/dist/components/input/component.js +46 -46
  192. package/dist/components/input/component.js.map +1 -1
  193. package/dist/components/input/index.d.ts +2 -0
  194. package/dist/components/input/index.d.ts.map +1 -0
  195. package/dist/components/keyboard-shortcut/component.d.ts +15 -0
  196. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
  197. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  198. package/dist/components/keyboard-shortcut/index.d.ts +2 -0
  199. package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
  200. package/dist/components/loader/component.d.ts +5 -0
  201. package/dist/components/loader/component.d.ts.map +1 -0
  202. package/dist/components/loader/component.js.map +1 -1
  203. package/dist/components/loader/index.d.ts +2 -0
  204. package/dist/components/loader/index.d.ts.map +1 -0
  205. package/dist/components/modal/Modal.d.ts +85 -0
  206. package/dist/components/modal/Modal.d.ts.map +1 -0
  207. package/dist/components/modal/Modal.js +75 -75
  208. package/dist/components/modal/Modal.js.map +1 -1
  209. package/dist/components/modal/ModalProvider.d.ts +6 -0
  210. package/dist/components/modal/ModalProvider.d.ts.map +1 -0
  211. package/dist/components/modal/ModalProvider.js +25 -25
  212. package/dist/components/modal/ModalProvider.js.map +1 -1
  213. package/dist/components/modal/ModalService.d.ts +34 -0
  214. package/dist/components/modal/ModalService.d.ts.map +1 -0
  215. package/dist/components/modal/ModalService.js +5 -10
  216. package/dist/components/modal/ModalService.js.map +1 -1
  217. package/dist/components/modal/constants.d.ts +10 -0
  218. package/dist/components/modal/constants.d.ts.map +1 -0
  219. package/dist/components/modal/constants.js.map +1 -1
  220. package/dist/components/modal/functions.d.ts +28 -0
  221. package/dist/components/modal/functions.d.ts.map +1 -0
  222. package/dist/components/modal/functions.js.map +1 -1
  223. package/dist/components/modal/index.d.ts +16 -0
  224. package/dist/components/modal/index.d.ts.map +1 -0
  225. package/dist/components/modal/index.js.map +1 -1
  226. package/dist/components/nav/context.d.ts +10 -0
  227. package/dist/components/nav/context.d.ts.map +1 -0
  228. package/dist/components/nav/context.js.map +1 -1
  229. package/dist/components/nav/group.d.ts +15 -0
  230. package/dist/components/nav/group.d.ts.map +1 -0
  231. package/dist/components/nav/group.js.map +1 -1
  232. package/dist/components/nav/heading.d.ts +6 -0
  233. package/dist/components/nav/heading.d.ts.map +1 -0
  234. package/dist/components/nav/heading.js.map +1 -1
  235. package/dist/components/nav/index.d.ts +12 -0
  236. package/dist/components/nav/index.d.ts.map +1 -0
  237. package/dist/components/nav/item.d.ts +35 -0
  238. package/dist/components/nav/item.d.ts.map +1 -0
  239. package/dist/components/nav/item.js.map +1 -1
  240. package/dist/components/popover/component.d.ts +10 -0
  241. package/dist/components/popover/component.d.ts.map +1 -0
  242. package/dist/components/popover/component.js.map +1 -1
  243. package/dist/components/popover/index.d.ts +2 -0
  244. package/dist/components/popover/index.d.ts.map +1 -0
  245. package/dist/components/popup-panel/component.d.ts +100 -0
  246. package/dist/components/popup-panel/component.d.ts.map +1 -0
  247. package/dist/components/popup-panel/component.js +105 -105
  248. package/dist/components/popup-panel/component.js.map +1 -1
  249. package/dist/components/popup-panel/constants.d.ts +8 -0
  250. package/dist/components/popup-panel/constants.d.ts.map +1 -0
  251. package/dist/components/popup-panel/constants.js.map +1 -1
  252. package/dist/components/popup-panel/index.d.ts +2 -0
  253. package/dist/components/popup-panel/index.d.ts.map +1 -0
  254. package/dist/components/radio/component.d.ts +8 -0
  255. package/dist/components/radio/component.d.ts.map +1 -0
  256. package/dist/components/radio/component.js.map +1 -1
  257. package/dist/components/radio/index.d.ts +3 -0
  258. package/dist/components/radio/index.d.ts.map +1 -0
  259. package/dist/components/radio/interface.d.ts +6 -0
  260. package/dist/components/radio/interface.d.ts.map +1 -0
  261. package/dist/components/resizable/component.d.ts +70 -0
  262. package/dist/components/resizable/component.d.ts.map +1 -0
  263. package/dist/components/resizable/component.js +146 -147
  264. package/dist/components/resizable/component.js.map +1 -1
  265. package/dist/components/resizable/index.d.ts +3 -0
  266. package/dist/components/resizable/index.d.ts.map +1 -0
  267. package/dist/components/scroll-area/component.d.ts +67 -0
  268. package/dist/components/scroll-area/component.d.ts.map +1 -0
  269. package/dist/components/scroll-area/component.js +69 -69
  270. package/dist/components/scroll-area/component.js.map +1 -1
  271. package/dist/components/scroll-area/index.d.ts +2 -0
  272. package/dist/components/scroll-area/index.d.ts.map +1 -0
  273. package/dist/components/segmented/component.d.ts +10 -0
  274. package/dist/components/segmented/component.d.ts.map +1 -0
  275. package/dist/components/segmented/component.js.map +1 -1
  276. package/dist/components/segmented/index.d.ts +2 -0
  277. package/dist/components/segmented/index.d.ts.map +1 -0
  278. package/dist/components/select/component.d.ts +48 -0
  279. package/dist/components/select/component.d.ts.map +1 -0
  280. package/dist/components/select/component.js +93 -94
  281. package/dist/components/select/component.js.map +1 -1
  282. package/dist/components/select/index.d.ts +2 -0
  283. package/dist/components/select/index.d.ts.map +1 -0
  284. package/dist/components/select/item.d.ts +14 -0
  285. package/dist/components/select/item.d.ts.map +1 -0
  286. package/dist/components/select/item.js.map +1 -1
  287. package/dist/components/select-trigger/component.d.ts +45 -0
  288. package/dist/components/select-trigger/component.d.ts.map +1 -0
  289. package/dist/components/select-trigger/component.js +96 -96
  290. package/dist/components/select-trigger/component.js.map +1 -1
  291. package/dist/components/select-trigger/index.d.ts +3 -0
  292. package/dist/components/select-trigger/index.d.ts.map +1 -0
  293. package/dist/components/slider/component.d.ts +6 -0
  294. package/dist/components/slider/component.d.ts.map +1 -0
  295. package/dist/components/slider/component.js.map +1 -1
  296. package/dist/components/slider/index.d.ts +2 -0
  297. package/dist/components/slider/index.d.ts.map +1 -0
  298. package/dist/components/spin/component.d.ts +6 -0
  299. package/dist/components/spin/component.d.ts.map +1 -0
  300. package/dist/components/spin/component.js.map +1 -1
  301. package/dist/components/spin/index.d.ts +2 -0
  302. package/dist/components/spin/index.d.ts.map +1 -0
  303. package/dist/components/splitter/component.d.ts +10 -0
  304. package/dist/components/splitter/component.d.ts.map +1 -0
  305. package/dist/components/splitter/component.js +7 -7
  306. package/dist/components/splitter/component.js.map +1 -1
  307. package/dist/components/splitter/context.d.ts +5 -0
  308. package/dist/components/splitter/context.d.ts.map +1 -0
  309. package/dist/components/splitter/context.js.map +1 -1
  310. package/dist/components/splitter/index.d.ts +2 -0
  311. package/dist/components/splitter/index.d.ts.map +1 -0
  312. package/dist/components/splitter/splitter-panel.d.ts +12 -0
  313. package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
  314. package/dist/components/splitter/splitter-panel.js.map +1 -1
  315. package/dist/components/splitter/splitter.d.ts +11 -0
  316. package/dist/components/splitter/splitter.d.ts.map +1 -0
  317. package/dist/components/splitter/splitter.js +112 -112
  318. package/dist/components/splitter/splitter.js.map +1 -1
  319. package/dist/components/splitter/useSizes.d.ts +9 -0
  320. package/dist/components/splitter/useSizes.d.ts.map +1 -0
  321. package/dist/components/splitter/useSizes.js +35 -35
  322. package/dist/components/splitter/useSizes.js.map +1 -1
  323. package/dist/components/stack/Stack.d.ts +40 -0
  324. package/dist/components/stack/Stack.d.ts.map +1 -0
  325. package/dist/components/stack/Stack.js.map +1 -1
  326. package/dist/components/stack/StackChild.d.ts +31 -0
  327. package/dist/components/stack/StackChild.d.ts.map +1 -0
  328. package/dist/components/stack/StackChild.js.map +1 -1
  329. package/dist/components/stack/index.d.ts +8 -0
  330. package/dist/components/stack/index.d.ts.map +1 -0
  331. package/dist/components/stack/index.js.map +1 -1
  332. package/dist/components/status-icon/component.d.ts +23 -0
  333. package/dist/components/status-icon/component.d.ts.map +1 -0
  334. package/dist/components/status-icon/component.js.map +1 -1
  335. package/dist/components/status-icon/index.d.ts +2 -0
  336. package/dist/components/status-icon/index.d.ts.map +1 -0
  337. package/dist/components/switch/component.d.ts +9 -0
  338. package/dist/components/switch/component.d.ts.map +1 -0
  339. package/dist/components/switch/component.js.map +1 -1
  340. package/dist/components/switch/index.d.ts +2 -0
  341. package/dist/components/switch/index.d.ts.map +1 -0
  342. package/dist/components/table/component.d.ts +32 -0
  343. package/dist/components/table/component.d.ts.map +1 -0
  344. package/dist/components/table/component.js +57 -58
  345. package/dist/components/table/component.js.map +1 -1
  346. package/dist/components/table/index.d.ts +2 -0
  347. package/dist/components/table/index.d.ts.map +1 -0
  348. package/dist/components/tag/component.d.ts +22 -0
  349. package/dist/components/tag/component.d.ts.map +1 -0
  350. package/dist/components/tag/component.js.map +1 -1
  351. package/dist/components/tag/index.d.ts +2 -0
  352. package/dist/components/tag/index.d.ts.map +1 -0
  353. package/dist/components/theme-provider/component.d.ts +7 -0
  354. package/dist/components/theme-provider/component.d.ts.map +1 -0
  355. package/dist/components/theme-provider/component.js.map +1 -1
  356. package/dist/components/theme-provider/index.d.ts +2 -0
  357. package/dist/components/theme-provider/index.d.ts.map +1 -0
  358. package/dist/components/toast/component.d.ts +15 -0
  359. package/dist/components/toast/component.d.ts.map +1 -0
  360. package/dist/components/toast/component.js +49 -50
  361. package/dist/components/toast/component.js.map +1 -1
  362. package/dist/components/toast/function.d.ts +11 -0
  363. package/dist/components/toast/function.d.ts.map +1 -0
  364. package/dist/components/toast/function.js.map +1 -1
  365. package/dist/components/toast/index.d.ts +4 -0
  366. package/dist/components/toast/index.d.ts.map +1 -0
  367. package/dist/components/toast/types.d.ts +4 -0
  368. package/dist/components/toast/types.d.ts.map +1 -0
  369. package/dist/components/tooltip/component.d.ts +10 -0
  370. package/dist/components/tooltip/component.d.ts.map +1 -0
  371. package/dist/components/tooltip/component.js.map +1 -1
  372. package/dist/components/tooltip/index.d.ts +2 -0
  373. package/dist/components/tooltip/index.d.ts.map +1 -0
  374. package/dist/components/tour/component.d.ts +8 -0
  375. package/dist/components/tour/component.d.ts.map +1 -0
  376. package/dist/components/tour/component.js.map +1 -1
  377. package/dist/components/tour/index.d.ts +2 -0
  378. package/dist/components/tour/index.d.ts.map +1 -0
  379. package/dist/components/transition/component.d.ts +30 -0
  380. package/dist/components/transition/component.d.ts.map +1 -0
  381. package/dist/components/transition/component.js +32 -32
  382. package/dist/components/transition/component.js.map +1 -1
  383. package/dist/components/transition/index.d.ts +2 -0
  384. package/dist/components/transition/index.d.ts.map +1 -0
  385. package/dist/components/tree/components.d.ts +14 -0
  386. package/dist/components/tree/components.d.ts.map +1 -0
  387. package/dist/components/tree/components.js.map +1 -1
  388. package/dist/components/tree/helpers.d.ts +6 -0
  389. package/dist/components/tree/helpers.d.ts.map +1 -0
  390. package/dist/components/tree/helpers.js.map +1 -1
  391. package/dist/components/tree/index.d.ts +5 -0
  392. package/dist/components/tree/index.d.ts.map +1 -0
  393. package/dist/components/tree/types.d.ts +56 -0
  394. package/dist/components/tree/types.d.ts.map +1 -0
  395. package/dist/components/tree/useTreeCommon.d.ts +179 -0
  396. package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
  397. package/dist/components/tree/useTreeCommon.js +29 -29
  398. package/dist/components/tree/useTreeCommon.js.map +1 -1
  399. package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
  400. package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
  401. package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
  402. package/dist/components/truncate/component.d.ts +17 -0
  403. package/dist/components/truncate/component.d.ts.map +1 -0
  404. package/dist/components/truncate/component.js +38 -39
  405. package/dist/components/truncate/component.js.map +1 -1
  406. package/dist/components/truncate/helpers.d.ts +17 -0
  407. package/dist/components/truncate/helpers.d.ts.map +1 -0
  408. package/dist/components/truncate/helpers.js +27 -30
  409. package/dist/components/truncate/helpers.js.map +1 -1
  410. package/dist/components/truncate/index.d.ts +2 -0
  411. package/dist/components/truncate/index.d.ts.map +1 -0
  412. package/dist/components/upload/component.d.ts +17 -0
  413. package/dist/components/upload/component.d.ts.map +1 -0
  414. package/dist/components/upload/component.js.map +1 -1
  415. package/dist/components/upload/dragger.d.ts +14 -0
  416. package/dist/components/upload/dragger.d.ts.map +1 -0
  417. package/dist/components/upload/dragger.js.map +1 -1
  418. package/dist/components/upload/hooks.d.ts +6 -0
  419. package/dist/components/upload/hooks.d.ts.map +1 -0
  420. package/dist/components/upload/hooks.js.map +1 -1
  421. package/dist/components/upload/index.d.ts +4 -0
  422. package/dist/components/upload/index.d.ts.map +1 -0
  423. package/dist/components/upload/item.d.ts +12 -0
  424. package/dist/components/upload/item.d.ts.map +1 -0
  425. package/dist/components/upload/item.js.map +1 -1
  426. package/dist/components/upload/utils.d.ts +2 -0
  427. package/dist/components/upload/utils.d.ts.map +1 -0
  428. package/dist/components/upload/utils.js.map +1 -1
  429. package/dist/components/utils/WithAntdTokens.d.ts +8 -0
  430. package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
  431. package/dist/components/utils/WithAntdTokens.js.map +1 -1
  432. package/dist/components/utils/WithRenderProp.d.ts +14 -0
  433. package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
  434. package/dist/components/utils/WithRenderProp.js.map +1 -1
  435. package/dist/components/utils/antdUtils.d.ts +11 -0
  436. package/dist/components/utils/antdUtils.d.ts.map +1 -0
  437. package/dist/components/utils/antdUtils.js +9 -12
  438. package/dist/components/utils/antdUtils.js.map +1 -1
  439. package/dist/components/utils/client.d.ts +6 -0
  440. package/dist/components/utils/client.d.ts.map +1 -0
  441. package/dist/components/utils/cn.d.ts +5 -0
  442. package/dist/components/utils/cn.d.ts.map +1 -0
  443. package/dist/components/utils/cn.js.map +1 -1
  444. package/dist/components/utils/colors.d.ts +2 -0
  445. package/dist/components/utils/colors.d.ts.map +1 -0
  446. package/dist/components/utils/constants.d.ts +15 -0
  447. package/dist/components/utils/constants.d.ts.map +1 -0
  448. package/dist/components/utils/index.d.ts +6 -0
  449. package/dist/components/utils/index.d.ts.map +1 -0
  450. package/dist/components/utils/isTracebackError.d.ts +2 -0
  451. package/dist/components/utils/isTracebackError.d.ts.map +1 -0
  452. package/dist/components/utils/isTracebackError.js.map +1 -1
  453. package/dist/components/utils/main.d.ts +7 -0
  454. package/dist/components/utils/main.d.ts.map +1 -0
  455. package/dist/components/utils/placement.d.ts +21 -0
  456. package/dist/components/utils/placement.d.ts.map +1 -0
  457. package/dist/components/utils/placement.js.map +1 -1
  458. package/dist/components/utils/reactElement.d.ts +2 -0
  459. package/dist/components/utils/reactElement.d.ts.map +1 -0
  460. package/dist/components/utils/reactToString.d.ts +3 -0
  461. package/dist/components/utils/reactToString.d.ts.map +1 -0
  462. package/dist/components/utils/reactToString.js.map +1 -1
  463. package/dist/components/utils/selectionRange.d.ts +2 -0
  464. package/dist/components/utils/selectionRange.d.ts.map +1 -0
  465. package/dist/components/utils/selectionRange.js.map +1 -1
  466. package/dist/components/utils/theme.d.ts +6 -0
  467. package/dist/components/utils/theme.d.ts.map +1 -0
  468. package/dist/components/utils/theme.js.map +1 -1
  469. package/dist/components/utils/types.d.ts +12 -0
  470. package/dist/components/utils/types.d.ts.map +1 -0
  471. package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
  472. package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
  473. package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
  474. package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
  475. package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
  476. package/dist/index.d.ts +4 -4431
  477. package/dist/index.d.ts.map +1 -0
  478. package/dist/index.js +166 -164
  479. package/dist/index.js.map +1 -1
  480. package/dist/metadata.d.ts +446 -0
  481. package/dist/metadata.d.ts.map +1 -0
  482. package/dist/metadata.js.map +1 -1
  483. package/dist/stats.html +4949 -0
  484. package/dist/tailwind.css +1 -1
  485. package/dist/tokens/and-theme/index.d.ts +2 -0
  486. package/dist/tokens/and-theme/index.d.ts.map +1 -0
  487. package/dist/tokens/and-theme/tokens.d.ts +6 -0
  488. package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
  489. package/dist/tokens/and-theme/tokens.js.map +1 -1
  490. package/dist/tokens/charts/index.d.ts +5 -0
  491. package/dist/tokens/charts/index.d.ts.map +1 -0
  492. package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
  493. package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
  494. package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
  495. package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
  496. package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
  497. package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
  498. package/dist/tokens/charts/palettes/index.d.ts +24 -0
  499. package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
  500. package/dist/tokens/charts/palettes/index.js.map +1 -1
  501. package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
  502. package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
  503. package/dist/tokens/index.d.ts +5 -0
  504. package/dist/tokens/index.d.ts.map +1 -0
  505. package/dist/tokens/types.d.ts +10 -0
  506. package/dist/tokens/types.d.ts.map +1 -0
  507. package/dist/tokens/utils.d.ts +9 -0
  508. package/dist/tokens/utils.d.ts.map +1 -0
  509. package/dist/tokens/utils.js.map +1 -1
  510. package/package.json +2 -2
  511. package/dist/tailwind.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/select/component.tsx"],"sourcesContent":["\"use client\";\nimport { CaretDown } from \"@bioturing/assets\";\nimport {\n autoPlacement,\n autoUpdate,\n FloatingOverlay,\n offset,\n shift,\n size,\n useFloating,\n useFloatingPortalNode,\n} from \"@floating-ui/react\";\nimport { default as Checkbox } from \"antd/es/checkbox\";\nimport {\n default as AntSelect,\n type SelectProps as AntSelectProps,\n type BaseOptionType,\n type DefaultOptionType,\n} from \"antd/es/select\";\nimport { toMerged } from \"es-toolkit\";\nimport React, { CSSProperties, forwardRef, useCallback } from \"react\";\nimport { useControlledState } from \"../hooks\";\nimport { PopupPanelSize } from \"../popup-panel/constants\";\nimport { clsx, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport { Divider } from \"antd\";\nimport { CheckboxProps } from \"../checkbox\";\nimport { SelectItem } from \"./item\";\nimport \"./style.css\";\n\n// SelectItem component props\n\n// Define props interface extending Ant Design's SelectProps\nexport interface SelectProps<\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends AntSelectProps<ValueType, OptionType> {\n /**\n * Whether to enhance the positioner using floating-ui\n * @default false\n */\n enhancePositioner?: boolean;\n /**\n * Size of the popup panel\n * Will be ignored if enhancePositioner is false\n */\n popupSize?: string | number | PopupPanelSize;\n /**\n * Show selection summary instead of tags in multiple case\n * @default false\n */\n showSelectionSummary?: boolean;\n /**\n * Render function for the selection summary in multiple case\n * @default (value) => `${value.length} items selected`\n */\n selectionSummaryRender?: (value: ValueType) => 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 onClick: () => void;\n checked: CheckboxProps[\"checked\"];\n indeterminate: CheckboxProps[\"indeterminate\"];\n }) => React.ReactNode;\n}\n\nexport type {\n BaseOptionType as SelectBaseOptionType,\n DefaultOptionType as SelectDefaultOptionType,\n};\n\n// Create inner function\nconst MainSelectInner = <\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n {\n mode,\n className,\n open: openProp,\n defaultOpen,\n onOpenChange,\n popupClassName,\n onDropdownVisibleChange,\n enhancePositioner,\n getPopupContainer,\n popupSize,\n popupRender,\n dropdownRender,\n classNames,\n styles = {},\n showSelectionSummary,\n selectionSummaryRender,\n value: valueProp,\n onChange: onChangeProp,\n defaultValue,\n showSelectAll,\n selectAllRender,\n options,\n ...rest\n }: SelectProps<ValueType, OptionType>,\n ref: React.Ref<React.ComponentRef<typeof AntSelect>>\n) => {\n const portalNode = useFloatingPortalNode({});\n const isMultiple = mode === \"multiple\" || mode === \"tags\";\n const [open, setOpen] = useControlledState(\n openProp,\n onOpenChange || onDropdownVisibleChange,\n defaultOpen\n );\n const cls = useCls();\n const [value, onChange] = useControlledState(\n valueProp,\n onChangeProp,\n defaultValue\n );\n // enhancePositioner\n const { floatingStyles, refs } = useFloating({\n placement: \"bottom-start\",\n transform: false,\n open: enhancePositioner && open,\n middleware: [\n offset({\n mainAxis: 4,\n }),\n autoPlacement({\n allowedPlacements: [\n \"bottom-start\",\n \"bottom-end\",\n \"bottom\",\n \"top-start\",\n \"top-end\",\n \"top\",\n ],\n }),\n shift({\n padding: 8,\n }),\n size({\n padding: 8,\n apply({ availableHeight, availableWidth, elements }) {\n // 2. Or, use a CSS variable:\n elements.floating.style.setProperty(\n \"--available-width\",\n availableWidth + \"px\"\n );\n elements.floating.style.setProperty(\n \"--available-height\",\n availableHeight + \"px\"\n );\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const defaultSelectionSummaryRender = useCallback(\n (v: ValueType) => {\n const count = Array.isArray(v) ? v.length : 1;\n if (isMultiple) {\n return count + ` ${count == 1 ? \"item\" : \"items\"} selected`;\n }\n return <>{v}</>;\n },\n [isMultiple]\n );\n\n const dsSelectClassname = clsx(\n cls(\"select\", showSelectionSummary && \"select-selection-summary\"),\n className\n );\n\n const dsPopupClassName = clsx(\n cls(\n \"select-popup\",\n isMultiple && \"select-multiple\",\n enhancePositioner && \"select-popup-enhanced\"\n ),\n classNames?.popup?.root || popupClassName\n );\n const popupWidth =\n popupSize && typeof popupSize === \"string\" && popupSize in PopupPanelSize\n ? PopupPanelSize[popupSize as keyof typeof PopupPanelSize]\n : typeof popupSize === \"number\"\n ? popupSize + \"px\"\n : popupSize || \"fit-content\";\n const customRenderMenu = useCallback(\n (menu: React.ReactElement) => {\n const renderedMenu = popupRender\n ? popupRender(menu)\n : dropdownRender\n ? dropdownRender(menu)\n : menu;\n if (!showSelectAll) return renderedMenu;\n const checked = Array.isArray(value) && value.length > 0;\n const allValues = Array.isArray(options)\n ? options.map((option) => option.value)\n : (value as any).map((v: any) => v.value);\n const indeterminate =\n Array.isArray(value) && value.length && value.length < options.length;\n return (\n <>\n <SelectItem\n className={cls(\n \"select-item\",\n \"select-item-option\",\n checked && \"select-item-option-selected\",\n \"select-item-option-active\"\n )}\n onMouseOver={(e) => {}}\n selectAllRender={selectAllRender}\n checked={checked}\n indeterminate={indeterminate}\n onSelectAll={() => onChange(allValues)}\n onDeselectAll={() => onChange([] as ValueType)}\n />\n <Divider />\n {renderedMenu}\n </>\n );\n },\n [\n popupRender,\n dropdownRender,\n showSelectAll,\n value,\n options,\n cls,\n selectAllRender,\n onChange,\n ]\n );\n return (\n <AntSelect\n // ref={ref}\n ref={(node) => {\n if (ref) {\n if (typeof ref == \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n if (!node) return;\n refs.setReference(node?.nativeElement as HTMLElement);\n }}\n suffixIcon={<CaretDown weight=\"bold\" />}\n open={open}\n onOpenChange={setOpen}\n value={value}\n onChange={onChange}\n // for old version\n popupClassName={dsPopupClassName}\n classNames={{\n popup: {\n root: dsPopupClassName,\n },\n ...classNames,\n }}\n {...(isMultiple\n ? {\n menuItemSelectedIcon: ({ isSelected }) => (\n <span className=\"ant-select-checkbox-indicator\">\n {isSelected ? (\n <Checkbox checked />\n ) : (\n <Checkbox checked={false} />\n )}\n </span>\n ),\n }\n : {})}\n mode={mode}\n className={dsSelectClassname}\n styles={\n enhancePositioner\n ? toMerged(styles, {\n popup: {\n root: {\n transition: \"none\",\n ...floatingStyles,\n \"--ds-select-popup-width\": popupWidth,\n } as CSSProperties,\n },\n })\n : styles\n }\n getPopupContainer={\n getPopupContainer ||\n (enhancePositioner ? () => portalNode || document.body : undefined)\n }\n popupRender={(menu) => {\n if (!enhancePositioner) {\n return customRenderMenu(menu);\n }\n return (\n <>\n <FloatingOverlay lockScroll onClick={() => setOpen(false)} />\n <div\n ref={(node) => {\n if (!node) return;\n const popupEl = node.closest(\n \".ds-select-dropdown\"\n ) as HTMLDivElement;\n refs.setFloating(popupEl);\n }}\n >\n {customRenderMenu(menu)}\n </div>\n </>\n );\n }}\n options={options}\n {...(showSelectionSummary\n ? {\n maxTagCount: 1,\n showSearch: false,\n labelRender: () => {\n if (selectionSummaryRender) {\n return selectionSummaryRender(value);\n }\n return defaultSelectionSummaryRender(value);\n },\n }\n : {})}\n {...rest}\n />\n );\n};\n\n// Use forwardRef with type assertion\nconst MainSelect = forwardRef(MainSelectInner) as <\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: SelectProps<ValueType, OptionType> & {\n ref?: React.ForwardedRef<React.ComponentRef<typeof AntSelect>>;\n }\n) => ReturnType<typeof MainSelectInner>;\n\nexport const Select = Object.assign(MainSelect, {\n Option: AntSelect.Option,\n OptGroup: AntSelect.OptGroup,\n});\n"],"names":["MainSelectInner","mode","className","openProp","defaultOpen","onOpenChange","popupClassName","onDropdownVisibleChange","enhancePositioner","getPopupContainer","popupSize","popupRender","dropdownRender","classNames","styles","showSelectionSummary","selectionSummaryRender","valueProp","onChangeProp","defaultValue","showSelectAll","selectAllRender","options","rest","ref","portalNode","useFloatingPortalNode","isMultiple","open","setOpen","useControlledState","cls","useCls","value","onChange","floatingStyles","refs","useFloating","offset","autoPlacement","shift","size","availableHeight","availableWidth","elements","autoUpdate","defaultSelectionSummaryRender","useCallback","v","count","dsSelectClassname","clsx","dsPopupClassName","_a","popupWidth","PopupPanelSize","customRenderMenu","menu","renderedMenu","checked","allValues","option","indeterminate","jsxs","Fragment","jsx","SelectItem","e","Divider","AntSelect","node","CaretDown","isSelected","Checkbox","toMerged","FloatingOverlay","popupEl","MainSelect","forwardRef","Select"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/select/component.tsx"],"sourcesContent":["\"use client\";\nimport { CaretDown } from \"@bioturing/assets\";\nimport {\n autoPlacement,\n autoUpdate,\n FloatingOverlay,\n offset,\n shift,\n size,\n useFloating,\n useFloatingPortalNode,\n} from \"@floating-ui/react\";\nimport { default as Checkbox } from \"antd/es/checkbox\";\nimport {\n default as AntSelect,\n type SelectProps as AntSelectProps,\n type BaseOptionType,\n type DefaultOptionType,\n} from \"antd/es/select\";\nimport { toMerged } from \"es-toolkit\";\nimport React, { CSSProperties, forwardRef, useCallback } from \"react\";\nimport { useControlledState } from \"../hooks\";\nimport { PopupPanelSize } from \"../popup-panel/constants\";\nimport { clsx, useCls } from \"../utils\";\n\n// Import component-specific styles\nimport { Divider } from \"antd\";\nimport { CheckboxProps } from \"../checkbox\";\nimport { SelectItem } from \"./item\";\nimport \"./style.css\";\n\n// SelectItem component props\n\n// Define props interface extending Ant Design's SelectProps\nexport interface SelectProps<\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n> extends AntSelectProps<ValueType, OptionType> {\n /**\n * Whether to enhance the positioner using floating-ui\n * @default false\n */\n enhancePositioner?: boolean;\n /**\n * Size of the popup panel\n * Will be ignored if enhancePositioner is false\n */\n popupSize?: string | number | PopupPanelSize;\n /**\n * Show selection summary instead of tags in multiple case\n * @default false\n */\n showSelectionSummary?: boolean;\n /**\n * Render function for the selection summary in multiple case\n * @default (value) => `${value.length} items selected`\n */\n selectionSummaryRender?: (value: ValueType) => 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 onClick: () => void;\n checked: CheckboxProps[\"checked\"];\n indeterminate: CheckboxProps[\"indeterminate\"];\n }) => React.ReactNode;\n}\n\nexport type {\n BaseOptionType as SelectBaseOptionType,\n DefaultOptionType as SelectDefaultOptionType,\n};\n\n// Create inner function\nconst MainSelectInner = <\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n {\n mode,\n className,\n open: openProp,\n defaultOpen,\n onOpenChange,\n popupClassName,\n onDropdownVisibleChange,\n enhancePositioner,\n getPopupContainer,\n popupSize,\n popupRender,\n dropdownRender,\n classNames,\n styles = {},\n showSelectionSummary,\n selectionSummaryRender,\n value: valueProp,\n onChange: onChangeProp,\n defaultValue,\n showSelectAll,\n selectAllRender,\n options,\n ...rest\n }: SelectProps<ValueType, OptionType>,\n ref: React.Ref<React.ComponentRef<typeof AntSelect>>\n) => {\n const portalNode = useFloatingPortalNode({});\n const isMultiple = mode === \"multiple\" || mode === \"tags\";\n const [open, setOpen] = useControlledState(\n openProp,\n onOpenChange || onDropdownVisibleChange,\n defaultOpen\n );\n const cls = useCls();\n const [value, onChange] = useControlledState(\n valueProp,\n onChangeProp,\n defaultValue\n );\n // enhancePositioner\n const { floatingStyles, refs } = useFloating({\n placement: \"bottom-start\",\n transform: false,\n open: enhancePositioner && open,\n middleware: [\n offset({\n mainAxis: 4,\n }),\n autoPlacement({\n allowedPlacements: [\n \"bottom-start\",\n \"bottom-end\",\n \"bottom\",\n \"top-start\",\n \"top-end\",\n \"top\",\n ],\n }),\n shift({\n padding: 8,\n }),\n size({\n padding: 8,\n apply({ availableHeight, availableWidth, elements }) {\n // 2. Or, use a CSS variable:\n elements.floating.style.setProperty(\n \"--available-width\",\n availableWidth + \"px\"\n );\n elements.floating.style.setProperty(\n \"--available-height\",\n availableHeight + \"px\"\n );\n },\n }),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n const defaultSelectionSummaryRender = useCallback(\n (v: ValueType) => {\n const count = Array.isArray(v) ? v.length : 1;\n if (isMultiple) {\n return count + ` ${count == 1 ? \"item\" : \"items\"} selected`;\n }\n return <>{v}</>;\n },\n [isMultiple]\n );\n\n const dsSelectClassname = clsx(\n cls(\"select\", showSelectionSummary && \"select-selection-summary\"),\n className\n );\n\n const dsPopupClassName = clsx(\n cls(\n \"select-popup\",\n isMultiple && \"select-multiple\",\n enhancePositioner && \"select-popup-enhanced\"\n ),\n classNames?.popup?.root || popupClassName\n );\n const popupWidth =\n popupSize && typeof popupSize === \"string\" && popupSize in PopupPanelSize\n ? PopupPanelSize[popupSize as keyof typeof PopupPanelSize]\n : typeof popupSize === \"number\"\n ? popupSize + \"px\"\n : popupSize || \"fit-content\";\n const customRenderMenu = useCallback(\n (menu: React.ReactElement) => {\n const renderedMenu = popupRender\n ? popupRender(menu)\n : dropdownRender\n ? dropdownRender(menu)\n : menu;\n if (!showSelectAll) return renderedMenu;\n const checked = Array.isArray(value) && value.length > 0;\n const allValues = Array.isArray(options)\n ? options.map((option) => option.value)\n : (value as any).map((v: any) => v.value);\n const indeterminate =\n Array.isArray(value) && value.length && value.length < options.length;\n return (\n <>\n <SelectItem\n className={cls(\n \"select-item\",\n \"select-item-option\",\n checked && \"select-item-option-selected\",\n \"select-item-option-active\"\n )}\n onMouseOver={(e) => {}}\n selectAllRender={selectAllRender}\n checked={checked}\n indeterminate={indeterminate}\n onSelectAll={() => onChange(allValues)}\n onDeselectAll={() => onChange([] as ValueType)}\n />\n <Divider />\n {renderedMenu}\n </>\n );\n },\n [\n popupRender,\n dropdownRender,\n showSelectAll,\n value,\n options,\n cls,\n selectAllRender,\n onChange,\n ]\n );\n return (\n <AntSelect\n // ref={ref}\n ref={(node) => {\n if (ref) {\n if (typeof ref == \"function\") {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n if (!node) return;\n refs.setReference(node?.nativeElement as HTMLElement);\n }}\n suffixIcon={<CaretDown weight=\"bold\" />}\n open={open}\n onOpenChange={setOpen}\n value={value}\n onChange={onChange}\n // for old version\n popupClassName={dsPopupClassName}\n classNames={{\n popup: {\n root: dsPopupClassName,\n },\n ...classNames,\n }}\n {...(isMultiple\n ? {\n menuItemSelectedIcon: ({ isSelected }) => (\n <span className=\"ant-select-checkbox-indicator\">\n {isSelected ? (\n <Checkbox checked />\n ) : (\n <Checkbox checked={false} />\n )}\n </span>\n ),\n }\n : {})}\n mode={mode}\n className={dsSelectClassname}\n styles={\n enhancePositioner\n ? toMerged(styles, {\n popup: {\n root: {\n transition: \"none\",\n ...floatingStyles,\n \"--ds-select-popup-width\": popupWidth,\n } as CSSProperties,\n },\n })\n : styles\n }\n getPopupContainer={\n getPopupContainer ||\n (enhancePositioner ? () => portalNode || document.body : undefined)\n }\n popupRender={(menu) => {\n if (!enhancePositioner) {\n return customRenderMenu(menu);\n }\n return (\n <>\n <FloatingOverlay lockScroll onClick={() => setOpen(false)} />\n <div\n ref={(node) => {\n if (!node) return;\n const popupEl = node.closest(\n \".ds-select-dropdown\"\n ) as HTMLDivElement;\n refs.setFloating(popupEl);\n }}\n >\n {customRenderMenu(menu)}\n </div>\n </>\n );\n }}\n options={options}\n {...(showSelectionSummary\n ? {\n maxTagCount: 1,\n showSearch: false,\n labelRender: () => {\n if (selectionSummaryRender) {\n return selectionSummaryRender(value);\n }\n return defaultSelectionSummaryRender(value);\n },\n }\n : {})}\n {...rest}\n />\n );\n};\n\n// Use forwardRef with type assertion\nconst MainSelect = forwardRef(MainSelectInner) as <\n ValueType = unknown,\n OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType\n>(\n props: SelectProps<ValueType, OptionType> & {\n ref?: React.ForwardedRef<React.ComponentRef<typeof AntSelect>>;\n }\n) => ReturnType<typeof MainSelectInner>;\n\nexport const Select = Object.assign(MainSelect, {\n Option: AntSelect.Option,\n OptGroup: AntSelect.OptGroup,\n});\n"],"names":["MainSelectInner","mode","className","openProp","defaultOpen","onOpenChange","popupClassName","onDropdownVisibleChange","enhancePositioner","getPopupContainer","popupSize","popupRender","dropdownRender","classNames","styles","showSelectionSummary","selectionSummaryRender","valueProp","onChangeProp","defaultValue","showSelectAll","selectAllRender","options","rest","ref","portalNode","useFloatingPortalNode","isMultiple","open","setOpen","useControlledState","cls","useCls","value","onChange","floatingStyles","refs","useFloating","offset","autoPlacement","shift","size","availableHeight","availableWidth","elements","autoUpdate","defaultSelectionSummaryRender","useCallback","v","count","dsSelectClassname","clsx","dsPopupClassName","popupWidth","PopupPanelSize","customRenderMenu","menu","renderedMenu","checked","allValues","option","indeterminate","jsxs","Fragment","jsx","SelectItem","e","Divider","AntSelect","node","CaretDown","isSelected","Checkbox","toMerged","FloatingOverlay","popupEl","MainSelect","forwardRef","Select"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { CheckboxProps } from '../checkbox';
2
+ export interface SelectItemProps extends React.ComponentPropsWithoutRef<"div"> {
3
+ selectAllRender?: (props: {
4
+ onClick: () => void;
5
+ checked: CheckboxProps["checked"];
6
+ indeterminate: CheckboxProps["indeterminate"];
7
+ }) => React.ReactNode;
8
+ checked: boolean;
9
+ indeterminate: boolean;
10
+ onSelectAll: () => void;
11
+ onDeselectAll: () => void;
12
+ }
13
+ export declare const SelectItem: React.FC<SelectItemProps>;
14
+ //# sourceMappingURL=item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../src/components/select/item.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAKtD,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC5E,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QAClC,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;KAC/C,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAGD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuDhD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../src/components/select/item.tsx"],"sourcesContent":["import mergeRefs from \"merge-refs\";\nimport { CheckboxProps, Checkbox } from \"../checkbox\";\nimport { useHover } from \"../hooks\";\nimport { useCls } from \"../utils\";\nimport { forwardRef } from \"react\";\n\nexport interface SelectItemProps extends React.ComponentPropsWithoutRef<\"div\"> {\n selectAllRender?: (props: {\n onClick: () => void;\n checked: CheckboxProps[\"checked\"];\n indeterminate: CheckboxProps[\"indeterminate\"];\n }) => React.ReactNode;\n checked: boolean;\n indeterminate: boolean;\n onSelectAll: () => void;\n onDeselectAll: () => void;\n}\n\n// SelectItem component\nexport const SelectItem: React.FC<SelectItemProps> = forwardRef<\n HTMLDivElement,\n SelectItemProps\n>(\n (\n {\n className,\n onMouseOver,\n selectAllRender,\n checked,\n indeterminate,\n onSelectAll,\n onDeselectAll,\n ...rest\n },\n forwardedRef\n ) => {\n const [ref, _hovering] = useHover<HTMLDivElement>();\n const cls = useCls();\n return (\n <div\n ref={mergeRefs(ref, forwardedRef)}\n className={cls(\n \"select-item\",\n \"select-item-option\",\n checked && \"select-item-option-selected\",\n \"select-item-select-all\",\n _hovering && \"select-item-option-active\"\n )}\n {...rest}\n >\n {selectAllRender ? (\n selectAllRender({\n onClick: checked ? onDeselectAll : onSelectAll,\n checked,\n indeterminate,\n })\n ) : (\n <Checkbox\n checked={checked}\n indeterminate={indeterminate}\n onChange={(e) => {\n if (e.target.checked) {\n onSelectAll();\n } else {\n onDeselectAll();\n }\n }}\n >\n Select all\n </Checkbox>\n )}\n </div>\n );\n }\n);\n\nSelectItem.displayName = \"SelectItem\";\n"],"names":["SelectItem","forwardRef","className","onMouseOver","selectAllRender","checked","indeterminate","onSelectAll","onDeselectAll","rest","forwardedRef","ref","_hovering","useHover","cls","useCls","jsx","mergeRefs","Checkbox","e"],"mappings":";;;;;;AAmBO,MAAMA,IAAwCC;AAAA,EAInD,CACE;AAAA,IACE,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,GAAGC;AAAA,KAELC,MACG;AACH,UAAM,CAACC,GAAKC,CAAS,IAAIC,EAAyB,GAC5CC,IAAMC,EAAO;AAEjB,WAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKC,EAAUN,GAAKD,CAAY;AAAA,QAChC,WAAWI;AAAA,UACT;AAAA,UACA;AAAA,UACAT,KAAW;AAAA,UACX;AAAA,UACAO,KAAa;AAAA,QACf;AAAA,QACC,GAAGH;AAAA,QAEH,cACCL,EAAgB;AAAA,UACd,SAASC,IAAUG,IAAgBD;AAAA,UACnC,SAAAF;AAAA,UACA,eAAAC;AAAA,QACD,CAAA,IAED,gBAAAU;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAAb;AAAA,YACA,eAAAC;AAAA,YACA,UAAU,CAACa,MAAM;AACX,cAAAA,EAAE,OAAO,UACCZ,EAAA,IAEEC,EAAA;AAAA,YAElB;AAAA,YACD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAEJ;AAAA,EAAA;AAGN;AAEAR,EAAW,cAAc;"}
1
+ {"version":3,"file":"item.js","sources":["../../../src/components/select/item.tsx"],"sourcesContent":["import mergeRefs from \"merge-refs\";\nimport { CheckboxProps, Checkbox } from \"../checkbox\";\nimport { useHover } from \"../hooks\";\nimport { useCls } from \"../utils\";\nimport { forwardRef } from \"react\";\n\nexport interface SelectItemProps extends React.ComponentPropsWithoutRef<\"div\"> {\n selectAllRender?: (props: {\n onClick: () => void;\n checked: CheckboxProps[\"checked\"];\n indeterminate: CheckboxProps[\"indeterminate\"];\n }) => React.ReactNode;\n checked: boolean;\n indeterminate: boolean;\n onSelectAll: () => void;\n onDeselectAll: () => void;\n}\n\n// SelectItem component\nexport const SelectItem: React.FC<SelectItemProps> = forwardRef<\n HTMLDivElement,\n SelectItemProps\n>(\n (\n {\n className,\n onMouseOver,\n selectAllRender,\n checked,\n indeterminate,\n onSelectAll,\n onDeselectAll,\n ...rest\n },\n forwardedRef\n ) => {\n const [ref, _hovering] = useHover<HTMLDivElement>();\n const cls = useCls();\n return (\n <div\n ref={mergeRefs(ref, forwardedRef)}\n className={cls(\n \"select-item\",\n \"select-item-option\",\n checked && \"select-item-option-selected\",\n \"select-item-select-all\",\n _hovering && \"select-item-option-active\"\n )}\n {...rest}\n >\n {selectAllRender ? (\n selectAllRender({\n onClick: checked ? onDeselectAll : onSelectAll,\n checked,\n indeterminate,\n })\n ) : (\n <Checkbox\n checked={checked}\n indeterminate={indeterminate}\n onChange={(e) => {\n if (e.target.checked) {\n onSelectAll();\n } else {\n onDeselectAll();\n }\n }}\n >\n Select all\n </Checkbox>\n )}\n </div>\n );\n }\n);\n\nSelectItem.displayName = \"SelectItem\";\n"],"names":["SelectItem","forwardRef","className","onMouseOver","selectAllRender","checked","indeterminate","onSelectAll","onDeselectAll","rest","forwardedRef","ref","_hovering","useHover","cls","useCls","jsx","mergeRefs","Checkbox","e"],"mappings":";;;;;;AAmBO,MAAMA,IAAwCC;AAAA,EAInD,CACE;AAAA,IACE,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,eAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAM,CAACC,GAAKC,CAAS,IAAIC,EAAA,GACnBC,IAAMC,EAAA;AACZ,WACE,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKC,EAAUN,GAAKD,CAAY;AAAA,QAChC,WAAWI;AAAA,UACT;AAAA,UACA;AAAA,UACAT,KAAW;AAAA,UACX;AAAA,UACAO,KAAa;AAAA,QAAA;AAAA,QAEd,GAAGH;AAAA,QAEH,cACCL,EAAgB;AAAA,UACd,SAASC,IAAUG,IAAgBD;AAAA,UACnC,SAAAF;AAAA,UACA,eAAAC;AAAA,QAAA,CACD,IAED,gBAAAU;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAAb;AAAA,YACA,eAAAC;AAAA,YACA,UAAU,CAACa,MAAM;AACf,cAAIA,EAAE,OAAO,UACXZ,EAAA,IAEAC,EAAA;AAAA,YAEJ;AAAA,YACD,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAAA;AAAA,EAIR;AACF;AAEAR,EAAW,cAAc;"}
@@ -0,0 +1,45 @@
1
+ import { default as React } from 'react';
2
+ import { WithRenderPropProps } from '../utils/WithRenderProp';
3
+ import { ValidateStatus } from 'antd/es/form/FormItem';
4
+ export type SelectTriggerState = {
5
+ disabled: boolean;
6
+ open: boolean;
7
+ hasValue: boolean;
8
+ size: "small" | "middle" | "large";
9
+ };
10
+ export interface SelectTriggerProps extends Omit<WithRenderPropProps<"button", SelectTriggerState>, "value" | "prefix"> {
11
+ /** Size variant */
12
+ size?: "small" | "middle" | "large";
13
+ /** Whether the component is disabled */
14
+ disabled?: boolean;
15
+ /** Whether the dropdown/popup is open */
16
+ open?: boolean;
17
+ /** Validation status */
18
+ status?: ValidateStatus;
19
+ /** Placeholder text */
20
+ placeholder?: string;
21
+ /** Current value/content to display */
22
+ value?: React.ReactNode;
23
+ /** Prefix content to display before the value (e.g., icon) */
24
+ prefix?: React.ReactNode;
25
+ /** Whether to show clear button when there's a value */
26
+ allowClear?: boolean;
27
+ /** Custom suffix icon (arrow icon) */
28
+ suffixIcon?: React.ReactNode;
29
+ /** Custom clear icon */
30
+ clearIcon?: React.ReactNode;
31
+ /** Clear handler */
32
+ onClear?: () => void;
33
+ /** Open state change handler */
34
+ onOpenChange?: (open: boolean) => void;
35
+ /** Custom class names */
36
+ classNames?: {
37
+ trigger?: string;
38
+ content?: string;
39
+ suffix?: string;
40
+ placeholder?: string;
41
+ value?: string;
42
+ };
43
+ }
44
+ export declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
45
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/select-trigger/component.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAkB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACpC,CAAC;AAEF,MAAM,WAAW,kBACf,SAAQ,IAAI,CACV,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACjD,OAAO,GAAG,QAAQ,CACnB;IACD,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wBAAwB;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,wBAAwB;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gCAAgC;IAChC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,yBAAyB;IACzB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,eAAO,MAAM,aAAa,8FAuKzB,CAAC"}
@@ -1,105 +1,105 @@
1
1
  "use client";
2
- import { jsxs as p, jsx as t } from "react/jsx-runtime";
3
- import { XCircleIcon as K, CaretDownIcon as V } from "@bioturing/assets";
4
- import W from "merge-refs";
5
- import { forwardRef as X, useCallback as E, useRef as q, useEffect as B } from "react";
6
- import { WithRenderProp as F } from "../utils/WithRenderProp.js";
2
+ import { jsxs as g, jsx as r } from "react/jsx-runtime";
3
+ import { XCircleIcon as P, CaretDownIcon as T } from "@bioturing/assets";
4
+ import $ from "merge-refs";
5
+ import { forwardRef as A, useCallback as y, useRef as K, useEffect as V } from "react";
6
+ import { WithRenderProp as W } from "../utils/WithRenderProp.js";
7
7
  import './style.css';/* empty css */
8
- import { useCls as G } from "../utils/antdUtils.js";
9
- import { clsx as l } from "../utils/cn.js";
10
- const H = X(
8
+ import { useCls as X } from "../utils/antdUtils.js";
9
+ import { clsx as o } from "../utils/cn.js";
10
+ const q = A(
11
11
  ({
12
- size: h = "middle",
13
- disabled: n = !1,
14
- open: o = !1,
15
- status: w,
16
- placeholder: b = "Select...",
17
- value: c,
18
- prefix: x,
19
- allowClear: u = !1,
20
- suffixIcon: k,
21
- clearIcon: m,
22
- onClear: d,
23
- onOpenChange: f,
24
- classNames: e,
25
- render: S,
26
- role: j = "combobox",
27
- className: L,
28
- ...P
29
- }, T) => {
30
- const r = G(), g = c != null && c !== "", $ = {
31
- disabled: n,
32
- open: o,
33
- hasValue: g,
34
- size: h
35
- }, R = E(
36
- (i) => {
37
- i.stopPropagation(), d == null || d();
12
+ size: d = "middle",
13
+ disabled: c = !1,
14
+ open: i = !1,
15
+ status: m,
16
+ placeholder: f = "Select...",
17
+ value: s,
18
+ prefix: p,
19
+ allowClear: a = !1,
20
+ suffixIcon: u,
21
+ clearIcon: h,
22
+ onClear: w,
23
+ onOpenChange: b,
24
+ classNames: n,
25
+ render: v,
26
+ role: D = "combobox",
27
+ className: E,
28
+ ...S
29
+ }, C) => {
30
+ const e = X(), l = s != null && s !== "", j = {
31
+ disabled: c,
32
+ open: i,
33
+ hasValue: l,
34
+ size: d
35
+ }, x = y(
36
+ (t) => {
37
+ t.stopPropagation(), w?.();
38
38
  },
39
- [d]
40
- ), y = q(null);
41
- B(() => {
42
- const i = y.current;
43
- if (!i) return;
44
- const v = (D) => {
45
- D.key === "ArrowDown" && !n && !o && (D.preventDefault(), f == null || f(!0));
39
+ [w]
40
+ ), k = K(null);
41
+ V(() => {
42
+ const t = k.current;
43
+ if (!t) return;
44
+ const N = (R) => {
45
+ R.key === "ArrowDown" && !c && !i && (R.preventDefault(), b?.(!0));
46
46
  };
47
- return i.addEventListener("keydown", v), () => {
48
- i.removeEventListener("keydown", v);
47
+ return t.addEventListener("keydown", N), () => {
48
+ t.removeEventListener("keydown", N);
49
49
  };
50
- }, [n, o, f]);
51
- const A = E(
52
- (i) => /* @__PURE__ */ p("button", { ...i, children: [
53
- /* @__PURE__ */ t(
50
+ }, [c, i, b]);
51
+ const L = y(
52
+ (t) => /* @__PURE__ */ g("button", { ...t, children: [
53
+ /* @__PURE__ */ r(
54
54
  "span",
55
55
  {
56
- className: l(r("select-trigger-content"), e == null ? void 0 : e.content),
57
- children: g ? /* @__PURE__ */ p("span", { className: r("select-trigger-value-with-prefix"), children: [
58
- x,
59
- /* @__PURE__ */ t(
56
+ className: o(e("select-trigger-content"), n?.content),
57
+ children: l ? /* @__PURE__ */ g("span", { className: e("select-trigger-value-with-prefix"), children: [
58
+ p,
59
+ /* @__PURE__ */ r(
60
60
  "span",
61
61
  {
62
- className: l(
63
- r("select-trigger-value"),
64
- e == null ? void 0 : e.value
62
+ className: o(
63
+ e("select-trigger-value"),
64
+ n?.value
65
65
  ),
66
- children: c
66
+ children: s
67
67
  }
68
68
  )
69
- ] }) : /* @__PURE__ */ t(
69
+ ] }) : /* @__PURE__ */ r(
70
70
  "span",
71
71
  {
72
- className: l(
73
- r("select-trigger-placeholder"),
74
- e == null ? void 0 : e.placeholder
72
+ className: o(
73
+ e("select-trigger-placeholder"),
74
+ n?.placeholder
75
75
  ),
76
- children: b
76
+ children: f
77
77
  }
78
78
  )
79
79
  }
80
80
  ),
81
- /* @__PURE__ */ p(
81
+ /* @__PURE__ */ g(
82
82
  "span",
83
83
  {
84
- className: l(r("select-trigger-suffix"), e == null ? void 0 : e.suffix),
84
+ className: o(e("select-trigger-suffix"), n?.suffix),
85
85
  children: [
86
- u && g && /* @__PURE__ */ t(
86
+ a && l && /* @__PURE__ */ r(
87
87
  "span",
88
88
  {
89
- className: r("select-trigger-clear"),
89
+ className: e("select-trigger-clear"),
90
90
  unselectable: "on",
91
91
  "aria-hidden": "true",
92
- onClick: R,
93
- children: m || /* @__PURE__ */ t("span", { className: r("select-trigger-clear-icon"), children: /* @__PURE__ */ t(K, { weight: "fill" }) })
92
+ onClick: x,
93
+ children: h || /* @__PURE__ */ r("span", { className: e("select-trigger-clear-icon"), children: /* @__PURE__ */ r(P, { weight: "fill" }) })
94
94
  }
95
95
  ),
96
- (!u || !g) && /* @__PURE__ */ t(
96
+ (!a || !l) && /* @__PURE__ */ r(
97
97
  "span",
98
98
  {
99
- className: r("select-trigger-arrow"),
99
+ className: e("select-trigger-arrow"),
100
100
  unselectable: "on",
101
101
  "aria-hidden": "true",
102
- children: k || /* @__PURE__ */ t("span", { className: r("select-trigger-arrow-icon"), children: /* @__PURE__ */ t(V, { weight: "bold" }) })
102
+ children: u || /* @__PURE__ */ r("span", { className: e("select-trigger-arrow-icon"), children: /* @__PURE__ */ r(T, { weight: "bold" }) })
103
103
  }
104
104
  )
105
105
  ]
@@ -107,44 +107,44 @@ const H = X(
107
107
  )
108
108
  ] }),
109
109
  [
110
- g,
111
- c,
112
- x,
113
- b,
110
+ l,
111
+ s,
112
+ p,
113
+ f,
114
+ a,
114
115
  u,
115
- k,
116
- m,
117
- r,
116
+ h,
118
117
  e,
119
- R
118
+ n,
119
+ x
120
120
  ]
121
121
  );
122
- return /* @__PURE__ */ t(
123
- F,
122
+ return /* @__PURE__ */ r(
123
+ W,
124
124
  {
125
125
  as: "button",
126
- ref: W(T, y),
127
- state: $,
128
- className: l(
129
- r("select-trigger"),
130
- r(`select-trigger-${h}`),
131
- n && r("select-trigger-disabled"),
132
- o && r("select-trigger-open"),
133
- w && r(`select-trigger-${w}`),
134
- e == null ? void 0 : e.trigger,
135
- L
126
+ ref: $(C, k),
127
+ state: j,
128
+ className: o(
129
+ e("select-trigger"),
130
+ e(`select-trigger-${d}`),
131
+ c && e("select-trigger-disabled"),
132
+ i && e("select-trigger-open"),
133
+ m && e(`select-trigger-${m}`),
134
+ n?.trigger,
135
+ E
136
136
  ),
137
- disabled: n,
138
- role: j,
139
- "aria-expanded": o,
140
- render: S || A,
141
- ...P
137
+ disabled: c,
138
+ role: D,
139
+ "aria-expanded": i,
140
+ render: v || L,
141
+ ...S
142
142
  }
143
143
  );
144
144
  }
145
145
  );
146
- H.displayName = "SelectTrigger";
146
+ q.displayName = "SelectTrigger";
147
147
  export {
148
- H as SelectTrigger
148
+ q as SelectTrigger
149
149
  };
150
150
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/select-trigger/component.tsx"],"sourcesContent":["\"use client\";\nimport { CaretDownIcon, XCircleIcon } from \"@bioturing/assets\";\nimport mergeRefs from \"merge-refs\";\nimport React, { forwardRef, useCallback, useEffect, useRef } from \"react\";\nimport { clsx, useCls } from \"../utils\";\nimport { WithRenderProp, WithRenderPropProps } from \"../utils/WithRenderProp\";\nimport { ValidateStatus } from \"antd/es/form/FormItem\";\nimport \"./style.css\";\n\nexport type SelectTriggerState = {\n disabled: boolean;\n open: boolean;\n hasValue: boolean;\n size: \"small\" | \"middle\" | \"large\";\n};\n\nexport interface SelectTriggerProps\n extends Omit<\n WithRenderPropProps<\"button\", SelectTriggerState>,\n \"value\" | \"prefix\"\n > {\n /** Size variant */\n size?: \"small\" | \"middle\" | \"large\";\n /** Whether the component is disabled */\n disabled?: boolean;\n /** Whether the dropdown/popup is open */\n open?: boolean;\n /** Validation status */\n status?: ValidateStatus;\n /** Placeholder text */\n placeholder?: string;\n /** Current value/content to display */\n value?: React.ReactNode;\n /** Prefix content to display before the value (e.g., icon) */\n prefix?: React.ReactNode;\n /** Whether to show clear button when there's a value */\n allowClear?: boolean;\n /** Custom suffix icon (arrow icon) */\n suffixIcon?: React.ReactNode;\n /** Custom clear icon */\n clearIcon?: React.ReactNode;\n /** Clear handler */\n onClear?: () => void;\n /** Open state change handler */\n onOpenChange?: (open: boolean) => void;\n /** Custom class names */\n classNames?: {\n trigger?: string;\n content?: string;\n suffix?: string;\n placeholder?: string;\n value?: string;\n };\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n {\n size = \"middle\",\n disabled = false,\n open = false,\n status,\n placeholder = \"Select...\",\n value,\n prefix,\n allowClear = false,\n suffixIcon,\n clearIcon,\n onClear,\n onOpenChange,\n classNames,\n render,\n role = \"combobox\",\n className,\n ...rest\n },\n ref\n ) => {\n const cls = useCls();\n const hasValue = value !== undefined && value !== null && value !== \"\";\n\n const triggerState: SelectTriggerState = {\n disabled,\n open,\n hasValue,\n size,\n };\n\n const handleClearClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onClear?.();\n },\n [onClear]\n );\n\n // Internal ref for the button element\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n // Handle keyboard shortcuts with addEventListener\n useEffect(() => {\n const buttonElement = buttonRef.current;\n if (!buttonElement) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n // Alt + Down Arrow to open dropdown\n if (e.key === \"ArrowDown\" && !disabled && !open) {\n e.preventDefault();\n onOpenChange?.(true);\n }\n // Escape to close dropdown\n // Comment because Popover would handle it\n // if (e.key === \"Escape\" && open) {\n // e.preventDefault();\n // onOpenChange?.(false);\n // }\n };\n\n buttonElement.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n buttonElement.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [disabled, open, onOpenChange]);\n\n const defaultRender = useCallback(\n (props: React.ComponentPropsWithoutRef<\"button\">) => (\n <button {...props}>\n <span\n className={clsx(cls(\"select-trigger-content\"), classNames?.content)}\n >\n {hasValue ? (\n <span className={cls(\"select-trigger-value-with-prefix\")}>\n {prefix}\n <span\n className={clsx(\n cls(\"select-trigger-value\"),\n classNames?.value\n )}\n >\n {value}\n </span>\n </span>\n ) : (\n <span\n className={clsx(\n cls(\"select-trigger-placeholder\"),\n classNames?.placeholder\n )}\n >\n {placeholder}\n </span>\n )}\n </span>\n <span\n className={clsx(cls(\"select-trigger-suffix\"), classNames?.suffix)}\n >\n {allowClear && hasValue && (\n <span\n className={cls(\"select-trigger-clear\")}\n unselectable=\"on\"\n aria-hidden=\"true\"\n onClick={handleClearClick}\n >\n {clearIcon || (\n <span className={cls(\"select-trigger-clear-icon\")}>\n <XCircleIcon weight=\"fill\" />\n </span>\n )}\n </span>\n )}\n {(!allowClear || !hasValue) && (\n <span\n className={cls(\"select-trigger-arrow\")}\n unselectable=\"on\"\n aria-hidden=\"true\"\n >\n {suffixIcon || (\n <span className={cls(\"select-trigger-arrow-icon\")}>\n <CaretDownIcon weight=\"bold\" />\n </span>\n )}\n </span>\n )}\n </span>\n </button>\n ),\n [\n hasValue,\n value,\n prefix,\n placeholder,\n allowClear,\n suffixIcon,\n clearIcon,\n cls,\n classNames,\n handleClearClick,\n ]\n );\n\n return (\n <WithRenderProp\n as=\"button\"\n ref={mergeRefs(ref, buttonRef)}\n state={triggerState}\n className={clsx(\n cls(\"select-trigger\"),\n cls(`select-trigger-${size}`),\n disabled && cls(\"select-trigger-disabled\"),\n open && cls(\"select-trigger-open\"),\n status && cls(`select-trigger-${status}`),\n classNames?.trigger,\n className\n )}\n disabled={disabled}\n role={role}\n aria-expanded={open}\n render={render || defaultRender}\n {...rest}\n />\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n"],"names":["SelectTrigger","forwardRef","size","disabled","open","status","placeholder","value","prefix","allowClear","suffixIcon","clearIcon","onClear","onOpenChange","classNames","render","role","className","rest","ref","cls","useCls","hasValue","triggerState","handleClearClick","useCallback","e","buttonRef","useRef","useEffect","buttonElement","handleKeyDown","defaultRender","props","jsxs","jsx","clsx","XCircleIcon","CaretDownIcon","WithRenderProp","mergeRefs"],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/select-trigger/component.tsx"],"sourcesContent":["\"use client\";\nimport { CaretDownIcon, XCircleIcon } from \"@bioturing/assets\";\nimport mergeRefs from \"merge-refs\";\nimport React, { forwardRef, useCallback, useEffect, useRef } from \"react\";\nimport { clsx, useCls } from \"../utils\";\nimport { WithRenderProp, WithRenderPropProps } from \"../utils/WithRenderProp\";\nimport { ValidateStatus } from \"antd/es/form/FormItem\";\nimport \"./style.css\";\n\nexport type SelectTriggerState = {\n disabled: boolean;\n open: boolean;\n hasValue: boolean;\n size: \"small\" | \"middle\" | \"large\";\n};\n\nexport interface SelectTriggerProps\n extends Omit<\n WithRenderPropProps<\"button\", SelectTriggerState>,\n \"value\" | \"prefix\"\n > {\n /** Size variant */\n size?: \"small\" | \"middle\" | \"large\";\n /** Whether the component is disabled */\n disabled?: boolean;\n /** Whether the dropdown/popup is open */\n open?: boolean;\n /** Validation status */\n status?: ValidateStatus;\n /** Placeholder text */\n placeholder?: string;\n /** Current value/content to display */\n value?: React.ReactNode;\n /** Prefix content to display before the value (e.g., icon) */\n prefix?: React.ReactNode;\n /** Whether to show clear button when there's a value */\n allowClear?: boolean;\n /** Custom suffix icon (arrow icon) */\n suffixIcon?: React.ReactNode;\n /** Custom clear icon */\n clearIcon?: React.ReactNode;\n /** Clear handler */\n onClear?: () => void;\n /** Open state change handler */\n onOpenChange?: (open: boolean) => void;\n /** Custom class names */\n classNames?: {\n trigger?: string;\n content?: string;\n suffix?: string;\n placeholder?: string;\n value?: string;\n };\n}\n\nexport const SelectTrigger = forwardRef<HTMLButtonElement, SelectTriggerProps>(\n (\n {\n size = \"middle\",\n disabled = false,\n open = false,\n status,\n placeholder = \"Select...\",\n value,\n prefix,\n allowClear = false,\n suffixIcon,\n clearIcon,\n onClear,\n onOpenChange,\n classNames,\n render,\n role = \"combobox\",\n className,\n ...rest\n },\n ref\n ) => {\n const cls = useCls();\n const hasValue = value !== undefined && value !== null && value !== \"\";\n\n const triggerState: SelectTriggerState = {\n disabled,\n open,\n hasValue,\n size,\n };\n\n const handleClearClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n onClear?.();\n },\n [onClear]\n );\n\n // Internal ref for the button element\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n // Handle keyboard shortcuts with addEventListener\n useEffect(() => {\n const buttonElement = buttonRef.current;\n if (!buttonElement) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n // Alt + Down Arrow to open dropdown\n if (e.key === \"ArrowDown\" && !disabled && !open) {\n e.preventDefault();\n onOpenChange?.(true);\n }\n // Escape to close dropdown\n // Comment because Popover would handle it\n // if (e.key === \"Escape\" && open) {\n // e.preventDefault();\n // onOpenChange?.(false);\n // }\n };\n\n buttonElement.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n buttonElement.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [disabled, open, onOpenChange]);\n\n const defaultRender = useCallback(\n (props: React.ComponentPropsWithoutRef<\"button\">) => (\n <button {...props}>\n <span\n className={clsx(cls(\"select-trigger-content\"), classNames?.content)}\n >\n {hasValue ? (\n <span className={cls(\"select-trigger-value-with-prefix\")}>\n {prefix}\n <span\n className={clsx(\n cls(\"select-trigger-value\"),\n classNames?.value\n )}\n >\n {value}\n </span>\n </span>\n ) : (\n <span\n className={clsx(\n cls(\"select-trigger-placeholder\"),\n classNames?.placeholder\n )}\n >\n {placeholder}\n </span>\n )}\n </span>\n <span\n className={clsx(cls(\"select-trigger-suffix\"), classNames?.suffix)}\n >\n {allowClear && hasValue && (\n <span\n className={cls(\"select-trigger-clear\")}\n unselectable=\"on\"\n aria-hidden=\"true\"\n onClick={handleClearClick}\n >\n {clearIcon || (\n <span className={cls(\"select-trigger-clear-icon\")}>\n <XCircleIcon weight=\"fill\" />\n </span>\n )}\n </span>\n )}\n {(!allowClear || !hasValue) && (\n <span\n className={cls(\"select-trigger-arrow\")}\n unselectable=\"on\"\n aria-hidden=\"true\"\n >\n {suffixIcon || (\n <span className={cls(\"select-trigger-arrow-icon\")}>\n <CaretDownIcon weight=\"bold\" />\n </span>\n )}\n </span>\n )}\n </span>\n </button>\n ),\n [\n hasValue,\n value,\n prefix,\n placeholder,\n allowClear,\n suffixIcon,\n clearIcon,\n cls,\n classNames,\n handleClearClick,\n ]\n );\n\n return (\n <WithRenderProp\n as=\"button\"\n ref={mergeRefs(ref, buttonRef)}\n state={triggerState}\n className={clsx(\n cls(\"select-trigger\"),\n cls(`select-trigger-${size}`),\n disabled && cls(\"select-trigger-disabled\"),\n open && cls(\"select-trigger-open\"),\n status && cls(`select-trigger-${status}`),\n classNames?.trigger,\n className\n )}\n disabled={disabled}\n role={role}\n aria-expanded={open}\n render={render || defaultRender}\n {...rest}\n />\n );\n }\n);\n\nSelectTrigger.displayName = \"SelectTrigger\";\n"],"names":["SelectTrigger","forwardRef","size","disabled","open","status","placeholder","value","prefix","allowClear","suffixIcon","clearIcon","onClear","onOpenChange","classNames","render","role","className","rest","ref","cls","useCls","hasValue","triggerState","handleClearClick","useCallback","e","buttonRef","useRef","useEffect","buttonElement","handleKeyDown","defaultRender","props","jsxs","jsx","clsx","XCircleIcon","CaretDownIcon","WithRenderProp","mergeRefs"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { SelectTrigger } from './component';
2
+ export type { SelectTriggerProps, SelectTriggerState } from './component';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select-trigger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SliderSingleProps, SliderRangeProps } from 'antd/es/slider';
2
+ export type SliderProps = SliderSingleProps | SliderRangeProps;
3
+ export type { SliderSingleProps, SliderRangeProps };
4
+ declare const Slider: ({ className, tooltip, style, ...rest }: SliderProps) => import("react/jsx-runtime").JSX.Element;
5
+ export { Slider };
6
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/slider/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAE/D,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;AAGpD,QAAA,MAAM,MAAM,GAAI,wCAA6C,WAAW,4CAavE,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/slider/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntSlider,\n type SliderSingleProps,\n type SliderRangeProps,\n} from \"antd/es/slider\";\nimport { useCls, clsx } from \"../utils\";\n\n// Define props interface extending Ant Design's SliderProps\nexport type SliderProps = SliderSingleProps | SliderRangeProps;\n\nexport type { SliderSingleProps, SliderRangeProps };\n\n// Create Slider component\nconst Slider = ({ className, tooltip = {}, style, ...rest }: SliderProps) => {\n const cls = useCls();\n return (\n <AntSlider\n className={clsx(cls(\"slider\"), className)}\n style={style}\n {...rest}\n tooltip={{\n arrow: false,\n ...tooltip,\n }}\n />\n );\n};\n\nexport { Slider };\n"],"names":["Slider","className","tooltip","style","rest","cls","useCls","jsx","AntSlider","clsx"],"mappings":";;;;;AAcM,MAAAA,IAAS,CAAC,EAAE,WAAAC,GAAW,SAAAC,IAAU,CAAA,GAAI,OAAAC,GAAO,GAAGC,QAAwB;AAC3E,QAAMC,IAAMC,EAAO;AAEjB,SAAA,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKJ,EAAI,QAAQ,GAAGJ,CAAS;AAAA,MACxC,OAAAE;AAAA,MACC,GAAGC;AAAA,MACJ,SAAS;AAAA,QACP,OAAO;AAAA,QACP,GAAGF;AAAA,MAAA;AAAA,IACL;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/slider/component.tsx"],"sourcesContent":["\"use client\";\nimport {\n default as AntSlider,\n type SliderSingleProps,\n type SliderRangeProps,\n} from \"antd/es/slider\";\nimport { useCls, clsx } from \"../utils\";\n\n// Define props interface extending Ant Design's SliderProps\nexport type SliderProps = SliderSingleProps | SliderRangeProps;\n\nexport type { SliderSingleProps, SliderRangeProps };\n\n// Create Slider component\nconst Slider = ({ className, tooltip = {}, style, ...rest }: SliderProps) => {\n const cls = useCls();\n return (\n <AntSlider\n className={clsx(cls(\"slider\"), className)}\n style={style}\n {...rest}\n tooltip={{\n arrow: false,\n ...tooltip,\n }}\n />\n );\n};\n\nexport { Slider };\n"],"names":["Slider","className","tooltip","style","rest","cls","useCls","jsx","AntSlider","clsx"],"mappings":";;;;;AAcA,MAAMA,IAAS,CAAC,EAAE,WAAAC,GAAW,SAAAC,IAAU,CAAA,GAAI,OAAAC,GAAO,GAAGC,QAAwB;AAC3E,QAAMC,IAAMC,EAAA;AACZ,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAKJ,EAAI,QAAQ,GAAGJ,CAAS;AAAA,MACxC,OAAAE;AAAA,MACC,GAAGC;AAAA,MACJ,SAAS;AAAA,QACP,OAAO;AAAA,QACP,GAAGF;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,2 @@
1
+ export * from './component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slider/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { SpinProps as AntdSpinProps } from 'antd/es/spin';
2
+ export type SpinProps = Omit<AntdSpinProps, "size"> & {
3
+ size?: "small" | "default" | "large" | number;
4
+ };
5
+ export declare const Spin: ({ indicator, size, className, ...rest }: SpinProps) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/spin/component.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAuB,SAAS,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GAAG;IACpD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,yCAAyC,SAAS,4CAgBtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/spin/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls } from \"../utils\";\nimport { default as AntdSpin, SpinProps as AntdSpinProps } from \"antd/es/spin\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type SpinProps = Omit<AntdSpinProps, \"size\"> & {\n size?: \"small\" | \"default\" | \"large\" | number;\n};\n\nexport const Spin = ({ indicator, size, className, ...rest }: SpinProps) => {\n const cls = useCls();\n const spinIndicator = indicator || <span className={cls(\"spin-loader\")} />;\n return (\n <AntdSpin\n className={className}\n indicator={spinIndicator}\n size={typeof size === \"number\" ? \"default\" : size}\n style={\n {\n \"--spin-size\": typeof size == \"number\" ? `${size}px` : undefined,\n } as React.CSSProperties\n }\n {...rest}\n />\n );\n};\n"],"names":["Spin","indicator","size","className","rest","cls","useCls","spinIndicator","jsx","AntdSpin"],"mappings":";;;;;AAWa,MAAAA,IAAO,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,WAAAC,GAAW,GAAGC,QAAsB;AAC1E,QAAMC,IAAMC,EAAO,GACbC,IAAgBN,KAAa,gBAAAO,EAAC,UAAK,WAAWH,EAAI,aAAa,GAAG;AAEtE,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAAN;AAAA,MACA,WAAWI;AAAA,MACX,MAAM,OAAOL,KAAS,WAAW,YAAYA;AAAA,MAC7C,OACE;AAAA,QACE,eAAe,OAAOA,KAAQ,WAAW,GAAGA,CAAI,OAAO;AAAA,MACzD;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EACN;AAEJ;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/spin/component.tsx"],"sourcesContent":["\"use client\";\nimport { useCls } from \"../utils\";\nimport { default as AntdSpin, SpinProps as AntdSpinProps } from \"antd/es/spin\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\nexport type SpinProps = Omit<AntdSpinProps, \"size\"> & {\n size?: \"small\" | \"default\" | \"large\" | number;\n};\n\nexport const Spin = ({ indicator, size, className, ...rest }: SpinProps) => {\n const cls = useCls();\n const spinIndicator = indicator || <span className={cls(\"spin-loader\")} />;\n return (\n <AntdSpin\n className={className}\n indicator={spinIndicator}\n size={typeof size === \"number\" ? \"default\" : size}\n style={\n {\n \"--spin-size\": typeof size == \"number\" ? `${size}px` : undefined,\n } as React.CSSProperties\n }\n {...rest}\n />\n );\n};\n"],"names":["Spin","indicator","size","className","rest","cls","useCls","spinIndicator","jsx","AntdSpin"],"mappings":";;;;;AAWO,MAAMA,IAAO,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,WAAAC,GAAW,GAAGC,QAAsB;AAC1E,QAAMC,IAAMC,EAAA,GACNC,IAAgBN,KAAa,gBAAAO,EAAC,UAAK,WAAWH,EAAI,aAAa,GAAG;AACxE,SACE,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAAN;AAAA,MACA,WAAWI;AAAA,MACX,MAAM,OAAOL,KAAS,WAAW,YAAYA;AAAA,MAC7C,OACE;AAAA,QACE,eAAe,OAAOA,KAAQ,WAAW,GAAGA,CAAI,OAAO;AAAA,MAAA;AAAA,MAG1D,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,2 @@
1
+ export * from './component';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/spin/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { SplitterProps } from './splitter';
2
+ import { SplitterPanelProps } from './splitter-panel';
3
+ export type { SplitterProps, SplitterPanelProps };
4
+ export declare const Splitter: import('react').ForwardRefExoticComponent<SplitterProps & import('react').RefAttributes<HTMLDivElement>> & {
5
+ Panel: import('react').ForwardRefExoticComponent<Omit<SplitterPanelProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
6
+ };
7
+ export declare const Split: import('react').ForwardRefExoticComponent<SplitterProps & import('react').RefAttributes<HTMLDivElement>> & {
8
+ Panel: import('react').ForwardRefExoticComponent<Omit<SplitterPanelProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
9
+ };
10
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/component.tsx"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,aAAa,CAAC;AAGrB,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAGlD,eAAO,MAAM,QAAQ;;CAEnB,CAAC;AAGH,eAAO,MAAM,KAAK;;CAAW,CAAC"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { MainSplitter as t } from "./splitter.js";
3
- import { SplitterPanel as i } from "./splitter-panel.js";
2
+ import { Splitter as t } from "./splitter.js";
3
+ import { SplitterPanel as e } from "./splitter-panel.js";
4
4
  import './style.css';/* empty css */
5
- const e = Object.assign(t, {
6
- Panel: i
7
- }), l = e;
5
+ const i = Object.assign(t, {
6
+ Panel: e
7
+ }), o = i;
8
8
  export {
9
- l as Split,
10
- e as Splitter
9
+ o as Split,
10
+ i as Splitter
11
11
  };
12
12
  //# sourceMappingURL=component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sources":["../../../src/components/splitter/component.tsx"],"sourcesContent":["\"use client\";\nimport { MainSplitter, type SplitterProps } from \"./splitter\";\nimport { SplitterPanel, type SplitterPanelProps } from \"./splitter-panel\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Export types\nexport type { SplitterProps, SplitterPanelProps };\n\n// Create the compound component\nexport const Splitter = Object.assign(MainSplitter, {\n Panel: SplitterPanel,\n});\n\n// For backward compatibility\nexport const Split = Splitter;\n"],"names":["Splitter","MainSplitter","SplitterPanel","Split"],"mappings":";;;;AAWa,MAAAA,IAAW,OAAO,OAAOC,GAAc;AAAA,EAClD,OAAOC;AACT,CAAC,GAGYC,IAAQH;"}
1
+ {"version":3,"file":"component.js","sources":["../../../src/components/splitter/component.tsx"],"sourcesContent":["\"use client\";\nimport { Splitter as MainSplitter, type SplitterProps } from \"./splitter\";\nimport { SplitterPanel, type SplitterPanelProps } from \"./splitter-panel\";\n\n// Import component-specific styles\nimport \"./style.css\";\n\n// Export types\nexport type { SplitterProps, SplitterPanelProps };\n\n// Create the compound component\nexport const Splitter = Object.assign(MainSplitter, {\n Panel: SplitterPanel,\n});\n\n// For backward compatibility\nexport const Split = Splitter;\n"],"names":["Splitter","MainSplitter","SplitterPanel","Split"],"mappings":";;;;AAWO,MAAMA,IAAW,OAAO,OAAOC,GAAc;AAAA,EAClD,OAAOC;AACT,CAAC,GAGYC,IAAQH;"}
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ export declare const SplitterContext: React.Context<{
3
+ layout?: "horizontal" | "vertical";
4
+ }>;
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/components/splitter/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,eAAe;aAAkC,YAAY,GAAG,UAAU;EAAO,CAAC"}