@astral/ui 4.100.0 → 4.101.0

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 (464) hide show
  1. package/components/InfiniteTreeList/InfiniteTreeList.d.ts +18 -0
  2. package/components/InfiniteTreeList/InfiniteTreeList.js +26 -19
  3. package/components/InfiniteTreeList/InfiniteTreeListActions/InfiniteTreeListActions.d.ts +9 -0
  4. package/components/InfiniteTreeList/InfiniteTreeListActions/InfiniteTreeListActions.js +9 -0
  5. package/components/InfiniteTreeList/InfiniteTreeListActions/types.d.ts +5 -0
  6. package/components/InfiniteTreeList/InfiniteTreeListActions/useLogic/useLogic.js +5 -6
  7. package/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContext.d.ts +81 -0
  8. package/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContext.js +21 -0
  9. package/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContextProvider/InfiniteTreeListContextProvider.d.ts +3 -2
  10. package/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContextProvider/InfiniteTreeListContextProvider.js +69 -13
  11. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/ErrorPlaceholder.d.ts +6 -0
  12. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/ErrorPlaceholder.js +8 -0
  13. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/constants.d.ts +1 -0
  14. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/constants.js +1 -0
  15. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/index.d.ts +1 -0
  16. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/index.js +1 -0
  17. package/components/InfiniteTreeList/{ErrorMessage → InfiniteTreeListItem/ErrorPlaceholder}/styles.d.ts +1 -1
  18. package/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/styles.js +8 -0
  19. package/components/InfiniteTreeList/InfiniteTreeListItem/InfiniteTreeListItem.js +29 -7
  20. package/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContext.d.ts +19 -0
  21. package/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContext.js +4 -0
  22. package/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContextProvider/TreeListItemContextProvider.d.ts +4 -0
  23. package/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContextProvider/TreeListItemContextProvider.js +13 -8
  24. package/components/InfiniteTreeList/InfiniteTreeListItem/constants.d.ts +6 -0
  25. package/components/InfiniteTreeList/InfiniteTreeListItem/constants.js +7 -0
  26. package/components/InfiniteTreeList/InfiniteTreeListItem/styles.d.ts +4 -4
  27. package/components/InfiniteTreeList/InfiniteTreeListItem/styles.js +28 -5
  28. package/components/InfiniteTreeList/InfiniteTreeListItem/types.d.ts +20 -3
  29. package/components/InfiniteTreeList/InfiniteTreeListItem/useLogic/useLogic.d.ts +7 -1
  30. package/components/InfiniteTreeList/InfiniteTreeListItem/useLogic/useLogic.js +57 -5
  31. package/components/InfiniteTreeList/{EndData → ListFooter/EndData}/EndData.js +1 -1
  32. package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/ErrorMessage.js +2 -2
  33. package/components/InfiniteTreeList/ListFooter/ErrorMessage/styles.d.ts +5 -0
  34. package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/styles.js +1 -1
  35. package/components/InfiniteTreeList/ListFooter/ListFooter.d.ts +10 -0
  36. package/components/InfiniteTreeList/ListFooter/ListFooter.js +25 -0
  37. package/components/InfiniteTreeList/ListFooter/index.d.ts +2 -0
  38. package/components/InfiniteTreeList/ListFooter/index.js +1 -0
  39. package/components/InfiniteTreeList/{styles.d.ts → ListFooter/styles.d.ts} +2 -2
  40. package/components/InfiniteTreeList/{styles.js → ListFooter/styles.js} +1 -1
  41. package/components/InfiniteTreeList/ListFooter/types.d.ts +22 -0
  42. package/components/InfiniteTreeList/ListFooter/types.js +1 -0
  43. package/components/InfiniteTreeList/OnTopButton/OnTopButton.d.ts +8 -2
  44. package/components/InfiniteTreeList/OnTopButton/OnTopButton.js +6 -5
  45. package/components/InfiniteTreeList/OnTopButton/styles.d.ts +4 -0
  46. package/components/InfiniteTreeList/OnTopButton/styles.js +10 -0
  47. package/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/CustomParentWrapper.d.ts +23 -0
  48. package/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/CustomParentWrapper.js +12 -0
  49. package/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/index.d.ts +1 -0
  50. package/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/index.js +1 -0
  51. package/components/InfiniteTreeList/ParentItems/Item/Item.d.ts +10 -0
  52. package/components/InfiniteTreeList/ParentItems/Item/Item.js +22 -0
  53. package/components/InfiniteTreeList/ParentItems/Item/index.d.ts +2 -0
  54. package/components/InfiniteTreeList/ParentItems/Item/index.js +2 -0
  55. package/components/InfiniteTreeList/ParentItems/Item/types.d.ts +8 -0
  56. package/components/InfiniteTreeList/ParentItems/Item/types.js +1 -0
  57. package/components/InfiniteTreeList/ParentItems/Item/useLogic/index.d.ts +1 -0
  58. package/components/InfiniteTreeList/ParentItems/Item/useLogic/index.js +1 -0
  59. package/components/InfiniteTreeList/ParentItems/Item/useLogic/useLogic.d.ts +12 -0
  60. package/components/InfiniteTreeList/ParentItems/Item/useLogic/useLogic.js +12 -0
  61. package/components/InfiniteTreeList/ParentItems/ParentItems.d.ts +11 -0
  62. package/components/InfiniteTreeList/ParentItems/ParentItems.js +11 -0
  63. package/components/InfiniteTreeList/ParentItems/index.d.ts +3 -0
  64. package/components/InfiniteTreeList/ParentItems/index.js +3 -0
  65. package/components/InfiniteTreeList/ParentItems/types.d.ts +8 -0
  66. package/components/InfiniteTreeList/ParentItems/types.js +1 -0
  67. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/ChildrenPlaceholder.d.ts +9 -0
  68. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/ChildrenPlaceholder.js +22 -0
  69. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/NoDataRow.d.ts +1 -0
  70. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/NoDataRow.js +5 -0
  71. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/index.d.ts +1 -0
  72. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/index.js +1 -0
  73. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/index.d.ts +1 -0
  74. package/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/index.js +1 -0
  75. package/components/InfiniteTreeList/TreeItem/CustomItemWrapper/CustomItemWrapper.d.ts +20 -0
  76. package/components/InfiniteTreeList/TreeItem/CustomItemWrapper/CustomItemWrapper.js +10 -0
  77. package/components/InfiniteTreeList/TreeItem/CustomItemWrapper/index.d.ts +1 -0
  78. package/components/InfiniteTreeList/TreeItem/CustomItemWrapper/index.js +1 -0
  79. package/components/InfiniteTreeList/TreeItem/ParentSlot/ParentSlot.d.ts +5 -0
  80. package/components/InfiniteTreeList/TreeItem/ParentSlot/ParentSlot.js +38 -0
  81. package/components/InfiniteTreeList/TreeItem/ParentSlot/index.d.ts +2 -0
  82. package/components/InfiniteTreeList/TreeItem/ParentSlot/index.js +2 -0
  83. package/components/InfiniteTreeList/TreeItem/ParentSlot/styles.d.ts +9 -0
  84. package/components/InfiniteTreeList/TreeItem/ParentSlot/styles.js +8 -0
  85. package/components/InfiniteTreeList/TreeItem/ParentSlot/types.d.ts +6 -0
  86. package/components/InfiniteTreeList/TreeItem/ParentSlot/types.js +1 -0
  87. package/components/InfiniteTreeList/TreeItem/TreeItem.d.ts +5 -2
  88. package/components/InfiniteTreeList/TreeItem/TreeItem.js +31 -4
  89. package/components/InfiniteTreeList/TreeItem/constants.d.ts +3 -0
  90. package/components/InfiniteTreeList/TreeItem/constants.js +3 -1
  91. package/components/InfiniteTreeList/TreeItem/styles.d.ts +0 -3
  92. package/components/InfiniteTreeList/TreeItem/styles.js +23 -8
  93. package/components/InfiniteTreeList/TreeItem/types.d.ts +4 -9
  94. package/components/InfiniteTreeList/TreeItem/useLogic/useLogic.d.ts +29 -9
  95. package/components/InfiniteTreeList/TreeItem/useLogic/useLogic.js +61 -19
  96. package/components/InfiniteTreeList/constants.d.ts +14 -2
  97. package/components/InfiniteTreeList/constants.js +14 -2
  98. package/components/InfiniteTreeList/hooks/index.d.ts +5 -0
  99. package/components/InfiniteTreeList/hooks/index.js +5 -0
  100. package/components/InfiniteTreeList/hooks/useChildrenState/index.d.ts +2 -0
  101. package/components/InfiniteTreeList/hooks/useChildrenState/index.js +2 -0
  102. package/components/InfiniteTreeList/hooks/useChildrenState/types.d.ts +43 -0
  103. package/components/InfiniteTreeList/hooks/useChildrenState/types.js +1 -0
  104. package/components/InfiniteTreeList/hooks/useChildrenState/useChildrenState.d.ts +20 -0
  105. package/components/InfiniteTreeList/hooks/useChildrenState/useChildrenState.js +115 -0
  106. package/components/InfiniteTreeList/hooks/useEnterAnimation/index.d.ts +2 -0
  107. package/components/InfiniteTreeList/hooks/useEnterAnimation/index.js +2 -0
  108. package/components/InfiniteTreeList/hooks/useEnterAnimation/types.d.ts +29 -0
  109. package/components/InfiniteTreeList/hooks/useEnterAnimation/types.js +1 -0
  110. package/components/InfiniteTreeList/hooks/useEnterAnimation/useEnterAnimation.d.ts +6 -0
  111. package/components/InfiniteTreeList/hooks/useEnterAnimation/useEnterAnimation.js +35 -0
  112. package/components/InfiniteTreeList/hooks/useExpandNotifier/index.d.ts +1 -0
  113. package/components/InfiniteTreeList/hooks/useExpandNotifier/index.js +1 -0
  114. package/components/InfiniteTreeList/hooks/useExpandNotifier/useExpandNotifier.d.ts +8 -0
  115. package/components/InfiniteTreeList/hooks/useExpandNotifier/useExpandNotifier.js +19 -0
  116. package/components/InfiniteTreeList/hooks/useFlatTree/index.d.ts +2 -0
  117. package/components/InfiniteTreeList/hooks/useFlatTree/index.js +2 -0
  118. package/components/InfiniteTreeList/hooks/useFlatTree/types.d.ts +20 -0
  119. package/components/InfiniteTreeList/hooks/useFlatTree/types.js +1 -0
  120. package/components/InfiniteTreeList/hooks/useFlatTree/useFlatTree.d.ts +15 -0
  121. package/components/InfiniteTreeList/hooks/useFlatTree/useFlatTree.js +88 -0
  122. package/components/InfiniteTreeList/hooks/useListScroll/index.d.ts +2 -0
  123. package/components/InfiniteTreeList/hooks/useListScroll/index.js +2 -0
  124. package/components/InfiniteTreeList/hooks/useListScroll/types.d.ts +25 -0
  125. package/components/InfiniteTreeList/hooks/useListScroll/types.js +1 -0
  126. package/components/InfiniteTreeList/hooks/useListScroll/useListScroll.d.ts +29 -0
  127. package/components/InfiniteTreeList/hooks/useListScroll/useListScroll.js +59 -0
  128. package/components/InfiniteTreeList/index.d.ts +1 -1
  129. package/components/InfiniteTreeList/public.d.ts +1 -1
  130. package/components/InfiniteTreeList/types.d.ts +83 -17
  131. package/components/InfiniteTreeList/useLogic/useLogic.d.ts +22 -12
  132. package/components/InfiniteTreeList/useLogic/useLogic.js +66 -71
  133. package/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/checkHasSkeletonPlaceholders.d.ts +5 -0
  134. package/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/checkHasSkeletonPlaceholders.js +6 -0
  135. package/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/index.d.ts +1 -0
  136. package/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/index.js +1 -0
  137. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/checkIsChildrenPlaceholder.d.ts +5 -0
  138. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/checkIsChildrenPlaceholder.js +4 -0
  139. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/index.d.ts +1 -0
  140. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/index.js +1 -0
  141. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/checkIsChildrenPlaceholderOf.d.ts +5 -0
  142. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/checkIsChildrenPlaceholderOf.js +5 -0
  143. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/index.d.ts +1 -0
  144. package/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/index.js +1 -0
  145. package/components/InfiniteTreeList/utils/checkIsDirectChild/checkIsDirectChild.d.ts +6 -0
  146. package/components/InfiniteTreeList/utils/checkIsDirectChild/checkIsDirectChild.js +6 -0
  147. package/components/InfiniteTreeList/utils/checkIsDirectChild/index.d.ts +1 -0
  148. package/components/InfiniteTreeList/utils/checkIsDirectChild/index.js +1 -0
  149. package/components/InfiniteTreeList/utils/checkIsNoDataChildren/checkIsNoDataChildren.d.ts +12 -0
  150. package/components/InfiniteTreeList/utils/checkIsNoDataChildren/checkIsNoDataChildren.js +14 -0
  151. package/components/InfiniteTreeList/utils/checkIsNoDataChildren/index.d.ts +1 -0
  152. package/components/InfiniteTreeList/utils/checkIsNoDataChildren/index.js +1 -0
  153. package/components/InfiniteTreeList/utils/checkIsSameChildren/checkIsSameChildren.d.ts +5 -0
  154. package/components/InfiniteTreeList/utils/checkIsSameChildren/checkIsSameChildren.js +16 -0
  155. package/components/InfiniteTreeList/utils/checkIsSameChildren/index.d.ts +1 -0
  156. package/components/InfiniteTreeList/utils/checkIsSameChildren/index.js +1 -0
  157. package/components/InfiniteTreeList/utils/countDirectChildren/countDirectChildren.d.ts +5 -0
  158. package/components/InfiniteTreeList/utils/countDirectChildren/countDirectChildren.js +5 -0
  159. package/components/InfiniteTreeList/utils/countDirectChildren/index.d.ts +1 -0
  160. package/components/InfiniteTreeList/utils/countDirectChildren/index.js +1 -0
  161. package/components/InfiniteTreeList/utils/createParentSlots/createParentSlots.d.ts +24 -0
  162. package/components/InfiniteTreeList/utils/createParentSlots/createParentSlots.js +35 -0
  163. package/components/InfiniteTreeList/utils/createParentSlots/index.d.ts +1 -0
  164. package/components/InfiniteTreeList/utils/createParentSlots/index.js +1 -0
  165. package/components/InfiniteTreeList/utils/createTailRegistry/createTailRegistry.d.ts +21 -0
  166. package/components/InfiniteTreeList/utils/createTailRegistry/createTailRegistry.js +40 -0
  167. package/components/InfiniteTreeList/utils/createTailRegistry/index.d.ts +1 -0
  168. package/components/InfiniteTreeList/utils/createTailRegistry/index.js +1 -0
  169. package/components/InfiniteTreeList/utils/flattenChildren/flattenChildren.d.ts +5 -0
  170. package/components/InfiniteTreeList/utils/flattenChildren/flattenChildren.js +5 -0
  171. package/components/InfiniteTreeList/utils/flattenChildren/index.d.ts +1 -0
  172. package/components/InfiniteTreeList/utils/flattenChildren/index.js +1 -0
  173. package/components/InfiniteTreeList/utils/flattenTree/flattenTree.d.ts +6 -0
  174. package/components/InfiniteTreeList/{useLogic/utils → utils}/flattenTree/flattenTree.js +9 -4
  175. package/components/InfiniteTreeList/utils/getEnteringChildren/getEnteringChildren.d.ts +17 -0
  176. package/components/InfiniteTreeList/utils/getEnteringChildren/getEnteringChildren.js +14 -0
  177. package/components/InfiniteTreeList/utils/getEnteringChildren/index.d.ts +1 -0
  178. package/components/InfiniteTreeList/utils/getEnteringChildren/index.js +1 -0
  179. package/components/InfiniteTreeList/utils/getIdsToKeep/getIdsToKeep.d.ts +10 -0
  180. package/components/InfiniteTreeList/utils/getIdsToKeep/getIdsToKeep.js +27 -0
  181. package/components/InfiniteTreeList/utils/getIdsToKeep/index.d.ts +1 -0
  182. package/components/InfiniteTreeList/utils/getIdsToKeep/index.js +1 -0
  183. package/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/getInitialExpandedIds.d.ts +4 -2
  184. package/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/getInitialExpandedIds.js +5 -4
  185. package/components/InfiniteTreeList/utils/getNestedItems/getNestedItems.d.ts +6 -0
  186. package/components/InfiniteTreeList/utils/getNestedItems/getNestedItems.js +18 -0
  187. package/components/InfiniteTreeList/utils/getNestedItems/index.d.ts +1 -0
  188. package/components/InfiniteTreeList/utils/getNestedItems/index.js +1 -0
  189. package/components/InfiniteTreeList/utils/index.d.ts +20 -0
  190. package/components/InfiniteTreeList/utils/index.js +20 -0
  191. package/components/InfiniteTreeList/utils/insertChildren/index.d.ts +1 -0
  192. package/components/InfiniteTreeList/utils/insertChildren/index.js +1 -0
  193. package/components/InfiniteTreeList/utils/insertChildren/insertChildren.d.ts +5 -0
  194. package/components/InfiniteTreeList/utils/insertChildren/insertChildren.js +41 -0
  195. package/components/InfiniteTreeList/utils/removeChildren/index.d.ts +1 -0
  196. package/components/InfiniteTreeList/utils/removeChildren/index.js +1 -0
  197. package/components/InfiniteTreeList/utils/removeChildren/removeChildren.d.ts +5 -0
  198. package/components/InfiniteTreeList/utils/removeChildren/removeChildren.js +12 -0
  199. package/components/InfiniteTreeList/utils/sortCollapsed/sortCollapsed.d.ts +5 -0
  200. package/components/InfiniteTreeList/{useLogic/utils → utils}/sortCollapsed/sortCollapsed.js +1 -6
  201. package/components/InfiniteTreeList/utils/startRemoveAnimation/index.d.ts +1 -0
  202. package/components/InfiniteTreeList/utils/startRemoveAnimation/index.js +1 -0
  203. package/components/InfiniteTreeList/utils/startRemoveAnimation/startRemoveAnimation.d.ts +1 -0
  204. package/components/InfiniteTreeList/utils/startRemoveAnimation/startRemoveAnimation.js +5 -0
  205. package/components/InfiniteTreeList/utils/syncChildrenPlaceholders/index.d.ts +1 -0
  206. package/components/InfiniteTreeList/utils/syncChildrenPlaceholders/index.js +1 -0
  207. package/components/InfiniteTreeList/utils/syncChildrenPlaceholders/syncChildrenPlaceholders.d.ts +11 -0
  208. package/components/InfiniteTreeList/utils/syncChildrenPlaceholders/syncChildrenPlaceholders.js +99 -0
  209. package/node/components/InfiniteTreeList/InfiniteTreeList.d.ts +18 -0
  210. package/node/components/InfiniteTreeList/InfiniteTreeList.js +24 -17
  211. package/node/components/InfiniteTreeList/InfiniteTreeListActions/InfiniteTreeListActions.d.ts +9 -0
  212. package/node/components/InfiniteTreeList/InfiniteTreeListActions/InfiniteTreeListActions.js +9 -0
  213. package/node/components/InfiniteTreeList/InfiniteTreeListActions/types.d.ts +5 -0
  214. package/node/components/InfiniteTreeList/InfiniteTreeListActions/useLogic/useLogic.js +5 -6
  215. package/node/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContext.d.ts +81 -0
  216. package/node/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContext.js +21 -0
  217. package/node/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContextProvider/InfiniteTreeListContextProvider.d.ts +3 -2
  218. package/node/components/InfiniteTreeList/InfiniteTreeListContext/InfiniteTreeListContextProvider/InfiniteTreeListContextProvider.js +69 -13
  219. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/ErrorPlaceholder.d.ts +6 -0
  220. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/ErrorPlaceholder.js +12 -0
  221. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/constants.d.ts +1 -0
  222. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/constants.js +4 -0
  223. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/index.d.ts +1 -0
  224. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/index.js +5 -0
  225. package/node/components/InfiniteTreeList/InfiniteTreeListItem/ErrorPlaceholder/styles.js +11 -0
  226. package/node/components/InfiniteTreeList/InfiniteTreeListItem/InfiniteTreeListItem.js +28 -6
  227. package/node/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContext.d.ts +19 -0
  228. package/node/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContext.js +4 -0
  229. package/node/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContextProvider/TreeListItemContextProvider.d.ts +4 -0
  230. package/node/components/InfiniteTreeList/InfiniteTreeListItem/TreeListItemContext/TreeListItemContextProvider/TreeListItemContextProvider.js +13 -8
  231. package/node/components/InfiniteTreeList/InfiniteTreeListItem/constants.d.ts +6 -0
  232. package/node/components/InfiniteTreeList/InfiniteTreeListItem/constants.js +10 -0
  233. package/node/components/InfiniteTreeList/InfiniteTreeListItem/styles.d.ts +4 -4
  234. package/node/components/InfiniteTreeList/InfiniteTreeListItem/styles.js +29 -6
  235. package/node/components/InfiniteTreeList/InfiniteTreeListItem/types.d.ts +20 -3
  236. package/node/components/InfiniteTreeList/InfiniteTreeListItem/useLogic/useLogic.d.ts +7 -1
  237. package/node/components/InfiniteTreeList/InfiniteTreeListItem/useLogic/useLogic.js +56 -4
  238. package/node/components/InfiniteTreeList/{EndData → ListFooter/EndData}/EndData.js +1 -1
  239. package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/ErrorMessage.js +2 -2
  240. package/node/components/InfiniteTreeList/ListFooter/ErrorMessage/styles.d.ts +5 -0
  241. package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/styles.js +1 -1
  242. package/node/components/InfiniteTreeList/ListFooter/ListFooter.d.ts +10 -0
  243. package/node/components/InfiniteTreeList/ListFooter/ListFooter.js +29 -0
  244. package/node/components/InfiniteTreeList/ListFooter/index.d.ts +2 -0
  245. package/node/components/InfiniteTreeList/ListFooter/index.js +17 -0
  246. package/node/components/InfiniteTreeList/{styles.js → ListFooter/styles.js} +1 -1
  247. package/node/components/InfiniteTreeList/ListFooter/types.d.ts +22 -0
  248. package/node/components/InfiniteTreeList/ListFooter/types.js +2 -0
  249. package/node/components/InfiniteTreeList/OnTopButton/OnTopButton.d.ts +8 -2
  250. package/node/components/InfiniteTreeList/OnTopButton/OnTopButton.js +6 -5
  251. package/node/components/InfiniteTreeList/OnTopButton/styles.d.ts +4 -0
  252. package/node/components/InfiniteTreeList/OnTopButton/styles.js +13 -0
  253. package/node/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/CustomParentWrapper.d.ts +23 -0
  254. package/node/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/CustomParentWrapper.js +15 -0
  255. package/node/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/index.d.ts +1 -0
  256. package/node/components/InfiniteTreeList/ParentItems/Item/CustomParentWrapper/index.js +17 -0
  257. package/node/components/InfiniteTreeList/ParentItems/Item/Item.d.ts +10 -0
  258. package/node/components/InfiniteTreeList/ParentItems/Item/Item.js +25 -0
  259. package/node/components/InfiniteTreeList/ParentItems/Item/index.d.ts +2 -0
  260. package/node/components/InfiniteTreeList/ParentItems/Item/index.js +18 -0
  261. package/node/components/InfiniteTreeList/ParentItems/Item/types.d.ts +8 -0
  262. package/node/components/InfiniteTreeList/ParentItems/Item/types.js +2 -0
  263. package/node/components/InfiniteTreeList/ParentItems/Item/useLogic/index.d.ts +1 -0
  264. package/node/components/InfiniteTreeList/ParentItems/Item/useLogic/index.js +17 -0
  265. package/node/components/InfiniteTreeList/ParentItems/Item/useLogic/useLogic.d.ts +12 -0
  266. package/node/components/InfiniteTreeList/ParentItems/Item/useLogic/useLogic.js +16 -0
  267. package/node/components/InfiniteTreeList/ParentItems/ParentItems.d.ts +11 -0
  268. package/node/components/InfiniteTreeList/ParentItems/ParentItems.js +15 -0
  269. package/node/components/InfiniteTreeList/ParentItems/index.d.ts +3 -0
  270. package/node/components/InfiniteTreeList/ParentItems/index.js +19 -0
  271. package/node/components/InfiniteTreeList/ParentItems/types.d.ts +8 -0
  272. package/node/components/InfiniteTreeList/ParentItems/types.js +2 -0
  273. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/ChildrenPlaceholder.d.ts +9 -0
  274. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/ChildrenPlaceholder.js +26 -0
  275. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/NoDataRow.d.ts +1 -0
  276. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/NoDataRow.js +9 -0
  277. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/index.d.ts +1 -0
  278. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/NoDataRow/index.js +17 -0
  279. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/index.d.ts +1 -0
  280. package/node/components/InfiniteTreeList/TreeItem/ChildrenPlaceholder/index.js +17 -0
  281. package/node/components/InfiniteTreeList/TreeItem/CustomItemWrapper/CustomItemWrapper.d.ts +20 -0
  282. package/node/components/InfiniteTreeList/TreeItem/CustomItemWrapper/CustomItemWrapper.js +13 -0
  283. package/node/components/InfiniteTreeList/TreeItem/CustomItemWrapper/index.d.ts +1 -0
  284. package/node/components/InfiniteTreeList/TreeItem/CustomItemWrapper/index.js +17 -0
  285. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/ParentSlot.d.ts +5 -0
  286. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/ParentSlot.js +42 -0
  287. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/index.d.ts +2 -0
  288. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/index.js +18 -0
  289. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/styles.d.ts +9 -0
  290. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/styles.js +11 -0
  291. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/types.d.ts +6 -0
  292. package/node/components/InfiniteTreeList/TreeItem/ParentSlot/types.js +2 -0
  293. package/node/components/InfiniteTreeList/TreeItem/TreeItem.d.ts +5 -2
  294. package/node/components/InfiniteTreeList/TreeItem/TreeItem.js +31 -4
  295. package/node/components/InfiniteTreeList/TreeItem/constants.d.ts +3 -0
  296. package/node/components/InfiniteTreeList/TreeItem/constants.js +3 -1
  297. package/node/components/InfiniteTreeList/TreeItem/styles.d.ts +0 -3
  298. package/node/components/InfiniteTreeList/TreeItem/styles.js +23 -8
  299. package/node/components/InfiniteTreeList/TreeItem/types.d.ts +4 -9
  300. package/node/components/InfiniteTreeList/TreeItem/useLogic/useLogic.d.ts +29 -9
  301. package/node/components/InfiniteTreeList/TreeItem/useLogic/useLogic.js +60 -18
  302. package/node/components/InfiniteTreeList/constants.d.ts +14 -2
  303. package/node/components/InfiniteTreeList/constants.js +15 -3
  304. package/node/components/InfiniteTreeList/hooks/index.d.ts +5 -0
  305. package/node/components/InfiniteTreeList/hooks/index.js +21 -0
  306. package/node/components/InfiniteTreeList/hooks/useChildrenState/index.d.ts +2 -0
  307. package/node/components/InfiniteTreeList/hooks/useChildrenState/index.js +18 -0
  308. package/node/components/InfiniteTreeList/hooks/useChildrenState/types.d.ts +43 -0
  309. package/node/components/InfiniteTreeList/hooks/useChildrenState/types.js +2 -0
  310. package/node/components/InfiniteTreeList/hooks/useChildrenState/useChildrenState.d.ts +20 -0
  311. package/node/components/InfiniteTreeList/hooks/useChildrenState/useChildrenState.js +119 -0
  312. package/node/components/InfiniteTreeList/hooks/useEnterAnimation/index.d.ts +2 -0
  313. package/node/components/InfiniteTreeList/hooks/useEnterAnimation/index.js +18 -0
  314. package/node/components/InfiniteTreeList/hooks/useEnterAnimation/types.d.ts +29 -0
  315. package/node/components/InfiniteTreeList/hooks/useEnterAnimation/types.js +2 -0
  316. package/node/components/InfiniteTreeList/hooks/useEnterAnimation/useEnterAnimation.d.ts +6 -0
  317. package/node/components/InfiniteTreeList/hooks/useEnterAnimation/useEnterAnimation.js +39 -0
  318. package/node/components/InfiniteTreeList/hooks/useExpandNotifier/index.d.ts +1 -0
  319. package/node/components/InfiniteTreeList/hooks/useExpandNotifier/index.js +17 -0
  320. package/node/components/InfiniteTreeList/hooks/useExpandNotifier/useExpandNotifier.d.ts +8 -0
  321. package/node/components/InfiniteTreeList/hooks/useExpandNotifier/useExpandNotifier.js +23 -0
  322. package/node/components/InfiniteTreeList/hooks/useFlatTree/index.d.ts +2 -0
  323. package/node/components/InfiniteTreeList/hooks/useFlatTree/index.js +18 -0
  324. package/node/components/InfiniteTreeList/hooks/useFlatTree/types.d.ts +20 -0
  325. package/node/components/InfiniteTreeList/hooks/useFlatTree/types.js +2 -0
  326. package/node/components/InfiniteTreeList/hooks/useFlatTree/useFlatTree.d.ts +15 -0
  327. package/node/components/InfiniteTreeList/hooks/useFlatTree/useFlatTree.js +92 -0
  328. package/node/components/InfiniteTreeList/hooks/useListScroll/index.d.ts +2 -0
  329. package/node/components/InfiniteTreeList/hooks/useListScroll/index.js +18 -0
  330. package/node/components/InfiniteTreeList/hooks/useListScroll/types.d.ts +25 -0
  331. package/node/components/InfiniteTreeList/hooks/useListScroll/types.js +2 -0
  332. package/node/components/InfiniteTreeList/hooks/useListScroll/useListScroll.d.ts +29 -0
  333. package/node/components/InfiniteTreeList/hooks/useListScroll/useListScroll.js +63 -0
  334. package/node/components/InfiniteTreeList/index.d.ts +1 -1
  335. package/node/components/InfiniteTreeList/public.d.ts +1 -1
  336. package/node/components/InfiniteTreeList/types.d.ts +83 -17
  337. package/node/components/InfiniteTreeList/useLogic/useLogic.d.ts +22 -12
  338. package/node/components/InfiniteTreeList/useLogic/useLogic.js +64 -69
  339. package/node/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/checkHasSkeletonPlaceholders.d.ts +5 -0
  340. package/node/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/checkHasSkeletonPlaceholders.js +10 -0
  341. package/node/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/index.d.ts +1 -0
  342. package/node/components/InfiniteTreeList/utils/checkHasSkeletonPlaceholders/index.js +17 -0
  343. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/checkIsChildrenPlaceholder.d.ts +5 -0
  344. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/checkIsChildrenPlaceholder.js +8 -0
  345. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/index.d.ts +1 -0
  346. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholder/index.js +17 -0
  347. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/checkIsChildrenPlaceholderOf.d.ts +5 -0
  348. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/checkIsChildrenPlaceholderOf.js +9 -0
  349. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/index.d.ts +1 -0
  350. package/node/components/InfiniteTreeList/utils/checkIsChildrenPlaceholderOf/index.js +17 -0
  351. package/node/components/InfiniteTreeList/utils/checkIsDirectChild/checkIsDirectChild.d.ts +6 -0
  352. package/node/components/InfiniteTreeList/utils/checkIsDirectChild/checkIsDirectChild.js +10 -0
  353. package/node/components/InfiniteTreeList/utils/checkIsDirectChild/index.d.ts +1 -0
  354. package/node/components/InfiniteTreeList/utils/checkIsDirectChild/index.js +17 -0
  355. package/node/components/InfiniteTreeList/utils/checkIsNoDataChildren/checkIsNoDataChildren.d.ts +12 -0
  356. package/node/components/InfiniteTreeList/utils/checkIsNoDataChildren/checkIsNoDataChildren.js +18 -0
  357. package/node/components/InfiniteTreeList/utils/checkIsNoDataChildren/index.d.ts +1 -0
  358. package/node/components/InfiniteTreeList/utils/checkIsNoDataChildren/index.js +17 -0
  359. package/node/components/InfiniteTreeList/utils/checkIsSameChildren/checkIsSameChildren.d.ts +5 -0
  360. package/node/components/InfiniteTreeList/utils/checkIsSameChildren/checkIsSameChildren.js +20 -0
  361. package/node/components/InfiniteTreeList/utils/checkIsSameChildren/index.d.ts +1 -0
  362. package/node/components/InfiniteTreeList/utils/checkIsSameChildren/index.js +17 -0
  363. package/node/components/InfiniteTreeList/utils/countDirectChildren/countDirectChildren.d.ts +5 -0
  364. package/node/components/InfiniteTreeList/utils/countDirectChildren/countDirectChildren.js +9 -0
  365. package/node/components/InfiniteTreeList/utils/countDirectChildren/index.d.ts +1 -0
  366. package/node/components/InfiniteTreeList/utils/countDirectChildren/index.js +17 -0
  367. package/node/components/InfiniteTreeList/utils/createParentSlots/createParentSlots.d.ts +24 -0
  368. package/node/components/InfiniteTreeList/utils/createParentSlots/createParentSlots.js +39 -0
  369. package/node/components/InfiniteTreeList/utils/createParentSlots/index.d.ts +1 -0
  370. package/node/components/InfiniteTreeList/utils/createParentSlots/index.js +17 -0
  371. package/node/components/InfiniteTreeList/utils/createTailRegistry/createTailRegistry.d.ts +21 -0
  372. package/node/components/InfiniteTreeList/utils/createTailRegistry/createTailRegistry.js +44 -0
  373. package/node/components/InfiniteTreeList/utils/createTailRegistry/index.d.ts +1 -0
  374. package/node/components/InfiniteTreeList/utils/createTailRegistry/index.js +5 -0
  375. package/node/components/InfiniteTreeList/utils/flattenChildren/flattenChildren.d.ts +5 -0
  376. package/node/components/InfiniteTreeList/utils/flattenChildren/flattenChildren.js +9 -0
  377. package/node/components/InfiniteTreeList/utils/flattenChildren/index.d.ts +1 -0
  378. package/node/components/InfiniteTreeList/utils/flattenChildren/index.js +17 -0
  379. package/node/components/InfiniteTreeList/utils/flattenTree/flattenTree.d.ts +6 -0
  380. package/node/components/InfiniteTreeList/{useLogic/utils → utils}/flattenTree/flattenTree.js +9 -4
  381. package/node/components/InfiniteTreeList/utils/getEnteringChildren/getEnteringChildren.d.ts +17 -0
  382. package/node/components/InfiniteTreeList/utils/getEnteringChildren/getEnteringChildren.js +18 -0
  383. package/node/components/InfiniteTreeList/utils/getEnteringChildren/index.d.ts +1 -0
  384. package/node/components/InfiniteTreeList/utils/getEnteringChildren/index.js +17 -0
  385. package/node/components/InfiniteTreeList/utils/getIdsToKeep/getIdsToKeep.d.ts +10 -0
  386. package/node/components/InfiniteTreeList/utils/getIdsToKeep/getIdsToKeep.js +31 -0
  387. package/node/components/InfiniteTreeList/utils/getIdsToKeep/index.d.ts +1 -0
  388. package/node/components/InfiniteTreeList/utils/getIdsToKeep/index.js +17 -0
  389. package/node/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/getInitialExpandedIds.d.ts +4 -2
  390. package/node/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/getInitialExpandedIds.js +5 -4
  391. package/node/components/InfiniteTreeList/utils/getNestedItems/getNestedItems.d.ts +6 -0
  392. package/node/components/InfiniteTreeList/utils/getNestedItems/getNestedItems.js +22 -0
  393. package/node/components/InfiniteTreeList/utils/getNestedItems/index.d.ts +1 -0
  394. package/node/components/InfiniteTreeList/{useLogic/utils/getDescendants → utils/getNestedItems}/index.js +1 -1
  395. package/node/components/InfiniteTreeList/utils/index.d.ts +20 -0
  396. package/node/components/InfiniteTreeList/utils/index.js +36 -0
  397. package/node/components/InfiniteTreeList/utils/insertChildren/index.d.ts +1 -0
  398. package/node/components/InfiniteTreeList/utils/insertChildren/index.js +17 -0
  399. package/node/components/InfiniteTreeList/utils/insertChildren/insertChildren.d.ts +5 -0
  400. package/node/components/InfiniteTreeList/utils/insertChildren/insertChildren.js +45 -0
  401. package/node/components/InfiniteTreeList/utils/removeChildren/index.d.ts +1 -0
  402. package/node/components/InfiniteTreeList/utils/removeChildren/index.js +17 -0
  403. package/node/components/InfiniteTreeList/utils/removeChildren/removeChildren.d.ts +5 -0
  404. package/node/components/InfiniteTreeList/utils/removeChildren/removeChildren.js +16 -0
  405. package/node/components/InfiniteTreeList/utils/sortCollapsed/sortCollapsed.d.ts +5 -0
  406. package/node/components/InfiniteTreeList/{useLogic/utils → utils}/sortCollapsed/sortCollapsed.js +1 -6
  407. package/node/components/InfiniteTreeList/utils/startRemoveAnimation/index.d.ts +1 -0
  408. package/node/components/InfiniteTreeList/utils/startRemoveAnimation/index.js +17 -0
  409. package/node/components/InfiniteTreeList/utils/startRemoveAnimation/startRemoveAnimation.d.ts +1 -0
  410. package/node/components/InfiniteTreeList/utils/startRemoveAnimation/startRemoveAnimation.js +9 -0
  411. package/node/components/InfiniteTreeList/utils/syncChildrenPlaceholders/index.d.ts +1 -0
  412. package/node/components/InfiniteTreeList/utils/syncChildrenPlaceholders/index.js +17 -0
  413. package/node/components/InfiniteTreeList/utils/syncChildrenPlaceholders/syncChildrenPlaceholders.d.ts +11 -0
  414. package/node/components/InfiniteTreeList/utils/syncChildrenPlaceholders/syncChildrenPlaceholders.js +104 -0
  415. package/package.json +1 -1
  416. package/components/InfiniteTreeList/useLogic/utils/flattenTree/flattenTree.d.ts +0 -5
  417. package/components/InfiniteTreeList/useLogic/utils/getDescendants/getDescendants.d.ts +0 -10
  418. package/components/InfiniteTreeList/useLogic/utils/getDescendants/getDescendants.js +0 -22
  419. package/components/InfiniteTreeList/useLogic/utils/getDescendants/index.d.ts +0 -1
  420. package/components/InfiniteTreeList/useLogic/utils/getDescendants/index.js +0 -1
  421. package/components/InfiniteTreeList/useLogic/utils/index.d.ts +0 -4
  422. package/components/InfiniteTreeList/useLogic/utils/index.js +0 -4
  423. package/components/InfiniteTreeList/useLogic/utils/sortCollapsed/sortCollapsed.d.ts +0 -10
  424. package/node/components/InfiniteTreeList/useLogic/utils/flattenTree/flattenTree.d.ts +0 -5
  425. package/node/components/InfiniteTreeList/useLogic/utils/getDescendants/getDescendants.d.ts +0 -10
  426. package/node/components/InfiniteTreeList/useLogic/utils/getDescendants/getDescendants.js +0 -26
  427. package/node/components/InfiniteTreeList/useLogic/utils/getDescendants/index.d.ts +0 -1
  428. package/node/components/InfiniteTreeList/useLogic/utils/index.d.ts +0 -4
  429. package/node/components/InfiniteTreeList/useLogic/utils/index.js +0 -20
  430. package/node/components/InfiniteTreeList/useLogic/utils/sortCollapsed/sortCollapsed.d.ts +0 -10
  431. /package/components/InfiniteTreeList/{EndData → ListFooter/EndData}/EndData.d.ts +0 -0
  432. /package/components/InfiniteTreeList/{EndData → ListFooter/EndData}/constants.d.ts +0 -0
  433. /package/components/InfiniteTreeList/{EndData → ListFooter/EndData}/constants.js +0 -0
  434. /package/components/InfiniteTreeList/{EndData → ListFooter/EndData}/index.d.ts +0 -0
  435. /package/components/InfiniteTreeList/{EndData → ListFooter/EndData}/index.js +0 -0
  436. /package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/ErrorMessage.d.ts +0 -0
  437. /package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/constants.d.ts +0 -0
  438. /package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/constants.js +0 -0
  439. /package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/index.d.ts +0 -0
  440. /package/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/index.js +0 -0
  441. /package/components/InfiniteTreeList/{useLogic/utils → utils}/flattenTree/index.d.ts +0 -0
  442. /package/components/InfiniteTreeList/{useLogic/utils → utils}/flattenTree/index.js +0 -0
  443. /package/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/index.d.ts +0 -0
  444. /package/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/index.js +0 -0
  445. /package/components/InfiniteTreeList/{useLogic/utils → utils}/sortCollapsed/index.d.ts +0 -0
  446. /package/components/InfiniteTreeList/{useLogic/utils → utils}/sortCollapsed/index.js +0 -0
  447. /package/node/components/InfiniteTreeList/{ErrorMessage → InfiniteTreeListItem/ErrorPlaceholder}/styles.d.ts +0 -0
  448. /package/node/components/InfiniteTreeList/{EndData → ListFooter/EndData}/EndData.d.ts +0 -0
  449. /package/node/components/InfiniteTreeList/{EndData → ListFooter/EndData}/constants.d.ts +0 -0
  450. /package/node/components/InfiniteTreeList/{EndData → ListFooter/EndData}/constants.js +0 -0
  451. /package/node/components/InfiniteTreeList/{EndData → ListFooter/EndData}/index.d.ts +0 -0
  452. /package/node/components/InfiniteTreeList/{EndData → ListFooter/EndData}/index.js +0 -0
  453. /package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/ErrorMessage.d.ts +0 -0
  454. /package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/constants.d.ts +0 -0
  455. /package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/constants.js +0 -0
  456. /package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/index.d.ts +0 -0
  457. /package/node/components/InfiniteTreeList/{ErrorMessage → ListFooter/ErrorMessage}/index.js +0 -0
  458. /package/node/components/InfiniteTreeList/{styles.d.ts → ListFooter/styles.d.ts} +0 -0
  459. /package/node/components/InfiniteTreeList/{useLogic/utils → utils}/flattenTree/index.d.ts +0 -0
  460. /package/node/components/InfiniteTreeList/{useLogic/utils → utils}/flattenTree/index.js +0 -0
  461. /package/node/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/index.d.ts +0 -0
  462. /package/node/components/InfiniteTreeList/{useLogic/utils → utils}/getInitialExpandedIds/index.js +0 -0
  463. /package/node/components/InfiniteTreeList/{useLogic/utils → utils}/sortCollapsed/index.d.ts +0 -0
  464. /package/node/components/InfiniteTreeList/{useLogic/utils → utils}/sortCollapsed/index.js +0 -0
@@ -0,0 +1 @@
1
+ export * from './getIdsToKeep';
@@ -0,0 +1 @@
1
+ export * from './getIdsToKeep';
@@ -1,5 +1,7 @@
1
- import type { InfiniteTreeListData } from '../../../types';
1
+ import type { InfiniteTreeListData } from '../../types';
2
2
  /**
3
- * Получает начальный набор раскрытых узлов
3
+ * Получает начальный набор раскрытых узлов.
4
+ * Узел с подгружаемыми дочерними элементами раскрывается наравне
5
+ * со статической веткой
4
6
  */
5
7
  export declare const getInitialExpandedIds: <TData extends InfiniteTreeListData<TData>>(prev: Set<string>, items: TData[], initialExpandedLevel?: number, currentLevel?: number) => Set<string>;
@@ -1,19 +1,20 @@
1
1
  /**
2
- * Получает начальный набор раскрытых узлов
2
+ * Получает начальный набор раскрытых узлов.
3
+ * Узел с подгружаемыми дочерними элементами раскрывается наравне
4
+ * со статической веткой
3
5
  */
4
6
  export const getInitialExpandedIds = (prev, items, initialExpandedLevel, currentLevel = 0) => {
5
7
  const expandedIds = new Set(prev);
6
- // Более точная проверка
7
8
  if (initialExpandedLevel === undefined) {
8
9
  return expandedIds;
9
10
  }
10
11
  const shouldExpand = currentLevel < initialExpandedLevel;
11
12
  items.forEach((item) => {
12
- if (shouldExpand && item.children) {
13
+ const hasNested = Boolean(item.children) || item.hasChildren === true;
14
+ if (shouldExpand && hasNested) {
13
15
  if (!prev?.has(item.id)) {
14
16
  expandedIds.add(item.id);
15
17
  }
16
- // Рекурсивно обрабатываем существующих детей
17
18
  if (item.children?.length) {
18
19
  const childExpandedIds = getInitialExpandedIds(prev, item.children, initialExpandedLevel, currentLevel + 1);
19
20
  childExpandedIds.forEach((id) => expandedIds.add(id));
@@ -0,0 +1,6 @@
1
+ import type { FlattenTree, InfiniteTreeListData } from '../../types';
2
+ /**
3
+ * Собирает вложенные строки узла из плоского списка.
4
+ * Свёрнутых веток в списке нет
5
+ */
6
+ export declare const getNestedItems: <TData extends InfiniteTreeListData<TData>>(flatList: FlattenTree<TData>[], parentId: string) => FlattenTree<TData>[];
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Собирает вложенные строки узла из плоского списка.
3
+ * Свёрнутых веток в списке нет
4
+ */
5
+ export const getNestedItems = (flatList, parentId) => {
6
+ const result = [];
7
+ const collectChildren = (id) => {
8
+ const children = flatList.filter((item) => item.meta.parentId === id);
9
+ children.forEach((child) => {
10
+ result.push(child);
11
+ if (child.meta.isExpanded) {
12
+ collectChildren(child.id);
13
+ }
14
+ });
15
+ };
16
+ collectChildren(parentId);
17
+ return result;
18
+ };
@@ -0,0 +1 @@
1
+ export * from './getNestedItems';
@@ -0,0 +1 @@
1
+ export * from './getNestedItems';
@@ -0,0 +1,20 @@
1
+ export * from './checkHasSkeletonPlaceholders';
2
+ export * from './checkIsChildrenPlaceholder';
3
+ export * from './checkIsChildrenPlaceholderOf';
4
+ export * from './checkIsDirectChild';
5
+ export * from './checkIsNoDataChildren';
6
+ export * from './checkIsSameChildren';
7
+ export * from './countDirectChildren';
8
+ export * from './createParentSlots';
9
+ export * from './createTailRegistry';
10
+ export * from './flattenChildren';
11
+ export * from './flattenTree';
12
+ export * from './getEnteringChildren';
13
+ export * from './getIdsToKeep';
14
+ export * from './getInitialExpandedIds';
15
+ export * from './getNestedItems';
16
+ export * from './insertChildren';
17
+ export * from './removeChildren';
18
+ export * from './sortCollapsed';
19
+ export * from './startRemoveAnimation';
20
+ export * from './syncChildrenPlaceholders';
@@ -0,0 +1,20 @@
1
+ export * from './checkHasSkeletonPlaceholders';
2
+ export * from './checkIsChildrenPlaceholder';
3
+ export * from './checkIsChildrenPlaceholderOf';
4
+ export * from './checkIsDirectChild';
5
+ export * from './checkIsNoDataChildren';
6
+ export * from './checkIsSameChildren';
7
+ export * from './countDirectChildren';
8
+ export * from './createParentSlots';
9
+ export * from './createTailRegistry';
10
+ export * from './flattenChildren';
11
+ export * from './flattenTree';
12
+ export * from './getEnteringChildren';
13
+ export * from './getIdsToKeep';
14
+ export * from './getInitialExpandedIds';
15
+ export * from './getNestedItems';
16
+ export * from './insertChildren';
17
+ export * from './removeChildren';
18
+ export * from './sortCollapsed';
19
+ export * from './startRemoveAnimation';
20
+ export * from './syncChildrenPlaceholders';
@@ -0,0 +1 @@
1
+ export * from './insertChildren';
@@ -0,0 +1 @@
1
+ export * from './insertChildren';
@@ -0,0 +1,5 @@
1
+ import type { FlattenTree, InfiniteTreeListData } from '../../types';
2
+ /**
3
+ * Вставляет дочерние элементы после родителя в плоский список.
4
+ */
5
+ export declare const insertChildren: <TData extends InfiniteTreeListData<TData>>(flatList: FlattenTree<TData>[], parentId: string, childrenData: TData[], expandedIds: Set<string>) => FlattenTree<TData>[];
@@ -0,0 +1,41 @@
1
+ import { checkIsDirectChild } from '../checkIsDirectChild';
2
+ import { flattenChildren } from '../flattenChildren';
3
+ import { getNestedItems } from '../getNestedItems';
4
+ /**
5
+ * Возвращает прямых дочерних элементов родителя из плоского списка
6
+ */
7
+ const getDirectChildren = (flatList, parentId) => flatList.filter((item) => checkIsDirectChild(item, parentId));
8
+ /**
9
+ * Вставляет дочерние элементы после родителя в плоский список.
10
+ */
11
+ export const insertChildren = (flatList, parentId, childrenData, expandedIds) => {
12
+ const parentIndex = flatList.findIndex((item) => item.id === parentId);
13
+ if (parentIndex === -1) {
14
+ return flatList;
15
+ }
16
+ const parent = flatList[parentIndex];
17
+ const nextChildren = flattenChildren(childrenData, parent, expandedIds);
18
+ const existingDirect = getDirectChildren(flatList, parentId);
19
+ const sameBranch = existingDirect.length === nextChildren.length &&
20
+ existingDirect.every((item, index) => item.id === nextChildren[index]?.id);
21
+ if (sameBranch) {
22
+ return flatList;
23
+ }
24
+ const nestedItems = getNestedItems(flatList, parentId);
25
+ const nextBranch = [];
26
+ nextChildren.forEach((child) => {
27
+ nextBranch.push(child);
28
+ const sourceChild = childrenData.find((item) => item.id === child.id);
29
+ const isNestedFlattened = Boolean(child.meta.isExpanded && sourceChild?.children?.length);
30
+ if (!isNestedFlattened) {
31
+ nextBranch.push(...getNestedItems(flatList, child.id));
32
+ }
33
+ });
34
+ const branchEnd = parentIndex + 1 + nestedItems.length;
35
+ return [
36
+ ...flatList.slice(0, parentIndex),
37
+ { ...parent, children: childrenData },
38
+ ...nextBranch,
39
+ ...flatList.slice(branchEnd),
40
+ ];
41
+ };
@@ -0,0 +1 @@
1
+ export * from './removeChildren';
@@ -0,0 +1 @@
1
+ export * from './removeChildren';
@@ -0,0 +1,5 @@
1
+ import type { FlattenTree, InfiniteTreeListData } from '../../types';
2
+ /**
3
+ * Удаляет дочерние элементы родителя из плоского списка и сворачивает родителя
4
+ */
5
+ export declare const removeChildren: <TData extends InfiniteTreeListData<TData>>(flatList: FlattenTree<TData>[], parentId: string) => FlattenTree<TData>[];
@@ -0,0 +1,12 @@
1
+ import { getNestedItems } from '../getNestedItems';
2
+ /**
3
+ * Удаляет дочерние элементы родителя из плоского списка и сворачивает родителя
4
+ */
5
+ export const removeChildren = (flatList, parentId) => {
6
+ const descendantIds = new Set(getNestedItems(flatList, parentId).map((item) => item.id));
7
+ return flatList
8
+ .filter((item) => !descendantIds.has(item.id))
9
+ .map((item) => item.id === parentId
10
+ ? { ...item, meta: { ...item.meta, isExpanded: false } }
11
+ : item);
12
+ };
@@ -0,0 +1,5 @@
1
+ import type { FlattenTree, InfiniteTreeListData } from '../../types';
2
+ /**
3
+ * Сортирует элементы для корректной последовательности анимации при сворачивании
4
+ */
5
+ export declare const sortCollapsed: <TData extends InfiniteTreeListData<TData>>(items: FlattenTree<TData>[]) => FlattenTree<TData>[];
@@ -1,10 +1,5 @@
1
1
  /**
2
- * Сортирует элементы для корректной последовательности анимации при сворачивании.
3
- * Сначала более глубокие уровни, затем по индексу среди соседей.
4
- *
5
- * @typeParam T - тип данных элемента дерева
6
- * @param items - элементы в формате `FlattenTree<T>`
7
- * @returns Отсортированный массив `FlattenTree<T>`
2
+ * Сортирует элементы для корректной последовательности анимации при сворачивании
8
3
  */
9
4
  export const sortCollapsed = (items) => {
10
5
  return [...items].sort((a, b) => {
@@ -0,0 +1 @@
1
+ export * from './startRemoveAnimation';
@@ -0,0 +1 @@
1
+ export * from './startRemoveAnimation';
@@ -0,0 +1 @@
1
+ export declare const startRemoveAnimation: (nodeId: string) => void;
@@ -0,0 +1,5 @@
1
+ import { infiniteTreeListClassnames } from '../../constants';
2
+ export const startRemoveAnimation = (nodeId) => {
3
+ const treeItem = document.getElementById(nodeId);
4
+ treeItem?.classList.add(infiniteTreeListClassnames.rowRemoveAnimation);
5
+ };
@@ -0,0 +1 @@
1
+ export * from './syncChildrenPlaceholders';
@@ -0,0 +1 @@
1
+ export * from './syncChildrenPlaceholders';
@@ -0,0 +1,11 @@
1
+ import type { FlattenTree, InfiniteTreeListData } from '../../types';
2
+ /**
3
+ * Возвращает id строк-заглушек, которые получит родитель.
4
+ */
5
+ export declare const getChildrenPlaceholderIds: (parentId: string, count: number) => string[];
6
+ /**
7
+ * Приводит строки-заглушки ветки родителя к состоянию загрузки её дочерних
8
+ * элементов:
9
+ * ставит нужный вид заглушки, меняет его или убирает заглушки совсем
10
+ */
11
+ export declare const syncChildrenPlaceholders: <TData extends InfiniteTreeListData<TData>>(flatList: FlattenTree<TData>[], parentId: string, isLoading: boolean, skeletonCount: number, isError?: boolean, isNoData?: boolean) => FlattenTree<TData>[];
@@ -0,0 +1,99 @@
1
+ import { checkIsChildrenPlaceholderOf } from '../checkIsChildrenPlaceholderOf';
2
+ import { checkIsDirectChild } from '../checkIsDirectChild';
3
+ import { countDirectChildren } from '../countDirectChildren';
4
+ import { getNestedItems } from '../getNestedItems';
5
+ /**
6
+ * Возвращает стабильный id строки-заглушки для родителя.
7
+ */
8
+ const getPlaceholderId = (parentId, index) => `loader-${parentId}-${index}`;
9
+ /**
10
+ * Возвращает стабильный id строки-заглушки «Нет данных».
11
+ */
12
+ const getNoDataId = (parentId) => `no-data-${parentId}`;
13
+ /**
14
+ * Возвращает id строк-заглушек, которые получит родитель.
15
+ */
16
+ export const getChildrenPlaceholderIds = (parentId, count) => Array.from({ length: count }, (_, index) => getPlaceholderId(parentId, index));
17
+ /**
18
+ * Какую заглушку должна показывать ветка при текущем состоянии загрузки
19
+ * дочерних элементов.
20
+ */
21
+ const resolveChildrenPlaceholderKind = (isLoading, isError, isNoData, realChildren) => {
22
+ if (isLoading) {
23
+ return realChildren ? 'spinner' : 'skeleton';
24
+ }
25
+ if (isError) {
26
+ return 'error';
27
+ }
28
+ if (isNoData && !realChildren) {
29
+ return 'no-data';
30
+ }
31
+ return undefined;
32
+ };
33
+ const getPlaceholderCount = (kind, skeletonCount) => {
34
+ if (!kind) {
35
+ return 0;
36
+ }
37
+ return kind === 'skeleton' ? skeletonCount : 1;
38
+ };
39
+ /**
40
+ * Создаёт строку-заглушку ветки
41
+ */
42
+ const createChildrenPlaceholder = (parent, { kind, index, siblingIndex, }) => {
43
+ const id = kind === 'no-data'
44
+ ? getNoDataId(parent.id)
45
+ : getPlaceholderId(parent.id, index);
46
+ return {
47
+ id,
48
+ placeholderKind: kind,
49
+ meta: {
50
+ hasNested: false,
51
+ isChildrenAsync: false,
52
+ level: parent.meta.level + 1,
53
+ path: [...parent.meta.path, id],
54
+ isExpanded: false,
55
+ parentId: parent.id,
56
+ siblingIndex,
57
+ nodeId: `infinite-tree-item-${id}`,
58
+ },
59
+ };
60
+ };
61
+ /**
62
+ * Приводит строки-заглушки ветки родителя к состоянию загрузки её дочерних
63
+ * элементов:
64
+ * ставит нужный вид заглушки, меняет его или убирает заглушки совсем
65
+ */
66
+ export const syncChildrenPlaceholders = (flatList, parentId, isLoading, skeletonCount, isError, isNoData) => {
67
+ const parentIndex = flatList.findIndex((item) => item.id === parentId);
68
+ if (parentIndex === -1) {
69
+ return flatList;
70
+ }
71
+ const parent = flatList[parentIndex];
72
+ const existingPlaceholders = flatList.filter((item) => checkIsChildrenPlaceholderOf(item, parentId));
73
+ const realChildren = flatList.some((item) => checkIsDirectChild(item, parentId));
74
+ const kind = resolveChildrenPlaceholderKind(isLoading, Boolean(isError), Boolean(isNoData), realChildren);
75
+ const desiredCount = getPlaceholderCount(kind, skeletonCount);
76
+ const samePlaceholders = existingPlaceholders.length === desiredCount &&
77
+ existingPlaceholders.every((item) => item.placeholderKind === kind);
78
+ if (samePlaceholders) {
79
+ return flatList;
80
+ }
81
+ const withoutPlaceholders = flatList.filter((item) => !checkIsChildrenPlaceholderOf(item, parentId));
82
+ if (!kind) {
83
+ return withoutPlaceholders;
84
+ }
85
+ const nextParentIndex = withoutPlaceholders.findIndex((item) => item.id === parentId);
86
+ const nestedItems = getNestedItems(withoutPlaceholders, parentId);
87
+ const insertIndex = nextParentIndex + 1 + nestedItems.length;
88
+ const realDirectCount = countDirectChildren(withoutPlaceholders, parentId);
89
+ const placeholders = Array.from({ length: desiredCount }, (_, index) => createChildrenPlaceholder(parent, {
90
+ kind,
91
+ index,
92
+ siblingIndex: realDirectCount + index,
93
+ }));
94
+ return [
95
+ ...withoutPlaceholders.slice(0, insertIndex),
96
+ ...placeholders,
97
+ ...withoutPlaceholders.slice(insertIndex),
98
+ ];
99
+ };
@@ -1,2 +1,20 @@
1
1
  import type { InfiniteTreeListData, InfiniteTreeListProps } from './types';
2
+ /**
3
+ * Виртуализированное дерево с бесконечной подгрузкой
4
+ *
5
+ * @example
6
+ * <InfiniteTreeList
7
+ * items={items}
8
+ * scrollRef={scrollRef}
9
+ * onRetry={refetch}
10
+ * renderItem={(item) => (
11
+ * <InfiniteTreeListItem>{item.name}</InfiniteTreeListItem>
12
+ * )}
13
+ * renderParent={(item) => (
14
+ * <InfiniteTreeListItem childItems={childrenState[item.id]?.data}>
15
+ * {item.name}
16
+ * </InfiniteTreeListItem>
17
+ * )}
18
+ * />
19
+ */
2
20
  export declare const InfiniteTreeList: <TData extends InfiniteTreeListData<TData>>(props: InfiniteTreeListProps<TData>) => import("react/jsx-runtime").JSX.Element;
@@ -2,30 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InfiniteTreeList = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ // cspell:ignore Виртуализированное
5
6
  const react_virtuoso_1 = require("react-virtuoso");
6
7
  const ContentState_1 = require("../ContentState");
7
- const Loader_1 = require("../Loader");
8
- const constants_1 = require("./constants");
9
- const EndData_1 = require("./EndData");
10
- const ErrorMessage_1 = require("./ErrorMessage");
11
8
  const InfiniteTreeListContext_1 = require("./InfiniteTreeListContext");
12
- const InfiniteTreeListItem_1 = require("./InfiniteTreeListItem");
9
+ const ListFooter_1 = require("./ListFooter");
13
10
  const NoDataPlaceholder_1 = require("./NoDataPlaceholder");
14
11
  const OnTopButton_1 = require("./OnTopButton");
15
- const styles_1 = require("./styles");
12
+ const ParentItems_1 = require("./ParentItems");
16
13
  const TreeItem_1 = require("./TreeItem");
17
14
  const useLogic_1 = require("./useLogic");
15
+ const computeItemKey = (_, item) => item.id;
16
+ /**
17
+ * Виртуализированное дерево с бесконечной подгрузкой
18
+ *
19
+ * @example
20
+ * <InfiniteTreeList
21
+ * items={items}
22
+ * scrollRef={scrollRef}
23
+ * onRetry={refetch}
24
+ * renderItem={(item) => (
25
+ * <InfiniteTreeListItem>{item.name}</InfiniteTreeListItem>
26
+ * )}
27
+ * renderParent={(item) => (
28
+ * <InfiniteTreeListItem childItems={childrenState[item.id]?.data}>
29
+ * {item.name}
30
+ * </InfiniteTreeListItem>
31
+ * )}
32
+ * />
33
+ */
18
34
  const InfiniteTreeList = (props) => {
19
- const { flatList, onToggle, contentStateProps, scrollParent, virtuosoProps, footerProps, onTopButtonProps, endOfScrollMsg, renderItem, items, itemSkeleton, onRetry, onLoadMore, noDataImgSrc, recentlyExpandedIds, } = (0, useLogic_1.useLogic)(props);
20
- const renderItemContent = (_index, item) => ((0, jsx_runtime_1.jsx)(InfiniteTreeListItem_1.TreeListItemContextProvider, { item: item, onToggle: onToggle, children: (0, jsx_runtime_1.jsx)(TreeItem_1.TreeItem, { item: item, renderItem: renderItem, recentlyExpandedIds: recentlyExpandedIds }) }));
21
- return ((0, jsx_runtime_1.jsx)(InfiniteTreeListContext_1.InfiniteTreeListContextProvider, { itemSkeleton: itemSkeleton, children: (0, jsx_runtime_1.jsx)(ContentState_1.ContentState, { ...contentStateProps, children: items.length && scrollParent ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_virtuoso_1.Virtuoso, { ...virtuosoProps, data: flatList, customScrollParent: scrollParent, endReached: onLoadMore, itemContent: renderItemContent, computeItemKey: (_, item) => item.id, components: {
22
- Footer: () => {
23
- const { isLoading, isError, isEndReached } = footerProps;
24
- if (!isLoading && !isError && !isEndReached) {
25
- return (0, jsx_runtime_1.jsx)(styles_1.FooterDummy, {});
26
- }
27
- return ((0, jsx_runtime_1.jsxs)(styles_1.Footer, { children: [isLoading && (0, jsx_runtime_1.jsx)(Loader_1.Loader, {}), isError && (0, jsx_runtime_1.jsx)(ErrorMessage_1.ErrorMessage, { onRetry: onRetry }), isEndReached && ((0, jsx_runtime_1.jsx)(EndData_1.EndData, { endOfScrollMsg: endOfScrollMsg }))] }));
28
- },
29
- }, overscan: constants_1.OVERSCAN }), (0, jsx_runtime_1.jsx)(OnTopButton_1.OnTopButton, { ...onTopButtonProps })] })) : ((0, jsx_runtime_1.jsx)(NoDataPlaceholder_1.NoDataPlaceholder, { noDataImgSrc: noDataImgSrc })) }) }));
35
+ const { flatList, onToggle, contentStateProps, scrollParent, virtuosoProps, footerContext, onTopButtonProps, renderItem, renderParent, items, itemSkeleton, onRetry, noDataImgSrc, enterAnimation, tailRegistry, nodePaginationMap, registerChildren, notifyExpand, parentItems, acquireParentSlot, } = (0, useLogic_1.useLogic)(props);
36
+ return ((0, jsx_runtime_1.jsxs)(InfiniteTreeListContext_1.InfiniteTreeListContextProvider, { itemSkeleton: itemSkeleton, nodePaginationMap: nodePaginationMap, registerChildren: registerChildren, notifyExpand: notifyExpand, onListRetry: onRetry, enterAnimation: enterAnimation, tailRegistry: tailRegistry, renderItem: renderItem, renderParent: renderParent, onToggle: onToggle, acquireParentSlot: acquireParentSlot, children: [(0, jsx_runtime_1.jsx)(ParentItems_1.ParentItems, { parents: parentItems }), (0, jsx_runtime_1.jsx)(ContentState_1.ContentState, { ...contentStateProps, children: items.length > 0 && scrollParent ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_virtuoso_1.Virtuoso, { ...virtuosoProps, data: flatList, customScrollParent: scrollParent, computeItemKey: computeItemKey, context: footerContext, components: { Item: TreeItem_1.TreeItem, Footer: ListFooter_1.ListFooter } }), (0, jsx_runtime_1.jsx)(OnTopButton_1.OnTopButton, { ...onTopButtonProps })] })) : ((0, jsx_runtime_1.jsx)(NoDataPlaceholder_1.NoDataPlaceholder, { noDataImgSrc: noDataImgSrc })) })] }));
30
37
  };
31
38
  exports.InfiniteTreeList = InfiniteTreeList;
@@ -1,2 +1,11 @@
1
1
  import type { InfiniteTreeListActionProps } from './types';
2
+ /**
3
+ * Действия строки дерева. Блокирующее действие в состоянии загрузки блокирует
4
+ * строку вместе со всей её веткой
5
+ *
6
+ * @example
7
+ * <InfiniteTreeListActions
8
+ * actions={{ main: [{ name: 'Изменить', onClick: handleEdit }] }}
9
+ * />
10
+ */
2
11
  export declare const InfiniteTreeListActions: <TItem>({ actions, }: InfiniteTreeListActionProps<TItem>) => import("react/jsx-runtime").JSX.Element;
@@ -4,6 +4,15 @@ exports.InfiniteTreeListActions = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const ActionCellBase_1 = require("../../ActionCellBase");
6
6
  const useLogic_1 = require("./useLogic");
7
+ /**
8
+ * Действия строки дерева. Блокирующее действие в состоянии загрузки блокирует
9
+ * строку вместе со всей её веткой
10
+ *
11
+ * @example
12
+ * <InfiniteTreeListActions
13
+ * actions={{ main: [{ name: 'Изменить', onClick: handleEdit }] }}
14
+ * />
15
+ */
7
16
  const InfiniteTreeListActions = ({ actions, }) => {
8
17
  const { isDisabledAction, handleWrapperClick, handleActionClick } = (0, useLogic_1.useLogic)({
9
18
  actions,
@@ -1,4 +1,9 @@
1
1
  import type { Actions } from '../../ActionCellBase';
2
2
  export type InfiniteTreeListActionProps<TItem> = {
3
+ /**
4
+ * Конфигурация действий строки
5
+ *
6
+ * @example actions={{ main: [{ name: 'Изменить', onClick: handleEdit }] }}
7
+ */
3
8
  actions: Actions<TItem>;
4
9
  };
@@ -10,17 +10,16 @@ const useLogic = ({ actions }) => {
10
10
  const { setDisabled } = (0, react_1.useContext)(InfiniteTreeListContext_1.InfiniteTreeListContext);
11
11
  const blockingAction = (0, react_1.useMemo)(() => [...main, ...secondary].find((action) => action.isBlockingOperation && action.loading), [main, secondary]);
12
12
  const isDisabledAction = Boolean(blockingAction);
13
+ const loadingNote = blockingAction?.loadingNote;
13
14
  (0, react_1.useEffect)(() => {
14
- if (blockingAction) {
15
- // Добавляем id элемента в Set disabled элементов
15
+ if (isDisabledAction) {
16
16
  setDisabled(item.id, true);
17
- setDisabledReason(blockingAction?.loadingNote);
17
+ setDisabledReason(loadingNote);
18
18
  return;
19
19
  }
20
- // Удаляем id элемента из Set disabled элементов
21
20
  setDisabled(item.id, false);
22
- setDisabledReason('');
23
- }, [blockingAction, item.id]);
21
+ setDisabledReason(undefined);
22
+ }, [isDisabledAction, loadingNote, item.id]);
24
23
  const handleActionClick = (0, react_1.useCallback)((onClick) => () => {
25
24
  onClick?.(item);
26
25
  }, [item]);
@@ -1,7 +1,88 @@
1
1
  import { type ReactNode } from 'react';
2
+ import type { EnterAnimationResult } from '../hooks';
3
+ import type { FlattenTree, InfiniteTreeChildrenPagination, InfiniteTreeListData } from '../types';
4
+ import type { TailRegistry } from '../utils';
5
+ export type NodePagination = {
6
+ /**
7
+ * ID последнего загруженного дочернего элемента узла
8
+ */
9
+ lastChildId?: string;
10
+ /**
11
+ * Все дочерние данные узла загружены
12
+ */
13
+ isEndReached?: boolean;
14
+ /**
15
+ * Дочерние элементы узла загружаются
16
+ */
17
+ isChildrenLoading?: boolean;
18
+ /**
19
+ * Загрузка дочерних элементов завершилась ошибкой
20
+ */
21
+ isChildrenError?: boolean;
22
+ };
23
+ export type NodeChildrenCallbacks = {
24
+ /**
25
+ * Обработчик подгрузки данных
26
+ */
27
+ onLoadMore?: () => void;
28
+ /**
29
+ * Функция обработки нажатия на кнопку "Повторить запрос"
30
+ */
31
+ onRetry?: () => void;
32
+ };
2
33
  export type InfiniteTreeListContextProps = {
34
+ /**
35
+ * Рендер-функция строки
36
+ */
37
+ renderItem: (item: FlattenTree<InfiniteTreeListData>) => ReactNode;
38
+ /**
39
+ * Рендер-функция строки узла с подгружаемыми дочерними элементами
40
+ */
41
+ renderParent: (item: FlattenTree<InfiniteTreeListData>) => ReactNode;
42
+ /**
43
+ * Переключает раскрытие узла
44
+ */
45
+ onToggle: (item: InfiniteTreeListData) => void;
46
+ /**
47
+ * Строка в состоянии загрузки
48
+ */
3
49
  itemSkeleton: ReactNode;
50
+ /**
51
+ * Id заблокированных узлов
52
+ */
4
53
  disabledIdList: Set<string>;
54
+ /**
55
+ * Отмечает узел заблокированным или снимает отметку
56
+ */
5
57
  setDisabled: (itemId: string, disabled: boolean) => void;
58
+ /**
59
+ * Данные пагинации узлов по parentId
60
+ */
61
+ nodePaginationMap: Record<string, NodePagination>;
62
+ /**
63
+ * Регистрирует callback-функции загрузки дочерних элементов узла
64
+ */
65
+ registerChildrenCallbacks: (itemId: string, callbacks: NodeChildrenCallbacks) => void;
66
+ /**
67
+ * Передаёт состояние загрузки дочерних элементов в список. Список
68
+ * синхронизирует плоский список
69
+ */
70
+ registerChildren: (itemId: string, childrenState: InfiniteTreeChildrenPagination) => void;
71
+ /**
72
+ * Оповещает список о раскрытии узла
73
+ */
74
+ notifyExpand: (itemId: string, onOpen?: () => void) => void;
75
+ onLoadMore: (parentId: string) => void;
76
+ onRetry: (parentId: string) => void;
77
+ enterAnimation: EnterAnimationResult;
78
+ /**
79
+ * Реестр хвостов вложенных веток. Переживает размонтирование строки
80
+ */
81
+ tailRegistry: TailRegistry;
82
+ /**
83
+ * Отдаёт постоянный DOM-контейнер строки узла: строка монтируется вне
84
+ * виртуализации, а её контейнер переносится в строку скролла
85
+ */
86
+ acquireParentSlot: (itemId: string) => HTMLDivElement | null;
6
87
  };
7
88
  export declare const InfiniteTreeListContext: import("react").Context<InfiniteTreeListContextProps>;
@@ -3,7 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InfiniteTreeListContext = void 0;
4
4
  const react_1 = require("react");
5
5
  exports.InfiniteTreeListContext = (0, react_1.createContext)({
6
+ renderItem: () => null,
7
+ renderParent: () => null,
8
+ onToggle: () => undefined,
6
9
  itemSkeleton: '',
7
10
  disabledIdList: new Set(),
8
11
  setDisabled: () => undefined,
12
+ nodePaginationMap: {},
13
+ registerChildrenCallbacks: () => undefined,
14
+ registerChildren: () => undefined,
15
+ notifyExpand: () => undefined,
16
+ onLoadMore: () => undefined,
17
+ onRetry: () => undefined,
18
+ enterAnimation: {
19
+ schedule: () => undefined,
20
+ read: () => ({ shouldAnimate: false }),
21
+ claim: () => undefined,
22
+ reset: () => undefined,
23
+ },
24
+ tailRegistry: {
25
+ register: () => undefined,
26
+ unregister: () => undefined,
27
+ checkRange: () => undefined,
28
+ },
29
+ acquireParentSlot: () => null,
9
30
  });
@@ -1,7 +1,8 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type InfiniteTreeListContextProps } from '../InfiniteTreeListContext';
3
- type Props = Pick<InfiniteTreeListContextProps, 'itemSkeleton'> & {
3
+ type Props = Pick<InfiniteTreeListContextProps, 'itemSkeleton' | 'nodePaginationMap' | 'enterAnimation' | 'tailRegistry' | 'registerChildren' | 'notifyExpand' | 'renderItem' | 'renderParent' | 'onToggle' | 'acquireParentSlot'> & {
4
4
  children: ReactNode;
5
+ onListRetry: () => void;
5
6
  };
6
- export declare const InfiniteTreeListContextProvider: ({ children, itemSkeleton, }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const InfiniteTreeListContextProvider: ({ children, itemSkeleton, nodePaginationMap, onListRetry, registerChildren, notifyExpand, enterAnimation, tailRegistry, renderItem, renderParent, onToggle, acquireParentSlot, }: Props) => import("react/jsx-runtime").JSX.Element;
7
8
  export {};