@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
@@ -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;
@@ -1,27 +1,34 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // cspell:ignore Виртуализированное
2
3
  import { Virtuoso } from 'react-virtuoso';
3
4
  import { ContentState } from '../ContentState';
4
- import { Loader } from '../Loader';
5
- import { OVERSCAN } from './constants';
6
- import { EndData } from './EndData';
7
- import { ErrorMessage } from './ErrorMessage';
8
- import { InfiniteTreeListContextProvider } from './InfiniteTreeListContext';
9
- import { TreeListItemContextProvider } from './InfiniteTreeListItem';
5
+ import { InfiniteTreeListContextProvider, } from './InfiniteTreeListContext';
6
+ import { ListFooter } from './ListFooter';
10
7
  import { NoDataPlaceholder } from './NoDataPlaceholder';
11
8
  import { OnTopButton } from './OnTopButton';
12
- import { Footer, FooterDummy } from './styles';
9
+ import { ParentItems } from './ParentItems';
13
10
  import { TreeItem } from './TreeItem';
14
11
  import { useLogic } from './useLogic';
12
+ const computeItemKey = (_, item) => item.id;
13
+ /**
14
+ * Виртуализированное дерево с бесконечной подгрузкой
15
+ *
16
+ * @example
17
+ * <InfiniteTreeList
18
+ * items={items}
19
+ * scrollRef={scrollRef}
20
+ * onRetry={refetch}
21
+ * renderItem={(item) => (
22
+ * <InfiniteTreeListItem>{item.name}</InfiniteTreeListItem>
23
+ * )}
24
+ * renderParent={(item) => (
25
+ * <InfiniteTreeListItem childItems={childrenState[item.id]?.data}>
26
+ * {item.name}
27
+ * </InfiniteTreeListItem>
28
+ * )}
29
+ * />
30
+ */
15
31
  export const InfiniteTreeList = (props) => {
16
- const { flatList, onToggle, contentStateProps, scrollParent, virtuosoProps, footerProps, onTopButtonProps, endOfScrollMsg, renderItem, items, itemSkeleton, onRetry, onLoadMore, noDataImgSrc, recentlyExpandedIds, } = useLogic(props);
17
- const renderItemContent = (_index, item) => (_jsx(TreeListItemContextProvider, { item: item, onToggle: onToggle, children: _jsx(TreeItem, { item: item, renderItem: renderItem, recentlyExpandedIds: recentlyExpandedIds }) }));
18
- return (_jsx(InfiniteTreeListContextProvider, { itemSkeleton: itemSkeleton, children: _jsx(ContentState, { ...contentStateProps, children: items.length && scrollParent ? (_jsxs(_Fragment, { children: [_jsx(Virtuoso, { ...virtuosoProps, data: flatList, customScrollParent: scrollParent, endReached: onLoadMore, itemContent: renderItemContent, computeItemKey: (_, item) => item.id, components: {
19
- Footer: () => {
20
- const { isLoading, isError, isEndReached } = footerProps;
21
- if (!isLoading && !isError && !isEndReached) {
22
- return _jsx(FooterDummy, {});
23
- }
24
- return (_jsxs(Footer, { children: [isLoading && _jsx(Loader, {}), isError && _jsx(ErrorMessage, { onRetry: onRetry }), isEndReached && (_jsx(EndData, { endOfScrollMsg: endOfScrollMsg }))] }));
25
- },
26
- }, overscan: OVERSCAN }), _jsx(OnTopButton, { ...onTopButtonProps })] })) : (_jsx(NoDataPlaceholder, { noDataImgSrc: noDataImgSrc })) }) }));
32
+ const { flatList, onToggle, contentStateProps, scrollParent, virtuosoProps, footerContext, onTopButtonProps, renderItem, renderParent, items, itemSkeleton, onRetry, noDataImgSrc, enterAnimation, tailRegistry, nodePaginationMap, registerChildren, notifyExpand, parentItems, acquireParentSlot, } = useLogic(props);
33
+ return (_jsxs(InfiniteTreeListContextProvider, { itemSkeleton: itemSkeleton, nodePaginationMap: nodePaginationMap, registerChildren: registerChildren, notifyExpand: notifyExpand, onListRetry: onRetry, enterAnimation: enterAnimation, tailRegistry: tailRegistry, renderItem: renderItem, renderParent: renderParent, onToggle: onToggle, acquireParentSlot: acquireParentSlot, children: [_jsx(ParentItems, { parents: parentItems }), _jsx(ContentState, { ...contentStateProps, children: items.length > 0 && scrollParent ? (_jsxs(_Fragment, { children: [_jsx(Virtuoso, { ...virtuosoProps, data: flatList, customScrollParent: scrollParent, computeItemKey: computeItemKey, context: footerContext, components: { Item: TreeItem, Footer: ListFooter } }), _jsx(OnTopButton, { ...onTopButtonProps })] })) : (_jsx(NoDataPlaceholder, { noDataImgSrc: noDataImgSrc })) })] }));
27
34
  };
@@ -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;
@@ -1,6 +1,15 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ActionCellBase } from '../../ActionCellBase';
3
3
  import { useLogic } from './useLogic';
4
+ /**
5
+ * Действия строки дерева. Блокирующее действие в состоянии загрузки блокирует
6
+ * строку вместе со всей её веткой
7
+ *
8
+ * @example
9
+ * <InfiniteTreeListActions
10
+ * actions={{ main: [{ name: 'Изменить', onClick: handleEdit }] }}
11
+ * />
12
+ */
4
13
  export const InfiniteTreeListActions = ({ actions, }) => {
5
14
  const { isDisabledAction, handleWrapperClick, handleActionClick } = useLogic({
6
15
  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
  };
@@ -7,17 +7,16 @@ export const useLogic = ({ actions }) => {
7
7
  const { setDisabled } = useContext(InfiniteTreeListContext);
8
8
  const blockingAction = useMemo(() => [...main, ...secondary].find((action) => action.isBlockingOperation && action.loading), [main, secondary]);
9
9
  const isDisabledAction = Boolean(blockingAction);
10
+ const loadingNote = blockingAction?.loadingNote;
10
11
  useEffect(() => {
11
- if (blockingAction) {
12
- // Добавляем id элемента в Set disabled элементов
12
+ if (isDisabledAction) {
13
13
  setDisabled(item.id, true);
14
- setDisabledReason(blockingAction?.loadingNote);
14
+ setDisabledReason(loadingNote);
15
15
  return;
16
16
  }
17
- // Удаляем id элемента из Set disabled элементов
18
17
  setDisabled(item.id, false);
19
- setDisabledReason('');
20
- }, [blockingAction, item.id]);
18
+ setDisabledReason(undefined);
19
+ }, [isDisabledAction, loadingNote, item.id]);
21
20
  const handleActionClick = useCallback((onClick) => () => {
22
21
  onClick?.(item);
23
22
  }, [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>;
@@ -1,6 +1,27 @@
1
1
  import { createContext } from 'react';
2
2
  export const InfiniteTreeListContext = createContext({
3
+ renderItem: () => null,
4
+ renderParent: () => null,
5
+ onToggle: () => undefined,
3
6
  itemSkeleton: '',
4
7
  disabledIdList: new Set(),
5
8
  setDisabled: () => undefined,
9
+ nodePaginationMap: {},
10
+ registerChildrenCallbacks: () => undefined,
11
+ registerChildren: () => undefined,
12
+ notifyExpand: () => undefined,
13
+ onLoadMore: () => undefined,
14
+ onRetry: () => undefined,
15
+ enterAnimation: {
16
+ schedule: () => undefined,
17
+ read: () => ({ shouldAnimate: false }),
18
+ claim: () => undefined,
19
+ reset: () => undefined,
20
+ },
21
+ tailRegistry: {
22
+ register: () => undefined,
23
+ unregister: () => undefined,
24
+ checkRange: () => undefined,
25
+ },
26
+ acquireParentSlot: () => null,
6
27
  });
@@ -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 {};
@@ -1,16 +1,72 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useSet } from '../../../useSet';
2
+ import { useCallback, useMemo, useRef, useState } from 'react';
3
3
  import { InfiniteTreeListContext, } from '../InfiniteTreeListContext';
4
- export const InfiniteTreeListContextProvider = ({ children, itemSkeleton, }) => {
5
- const [disabledIdList, disabledIdListActions] = useSet(new Set());
6
- const setDisabled = (itemId, disabled) => {
7
- disabled
8
- ? disabledIdListActions.add(itemId)
9
- : disabledIdListActions.remove(itemId);
10
- };
11
- return (_jsx(InfiniteTreeListContext.Provider, { value: {
12
- itemSkeleton,
13
- disabledIdList,
14
- setDisabled,
15
- }, children: children }));
4
+ export const InfiniteTreeListContextProvider = ({ children, itemSkeleton, nodePaginationMap, onListRetry, registerChildren, notifyExpand, enterAnimation, tailRegistry, renderItem, renderParent, onToggle, acquireParentSlot, }) => {
5
+ const [disabledIdList, setDisabledIdList] = useState(new Set());
6
+ const childrenCallbacksRef = useRef({});
7
+ const setDisabled = useCallback((itemId, disabled) => {
8
+ setDisabledIdList((prev) => {
9
+ // Сохранение ссылки на Set при отсутствии изменений предотвращает
10
+ // бесконечный ре-рендер потребителей контекста
11
+ if (prev.has(itemId) === disabled) {
12
+ return prev;
13
+ }
14
+ const next = new Set(prev);
15
+ if (disabled) {
16
+ next.add(itemId);
17
+ }
18
+ else {
19
+ next.delete(itemId);
20
+ }
21
+ return next;
22
+ });
23
+ }, []);
24
+ const registerChildrenCallbacks = useCallback((itemId, callbacks) => {
25
+ childrenCallbacksRef.current[itemId] = callbacks;
26
+ }, []);
27
+ const onLoadMore = useCallback((parentId) => {
28
+ childrenCallbacksRef.current[parentId]?.onLoadMore?.();
29
+ }, []);
30
+ const onRetry = useCallback((parentId) => {
31
+ const retryChildren = childrenCallbacksRef.current[parentId]?.onRetry;
32
+ if (retryChildren) {
33
+ retryChildren();
34
+ return;
35
+ }
36
+ onListRetry();
37
+ }, [onListRetry]);
38
+ const value = useMemo(() => ({
39
+ renderItem,
40
+ renderParent,
41
+ onToggle,
42
+ itemSkeleton,
43
+ disabledIdList,
44
+ setDisabled,
45
+ nodePaginationMap,
46
+ registerChildrenCallbacks,
47
+ registerChildren,
48
+ notifyExpand,
49
+ onLoadMore,
50
+ onRetry,
51
+ enterAnimation,
52
+ tailRegistry,
53
+ acquireParentSlot,
54
+ }), [
55
+ renderItem,
56
+ renderParent,
57
+ onToggle,
58
+ itemSkeleton,
59
+ disabledIdList,
60
+ setDisabled,
61
+ nodePaginationMap,
62
+ registerChildrenCallbacks,
63
+ registerChildren,
64
+ notifyExpand,
65
+ onLoadMore,
66
+ onRetry,
67
+ enterAnimation,
68
+ tailRegistry,
69
+ acquireParentSlot,
70
+ ]);
71
+ return (_jsx(InfiniteTreeListContext.Provider, { value: value, children: children }));
16
72
  };
@@ -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,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '../../../Button';
3
+ import { Typography } from '../../../Typography';
4
+ import { DEFAULT_ERROR_MESSAGE } from './constants';
5
+ import { Wrapper } from './styles';
6
+ export const ErrorPlaceholder = ({ onRetry, errorMsg = DEFAULT_ERROR_MESSAGE, }) => {
7
+ return (_jsxs(Wrapper, { children: [_jsx(Typography, { color: "grey", colorIntensity: "600", children: errorMsg }), _jsx(Button, { onClick: onRetry, variant: "link", children: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430" })] }));
8
+ };
@@ -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 @@
1
+ export const DEFAULT_ERROR_MESSAGE = 'Не удалось загрузить данные';
@@ -0,0 +1 @@
1
+ export { ErrorPlaceholder } from './ErrorPlaceholder';
@@ -0,0 +1 @@
1
+ export { ErrorPlaceholder } from './ErrorPlaceholder';
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const Wrapper: import("../../styled").StyledComponent<{
2
+ export declare const Wrapper: import("../../../styled").StyledComponent<{
3
3
  theme?: import("@emotion/react").Theme | undefined;
4
4
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
5
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,8 @@
1
+ import { styled } from '../../../styled';
2
+ export const Wrapper = styled.div `
3
+ display: flex;
4
+ gap: ${({ theme }) => theme.spacing(5)};
5
+ align-items: center;
6
+
7
+ padding: ${({ theme }) => theme.spacing(0, 4)};
8
+ `;
@@ -1,15 +1,37 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Chevron } from '../../Chevron';
3
3
  import { ContentState } from '../../ContentState';
4
+ import { Loader } from '../../Loader';
4
5
  import { Tooltip } from '../../Tooltip';
6
+ import { cn } from '../../utils/cn';
7
+ import { cva } from '../../utils/cva';
5
8
  import { getInertProps } from '../../utils/getInertProps';
6
- import { ActionsWrapper, Wrapper } from './styles';
9
+ import { infiniteTreeListItemClassnames } from './constants';
10
+ import { ErrorPlaceholder } from './ErrorPlaceholder';
11
+ import { ActionsWrapper, LoaderWrapper, Wrapper } from './styles';
7
12
  import { useLogic } from './useLogic';
13
+ const infiniteTreeListItemCva = cva(infiniteTreeListItemClassnames.root, {
14
+ variants: {
15
+ isDisabled: {
16
+ true: infiniteTreeListItemClassnames.disabled,
17
+ },
18
+ isLoading: {
19
+ true: infiniteTreeListItemClassnames.loading,
20
+ },
21
+ hasNested: {
22
+ true: infiniteTreeListItemClassnames.hasNested,
23
+ },
24
+ },
25
+ });
8
26
  export const InfiniteTreeListItem = (props) => {
9
- const { itemSkeleton, item, handleClick, isDisabledByActions, tooltipProps, isChevronActive, } = useLogic(props);
10
- const { isDisabled, className, onRetry = () => undefined, actions, errorMsg, isError, isLoading, children, } = props;
11
- return (_jsx(ContentState, { isLoading: isLoading, loadingContent: _jsx(Wrapper, { "$isLoading": true, children: itemSkeleton }), isError: isError, errorState: {
12
- onRetry,
13
- errorList: [errorMsg || ''],
14
- }, children: _jsx(Tooltip, { ...tooltipProps, children: _jsxs(Wrapper, { onClick: handleClick, className: className, "$isDisabled": isDisabled || isDisabledByActions, "$isLoading": isLoading, "$hasNested": item.meta.hasNested, ...getInertProps(isDisabled || isDisabledByActions), children: [item.meta.hasNested && _jsx(Chevron, { isActive: isChevronActive }), children, actions && _jsx(ActionsWrapper, { children: actions })] }, `infinite-tree-list-item-${item.id}`) }) }));
27
+ const { itemSkeleton, item, handleClick, isDisabledByActions, tooltipProps, isChevronActive, isRowLoading, isRowError, } = useLogic(props);
28
+ const { isDisabled, className, onRetry = () => undefined, actions, errorMsg, children, } = props;
29
+ if (isRowError) {
30
+ return _jsx(ErrorPlaceholder, { onRetry: onRetry, errorMsg: errorMsg });
31
+ }
32
+ return (_jsx(ContentState, { isLoading: isRowLoading, isSmoothLoading: false, loadingContent: _jsx(Wrapper, { className: infiniteTreeListItemCva({ isLoading: true }), children: itemSkeleton || (_jsx(LoaderWrapper, { children: _jsx(Loader, {}) })) }), children: _jsx(Tooltip, { ...tooltipProps, children: _jsxs(Wrapper, { onClick: handleClick, className: cn(infiniteTreeListItemCva({
33
+ isDisabled: Boolean(isDisabled || isDisabledByActions),
34
+ isLoading: isRowLoading,
35
+ hasNested: item.meta.hasNested,
36
+ }), className), ...getInertProps(isDisabled || isDisabledByActions), children: [item.meta.hasNested && _jsx(Chevron, { isActive: isChevronActive }), children, actions && _jsx(ActionsWrapper, { children: actions })] }, `infinite-tree-list-item-${item.id}`) }) }));
15
37
  };
@@ -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>;
@@ -1,4 +1,8 @@
1
1
  import { createContext } from 'react';
2
+ /**
3
+ * Контекст одной строки дерева: сама строка и её состояние блокировки.
4
+ * Отделён от контекста списка — значение у каждой строки своё
5
+ */
2
6
  export const TreeListItemContext = createContext({
3
7
  item: {},
4
8
  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 {};
@@ -2,17 +2,22 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useContext, useMemo, useState } from 'react';
3
3
  import { InfiniteTreeListContext } from '../../../InfiniteTreeListContext';
4
4
  import { TreeListItemContext, } from '../TreeListItemContext';
5
+ /**
6
+ * Ставит контекст строки: считает блокировку по пути узла и отдаёт вниз
7
+ * саму строку с её причиной блокировки
8
+ */
5
9
  export const TreeListItemContextProvider = ({ item, children, onToggle, }) => {
6
10
  const [disabledReason, setDisabledReason] = useState();
7
11
  const { disabledIdList } = useContext(InfiniteTreeListContext);
8
12
  const isDisabled = useMemo(() => {
9
13
  return item.meta.path.some((id) => disabledIdList.has(id));
10
- }, [item.path, disabledIdList]);
11
- return (_jsx(TreeListItemContext.Provider, { value: {
12
- item,
13
- onToggle,
14
- isDisabled,
15
- disabledReason,
16
- setDisabledReason,
17
- }, children: children }));
14
+ }, [item.meta.path, disabledIdList]);
15
+ const value = useMemo(() => ({
16
+ item,
17
+ onToggle,
18
+ isDisabled,
19
+ disabledReason,
20
+ setDisabledReason,
21
+ }), [item, onToggle, isDisabled, disabledReason]);
22
+ return (_jsx(TreeListItemContext.Provider, { value: value, children: children }));
18
23
  };
@@ -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,7 @@
1
+ import { createUIKitClassname } from '../../utils/createUIKitClassname';
2
+ export const infiniteTreeListItemClassnames = {
3
+ root: createUIKitClassname('infinite-tree-list__item'),
4
+ disabled: createUIKitClassname('infinite-tree-list__item_disabled'),
5
+ loading: createUIKitClassname('infinite-tree-list__item_loading'),
6
+ hasNested: createUIKitClassname('infinite-tree-list__item_has-nested'),
7
+ };
@@ -2,12 +2,12 @@
2
2
  export declare const Wrapper: import("../../styled").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("../../styled").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("../../styled").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,6 +1,7 @@
1
1
  import { styled } from '../../styled';
2
+ import { infiniteTreeListItemClassnames } from './constants';
2
3
  export const Wrapper = styled.div `
3
- cursor: ${({ $isDisabled, $isLoading, $hasNested }) => $hasNested && !$isLoading && !$isDisabled ? 'pointer' : 'default'};
4
+ cursor: default;
4
5
 
5
6
  display: flex;
6
7
  gap: ${({ theme }) => theme.spacing(3)};
@@ -10,7 +11,6 @@ export const Wrapper = styled.div `
10
11
  min-height: 60px;
11
12
  padding: ${({ theme }) => theme.spacing(3, 4)};
12
13
 
13
- opacity: ${({ $isDisabled }) => ($isDisabled ? 0.5 : 1)};
14
14
  background: ${({ theme }) => theme.palette.background.default};
15
15
 
16
16
  transition: ${({ theme }) => theme.transitions.create('background-color', {
@@ -19,9 +19,26 @@ export const Wrapper = styled.div `
19
19
  })};
20
20
 
21
21
  &:hover {
22
- background-color: ${({ theme, $isDisabled, $isLoading }) => $isDisabled || $isLoading
23
- ? theme.palette.background.default
24
- : theme.palette.background.elementHover};
22
+ background-color: ${({ theme }) => theme.palette.background.elementHover};
23
+ }
24
+
25
+ &.${infiniteTreeListItemClassnames.hasNested} {
26
+ cursor: pointer;
27
+ }
28
+
29
+ &.${infiniteTreeListItemClassnames.loading} {
30
+ cursor: default;
31
+ }
32
+
33
+ &.${infiniteTreeListItemClassnames.disabled} {
34
+ cursor: default;
35
+
36
+ opacity: 0.5;
37
+ }
38
+
39
+ &.${infiniteTreeListItemClassnames.loading}:hover,
40
+ &.${infiniteTreeListItemClassnames.disabled}:hover {
41
+ background-color: ${({ theme }) => theme.palette.background.default};
25
42
  }
26
43
  `;
27
44
  export const ActionsWrapper = styled.div `
@@ -29,3 +46,9 @@ export const ActionsWrapper = styled.div `
29
46
 
30
47
  margin-left: auto;
31
48
  `;
49
+ export const LoaderWrapper = styled.div `
50
+ display: flex;
51
+ justify-content: center;
52
+
53
+ width: 100%;
54
+ `;