@astral/ui 4.92.3 → 4.93.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 (231) hide show
  1. package/components/BottomDrawer/index.d.ts +1 -1
  2. package/components/BottomDrawer/index.js +1 -1
  3. package/components/ClickAwayListener/ClickAwayListener.d.ts +1 -1
  4. package/components/ClickAwayListener/ClickAwayListener.js +8 -2
  5. package/components/Radio/Radio.js +1 -1
  6. package/components/Radio/constants.d.ts +3 -0
  7. package/components/Radio/constants.js +3 -0
  8. package/components/Radio/index.d.ts +1 -1
  9. package/components/Radio/index.js +1 -1
  10. package/components/Radio/styles.js +9 -9
  11. package/components/Tree/MultipleTreeList/MultipleTreeList.js +2 -2
  12. package/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +4 -7
  13. package/components/Tree/MultipleTreeList/TreeItem/styles.d.ts +1 -17
  14. package/components/Tree/MultipleTreeList/TreeItem/styles.js +19 -2
  15. package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +4 -1
  16. package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +8 -2
  17. package/components/Tree/MultipleTreeList/styles.d.ts +4 -0
  18. package/components/Tree/MultipleTreeList/styles.js +25 -0
  19. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.d.ts +2 -0
  20. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.js +11 -0
  21. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.d.ts +2 -0
  22. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.js +50 -0
  23. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.d.ts +1 -0
  24. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.js +1 -0
  25. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.d.ts +404 -0
  26. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.js +172 -0
  27. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.d.ts +11 -0
  28. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.js +1 -0
  29. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +3 -0
  30. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +3 -0
  31. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.d.ts +1 -0
  32. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.js +1 -0
  33. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.d.ts +11 -0
  34. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.js +18 -0
  35. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.d.ts +1 -0
  36. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.js +1 -0
  37. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.d.ts +24 -0
  38. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.js +50 -0
  39. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.d.ts +1 -0
  40. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.js +1 -0
  41. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.d.ts +13 -0
  42. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.js +17 -0
  43. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.d.ts +1 -0
  44. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.js +1 -0
  45. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.d.ts +19 -0
  46. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +39 -0
  47. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.d.ts +13 -0
  48. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.js +6 -0
  49. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.d.ts +7 -0
  50. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.js +12 -0
  51. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.d.ts +1 -0
  52. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.js +1 -0
  53. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.d.ts +2 -0
  54. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.js +2 -0
  55. package/components/Tree/TreeItem/MobileSlidePanel/constants.d.ts +11 -0
  56. package/components/Tree/TreeItem/MobileSlidePanel/constants.js +12 -0
  57. package/components/Tree/TreeItem/MobileSlidePanel/index.d.ts +2 -0
  58. package/components/Tree/TreeItem/MobileSlidePanel/index.js +2 -0
  59. package/components/Tree/TreeItem/MobileSlidePanel/types.d.ts +49 -0
  60. package/components/Tree/TreeItem/MobileSlidePanel/types.js +1 -0
  61. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.d.ts +1 -0
  62. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.js +1 -0
  63. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.d.ts +1 -0
  64. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.js +1 -0
  65. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.d.ts +14 -0
  66. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.js +62 -0
  67. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.d.ts +1 -0
  68. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.js +1 -0
  69. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.d.ts +9 -0
  70. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.js +11 -0
  71. package/components/Tree/TreeItem/TreeItem.d.ts +2 -1
  72. package/components/Tree/TreeItem/TreeItem.js +49 -9
  73. package/components/Tree/TreeItem/constants.d.ts +9 -0
  74. package/components/Tree/TreeItem/constants.js +9 -0
  75. package/components/Tree/TreeItem/styles.d.ts +4 -13
  76. package/components/Tree/TreeItem/styles.js +153 -39
  77. package/components/Tree/TreeItem/types.d.ts +18 -0
  78. package/components/Tree/TreeItem/useLogic/useLogic.d.ts +21 -7
  79. package/components/Tree/TreeItem/useLogic/useLogic.js +40 -2
  80. package/components/Tree/TreeList/TreeItem/TreeItem.js +5 -5
  81. package/components/Tree/TreeList/TreeItem/styles.d.ts +19 -0
  82. package/components/Tree/TreeList/TreeItem/styles.js +36 -0
  83. package/components/Tree/TreeList/TreeItem/useLogic/useLogic.d.ts +6 -0
  84. package/components/Tree/TreeList/TreeItem/useLogic/useLogic.js +11 -0
  85. package/components/Tree/TreeList/TreeList.js +2 -2
  86. package/components/Tree/TreeList/styles.d.ts +4 -0
  87. package/components/Tree/TreeList/styles.js +26 -0
  88. package/components/TreeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  89. package/components/TreeAsyncAutocomplete/OptionsModal/OptionsModal.js +2 -3
  90. package/components/TreeAsyncAutocomplete/OptionsModal/styles.d.ts +17 -0
  91. package/components/TreeAsyncAutocomplete/OptionsModal/styles.js +75 -5
  92. package/components/TreeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  93. package/components/TreeAutocomplete/OptionsModal/OptionsModal.js +2 -3
  94. package/components/TreeAutocomplete/OptionsModal/styles.d.ts +17 -0
  95. package/components/TreeAutocomplete/OptionsModal/styles.js +36 -0
  96. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  97. package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +5 -9
  98. package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +35 -0
  99. package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +96 -5
  100. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  101. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +17 -2
  102. package/components/TreeLikeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  103. package/components/TreeLikeAutocomplete/OptionsModal/OptionsModal.js +5 -6
  104. package/components/TreeLikeAutocomplete/OptionsModal/styles.d.ts +27 -0
  105. package/components/TreeLikeAutocomplete/OptionsModal/styles.js +44 -1
  106. package/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  107. package/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.js +14 -1
  108. package/components/TreeLikeList/TreeItem/TreeItem.js +11 -4
  109. package/components/TreeLikeList/TreeItem/styles.d.ts +14 -17
  110. package/components/TreeLikeList/TreeItem/styles.js +48 -1
  111. package/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +8 -2
  112. package/components/TreeLikeList/TreeItem/useLogic/useLogic.js +35 -13
  113. package/components/TreeLikeList/TreeLikeList.js +2 -2
  114. package/components/TreeLikeList/styles.d.ts +4 -0
  115. package/components/TreeLikeList/styles.js +25 -0
  116. package/node/components/BottomDrawer/index.d.ts +1 -1
  117. package/node/components/BottomDrawer/index.js +3 -1
  118. package/node/components/ClickAwayListener/ClickAwayListener.d.ts +1 -1
  119. package/node/components/ClickAwayListener/ClickAwayListener.js +8 -2
  120. package/node/components/Radio/Radio.js +1 -1
  121. package/node/components/Radio/constants.d.ts +3 -0
  122. package/node/components/Radio/constants.js +4 -1
  123. package/node/components/Radio/index.d.ts +1 -1
  124. package/node/components/Radio/index.js +3 -1
  125. package/node/components/Radio/styles.js +8 -8
  126. package/node/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
  127. package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +4 -7
  128. package/node/components/Tree/MultipleTreeList/TreeItem/styles.d.ts +1 -17
  129. package/node/components/Tree/MultipleTreeList/TreeItem/styles.js +18 -1
  130. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +4 -1
  131. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +8 -2
  132. package/node/components/Tree/MultipleTreeList/styles.d.ts +4 -0
  133. package/node/components/Tree/MultipleTreeList/styles.js +26 -1
  134. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.d.ts +2 -0
  135. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.js +15 -0
  136. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.d.ts +2 -0
  137. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.js +54 -0
  138. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.d.ts +1 -0
  139. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.js +17 -0
  140. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.d.ts +404 -0
  141. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.js +175 -0
  142. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.d.ts +11 -0
  143. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.js +2 -0
  144. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +3 -0
  145. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +19 -0
  146. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.d.ts +1 -0
  147. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.js +17 -0
  148. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.d.ts +11 -0
  149. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.js +22 -0
  150. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.d.ts +1 -0
  151. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.js +17 -0
  152. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.d.ts +24 -0
  153. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.js +54 -0
  154. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.d.ts +1 -0
  155. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.js +17 -0
  156. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.d.ts +13 -0
  157. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.js +21 -0
  158. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.d.ts +1 -0
  159. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.js +17 -0
  160. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.d.ts +19 -0
  161. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +43 -0
  162. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.d.ts +13 -0
  163. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.js +9 -0
  164. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.d.ts +7 -0
  165. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.js +16 -0
  166. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.d.ts +1 -0
  167. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.js +17 -0
  168. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.d.ts +2 -0
  169. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.js +18 -0
  170. package/node/components/Tree/TreeItem/MobileSlidePanel/constants.d.ts +11 -0
  171. package/node/components/Tree/TreeItem/MobileSlidePanel/constants.js +15 -0
  172. package/node/components/Tree/TreeItem/MobileSlidePanel/index.d.ts +2 -0
  173. package/node/components/Tree/TreeItem/MobileSlidePanel/index.js +18 -0
  174. package/node/components/Tree/TreeItem/MobileSlidePanel/types.d.ts +49 -0
  175. package/node/components/Tree/TreeItem/MobileSlidePanel/types.js +2 -0
  176. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.d.ts +1 -0
  177. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.js +17 -0
  178. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.d.ts +1 -0
  179. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.js +17 -0
  180. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.d.ts +14 -0
  181. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.js +66 -0
  182. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.d.ts +1 -0
  183. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.js +17 -0
  184. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.d.ts +9 -0
  185. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.js +15 -0
  186. package/node/components/Tree/TreeItem/TreeItem.d.ts +2 -1
  187. package/node/components/Tree/TreeItem/TreeItem.js +48 -9
  188. package/node/components/Tree/TreeItem/constants.d.ts +9 -0
  189. package/node/components/Tree/TreeItem/constants.js +10 -1
  190. package/node/components/Tree/TreeItem/styles.d.ts +4 -13
  191. package/node/components/Tree/TreeItem/styles.js +153 -39
  192. package/node/components/Tree/TreeItem/types.d.ts +18 -0
  193. package/node/components/Tree/TreeItem/useLogic/useLogic.d.ts +21 -7
  194. package/node/components/Tree/TreeItem/useLogic/useLogic.js +39 -1
  195. package/node/components/Tree/TreeList/TreeItem/TreeItem.js +4 -4
  196. package/node/components/Tree/TreeList/TreeItem/styles.d.ts +19 -0
  197. package/node/components/Tree/TreeList/TreeItem/styles.js +60 -1
  198. package/node/components/Tree/TreeList/TreeItem/useLogic/useLogic.d.ts +6 -0
  199. package/node/components/Tree/TreeList/TreeItem/useLogic/useLogic.js +11 -0
  200. package/node/components/Tree/TreeList/TreeList.js +1 -1
  201. package/node/components/Tree/TreeList/styles.d.ts +4 -0
  202. package/node/components/Tree/TreeList/styles.js +27 -1
  203. package/node/components/TreeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  204. package/node/components/TreeAsyncAutocomplete/OptionsModal/OptionsModal.js +1 -2
  205. package/node/components/TreeAsyncAutocomplete/OptionsModal/styles.d.ts +17 -0
  206. package/node/components/TreeAsyncAutocomplete/OptionsModal/styles.js +76 -6
  207. package/node/components/TreeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  208. package/node/components/TreeAutocomplete/OptionsModal/OptionsModal.js +1 -2
  209. package/node/components/TreeAutocomplete/OptionsModal/styles.d.ts +17 -0
  210. package/node/components/TreeAutocomplete/OptionsModal/styles.js +37 -1
  211. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  212. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +3 -7
  213. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +35 -0
  214. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +97 -6
  215. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  216. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +17 -2
  217. package/node/components/TreeLikeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  218. package/node/components/TreeLikeAutocomplete/OptionsModal/OptionsModal.js +3 -4
  219. package/node/components/TreeLikeAutocomplete/OptionsModal/styles.d.ts +27 -0
  220. package/node/components/TreeLikeAutocomplete/OptionsModal/styles.js +45 -2
  221. package/node/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  222. package/node/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.js +14 -1
  223. package/node/components/TreeLikeList/TreeItem/TreeItem.js +9 -2
  224. package/node/components/TreeLikeList/TreeItem/styles.d.ts +14 -17
  225. package/node/components/TreeLikeList/TreeItem/styles.js +48 -1
  226. package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +8 -2
  227. package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.js +34 -12
  228. package/node/components/TreeLikeList/TreeLikeList.js +1 -1
  229. package/node/components/TreeLikeList/styles.d.ts +4 -0
  230. package/node/components/TreeLikeList/styles.js +26 -1
  231. package/package.json +1 -1
@@ -0,0 +1,24 @@
1
+ import { type MouseEvent } from 'react';
2
+ import { type MobileSlidePanelContextProps } from '../../../../MobileSlidePanelContext';
3
+ import { type MobilePanelHeader } from '../../../../types';
4
+ type UsePanelHeaderParams = MobilePanelHeader & {
5
+ id: string;
6
+ isOpen: boolean;
7
+ activeHeader?: MobilePanelHeader | null;
8
+ setHeader?: MobileSlidePanelContextProps['setHeader'];
9
+ removeHeader?: MobileSlidePanelContextProps['removeHeader'];
10
+ };
11
+ /**
12
+ * Публикует заголовок слоя в стек и снимает его при закрытии.
13
+ */
14
+ export declare const usePanelHeader: ({ id, isOpen, activeHeader, setHeader, removeHeader, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, onParentClick, }: UsePanelHeaderParams) => {
15
+ handleParentClick: (event: MouseEvent<HTMLDivElement>) => void;
16
+ parentLabel?: import("react").ReactNode;
17
+ parentNote?: import("react").ReactNode;
18
+ parentControl?: import("react").ReactNode;
19
+ parentAdditionalContent?: import("react").ReactNode;
20
+ isParentSelected?: boolean | undefined;
21
+ isParentDisabled?: boolean | undefined;
22
+ onParentClick?: ((event: import("react").SyntheticEvent<Element, Event>) => void) | undefined;
23
+ };
24
+ export {};
@@ -0,0 +1,50 @@
1
+ import { useLayoutEffect, useMemo } from 'react';
2
+ /**
3
+ * Публикует заголовок слоя в стек и снимает его при закрытии.
4
+ */
5
+ export const usePanelHeader = ({ id, isOpen, activeHeader, setHeader, removeHeader, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, onParentClick, }) => {
6
+ const localHeader = useMemo(() => ({
7
+ parentLabel,
8
+ parentNote,
9
+ parentControl,
10
+ parentAdditionalContent,
11
+ isParentSelected,
12
+ isParentDisabled,
13
+ onParentClick,
14
+ }), [
15
+ parentLabel,
16
+ parentNote,
17
+ parentControl,
18
+ parentAdditionalContent,
19
+ isParentSelected,
20
+ isParentDisabled,
21
+ onParentClick,
22
+ ]);
23
+ const displayedHeader = activeHeader ?? localHeader;
24
+ const { isParentDisabled: isDisplayedParentDisabled, onParentClick: onDisplayedParentClick, } = displayedHeader;
25
+ const handleParentClick = (event) => {
26
+ if (isDisplayedParentDisabled) {
27
+ return;
28
+ }
29
+ onDisplayedParentClick?.(event);
30
+ };
31
+ useLayoutEffect(() => {
32
+ if (!setHeader || !isOpen) {
33
+ return;
34
+ }
35
+ setHeader(id, localHeader);
36
+ }, [setHeader, isOpen, id, localHeader]);
37
+ // Второй useLayoutEffect нужен, чтобы изменение localHeader не повлияло на cleanup функцию
38
+ useLayoutEffect(() => {
39
+ if (!removeHeader || !isOpen) {
40
+ return;
41
+ }
42
+ return () => {
43
+ removeHeader(id);
44
+ };
45
+ }, [removeHeader, isOpen, id]);
46
+ return {
47
+ ...displayedHeader,
48
+ handleParentClick,
49
+ };
50
+ };
@@ -0,0 +1,13 @@
1
+ import { type MouseEvent } from 'react';
2
+ import { type MobileSlidePanelContextProps } from '../../../../MobileSlidePanelContext';
3
+ type UseRegisterCloseParams = {
4
+ isMounted: boolean;
5
+ register?: MobileSlidePanelContextProps['register'];
6
+ onClose: (event: MouseEvent<HTMLElement>) => void;
7
+ };
8
+ /**
9
+ * Кладёт актуальный onClose в стек, не перерегистрируя слой при смене обработчика закрытия.
10
+ * Нужен, чтобы вложенность не ломалась: новый onClose не должен выталкивать слой в конец стека.
11
+ */
12
+ export declare const useRegisterClose: ({ isMounted, register, onClose, }: UseRegisterCloseParams) => void;
13
+ export {};
@@ -0,0 +1,17 @@
1
+ import { useEffect, useRef } from 'react';
2
+ /**
3
+ * Кладёт актуальный onClose в стек, не перерегистрируя слой при смене обработчика закрытия.
4
+ * Нужен, чтобы вложенность не ломалась: новый onClose не должен выталкивать слой в конец стека.
5
+ */
6
+ export const useRegisterClose = ({ isMounted, register, onClose, }) => {
7
+ const onCloseRef = useRef(onClose);
8
+ onCloseRef.current = onClose;
9
+ useEffect(() => {
10
+ if (!isMounted || !register) {
11
+ return;
12
+ }
13
+ return register((event) => {
14
+ onCloseRef.current(event);
15
+ });
16
+ }, [isMounted, register]);
17
+ };
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import { type MobileSlidePanelContentProps } from '../types';
3
+ type UseLogicParams = MobileSlidePanelContentProps;
4
+ /**
5
+ * Собирает жизненный цикл панели: присутствие в DOM, закрытие и шапку стека.
6
+ */
7
+ export declare const useLogic: ({ id, isOpen, onClose, activeHeader, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, onParentClick, }: UseLogicParams) => {
8
+ handleParentClick: (event: import("react").MouseEvent<HTMLDivElement, MouseEvent>) => void;
9
+ parentLabel?: import("react").ReactNode;
10
+ parentNote?: import("react").ReactNode;
11
+ parentControl?: import("react").ReactNode;
12
+ parentAdditionalContent?: import("react").ReactNode;
13
+ isParentSelected?: boolean | undefined;
14
+ isParentDisabled?: boolean | undefined;
15
+ onParentClick?: ((event: import("react").SyntheticEvent<Element, Event>) => void) | undefined;
16
+ isMobileMounted: boolean;
17
+ closeTop: ((event: import("react").MouseEvent<HTMLElement, MouseEvent>) => void) | undefined;
18
+ };
19
+ export {};
@@ -0,0 +1,39 @@
1
+ import { useContext } from 'react';
2
+ import { useTheme } from '../../../../../theme/hooks';
3
+ import { MobileSlidePanelContext } from '../../MobileSlidePanelContext';
4
+ import { useDelayedUnmount, usePanelHeader, useRegisterClose } from './hooks';
5
+ /**
6
+ * Собирает жизненный цикл панели: присутствие в DOM, закрытие и шапку стека.
7
+ */
8
+ export const useLogic = ({ id, isOpen, onClose, activeHeader, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, onParentClick, }) => {
9
+ const { transitions: { duration: { standard: transitionDuration }, }, } = useTheme();
10
+ const { register, closeTop, setHeader, removeHeader } = useContext(MobileSlidePanelContext) ?? {};
11
+ const { isMounted: isMobileMounted } = useDelayedUnmount({
12
+ isOpen,
13
+ duration: transitionDuration,
14
+ });
15
+ useRegisterClose({
16
+ isMounted: isMobileMounted,
17
+ register,
18
+ onClose,
19
+ });
20
+ const header = usePanelHeader({
21
+ id,
22
+ isOpen,
23
+ activeHeader,
24
+ setHeader,
25
+ removeHeader,
26
+ parentLabel,
27
+ parentNote,
28
+ parentControl,
29
+ parentAdditionalContent,
30
+ isParentSelected,
31
+ isParentDisabled,
32
+ onParentClick,
33
+ });
34
+ return {
35
+ isMobileMounted,
36
+ closeTop,
37
+ ...header,
38
+ };
39
+ };
@@ -0,0 +1,13 @@
1
+ import { type MouseEvent } from 'react';
2
+ import { type MobilePanelHeader } from '../types';
3
+ export type MobileSlidePanelContextProps = {
4
+ register: (close: (event: MouseEvent<HTMLElement>) => void) => () => void;
5
+ closeTop: (event: MouseEvent<HTMLElement>) => void;
6
+ setHeader: (headerId: string, header: MobilePanelHeader) => void;
7
+ removeHeader: (headerId: string) => void;
8
+ };
9
+ /**
10
+ * Общий стек закрытия и заголовков вложенных мобильных панелей.
11
+ * Нужен, чтобы back и шапка всегда относились к верхнему слою, а не к каждому по отдельности.
12
+ */
13
+ export declare const MobileSlidePanelContext: import("react").Context<MobileSlidePanelContextProps | null>;
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+ /**
3
+ * Общий стек закрытия и заголовков вложенных мобильных панелей.
4
+ * Нужен, чтобы back и шапка всегда относились к верхнему слою, а не к каждому по отдельности.
5
+ */
6
+ export const MobileSlidePanelContext = createContext(null);
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type MobileSlidePanelContextProps } from '../MobileSlidePanelContext';
3
+ type Props = MobileSlidePanelContextProps & {
4
+ children: ReactNode;
5
+ };
6
+ export declare const MobileSlidePanelContextProvider: ({ children, register, closeTop, setHeader, removeHeader, }: Props) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { MobileSlidePanelContext, } from '../MobileSlidePanelContext';
4
+ export const MobileSlidePanelContextProvider = ({ children, register, closeTop, setHeader, removeHeader, }) => {
5
+ const contextValue = useMemo(() => ({
6
+ register,
7
+ closeTop,
8
+ setHeader,
9
+ removeHeader,
10
+ }), [register, closeTop, setHeader, removeHeader]);
11
+ return (_jsx(MobileSlidePanelContext.Provider, { value: contextValue, children: children }));
12
+ };
@@ -0,0 +1 @@
1
+ export * from './MobileSlidePanelContextProvider';
@@ -0,0 +1 @@
1
+ export * from './MobileSlidePanelContextProvider';
@@ -0,0 +1,2 @@
1
+ export * from './MobileSlidePanelContext';
2
+ export * from './MobileSlidePanelContextProvider';
@@ -0,0 +1,2 @@
1
+ export * from './MobileSlidePanelContext';
2
+ export * from './MobileSlidePanelContextProvider';
@@ -0,0 +1,11 @@
1
+ export declare const mobileSlidePanelClassnames: {
2
+ root: string;
3
+ nested: string;
4
+ content: string;
5
+ header: string;
6
+ headerParent: string;
7
+ headerControl: string;
8
+ headerAdditionalContent: string;
9
+ backButton: string;
10
+ slidePanel: string;
11
+ };
@@ -0,0 +1,12 @@
1
+ import { createUIKitClassname } from '../../../utils/createUIKitClassname';
2
+ export const mobileSlidePanelClassnames = {
3
+ root: createUIKitClassname('tree-item__mobile-panel'),
4
+ nested: createUIKitClassname('tree-item__mobile-panel_nested'),
5
+ content: createUIKitClassname('tree-item__mobile-panel-content'),
6
+ header: createUIKitClassname('tree-item__mobile-header'),
7
+ headerParent: createUIKitClassname('tree-item__mobile-header-parent'),
8
+ headerControl: createUIKitClassname('tree-item__mobile-header-control'),
9
+ headerAdditionalContent: createUIKitClassname('tree-item__mobile-header-additional-content'),
10
+ backButton: createUIKitClassname('tree-item__mobile-back-button'),
11
+ slidePanel: createUIKitClassname('tree-item__slide-panel'),
12
+ };
@@ -0,0 +1,2 @@
1
+ export * from './constants';
2
+ export * from './MobileSlidePanel';
@@ -0,0 +1,2 @@
1
+ export * from './constants';
2
+ export * from './MobileSlidePanel';
@@ -0,0 +1,49 @@
1
+ import { type MouseEvent, type ReactNode, type SyntheticEvent } from 'react';
2
+ /**
3
+ * Данные родителя для шапки мобильной панели.
4
+ */
5
+ export type MobilePanelHeader = {
6
+ /**
7
+ * Заголовок родителя в шапке.
8
+ */
9
+ parentLabel?: ReactNode;
10
+ /**
11
+ * Подзаголовок родителя в шапке.
12
+ */
13
+ parentNote?: ReactNode;
14
+ parentControl?: ReactNode;
15
+ /**
16
+ * Дополнительное содержимое под родителем в шапке.
17
+ */
18
+ parentAdditionalContent?: ReactNode;
19
+ /**
20
+ * Если `true`, родитель в шапке отображается как выбранный.
21
+ */
22
+ isParentSelected?: boolean;
23
+ /**
24
+ * Если `true`, клик по родителю в шапке недоступен.
25
+ */
26
+ isParentDisabled?: boolean;
27
+ /**
28
+ * Обработчик клика по родителю в шапке.
29
+ */
30
+ onParentClick?: (event: SyntheticEvent) => void;
31
+ };
32
+ export type MobileSlidePanelProps = {
33
+ /**
34
+ * Идентификатор слоя.
35
+ */
36
+ id: string;
37
+ /**
38
+ * Если `true`, панель открыта.
39
+ */
40
+ isOpen: boolean;
41
+ /**
42
+ * Закрывает текущий слой панели.
43
+ */
44
+ onClose: (event: MouseEvent<HTMLElement>) => void;
45
+ /**
46
+ * Вложенные элементы дерева, отображаемые внутри панели.
47
+ */
48
+ children?: ReactNode;
49
+ } & MobilePanelHeader;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from './usePanelStack';
@@ -0,0 +1 @@
1
+ export * from './usePanelStack';
@@ -0,0 +1 @@
1
+ export * from './usePanelStack';
@@ -0,0 +1 @@
1
+ export * from './usePanelStack';
@@ -0,0 +1,14 @@
1
+ import { type MouseEvent } from 'react';
2
+ import { type MobilePanelHeader } from '../../../types';
3
+ /**
4
+ * Хранит стеки закрытия и заголовков вложенных панелей.
5
+ * Нужен, чтобы общий UI (закрытие и шапка) всегда относился к верхнему уровню вложенности,
6
+ * а не к каждому по отдельности.
7
+ */
8
+ export declare const usePanelStack: () => {
9
+ register: (close: (event: MouseEvent<HTMLElement>) => void) => () => void;
10
+ closeTop: (event: MouseEvent<HTMLElement>) => void;
11
+ setHeader: (headerId: string, header: MobilePanelHeader) => void;
12
+ removeHeader: (headerId: string) => void;
13
+ activeHeader: MobilePanelHeader | null;
14
+ };
@@ -0,0 +1,62 @@
1
+ import { useCallback, useRef, useState } from 'react';
2
+ /**
3
+ * Хранит стеки закрытия и заголовков вложенных панелей.
4
+ * Нужен, чтобы общий UI (закрытие и шапка) всегда относился к верхнему уровню вложенности,
5
+ * а не к каждому по отдельности.
6
+ */
7
+ export const usePanelStack = () => {
8
+ const stackRef = useRef([]);
9
+ const headersRef = useRef(new Map());
10
+ const headerOrderRef = useRef([]);
11
+ const [activeHeader, setActiveHeader] = useState(null);
12
+ /**
13
+ * Добавляет обработчик закрытия в стек и возвращает функцию снятия.
14
+ * Нужен, чтобы текущим считался последний зарегистрированный слой.
15
+ */
16
+ const register = useCallback((close) => {
17
+ stackRef.current.push(close);
18
+ return () => {
19
+ stackRef.current = stackRef.current.filter((registeredClose) => registeredClose !== close);
20
+ };
21
+ }, []);
22
+ /**
23
+ * Вызывает обработчик закрытия верхнего слоя.
24
+ * Нужен, чтобы снимать слои по одному, с конца стека.
25
+ */
26
+ const closeTop = useCallback((event) => {
27
+ stackRef.current[stackRef.current.length - 1]?.(event);
28
+ }, []);
29
+ /**
30
+ * Записывает или обновляет заголовок слоя. Если слой верхний — публикует его.
31
+ * Нужен, чтобы общий заголовок отражал текущий слой без смены порядка стека
32
+ * при повторной записи того же id.
33
+ */
34
+ const setHeader = useCallback((headerId, header) => {
35
+ const isNew = !headersRef.current.has(headerId);
36
+ headersRef.current.set(headerId, header);
37
+ if (isNew) {
38
+ headerOrderRef.current.push(headerId);
39
+ }
40
+ const topId = headerOrderRef.current[headerOrderRef.current.length - 1];
41
+ if (topId === headerId) {
42
+ setActiveHeader(header);
43
+ }
44
+ }, []);
45
+ /**
46
+ * Удаляет заголовок слоя и публикует предыдущий верхний.
47
+ * Нужен, чтобы заголовок следовал за разбором стека.
48
+ */
49
+ const removeHeader = useCallback((headerId) => {
50
+ headersRef.current.delete(headerId);
51
+ headerOrderRef.current = headerOrderRef.current.filter((headerItemId) => headerItemId !== headerId);
52
+ const topId = headerOrderRef.current[headerOrderRef.current.length - 1];
53
+ setActiveHeader(topId ? (headersRef.current.get(topId) ?? null) : null);
54
+ }, []);
55
+ return {
56
+ register,
57
+ closeTop,
58
+ setHeader,
59
+ removeHeader,
60
+ activeHeader,
61
+ };
62
+ };
@@ -0,0 +1 @@
1
+ export * from './useLogic';
@@ -0,0 +1 @@
1
+ export * from './useLogic';
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare const useLogic: () => {
3
+ register: (close: (event: import("react").MouseEvent<HTMLElement, MouseEvent>) => void) => () => void;
4
+ closeTop: (event: import("react").MouseEvent<HTMLElement, MouseEvent>) => void;
5
+ setHeader: (headerId: string, header: import("../types").MobilePanelHeader) => void;
6
+ removeHeader: (headerId: string) => void;
7
+ activeHeader: import("../types").MobilePanelHeader | null;
8
+ parentContext: import("../MobileSlidePanelContext").MobileSlidePanelContextProps | null;
9
+ };
@@ -0,0 +1,11 @@
1
+ import { useContext } from 'react';
2
+ import { MobileSlidePanelContext } from '../MobileSlidePanelContext';
3
+ import { usePanelStack } from './hooks';
4
+ export const useLogic = () => {
5
+ const parentContext = useContext(MobileSlidePanelContext);
6
+ const panelStack = usePanelStack();
7
+ return {
8
+ parentContext,
9
+ ...panelStack,
10
+ };
11
+ };
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import { type TreeItemProps } from './types';
2
- export declare const TreeItem: (props: TreeItemProps) => import("react/jsx-runtime").JSX.Element;
3
+ export declare const TreeItem: import("react").ForwardRefExoticComponent<Omit<TreeItemProps, "ref"> & import("react").RefAttributes<HTMLLIElement>>;
@@ -1,15 +1,55 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Collapse } from '../../Collapse';
2
+ import { forwardRef } from 'react';
3
3
  import { Tooltip } from '../../Tooltip';
4
+ import { classNames } from '../../utils/classNames';
5
+ import { cva } from '../../utils/cva';
4
6
  import { TOOLTIP_PLACEMENT, treeClassnames } from './constants';
5
- import { ChevronIcon, CollapseButton, Item, ItemContent, ItemWrapper, Label, LabelWrapper, Note, } from './styles';
7
+ import { MobileSlidePanel } from './MobileSlidePanel';
8
+ import { ChevronIcon, CollapseButton, Item, ItemContent, ItemWrapper, Label, LabelWrapper, Note, StyledCollapse, } from './styles';
6
9
  import { useLogic } from './useLogic';
7
- export const TreeItem = (props) => {
8
- const { isOpen, handleToggle, itemProps, itemContentProps, tooltipProps } = useLogic(props);
9
- const { id, prefixId, label, note, renderItem, children, className, isSelected, isDisabled = false, disabledReason, isDefaultExpanded, isForceExpanded, isNotBlockingExpandList = false, level = 0, component = 'div', onClick, ...restProps } = props;
10
- const renderCollapseButton = () => (_jsx(CollapseButton, { "$isNotBlockingExpandList": isNotBlockingExpandList, disabled: !isNotBlockingExpandList && isDisabled, variant: "text", onClick: handleToggle, children: _jsx(ChevronIcon, { "$isActive": isOpen }) }));
10
+ const itemCva = cva(treeClassnames.item, {
11
+ variants: {
12
+ isOpen: {
13
+ true: treeClassnames.open,
14
+ },
15
+ },
16
+ });
17
+ const itemContentCva = cva(treeClassnames.itemContent, {
18
+ variants: {
19
+ isSelected: {
20
+ true: treeClassnames.selected,
21
+ },
22
+ isDisabled: {
23
+ true: treeClassnames.disabled,
24
+ },
25
+ hasNested: {
26
+ true: treeClassnames.hasNested,
27
+ },
28
+ },
29
+ });
30
+ const collapseButtonCva = cva(treeClassnames.collapseButton, {
31
+ variants: {
32
+ isNotBlockingExpandList: {
33
+ true: treeClassnames.notBlockingExpandList,
34
+ },
35
+ isOpen: {
36
+ true: treeClassnames.open,
37
+ },
38
+ },
39
+ });
40
+ export const TreeItem = forwardRef((props, ref) => {
41
+ const { isOpen, isMobileOpen, isMobile, handleToggle, handleClose, itemProps, itemContentProps, tooltipProps, itemCssVars, mobileSlidePanelProps, } = useLogic(props);
42
+ const { id, prefixId, label, note, renderItem, children, className, isSelected, isDisabled = false, disabledReason, isDefaultExpanded, isForceExpanded, isNotBlockingExpandList = false, level = 0, component = 'div', onClick, mobileHeaderLabel, mobileHeaderControl, mobileHeaderAdditionalContent, onMobilePanelOpenChange, ...restProps } = props;
43
+ const renderCollapseButton = () => (_jsx(CollapseButton, { className: collapseButtonCva({
44
+ isNotBlockingExpandList,
45
+ isOpen,
46
+ }), disabled: !isNotBlockingExpandList && isDisabled, variant: "text", onClick: handleToggle, children: _jsx(ChevronIcon, {}) }));
11
47
  if (children) {
12
- return (_jsxs(Item, { ...restProps, "$level": level, as: component, className: className, ...itemProps, children: [_jsx(ItemContent, { "$isSelected": isSelected, "$isDisabled": isDisabled, "$level": level, ...itemContentProps, children: _jsx(Tooltip, { placement: TOOLTIP_PLACEMENT, ...tooltipProps, children: renderItem ? (_jsxs(LabelWrapper, { "$level": level, children: [renderCollapseButton(), renderItem({ label, note, id })] })) : (_jsxs(ItemWrapper, { children: [_jsxs(LabelWrapper, { "$level": level, children: [renderCollapseButton(), _jsx(Label, { component: "div", children: label })] }), note && (_jsx(Note, { className: treeClassnames.note, variant: "caption", color: "textSecondary", children: note }))] })) }) }), _jsx(Collapse, { in: isOpen, unmountOnExit: true, children: children })] }));
48
+ return (_jsxs(Item, { ...restProps, ref: ref, as: component, className: classNames(className, itemCva({ isOpen })), style: itemCssVars, ...itemProps, children: [_jsx(ItemContent, { ...itemContentProps, className: itemContentCva({
49
+ isSelected,
50
+ isDisabled,
51
+ hasNested: Boolean(children),
52
+ }), children: _jsx(Tooltip, { placement: TOOLTIP_PLACEMENT, ...tooltipProps, children: renderItem ? (_jsxs(LabelWrapper, { children: [renderCollapseButton(), renderItem({ label, note, id })] })) : (_jsxs(ItemWrapper, { children: [_jsxs(LabelWrapper, { children: [renderCollapseButton(), _jsx(Label, { component: "div", children: label })] }), note && (_jsx(Note, { className: treeClassnames.note, variant: "caption", color: "textSecondary", children: note }))] })) }) }), isMobile ? (_jsx(MobileSlidePanel, { isOpen: isMobileOpen, onClose: handleClose, ...mobileSlidePanelProps, children: children })) : (_jsx(StyledCollapse, { in: isOpen, unmountOnExit: true, children: children }))] }));
13
53
  }
14
- return (_jsx(Item, { ...restProps, "$level": level, as: component, className: className, ...itemProps, children: _jsx(ItemContent, { "$isSelected": isSelected, "$isDisabled": isDisabled, "$level": level, ...itemContentProps, children: _jsx(Tooltip, { placement: TOOLTIP_PLACEMENT, ...tooltipProps, children: renderItem ? (_jsx(LabelWrapper, { "$level": level, children: renderItem({ label, note, id }) })) : (_jsxs(ItemWrapper, { children: [_jsx(LabelWrapper, { "$level": level, children: _jsx(Label, { component: "div", children: label }) }), note && (_jsx(Note, { className: treeClassnames.note, variant: "caption", color: "textSecondary", children: note }))] })) }) }) }));
15
- };
54
+ return (_jsx(Item, { ...restProps, ref: ref, as: component, className: classNames(className, itemCva({ isOpen })), style: itemCssVars, ...itemProps, children: _jsx(ItemContent, { ...itemContentProps, className: itemContentCva({ isSelected, isDisabled }), children: _jsx(Tooltip, { placement: TOOLTIP_PLACEMENT, ...tooltipProps, children: renderItem ? (_jsx(LabelWrapper, { children: renderItem({ label, note, id }) })) : (_jsxs(ItemWrapper, { children: [_jsx(LabelWrapper, { children: _jsx(Label, { component: "div", children: label }) }), note && (_jsx(Note, { className: treeClassnames.note, variant: "caption", color: "textSecondary", children: note }))] })) }) }) }));
55
+ });
@@ -1,9 +1,18 @@
1
1
  export declare const COLLAPSE_BUTTON_WIDTH = "24px";
2
+ export declare const MOBILE_COLLAPSE_BUTTON_WIDTH = "72px";
2
3
  export declare const TREE_LINE_WIDTH = "10px";
3
4
  export declare const GAP_WIDTH = "4px";
4
5
  export declare const HALF_PADDING_COLLAPSE_BUTTON_WIDTH = "14px";
5
6
  export declare const TOOLTIP_PLACEMENT = "bottom-start";
6
7
  export declare const treeClassnames: {
8
+ item: string;
9
+ itemContent: string;
7
10
  note: string;
8
11
  label: string;
12
+ collapseButton: string;
13
+ hasNested: string;
14
+ open: string;
15
+ disabled: string;
16
+ selected: string;
17
+ notBlockingExpandList: string;
9
18
  };
@@ -1,10 +1,19 @@
1
1
  import { createUIKitClassname } from '../../utils/createUIKitClassname';
2
2
  export const COLLAPSE_BUTTON_WIDTH = '24px';
3
+ export const MOBILE_COLLAPSE_BUTTON_WIDTH = '72px';
3
4
  export const TREE_LINE_WIDTH = '10px';
4
5
  export const GAP_WIDTH = '4px';
5
6
  export const HALF_PADDING_COLLAPSE_BUTTON_WIDTH = '14px';
6
7
  export const TOOLTIP_PLACEMENT = 'bottom-start';
7
8
  export const treeClassnames = {
9
+ item: createUIKitClassname('tree-item'),
10
+ itemContent: createUIKitClassname('tree-item__content'),
8
11
  note: createUIKitClassname('tree-item__note'),
9
12
  label: createUIKitClassname('tree-item__label'),
13
+ collapseButton: createUIKitClassname('tree-item__collapse-button'),
14
+ hasNested: createUIKitClassname('tree-item_has-nested'),
15
+ open: createUIKitClassname('tree-item_open'),
16
+ disabled: createUIKitClassname('tree-item_disabled'),
17
+ selected: createUIKitClassname('tree-item_selected'),
18
+ notBlockingExpandList: createUIKitClassname('tree-item_not-blocking-expand-list'),
10
19
  };