@bioturing/components 0.31.0 → 0.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (507) hide show
  1. package/dist/components/badge/component.d.ts +7 -0
  2. package/dist/components/badge/component.d.ts.map +1 -0
  3. package/dist/components/badge/component.js.map +1 -1
  4. package/dist/components/badge/index.d.ts +2 -0
  5. package/dist/components/badge/index.d.ts.map +1 -0
  6. package/dist/components/breadcrumb/component.d.ts +6 -0
  7. package/dist/components/breadcrumb/component.d.ts.map +1 -0
  8. package/dist/components/breadcrumb/component.js.map +1 -1
  9. package/dist/components/breadcrumb/index.d.ts +3 -0
  10. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  11. package/dist/components/breadcrumb/types.d.ts +19 -0
  12. package/dist/components/breadcrumb/types.d.ts.map +1 -0
  13. package/dist/components/breadcrumb/useItemRender.d.ts +7 -0
  14. package/dist/components/breadcrumb/useItemRender.d.ts.map +1 -0
  15. package/dist/components/breadcrumb/useItemRender.js.map +1 -1
  16. package/dist/components/button/component.d.ts +14 -0
  17. package/dist/components/button/component.d.ts.map +1 -0
  18. package/dist/components/button/component.js.map +1 -1
  19. package/dist/components/button/index.d.ts +2 -0
  20. package/dist/components/button/index.d.ts.map +1 -0
  21. package/dist/components/checkbox/component.d.ts +16 -0
  22. package/dist/components/checkbox/component.d.ts.map +1 -0
  23. package/dist/components/checkbox/component.js.map +1 -1
  24. package/dist/components/checkbox/index.d.ts +2 -0
  25. package/dist/components/checkbox/index.d.ts.map +1 -0
  26. package/dist/components/choice-list/component.d.ts +35 -0
  27. package/dist/components/choice-list/component.d.ts.map +1 -0
  28. package/dist/components/choice-list/component.js.map +1 -1
  29. package/dist/components/choice-list/index.d.ts +2 -0
  30. package/dist/components/choice-list/index.d.ts.map +1 -0
  31. package/dist/components/cmdk/command-score.d.ts +2 -0
  32. package/dist/components/cmdk/command-score.d.ts.map +1 -0
  33. package/dist/components/cmdk/command-score.js.map +1 -1
  34. package/dist/components/cmdk/index.d.ts +440 -0
  35. package/dist/components/cmdk/index.d.ts.map +1 -0
  36. package/dist/components/cmdk/index.js +332 -348
  37. package/dist/components/cmdk/index.js.map +1 -1
  38. package/dist/components/code-block/component.d.ts +3 -0
  39. package/dist/components/code-block/component.d.ts.map +1 -0
  40. package/dist/components/code-block/component.js +83 -84
  41. package/dist/components/code-block/component.js.map +1 -1
  42. package/dist/components/code-block/index.d.ts +3 -0
  43. package/dist/components/code-block/index.d.ts.map +1 -0
  44. package/dist/components/code-block/types.d.ts +64 -0
  45. package/dist/components/code-block/types.d.ts.map +1 -0
  46. package/dist/components/collapse/component.d.ts +14 -0
  47. package/dist/components/collapse/component.d.ts.map +1 -0
  48. package/dist/components/collapse/component.js.map +1 -1
  49. package/dist/components/collapse/index.d.ts +2 -0
  50. package/dist/components/collapse/index.d.ts.map +1 -0
  51. package/dist/components/color-select/component.d.ts +36 -0
  52. package/dist/components/color-select/component.d.ts.map +1 -0
  53. package/dist/components/color-select/component.js +28 -30
  54. package/dist/components/color-select/component.js.map +1 -1
  55. package/dist/components/color-select/index.d.ts +2 -0
  56. package/dist/components/color-select/index.d.ts.map +1 -0
  57. package/dist/components/combobox/component.d.ts +119 -0
  58. package/dist/components/combobox/component.d.ts.map +1 -0
  59. package/dist/components/combobox/component.js +166 -162
  60. package/dist/components/combobox/component.js.map +1 -1
  61. package/dist/components/combobox/index.d.ts +3 -0
  62. package/dist/components/combobox/index.d.ts.map +1 -0
  63. package/dist/components/command-palette/component.d.ts +41 -0
  64. package/dist/components/command-palette/component.d.ts.map +1 -0
  65. package/dist/components/command-palette/component.js +36 -36
  66. package/dist/components/command-palette/component.js.map +1 -1
  67. package/dist/components/command-palette/index.d.ts +2 -0
  68. package/dist/components/command-palette/index.d.ts.map +1 -0
  69. package/dist/components/command-palette/style.css +1 -1
  70. package/dist/components/drag-drop/context.d.ts +10 -0
  71. package/dist/components/drag-drop/context.d.ts.map +1 -0
  72. package/dist/components/drag-drop/context.js.map +1 -1
  73. package/dist/components/drag-drop/draggable.d.ts +6 -0
  74. package/dist/components/drag-drop/draggable.d.ts.map +1 -0
  75. package/dist/components/drag-drop/draggable.js.map +1 -1
  76. package/dist/components/drag-drop/droppable.d.ts +9 -0
  77. package/dist/components/drag-drop/droppable.d.ts.map +1 -0
  78. package/dist/components/drag-drop/droppable.js.map +1 -1
  79. package/dist/components/drag-drop/hooks.d.ts +42 -0
  80. package/dist/components/drag-drop/hooks.d.ts.map +1 -0
  81. package/dist/components/drag-drop/hooks.js +71 -73
  82. package/dist/components/drag-drop/hooks.js.map +1 -1
  83. package/dist/components/drag-drop/index.d.ts +26 -0
  84. package/dist/components/drag-drop/index.d.ts.map +1 -0
  85. package/dist/components/drag-drop/index.js.map +1 -1
  86. package/dist/components/drag-drop/types.d.ts +232 -0
  87. package/dist/components/drag-drop/types.d.ts.map +1 -0
  88. package/dist/components/drag-drop/value.d.ts +8 -0
  89. package/dist/components/drag-drop/value.d.ts.map +1 -0
  90. package/dist/components/drag-drop/value.js +66 -66
  91. package/dist/components/drag-drop/value.js.map +1 -1
  92. package/dist/components/dropdown-menu/component.d.ts +79 -0
  93. package/dist/components/dropdown-menu/component.d.ts.map +1 -0
  94. package/dist/components/dropdown-menu/component.js +108 -106
  95. package/dist/components/dropdown-menu/component.js.map +1 -1
  96. package/dist/components/dropdown-menu/divider.d.ts +6 -0
  97. package/dist/components/dropdown-menu/divider.d.ts.map +1 -0
  98. package/dist/components/dropdown-menu/divider.js.map +1 -1
  99. package/dist/components/dropdown-menu/index.d.ts +4 -0
  100. package/dist/components/dropdown-menu/index.d.ts.map +1 -0
  101. package/dist/components/dropdown-menu/item.d.ts +56 -0
  102. package/dist/components/dropdown-menu/item.d.ts.map +1 -0
  103. package/dist/components/dropdown-menu/item.js +72 -66
  104. package/dist/components/dropdown-menu/item.js.map +1 -1
  105. package/dist/components/dropdown-menu/types.d.ts +88 -0
  106. package/dist/components/dropdown-menu/types.d.ts.map +1 -0
  107. package/dist/components/dropdown-menu/useDropdownMenu.d.ts +58 -0
  108. package/dist/components/dropdown-menu/useDropdownMenu.d.ts.map +1 -0
  109. package/dist/components/dropdown-menu/useDropdownMenu.js +80 -77
  110. package/dist/components/dropdown-menu/useDropdownMenu.js.map +1 -1
  111. package/dist/components/ds-root/component.d.ts +14 -0
  112. package/dist/components/ds-root/component.d.ts.map +1 -0
  113. package/dist/components/ds-root/component.js.map +1 -1
  114. package/dist/components/ds-root/context.d.ts +8 -0
  115. package/dist/components/ds-root/context.d.ts.map +1 -0
  116. package/dist/components/ds-root/index.d.ts +3 -0
  117. package/dist/components/ds-root/index.d.ts.map +1 -0
  118. package/dist/components/empty/component.d.ts +13 -0
  119. package/dist/components/empty/component.d.ts.map +1 -0
  120. package/dist/components/empty/component.js.map +1 -1
  121. package/dist/components/empty/index.d.ts +2 -0
  122. package/dist/components/empty/index.d.ts.map +1 -0
  123. package/dist/components/field/component.d.ts +42 -0
  124. package/dist/components/field/component.d.ts.map +1 -0
  125. package/dist/components/field/component.js.map +1 -1
  126. package/dist/components/field/index.d.ts +2 -0
  127. package/dist/components/field/index.d.ts.map +1 -0
  128. package/dist/components/form/component.d.ts +22 -0
  129. package/dist/components/form/component.d.ts.map +1 -0
  130. package/dist/components/form/component.js.map +1 -1
  131. package/dist/components/form/index.d.ts +2 -0
  132. package/dist/components/form/index.d.ts.map +1 -0
  133. package/dist/components/form/item.d.ts +24 -0
  134. package/dist/components/form/item.d.ts.map +1 -0
  135. package/dist/components/form/item.js +24 -24
  136. package/dist/components/form/item.js.map +1 -1
  137. package/dist/components/form/label.d.ts +32 -0
  138. package/dist/components/form/label.d.ts.map +1 -0
  139. package/dist/components/form/label.js.map +1 -1
  140. package/dist/components/hooks/antd.d.ts +11 -0
  141. package/dist/components/hooks/antd.d.ts.map +1 -0
  142. package/dist/components/hooks/antd.js.map +1 -1
  143. package/dist/components/hooks/base-ui.d.ts +11 -0
  144. package/dist/components/hooks/base-ui.d.ts.map +1 -0
  145. package/dist/components/hooks/base-ui.js +22 -25
  146. package/dist/components/hooks/base-ui.js.map +1 -1
  147. package/dist/components/hooks/index.d.ts +11 -0
  148. package/dist/components/hooks/index.d.ts.map +1 -0
  149. package/dist/components/hooks/useBreakpoint.d.ts +39 -0
  150. package/dist/components/hooks/useBreakpoint.d.ts.map +1 -0
  151. package/dist/components/hooks/useBreakpoint.js +14 -15
  152. package/dist/components/hooks/useBreakpoint.js.map +1 -1
  153. package/dist/components/hooks/useCSSVariables.d.ts +7 -0
  154. package/dist/components/hooks/useCSSVariables.d.ts.map +1 -0
  155. package/dist/components/hooks/useCSSVariables.js.map +1 -1
  156. package/dist/components/hooks/useCharts.d.ts +41 -0
  157. package/dist/components/hooks/useCharts.d.ts.map +1 -0
  158. package/dist/components/hooks/useCharts.js.map +1 -1
  159. package/dist/components/hooks/useControlledState.d.ts +13 -0
  160. package/dist/components/hooks/useControlledState.d.ts.map +1 -0
  161. package/dist/components/hooks/useControlledState.js.map +1 -1
  162. package/dist/components/hooks/useDraggable.d.ts +4 -0
  163. package/dist/components/hooks/useDraggable.d.ts.map +1 -0
  164. package/dist/components/hooks/useDraggable.js +19 -20
  165. package/dist/components/hooks/useDraggable.js.map +1 -1
  166. package/dist/components/hooks/useHover.d.ts +5 -0
  167. package/dist/components/hooks/useHover.d.ts.map +1 -0
  168. package/dist/components/hooks/useHover.js +16 -17
  169. package/dist/components/hooks/useHover.js.map +1 -1
  170. package/dist/components/hooks/useResizeObserver.d.ts +9 -0
  171. package/dist/components/hooks/useResizeObserver.d.ts.map +1 -0
  172. package/dist/components/hooks/useResizeObserver.js +29 -30
  173. package/dist/components/hooks/useResizeObserver.js.map +1 -1
  174. package/dist/components/hooks/useTransitionStatus.d.ts +13 -0
  175. package/dist/components/hooks/useTransitionStatus.d.ts.map +1 -0
  176. package/dist/components/hooks/useTransitionStatus.js.map +1 -1
  177. package/dist/components/hooks/useWindowSize.d.ts +5 -0
  178. package/dist/components/hooks/useWindowSize.d.ts.map +1 -0
  179. package/dist/components/hooks/useWindowSize.js.map +1 -1
  180. package/dist/components/icon-button/component.d.ts +45 -0
  181. package/dist/components/icon-button/component.d.ts.map +1 -0
  182. package/dist/components/icon-button/component.js.map +1 -1
  183. package/dist/components/icon-button/index.d.ts +2 -0
  184. package/dist/components/icon-button/index.d.ts.map +1 -0
  185. package/dist/components/index.d.ts +53 -0
  186. package/dist/components/index.d.ts.map +1 -0
  187. package/dist/components/input/component.d.ts +29 -0
  188. package/dist/components/input/component.d.ts.map +1 -0
  189. package/dist/components/input/component.js +42 -41
  190. package/dist/components/input/component.js.map +1 -1
  191. package/dist/components/input/index.d.ts +2 -0
  192. package/dist/components/input/index.d.ts.map +1 -0
  193. package/dist/components/keyboard-shortcut/component.d.ts +15 -0
  194. package/dist/components/keyboard-shortcut/component.d.ts.map +1 -0
  195. package/dist/components/keyboard-shortcut/component.js.map +1 -1
  196. package/dist/components/keyboard-shortcut/index.d.ts +2 -0
  197. package/dist/components/keyboard-shortcut/index.d.ts.map +1 -0
  198. package/dist/components/loader/component.d.ts +5 -0
  199. package/dist/components/loader/component.d.ts.map +1 -0
  200. package/dist/components/loader/component.js.map +1 -1
  201. package/dist/components/loader/index.d.ts +2 -0
  202. package/dist/components/loader/index.d.ts.map +1 -0
  203. package/dist/components/modal/Modal.d.ts +85 -0
  204. package/dist/components/modal/Modal.d.ts.map +1 -0
  205. package/dist/components/modal/Modal.js +75 -75
  206. package/dist/components/modal/Modal.js.map +1 -1
  207. package/dist/components/modal/ModalProvider.d.ts +6 -0
  208. package/dist/components/modal/ModalProvider.d.ts.map +1 -0
  209. package/dist/components/modal/ModalProvider.js +25 -25
  210. package/dist/components/modal/ModalProvider.js.map +1 -1
  211. package/dist/components/modal/ModalService.d.ts +34 -0
  212. package/dist/components/modal/ModalService.d.ts.map +1 -0
  213. package/dist/components/modal/ModalService.js +5 -10
  214. package/dist/components/modal/ModalService.js.map +1 -1
  215. package/dist/components/modal/constants.d.ts +10 -0
  216. package/dist/components/modal/constants.d.ts.map +1 -0
  217. package/dist/components/modal/constants.js.map +1 -1
  218. package/dist/components/modal/functions.d.ts +28 -0
  219. package/dist/components/modal/functions.d.ts.map +1 -0
  220. package/dist/components/modal/functions.js.map +1 -1
  221. package/dist/components/modal/index.d.ts +16 -0
  222. package/dist/components/modal/index.d.ts.map +1 -0
  223. package/dist/components/modal/index.js.map +1 -1
  224. package/dist/components/nav/context.d.ts +10 -0
  225. package/dist/components/nav/context.d.ts.map +1 -0
  226. package/dist/components/nav/context.js.map +1 -1
  227. package/dist/components/nav/group.d.ts +15 -0
  228. package/dist/components/nav/group.d.ts.map +1 -0
  229. package/dist/components/nav/group.js.map +1 -1
  230. package/dist/components/nav/heading.d.ts +6 -0
  231. package/dist/components/nav/heading.d.ts.map +1 -0
  232. package/dist/components/nav/heading.js.map +1 -1
  233. package/dist/components/nav/index.d.ts +12 -0
  234. package/dist/components/nav/index.d.ts.map +1 -0
  235. package/dist/components/nav/item.d.ts +35 -0
  236. package/dist/components/nav/item.d.ts.map +1 -0
  237. package/dist/components/nav/item.js.map +1 -1
  238. package/dist/components/popover/component.d.ts +10 -0
  239. package/dist/components/popover/component.d.ts.map +1 -0
  240. package/dist/components/popover/component.js.map +1 -1
  241. package/dist/components/popover/index.d.ts +2 -0
  242. package/dist/components/popover/index.d.ts.map +1 -0
  243. package/dist/components/popup-panel/component.d.ts +100 -0
  244. package/dist/components/popup-panel/component.d.ts.map +1 -0
  245. package/dist/components/popup-panel/component.js +105 -105
  246. package/dist/components/popup-panel/component.js.map +1 -1
  247. package/dist/components/popup-panel/constants.d.ts +8 -0
  248. package/dist/components/popup-panel/constants.d.ts.map +1 -0
  249. package/dist/components/popup-panel/constants.js.map +1 -1
  250. package/dist/components/popup-panel/index.d.ts +2 -0
  251. package/dist/components/popup-panel/index.d.ts.map +1 -0
  252. package/dist/components/radio/component.d.ts +8 -0
  253. package/dist/components/radio/component.d.ts.map +1 -0
  254. package/dist/components/radio/component.js.map +1 -1
  255. package/dist/components/radio/index.d.ts +3 -0
  256. package/dist/components/radio/index.d.ts.map +1 -0
  257. package/dist/components/radio/interface.d.ts +6 -0
  258. package/dist/components/radio/interface.d.ts.map +1 -0
  259. package/dist/components/resizable/component.d.ts +70 -0
  260. package/dist/components/resizable/component.d.ts.map +1 -0
  261. package/dist/components/resizable/component.js +147 -147
  262. package/dist/components/resizable/component.js.map +1 -1
  263. package/dist/components/resizable/index.d.ts +3 -0
  264. package/dist/components/resizable/index.d.ts.map +1 -0
  265. package/dist/components/scroll-area/component.d.ts +67 -0
  266. package/dist/components/scroll-area/component.d.ts.map +1 -0
  267. package/dist/components/scroll-area/component.js +75 -56
  268. package/dist/components/scroll-area/component.js.map +1 -1
  269. package/dist/components/scroll-area/index.d.ts +2 -0
  270. package/dist/components/scroll-area/index.d.ts.map +1 -0
  271. package/dist/components/segmented/component.d.ts +10 -0
  272. package/dist/components/segmented/component.d.ts.map +1 -0
  273. package/dist/components/segmented/component.js.map +1 -1
  274. package/dist/components/segmented/index.d.ts +2 -0
  275. package/dist/components/segmented/index.d.ts.map +1 -0
  276. package/dist/components/select/component.d.ts +48 -0
  277. package/dist/components/select/component.d.ts.map +1 -0
  278. package/dist/components/select/component.js +93 -94
  279. package/dist/components/select/component.js.map +1 -1
  280. package/dist/components/select/index.d.ts +2 -0
  281. package/dist/components/select/index.d.ts.map +1 -0
  282. package/dist/components/select/item.d.ts +14 -0
  283. package/dist/components/select/item.d.ts.map +1 -0
  284. package/dist/components/select/item.js.map +1 -1
  285. package/dist/components/select-trigger/component.d.ts +45 -0
  286. package/dist/components/select-trigger/component.d.ts.map +1 -0
  287. package/dist/components/select-trigger/component.js +96 -96
  288. package/dist/components/select-trigger/component.js.map +1 -1
  289. package/dist/components/select-trigger/index.d.ts +3 -0
  290. package/dist/components/select-trigger/index.d.ts.map +1 -0
  291. package/dist/components/slider/component.d.ts +6 -0
  292. package/dist/components/slider/component.d.ts.map +1 -0
  293. package/dist/components/slider/component.js.map +1 -1
  294. package/dist/components/slider/index.d.ts +2 -0
  295. package/dist/components/slider/index.d.ts.map +1 -0
  296. package/dist/components/spin/component.d.ts +6 -0
  297. package/dist/components/spin/component.d.ts.map +1 -0
  298. package/dist/components/spin/component.js.map +1 -1
  299. package/dist/components/spin/index.d.ts +2 -0
  300. package/dist/components/spin/index.d.ts.map +1 -0
  301. package/dist/components/splitter/component.d.ts +10 -0
  302. package/dist/components/splitter/component.d.ts.map +1 -0
  303. package/dist/components/splitter/component.js +7 -7
  304. package/dist/components/splitter/component.js.map +1 -1
  305. package/dist/components/splitter/context.d.ts +5 -0
  306. package/dist/components/splitter/context.d.ts.map +1 -0
  307. package/dist/components/splitter/context.js.map +1 -1
  308. package/dist/components/splitter/index.d.ts +2 -0
  309. package/dist/components/splitter/index.d.ts.map +1 -0
  310. package/dist/components/splitter/splitter-panel.d.ts +12 -0
  311. package/dist/components/splitter/splitter-panel.d.ts.map +1 -0
  312. package/dist/components/splitter/splitter-panel.js.map +1 -1
  313. package/dist/components/splitter/splitter.d.ts +11 -0
  314. package/dist/components/splitter/splitter.d.ts.map +1 -0
  315. package/dist/components/splitter/splitter.js +112 -112
  316. package/dist/components/splitter/splitter.js.map +1 -1
  317. package/dist/components/splitter/useSizes.d.ts +9 -0
  318. package/dist/components/splitter/useSizes.d.ts.map +1 -0
  319. package/dist/components/splitter/useSizes.js +35 -35
  320. package/dist/components/splitter/useSizes.js.map +1 -1
  321. package/dist/components/stack/Stack.d.ts +40 -0
  322. package/dist/components/stack/Stack.d.ts.map +1 -0
  323. package/dist/components/stack/Stack.js.map +1 -1
  324. package/dist/components/stack/StackChild.d.ts +31 -0
  325. package/dist/components/stack/StackChild.d.ts.map +1 -0
  326. package/dist/components/stack/StackChild.js.map +1 -1
  327. package/dist/components/stack/index.d.ts +8 -0
  328. package/dist/components/stack/index.d.ts.map +1 -0
  329. package/dist/components/stack/index.js.map +1 -1
  330. package/dist/components/status-icon/component.d.ts +23 -0
  331. package/dist/components/status-icon/component.d.ts.map +1 -0
  332. package/dist/components/status-icon/component.js.map +1 -1
  333. package/dist/components/status-icon/index.d.ts +2 -0
  334. package/dist/components/status-icon/index.d.ts.map +1 -0
  335. package/dist/components/switch/component.d.ts +9 -0
  336. package/dist/components/switch/component.d.ts.map +1 -0
  337. package/dist/components/switch/component.js.map +1 -1
  338. package/dist/components/switch/index.d.ts +2 -0
  339. package/dist/components/switch/index.d.ts.map +1 -0
  340. package/dist/components/table/component.d.ts +32 -0
  341. package/dist/components/table/component.d.ts.map +1 -0
  342. package/dist/components/table/component.js +57 -58
  343. package/dist/components/table/component.js.map +1 -1
  344. package/dist/components/table/index.d.ts +2 -0
  345. package/dist/components/table/index.d.ts.map +1 -0
  346. package/dist/components/tag/component.d.ts +22 -0
  347. package/dist/components/tag/component.d.ts.map +1 -0
  348. package/dist/components/tag/component.js.map +1 -1
  349. package/dist/components/tag/index.d.ts +2 -0
  350. package/dist/components/tag/index.d.ts.map +1 -0
  351. package/dist/components/theme-provider/component.d.ts +7 -0
  352. package/dist/components/theme-provider/component.d.ts.map +1 -0
  353. package/dist/components/theme-provider/component.js.map +1 -1
  354. package/dist/components/theme-provider/index.d.ts +2 -0
  355. package/dist/components/theme-provider/index.d.ts.map +1 -0
  356. package/dist/components/toast/component.d.ts +15 -0
  357. package/dist/components/toast/component.d.ts.map +1 -0
  358. package/dist/components/toast/component.js +49 -50
  359. package/dist/components/toast/component.js.map +1 -1
  360. package/dist/components/toast/function.d.ts +11 -0
  361. package/dist/components/toast/function.d.ts.map +1 -0
  362. package/dist/components/toast/function.js.map +1 -1
  363. package/dist/components/toast/index.d.ts +4 -0
  364. package/dist/components/toast/index.d.ts.map +1 -0
  365. package/dist/components/toast/types.d.ts +4 -0
  366. package/dist/components/toast/types.d.ts.map +1 -0
  367. package/dist/components/tooltip/component.d.ts +10 -0
  368. package/dist/components/tooltip/component.d.ts.map +1 -0
  369. package/dist/components/tooltip/component.js.map +1 -1
  370. package/dist/components/tooltip/index.d.ts +2 -0
  371. package/dist/components/tooltip/index.d.ts.map +1 -0
  372. package/dist/components/tour/component.d.ts +8 -0
  373. package/dist/components/tour/component.d.ts.map +1 -0
  374. package/dist/components/tour/component.js.map +1 -1
  375. package/dist/components/tour/index.d.ts +2 -0
  376. package/dist/components/tour/index.d.ts.map +1 -0
  377. package/dist/components/transition/component.d.ts +30 -0
  378. package/dist/components/transition/component.d.ts.map +1 -0
  379. package/dist/components/transition/component.js +32 -32
  380. package/dist/components/transition/component.js.map +1 -1
  381. package/dist/components/transition/index.d.ts +2 -0
  382. package/dist/components/transition/index.d.ts.map +1 -0
  383. package/dist/components/tree/components.d.ts +14 -0
  384. package/dist/components/tree/components.d.ts.map +1 -0
  385. package/dist/components/tree/components.js.map +1 -1
  386. package/dist/components/tree/helpers.d.ts +6 -0
  387. package/dist/components/tree/helpers.d.ts.map +1 -0
  388. package/dist/components/tree/helpers.js.map +1 -1
  389. package/dist/components/tree/index.d.ts +5 -0
  390. package/dist/components/tree/index.d.ts.map +1 -0
  391. package/dist/components/tree/types.d.ts +56 -0
  392. package/dist/components/tree/types.d.ts.map +1 -0
  393. package/dist/components/tree/useTreeCommon.d.ts +179 -0
  394. package/dist/components/tree/useTreeCommon.d.ts.map +1 -0
  395. package/dist/components/tree/useTreeCommon.js +29 -29
  396. package/dist/components/tree/useTreeCommon.js.map +1 -1
  397. package/dist/components/tree/useUniqueKeysTree.d.ts +34 -0
  398. package/dist/components/tree/useUniqueKeysTree.d.ts.map +1 -0
  399. package/dist/components/tree/useUniqueKeysTree.js.map +1 -1
  400. package/dist/components/truncate/component.d.ts +17 -0
  401. package/dist/components/truncate/component.d.ts.map +1 -0
  402. package/dist/components/truncate/component.js +38 -39
  403. package/dist/components/truncate/component.js.map +1 -1
  404. package/dist/components/truncate/helpers.d.ts +17 -0
  405. package/dist/components/truncate/helpers.d.ts.map +1 -0
  406. package/dist/components/truncate/helpers.js +27 -30
  407. package/dist/components/truncate/helpers.js.map +1 -1
  408. package/dist/components/truncate/index.d.ts +2 -0
  409. package/dist/components/truncate/index.d.ts.map +1 -0
  410. package/dist/components/upload/component.d.ts +17 -0
  411. package/dist/components/upload/component.d.ts.map +1 -0
  412. package/dist/components/upload/component.js.map +1 -1
  413. package/dist/components/upload/dragger.d.ts +14 -0
  414. package/dist/components/upload/dragger.d.ts.map +1 -0
  415. package/dist/components/upload/dragger.js.map +1 -1
  416. package/dist/components/upload/hooks.d.ts +6 -0
  417. package/dist/components/upload/hooks.d.ts.map +1 -0
  418. package/dist/components/upload/hooks.js.map +1 -1
  419. package/dist/components/upload/index.d.ts +4 -0
  420. package/dist/components/upload/index.d.ts.map +1 -0
  421. package/dist/components/upload/item.d.ts +12 -0
  422. package/dist/components/upload/item.d.ts.map +1 -0
  423. package/dist/components/upload/item.js.map +1 -1
  424. package/dist/components/upload/utils.d.ts +2 -0
  425. package/dist/components/upload/utils.d.ts.map +1 -0
  426. package/dist/components/upload/utils.js.map +1 -1
  427. package/dist/components/utils/WithAntdTokens.d.ts +8 -0
  428. package/dist/components/utils/WithAntdTokens.d.ts.map +1 -0
  429. package/dist/components/utils/WithAntdTokens.js.map +1 -1
  430. package/dist/components/utils/WithRenderProp.d.ts +14 -0
  431. package/dist/components/utils/WithRenderProp.d.ts.map +1 -0
  432. package/dist/components/utils/WithRenderProp.js.map +1 -1
  433. package/dist/components/utils/antdUtils.d.ts +11 -0
  434. package/dist/components/utils/antdUtils.d.ts.map +1 -0
  435. package/dist/components/utils/antdUtils.js +9 -12
  436. package/dist/components/utils/antdUtils.js.map +1 -1
  437. package/dist/components/utils/client.d.ts +6 -0
  438. package/dist/components/utils/client.d.ts.map +1 -0
  439. package/dist/components/utils/cn.d.ts +5 -0
  440. package/dist/components/utils/cn.d.ts.map +1 -0
  441. package/dist/components/utils/cn.js.map +1 -1
  442. package/dist/components/utils/colors.d.ts +2 -0
  443. package/dist/components/utils/colors.d.ts.map +1 -0
  444. package/dist/components/utils/constants.d.ts +15 -0
  445. package/dist/components/utils/constants.d.ts.map +1 -0
  446. package/dist/components/utils/index.d.ts +6 -0
  447. package/dist/components/utils/index.d.ts.map +1 -0
  448. package/dist/components/utils/isTracebackError.d.ts +2 -0
  449. package/dist/components/utils/isTracebackError.d.ts.map +1 -0
  450. package/dist/components/utils/isTracebackError.js.map +1 -1
  451. package/dist/components/utils/main.d.ts +7 -0
  452. package/dist/components/utils/main.d.ts.map +1 -0
  453. package/dist/components/utils/placement.d.ts +21 -0
  454. package/dist/components/utils/placement.d.ts.map +1 -0
  455. package/dist/components/utils/placement.js.map +1 -1
  456. package/dist/components/utils/reactElement.d.ts +2 -0
  457. package/dist/components/utils/reactElement.d.ts.map +1 -0
  458. package/dist/components/utils/reactToString.d.ts +3 -0
  459. package/dist/components/utils/reactToString.d.ts.map +1 -0
  460. package/dist/components/utils/reactToString.js.map +1 -1
  461. package/dist/components/utils/selectionRange.d.ts +2 -0
  462. package/dist/components/utils/selectionRange.d.ts.map +1 -0
  463. package/dist/components/utils/selectionRange.js.map +1 -1
  464. package/dist/components/utils/theme.d.ts +6 -0
  465. package/dist/components/utils/theme.d.ts.map +1 -0
  466. package/dist/components/utils/theme.js.map +1 -1
  467. package/dist/components/utils/types.d.ts +12 -0
  468. package/dist/components/utils/types.d.ts.map +1 -0
  469. package/dist/components/vertical-collapsible-panel/component.d.ts +65 -0
  470. package/dist/components/vertical-collapsible-panel/component.d.ts.map +1 -0
  471. package/dist/components/vertical-collapsible-panel/component.js.map +1 -1
  472. package/dist/components/vertical-collapsible-panel/index.d.ts +2 -0
  473. package/dist/components/vertical-collapsible-panel/index.d.ts.map +1 -0
  474. package/dist/index.d.ts +4 -4390
  475. package/dist/index.d.ts.map +1 -0
  476. package/dist/index.js +166 -164
  477. package/dist/index.js.map +1 -1
  478. package/dist/metadata.d.ts +446 -0
  479. package/dist/metadata.d.ts.map +1 -0
  480. package/dist/metadata.js.map +1 -1
  481. package/dist/tokens/and-theme/index.d.ts +2 -0
  482. package/dist/tokens/and-theme/index.d.ts.map +1 -0
  483. package/dist/tokens/and-theme/tokens.d.ts +6 -0
  484. package/dist/tokens/and-theme/tokens.d.ts.map +1 -0
  485. package/dist/tokens/and-theme/tokens.js.map +1 -1
  486. package/dist/tokens/charts/index.d.ts +5 -0
  487. package/dist/tokens/charts/index.d.ts.map +1 -0
  488. package/dist/tokens/charts/palettes/cloudscape.d.ts +460 -0
  489. package/dist/tokens/charts/palettes/cloudscape.d.ts.map +1 -0
  490. package/dist/tokens/charts/palettes/cloudscape.js.map +1 -1
  491. package/dist/tokens/charts/palettes/colorbrewer.d.ts +338 -0
  492. package/dist/tokens/charts/palettes/colorbrewer.d.ts.map +1 -0
  493. package/dist/tokens/charts/palettes/colorbrewer.js.map +1 -1
  494. package/dist/tokens/charts/palettes/index.d.ts +24 -0
  495. package/dist/tokens/charts/palettes/index.d.ts.map +1 -0
  496. package/dist/tokens/charts/palettes/index.js.map +1 -1
  497. package/dist/tokens/charts/palettes/tableau.d.ts +11 -0
  498. package/dist/tokens/charts/palettes/tableau.d.ts.map +1 -0
  499. package/dist/tokens/index.d.ts +5 -0
  500. package/dist/tokens/index.d.ts.map +1 -0
  501. package/dist/tokens/types.d.ts +10 -0
  502. package/dist/tokens/types.d.ts.map +1 -0
  503. package/dist/tokens/utils.d.ts +9 -0
  504. package/dist/tokens/utils.d.ts.map +1 -0
  505. package/dist/tokens/utils.js.map +1 -1
  506. package/package.json +2 -2
  507. package/dist/tailwind.d.ts +0 -1
@@ -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"}