@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
@@ -0,0 +1,6 @@
1
+ import { Key } from 'react';
2
+ import { DataNode as AntTreeDataNode } from 'antd/es/tree';
3
+ export declare const getUniqueKeysFromOriginals: (nodes: AntTreeDataNode[] | undefined, originalKeysToFind: Set<Key>, map: Map<Key, Key>) => Key[];
4
+ export declare const processTreeData: <T extends AntTreeDataNode = AntTreeDataNode>(nodes: T[] | undefined, expandedOriginalKeys: Set<Key>, // Use Set for faster lookups
5
+ parentKeyPrefix: string, keyMap: Map<Key, Key>) => T[] | undefined;
6
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/components/tree/helpers.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,KAAK,QAAQ,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAIhE,eAAO,MAAM,0BAA0B,GACrC,OAAO,eAAe,EAAE,GAAG,SAAS,EACpC,oBAAoB,GAAG,CAAC,GAAG,CAAC,EAC5B,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KACjB,GAAG,EAeL,CAAC;AAGF,eAAO,MAAM,eAAe,GAAI,CAAC,SAAS,eAAe,GAAG,eAAe,EACzE,OAAO,CAAC,EAAE,GAAG,SAAS,EACtB,sBAAsB,GAAG,CAAC,GAAG,CAAC,EAAE,6BAA6B;AAC7D,iBAAiB,MAAW,EAC5B,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KACpB,CAAC,EAAE,GAAG,SAwDR,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../src/components/tree/helpers.tsx"],"sourcesContent":["\"use client\";\nimport React, { type Key } from \"react\";\nimport { type DataNode as AntTreeDataNode } from \"antd/es/tree\";\nimport { File, Folder, FolderOpen } from \"@bioturing/assets\";\n\n// Function to recursively find unique keys corresponding to original keys\nexport const getUniqueKeysFromOriginals = (\n nodes: AntTreeDataNode[] | undefined,\n originalKeysToFind: Set<Key>,\n map: Map<Key, Key>\n): Key[] => {\n if (!nodes) return [];\n let keys: Key[] = [];\n nodes.forEach((node) => {\n const originalKey = map.get(node.key);\n if (originalKey !== undefined && originalKeysToFind.has(originalKey)) {\n keys.push(node.key); // Add the unique key\n }\n if (node.children) {\n keys = keys.concat(\n getUniqueKeysFromOriginals(node.children, originalKeysToFind, map)\n );\n }\n });\n return keys;\n};\n\n// Helper function to generate unique keys and apply icons\nexport const processTreeData = <T extends AntTreeDataNode = AntTreeDataNode>(\n nodes: T[] | undefined,\n expandedOriginalKeys: Set<Key>, // Use Set for faster lookups\n parentKeyPrefix: string = \"\",\n keyMap: Map<Key, Key> // Map uniqueKey -> originalKey\n): T[] | undefined => {\n if (!nodes) return undefined;\n\n return nodes.map((node) => {\n const originalKey = node.key;\n // Ensure nodes have a valid key for unique key generation\n if (originalKey === null || originalKey === undefined) {\n console.warn(\n \"Tree node is missing a key. Skipping unique key generation for this node and its children.\",\n node\n );\n // Return node as is, or handle based on requirements\n return {\n ...node,\n // Optionally process children even if parent key is missing\n // children: processTreeData(node.children as T[] | undefined, expandedOriginalKeys, '', keyMap)\n };\n }\n\n const separator = \"/\"; // Use / as the separator\n const originalKeyString = String(originalKey);\n\n // Warn if the original key contains the separator\n if (originalKeyString.includes(separator)) {\n console.warn(\n `Tree node original key \"${originalKeyString}\" contains the separator character \"${separator}\". This might lead to unexpected behavior if keys are not truly unique.`,\n node\n );\n }\n\n const uniqueKey = parentKeyPrefix\n ? `${parentKeyPrefix}${separator}${originalKeyString}` // Use separator\n : originalKeyString;\n keyMap.set(uniqueKey, originalKey); // Store mapping uniqueKey -> originalKey\n\n const isExpanded = expandedOriginalKeys.has(originalKey);\n // Apply default icons based on expansion state and type (leaf/directory)\n const icon =\n node.icon ||\n (node.isLeaf ? <File /> : isExpanded ? <FolderOpen /> : <Folder />);\n\n // Recursively process children\n const processedChildren = processTreeData(\n node.children as T[] | undefined, // Cast children to T[]\n expandedOriginalKeys,\n uniqueKey, // Pass the generated unique key as the prefix for children\n keyMap\n );\n\n return {\n ...node,\n key: uniqueKey, // Override key with the unique one\n icon: icon,\n children: processedChildren,\n };\n });\n};\n"],"names":["getUniqueKeysFromOriginals","nodes","originalKeysToFind","map","keys","node","originalKey","processTreeData","expandedOriginalKeys","parentKeyPrefix","keyMap","separator","originalKeyString","uniqueKey","isExpanded","icon","jsx","File","FolderOpen","Folder","processedChildren"],"mappings":";;;AAMO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MACU;AACN,MAAA,CAACF,EAAO,QAAO,CAAC;AACpB,MAAIG,IAAc,CAAC;AACb,SAAAH,EAAA,QAAQ,CAACI,MAAS;AACtB,UAAMC,IAAcH,EAAI,IAAIE,EAAK,GAAG;AACpC,IAAIC,MAAgB,UAAaJ,EAAmB,IAAII,CAAW,KAC5DF,EAAA,KAAKC,EAAK,GAAG,GAEhBA,EAAK,aACPD,IAAOA,EAAK;AAAA,MACVJ,EAA2BK,EAAK,UAAUH,GAAoBC,CAAG;AAAA,IACnE;AAAA,EACF,CACD,GACMC;AACT,GAGaG,IAAkB,CAC7BN,GACAO,GACAC,IAA0B,IAC1BC,MACoB;AAChB,MAACT;AAEE,WAAAA,EAAM,IAAI,CAACI,MAAS;AACzB,YAAMC,IAAcD,EAAK;AAErB,UAAAC,KAAgB;AACV,uBAAA;AAAA,UACN;AAAA,UACAD;AAAA,QACF,GAEO;AAAA,UACL,GAAGA;AAAA;AAAA;AAAA,QAGL;AAGF,YAAMM,IAAY,KACZC,IAAoB,OAAON,CAAW;AAGxC,MAAAM,EAAkB,SAASD,CAAS,KAC9B,QAAA;AAAA,QACN,2BAA2BC,CAAiB,uCAAuCD,CAAS;AAAA,QAC5FN;AAAA,MACF;AAGI,YAAAQ,IAAYJ,IACd,GAAGA,CAAe,GAAGE,CAAS,GAAGC,CAAiB,KAClDA;AACG,MAAAF,EAAA,IAAIG,GAAWP,CAAW;AAE3B,YAAAQ,IAAaN,EAAqB,IAAIF,CAAW,GAEjDS,IACJV,EAAK,SACJA,EAAK,SAAS,gBAAAW,EAACC,GAAK,CAAA,CAAA,IAAKH,IAAa,gBAAAE,EAACE,GAAW,CAAA,CAAA,sBAAMC,GAAO,CAAA,CAAA,IAG5DC,IAAoBb;AAAA,QACxBF,EAAK;AAAA;AAAA,QACLG;AAAA,QACAK;AAAA;AAAA,QACAH;AAAA,MACF;AAEO,aAAA;AAAA,QACL,GAAGL;AAAA,QACH,KAAKQ;AAAA;AAAA,QACL,MAAAE;AAAA,QACA,UAAUK;AAAA,MACZ;AAAA,IAAA,CACD;AACH;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/components/tree/helpers.tsx"],"sourcesContent":["\"use client\";\nimport React, { type Key } from \"react\";\nimport { type DataNode as AntTreeDataNode } from \"antd/es/tree\";\nimport { File, Folder, FolderOpen } from \"@bioturing/assets\";\n\n// Function to recursively find unique keys corresponding to original keys\nexport const getUniqueKeysFromOriginals = (\n nodes: AntTreeDataNode[] | undefined,\n originalKeysToFind: Set<Key>,\n map: Map<Key, Key>\n): Key[] => {\n if (!nodes) return [];\n let keys: Key[] = [];\n nodes.forEach((node) => {\n const originalKey = map.get(node.key);\n if (originalKey !== undefined && originalKeysToFind.has(originalKey)) {\n keys.push(node.key); // Add the unique key\n }\n if (node.children) {\n keys = keys.concat(\n getUniqueKeysFromOriginals(node.children, originalKeysToFind, map)\n );\n }\n });\n return keys;\n};\n\n// Helper function to generate unique keys and apply icons\nexport const processTreeData = <T extends AntTreeDataNode = AntTreeDataNode>(\n nodes: T[] | undefined,\n expandedOriginalKeys: Set<Key>, // Use Set for faster lookups\n parentKeyPrefix: string = \"\",\n keyMap: Map<Key, Key> // Map uniqueKey -> originalKey\n): T[] | undefined => {\n if (!nodes) return undefined;\n\n return nodes.map((node) => {\n const originalKey = node.key;\n // Ensure nodes have a valid key for unique key generation\n if (originalKey === null || originalKey === undefined) {\n console.warn(\n \"Tree node is missing a key. Skipping unique key generation for this node and its children.\",\n node\n );\n // Return node as is, or handle based on requirements\n return {\n ...node,\n // Optionally process children even if parent key is missing\n // children: processTreeData(node.children as T[] | undefined, expandedOriginalKeys, '', keyMap)\n };\n }\n\n const separator = \"/\"; // Use / as the separator\n const originalKeyString = String(originalKey);\n\n // Warn if the original key contains the separator\n if (originalKeyString.includes(separator)) {\n console.warn(\n `Tree node original key \"${originalKeyString}\" contains the separator character \"${separator}\". This might lead to unexpected behavior if keys are not truly unique.`,\n node\n );\n }\n\n const uniqueKey = parentKeyPrefix\n ? `${parentKeyPrefix}${separator}${originalKeyString}` // Use separator\n : originalKeyString;\n keyMap.set(uniqueKey, originalKey); // Store mapping uniqueKey -> originalKey\n\n const isExpanded = expandedOriginalKeys.has(originalKey);\n // Apply default icons based on expansion state and type (leaf/directory)\n const icon =\n node.icon ||\n (node.isLeaf ? <File /> : isExpanded ? <FolderOpen /> : <Folder />);\n\n // Recursively process children\n const processedChildren = processTreeData(\n node.children as T[] | undefined, // Cast children to T[]\n expandedOriginalKeys,\n uniqueKey, // Pass the generated unique key as the prefix for children\n keyMap\n );\n\n return {\n ...node,\n key: uniqueKey, // Override key with the unique one\n icon: icon,\n children: processedChildren,\n };\n });\n};\n"],"names":["getUniqueKeysFromOriginals","nodes","originalKeysToFind","map","keys","node","originalKey","processTreeData","expandedOriginalKeys","parentKeyPrefix","keyMap","separator","originalKeyString","uniqueKey","isExpanded","icon","jsx","File","FolderOpen","Folder","processedChildren"],"mappings":";;;AAMO,MAAMA,IAA6B,CACxCC,GACAC,GACAC,MACU;AACV,MAAI,CAACF,EAAO,QAAO,CAAA;AACnB,MAAIG,IAAc,CAAA;AAClB,SAAAH,EAAM,QAAQ,CAACI,MAAS;AACtB,UAAMC,IAAcH,EAAI,IAAIE,EAAK,GAAG;AACpC,IAAIC,MAAgB,UAAaJ,EAAmB,IAAII,CAAW,KACjEF,EAAK,KAAKC,EAAK,GAAG,GAEhBA,EAAK,aACPD,IAAOA,EAAK;AAAA,MACVJ,EAA2BK,EAAK,UAAUH,GAAoBC,CAAG;AAAA,IAAA;AAAA,EAGvE,CAAC,GACMC;AACT,GAGaG,IAAkB,CAC7BN,GACAO,GACAC,IAA0B,IAC1BC,MACoB;AACpB,MAAKT;AAEL,WAAOA,EAAM,IAAI,CAACI,MAAS;AACzB,YAAMC,IAAcD,EAAK;AAEzB,UAAIC,KAAgB;AAClB,uBAAQ;AAAA,UACN;AAAA,UACAD;AAAA,QAAA,GAGK;AAAA,UACL,GAAGA;AAAA;AAAA;AAAA,QAAA;AAMP,YAAMM,IAAY,KACZC,IAAoB,OAAON,CAAW;AAG5C,MAAIM,EAAkB,SAASD,CAAS,KACtC,QAAQ;AAAA,QACN,2BAA2BC,CAAiB,uCAAuCD,CAAS;AAAA,QAC5FN;AAAA,MAAA;AAIJ,YAAMQ,IAAYJ,IACd,GAAGA,CAAe,GAAGE,CAAS,GAAGC,CAAiB,KAClDA;AACJ,MAAAF,EAAO,IAAIG,GAAWP,CAAW;AAEjC,YAAMQ,IAAaN,EAAqB,IAAIF,CAAW,GAEjDS,IACJV,EAAK,SACJA,EAAK,SAAS,gBAAAW,EAACC,GAAA,CAAA,CAAK,IAAKH,IAAa,gBAAAE,EAACE,GAAA,CAAA,CAAW,sBAAMC,GAAA,CAAA,CAAO,IAG5DC,IAAoBb;AAAA,QACxBF,EAAK;AAAA;AAAA,QACLG;AAAA,QACAK;AAAA;AAAA,QACAH;AAAA,MAAA;AAGF,aAAO;AAAA,QACL,GAAGL;AAAA,QACH,KAAKQ;AAAA;AAAA,QACL,MAAAE;AAAA,QACA,UAAUK;AAAA,MAAA;AAAA,IAEd,CAAC;AACH;"}
@@ -0,0 +1,5 @@
1
+ export * from './types';
2
+ export * from './useUniqueKeysTree';
3
+ export * from './helpers';
4
+ export * from './components';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tree/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { TreeProps as AntTreeProps, BasicDataNode, DataNode as AntTreeDataNode, DirectoryTreeProps as AntDirectoryTreeProps, EventDataNode } from 'antd/es/tree';
2
+ import { Key } from 'react';
3
+ export interface CheckInfo<TreeDataType extends BasicDataNode = TreeDataNode> {
4
+ event: "check";
5
+ node: EventDataNode<TreeDataType>;
6
+ checked: boolean;
7
+ nativeEvent: MouseEvent;
8
+ checkedNodes: TreeDataType[];
9
+ checkedNodesPositions?: {
10
+ node: TreeDataType;
11
+ pos: string;
12
+ }[];
13
+ halfCheckedKeys?: Key[];
14
+ }
15
+ export type TreeDataNode = AntTreeDataNode;
16
+ export type ExpandInfo<T extends AntTreeDataNode> = {
17
+ node: EventDataNode<T>;
18
+ expanded: boolean;
19
+ nativeEvent: MouseEvent;
20
+ triggeredOriginalKey?: Key;
21
+ };
22
+ export interface TreeProps<T extends AntTreeDataNode = TreeDataNode> extends Omit<AntTreeProps<T>, "treeData" | "expandedKeys" | "defaultExpandedKeys" | "onExpand" | "checkedKeys" | "defaultCheckedKeys" | "onCheck" | "draggable"> {
23
+ treeData?: T[];
24
+ expandedKeys?: Key[];
25
+ defaultExpandedKeys?: Key[];
26
+ onExpand?: (expandedKeys: Key[], info: ExpandInfo<T>) => void;
27
+ checkedKeys?: Key[] | {
28
+ checked: Key[];
29
+ halfChecked: Key[];
30
+ };
31
+ defaultCheckedKeys?: Key[];
32
+ onCheck?: (checkedKeys: Key[], info: CheckInfo<T> & {
33
+ triggeredOriginalKey?: Key;
34
+ }) => void;
35
+ allowDuplicatedKeys?: boolean;
36
+ /** Draggable configuration for tree items */
37
+ draggable?: AntTreeProps<T>["draggable"];
38
+ }
39
+ export interface DirectoryTreeProps<T extends AntTreeDataNode = TreeDataNode> extends Omit<AntDirectoryTreeProps<T>, "treeData" | "expandedKeys" | "defaultExpandedKeys" | "onExpand" | "checkedKeys" | "defaultCheckedKeys" | "onCheck" | "draggable"> {
40
+ treeData?: T[];
41
+ expandedKeys?: Key[];
42
+ defaultExpandedKeys?: Key[];
43
+ onExpand?: (expandedKeys: Key[], info: ExpandInfo<T>) => void;
44
+ checkedKeys?: Key[] | {
45
+ checked: Key[];
46
+ halfChecked: Key[];
47
+ };
48
+ defaultCheckedKeys?: Key[];
49
+ onCheck?: (checkedKeys: Key[], info: CheckInfo<T> & {
50
+ triggeredOriginalKey?: Key;
51
+ }) => void;
52
+ allowDuplicatedKeys?: boolean;
53
+ /** Draggable configuration for directory tree items */
54
+ draggable?: AntDirectoryTreeProps<T>["draggable"];
55
+ }
56
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tree/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ import { DataNode as AntTreeDataNode } from 'antd/es/tree';
2
+ import { Key } from 'react';
3
+ import { TreeProps, DirectoryTreeProps } from './types';
4
+ export declare function useTreeCommon<T extends AntTreeDataNode>(props: TreeProps<T> | DirectoryTreeProps<T>): {
5
+ cls: (...args: import('..').ClassValue[]) => string;
6
+ customSwitcherIcon: (props: import('antd').TreeNodeProps) => React.ReactNode;
7
+ processedTreeData: T[];
8
+ currentUniqueExpandedKeys: Key[];
9
+ currentUniqueCheckedKeys: Key[];
10
+ handleAntTreeExpand: (uniqueKeys: readonly Key[], info: {
11
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
12
+ expanded: boolean;
13
+ nativeEvent: MouseEvent;
14
+ }) => void;
15
+ handleAntTreeCheck: (checkedInfoOrKeys: readonly Key[] | {
16
+ checked: readonly Key[];
17
+ halfChecked: readonly Key[];
18
+ }, info: import('./types').CheckInfo<T>) => void;
19
+ restProps: {
20
+ draggable?: import('antd').TreeProps<T_1>["draggable"];
21
+ style?: React.CSSProperties;
22
+ children?: React.ReactNode;
23
+ prefixCls?: string;
24
+ height?: number;
25
+ rootClassName?: string;
26
+ motion?: any;
27
+ tabIndex?: number;
28
+ onFocus?: React.FocusEventHandler<HTMLDivElement>;
29
+ onBlur?: React.FocusEventHandler<HTMLDivElement>;
30
+ onLoad?: (loadedKeys: import('rc-tree/lib/interface').Key[], info: {
31
+ event: "load";
32
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
33
+ }) => void;
34
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
35
+ onClick?: import('rc-tree/lib/contextTypes').NodeMouseEventHandler<T>;
36
+ onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
37
+ onDoubleClick?: import('rc-tree/lib/contextTypes').NodeMouseEventHandler<T>;
38
+ onDragEnd?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
39
+ onDragEnter?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T> & {
40
+ expandedKeys: import('rc-tree/lib/interface').Key[];
41
+ }) => void;
42
+ onDragLeave?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
43
+ onDragOver?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
44
+ onDragStart?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
45
+ onDrop?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T> & {
46
+ dragNode: import('rc-tree/lib/interface').EventDataNode<T>;
47
+ dragNodesKeys: import('rc-tree/lib/interface').Key[];
48
+ dropPosition: number;
49
+ dropToGap: boolean;
50
+ }) => void;
51
+ onMouseEnter?: (info: import('rc-tree/lib/contextTypes').NodeMouseEventParams<T>) => void;
52
+ onMouseLeave?: (info: import('rc-tree/lib/contextTypes').NodeMouseEventParams<T>) => void;
53
+ onSelect?: (selectedKeys: import('rc-tree/lib/interface').Key[], info: {
54
+ event: "select";
55
+ selected: boolean;
56
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
57
+ selectedNodes: T[];
58
+ nativeEvent: MouseEvent;
59
+ }) => void;
60
+ onScroll?: React.UIEventHandler<HTMLElement>;
61
+ disabled?: boolean;
62
+ multiple?: boolean;
63
+ fieldNames?: import('rc-tree/lib/interface').FieldNames;
64
+ virtual?: boolean;
65
+ focusable?: boolean;
66
+ icon?: import('react').ReactNode | ((props: import('antd/es/tree').AntdTreeNodeAttribute) => React.ReactNode);
67
+ activeKey?: import('rc-tree/lib/interface').Key | null;
68
+ selectable?: boolean;
69
+ defaultSelectedKeys?: import('rc-tree/lib/interface').Key[];
70
+ selectedKeys?: import('rc-tree/lib/interface').Key[];
71
+ checkable?: boolean;
72
+ loadData?: (treeNode: import('rc-tree/lib/interface').EventDataNode<T>) => Promise<any>;
73
+ filterTreeNode?: (treeNode: import('rc-tree/lib/interface').EventDataNode<T>) => boolean;
74
+ rootStyle?: React.CSSProperties;
75
+ scrollWidth?: number;
76
+ showLine?: boolean | {
77
+ showLeafIcon: boolean | import('antd/es/tree/Tree').TreeLeafIcon;
78
+ };
79
+ showIcon?: boolean;
80
+ expandAction?: import('rc-tree/lib/Tree').ExpandAction;
81
+ checkStrictly?: boolean;
82
+ autoExpandParent?: boolean;
83
+ allowDrop?: import('rc-tree/lib/Tree').AllowDrop<T>;
84
+ titleRender?: (node: T) => React.ReactNode;
85
+ dropIndicatorRender?: (props: import('rc-tree/lib/DropIndicator').DropIndicatorProps) => React.ReactNode;
86
+ loadedKeys?: import('rc-tree/lib/interface').Key[];
87
+ onRightClick?: (info: {
88
+ event: React.MouseEvent;
89
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
90
+ }) => void;
91
+ onActiveChange?: (key: import('rc-tree/lib/interface').Key) => void;
92
+ itemHeight?: number;
93
+ itemScrollOffset?: number;
94
+ filterAntTreeNode?: (node: import('antd/es/tree').AntTreeNode) => boolean;
95
+ switcherLoadingIcon?: React.ReactNode;
96
+ blockNode?: boolean;
97
+ } | {
98
+ draggable?: import('antd/es/tree').DirectoryTreeProps<T_2>["draggable"];
99
+ style?: React.CSSProperties;
100
+ children?: React.ReactNode;
101
+ prefixCls?: string;
102
+ height?: number;
103
+ rootClassName?: string;
104
+ motion?: any;
105
+ tabIndex?: number;
106
+ onFocus?: React.FocusEventHandler<HTMLDivElement>;
107
+ onBlur?: React.FocusEventHandler<HTMLDivElement>;
108
+ onLoad?: (loadedKeys: import('rc-tree/lib/interface').Key[], info: {
109
+ event: "load";
110
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
111
+ }) => void;
112
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
113
+ onClick?: import('rc-tree/lib/contextTypes').NodeMouseEventHandler<T>;
114
+ onContextMenu?: React.MouseEventHandler<HTMLDivElement>;
115
+ onDoubleClick?: import('rc-tree/lib/contextTypes').NodeMouseEventHandler<T>;
116
+ onDragEnd?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
117
+ onDragEnter?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T> & {
118
+ expandedKeys: import('rc-tree/lib/interface').Key[];
119
+ }) => void;
120
+ onDragLeave?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
121
+ onDragOver?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
122
+ onDragStart?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T>) => void;
123
+ onDrop?: (info: import('rc-tree/lib/contextTypes').NodeDragEventParams<T> & {
124
+ dragNode: import('rc-tree/lib/interface').EventDataNode<T>;
125
+ dragNodesKeys: import('rc-tree/lib/interface').Key[];
126
+ dropPosition: number;
127
+ dropToGap: boolean;
128
+ }) => void;
129
+ onMouseEnter?: (info: import('rc-tree/lib/contextTypes').NodeMouseEventParams<T>) => void;
130
+ onMouseLeave?: (info: import('rc-tree/lib/contextTypes').NodeMouseEventParams<T>) => void;
131
+ onSelect?: (selectedKeys: import('rc-tree/lib/interface').Key[], info: {
132
+ event: "select";
133
+ selected: boolean;
134
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
135
+ selectedNodes: T[];
136
+ nativeEvent: MouseEvent;
137
+ }) => void;
138
+ onScroll?: React.UIEventHandler<HTMLElement>;
139
+ disabled?: boolean;
140
+ multiple?: boolean;
141
+ fieldNames?: import('rc-tree/lib/interface').FieldNames;
142
+ virtual?: boolean;
143
+ focusable?: boolean;
144
+ icon?: import('react').ReactNode | ((props: import('antd/es/tree').AntdTreeNodeAttribute) => React.ReactNode);
145
+ activeKey?: import('rc-tree/lib/interface').Key | null;
146
+ selectable?: boolean;
147
+ defaultSelectedKeys?: import('rc-tree/lib/interface').Key[];
148
+ selectedKeys?: import('rc-tree/lib/interface').Key[];
149
+ checkable?: boolean;
150
+ loadData?: (treeNode: import('rc-tree/lib/interface').EventDataNode<T>) => Promise<any>;
151
+ filterTreeNode?: (treeNode: import('rc-tree/lib/interface').EventDataNode<T>) => boolean;
152
+ rootStyle?: React.CSSProperties;
153
+ scrollWidth?: number;
154
+ showLine?: boolean | {
155
+ showLeafIcon: boolean | import('antd/es/tree/Tree').TreeLeafIcon;
156
+ };
157
+ showIcon?: boolean;
158
+ expandAction?: import('antd/es/tree').DirectoryTreeExpandAction;
159
+ checkStrictly?: boolean;
160
+ autoExpandParent?: boolean;
161
+ allowDrop?: import('rc-tree/lib/Tree').AllowDrop<T>;
162
+ titleRender?: (node: T) => React.ReactNode;
163
+ dropIndicatorRender?: (props: import('rc-tree/lib/DropIndicator').DropIndicatorProps) => React.ReactNode;
164
+ loadedKeys?: import('rc-tree/lib/interface').Key[];
165
+ onRightClick?: (info: {
166
+ event: React.MouseEvent;
167
+ node: import('rc-tree/lib/interface').EventDataNode<T>;
168
+ }) => void;
169
+ onActiveChange?: (key: import('rc-tree/lib/interface').Key) => void;
170
+ itemHeight?: number;
171
+ itemScrollOffset?: number;
172
+ filterAntTreeNode?: (node: import('antd/es/tree').AntTreeNode) => boolean;
173
+ switcherLoadingIcon?: React.ReactNode;
174
+ blockNode?: boolean;
175
+ };
176
+ className: string;
177
+ switcherIcon: import('antd/es/tree/Tree').SwitcherIcon;
178
+ };
179
+ //# sourceMappingURL=useTreeCommon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTreeCommon.d.ts","sourceRoot":"","sources":["../../../src/components/tree/useTreeCommon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAW,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAgB,SAAS,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG3E,wBAAgB,aAAa,CAAC,CAAC,SAAS,eAAe,EACrD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;;iEAHxB,MAAQ,SAAQ;;;;;;;;;;;;;;;gBAwG0hC,MAAO,aAAa;mBAAiK,MAAO,SAAS;;;;;;kBAlC7vC,MAAO,iBACN;iBACD,MAAO,iBACb;;;;;oBACQ,MAAO,oBACJ;;wBACW,MACnB,iBAAa;;;;;;;;;;;;;;;;;;;;;;;;mBAIK,MACjB,cACC;;;;;;qGA7EmB,MAAO,SAC1B;;;;;;;;oBAiGsoD,MAAO,aAAa;;;;;;;;;;mCAxC5pD,MAAE,SAAS;iGAIH,MAAO,SACjB;;;mBAmCkgB,MAAO,UAAU;;;;;;;8BAAuqB,MAAO,SAAS;;;;gBAA7I,MAAO,aAAa;mBAAiK,MAAO,SAAS;;;;;;kBAlC7vC,MAAO,iBACN;iBACD,MAAO,iBACb;;;;;oBACQ,MAAO,oBACJ;;wBACW,MACnB,iBAAa;;;;;;;;;;;;;;;;;;;;;;;;mBAIK,MACjB,cACC;;;;;;qGA7EmB,MAAO,SAC1B;;;;;;;;oBAiGsoD,MAAO,aAAa;;;;;;;;;;mCAxC5pD,MAAE,SAAS;iGAIH,MAAO,SACjB;;;mBAmCkgB,MAAO,UAAU;;;;;;;8BAAuqB,MAAO,SAAS;;;;;EAD3sC"}
@@ -8,7 +8,7 @@ function z(h) {
8
8
  const {
9
9
  treeData: o = [],
10
10
  expandedKeys: u,
11
- defaultExpandedKeys: r = [],
11
+ defaultExpandedKeys: a = [],
12
12
  defaultExpandAll: d = !1,
13
13
  defaultExpandParent: i = !0,
14
14
  onExpand: f,
@@ -21,42 +21,42 @@ function z(h) {
21
21
  ...w
22
22
  } = h, A = I(() => {
23
23
  if (d) {
24
- const n = [], a = (c = []) => {
25
- c.forEach((t) => {
26
- n.push(t.key), Array.isArray(t.children) && a(t.children);
24
+ const t = [], s = (c = []) => {
25
+ c.forEach((r) => {
26
+ t.push(r.key), Array.isArray(r.children) && s(r.children);
27
27
  });
28
28
  };
29
- return a(o), n;
29
+ return s(o), t;
30
30
  }
31
- if (i && (r != null && r.length)) {
32
- const n = /* @__PURE__ */ new Map(), a = (t, s) => {
33
- t.forEach((e) => {
34
- s && n.set(e.key, s.key);
35
- const p = Array.isArray(e.children) ? e.children : [];
36
- p.length && a(p, e);
31
+ if (i && a?.length) {
32
+ const t = /* @__PURE__ */ new Map(), s = (r, n) => {
33
+ r.forEach((e) => {
34
+ n && t.set(e.key, n.key);
35
+ const l = Array.isArray(e.children) ? e.children : [];
36
+ l.length && s(l, e);
37
37
  });
38
38
  };
39
- a(o);
40
- const c = new Set(r);
41
- return r.forEach((t) => {
42
- let s = t;
43
- for (; n.has(s); ) {
44
- const e = n.get(s);
45
- c.has(e) || c.add(e), s = e;
39
+ s(o);
40
+ const c = new Set(a);
41
+ return a.forEach((r) => {
42
+ let n = r;
43
+ for (; t.has(n); ) {
44
+ const e = t.get(n);
45
+ c.has(e) || c.add(e), n = e;
46
46
  }
47
47
  }), Array.from(c);
48
48
  }
49
- return r ?? [];
49
+ return a ?? [];
50
50
  }, [
51
51
  o,
52
52
  d,
53
53
  i,
54
- r
54
+ a
55
55
  ]), {
56
56
  processedTreeData: C,
57
- currentUniqueExpandedKeys: g,
58
- currentUniqueCheckedKeys: T,
59
- handleAntTreeExpand: D,
57
+ currentUniqueExpandedKeys: D,
58
+ currentUniqueCheckedKeys: g,
59
+ handleAntTreeExpand: T,
60
60
  handleAntTreeCheck: q
61
61
  } = S({
62
62
  treeData: o,
@@ -67,14 +67,14 @@ function z(h) {
67
67
  defaultCheckedKeys: m,
68
68
  onCheck: x,
69
69
  allowDuplicatedKeys: E
70
- }), l = U();
70
+ }), p = U();
71
71
  return {
72
- cls: l,
73
- customSwitcherIcon: () => /* @__PURE__ */ v(M, { weight: "bold", className: l("caret-switcher-icon") }),
72
+ cls: p,
73
+ customSwitcherIcon: () => /* @__PURE__ */ v(M, { weight: "bold", className: p("caret-switcher-icon") }),
74
74
  processedTreeData: C,
75
- currentUniqueExpandedKeys: g,
76
- currentUniqueCheckedKeys: T,
77
- handleAntTreeExpand: D,
75
+ currentUniqueExpandedKeys: D,
76
+ currentUniqueCheckedKeys: g,
77
+ handleAntTreeExpand: T,
78
78
  handleAntTreeCheck: q,
79
79
  restProps: w,
80
80
  className: K,
@@ -1 +1 @@
1
- {"version":3,"file":"useTreeCommon.js","sources":["../../../src/components/tree/useTreeCommon.tsx"],"sourcesContent":["\"use client\";\nimport { type DataNode as AntTreeDataNode } from \"antd/es/tree\";\n\nimport { useMemo, type Key } from \"react\";\nimport { useCls } from \"../utils\";\nimport { CaretRight } from \"@bioturing/assets\";\nimport type { TreeDataNode, TreeProps, DirectoryTreeProps } from \"./types\";\nimport { useUniqueKeysTree } from \"./useUniqueKeysTree\";\n\nexport function useTreeCommon<T extends AntTreeDataNode>(\n props: TreeProps<T> | DirectoryTreeProps<T>\n) {\n const {\n treeData: originTreeData = [],\n expandedKeys: propExpandedKeys,\n defaultExpandedKeys: propDefaultExpandedKeys = [],\n defaultExpandAll = false,\n defaultExpandParent = true,\n onExpand: propOnExpand,\n checkedKeys,\n defaultCheckedKeys,\n onCheck,\n allowDuplicatedKeys,\n className,\n switcherIcon,\n ...restProps\n } = props;\n\n // compute resolved defaultExpandedKeys\n const resolvedDefaultExpandedKeys = useMemo<Key[]>(() => {\n if (defaultExpandAll) {\n const keys: Key[] = [];\n const traverse = (nodes: TreeDataNode[] = []) => {\n nodes.forEach((node) => {\n keys.push(node.key);\n if (Array.isArray(node.children))\n traverse(node.children as TreeDataNode[]);\n });\n };\n traverse(originTreeData as TreeDataNode[]);\n return keys;\n }\n if (defaultExpandParent && propDefaultExpandedKeys?.length) {\n // build parent map\n const parentMap = new Map<Key, Key>();\n const traverse = (nodes: TreeDataNode[], parent?: TreeDataNode) => {\n nodes.forEach((node) => {\n if (parent) parentMap.set(node.key, parent.key);\n const children = Array.isArray(node.children)\n ? (node.children as TreeDataNode[])\n : [];\n if (children.length) traverse(children, node);\n });\n };\n traverse(originTreeData as TreeDataNode[]);\n // collect all expansions: original keys + their ancestors\n const expanded = new Set<Key>(propDefaultExpandedKeys);\n propDefaultExpandedKeys.forEach((key) => {\n let k = key;\n while (parentMap.has(k)) {\n const p = parentMap.get(k)!;\n if (!expanded.has(p)) expanded.add(p);\n k = p;\n }\n });\n return Array.from(expanded);\n }\n return propDefaultExpandedKeys ?? [];\n }, [\n originTreeData,\n defaultExpandAll,\n defaultExpandParent,\n propDefaultExpandedKeys,\n ]);\n\n // use unique keys hook\n const {\n processedTreeData,\n currentUniqueExpandedKeys,\n currentUniqueCheckedKeys,\n handleAntTreeExpand,\n handleAntTreeCheck,\n } = useUniqueKeysTree({\n treeData: originTreeData,\n expandedKeys: propExpandedKeys,\n defaultExpandedKeys: resolvedDefaultExpandedKeys,\n onExpand: propOnExpand,\n checkedKeys,\n defaultCheckedKeys,\n onCheck,\n allowDuplicatedKeys,\n });\n\n const cls = useCls();\n const customSwitcherIcon: TreeProps<T>[\"switcherIcon\"] = () => (\n <CaretRight weight=\"bold\" className={cls(\"caret-switcher-icon\")} />\n );\n\n return {\n cls,\n customSwitcherIcon,\n processedTreeData,\n currentUniqueExpandedKeys,\n currentUniqueCheckedKeys,\n handleAntTreeExpand,\n handleAntTreeCheck,\n restProps,\n className,\n switcherIcon,\n };\n}\n"],"names":["useTreeCommon","props","originTreeData","propExpandedKeys","propDefaultExpandedKeys","defaultExpandAll","defaultExpandParent","propOnExpand","checkedKeys","defaultCheckedKeys","onCheck","allowDuplicatedKeys","className","switcherIcon","restProps","resolvedDefaultExpandedKeys","useMemo","keys","traverse","nodes","node","parentMap","parent","children","expanded","key","k","p","processedTreeData","currentUniqueExpandedKeys","currentUniqueCheckedKeys","handleAntTreeExpand","handleAntTreeCheck","useUniqueKeysTree","cls","useCls","jsx","CaretRight"],"mappings":";;;;;;AASO,SAASA,EACdC,GACA;AACM,QAAA;AAAA,IACJ,UAAUC,IAAiB,CAAC;AAAA,IAC5B,cAAcC;AAAA,IACd,qBAAqBC,IAA0B,CAAC;AAAA,IAChD,kBAAAC,IAAmB;AAAA,IACnB,qBAAAC,IAAsB;AAAA,IACtB,UAAUC;AAAA,IACV,aAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDb,GAGEc,IAA8BC,EAAe,MAAM;AACvD,QAAIX,GAAkB;AACpB,YAAMY,IAAc,CAAC,GACfC,IAAW,CAACC,IAAwB,OAAO;AACzC,QAAAA,EAAA,QAAQ,CAACC,MAAS;AACjB,UAAAH,EAAA,KAAKG,EAAK,GAAG,GACd,MAAM,QAAQA,EAAK,QAAQ,KAC7BF,EAASE,EAAK,QAA0B;AAAA,QAAA,CAC3C;AAAA,MACH;AACA,aAAAF,EAAShB,CAAgC,GAClCe;AAAA,IAAA;AAEL,QAAAX,MAAuBF,KAAA,QAAAA,EAAyB,SAAQ;AAEpD,YAAAiB,wBAAgB,IAAc,GAC9BH,IAAW,CAACC,GAAuBG,MAA0B;AAC3D,QAAAH,EAAA,QAAQ,CAACC,MAAS;AACtB,UAAIE,KAAkBD,EAAA,IAAID,EAAK,KAAKE,EAAO,GAAG;AACxC,gBAAAC,IAAW,MAAM,QAAQH,EAAK,QAAQ,IACvCA,EAAK,WACN,CAAC;AACL,UAAIG,EAAS,UAAiBL,EAAAK,GAAUH,CAAI;AAAA,QAAA,CAC7C;AAAA,MACH;AACA,MAAAF,EAAShB,CAAgC;AAEnC,YAAAsB,IAAW,IAAI,IAASpB,CAAuB;AAC7B,aAAAA,EAAA,QAAQ,CAACqB,MAAQ;AACvC,YAAIC,IAAID;AACD,eAAAJ,EAAU,IAAIK,CAAC,KAAG;AACjB,gBAAAC,IAAIN,EAAU,IAAIK,CAAC;AACzB,UAAKF,EAAS,IAAIG,CAAC,KAAGH,EAAS,IAAIG,CAAC,GAChCD,IAAAC;AAAA,QAAA;AAAA,MACN,CACD,GACM,MAAM,KAAKH,CAAQ;AAAA,IAAA;AAE5B,WAAOpB,KAA2B,CAAC;AAAA,EAAA,GAClC;AAAA,IACDF;AAAA,IACAG;AAAA,IACAC;AAAA,IACAF;AAAA,EAAA,CACD,GAGK;AAAA,IACJ,mBAAAwB;AAAA,IACA,2BAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,MACEC,EAAkB;AAAA,IACpB,UAAU/B;AAAA,IACV,cAAcC;AAAA,IACd,qBAAqBY;AAAA,IACrB,UAAUR;AAAA,IACV,aAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,CACD,GAEKuB,IAAMC,EAAO;AAKZ,SAAA;AAAA,IACL,KAAAD;AAAA,IACA,oBANuD,MACtD,gBAAAE,EAAAC,GAAA,EAAW,QAAO,QAAO,WAAWH,EAAI,qBAAqB,GAAG;AAAA,IAMjE,mBAAAN;AAAA,IACA,2BAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,WAAAlB;AAAA,IACA,WAAAF;AAAA,IACA,cAAAC;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"useTreeCommon.js","sources":["../../../src/components/tree/useTreeCommon.tsx"],"sourcesContent":["\"use client\";\nimport { type DataNode as AntTreeDataNode } from \"antd/es/tree\";\n\nimport { useMemo, type Key } from \"react\";\nimport { useCls } from \"../utils\";\nimport { CaretRight } from \"@bioturing/assets\";\nimport type { TreeDataNode, TreeProps, DirectoryTreeProps } from \"./types\";\nimport { useUniqueKeysTree } from \"./useUniqueKeysTree\";\n\nexport function useTreeCommon<T extends AntTreeDataNode>(\n props: TreeProps<T> | DirectoryTreeProps<T>\n) {\n const {\n treeData: originTreeData = [],\n expandedKeys: propExpandedKeys,\n defaultExpandedKeys: propDefaultExpandedKeys = [],\n defaultExpandAll = false,\n defaultExpandParent = true,\n onExpand: propOnExpand,\n checkedKeys,\n defaultCheckedKeys,\n onCheck,\n allowDuplicatedKeys,\n className,\n switcherIcon,\n ...restProps\n } = props;\n\n // compute resolved defaultExpandedKeys\n const resolvedDefaultExpandedKeys = useMemo<Key[]>(() => {\n if (defaultExpandAll) {\n const keys: Key[] = [];\n const traverse = (nodes: TreeDataNode[] = []) => {\n nodes.forEach((node) => {\n keys.push(node.key);\n if (Array.isArray(node.children))\n traverse(node.children as TreeDataNode[]);\n });\n };\n traverse(originTreeData as TreeDataNode[]);\n return keys;\n }\n if (defaultExpandParent && propDefaultExpandedKeys?.length) {\n // build parent map\n const parentMap = new Map<Key, Key>();\n const traverse = (nodes: TreeDataNode[], parent?: TreeDataNode) => {\n nodes.forEach((node) => {\n if (parent) parentMap.set(node.key, parent.key);\n const children = Array.isArray(node.children)\n ? (node.children as TreeDataNode[])\n : [];\n if (children.length) traverse(children, node);\n });\n };\n traverse(originTreeData as TreeDataNode[]);\n // collect all expansions: original keys + their ancestors\n const expanded = new Set<Key>(propDefaultExpandedKeys);\n propDefaultExpandedKeys.forEach((key) => {\n let k = key;\n while (parentMap.has(k)) {\n const p = parentMap.get(k)!;\n if (!expanded.has(p)) expanded.add(p);\n k = p;\n }\n });\n return Array.from(expanded);\n }\n return propDefaultExpandedKeys ?? [];\n }, [\n originTreeData,\n defaultExpandAll,\n defaultExpandParent,\n propDefaultExpandedKeys,\n ]);\n\n // use unique keys hook\n const {\n processedTreeData,\n currentUniqueExpandedKeys,\n currentUniqueCheckedKeys,\n handleAntTreeExpand,\n handleAntTreeCheck,\n } = useUniqueKeysTree({\n treeData: originTreeData,\n expandedKeys: propExpandedKeys,\n defaultExpandedKeys: resolvedDefaultExpandedKeys,\n onExpand: propOnExpand,\n checkedKeys,\n defaultCheckedKeys,\n onCheck,\n allowDuplicatedKeys,\n });\n\n const cls = useCls();\n const customSwitcherIcon: TreeProps<T>[\"switcherIcon\"] = () => (\n <CaretRight weight=\"bold\" className={cls(\"caret-switcher-icon\")} />\n );\n\n return {\n cls,\n customSwitcherIcon,\n processedTreeData,\n currentUniqueExpandedKeys,\n currentUniqueCheckedKeys,\n handleAntTreeExpand,\n handleAntTreeCheck,\n restProps,\n className,\n switcherIcon,\n };\n}\n"],"names":["useTreeCommon","props","originTreeData","propExpandedKeys","propDefaultExpandedKeys","defaultExpandAll","defaultExpandParent","propOnExpand","checkedKeys","defaultCheckedKeys","onCheck","allowDuplicatedKeys","className","switcherIcon","restProps","resolvedDefaultExpandedKeys","useMemo","keys","traverse","nodes","node","parentMap","parent","children","expanded","key","k","p","processedTreeData","currentUniqueExpandedKeys","currentUniqueCheckedKeys","handleAntTreeExpand","handleAntTreeCheck","useUniqueKeysTree","cls","useCls","jsx","CaretRight"],"mappings":";;;;;;AASO,SAASA,EACdC,GACA;AACA,QAAM;AAAA,IACJ,UAAUC,IAAiB,CAAA;AAAA,IAC3B,cAAcC;AAAA,IACd,qBAAqBC,IAA0B,CAAA;AAAA,IAC/C,kBAAAC,IAAmB;AAAA,IACnB,qBAAAC,IAAsB;AAAA,IACtB,UAAUC;AAAA,IACV,aAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,cAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDb,GAGEc,IAA8BC,EAAe,MAAM;AACvD,QAAIX,GAAkB;AACpB,YAAMY,IAAc,CAAA,GACdC,IAAW,CAACC,IAAwB,OAAO;AAC/C,QAAAA,EAAM,QAAQ,CAACC,MAAS;AACtB,UAAAH,EAAK,KAAKG,EAAK,GAAG,GACd,MAAM,QAAQA,EAAK,QAAQ,KAC7BF,EAASE,EAAK,QAA0B;AAAA,QAC5C,CAAC;AAAA,MACH;AACA,aAAAF,EAAShB,CAAgC,GAClCe;AAAA,IACT;AACA,QAAIX,KAAuBF,GAAyB,QAAQ;AAE1D,YAAMiB,wBAAgB,IAAA,GAChBH,IAAW,CAACC,GAAuBG,MAA0B;AACjE,QAAAH,EAAM,QAAQ,CAACC,MAAS;AACtB,UAAIE,KAAQD,EAAU,IAAID,EAAK,KAAKE,EAAO,GAAG;AAC9C,gBAAMC,IAAW,MAAM,QAAQH,EAAK,QAAQ,IACvCA,EAAK,WACN,CAAA;AACJ,UAAIG,EAAS,UAAQL,EAASK,GAAUH,CAAI;AAAA,QAC9C,CAAC;AAAA,MACH;AACA,MAAAF,EAAShB,CAAgC;AAEzC,YAAMsB,IAAW,IAAI,IAASpB,CAAuB;AACrD,aAAAA,EAAwB,QAAQ,CAACqB,MAAQ;AACvC,YAAIC,IAAID;AACR,eAAOJ,EAAU,IAAIK,CAAC,KAAG;AACvB,gBAAMC,IAAIN,EAAU,IAAIK,CAAC;AACzB,UAAKF,EAAS,IAAIG,CAAC,KAAGH,EAAS,IAAIG,CAAC,GACpCD,IAAIC;AAAA,QACN;AAAA,MACF,CAAC,GACM,MAAM,KAAKH,CAAQ;AAAA,IAC5B;AACA,WAAOpB,KAA2B,CAAA;AAAA,EACpC,GAAG;AAAA,IACDF;AAAA,IACAG;AAAA,IACAC;AAAA,IACAF;AAAA,EAAA,CACD,GAGK;AAAA,IACJ,mBAAAwB;AAAA,IACA,2BAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,EAAA,IACEC,EAAkB;AAAA,IACpB,UAAU/B;AAAA,IACV,cAAcC;AAAA,IACd,qBAAqBY;AAAA,IACrB,UAAUR;AAAA,IACV,aAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,qBAAAC;AAAA,EAAA,CACD,GAEKuB,IAAMC,EAAA;AAKZ,SAAO;AAAA,IACL,KAAAD;AAAA,IACA,oBANuD,MACvD,gBAAAE,EAACC,GAAA,EAAW,QAAO,QAAO,WAAWH,EAAI,qBAAqB,GAAG;AAAA,IAMjE,mBAAAN;AAAA,IACA,2BAAAC;AAAA,IACA,0BAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,WAAAlB;AAAA,IACA,WAAAF;AAAA,IACA,cAAAC;AAAA,EAAA;AAEJ;"}
@@ -0,0 +1,34 @@
1
+ import { Key } from 'react';
2
+ import { DataNode as AntTreeDataNode, EventDataNode } from 'antd/es/tree';
3
+ import { CheckInfo, ExpandInfo } from './types';
4
+ interface UseUniqueKeysTreeProps<T extends AntTreeDataNode> {
5
+ treeData: T[] | undefined;
6
+ expandedKeys?: Key[];
7
+ defaultExpandedKeys?: Key[];
8
+ onExpand?: (expandedKeys: Key[], info: ExpandInfo<T>) => void;
9
+ checkedKeys?: Key[] | {
10
+ checked: Key[];
11
+ halfChecked: Key[];
12
+ };
13
+ defaultCheckedKeys?: Key[];
14
+ onCheck?: (checkedKeys: Key[], info: CheckInfo<T> & {
15
+ triggeredOriginalKey?: Key;
16
+ }) => void;
17
+ allowDuplicatedKeys?: boolean;
18
+ }
19
+ export declare const useUniqueKeysTree: <T extends AntTreeDataNode>({ treeData: originTreeData, expandedKeys, defaultExpandedKeys, onExpand, checkedKeys, defaultCheckedKeys, onCheck, allowDuplicatedKeys, }: UseUniqueKeysTreeProps<T>) => {
20
+ processedTreeData: T[];
21
+ currentUniqueExpandedKeys: Key[];
22
+ currentUniqueCheckedKeys: Key[];
23
+ handleAntTreeExpand: (uniqueKeys: readonly Key[], info: {
24
+ node: EventDataNode<T>;
25
+ expanded: boolean;
26
+ nativeEvent: MouseEvent;
27
+ }) => void;
28
+ handleAntTreeCheck: (checkedInfoOrKeys: readonly Key[] | {
29
+ checked: readonly Key[];
30
+ halfChecked: readonly Key[];
31
+ }, info: CheckInfo<T>) => void;
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=useUniqueKeysTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUniqueKeysTree.d.ts","sourceRoot":"","sources":["../../../src/components/tree/useUniqueKeysTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErD,UAAU,sBAAsB,CAAC,CAAC,SAAS,eAAe;IACxD,QAAQ,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,WAAW,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAC7D,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,CACR,WAAW,EAAE,GAAG,EAAE,EAClB,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG;QAAE,oBAAoB,CAAC,EAAE,GAAG,CAAA;KAAE,KAChD,IAAI,CAAC;IACV,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,eAAe,EAAE,2IAS1D,sBAAsB,CAAC,CAAC,CAAC;;;;sCAwGV,SAAS,GAAG,EAAE,QACpB;QACJ,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,UAAU,CAAC;KACzB;4CAsDG,SAAS,GAAG,EAAE,GACd;QAAE,OAAO,EAAE,SAAS,GAAG,EAAE,CAAC;QAAC,WAAW,EAAE,SAAS,GAAG,EAAE,CAAA;KAAE,QACtD,SAAS,CAAC,CAAC,CAAC;CA4GvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUniqueKeysTree.js","sources":["../../../src/components/tree/useUniqueKeysTree.ts"],"sourcesContent":["import { useCallback, useMemo, type Key } from \"react\";\nimport type { DataNode as AntTreeDataNode, EventDataNode } from \"antd/es/tree\";\nimport { useControlledState } from \"../hooks\";\nimport { processTreeData, getUniqueKeysFromOriginals } from \"./helpers\";\nimport type { CheckInfo, ExpandInfo } from \"./types\";\n\ninterface UseUniqueKeysTreeProps<T extends AntTreeDataNode> {\n treeData: T[] | undefined;\n expandedKeys?: Key[];\n defaultExpandedKeys?: Key[];\n onExpand?: (expandedKeys: Key[], info: ExpandInfo<T>) => void;\n checkedKeys?: Key[] | { checked: Key[]; halfChecked: Key[] };\n defaultCheckedKeys?: Key[];\n onCheck?: (\n checkedKeys: Key[],\n info: CheckInfo<T> & { triggeredOriginalKey?: Key }\n ) => void;\n allowDuplicatedKeys?: boolean;\n}\n\nexport const useUniqueKeysTree = <T extends AntTreeDataNode>({\n treeData: originTreeData,\n expandedKeys,\n defaultExpandedKeys = [],\n onExpand,\n checkedKeys,\n defaultCheckedKeys = [],\n onCheck,\n allowDuplicatedKeys,\n}: UseUniqueKeysTreeProps<T>) => {\n // Always define all hooks at the top level, regardless of allowDuplicatedKeys\n // State hook for ORIGINAL expanded keys\n const [currentOriginalExpandedKeys, setCurrentOriginalExpandedKeys] =\n useControlledState<Key[]>(\n expandedKeys,\n undefined, // Handle onChange manually in handlers\n defaultExpandedKeys\n );\n\n // State hook for ORIGINAL checked keys\n const controlledCheckedKeysValue = useMemo(() => {\n if (!checkedKeys) return undefined;\n return Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;\n }, [checkedKeys]);\n\n const [currentOriginalCheckedKeys, setCurrentOriginalCheckedKeys] =\n useControlledState<Key[]>(\n controlledCheckedKeysValue, // Pass the array of original keys\n undefined, // Handle onChange manually in handlers\n defaultCheckedKeys\n );\n\n // Process tree data to handle duplicated keys (only used when allowDuplicatedKeys is true)\n const { processedTreeData, uniqueToOriginalKeyMap } = useMemo(() => {\n if (!allowDuplicatedKeys) {\n // Return a simple passthrough mapping when not handling duplicates\n return {\n processedTreeData: originTreeData,\n uniqueToOriginalKeyMap: new Map<Key, Key>(),\n };\n }\n\n const map = new Map<Key, Key>();\n const expandedOriginalKeySet = new Set(currentOriginalExpandedKeys);\n const data = processTreeData(\n originTreeData,\n expandedOriginalKeySet,\n \"\",\n map\n );\n return { processedTreeData: data, uniqueToOriginalKeyMap: map };\n }, [originTreeData, currentOriginalExpandedKeys, allowDuplicatedKeys]);\n\n // Create unique keys mappings (only used when allowDuplicatedKeys is true)\n const currentUniqueExpandedKeys = useMemo(() => {\n if (!allowDuplicatedKeys) {\n return currentOriginalExpandedKeys;\n }\n\n const originalKeysSet = new Set(currentOriginalExpandedKeys);\n return getUniqueKeysFromOriginals(\n processedTreeData as AntTreeDataNode[] | undefined,\n originalKeysSet,\n uniqueToOriginalKeyMap\n );\n }, [\n currentOriginalExpandedKeys,\n processedTreeData,\n uniqueToOriginalKeyMap,\n allowDuplicatedKeys,\n ]);\n\n const currentUniqueCheckedKeys = useMemo(() => {\n if (!allowDuplicatedKeys) {\n return currentOriginalCheckedKeys;\n }\n\n const originalKeysSet = new Set(currentOriginalCheckedKeys);\n return getUniqueKeysFromOriginals(\n processedTreeData as AntTreeDataNode[] | undefined,\n originalKeysSet,\n uniqueToOriginalKeyMap\n );\n }, [\n currentOriginalCheckedKeys,\n processedTreeData,\n uniqueToOriginalKeyMap,\n allowDuplicatedKeys,\n ]);\n\n // Simple expand handler for when allowDuplicatedKeys is false\n const handleOriginalExpand = useCallback(\n (\n keys: readonly Key[],\n info: {\n node: EventDataNode<T>;\n expanded: boolean;\n nativeEvent: MouseEvent;\n }\n ) => {\n const keysArray = Array.from(keys);\n setCurrentOriginalExpandedKeys(keysArray);\n\n if (onExpand) {\n onExpand(keysArray, info);\n }\n },\n [onExpand, setCurrentOriginalExpandedKeys]\n );\n\n // Advanced expand handler for when allowDuplicatedKeys is true\n const handleUniqueExpand = useCallback(\n (\n uniqueKeys: readonly Key[],\n info: {\n node: EventDataNode<T>;\n expanded: boolean;\n nativeEvent: MouseEvent;\n }\n ) => {\n const originalKeys = uniqueKeys\n .map((uk) => uniqueToOriginalKeyMap.get(uk))\n .filter((ok): ok is Key => ok !== undefined); // Type guard\n const triggeredOriginalKey = uniqueToOriginalKeyMap.get(info.node.key);\n\n setCurrentOriginalExpandedKeys(originalKeys);\n\n if (onExpand) {\n onExpand(originalKeys, {\n ...info,\n triggeredOriginalKey: triggeredOriginalKey,\n });\n }\n },\n [uniqueToOriginalKeyMap, setCurrentOriginalExpandedKeys, onExpand]\n );\n\n // Simple check handler for when allowDuplicatedKeys is false\n const handleOriginalCheck = useCallback(\n (\n checkedInfoOrKeys:\n | readonly Key[]\n | { checked: readonly Key[]; halfChecked: readonly Key[] },\n info: CheckInfo<T>\n ) => {\n let checkedArray: Key[];\n\n if (Array.isArray(checkedInfoOrKeys)) {\n checkedArray = Array.from(checkedInfoOrKeys);\n } else if (\n checkedInfoOrKeys &&\n typeof checkedInfoOrKeys === \"object\" &&\n \"checked\" in checkedInfoOrKeys\n ) {\n checkedArray = Array.from(checkedInfoOrKeys.checked);\n } else {\n checkedArray = [];\n }\n\n setCurrentOriginalCheckedKeys(checkedArray);\n\n if (onCheck) {\n onCheck(checkedArray, info);\n }\n },\n [onCheck, setCurrentOriginalCheckedKeys]\n );\n\n // Advanced check handler for when allowDuplicatedKeys is true\n const handleUniqueCheck = useCallback(\n (\n checkedInfoOrKeys:\n | readonly Key[]\n | { checked: readonly Key[]; halfChecked: readonly Key[] },\n info: CheckInfo<T> // Contains info about the node that triggered the event\n ) => {\n const triggeredUniqueKey = info.node.key;\n const triggeredOriginalKey =\n uniqueToOriginalKeyMap.get(triggeredUniqueKey);\n\n if (triggeredOriginalKey === undefined) {\n console.error(\n \"Could not find original key for unique key:\",\n triggeredUniqueKey\n );\n return;\n }\n\n // Special handling for unchecking - this is the critical part\n if (!info.checked) {\n // When unchecking, we need to completely rebuild the checked keys list\n // excluding the original key that was unchecked\n\n // 1. Get the current original checked keys\n const currentKeys = [...currentOriginalCheckedKeys];\n\n // 2. Filter out the original key that was unchecked\n const newCheckedKeys = currentKeys.filter(\n (key) => key !== triggeredOriginalKey\n );\n\n // 3. Update the state with the filtered keys\n setCurrentOriginalCheckedKeys(newCheckedKeys);\n\n // 4. Call the user's onCheck callback\n if (onCheck) {\n onCheck(newCheckedKeys, {\n ...info,\n triggeredOriginalKey: triggeredOriginalKey,\n });\n }\n\n // Return early to prevent further processing\n return;\n }\n\n // Handle checking (normal flow for checking items)\n // 1. Extract unique checked keys from Ant Design's final state\n let uniqueCheckedKeys: readonly Key[];\n if (Array.isArray(checkedInfoOrKeys)) {\n uniqueCheckedKeys = checkedInfoOrKeys;\n } else if (\n checkedInfoOrKeys &&\n typeof checkedInfoOrKeys === \"object\" &&\n \"checked\" in checkedInfoOrKeys\n ) {\n uniqueCheckedKeys = checkedInfoOrKeys.checked;\n } else {\n uniqueCheckedKeys = [];\n }\n\n // 2. Map these unique keys to their original keys\n const derivedOriginalKeys = new Set<Key>();\n for (const uniqueKey of uniqueCheckedKeys) {\n const originalKey = uniqueToOriginalKeyMap.get(uniqueKey);\n if (originalKey !== undefined) {\n derivedOriginalKeys.add(originalKey);\n }\n }\n\n // 3. Ensure the triggered original key is included when checking\n derivedOriginalKeys.add(triggeredOriginalKey);\n\n const originalKeysArray = Array.from(derivedOriginalKeys);\n\n // 4. Update the controlled state\n setCurrentOriginalCheckedKeys(originalKeysArray);\n\n // 5. Call the user's onCheck callback\n if (onCheck) {\n onCheck(originalKeysArray, {\n ...info,\n triggeredOriginalKey: triggeredOriginalKey,\n });\n }\n },\n [\n uniqueToOriginalKeyMap,\n setCurrentOriginalCheckedKeys,\n onCheck,\n currentOriginalCheckedKeys,\n ]\n );\n\n // Choose appropriate handlers and data based on allowDuplicatedKeys\n const handleAntTreeExpand = allowDuplicatedKeys\n ? handleUniqueExpand\n : handleOriginalExpand;\n const handleAntTreeCheck = allowDuplicatedKeys\n ? handleUniqueCheck\n : handleOriginalCheck;\n const finalProcessedTreeData = allowDuplicatedKeys\n ? processedTreeData\n : originTreeData;\n\n return {\n processedTreeData: finalProcessedTreeData,\n currentUniqueExpandedKeys,\n currentUniqueCheckedKeys,\n handleAntTreeExpand,\n handleAntTreeCheck,\n };\n};\n"],"names":["useUniqueKeysTree","originTreeData","expandedKeys","defaultExpandedKeys","onExpand","checkedKeys","defaultCheckedKeys","onCheck","allowDuplicatedKeys","currentOriginalExpandedKeys","setCurrentOriginalExpandedKeys","useControlledState","controlledCheckedKeysValue","useMemo","currentOriginalCheckedKeys","setCurrentOriginalCheckedKeys","processedTreeData","uniqueToOriginalKeyMap","map","expandedOriginalKeySet","processTreeData","currentUniqueExpandedKeys","originalKeysSet","getUniqueKeysFromOriginals","currentUniqueCheckedKeys","handleOriginalExpand","useCallback","keys","info","keysArray","handleUniqueExpand","uniqueKeys","originalKeys","uk","ok","triggeredOriginalKey","handleOriginalCheck","checkedInfoOrKeys","checkedArray","handleUniqueCheck","triggeredUniqueKey","newCheckedKeys","key","uniqueCheckedKeys","derivedOriginalKeys","uniqueKey","originalKey","originalKeysArray"],"mappings":"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"}
1
+ {"version":3,"file":"useUniqueKeysTree.js","sources":["../../../src/components/tree/useUniqueKeysTree.ts"],"sourcesContent":["import { useCallback, useMemo, type Key } from \"react\";\nimport type { DataNode as AntTreeDataNode, EventDataNode } from \"antd/es/tree\";\nimport { useControlledState } from \"../hooks\";\nimport { processTreeData, getUniqueKeysFromOriginals } from \"./helpers\";\nimport type { CheckInfo, ExpandInfo } from \"./types\";\n\ninterface UseUniqueKeysTreeProps<T extends AntTreeDataNode> {\n treeData: T[] | undefined;\n expandedKeys?: Key[];\n defaultExpandedKeys?: Key[];\n onExpand?: (expandedKeys: Key[], info: ExpandInfo<T>) => void;\n checkedKeys?: Key[] | { checked: Key[]; halfChecked: Key[] };\n defaultCheckedKeys?: Key[];\n onCheck?: (\n checkedKeys: Key[],\n info: CheckInfo<T> & { triggeredOriginalKey?: Key }\n ) => void;\n allowDuplicatedKeys?: boolean;\n}\n\nexport const useUniqueKeysTree = <T extends AntTreeDataNode>({\n treeData: originTreeData,\n expandedKeys,\n defaultExpandedKeys = [],\n onExpand,\n checkedKeys,\n defaultCheckedKeys = [],\n onCheck,\n allowDuplicatedKeys,\n}: UseUniqueKeysTreeProps<T>) => {\n // Always define all hooks at the top level, regardless of allowDuplicatedKeys\n // State hook for ORIGINAL expanded keys\n const [currentOriginalExpandedKeys, setCurrentOriginalExpandedKeys] =\n useControlledState<Key[]>(\n expandedKeys,\n undefined, // Handle onChange manually in handlers\n defaultExpandedKeys\n );\n\n // State hook for ORIGINAL checked keys\n const controlledCheckedKeysValue = useMemo(() => {\n if (!checkedKeys) return undefined;\n return Array.isArray(checkedKeys) ? checkedKeys : checkedKeys.checked;\n }, [checkedKeys]);\n\n const [currentOriginalCheckedKeys, setCurrentOriginalCheckedKeys] =\n useControlledState<Key[]>(\n controlledCheckedKeysValue, // Pass the array of original keys\n undefined, // Handle onChange manually in handlers\n defaultCheckedKeys\n );\n\n // Process tree data to handle duplicated keys (only used when allowDuplicatedKeys is true)\n const { processedTreeData, uniqueToOriginalKeyMap } = useMemo(() => {\n if (!allowDuplicatedKeys) {\n // Return a simple passthrough mapping when not handling duplicates\n return {\n processedTreeData: originTreeData,\n uniqueToOriginalKeyMap: new Map<Key, Key>(),\n };\n }\n\n const map = new Map<Key, Key>();\n const expandedOriginalKeySet = new Set(currentOriginalExpandedKeys);\n const data = processTreeData(\n originTreeData,\n expandedOriginalKeySet,\n \"\",\n map\n );\n return { processedTreeData: data, uniqueToOriginalKeyMap: map };\n }, [originTreeData, currentOriginalExpandedKeys, allowDuplicatedKeys]);\n\n // Create unique keys mappings (only used when allowDuplicatedKeys is true)\n const currentUniqueExpandedKeys = useMemo(() => {\n if (!allowDuplicatedKeys) {\n return currentOriginalExpandedKeys;\n }\n\n const originalKeysSet = new Set(currentOriginalExpandedKeys);\n return getUniqueKeysFromOriginals(\n processedTreeData as AntTreeDataNode[] | undefined,\n originalKeysSet,\n uniqueToOriginalKeyMap\n );\n }, [\n currentOriginalExpandedKeys,\n processedTreeData,\n uniqueToOriginalKeyMap,\n allowDuplicatedKeys,\n ]);\n\n const currentUniqueCheckedKeys = useMemo(() => {\n if (!allowDuplicatedKeys) {\n return currentOriginalCheckedKeys;\n }\n\n const originalKeysSet = new Set(currentOriginalCheckedKeys);\n return getUniqueKeysFromOriginals(\n processedTreeData as AntTreeDataNode[] | undefined,\n originalKeysSet,\n uniqueToOriginalKeyMap\n );\n }, [\n currentOriginalCheckedKeys,\n processedTreeData,\n uniqueToOriginalKeyMap,\n allowDuplicatedKeys,\n ]);\n\n // Simple expand handler for when allowDuplicatedKeys is false\n const handleOriginalExpand = useCallback(\n (\n keys: readonly Key[],\n info: {\n node: EventDataNode<T>;\n expanded: boolean;\n nativeEvent: MouseEvent;\n }\n ) => {\n const keysArray = Array.from(keys);\n setCurrentOriginalExpandedKeys(keysArray);\n\n if (onExpand) {\n onExpand(keysArray, info);\n }\n },\n [onExpand, setCurrentOriginalExpandedKeys]\n );\n\n // Advanced expand handler for when allowDuplicatedKeys is true\n const handleUniqueExpand = useCallback(\n (\n uniqueKeys: readonly Key[],\n info: {\n node: EventDataNode<T>;\n expanded: boolean;\n nativeEvent: MouseEvent;\n }\n ) => {\n const originalKeys = uniqueKeys\n .map((uk) => uniqueToOriginalKeyMap.get(uk))\n .filter((ok): ok is Key => ok !== undefined); // Type guard\n const triggeredOriginalKey = uniqueToOriginalKeyMap.get(info.node.key);\n\n setCurrentOriginalExpandedKeys(originalKeys);\n\n if (onExpand) {\n onExpand(originalKeys, {\n ...info,\n triggeredOriginalKey: triggeredOriginalKey,\n });\n }\n },\n [uniqueToOriginalKeyMap, setCurrentOriginalExpandedKeys, onExpand]\n );\n\n // Simple check handler for when allowDuplicatedKeys is false\n const handleOriginalCheck = useCallback(\n (\n checkedInfoOrKeys:\n | readonly Key[]\n | { checked: readonly Key[]; halfChecked: readonly Key[] },\n info: CheckInfo<T>\n ) => {\n let checkedArray: Key[];\n\n if (Array.isArray(checkedInfoOrKeys)) {\n checkedArray = Array.from(checkedInfoOrKeys);\n } else if (\n checkedInfoOrKeys &&\n typeof checkedInfoOrKeys === \"object\" &&\n \"checked\" in checkedInfoOrKeys\n ) {\n checkedArray = Array.from(checkedInfoOrKeys.checked);\n } else {\n checkedArray = [];\n }\n\n setCurrentOriginalCheckedKeys(checkedArray);\n\n if (onCheck) {\n onCheck(checkedArray, info);\n }\n },\n [onCheck, setCurrentOriginalCheckedKeys]\n );\n\n // Advanced check handler for when allowDuplicatedKeys is true\n const handleUniqueCheck = useCallback(\n (\n checkedInfoOrKeys:\n | readonly Key[]\n | { checked: readonly Key[]; halfChecked: readonly Key[] },\n info: CheckInfo<T> // Contains info about the node that triggered the event\n ) => {\n const triggeredUniqueKey = info.node.key;\n const triggeredOriginalKey =\n uniqueToOriginalKeyMap.get(triggeredUniqueKey);\n\n if (triggeredOriginalKey === undefined) {\n console.error(\n \"Could not find original key for unique key:\",\n triggeredUniqueKey\n );\n return;\n }\n\n // Special handling for unchecking - this is the critical part\n if (!info.checked) {\n // When unchecking, we need to completely rebuild the checked keys list\n // excluding the original key that was unchecked\n\n // 1. Get the current original checked keys\n const currentKeys = [...currentOriginalCheckedKeys];\n\n // 2. Filter out the original key that was unchecked\n const newCheckedKeys = currentKeys.filter(\n (key) => key !== triggeredOriginalKey\n );\n\n // 3. Update the state with the filtered keys\n setCurrentOriginalCheckedKeys(newCheckedKeys);\n\n // 4. Call the user's onCheck callback\n if (onCheck) {\n onCheck(newCheckedKeys, {\n ...info,\n triggeredOriginalKey: triggeredOriginalKey,\n });\n }\n\n // Return early to prevent further processing\n return;\n }\n\n // Handle checking (normal flow for checking items)\n // 1. Extract unique checked keys from Ant Design's final state\n let uniqueCheckedKeys: readonly Key[];\n if (Array.isArray(checkedInfoOrKeys)) {\n uniqueCheckedKeys = checkedInfoOrKeys;\n } else if (\n checkedInfoOrKeys &&\n typeof checkedInfoOrKeys === \"object\" &&\n \"checked\" in checkedInfoOrKeys\n ) {\n uniqueCheckedKeys = checkedInfoOrKeys.checked;\n } else {\n uniqueCheckedKeys = [];\n }\n\n // 2. Map these unique keys to their original keys\n const derivedOriginalKeys = new Set<Key>();\n for (const uniqueKey of uniqueCheckedKeys) {\n const originalKey = uniqueToOriginalKeyMap.get(uniqueKey);\n if (originalKey !== undefined) {\n derivedOriginalKeys.add(originalKey);\n }\n }\n\n // 3. Ensure the triggered original key is included when checking\n derivedOriginalKeys.add(triggeredOriginalKey);\n\n const originalKeysArray = Array.from(derivedOriginalKeys);\n\n // 4. Update the controlled state\n setCurrentOriginalCheckedKeys(originalKeysArray);\n\n // 5. Call the user's onCheck callback\n if (onCheck) {\n onCheck(originalKeysArray, {\n ...info,\n triggeredOriginalKey: triggeredOriginalKey,\n });\n }\n },\n [\n uniqueToOriginalKeyMap,\n setCurrentOriginalCheckedKeys,\n onCheck,\n currentOriginalCheckedKeys,\n ]\n );\n\n // Choose appropriate handlers and data based on allowDuplicatedKeys\n const handleAntTreeExpand = allowDuplicatedKeys\n ? handleUniqueExpand\n : handleOriginalExpand;\n const handleAntTreeCheck = allowDuplicatedKeys\n ? handleUniqueCheck\n : handleOriginalCheck;\n const finalProcessedTreeData = allowDuplicatedKeys\n ? processedTreeData\n : originTreeData;\n\n return {\n processedTreeData: finalProcessedTreeData,\n currentUniqueExpandedKeys,\n currentUniqueCheckedKeys,\n handleAntTreeExpand,\n handleAntTreeCheck,\n };\n};\n"],"names":["useUniqueKeysTree","originTreeData","expandedKeys","defaultExpandedKeys","onExpand","checkedKeys","defaultCheckedKeys","onCheck","allowDuplicatedKeys","currentOriginalExpandedKeys","setCurrentOriginalExpandedKeys","useControlledState","controlledCheckedKeysValue","useMemo","currentOriginalCheckedKeys","setCurrentOriginalCheckedKeys","processedTreeData","uniqueToOriginalKeyMap","map","expandedOriginalKeySet","processTreeData","currentUniqueExpandedKeys","originalKeysSet","getUniqueKeysFromOriginals","currentUniqueCheckedKeys","handleOriginalExpand","useCallback","keys","info","keysArray","handleUniqueExpand","uniqueKeys","originalKeys","uk","ok","triggeredOriginalKey","handleOriginalCheck","checkedInfoOrKeys","checkedArray","handleUniqueCheck","triggeredUniqueKey","newCheckedKeys","key","uniqueCheckedKeys","derivedOriginalKeys","uniqueKey","originalKey","originalKeysArray"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { default as React } from 'react';
2
+ export type TruncatePosition = "middle" | "end";
3
+ export interface TruncateProps extends Omit<React.ComponentPropsWithoutRef<"span">, "title"> {
4
+ /** Text content to be truncated */
5
+ children: string;
6
+ /** Position where the truncation should occur */
7
+ position?: TruncatePosition;
8
+ /**
9
+ * Number of lines to display before truncating
10
+ * @default 1
11
+ * @remarks Use 'auto' to fit parent height
12
+ */
13
+ lines?: number | "auto";
14
+ container?: HTMLElement | React.RefObject<HTMLElement>;
15
+ }
16
+ export declare const Truncate: React.FC<TruncateProps>;
17
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../../src/components/truncate/component.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAQ9E,OAAO,aAAa,CAAC;AAErB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEhD,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC7D,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAIxB,SAAS,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAiL5C,CAAC"}