@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,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useDelayedUnmount"), exports);
@@ -0,0 +1,11 @@
1
+ type UseDelayedUnmountParams = {
2
+ isOpen: boolean;
3
+ duration: number;
4
+ };
5
+ /**
6
+ * Держит слой в DOM на время exit-анимации.
7
+ */
8
+ export declare const useDelayedUnmount: ({ isOpen, duration, }: UseDelayedUnmountParams) => {
9
+ isMounted: boolean;
10
+ };
11
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDelayedUnmount = void 0;
4
+ const react_1 = require("react");
5
+ /**
6
+ * Держит слой в DOM на время exit-анимации.
7
+ */
8
+ const useDelayedUnmount = ({ isOpen, duration, }) => {
9
+ const [isMounted, setIsMounted] = (0, react_1.useState)(false);
10
+ (0, react_1.useEffect)(() => {
11
+ if (isOpen) {
12
+ setIsMounted(true);
13
+ return;
14
+ }
15
+ const timer = window.setTimeout(() => {
16
+ setIsMounted(false);
17
+ }, duration);
18
+ return () => clearTimeout(timer);
19
+ }, [isOpen, duration]);
20
+ return { isMounted };
21
+ };
22
+ exports.useDelayedUnmount = useDelayedUnmount;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./usePanelHeader"), exports);
@@ -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,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePanelHeader = void 0;
4
+ const react_1 = require("react");
5
+ /**
6
+ * Публикует заголовок слоя в стек и снимает его при закрытии.
7
+ */
8
+ const usePanelHeader = ({ id, isOpen, activeHeader, setHeader, removeHeader, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, onParentClick, }) => {
9
+ const localHeader = (0, react_1.useMemo)(() => ({
10
+ parentLabel,
11
+ parentNote,
12
+ parentControl,
13
+ parentAdditionalContent,
14
+ isParentSelected,
15
+ isParentDisabled,
16
+ onParentClick,
17
+ }), [
18
+ parentLabel,
19
+ parentNote,
20
+ parentControl,
21
+ parentAdditionalContent,
22
+ isParentSelected,
23
+ isParentDisabled,
24
+ onParentClick,
25
+ ]);
26
+ const displayedHeader = activeHeader ?? localHeader;
27
+ const { isParentDisabled: isDisplayedParentDisabled, onParentClick: onDisplayedParentClick, } = displayedHeader;
28
+ const handleParentClick = (event) => {
29
+ if (isDisplayedParentDisabled) {
30
+ return;
31
+ }
32
+ onDisplayedParentClick?.(event);
33
+ };
34
+ (0, react_1.useLayoutEffect)(() => {
35
+ if (!setHeader || !isOpen) {
36
+ return;
37
+ }
38
+ setHeader(id, localHeader);
39
+ }, [setHeader, isOpen, id, localHeader]);
40
+ // Второй useLayoutEffect нужен, чтобы изменение localHeader не повлияло на cleanup функцию
41
+ (0, react_1.useLayoutEffect)(() => {
42
+ if (!removeHeader || !isOpen) {
43
+ return;
44
+ }
45
+ return () => {
46
+ removeHeader(id);
47
+ };
48
+ }, [removeHeader, isOpen, id]);
49
+ return {
50
+ ...displayedHeader,
51
+ handleParentClick,
52
+ };
53
+ };
54
+ exports.usePanelHeader = usePanelHeader;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useRegisterClose"), exports);
@@ -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,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRegisterClose = void 0;
4
+ const react_1 = require("react");
5
+ /**
6
+ * Кладёт актуальный onClose в стек, не перерегистрируя слой при смене обработчика закрытия.
7
+ * Нужен, чтобы вложенность не ломалась: новый onClose не должен выталкивать слой в конец стека.
8
+ */
9
+ const useRegisterClose = ({ isMounted, register, onClose, }) => {
10
+ const onCloseRef = (0, react_1.useRef)(onClose);
11
+ onCloseRef.current = onClose;
12
+ (0, react_1.useEffect)(() => {
13
+ if (!isMounted || !register) {
14
+ return;
15
+ }
16
+ return register((event) => {
17
+ onCloseRef.current(event);
18
+ });
19
+ }, [isMounted, register]);
20
+ };
21
+ exports.useRegisterClose = useRegisterClose;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useLogic"), exports);
@@ -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,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLogic = void 0;
4
+ const react_1 = require("react");
5
+ const hooks_1 = require("../../../../../theme/hooks");
6
+ const MobileSlidePanelContext_1 = require("../../MobileSlidePanelContext");
7
+ const hooks_2 = require("./hooks");
8
+ /**
9
+ * Собирает жизненный цикл панели: присутствие в DOM, закрытие и шапку стека.
10
+ */
11
+ const useLogic = ({ id, isOpen, onClose, activeHeader, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, onParentClick, }) => {
12
+ const { transitions: { duration: { standard: transitionDuration }, }, } = (0, hooks_1.useTheme)();
13
+ const { register, closeTop, setHeader, removeHeader } = (0, react_1.useContext)(MobileSlidePanelContext_1.MobileSlidePanelContext) ?? {};
14
+ const { isMounted: isMobileMounted } = (0, hooks_2.useDelayedUnmount)({
15
+ isOpen,
16
+ duration: transitionDuration,
17
+ });
18
+ (0, hooks_2.useRegisterClose)({
19
+ isMounted: isMobileMounted,
20
+ register,
21
+ onClose,
22
+ });
23
+ const header = (0, hooks_2.usePanelHeader)({
24
+ id,
25
+ isOpen,
26
+ activeHeader,
27
+ setHeader,
28
+ removeHeader,
29
+ parentLabel,
30
+ parentNote,
31
+ parentControl,
32
+ parentAdditionalContent,
33
+ isParentSelected,
34
+ isParentDisabled,
35
+ onParentClick,
36
+ });
37
+ return {
38
+ isMobileMounted,
39
+ closeTop,
40
+ ...header,
41
+ };
42
+ };
43
+ exports.useLogic = useLogic;
@@ -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,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobileSlidePanelContext = void 0;
4
+ const react_1 = require("react");
5
+ /**
6
+ * Общий стек закрытия и заголовков вложенных мобильных панелей.
7
+ * Нужен, чтобы back и шапка всегда относились к верхнему слою, а не к каждому по отдельности.
8
+ */
9
+ exports.MobileSlidePanelContext = (0, react_1.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,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobileSlidePanelContextProvider = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const MobileSlidePanelContext_1 = require("../MobileSlidePanelContext");
7
+ const MobileSlidePanelContextProvider = ({ children, register, closeTop, setHeader, removeHeader, }) => {
8
+ const contextValue = (0, react_1.useMemo)(() => ({
9
+ register,
10
+ closeTop,
11
+ setHeader,
12
+ removeHeader,
13
+ }), [register, closeTop, setHeader, removeHeader]);
14
+ return ((0, jsx_runtime_1.jsx)(MobileSlidePanelContext_1.MobileSlidePanelContext.Provider, { value: contextValue, children: children }));
15
+ };
16
+ exports.MobileSlidePanelContextProvider = MobileSlidePanelContextProvider;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MobileSlidePanelContextProvider"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './MobileSlidePanelContext';
2
+ export * from './MobileSlidePanelContextProvider';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MobileSlidePanelContext"), exports);
18
+ __exportStar(require("./MobileSlidePanelContextProvider"), exports);
@@ -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,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mobileSlidePanelClassnames = void 0;
4
+ const createUIKitClassname_1 = require("../../../utils/createUIKitClassname");
5
+ exports.mobileSlidePanelClassnames = {
6
+ root: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-panel'),
7
+ nested: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-panel_nested'),
8
+ content: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-panel-content'),
9
+ header: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-header'),
10
+ headerParent: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-header-parent'),
11
+ headerControl: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-header-control'),
12
+ headerAdditionalContent: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-header-additional-content'),
13
+ backButton: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__mobile-back-button'),
14
+ slidePanel: (0, createUIKitClassname_1.createUIKitClassname)('tree-item__slide-panel'),
15
+ };
@@ -0,0 +1,2 @@
1
+ export * from './constants';
2
+ export * from './MobileSlidePanel';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constants"), exports);
18
+ __exportStar(require("./MobileSlidePanel"), exports);
@@ -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,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './usePanelStack';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./usePanelStack"), exports);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./usePanelStack"), exports);
@@ -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,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePanelStack = void 0;
4
+ const react_1 = require("react");
5
+ /**
6
+ * Хранит стеки закрытия и заголовков вложенных панелей.
7
+ * Нужен, чтобы общий UI (закрытие и шапка) всегда относился к верхнему уровню вложенности,
8
+ * а не к каждому по отдельности.
9
+ */
10
+ const usePanelStack = () => {
11
+ const stackRef = (0, react_1.useRef)([]);
12
+ const headersRef = (0, react_1.useRef)(new Map());
13
+ const headerOrderRef = (0, react_1.useRef)([]);
14
+ const [activeHeader, setActiveHeader] = (0, react_1.useState)(null);
15
+ /**
16
+ * Добавляет обработчик закрытия в стек и возвращает функцию снятия.
17
+ * Нужен, чтобы текущим считался последний зарегистрированный слой.
18
+ */
19
+ const register = (0, react_1.useCallback)((close) => {
20
+ stackRef.current.push(close);
21
+ return () => {
22
+ stackRef.current = stackRef.current.filter((registeredClose) => registeredClose !== close);
23
+ };
24
+ }, []);
25
+ /**
26
+ * Вызывает обработчик закрытия верхнего слоя.
27
+ * Нужен, чтобы снимать слои по одному, с конца стека.
28
+ */
29
+ const closeTop = (0, react_1.useCallback)((event) => {
30
+ stackRef.current[stackRef.current.length - 1]?.(event);
31
+ }, []);
32
+ /**
33
+ * Записывает или обновляет заголовок слоя. Если слой верхний — публикует его.
34
+ * Нужен, чтобы общий заголовок отражал текущий слой без смены порядка стека
35
+ * при повторной записи того же id.
36
+ */
37
+ const setHeader = (0, react_1.useCallback)((headerId, header) => {
38
+ const isNew = !headersRef.current.has(headerId);
39
+ headersRef.current.set(headerId, header);
40
+ if (isNew) {
41
+ headerOrderRef.current.push(headerId);
42
+ }
43
+ const topId = headerOrderRef.current[headerOrderRef.current.length - 1];
44
+ if (topId === headerId) {
45
+ setActiveHeader(header);
46
+ }
47
+ }, []);
48
+ /**
49
+ * Удаляет заголовок слоя и публикует предыдущий верхний.
50
+ * Нужен, чтобы заголовок следовал за разбором стека.
51
+ */
52
+ const removeHeader = (0, react_1.useCallback)((headerId) => {
53
+ headersRef.current.delete(headerId);
54
+ headerOrderRef.current = headerOrderRef.current.filter((headerItemId) => headerItemId !== headerId);
55
+ const topId = headerOrderRef.current[headerOrderRef.current.length - 1];
56
+ setActiveHeader(topId ? (headersRef.current.get(topId) ?? null) : null);
57
+ }, []);
58
+ return {
59
+ register,
60
+ closeTop,
61
+ setHeader,
62
+ removeHeader,
63
+ activeHeader,
64
+ };
65
+ };
66
+ exports.usePanelStack = usePanelStack;
@@ -0,0 +1 @@
1
+ export * from './useLogic';