@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
@@ -2,19 +2,75 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InfiniteTreeListContextProvider = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const useSet_1 = require("../../../useSet");
5
+ const react_1 = require("react");
6
6
  const InfiniteTreeListContext_1 = require("../InfiniteTreeListContext");
7
- const InfiniteTreeListContextProvider = ({ children, itemSkeleton, }) => {
8
- const [disabledIdList, disabledIdListActions] = (0, useSet_1.useSet)(new Set());
9
- const setDisabled = (itemId, disabled) => {
10
- disabled
11
- ? disabledIdListActions.add(itemId)
12
- : disabledIdListActions.remove(itemId);
13
- };
14
- return ((0, jsx_runtime_1.jsx)(InfiniteTreeListContext_1.InfiniteTreeListContext.Provider, { value: {
15
- itemSkeleton,
16
- disabledIdList,
17
- setDisabled,
18
- }, children: children }));
7
+ const InfiniteTreeListContextProvider = ({ children, itemSkeleton, nodePaginationMap, onListRetry, registerChildren, notifyExpand, enterAnimation, tailRegistry, renderItem, renderParent, onToggle, acquireParentSlot, }) => {
8
+ const [disabledIdList, setDisabledIdList] = (0, react_1.useState)(new Set());
9
+ const childrenCallbacksRef = (0, react_1.useRef)({});
10
+ const setDisabled = (0, react_1.useCallback)((itemId, disabled) => {
11
+ setDisabledIdList((prev) => {
12
+ // Сохранение ссылки на Set при отсутствии изменений предотвращает
13
+ // бесконечный ре-рендер потребителей контекста
14
+ if (prev.has(itemId) === disabled) {
15
+ return prev;
16
+ }
17
+ const next = new Set(prev);
18
+ if (disabled) {
19
+ next.add(itemId);
20
+ }
21
+ else {
22
+ next.delete(itemId);
23
+ }
24
+ return next;
25
+ });
26
+ }, []);
27
+ const registerChildrenCallbacks = (0, react_1.useCallback)((itemId, callbacks) => {
28
+ childrenCallbacksRef.current[itemId] = callbacks;
29
+ }, []);
30
+ const onLoadMore = (0, react_1.useCallback)((parentId) => {
31
+ childrenCallbacksRef.current[parentId]?.onLoadMore?.();
32
+ }, []);
33
+ const onRetry = (0, react_1.useCallback)((parentId) => {
34
+ const retryChildren = childrenCallbacksRef.current[parentId]?.onRetry;
35
+ if (retryChildren) {
36
+ retryChildren();
37
+ return;
38
+ }
39
+ onListRetry();
40
+ }, [onListRetry]);
41
+ const value = (0, react_1.useMemo)(() => ({
42
+ renderItem,
43
+ renderParent,
44
+ onToggle,
45
+ itemSkeleton,
46
+ disabledIdList,
47
+ setDisabled,
48
+ nodePaginationMap,
49
+ registerChildrenCallbacks,
50
+ registerChildren,
51
+ notifyExpand,
52
+ onLoadMore,
53
+ onRetry,
54
+ enterAnimation,
55
+ tailRegistry,
56
+ acquireParentSlot,
57
+ }), [
58
+ renderItem,
59
+ renderParent,
60
+ onToggle,
61
+ itemSkeleton,
62
+ disabledIdList,
63
+ setDisabled,
64
+ nodePaginationMap,
65
+ registerChildrenCallbacks,
66
+ registerChildren,
67
+ notifyExpand,
68
+ onLoadMore,
69
+ onRetry,
70
+ enterAnimation,
71
+ tailRegistry,
72
+ acquireParentSlot,
73
+ ]);
74
+ return ((0, jsx_runtime_1.jsx)(InfiniteTreeListContext_1.InfiniteTreeListContext.Provider, { value: value, children: children }));
19
75
  };
20
76
  exports.InfiniteTreeListContextProvider = InfiniteTreeListContextProvider;
@@ -0,0 +1,6 @@
1
+ type ErrorPlaceholderProps = {
2
+ onRetry: () => void;
3
+ errorMsg?: string;
4
+ };
5
+ export declare const ErrorPlaceholder: ({ onRetry, errorMsg, }: ErrorPlaceholderProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorPlaceholder = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const Button_1 = require("../../../Button");
6
+ const Typography_1 = require("../../../Typography");
7
+ const constants_1 = require("./constants");
8
+ const styles_1 = require("./styles");
9
+ const ErrorPlaceholder = ({ onRetry, errorMsg = constants_1.DEFAULT_ERROR_MESSAGE, }) => {
10
+ return ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { children: [(0, jsx_runtime_1.jsx)(Typography_1.Typography, { color: "grey", colorIntensity: "600", children: errorMsg }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onRetry, variant: "link", children: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430" })] }));
11
+ };
12
+ exports.ErrorPlaceholder = ErrorPlaceholder;
@@ -0,0 +1 @@
1
+ export declare const DEFAULT_ERROR_MESSAGE = "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_ERROR_MESSAGE = void 0;
4
+ exports.DEFAULT_ERROR_MESSAGE = 'Не удалось загрузить данные';
@@ -0,0 +1 @@
1
+ export { ErrorPlaceholder } from './ErrorPlaceholder';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorPlaceholder = void 0;
4
+ var ErrorPlaceholder_1 = require("./ErrorPlaceholder");
5
+ Object.defineProperty(exports, "ErrorPlaceholder", { enumerable: true, get: function () { return ErrorPlaceholder_1.ErrorPlaceholder; } });
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Wrapper = void 0;
4
+ const styled_1 = require("../../../styled");
5
+ exports.Wrapper = styled_1.styled.div `
6
+ display: flex;
7
+ gap: ${({ theme }) => theme.spacing(5)};
8
+ align-items: center;
9
+
10
+ padding: ${({ theme }) => theme.spacing(0, 4)};
11
+ `;
@@ -4,16 +4,38 @@ exports.InfiniteTreeListItem = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const Chevron_1 = require("../../Chevron");
6
6
  const ContentState_1 = require("../../ContentState");
7
+ const Loader_1 = require("../../Loader");
7
8
  const Tooltip_1 = require("../../Tooltip");
9
+ const cn_1 = require("../../utils/cn");
10
+ const cva_1 = require("../../utils/cva");
8
11
  const getInertProps_1 = require("../../utils/getInertProps");
12
+ const constants_1 = require("./constants");
13
+ const ErrorPlaceholder_1 = require("./ErrorPlaceholder");
9
14
  const styles_1 = require("./styles");
10
15
  const useLogic_1 = require("./useLogic");
16
+ const infiniteTreeListItemCva = (0, cva_1.cva)(constants_1.infiniteTreeListItemClassnames.root, {
17
+ variants: {
18
+ isDisabled: {
19
+ true: constants_1.infiniteTreeListItemClassnames.disabled,
20
+ },
21
+ isLoading: {
22
+ true: constants_1.infiniteTreeListItemClassnames.loading,
23
+ },
24
+ hasNested: {
25
+ true: constants_1.infiniteTreeListItemClassnames.hasNested,
26
+ },
27
+ },
28
+ });
11
29
  const InfiniteTreeListItem = (props) => {
12
- const { itemSkeleton, item, handleClick, isDisabledByActions, tooltipProps, isChevronActive, } = (0, useLogic_1.useLogic)(props);
13
- const { isDisabled, className, onRetry = () => undefined, actions, errorMsg, isError, isLoading, children, } = props;
14
- return ((0, jsx_runtime_1.jsx)(ContentState_1.ContentState, { isLoading: isLoading, loadingContent: (0, jsx_runtime_1.jsx)(styles_1.Wrapper, { "$isLoading": true, children: itemSkeleton }), isError: isError, errorState: {
15
- onRetry,
16
- errorList: [errorMsg || ''],
17
- }, children: (0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { ...tooltipProps, children: (0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { onClick: handleClick, className: className, "$isDisabled": isDisabled || isDisabledByActions, "$isLoading": isLoading, "$hasNested": item.meta.hasNested, ...(0, getInertProps_1.getInertProps)(isDisabled || isDisabledByActions), children: [item.meta.hasNested && (0, jsx_runtime_1.jsx)(Chevron_1.Chevron, { isActive: isChevronActive }), children, actions && (0, jsx_runtime_1.jsx)(styles_1.ActionsWrapper, { children: actions })] }, `infinite-tree-list-item-${item.id}`) }) }));
30
+ const { itemSkeleton, item, handleClick, isDisabledByActions, tooltipProps, isChevronActive, isRowLoading, isRowError, } = (0, useLogic_1.useLogic)(props);
31
+ const { isDisabled, className, onRetry = () => undefined, actions, errorMsg, children, } = props;
32
+ if (isRowError) {
33
+ return (0, jsx_runtime_1.jsx)(ErrorPlaceholder_1.ErrorPlaceholder, { onRetry: onRetry, errorMsg: errorMsg });
34
+ }
35
+ return ((0, jsx_runtime_1.jsx)(ContentState_1.ContentState, { isLoading: isRowLoading, isSmoothLoading: false, loadingContent: (0, jsx_runtime_1.jsx)(styles_1.Wrapper, { className: infiniteTreeListItemCva({ isLoading: true }), children: itemSkeleton || ((0, jsx_runtime_1.jsx)(styles_1.LoaderWrapper, { children: (0, jsx_runtime_1.jsx)(Loader_1.Loader, {}) })) }), children: (0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { ...tooltipProps, children: (0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { onClick: handleClick, className: (0, cn_1.cn)(infiniteTreeListItemCva({
36
+ isDisabled: Boolean(isDisabled || isDisabledByActions),
37
+ isLoading: isRowLoading,
38
+ hasNested: item.meta.hasNested,
39
+ }), className), ...(0, getInertProps_1.getInertProps)(isDisabled || isDisabledByActions), children: [item.meta.hasNested && (0, jsx_runtime_1.jsx)(Chevron_1.Chevron, { isActive: isChevronActive }), children, actions && (0, jsx_runtime_1.jsx)(styles_1.ActionsWrapper, { children: actions })] }, `infinite-tree-list-item-${item.id}`) }) }));
18
40
  };
19
41
  exports.InfiniteTreeListItem = InfiniteTreeListItem;
@@ -1,10 +1,29 @@
1
1
  /// <reference types="react" />
2
2
  import type { FlattenTree, InfiniteTreeListData } from '../../types';
3
3
  export type TreeListItemContextProps = {
4
+ /**
5
+ * Строка плоского списка, для которой рендерится содержимое
6
+ */
4
7
  item: FlattenTree<InfiniteTreeListData>;
8
+ /**
9
+ * Переключает раскрытие узла строки
10
+ */
5
11
  onToggle: (item: InfiniteTreeListData) => void;
12
+ /**
13
+ * Строка заблокирована: своим действием или действием родителя
14
+ */
6
15
  isDisabled: boolean;
16
+ /**
17
+ * Причина блокировки. Показывается в tooltip строки
18
+ */
7
19
  disabledReason?: string;
20
+ /**
21
+ * Записывает причину блокировки
22
+ */
8
23
  setDisabledReason: (disabledReason?: string) => void;
9
24
  };
25
+ /**
26
+ * Контекст одной строки дерева: сама строка и её состояние блокировки.
27
+ * Отделён от контекста списка — значение у каждой строки своё
28
+ */
10
29
  export declare const TreeListItemContext: import("react").Context<TreeListItemContextProps>;
@@ -2,6 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TreeListItemContext = void 0;
4
4
  const react_1 = require("react");
5
+ /**
6
+ * Контекст одной строки дерева: сама строка и её состояние блокировки.
7
+ * Отделён от контекста списка — значение у каждой строки своё
8
+ */
5
9
  exports.TreeListItemContext = (0, react_1.createContext)({
6
10
  item: {},
7
11
  onToggle: () => undefined,
@@ -3,5 +3,9 @@ import { type TreeListItemContextProps } from '../TreeListItemContext';
3
3
  type Props = Pick<TreeListItemContextProps, 'item' | 'onToggle'> & {
4
4
  children: ReactNode;
5
5
  };
6
+ /**
7
+ * Ставит контекст строки: считает блокировку по пути узла и отдаёт вниз
8
+ * саму строку с её причиной блокировки
9
+ */
6
10
  export declare const TreeListItemContextProvider: ({ item, children, onToggle, }: Props) => import("react/jsx-runtime").JSX.Element;
7
11
  export {};
@@ -5,18 +5,23 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const react_1 = require("react");
6
6
  const InfiniteTreeListContext_1 = require("../../../InfiniteTreeListContext");
7
7
  const TreeListItemContext_1 = require("../TreeListItemContext");
8
+ /**
9
+ * Ставит контекст строки: считает блокировку по пути узла и отдаёт вниз
10
+ * саму строку с её причиной блокировки
11
+ */
8
12
  const TreeListItemContextProvider = ({ item, children, onToggle, }) => {
9
13
  const [disabledReason, setDisabledReason] = (0, react_1.useState)();
10
14
  const { disabledIdList } = (0, react_1.useContext)(InfiniteTreeListContext_1.InfiniteTreeListContext);
11
15
  const isDisabled = (0, react_1.useMemo)(() => {
12
16
  return item.meta.path.some((id) => disabledIdList.has(id));
13
- }, [item.path, disabledIdList]);
14
- return ((0, jsx_runtime_1.jsx)(TreeListItemContext_1.TreeListItemContext.Provider, { value: {
15
- item,
16
- onToggle,
17
- isDisabled,
18
- disabledReason,
19
- setDisabledReason,
20
- }, children: children }));
17
+ }, [item.meta.path, disabledIdList]);
18
+ const value = (0, react_1.useMemo)(() => ({
19
+ item,
20
+ onToggle,
21
+ isDisabled,
22
+ disabledReason,
23
+ setDisabledReason,
24
+ }), [item, onToggle, isDisabled, disabledReason]);
25
+ return ((0, jsx_runtime_1.jsx)(TreeListItemContext_1.TreeListItemContext.Provider, { value: value, children: children }));
21
26
  };
22
27
  exports.TreeListItemContextProvider = TreeListItemContextProvider;
@@ -0,0 +1,6 @@
1
+ export declare const infiniteTreeListItemClassnames: {
2
+ root: string;
3
+ disabled: string;
4
+ loading: string;
5
+ hasNested: string;
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.infiniteTreeListItemClassnames = void 0;
4
+ const createUIKitClassname_1 = require("../../utils/createUIKitClassname");
5
+ exports.infiniteTreeListItemClassnames = {
6
+ root: (0, createUIKitClassname_1.createUIKitClassname)('infinite-tree-list__item'),
7
+ disabled: (0, createUIKitClassname_1.createUIKitClassname)('infinite-tree-list__item_disabled'),
8
+ loading: (0, createUIKitClassname_1.createUIKitClassname)('infinite-tree-list__item_loading'),
9
+ hasNested: (0, createUIKitClassname_1.createUIKitClassname)('infinite-tree-list__item_has-nested'),
10
+ };
@@ -2,12 +2,12 @@
2
2
  export declare const Wrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
3
3
  theme?: import("@emotion/react").Theme | undefined;
4
4
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
- } & {
6
- $isDisabled?: boolean | undefined;
7
- $isLoading?: boolean | undefined;
8
- $hasNested?: boolean | undefined;
9
5
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
6
  export declare const ActionsWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
11
7
  theme?: import("@emotion/react").Theme | undefined;
12
8
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
13
9
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare const LoaderWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
11
+ theme?: import("@emotion/react").Theme | undefined;
12
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
13
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActionsWrapper = exports.Wrapper = void 0;
3
+ exports.LoaderWrapper = exports.ActionsWrapper = exports.Wrapper = void 0;
4
4
  const styled_1 = require("../../styled");
5
+ const constants_1 = require("./constants");
5
6
  exports.Wrapper = styled_1.styled.div `
6
- cursor: ${({ $isDisabled, $isLoading, $hasNested }) => $hasNested && !$isLoading && !$isDisabled ? 'pointer' : 'default'};
7
+ cursor: default;
7
8
 
8
9
  display: flex;
9
10
  gap: ${({ theme }) => theme.spacing(3)};
@@ -13,7 +14,6 @@ exports.Wrapper = styled_1.styled.div `
13
14
  min-height: 60px;
14
15
  padding: ${({ theme }) => theme.spacing(3, 4)};
15
16
 
16
- opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};
17
17
  background: ${({ theme }) => theme.palette.background.default};
18
18
 
19
19
  transition: ${({ theme }) => theme.transitions.create('background-color', {
@@ -22,9 +22,26 @@ exports.Wrapper = styled_1.styled.div `
22
22
  })};
23
23
 
24
24
  &:hover {
25
- background-color: ${({ theme, $isDisabled, $isLoading }) => $isDisabled || $isLoading
26
- ? theme.palette.background.default
27
- : theme.palette.background.elementHover};
25
+ background-color: ${({ theme }) => theme.palette.background.elementHover};
26
+ }
27
+
28
+ &.${constants_1.infiniteTreeListItemClassnames.hasNested} {
29
+ cursor: pointer;
30
+ }
31
+
32
+ &.${constants_1.infiniteTreeListItemClassnames.loading} {
33
+ cursor: default;
34
+ }
35
+
36
+ &.${constants_1.infiniteTreeListItemClassnames.disabled} {
37
+ cursor: default;
38
+
39
+ opacity: 0.5;
40
+ }
41
+
42
+ &.${constants_1.infiniteTreeListItemClassnames.loading}:hover,
43
+ &.${constants_1.infiniteTreeListItemClassnames.disabled}:hover {
44
+ background-color: ${({ theme }) => theme.palette.background.default};
28
45
  }
29
46
  `;
30
47
  exports.ActionsWrapper = styled_1.styled.div `
@@ -32,3 +49,9 @@ exports.ActionsWrapper = styled_1.styled.div `
32
49
 
33
50
  margin-left: auto;
34
51
  `;
52
+ exports.LoaderWrapper = styled_1.styled.div `
53
+ display: flex;
54
+ justify-content: center;
55
+
56
+ width: 100%;
57
+ `;
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { InfiniteTreeListData } from '../types';
2
3
  export type InfiniteTreeListItemProps = {
3
4
  children: ReactNode;
4
5
  /**
@@ -10,15 +11,23 @@ export type InfiniteTreeListItemProps = {
10
11
  */
11
12
  actions?: ReactNode;
12
13
  /**
13
- * Если `true`, компонент будет отображаться в состоянии ошибки
14
+ * Загруженные дочерние элементы узла.
15
+ */
16
+ childItems?: InfiniteTreeListData[];
17
+ /**
18
+ * Флаг достижения конца списка
19
+ */
20
+ isEndReached?: boolean;
21
+ /**
22
+ * Флаг ошибки загрузки дочерних элементов узла
14
23
  */
15
24
  isError?: boolean;
16
25
  /**
17
- * Если `true`, покажется itemSkeleton переданный в корневой компонент
26
+ * Флаг загрузки дочерних элементов
18
27
  */
19
28
  isLoading?: boolean;
20
29
  /**
21
- * Если `true`, элемент будет заблокирован для взаимодействия
30
+ * Элемент заблокирован для взаимодействия
22
31
  */
23
32
  isDisabled?: boolean;
24
33
  /**
@@ -33,4 +42,12 @@ export type InfiniteTreeListItemProps = {
33
42
  * Текст ошибки
34
43
  */
35
44
  errorMsg?: string;
45
+ /**
46
+ * Обработчик раскрытия узла
47
+ */
48
+ onOpen?: () => void;
49
+ /**
50
+ * Обработчик подгрузки данных
51
+ */
52
+ onLoadMore?: () => void;
36
53
  };
@@ -1,7 +1,11 @@
1
1
  import { type MouseEvent } from 'react';
2
2
  import { type TooltipProps } from '../../../Tooltip';
3
3
  import { type InfiniteTreeListItemProps } from '../types';
4
- export declare const useLogic: ({ isDisabled, disabledReason, }: InfiniteTreeListItemProps) => {
4
+ /**
5
+ * Логика строки: отдаёт списку данные дочерних элементов и callback-функции
6
+ * пагинации, сообщает о раскрытии узла и собирает состояние блокировки строки
7
+ */
8
+ export declare const useLogic: ({ isDisabled, disabledReason, isLoading, isError, isEndReached, childItems, onOpen, onLoadMore, onRetry, }: InfiniteTreeListItemProps) => {
5
9
  item: import("../../types").FlattenTree<import("../../types").InfiniteTreeListData>;
6
10
  handleClick: (event: MouseEvent) => void;
7
11
  itemSkeleton: import("react").ReactNode;
@@ -10,4 +14,6 @@ export declare const useLogic: ({ isDisabled, disabledReason, }: InfiniteTreeLis
10
14
  tooltipProps: Omit<TooltipProps, "children" | "ref">;
11
15
  isDisabledByActions: boolean;
12
16
  isChevronActive: boolean;
17
+ isRowLoading: boolean;
18
+ isRowError: boolean;
13
19
  };
@@ -4,18 +4,68 @@ exports.useLogic = void 0;
4
4
  const react_1 = require("react");
5
5
  const InfiniteTreeListContext_1 = require("../../InfiniteTreeListContext");
6
6
  const TreeListItemContext_1 = require("../TreeListItemContext");
7
- const useLogic = ({ isDisabled, disabledReason, }) => {
8
- const { itemSkeleton, setDisabled } = (0, react_1.useContext)(InfiniteTreeListContext_1.InfiniteTreeListContext);
7
+ /**
8
+ * Логика строки: отдаёт списку данные дочерних элементов и callback-функции
9
+ * пагинации, сообщает о раскрытии узла и собирает состояние блокировки строки
10
+ */
11
+ const useLogic = ({ isDisabled, disabledReason, isLoading, isError, isEndReached, childItems, onOpen, onLoadMore, onRetry, }) => {
12
+ const { itemSkeleton, setDisabled, registerChildrenCallbacks, registerChildren, notifyExpand, } = (0, react_1.useContext)(InfiniteTreeListContext_1.InfiniteTreeListContext);
9
13
  const { item, onToggle, isDisabled: isDisabledByActions, disabledReason: disabledReasonByActions, } = (0, react_1.useContext)(TreeListItemContext_1.TreeListItemContext);
14
+ const isChildrenControl = childItems !== undefined || onLoadMore !== undefined;
10
15
  (0, react_1.useEffect)(() => {
11
16
  if (isDisabled) {
12
17
  setDisabled(item.id, isDisabled);
13
18
  }
14
19
  }, [isDisabled]);
15
- const [isChevronActive, setChevronActive] = (0, react_1.useState)(item.meta.isExpanded);
20
+ (0, react_1.useEffect)(() => {
21
+ registerChildrenCallbacks(item.id, {
22
+ onLoadMore,
23
+ onRetry,
24
+ });
25
+ }, [item.id, onLoadMore, onRetry, registerChildrenCallbacks]);
26
+ (0, react_1.useEffect)(() => {
27
+ if (!isChildrenControl) {
28
+ return;
29
+ }
30
+ registerChildren(item.id, {
31
+ data: childItems ?? [],
32
+ isLoading,
33
+ isError,
34
+ isEndReached,
35
+ });
36
+ }, [
37
+ item.id,
38
+ isChildrenControl,
39
+ childItems,
40
+ isLoading,
41
+ isError,
42
+ isEndReached,
43
+ registerChildren,
44
+ ]);
45
+ // onOpen вызывается на раскрытии узла, а не на клике: узел раскрывается и
46
+ // через initialExpandedLevel, где клика не было. Повторные вызовы блокируются
47
+ const onOpenRef = (0, react_1.useRef)(onOpen);
48
+ (0, react_1.useEffect)(() => {
49
+ onOpenRef.current = onOpen;
50
+ });
51
+ (0, react_1.useEffect)(() => {
52
+ if (!item.meta.isExpanded) {
53
+ return;
54
+ }
55
+ notifyExpand(item.id, () => onOpenRef.current?.());
56
+ }, [item.meta.isExpanded, item.id, notifyExpand]);
57
+ const [optimisticExpanded, setOptimisticExpanded] = (0, react_1.useState)(null);
58
+ const isChevronActive = optimisticExpanded ?? item.meta.isExpanded;
59
+ (0, react_1.useEffect)(() => {
60
+ setOptimisticExpanded(null);
61
+ }, [item.meta.isExpanded]);
16
62
  const handleClick = (0, react_1.useCallback)((event) => {
17
63
  event.stopPropagation();
18
- setChevronActive((prev) => !prev);
64
+ // Лист не раскрывается: клик не должен заводить его в набор раскрытых узлов
65
+ if (!item.meta.hasNested) {
66
+ return;
67
+ }
68
+ setOptimisticExpanded((prev) => !(prev ?? item.meta.isExpanded));
19
69
  onToggle(item);
20
70
  }, [item, onToggle]);
21
71
  // Omit ref для избежания ошибки типов у Tooltip
@@ -36,6 +86,8 @@ const useLogic = ({ isDisabled, disabledReason, }) => {
36
86
  tooltipProps,
37
87
  isDisabledByActions,
38
88
  isChevronActive,
89
+ isRowLoading: Boolean(isLoading && !isChildrenControl),
90
+ isRowError: Boolean(isError && !isChildrenControl),
39
91
  };
40
92
  };
41
93
  exports.useLogic = useLogic;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EndData = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Typography_1 = require("../../Typography");
5
+ const Typography_1 = require("../../../Typography");
6
6
  const constants_1 = require("./constants");
7
7
  const EndData = ({ endOfScrollMsg = constants_1.END_OF_SCROLL_MESSAGE }) => ((0, jsx_runtime_1.jsx)(Typography_1.Typography, { children: endOfScrollMsg }));
8
8
  exports.EndData = EndData;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ErrorMessage = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- const Button_1 = require("../../Button");
6
- const Typography_1 = require("../../Typography");
5
+ const Button_1 = require("../../../Button");
6
+ const Typography_1 = require("../../../Typography");
7
7
  const constants_1 = require("./constants");
8
8
  const styles_1 = require("./styles");
9
9
  const ErrorMessage = ({ onRetry }) => ((0, jsx_runtime_1.jsxs)(styles_1.Wrapper, { children: [(0, jsx_runtime_1.jsx)(Typography_1.Typography, { align: "center", children: constants_1.ERROR_MESSAGE }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onRetry, children: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430" })] }));
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const Wrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Wrapper = void 0;
4
- const styled_1 = require("../../styled");
4
+ const styled_1 = require("../../../styled");
5
5
  exports.Wrapper = styled_1.styled.div `
6
6
  display: grid;
7
7
  grid-template-columns: 100%;
@@ -0,0 +1,10 @@
1
+ import type { ContextProp } from 'react-virtuoso';
2
+ import type { ListFooterContext } from './types';
3
+ /**
4
+ * Футер списка для Virtuoso.
5
+ *
6
+ * Вынесен в модуль и передаётся в `components.Footer`: inline-компонент в
7
+ * `components` на каждый рендер даёт новый тип, и React размонтирует футер.
8
+ * Данные приходят через `context` Virtuoso
9
+ */
10
+ export declare const ListFooter: ({ context }: ContextProp<ListFooterContext>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListFooter = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const Loader_1 = require("../../Loader");
6
+ const EndData_1 = require("./EndData");
7
+ const ErrorMessage_1 = require("./ErrorMessage");
8
+ const styles_1 = require("./styles");
9
+ /**
10
+ * Футер списка для Virtuoso.
11
+ *
12
+ * Вынесен в модуль и передаётся в `components.Footer`: inline-компонент в
13
+ * `components` на каждый рендер даёт новый тип, и React размонтирует футер.
14
+ * Данные приходят через `context` Virtuoso
15
+ */
16
+ const ListFooter = ({ context }) => {
17
+ const { isLoading, isError, isEndReached, endOfScrollMsg, onRetry } = context;
18
+ if (isLoading) {
19
+ return ((0, jsx_runtime_1.jsx)(styles_1.Footer, { children: (0, jsx_runtime_1.jsx)(Loader_1.Loader, {}) }));
20
+ }
21
+ if (isError) {
22
+ return ((0, jsx_runtime_1.jsx)(styles_1.Footer, { children: (0, jsx_runtime_1.jsx)(ErrorMessage_1.ErrorMessage, { onRetry: onRetry }) }));
23
+ }
24
+ if (isEndReached) {
25
+ return ((0, jsx_runtime_1.jsx)(styles_1.Footer, { children: (0, jsx_runtime_1.jsx)(EndData_1.EndData, { endOfScrollMsg: endOfScrollMsg }) }));
26
+ }
27
+ return (0, jsx_runtime_1.jsx)(styles_1.FooterDummy, {});
28
+ };
29
+ exports.ListFooter = ListFooter;
@@ -0,0 +1,2 @@
1
+ export * from './ListFooter';
2
+ export type { ListFooterContext } from './types';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ListFooter"), exports);
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FooterDummy = exports.Footer = void 0;
4
- const styled_1 = require("../styled");
4
+ const styled_1 = require("../../styled");
5
5
  exports.Footer = styled_1.styled.footer `
6
6
  display: flex;
7
7
  flex-shrink: 0;