@astral/ui 4.92.3 → 4.94.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 (263) hide show
  1. package/components/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
  2. package/components/AsyncAutocomplete/types.d.ts +5 -0
  3. package/components/AsyncAutocomplete/useLogic/useLogic.d.ts +1 -1
  4. package/components/AsyncAutocomplete/useLogic/useLogic.js +13 -4
  5. package/components/BottomDrawer/index.d.ts +1 -1
  6. package/components/BottomDrawer/index.js +1 -1
  7. package/components/ClickAwayListener/ClickAwayListener.d.ts +1 -1
  8. package/components/ClickAwayListener/ClickAwayListener.js +8 -2
  9. package/components/Radio/Radio.js +1 -1
  10. package/components/Radio/constants.d.ts +3 -0
  11. package/components/Radio/constants.js +3 -0
  12. package/components/Radio/index.d.ts +1 -1
  13. package/components/Radio/index.js +1 -1
  14. package/components/Radio/styles.js +9 -9
  15. package/components/Tree/MultipleTreeList/MultipleTreeList.js +2 -2
  16. package/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +4 -7
  17. package/components/Tree/MultipleTreeList/TreeItem/styles.d.ts +1 -17
  18. package/components/Tree/MultipleTreeList/TreeItem/styles.js +19 -2
  19. package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +4 -1
  20. package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +8 -2
  21. package/components/Tree/MultipleTreeList/styles.d.ts +4 -0
  22. package/components/Tree/MultipleTreeList/styles.js +25 -0
  23. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.d.ts +2 -0
  24. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.js +11 -0
  25. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.d.ts +2 -0
  26. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.js +50 -0
  27. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.d.ts +1 -0
  28. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.js +1 -0
  29. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.d.ts +404 -0
  30. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.js +172 -0
  31. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.d.ts +11 -0
  32. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.js +1 -0
  33. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +3 -0
  34. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +3 -0
  35. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.d.ts +1 -0
  36. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.js +1 -0
  37. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.d.ts +11 -0
  38. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.js +18 -0
  39. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.d.ts +1 -0
  40. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.js +1 -0
  41. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.d.ts +24 -0
  42. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.js +50 -0
  43. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.d.ts +1 -0
  44. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.js +1 -0
  45. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.d.ts +13 -0
  46. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.js +17 -0
  47. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.d.ts +1 -0
  48. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.js +1 -0
  49. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.d.ts +19 -0
  50. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +39 -0
  51. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.d.ts +13 -0
  52. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.js +6 -0
  53. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.d.ts +7 -0
  54. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.js +12 -0
  55. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.d.ts +1 -0
  56. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.js +1 -0
  57. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.d.ts +2 -0
  58. package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.js +2 -0
  59. package/components/Tree/TreeItem/MobileSlidePanel/constants.d.ts +11 -0
  60. package/components/Tree/TreeItem/MobileSlidePanel/constants.js +12 -0
  61. package/components/Tree/TreeItem/MobileSlidePanel/index.d.ts +2 -0
  62. package/components/Tree/TreeItem/MobileSlidePanel/index.js +2 -0
  63. package/components/Tree/TreeItem/MobileSlidePanel/types.d.ts +49 -0
  64. package/components/Tree/TreeItem/MobileSlidePanel/types.js +1 -0
  65. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.d.ts +1 -0
  66. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.js +1 -0
  67. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.d.ts +1 -0
  68. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.js +1 -0
  69. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.d.ts +14 -0
  70. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.js +62 -0
  71. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.d.ts +1 -0
  72. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.js +1 -0
  73. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.d.ts +9 -0
  74. package/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.js +11 -0
  75. package/components/Tree/TreeItem/TreeItem.d.ts +2 -1
  76. package/components/Tree/TreeItem/TreeItem.js +49 -9
  77. package/components/Tree/TreeItem/constants.d.ts +9 -0
  78. package/components/Tree/TreeItem/constants.js +9 -0
  79. package/components/Tree/TreeItem/styles.d.ts +4 -13
  80. package/components/Tree/TreeItem/styles.js +153 -39
  81. package/components/Tree/TreeItem/types.d.ts +18 -0
  82. package/components/Tree/TreeItem/useLogic/useLogic.d.ts +21 -7
  83. package/components/Tree/TreeItem/useLogic/useLogic.js +40 -2
  84. package/components/Tree/TreeList/TreeItem/TreeItem.js +5 -5
  85. package/components/Tree/TreeList/TreeItem/styles.d.ts +19 -0
  86. package/components/Tree/TreeList/TreeItem/styles.js +36 -0
  87. package/components/Tree/TreeList/TreeItem/useLogic/useLogic.d.ts +6 -0
  88. package/components/Tree/TreeList/TreeItem/useLogic/useLogic.js +11 -0
  89. package/components/Tree/TreeList/TreeList.js +2 -2
  90. package/components/Tree/TreeList/styles.d.ts +4 -0
  91. package/components/Tree/TreeList/styles.js +26 -0
  92. package/components/TreeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  93. package/components/TreeAsyncAutocomplete/OptionsModal/OptionsModal.js +2 -3
  94. package/components/TreeAsyncAutocomplete/OptionsModal/styles.d.ts +17 -0
  95. package/components/TreeAsyncAutocomplete/OptionsModal/styles.js +75 -5
  96. package/components/TreeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  97. package/components/TreeAutocomplete/OptionsModal/OptionsModal.js +2 -3
  98. package/components/TreeAutocomplete/OptionsModal/styles.d.ts +17 -0
  99. package/components/TreeAutocomplete/OptionsModal/styles.js +36 -0
  100. package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  101. package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +5 -9
  102. package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +35 -0
  103. package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +96 -5
  104. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  105. package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +17 -2
  106. package/components/TreeLikeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  107. package/components/TreeLikeAutocomplete/OptionsModal/OptionsModal.js +5 -6
  108. package/components/TreeLikeAutocomplete/OptionsModal/styles.d.ts +27 -0
  109. package/components/TreeLikeAutocomplete/OptionsModal/styles.js +44 -1
  110. package/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  111. package/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.js +14 -1
  112. package/components/TreeLikeList/TreeItem/TreeItem.js +11 -4
  113. package/components/TreeLikeList/TreeItem/styles.d.ts +14 -17
  114. package/components/TreeLikeList/TreeItem/styles.js +48 -1
  115. package/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +8 -2
  116. package/components/TreeLikeList/TreeItem/useLogic/useLogic.js +35 -13
  117. package/components/TreeLikeList/TreeLikeList.js +2 -2
  118. package/components/TreeLikeList/styles.d.ts +4 -0
  119. package/components/TreeLikeList/styles.js +25 -0
  120. package/components/useAsyncOptions/faker.d.ts +3 -0
  121. package/components/useAsyncOptions/faker.js +3 -0
  122. package/components/useAsyncOptions/index.d.ts +1 -0
  123. package/components/useAsyncOptions/index.js +1 -0
  124. package/components/useAsyncOptions/public.d.ts +1 -0
  125. package/components/useAsyncOptions/public.js +1 -0
  126. package/components/useAsyncOptions/types.d.ts +7 -0
  127. package/components/useAsyncOptions/types.js +1 -0
  128. package/components/useAsyncOptions/useAsyncOptions.d.ts +8 -1
  129. package/components/useAsyncOptions/useAsyncOptions.js +22 -3
  130. package/node/components/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
  131. package/node/components/AsyncAutocomplete/types.d.ts +5 -0
  132. package/node/components/AsyncAutocomplete/useLogic/useLogic.d.ts +1 -1
  133. package/node/components/AsyncAutocomplete/useLogic/useLogic.js +13 -4
  134. package/node/components/BottomDrawer/index.d.ts +1 -1
  135. package/node/components/BottomDrawer/index.js +3 -1
  136. package/node/components/ClickAwayListener/ClickAwayListener.d.ts +1 -1
  137. package/node/components/ClickAwayListener/ClickAwayListener.js +8 -2
  138. package/node/components/Radio/Radio.js +1 -1
  139. package/node/components/Radio/constants.d.ts +3 -0
  140. package/node/components/Radio/constants.js +4 -1
  141. package/node/components/Radio/index.d.ts +1 -1
  142. package/node/components/Radio/index.js +3 -1
  143. package/node/components/Radio/styles.js +8 -8
  144. package/node/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
  145. package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +4 -7
  146. package/node/components/Tree/MultipleTreeList/TreeItem/styles.d.ts +1 -17
  147. package/node/components/Tree/MultipleTreeList/TreeItem/styles.js +18 -1
  148. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +4 -1
  149. package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +8 -2
  150. package/node/components/Tree/MultipleTreeList/styles.d.ts +4 -0
  151. package/node/components/Tree/MultipleTreeList/styles.js +26 -1
  152. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.d.ts +2 -0
  153. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.js +15 -0
  154. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.d.ts +2 -0
  155. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.js +54 -0
  156. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.d.ts +1 -0
  157. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.js +17 -0
  158. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.d.ts +404 -0
  159. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.js +175 -0
  160. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.d.ts +11 -0
  161. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.js +2 -0
  162. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +3 -0
  163. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +19 -0
  164. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.d.ts +1 -0
  165. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.js +17 -0
  166. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.d.ts +11 -0
  167. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.js +22 -0
  168. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.d.ts +1 -0
  169. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.js +17 -0
  170. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.d.ts +24 -0
  171. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.js +54 -0
  172. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.d.ts +1 -0
  173. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.js +17 -0
  174. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.d.ts +13 -0
  175. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.js +21 -0
  176. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.d.ts +1 -0
  177. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.js +17 -0
  178. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.d.ts +19 -0
  179. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +43 -0
  180. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.d.ts +13 -0
  181. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.js +9 -0
  182. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.d.ts +7 -0
  183. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.js +16 -0
  184. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.d.ts +1 -0
  185. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.js +17 -0
  186. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.d.ts +2 -0
  187. package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.js +18 -0
  188. package/node/components/Tree/TreeItem/MobileSlidePanel/constants.d.ts +11 -0
  189. package/node/components/Tree/TreeItem/MobileSlidePanel/constants.js +15 -0
  190. package/node/components/Tree/TreeItem/MobileSlidePanel/index.d.ts +2 -0
  191. package/node/components/Tree/TreeItem/MobileSlidePanel/index.js +18 -0
  192. package/node/components/Tree/TreeItem/MobileSlidePanel/types.d.ts +49 -0
  193. package/node/components/Tree/TreeItem/MobileSlidePanel/types.js +2 -0
  194. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.d.ts +1 -0
  195. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.js +17 -0
  196. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.d.ts +1 -0
  197. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.js +17 -0
  198. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.d.ts +14 -0
  199. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.js +66 -0
  200. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.d.ts +1 -0
  201. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.js +17 -0
  202. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.d.ts +9 -0
  203. package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.js +15 -0
  204. package/node/components/Tree/TreeItem/TreeItem.d.ts +2 -1
  205. package/node/components/Tree/TreeItem/TreeItem.js +48 -9
  206. package/node/components/Tree/TreeItem/constants.d.ts +9 -0
  207. package/node/components/Tree/TreeItem/constants.js +10 -1
  208. package/node/components/Tree/TreeItem/styles.d.ts +4 -13
  209. package/node/components/Tree/TreeItem/styles.js +153 -39
  210. package/node/components/Tree/TreeItem/types.d.ts +18 -0
  211. package/node/components/Tree/TreeItem/useLogic/useLogic.d.ts +21 -7
  212. package/node/components/Tree/TreeItem/useLogic/useLogic.js +39 -1
  213. package/node/components/Tree/TreeList/TreeItem/TreeItem.js +4 -4
  214. package/node/components/Tree/TreeList/TreeItem/styles.d.ts +19 -0
  215. package/node/components/Tree/TreeList/TreeItem/styles.js +60 -1
  216. package/node/components/Tree/TreeList/TreeItem/useLogic/useLogic.d.ts +6 -0
  217. package/node/components/Tree/TreeList/TreeItem/useLogic/useLogic.js +11 -0
  218. package/node/components/Tree/TreeList/TreeList.js +1 -1
  219. package/node/components/Tree/TreeList/styles.d.ts +4 -0
  220. package/node/components/Tree/TreeList/styles.js +27 -1
  221. package/node/components/TreeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  222. package/node/components/TreeAsyncAutocomplete/OptionsModal/OptionsModal.js +1 -2
  223. package/node/components/TreeAsyncAutocomplete/OptionsModal/styles.d.ts +17 -0
  224. package/node/components/TreeAsyncAutocomplete/OptionsModal/styles.js +76 -6
  225. package/node/components/TreeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  226. package/node/components/TreeAutocomplete/OptionsModal/OptionsModal.js +1 -2
  227. package/node/components/TreeAutocomplete/OptionsModal/styles.d.ts +17 -0
  228. package/node/components/TreeAutocomplete/OptionsModal/styles.js +37 -1
  229. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
  230. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +3 -7
  231. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +35 -0
  232. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +97 -6
  233. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  234. package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +17 -2
  235. package/node/components/TreeLikeAutocomplete/OptionsModal/NoData/styles.js +5 -0
  236. package/node/components/TreeLikeAutocomplete/OptionsModal/OptionsModal.js +3 -4
  237. package/node/components/TreeLikeAutocomplete/OptionsModal/styles.d.ts +27 -0
  238. package/node/components/TreeLikeAutocomplete/OptionsModal/styles.js +45 -2
  239. package/node/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
  240. package/node/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.js +14 -1
  241. package/node/components/TreeLikeList/TreeItem/TreeItem.js +9 -2
  242. package/node/components/TreeLikeList/TreeItem/styles.d.ts +14 -17
  243. package/node/components/TreeLikeList/TreeItem/styles.js +48 -1
  244. package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +8 -2
  245. package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.js +34 -12
  246. package/node/components/TreeLikeList/TreeLikeList.js +1 -1
  247. package/node/components/TreeLikeList/styles.d.ts +4 -0
  248. package/node/components/TreeLikeList/styles.js +26 -1
  249. package/node/components/useAsyncOptions/faker.d.ts +3 -0
  250. package/node/components/useAsyncOptions/faker.js +9 -0
  251. package/node/components/useAsyncOptions/index.d.ts +1 -0
  252. package/node/components/useAsyncOptions/index.js +1 -0
  253. package/node/components/useAsyncOptions/public.d.ts +1 -0
  254. package/node/components/useAsyncOptions/public.js +1 -0
  255. package/node/components/useAsyncOptions/types.d.ts +7 -0
  256. package/node/components/useAsyncOptions/types.js +2 -0
  257. package/node/components/useAsyncOptions/useAsyncOptions.d.ts +8 -1
  258. package/node/components/useAsyncOptions/useAsyncOptions.js +22 -3
  259. package/package.json +1 -1
  260. package/components/AsyncAutocomplete/faker.d.ts +0 -2
  261. package/components/AsyncAutocomplete/faker.js +0 -38
  262. package/node/components/AsyncAutocomplete/faker.d.ts +0 -2
  263. package/node/components/AsyncAutocomplete/faker.js +0 -45
@@ -9,5 +9,6 @@ export declare const AsyncAutocomplete: <TOptions, TMultiple extends boolean = f
9
9
  fetchDelayMs?: number | undefined;
10
10
  fetchOptions: (search: string, signal?: AbortSignal | undefined) => Promise<TOptions[]>;
11
11
  minSymbolsToFetch?: number | undefined;
12
+ shouldFetch?: import("../useAsyncOptions").ShouldFetch | undefined;
12
13
  onDataLoadError?: ((error: Error) => void) | undefined;
13
14
  } & import("react").RefAttributes<unknown>) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
@@ -1,4 +1,5 @@
1
1
  import { type AutocompleteProps } from '../Autocomplete';
2
+ import { type ShouldFetch } from '../useAsyncOptions';
2
3
  export type AsyncAutocompleteProps<TOptions, TMultiple extends boolean = false, TDisableClearable extends boolean = false, TFreeSolo extends boolean = false> = Omit<AutocompleteProps<TOptions, TMultiple, TDisableClearable, TFreeSolo>, 'inputValue' | 'loading' | 'disabled' | 'fullWidth' | 'error' | 'required' | 'success' | 'options' | 'filterOptions'> & {
3
4
  /**
4
5
  * Если `true`, будет показан индикатор загрузки
@@ -59,6 +60,10 @@ export type AsyncAutocompleteProps<TOptions, TMultiple extends boolean = false,
59
60
  * @default 0
60
61
  */
61
62
  minSymbolsToFetch?: number;
63
+ /**
64
+ * Функция, задающая правила валидации запроса
65
+ */
66
+ shouldFetch?: ShouldFetch;
62
67
  /**
63
68
  * Функция для обработки ошибок загрузки данных
64
69
  */
@@ -2,7 +2,7 @@ import type { AutocompleteInputChangeReason } from '@mui/material/Autocomplete';
2
2
  import { type SyntheticEvent } from 'react';
3
3
  import { type AsyncAutocompleteProps } from '../types';
4
4
  type UseLogicParams<TOptions, TMultiple extends boolean, TDisableClearable extends boolean, TFreeSolo extends boolean> = AsyncAutocompleteProps<TOptions, TMultiple, TDisableClearable, TFreeSolo>;
5
- export declare const useLogic: <TOptions, TMultiple extends boolean, TDisableClearable extends boolean, TFreeSolo extends boolean>({ fetchOptions, fetchDelayMs, minSymbolsToFetch, defaultValue, getOptionLabel, noOptionsText, onOpen, onInputChange, onDataLoadError, isLoadedDataError, isDisabled, isFullWidth, isSuccess, isError, isLoading, isRequired, ...restProps }: UseLogicParams<TOptions, TMultiple, TDisableClearable, TFreeSolo>) => {
5
+ export declare const useLogic: <TOptions, TMultiple extends boolean, TDisableClearable extends boolean, TFreeSolo extends boolean>({ fetchOptions, fetchDelayMs, minSymbolsToFetch, shouldFetch, defaultValue, getOptionLabel, noOptionsText, onOpen, onInputChange, onDataLoadError, isLoadedDataError, isDisabled, isFullWidth, isSuccess, isError, isLoading, isRequired, ...restProps }: UseLogicParams<TOptions, TMultiple, TDisableClearable, TFreeSolo>) => {
6
6
  autocompleteProps: {
7
7
  classes?: Partial<import("@mui/material/Autocomplete").AutocompleteClasses> | undefined;
8
8
  defaultChecked?: boolean | undefined;
@@ -3,11 +3,12 @@ import { DEFAULT_DELAY_MS, DEFAULT_EMPTY_OPTIONS_TEXT, DEFAULT_MIN_SEARCH_CHARAC
3
3
  /* Стандартный фильтр. Необходим для правильного отображения опций, при асинхронном поиске
4
4
  * см. https://track.astral.ru/soft/browse/UIKIT-2823 */
5
5
  const filterOptions = (options) => options;
6
- export const useLogic = ({ fetchOptions, fetchDelayMs = DEFAULT_DELAY_MS, minSymbolsToFetch = DEFAULT_MIN_SEARCH_CHARACTERS, defaultValue, getOptionLabel, noOptionsText = DEFAULT_NO_OPTIONS_TEXT, onOpen, onInputChange, onDataLoadError, isLoadedDataError, isDisabled, isFullWidth, isSuccess, isError, isLoading, isRequired, ...restProps }) => {
7
- const { options, onInputChange: propsOnInputChange, onOpen: propsOnOpen, isLoadingData, isLoadingError, } = useAsyncOptions({
6
+ export const useLogic = ({ fetchOptions, fetchDelayMs = DEFAULT_DELAY_MS, minSymbolsToFetch = DEFAULT_MIN_SEARCH_CHARACTERS, shouldFetch, defaultValue, getOptionLabel, noOptionsText = DEFAULT_NO_OPTIONS_TEXT, onOpen, onInputChange, onDataLoadError, isLoadedDataError, isDisabled, isFullWidth, isSuccess, isError, isLoading, isRequired, ...restProps }) => {
7
+ const { options, onInputChange: propsOnInputChange, onOpen: propsOnOpen, isLoadingData, isLoadingError, isAllow, hintText, } = useAsyncOptions({
8
8
  fetchOptions,
9
9
  fetchDelayMs,
10
10
  minSymbolsToFetch,
11
+ shouldFetch,
11
12
  onDataLoadError,
12
13
  });
13
14
  const handleInputChange = (event, search, reason) => {
@@ -21,7 +22,15 @@ export const useLogic = ({ fetchOptions, fetchDelayMs = DEFAULT_DELAY_MS, minSym
21
22
  propsOnOpen(defaultSearch, defaultValue);
22
23
  onOpen?.(event);
23
24
  };
24
- const emptyOptionsText = options.length === 0 ? noOptionsText : DEFAULT_EMPTY_OPTIONS_TEXT;
25
+ const getEmptyOptionsText = () => {
26
+ if (isAllow) {
27
+ return noOptionsText;
28
+ }
29
+ if (hintText !== '') {
30
+ return hintText;
31
+ }
32
+ return DEFAULT_EMPTY_OPTIONS_TEXT;
33
+ };
25
34
  return {
26
35
  autocompleteProps: {
27
36
  options,
@@ -32,7 +41,7 @@ export const useLogic = ({ fetchOptions, fetchDelayMs = DEFAULT_DELAY_MS, minSym
32
41
  required: isRequired,
33
42
  success: isSuccess,
34
43
  onOpen: handleOpen,
35
- noOptionsText: emptyOptionsText,
44
+ noOptionsText: getEmptyOptionsText(),
36
45
  onInputChange: handleInputChange,
37
46
  isLoadedDataError: isLoadedDataError ?? isLoadingError,
38
47
  getOptionLabel,
@@ -1,2 +1,2 @@
1
1
  export * from './BottomDrawer';
2
- export { bottomDrawerClassnames } from './constants';
2
+ export { bottomDrawerClassnames, OFFSET_TOP_SCREEN, DEFAULT_HEADER_HEIGHT, } from './constants';
@@ -1,2 +1,2 @@
1
1
  export * from './BottomDrawer';
2
- export { bottomDrawerClassnames } from './constants';
2
+ export { bottomDrawerClassnames, OFFSET_TOP_SCREEN, DEFAULT_HEADER_HEIGHT, } from './constants';
@@ -7,4 +7,4 @@ export type ClickAwayListenerProps = Omit<UseClickAwayListenerOptions, 'ref' | '
7
7
  /**
8
8
  * компонент предоставляющий обертку для работы с хуком useClickAwayEffect
9
9
  */
10
- export declare const ClickAwayListener: ({ onClickAway, preventBubbling, isActive, children, }: ClickAwayListenerProps) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
10
+ export declare const ClickAwayListener: ({ onClickAway, preventBubbling, isActive, excludeNodes, children, }: ClickAwayListenerProps) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
@@ -3,9 +3,15 @@ import { useClickAwayEffect, } from '../useClickAwayEffect';
3
3
  /**
4
4
  * компонент предоставляющий обертку для работы с хуком useClickAwayEffect
5
5
  */
6
- export const ClickAwayListener = ({ onClickAway, preventBubbling, isActive = true, children, }) => {
6
+ export const ClickAwayListener = ({ onClickAway, preventBubbling, isActive = true, excludeNodes, children, }) => {
7
7
  const ref = useRef(null);
8
- useClickAwayEffect({ ref, onClickAway, preventBubbling, isActive });
8
+ useClickAwayEffect({
9
+ ref,
10
+ onClickAway,
11
+ preventBubbling,
12
+ isActive,
13
+ excludeNodes,
14
+ });
9
15
  // biome-ignore lint/suspicious/noExplicitAny: ReactElement имеет generic unknown по умолчанию и не содержит ref внутри
10
16
  const child = children;
11
17
  return Children.only(cloneElement(child, { ref }));
@@ -8,5 +8,5 @@ import { useLogic } from './useLogic';
8
8
  export const Radio = forwardRef((props, ref) => {
9
9
  useCheckControlled('Radio', props);
10
10
  const { onChange, isChecked, isError, disabled, restProps, className, name, style, inputRef, value, id, } = useLogic(props);
11
- return (_jsxs(Wrapper, { "$isDisabled": disabled, "$isError": isError, "$isChecked": isChecked, className: className, style: style, ref: ref, ...restProps, children: [_jsx(Input, { type: "radio", name: name, checked: isChecked, disabled: disabled, onChange: onChange, "aria-checked": isChecked, "aria-disabled": disabled, ref: inputRef, value: value, id: id }), _jsx(IconWrapper, { className: radioClassnames.iconWrapper, children: _jsx(Icon, { className: radioClassnames.icon }) })] }));
11
+ return (_jsxs(Wrapper, { "$isDisabled": disabled, "$isError": isError, "$isChecked": isChecked, className: className, style: style, ref: ref, ...restProps, children: [_jsx(Input, { type: "radio", className: radioClassnames.input, name: name, checked: isChecked, disabled: disabled, onChange: onChange, "aria-checked": isChecked, "aria-disabled": disabled, ref: inputRef, value: value, id: id }), _jsx(IconWrapper, { className: radioClassnames.iconWrapper, children: _jsx(Icon, { className: radioClassnames.icon }) })] }));
12
12
  });
@@ -1,5 +1,6 @@
1
1
  export declare const radioClassnames: {
2
2
  readonly root: string;
3
+ readonly input: string;
3
4
  readonly checked: string;
4
5
  readonly disabled: string;
5
6
  readonly iconWrapper: string;
@@ -7,3 +8,5 @@ export declare const radioClassnames: {
7
8
  readonly outerCircle: string;
8
9
  readonly dot: string;
9
10
  };
11
+ export declare const RADIO_SIZE = "32px";
12
+ export declare const MOBILE_RADIO_SIZE = "40px";
@@ -1,6 +1,7 @@
1
1
  import { createUIKitClassname } from '../utils/createUIKitClassname';
2
2
  export const radioClassnames = {
3
3
  root: createUIKitClassname('radio'),
4
+ input: createUIKitClassname('radio__input'),
4
5
  checked: createUIKitClassname('radio_checked'),
5
6
  disabled: createUIKitClassname('radio_disabled'),
6
7
  iconWrapper: createUIKitClassname('radio__icon-wrapper'),
@@ -8,3 +9,5 @@ export const radioClassnames = {
8
9
  outerCircle: createUIKitClassname('radio__outer-circle'),
9
10
  dot: createUIKitClassname('radio__dot'),
10
11
  };
12
+ export const RADIO_SIZE = '32px';
13
+ export const MOBILE_RADIO_SIZE = '40px';
@@ -1,3 +1,3 @@
1
1
  export { Radio } from './Radio';
2
- export { radioClassnames } from './constants';
2
+ export { radioClassnames, RADIO_SIZE, MOBILE_RADIO_SIZE } from './constants';
3
3
  export type { RadioProps } from './types';
@@ -1,2 +1,2 @@
1
1
  export { Radio } from './Radio';
2
- export { radioClassnames } from './constants';
2
+ export { radioClassnames, RADIO_SIZE, MOBILE_RADIO_SIZE } from './constants';
@@ -1,6 +1,6 @@
1
1
  import { styled } from '../styled';
2
2
  import { easeOutBackTransition } from '../styled/mixins';
3
- import { radioClassnames } from './constants';
3
+ import { MOBILE_RADIO_SIZE, RADIO_SIZE, radioClassnames } from './constants';
4
4
  const getOutlineColor = ({ theme, isHover, isDisabled, isError, isChecked, }) => {
5
5
  if (isDisabled) {
6
6
  return isChecked
@@ -82,15 +82,15 @@ export const Input = styled.input `
82
82
 
83
83
  position: absolute;
84
84
 
85
- width: 32px;
86
- height: 32px;
85
+ width: ${RADIO_SIZE};
86
+ height: ${RADIO_SIZE};
87
87
  margin: 0;
88
88
 
89
89
  opacity: 0;
90
90
 
91
91
  ${({ theme }) => theme.breakpoints.down('sm')} {
92
- width: 40px;
93
- height: 40px;
92
+ width: ${MOBILE_RADIO_SIZE};
93
+ height: ${MOBILE_RADIO_SIZE};
94
94
  }
95
95
 
96
96
  &:focus-visible {
@@ -106,12 +106,12 @@ export const IconWrapper = styled.span `
106
106
  align-items: center;
107
107
  justify-content: center;
108
108
 
109
- width: 32px;
110
- height: 32px;
109
+ width: ${RADIO_SIZE};
110
+ height: ${RADIO_SIZE};
111
111
 
112
112
  ${({ theme }) => theme.breakpoints.down('sm')} {
113
- width: 40px;
114
- height: 40px;
113
+ width: ${MOBILE_RADIO_SIZE};
114
+ height: ${MOBILE_RADIO_SIZE};
115
115
 
116
116
  .${radioClassnames.icon} {
117
117
  width: 20px;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { List } from './styles';
2
+ import { List, ListWrapper } from './styles';
3
3
  import { TreeItem } from './TreeItem';
4
4
  import { useLogic } from './useLogic';
5
5
  const INITIAL_LEVEL = 0;
6
6
  export const MultipleTreeList = ({ data, value, className, expandedLevel = 10, disabledItems, ...props }) => {
7
7
  const { formattedDisabledItems } = useLogic({ disabledItems });
8
- return (_jsx(List, { className: className, children: data.map((item) => (_jsx(TreeItem, { item: item, value: value, level: INITIAL_LEVEL, expandedLevel: expandedLevel, disabledItems: formattedDisabledItems, ...props }, item.id))) }));
8
+ return (_jsx(ListWrapper, { children: _jsx(List, { className: className, children: data.map((item) => (_jsx(TreeItem, { item: item, value: value, level: INITIAL_LEVEL, expandedLevel: expandedLevel, disabledItems: formattedDisabledItems, ...props }, item.id))) }) }));
9
9
  };
@@ -3,14 +3,11 @@ import { FormControlLabel } from '../../../FormControlLabel';
3
3
  import { List, StyledCheckbox, StyledTreeItem } from './styles';
4
4
  import { useLogic } from './useLogic';
5
5
  export const TreeItem = (props) => {
6
- const { isSelected, isIndeterminate, isDefaultExpanded, disabledReason, isDisabled, handleChange, } = useLogic(props);
6
+ const { isSelected, isIndeterminate, isDefaultExpanded, disabledReason, isDisabled, handleChange, itemLabel, handleClick, } = useLogic(props);
7
7
  const { level, renderItem, value, isInitialExpanded, expandedLevel, disabledItems, onChange, item, isObjectMode, } = props;
8
- const { id, label, note, children = [], options } = item;
9
- const handleClick = (event) => {
10
- event.stopPropagation();
11
- };
8
+ const { id, note, children = [], options } = item;
12
9
  if (children.length) {
13
- return (_jsx(StyledTreeItem, { isSelected: isSelected, isDefaultExpanded: isDefaultExpanded, isForceExpanded: options?.isForceExpanded, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange, children: _jsx(List, { children: children.map((child) => (_jsx(TreeItem, { item: child, renderItem: renderItem, level: level + 1, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, disabledItems: disabledItems, value: value, onChange: onChange, isObjectMode: isObjectMode }, child.id))) }) }));
10
+ return (_jsx(StyledTreeItem, { id: id, isSelected: isSelected, isDefaultExpanded: isDefaultExpanded, isForceExpanded: options?.isForceExpanded, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate }), label: itemLabel, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), mobileHeaderLabel: itemLabel, mobileHeaderControl: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate, disabled: isDisabled, onChange: handleChange }), level: level, onClick: handleChange, children: _jsx(List, { children: children.map((child) => (_jsx(TreeItem, { item: child, renderItem: renderItem, level: level + 1, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, disabledItems: disabledItems, value: value, onChange: onChange, isObjectMode: isObjectMode }, child.id))) }) }));
14
11
  }
15
- return (_jsx(StyledTreeItem, { isSelected: isSelected, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange }));
12
+ return (_jsx(StyledTreeItem, { id: id, isSelected: isSelected, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected }), label: itemLabel, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange }));
16
13
  };
@@ -14,23 +14,7 @@ export declare const StyledCheckbox: import("../../../styled").StyledComponent<i
14
14
  } & import("react").RefAttributes<HTMLInputElement> & {
15
15
  theme?: import("@emotion/react").Theme | undefined;
16
16
  }, {}, {}>;
17
- export declare const StyledTreeItem: import("../../../styled").StyledComponent<{
18
- className?: string | undefined;
19
- prefixId?: string | undefined;
20
- isSelected: boolean;
21
- label: import("react").ReactNode;
22
- note?: import("react").ReactNode;
23
- renderItem?: import("../../..").SyncFunctionComponent<Omit<import("../..").TreeListData, "children">> | undefined;
24
- children?: import("react").ReactNode;
25
- component?: import("react").ElementType | undefined;
26
- level: number;
27
- isDisabled?: boolean | undefined;
28
- disabledReason?: string | undefined;
29
- isNotBlockingExpandList?: boolean | undefined;
30
- isDefaultExpanded?: boolean | undefined;
31
- isForceExpanded?: boolean | undefined;
32
- onClick?: ((event: import("react").SyntheticEvent<Element, Event>) => void) | undefined;
33
- } & Omit<any, ""> & {
17
+ export declare const StyledTreeItem: import("../../../styled").StyledComponent<Omit<import("../../TreeItem").TreeItemProps, "ref"> & import("react").RefAttributes<HTMLLIElement> & {
34
18
  theme?: import("@emotion/react").Theme | undefined;
35
19
  }, {}, {}>;
36
20
  export declare const List: import("../../../styled").StyledComponent<{
@@ -1,5 +1,5 @@
1
1
  import { formControlLabelClasses } from '@mui/material/FormControlLabel';
2
- import { CHECKBOX_SIZE, Checkbox, checkboxClassnames } from '../../../Checkbox';
2
+ import { CHECKBOX_SIZE, Checkbox, checkboxClassnames, MOBILE_CHECKBOX_SIZE, } from '../../../Checkbox';
3
3
  import { styled } from '../../../styled';
4
4
  import { listContainer } from '../../../styled/mixins';
5
5
  import { TreeItem, treeClassnames } from '../../TreeItem';
@@ -10,9 +10,15 @@ export const StyledCheckbox = styled(Checkbox) `
10
10
  & > .${checkboxClassnames.input}, .${checkboxClassnames.iconWrapper} {
11
11
  width: 32px;
12
12
  height: 16px;
13
+ }
14
+
15
+ ${({ theme }) => theme.breakpoints.down('sm')} {
16
+ height: 20px;
17
+ width: ${MOBILE_CHECKBOX_SIZE};
13
18
 
14
- ${({ theme }) => theme.breakpoints.down('sm')} {
19
+ & .${checkboxClassnames.iconWrapper}, & .${checkboxClassnames.input} {
15
20
  height: 20px;
21
+ width: ${MOBILE_CHECKBOX_SIZE};
16
22
  }
17
23
  }
18
24
  `;
@@ -27,6 +33,17 @@ export const StyledTreeItem = styled(TreeItem) `
27
33
  /* Добавляем к отступу ширину контейнера с чекбоксом */
28
34
  margin-left: ${CHECKBOX_SIZE};
29
35
  }
36
+
37
+ ${({ theme }) => theme.breakpoints.down('sm')} {
38
+ & .${formControlLabelClasses.root} {
39
+ margin-left: 0;
40
+ gap: ${({ theme }) => theme.spacing(1)};
41
+ }
42
+
43
+ & .${treeClassnames.note} {
44
+ margin-left: ${({ theme }) => `calc(${theme.spacing(1)} + ${MOBILE_CHECKBOX_SIZE})`};
45
+ }
46
+ }
30
47
  `;
31
48
  export const List = styled.ul `
32
49
  ${listContainer};
@@ -1,12 +1,15 @@
1
+ import { type SyntheticEvent } from 'react';
1
2
  import type { MultipleValue } from '../../types';
2
3
  import { type TreeItemProps } from '../types';
3
4
  type UseLogicProps<TValue extends MultipleValue = string[]> = TreeItemProps<TValue>;
4
- export declare const useLogic: <TValue extends MultipleValue = string[]>({ item, value, level, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }: UseLogicProps<TValue>) => {
5
+ export declare const useLogic: <TValue extends MultipleValue = string[]>({ item, value, level, renderItem, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }: UseLogicProps<TValue>) => {
5
6
  isSelected: boolean;
6
7
  isIndeterminate: boolean;
7
8
  isDefaultExpanded: boolean | undefined;
8
9
  isDisabled: boolean;
9
10
  disabledReason: string | undefined;
10
11
  handleChange: () => void;
12
+ itemLabel: string | number | bigint | boolean | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | null | undefined> | null | undefined;
13
+ handleClick: (event: SyntheticEvent) => void;
11
14
  };
12
15
  export {};
@@ -1,7 +1,7 @@
1
1
  import { useEffect, useMemo } from 'react';
2
2
  import { checkIsIndeterminate, checkIsSelected, getAllChildrenId, getIdFromValue, getItemsToAdd, } from './utils';
3
- export const useLogic = ({ item, value = [], level, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }) => {
4
- const { id, children } = item;
3
+ export const useLogic = ({ item, value = [], level, renderItem, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }) => {
4
+ const { id, children, label, note } = item;
5
5
  const childrenIds = useMemo(() => getAllChildrenId(children, disabledItems), [children, disabledItems]);
6
6
  const isSelected = checkIsSelected(value, id);
7
7
  const isIndeterminate = checkIsIndeterminate(value, childrenIds);
@@ -40,6 +40,10 @@ export const useLogic = ({ item, value = [], level, isInitialExpanded, expandedL
40
40
  const newValue = value ? [...value, ...itemsToAdd] : itemsToAdd;
41
41
  onChange(newValue);
42
42
  };
43
+ const itemLabel = renderItem ? renderItem({ label, note, id }) : label;
44
+ const handleClick = (event) => {
45
+ event.stopPropagation();
46
+ };
43
47
  return {
44
48
  isSelected,
45
49
  isIndeterminate,
@@ -47,5 +51,7 @@ export const useLogic = ({ item, value = [], level, isInitialExpanded, expandedL
47
51
  isDisabled,
48
52
  disabledReason,
49
53
  handleChange,
54
+ itemLabel,
55
+ handleClick,
50
56
  };
51
57
  };
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
+ export declare const ListWrapper: import("../../styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
2
6
  export declare const List: import("../../styled").StyledComponent<{
3
7
  theme?: import("@emotion/react").Theme | undefined;
4
8
  as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
@@ -1,6 +1,31 @@
1
1
  import { styled } from '../../styled';
2
2
  import { listContainer } from '../../styled/mixins';
3
+ export const ListWrapper = styled.div `
4
+ display: contents;
5
+
6
+ ${({ theme }) => theme.breakpoints.down('sm')} {
7
+ position: relative;
8
+
9
+ display: flex;
10
+ flex-direction: column;
11
+
12
+ height: 100%;
13
+ min-height: 0;
14
+
15
+ overflow: hidden;
16
+
17
+ transform: translateZ(0);
18
+ }
19
+ `;
3
20
  export const List = styled.ul `
4
21
  ${listContainer};
22
+ position: relative;
5
23
  overflow: hidden;
24
+
25
+ ${({ theme }) => theme.breakpoints.down('sm')} {
26
+ flex-grow: 1;
27
+ min-height: 0;
28
+
29
+ overflow-y: auto;
30
+ }
6
31
  `;
@@ -0,0 +1,2 @@
1
+ import { type MobileSlidePanelProps } from './types';
2
+ export declare const MobileSlidePanel: ({ onClose, ...restProps }: MobileSlidePanelProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { MobileSlidePanelContent } from './MobileSlidePanelContent';
3
+ import { MobileSlidePanelContextProvider } from './MobileSlidePanelContext';
4
+ import { useLogic } from './useLogic';
5
+ export const MobileSlidePanel = ({ onClose, ...restProps }) => {
6
+ const { parentContext, register, closeTop, setHeader, removeHeader, activeHeader, } = useLogic();
7
+ if (parentContext) {
8
+ return _jsx(MobileSlidePanelContent, { onClose: onClose, ...restProps });
9
+ }
10
+ return (_jsx(MobileSlidePanelContextProvider, { register: register, closeTop: closeTop, setHeader: setHeader, removeHeader: removeHeader, children: _jsx(MobileSlidePanelContent, { onClose: onClose, ...restProps, isRoot: true, activeHeader: activeHeader }) }));
11
+ };
@@ -0,0 +1,2 @@
1
+ import { type MobileSlidePanelContentProps } from './types';
2
+ export declare const MobileSlidePanelContent: ({ isRoot, children, isOpen, ...params }: MobileSlidePanelContentProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,50 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { ChevronLOutlineMd } from '../../../../../icons/ChevronLOutlineMd';
3
+ import { cva } from '../../../../utils/cva';
4
+ import { treeClassnames } from '../../constants';
5
+ import { mobileSlidePanelClassnames } from '../constants';
6
+ import { BackButton, Header, HeaderAdditionalContent, HeaderControl, MobilePanel, MobilePanelContentWrapper, MobilePanelScrollArea, MobilePanelSlide, ParentContent, ParentLabel, ParentNote, } from './styles';
7
+ import { useLogic } from './useLogic';
8
+ const mobilePanelCva = cva(mobileSlidePanelClassnames.root, {
9
+ variants: {
10
+ hasParentContext: {
11
+ true: mobileSlidePanelClassnames.nested,
12
+ },
13
+ },
14
+ });
15
+ const headerCva = cva(mobileSlidePanelClassnames.header, {
16
+ variants: {
17
+ isSelected: {
18
+ true: treeClassnames.selected,
19
+ },
20
+ isDisabled: {
21
+ true: treeClassnames.disabled,
22
+ },
23
+ },
24
+ });
25
+ const parentContentCva = cva(mobileSlidePanelClassnames.headerParent, {
26
+ variants: {
27
+ isDisabled: {
28
+ true: treeClassnames.disabled,
29
+ },
30
+ },
31
+ });
32
+ const slidePanelCva = cva(mobileSlidePanelClassnames.slidePanel, {
33
+ variants: {
34
+ isOpen: {
35
+ true: treeClassnames.open,
36
+ },
37
+ },
38
+ });
39
+ export const MobileSlidePanelContent = ({ isRoot = false, children, isOpen, ...params }) => {
40
+ const { isMobileMounted, closeTop, parentLabel, parentNote, parentControl, parentAdditionalContent, isParentSelected, isParentDisabled, handleParentClick, } = useLogic({ isOpen, ...params });
41
+ if (!isMobileMounted) {
42
+ return null;
43
+ }
44
+ return (_jsx(MobilePanel, { className: mobilePanelCva({ hasParentContext: !isRoot }), children: _jsxs(MobilePanelSlide, { className: slidePanelCva({ isOpen }), children: [isRoot && (_jsxs(_Fragment, { children: [_jsxs(Header, { className: headerCva({
45
+ isSelected: isParentSelected,
46
+ isDisabled: isParentDisabled,
47
+ }), children: [_jsx(BackButton, { className: mobileSlidePanelClassnames.backButton, variant: "text", "aria-label": "\u041D\u0430\u0437\u0430\u0434", onClick: closeTop, children: _jsx(ChevronLOutlineMd, {}) }), _jsxs(ParentContent, { className: parentContentCva({
48
+ isDisabled: isParentDisabled,
49
+ }), onClick: handleParentClick, children: [_jsx(ParentLabel, { component: "div", children: parentLabel }), parentNote && (_jsx(ParentNote, { variant: "caption", color: "textSecondary", children: parentNote }))] }), parentControl && (_jsx(HeaderControl, { className: mobileSlidePanelClassnames.headerControl, children: parentControl }))] }), parentAdditionalContent && (_jsx(HeaderAdditionalContent, { className: mobileSlidePanelClassnames.headerAdditionalContent, children: parentAdditionalContent }))] })), _jsx(MobilePanelContentWrapper, { children: _jsx(MobilePanelScrollArea, { children: children }) })] }) }));
50
+ };
@@ -0,0 +1 @@
1
+ export * from './MobileSlidePanelContent';
@@ -0,0 +1 @@
1
+ export * from './MobileSlidePanelContent';