@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.
- package/components/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
- package/components/AsyncAutocomplete/types.d.ts +5 -0
- package/components/AsyncAutocomplete/useLogic/useLogic.d.ts +1 -1
- package/components/AsyncAutocomplete/useLogic/useLogic.js +13 -4
- package/components/BottomDrawer/index.d.ts +1 -1
- package/components/BottomDrawer/index.js +1 -1
- package/components/ClickAwayListener/ClickAwayListener.d.ts +1 -1
- package/components/ClickAwayListener/ClickAwayListener.js +8 -2
- package/components/Radio/Radio.js +1 -1
- package/components/Radio/constants.d.ts +3 -0
- package/components/Radio/constants.js +3 -0
- package/components/Radio/index.d.ts +1 -1
- package/components/Radio/index.js +1 -1
- package/components/Radio/styles.js +9 -9
- package/components/Tree/MultipleTreeList/MultipleTreeList.js +2 -2
- package/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +4 -7
- package/components/Tree/MultipleTreeList/TreeItem/styles.d.ts +1 -17
- package/components/Tree/MultipleTreeList/TreeItem/styles.js +19 -2
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +4 -1
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +8 -2
- package/components/Tree/MultipleTreeList/styles.d.ts +4 -0
- package/components/Tree/MultipleTreeList/styles.js +25 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.d.ts +2 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.js +11 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.d.ts +2 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.js +50 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.d.ts +404 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.js +172 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.d.ts +11 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +3 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +3 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.d.ts +11 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.js +18 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.d.ts +24 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.js +50 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.d.ts +13 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.js +17 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.d.ts +19 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +39 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.d.ts +13 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.js +6 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.d.ts +7 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.js +12 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.d.ts +2 -0
- package/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.js +2 -0
- package/components/Tree/TreeItem/MobileSlidePanel/constants.d.ts +11 -0
- package/components/Tree/TreeItem/MobileSlidePanel/constants.js +12 -0
- package/components/Tree/TreeItem/MobileSlidePanel/index.d.ts +2 -0
- package/components/Tree/TreeItem/MobileSlidePanel/index.js +2 -0
- package/components/Tree/TreeItem/MobileSlidePanel/types.d.ts +49 -0
- package/components/Tree/TreeItem/MobileSlidePanel/types.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.d.ts +14 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.js +62 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.d.ts +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.js +1 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.d.ts +9 -0
- package/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.js +11 -0
- package/components/Tree/TreeItem/TreeItem.d.ts +2 -1
- package/components/Tree/TreeItem/TreeItem.js +49 -9
- package/components/Tree/TreeItem/constants.d.ts +9 -0
- package/components/Tree/TreeItem/constants.js +9 -0
- package/components/Tree/TreeItem/styles.d.ts +4 -13
- package/components/Tree/TreeItem/styles.js +153 -39
- package/components/Tree/TreeItem/types.d.ts +18 -0
- package/components/Tree/TreeItem/useLogic/useLogic.d.ts +21 -7
- package/components/Tree/TreeItem/useLogic/useLogic.js +40 -2
- package/components/Tree/TreeList/TreeItem/TreeItem.js +5 -5
- package/components/Tree/TreeList/TreeItem/styles.d.ts +19 -0
- package/components/Tree/TreeList/TreeItem/styles.js +36 -0
- package/components/Tree/TreeList/TreeItem/useLogic/useLogic.d.ts +6 -0
- package/components/Tree/TreeList/TreeItem/useLogic/useLogic.js +11 -0
- package/components/Tree/TreeList/TreeList.js +2 -2
- package/components/Tree/TreeList/styles.d.ts +4 -0
- package/components/Tree/TreeList/styles.js +26 -0
- package/components/TreeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/components/TreeAsyncAutocomplete/OptionsModal/OptionsModal.js +2 -3
- package/components/TreeAsyncAutocomplete/OptionsModal/styles.d.ts +17 -0
- package/components/TreeAsyncAutocomplete/OptionsModal/styles.js +75 -5
- package/components/TreeAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/components/TreeAutocomplete/OptionsModal/OptionsModal.js +2 -3
- package/components/TreeAutocomplete/OptionsModal/styles.d.ts +17 -0
- package/components/TreeAutocomplete/OptionsModal/styles.js +36 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +5 -9
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +35 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +96 -5
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +17 -2
- package/components/TreeLikeAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/components/TreeLikeAutocomplete/OptionsModal/OptionsModal.js +5 -6
- package/components/TreeLikeAutocomplete/OptionsModal/styles.d.ts +27 -0
- package/components/TreeLikeAutocomplete/OptionsModal/styles.js +44 -1
- package/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
- package/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.js +14 -1
- package/components/TreeLikeList/TreeItem/TreeItem.js +11 -4
- package/components/TreeLikeList/TreeItem/styles.d.ts +14 -17
- package/components/TreeLikeList/TreeItem/styles.js +48 -1
- package/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +8 -2
- package/components/TreeLikeList/TreeItem/useLogic/useLogic.js +35 -13
- package/components/TreeLikeList/TreeLikeList.js +2 -2
- package/components/TreeLikeList/styles.d.ts +4 -0
- package/components/TreeLikeList/styles.js +25 -0
- package/components/useAsyncOptions/faker.d.ts +3 -0
- package/components/useAsyncOptions/faker.js +3 -0
- package/components/useAsyncOptions/index.d.ts +1 -0
- package/components/useAsyncOptions/index.js +1 -0
- package/components/useAsyncOptions/public.d.ts +1 -0
- package/components/useAsyncOptions/public.js +1 -0
- package/components/useAsyncOptions/types.d.ts +7 -0
- package/components/useAsyncOptions/types.js +1 -0
- package/components/useAsyncOptions/useAsyncOptions.d.ts +8 -1
- package/components/useAsyncOptions/useAsyncOptions.js +22 -3
- package/node/components/AsyncAutocomplete/AsyncAutocomplete.d.ts +1 -0
- package/node/components/AsyncAutocomplete/types.d.ts +5 -0
- package/node/components/AsyncAutocomplete/useLogic/useLogic.d.ts +1 -1
- package/node/components/AsyncAutocomplete/useLogic/useLogic.js +13 -4
- package/node/components/BottomDrawer/index.d.ts +1 -1
- package/node/components/BottomDrawer/index.js +3 -1
- package/node/components/ClickAwayListener/ClickAwayListener.d.ts +1 -1
- package/node/components/ClickAwayListener/ClickAwayListener.js +8 -2
- package/node/components/Radio/Radio.js +1 -1
- package/node/components/Radio/constants.d.ts +3 -0
- package/node/components/Radio/constants.js +4 -1
- package/node/components/Radio/index.d.ts +1 -1
- package/node/components/Radio/index.js +3 -1
- package/node/components/Radio/styles.js +8 -8
- package/node/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +4 -7
- package/node/components/Tree/MultipleTreeList/TreeItem/styles.d.ts +1 -17
- package/node/components/Tree/MultipleTreeList/TreeItem/styles.js +18 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +4 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +8 -2
- package/node/components/Tree/MultipleTreeList/styles.d.ts +4 -0
- package/node/components/Tree/MultipleTreeList/styles.js +26 -1
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.d.ts +2 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanel.js +15 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.d.ts +2 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/MobileSlidePanelContent.js +54 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.d.ts +404 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/styles.js +175 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.d.ts +11 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/types.js +2 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.d.ts +3 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/index.js +19 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.d.ts +11 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useDelayedUnmount/useDelayedUnmount.js +22 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.d.ts +24 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/usePanelHeader/usePanelHeader.js +54 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.d.ts +13 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/hooks/useRegisterClose/useRegisterClose.js +21 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.d.ts +19 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContent/useLogic/useLogic.js +43 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.d.ts +13 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContext.js +9 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.d.ts +7 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/MobileSlidePanelContextProvider.js +16 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/MobileSlidePanelContextProvider/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.d.ts +2 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/MobileSlidePanelContext/index.js +18 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/constants.d.ts +11 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/constants.js +15 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/index.d.ts +2 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/index.js +18 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/types.d.ts +49 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/types.js +2 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.d.ts +14 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/hooks/usePanelStack/usePanelStack.js +66 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.d.ts +1 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/index.js +17 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.d.ts +9 -0
- package/node/components/Tree/TreeItem/MobileSlidePanel/useLogic/useLogic.js +15 -0
- package/node/components/Tree/TreeItem/TreeItem.d.ts +2 -1
- package/node/components/Tree/TreeItem/TreeItem.js +48 -9
- package/node/components/Tree/TreeItem/constants.d.ts +9 -0
- package/node/components/Tree/TreeItem/constants.js +10 -1
- package/node/components/Tree/TreeItem/styles.d.ts +4 -13
- package/node/components/Tree/TreeItem/styles.js +153 -39
- package/node/components/Tree/TreeItem/types.d.ts +18 -0
- package/node/components/Tree/TreeItem/useLogic/useLogic.d.ts +21 -7
- package/node/components/Tree/TreeItem/useLogic/useLogic.js +39 -1
- package/node/components/Tree/TreeList/TreeItem/TreeItem.js +4 -4
- package/node/components/Tree/TreeList/TreeItem/styles.d.ts +19 -0
- package/node/components/Tree/TreeList/TreeItem/styles.js +60 -1
- package/node/components/Tree/TreeList/TreeItem/useLogic/useLogic.d.ts +6 -0
- package/node/components/Tree/TreeList/TreeItem/useLogic/useLogic.js +11 -0
- package/node/components/Tree/TreeList/TreeList.js +1 -1
- package/node/components/Tree/TreeList/styles.d.ts +4 -0
- package/node/components/Tree/TreeList/styles.js +27 -1
- package/node/components/TreeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/node/components/TreeAsyncAutocomplete/OptionsModal/OptionsModal.js +1 -2
- package/node/components/TreeAsyncAutocomplete/OptionsModal/styles.d.ts +17 -0
- package/node/components/TreeAsyncAutocomplete/OptionsModal/styles.js +76 -6
- package/node/components/TreeAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/node/components/TreeAutocomplete/OptionsModal/OptionsModal.js +1 -2
- package/node/components/TreeAutocomplete/OptionsModal/styles.d.ts +17 -0
- package/node/components/TreeAutocomplete/OptionsModal/styles.js +37 -1
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +3 -7
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +35 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +97 -6
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +17 -2
- package/node/components/TreeLikeAutocomplete/OptionsModal/NoData/styles.js +5 -0
- package/node/components/TreeLikeAutocomplete/OptionsModal/OptionsModal.js +3 -4
- package/node/components/TreeLikeAutocomplete/OptionsModal/styles.d.ts +27 -0
- package/node/components/TreeLikeAutocomplete/OptionsModal/styles.js +45 -2
- package/node/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.d.ts +1 -0
- package/node/components/TreeLikeAutocomplete/OptionsModal/useLogic/useLogic.js +14 -1
- package/node/components/TreeLikeList/TreeItem/TreeItem.js +9 -2
- package/node/components/TreeLikeList/TreeItem/styles.d.ts +14 -17
- package/node/components/TreeLikeList/TreeItem/styles.js +48 -1
- package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +8 -2
- package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.js +34 -12
- package/node/components/TreeLikeList/TreeLikeList.js +1 -1
- package/node/components/TreeLikeList/styles.d.ts +4 -0
- package/node/components/TreeLikeList/styles.js +26 -1
- package/node/components/useAsyncOptions/faker.d.ts +3 -0
- package/node/components/useAsyncOptions/faker.js +9 -0
- package/node/components/useAsyncOptions/index.d.ts +1 -0
- package/node/components/useAsyncOptions/index.js +1 -0
- package/node/components/useAsyncOptions/public.d.ts +1 -0
- package/node/components/useAsyncOptions/public.js +1 -0
- package/node/components/useAsyncOptions/types.d.ts +7 -0
- package/node/components/useAsyncOptions/types.js +2 -0
- package/node/components/useAsyncOptions/useAsyncOptions.d.ts +8 -1
- package/node/components/useAsyncOptions/useAsyncOptions.js +22 -3
- package/package.json +1 -1
- package/components/AsyncAutocomplete/faker.d.ts +0 -2
- package/components/AsyncAutocomplete/faker.js +0 -38
- package/node/components/AsyncAutocomplete/faker.d.ts +0 -2
- package/node/components/AsyncAutocomplete/faker.js +0 -45
|
@@ -3,10 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.useLogic = void 0;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const useToggle_1 = require("../../../useToggle");
|
|
6
|
+
const useViewportType_1 = require("../../../useViewportType");
|
|
6
7
|
const utils_1 = require("./utils");
|
|
7
8
|
const useLogic = ({ item, value = [], level, isConfirmChildrenSelection, isInitialExpanded, expandedLevel, chainsToSelectedItem = [], disabledItems, onChange, isObjectMode, }) => {
|
|
8
9
|
const { id, children } = item;
|
|
9
|
-
const [
|
|
10
|
+
const [isConfirmChildrenOpen, openConfirmChildren, closeConfirmChildren] = (0, useToggle_1.useToggle)();
|
|
11
|
+
const [isMobilePanelOpen, setIsMobilePanelOpen] = (0, react_1.useState)(false);
|
|
12
|
+
const itemRef = (0, react_1.useRef)(null);
|
|
13
|
+
const { isMobile } = (0, useViewportType_1.useViewportType)();
|
|
10
14
|
const childrenIds = (0, react_1.useMemo)(() => (0, utils_1.getAllChildrenId)(children, disabledItems), [children, disabledItems]);
|
|
11
15
|
const isSelected = (0, utils_1.checkIsSelected)(value, id);
|
|
12
16
|
const flatChainsToSelectedItem = (0, react_1.useMemo)(() => chainsToSelectedItem?.reduce((acc, chain) => acc.concat(chain), []), [chainsToSelectedItem]);
|
|
@@ -16,6 +20,16 @@ const useLogic = ({ item, value = [], level, isConfirmChildrenSelection, isIniti
|
|
|
16
20
|
const isDisabled = Boolean(disabledItem);
|
|
17
21
|
const disabledReason = disabledItem?.disabledReason;
|
|
18
22
|
const nextLevel = level + 1;
|
|
23
|
+
const toggleConfirmChildren = (isOpen) => {
|
|
24
|
+
if (!isConfirmChildrenSelection) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (isOpen) {
|
|
28
|
+
openConfirmChildren();
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
closeConfirmChildren();
|
|
32
|
+
};
|
|
19
33
|
const handleChange = () => {
|
|
20
34
|
if (isDisabled) {
|
|
21
35
|
return;
|
|
@@ -24,9 +38,7 @@ const useLogic = ({ item, value = [], level, isConfirmChildrenSelection, isIniti
|
|
|
24
38
|
// Сбрасываем значение
|
|
25
39
|
if (currentValueIds.includes(id)) {
|
|
26
40
|
const hasSelectedChildren = childrenIds.some((childrenId) => currentValueIds.includes(childrenId));
|
|
27
|
-
|
|
28
|
-
openTooltip();
|
|
29
|
-
}
|
|
41
|
+
toggleConfirmChildren(hasSelectedChildren);
|
|
30
42
|
const newValue = (0, utils_1.removeItem)(value, id);
|
|
31
43
|
return onChange(newValue);
|
|
32
44
|
}
|
|
@@ -34,11 +46,14 @@ const useLogic = ({ item, value = [], level, isConfirmChildrenSelection, isIniti
|
|
|
34
46
|
const newValue = (0, utils_1.addItem)(value, item, isObjectMode);
|
|
35
47
|
onChange(newValue);
|
|
36
48
|
const isAllChildrenSelected = childrenIds.every((childrenId) => currentValueIds.includes(childrenId));
|
|
37
|
-
|
|
38
|
-
openTooltip();
|
|
39
|
-
}
|
|
49
|
+
toggleConfirmChildren(!isAllChildrenSelected);
|
|
40
50
|
};
|
|
41
|
-
const
|
|
51
|
+
const handleMobileOpenChange = (isOpen) => {
|
|
52
|
+
setIsMobilePanelOpen(isOpen);
|
|
53
|
+
closeConfirmChildren();
|
|
54
|
+
};
|
|
55
|
+
const handleConfirmChildrenSelection = (event) => {
|
|
56
|
+
event.stopPropagation();
|
|
42
57
|
const currentValueIds = (0, utils_1.getCurrentValueIds)(value);
|
|
43
58
|
if (isSelected) {
|
|
44
59
|
// Элемент выбран - выбираем все дочерние элементы
|
|
@@ -52,7 +67,7 @@ const useLogic = ({ item, value = [], level, isConfirmChildrenSelection, isIniti
|
|
|
52
67
|
const newValue = (0, utils_1.removeItemsByIds)(value, idsToRemove);
|
|
53
68
|
onChange(newValue);
|
|
54
69
|
}
|
|
55
|
-
|
|
70
|
+
closeConfirmChildren();
|
|
56
71
|
};
|
|
57
72
|
/**
|
|
58
73
|
* Предотвращаем всплытие события, так как клик в области чекбокса или label вызывает обработчик на уровне всего item
|
|
@@ -60,25 +75,32 @@ const useLogic = ({ item, value = [], level, isConfirmChildrenSelection, isIniti
|
|
|
60
75
|
const handleClick = (event) => {
|
|
61
76
|
event.stopPropagation();
|
|
62
77
|
};
|
|
78
|
+
const confirmChildrenExcludeNodes = (0, react_1.useMemo)(() => [itemRef], []);
|
|
63
79
|
return {
|
|
64
80
|
isSelected,
|
|
65
81
|
isDefaultExpanded,
|
|
66
82
|
isDisabled,
|
|
67
83
|
disabledReason,
|
|
68
84
|
nextLevel,
|
|
85
|
+
confirmChildrenExcludeNodes,
|
|
86
|
+
itemRef,
|
|
69
87
|
formControlLabelProps: {
|
|
70
88
|
disabled: isDisabled,
|
|
71
89
|
onChange: handleChange,
|
|
72
90
|
onClick: handleClick,
|
|
73
91
|
},
|
|
74
|
-
|
|
75
|
-
open:
|
|
76
|
-
onClose:
|
|
92
|
+
confirmChildrenProps: {
|
|
93
|
+
open: isConfirmChildrenOpen,
|
|
94
|
+
onClose: closeConfirmChildren,
|
|
77
95
|
},
|
|
78
96
|
confirmChildrenButtonProps: {
|
|
79
97
|
onClick: handleConfirmChildrenSelection,
|
|
80
98
|
},
|
|
81
99
|
handleChange,
|
|
100
|
+
handleMobileOpenChange,
|
|
101
|
+
isMobile,
|
|
102
|
+
isMobilePanelOpen,
|
|
103
|
+
isConfirmChildrenAvailable: isMobile && isConfirmChildrenSelection,
|
|
82
104
|
};
|
|
83
105
|
};
|
|
84
106
|
exports.useLogic = useLogic;
|
|
@@ -11,6 +11,6 @@ const INITIAL_LEVEL = 0;
|
|
|
11
11
|
const TreeLikeList = (props) => {
|
|
12
12
|
const { listProps, itemProps } = (0, useLogic_1.useLogic)(props);
|
|
13
13
|
const { data, className, expandedLevel = 10, disabledItems, ...restProps } = props;
|
|
14
|
-
return ((0, jsx_runtime_1.jsx)(styles_1.List, { className: (0, cn_1.cn)(className, Tree_1.treeListClassnames.list), ...listProps, children: data.map((item) => ((0, jsx_runtime_1.jsx)(TreeItem_1.TreeItem, { item: item, level: INITIAL_LEVEL, expandedLevel: expandedLevel, ...itemProps, ...restProps }, item.id))) }));
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(styles_1.ListWrapper, { children: (0, jsx_runtime_1.jsx)(styles_1.List, { className: (0, cn_1.cn)(className, Tree_1.treeListClassnames.list), ...listProps, children: data.map((item) => ((0, jsx_runtime_1.jsx)(TreeItem_1.TreeItem, { item: item, level: INITIAL_LEVEL, expandedLevel: expandedLevel, ...itemProps, ...restProps }, item.id))) }) }));
|
|
15
15
|
};
|
|
16
16
|
exports.TreeLikeList = TreeLikeList;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
export declare const ListWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
2
6
|
export declare const List: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
|
|
3
7
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
8
|
as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
|
|
@@ -1,11 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InnerList = exports.List = void 0;
|
|
3
|
+
exports.InnerList = exports.List = exports.ListWrapper = void 0;
|
|
4
4
|
const styled_1 = require("../styled");
|
|
5
5
|
const mixins_1 = require("../styled/mixins");
|
|
6
|
+
exports.ListWrapper = styled_1.styled.div `
|
|
7
|
+
display: contents;
|
|
8
|
+
|
|
9
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
10
|
+
position: relative;
|
|
11
|
+
z-index: 0;
|
|
12
|
+
|
|
13
|
+
display: flex;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
|
|
16
|
+
height: 100%;
|
|
17
|
+
min-height: 0;
|
|
18
|
+
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
|
|
21
|
+
transform: translateZ(0);
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
6
24
|
exports.List = styled_1.styled.ul `
|
|
7
25
|
${mixins_1.listContainer};
|
|
8
26
|
overflow: hidden;
|
|
27
|
+
|
|
28
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
29
|
+
flex-grow: 1;
|
|
30
|
+
min-height: 0;
|
|
31
|
+
|
|
32
|
+
overflow-y: auto;
|
|
33
|
+
}
|
|
9
34
|
`;
|
|
10
35
|
exports.InnerList = (0, styled_1.styled)(exports.List) `
|
|
11
36
|
overflow: unset;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const makeFetchOptions: (options: string[]) => import("@vitest/spy").Mock<import("@vitest/spy").Procedure>;
|
|
2
|
+
export declare const makeEmptyFetchOptions: () => import("@vitest/spy").Mock<import("@vitest/spy").Procedure>;
|
|
3
|
+
export declare const makeErrorFetchOptions: (error: Error) => import("@vitest/spy").Mock<import("@vitest/spy").Procedure>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeErrorFetchOptions = exports.makeEmptyFetchOptions = exports.makeFetchOptions = void 0;
|
|
4
|
+
const makeFetchOptions = (options) => vi.fn().mockResolvedValue({ options });
|
|
5
|
+
exports.makeFetchOptions = makeFetchOptions;
|
|
6
|
+
const makeEmptyFetchOptions = () => vi.fn().mockResolvedValue({ options: [] });
|
|
7
|
+
exports.makeEmptyFetchOptions = makeEmptyFetchOptions;
|
|
8
|
+
const makeErrorFetchOptions = (error) => vi.fn().mockRejectedValue(error);
|
|
9
|
+
exports.makeErrorFetchOptions = makeErrorFetchOptions;
|
|
@@ -14,4 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
17
18
|
__exportStar(require("./useAsyncOptions"), exports);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AutocompleteInputChangeReason } from '@mui/material/Autocomplete';
|
|
2
|
+
import { type ShouldFetch } from './types';
|
|
2
3
|
type FetchResult<TOptions> = {
|
|
3
4
|
options: TOptions[];
|
|
4
5
|
meta?: {
|
|
@@ -37,6 +38,10 @@ type UseAsyncOptionsParams<TOptions> = {
|
|
|
37
38
|
* Минимальное количество символов для выполнения запроса
|
|
38
39
|
*/
|
|
39
40
|
minSymbolsToFetch: number;
|
|
41
|
+
/**
|
|
42
|
+
* Функция, задающая правила валидации запроса
|
|
43
|
+
*/
|
|
44
|
+
shouldFetch?: ShouldFetch;
|
|
40
45
|
/**
|
|
41
46
|
* Задержка для debounce
|
|
42
47
|
*/
|
|
@@ -57,7 +62,7 @@ type UseAsyncOptionsParams<TOptions> = {
|
|
|
57
62
|
* Хук для асинхронной загрузки опций в компонентах с поиском.
|
|
58
63
|
* Управляет задержкой, отменой запросов и состояниями загрузки.
|
|
59
64
|
*/
|
|
60
|
-
export declare const useAsyncOptions: <TOptions>({ fetchOptions, fetchDelayMs, minSymbolsToFetch, onDataLoadError, isSmoothLoading, }: UseAsyncOptionsParams<TOptions>) => {
|
|
65
|
+
export declare const useAsyncOptions: <TOptions>({ fetchOptions, fetchDelayMs, minSymbolsToFetch, shouldFetch, onDataLoadError, isSmoothLoading, }: UseAsyncOptionsParams<TOptions>) => {
|
|
61
66
|
options: TOptions[];
|
|
62
67
|
meta: {
|
|
63
68
|
isAllDataLoaded: boolean;
|
|
@@ -65,6 +70,8 @@ export declare const useAsyncOptions: <TOptions>({ fetchOptions, fetchDelayMs, m
|
|
|
65
70
|
isLoadingData: boolean;
|
|
66
71
|
onRetry: (search: string) => void;
|
|
67
72
|
isLoadingError: boolean;
|
|
73
|
+
isAllow: boolean;
|
|
74
|
+
hintText: string;
|
|
68
75
|
debouncedFetchOptions: import("debounce").DebouncedFunction<(search: string) => void>;
|
|
69
76
|
onInputChange: (search: string, reason?: AutocompleteInputChangeReason) => void;
|
|
70
77
|
onOpen: (defaultSearch?: string, defaultValue?: TOptions | null | undefined, isAlwaysTriggerOnOpen?: boolean) => void;
|
|
@@ -8,12 +8,14 @@ const useLoadingState_1 = require("../useLoadingState");
|
|
|
8
8
|
* Хук для асинхронной загрузки опций в компонентах с поиском.
|
|
9
9
|
* Управляет задержкой, отменой запросов и состояниями загрузки.
|
|
10
10
|
*/
|
|
11
|
-
const useAsyncOptions = ({ fetchOptions, fetchDelayMs, minSymbolsToFetch, onDataLoadError, isSmoothLoading, }) => {
|
|
11
|
+
const useAsyncOptions = ({ fetchOptions, fetchDelayMs, minSymbolsToFetch, shouldFetch, onDataLoadError, isSmoothLoading, }) => {
|
|
12
12
|
const [isLoadingData, setIsLoadingData] = (0, react_1.useState)(false);
|
|
13
13
|
const [isFirstOpen, setIsFirstOpen] = (0, react_1.useState)(true);
|
|
14
14
|
const [isLoadingError, setIsLoadingError] = (0, react_1.useState)(false);
|
|
15
15
|
const abortControllerRef = (0, react_1.useRef)(null);
|
|
16
16
|
const { isShowLoader } = (0, useLoadingState_1.useLoadingState)(isLoadingData);
|
|
17
|
+
const [isAllow, setIsAllow] = (0, react_1.useState)(true);
|
|
18
|
+
const [hintText, setHintText] = (0, react_1.useState)('');
|
|
17
19
|
const [options, setOptions] = (0, react_1.useState)({
|
|
18
20
|
options: [],
|
|
19
21
|
});
|
|
@@ -42,17 +44,32 @@ const useAsyncOptions = ({ fetchOptions, fetchDelayMs, minSymbolsToFetch, onData
|
|
|
42
44
|
abortControllerRef.current = null;
|
|
43
45
|
});
|
|
44
46
|
}, fetchDelayMs), [fetchOptions, fetchDelayMs]);
|
|
45
|
-
const
|
|
47
|
+
const isAllowedSearch = (search) => {
|
|
46
48
|
if ((!search.length && minSymbolsToFetch > 0) ||
|
|
47
49
|
search.length < minSymbolsToFetch) {
|
|
50
|
+
setHintText('');
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const shouldFetchResult = shouldFetch?.(search);
|
|
54
|
+
if (shouldFetchResult && !shouldFetchResult.isAllow) {
|
|
55
|
+
setHintText(search.length !== 0 ? shouldFetchResult.reason : '');
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return true;
|
|
59
|
+
};
|
|
60
|
+
const onInputChange = (search, reason) => {
|
|
61
|
+
if (!isAllowedSearch(search)) {
|
|
48
62
|
if (debouncedFetchOptions.isPending) {
|
|
49
63
|
debouncedFetchOptions.clear();
|
|
50
64
|
}
|
|
51
65
|
setIsLoadingData(false);
|
|
52
66
|
setOptions({ options: [] });
|
|
67
|
+
setIsAllow(false);
|
|
53
68
|
return;
|
|
54
69
|
}
|
|
55
70
|
if (!isFirstOpen) {
|
|
71
|
+
setIsAllow(true);
|
|
72
|
+
setHintText('');
|
|
56
73
|
if (reason === 'input') {
|
|
57
74
|
setIsLoadingData(true);
|
|
58
75
|
}
|
|
@@ -62,7 +79,7 @@ const useAsyncOptions = ({ fetchOptions, fetchDelayMs, minSymbolsToFetch, onData
|
|
|
62
79
|
const onOpen = (defaultSearch = '', defaultValue, isAlwaysTriggerOnOpen = false) => {
|
|
63
80
|
if (isFirstOpen || isAlwaysTriggerOnOpen) {
|
|
64
81
|
setIsFirstOpen(false);
|
|
65
|
-
if (defaultValue ||
|
|
82
|
+
if (defaultValue || isAllowedSearch(defaultSearch)) {
|
|
66
83
|
setIsLoadingData(true);
|
|
67
84
|
debouncedFetchOptions(defaultSearch);
|
|
68
85
|
}
|
|
@@ -81,6 +98,8 @@ const useAsyncOptions = ({ fetchOptions, fetchDelayMs, minSymbolsToFetch, onData
|
|
|
81
98
|
isLoadingData: isSmoothLoading ? isShowLoader : isLoadingData,
|
|
82
99
|
onRetry,
|
|
83
100
|
isLoadingError,
|
|
101
|
+
isAllow,
|
|
102
|
+
hintText,
|
|
84
103
|
debouncedFetchOptions,
|
|
85
104
|
onInputChange,
|
|
86
105
|
onOpen,
|
package/package.json
CHANGED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { faker } from '@ui/dev/faker';
|
|
2
|
-
import axios from 'axios';
|
|
3
|
-
import AxiosMockAdapter from 'axios-mock-adapter';
|
|
4
|
-
const getRandomDelay = () => Math.random() * 100 + 100; // 200-500ms
|
|
5
|
-
const axiosInstance = axios.create();
|
|
6
|
-
const mock = new AxiosMockAdapter(axiosInstance, {
|
|
7
|
-
delayResponse: getRandomDelay(),
|
|
8
|
-
});
|
|
9
|
-
const generateFakeUsers = (count) => {
|
|
10
|
-
return Array.from({ length: count - 1 }).map(() => ({
|
|
11
|
-
id: faker.string.uuid(),
|
|
12
|
-
name: faker.person.fullName(),
|
|
13
|
-
}));
|
|
14
|
-
};
|
|
15
|
-
const FAKE_USERS = [
|
|
16
|
-
{
|
|
17
|
-
id: '1',
|
|
18
|
-
name: 'Иван Третьяков',
|
|
19
|
-
},
|
|
20
|
-
...generateFakeUsers(30),
|
|
21
|
-
];
|
|
22
|
-
mock.onGet('/api/users').reply((config) => {
|
|
23
|
-
const search = new URLSearchParams(config.params).get('name_like') || '';
|
|
24
|
-
const users = FAKE_USERS.filter((user) => user.name.toLowerCase().includes(search.toLowerCase()));
|
|
25
|
-
return [200, users];
|
|
26
|
-
});
|
|
27
|
-
mock.onGet('/api/users/id').reply((config) => {
|
|
28
|
-
const userId = new URLSearchParams(config.params).get('id') || '';
|
|
29
|
-
const user = FAKE_USERS.find((fakeUser) => fakeUser.id === userId);
|
|
30
|
-
return [200, user];
|
|
31
|
-
});
|
|
32
|
-
export const getFakeUsers = async (search, options) => {
|
|
33
|
-
const response = await axiosInstance.get('api/users', {
|
|
34
|
-
...options,
|
|
35
|
-
params: { ...options?.params, name_like: search },
|
|
36
|
-
});
|
|
37
|
-
return response.data;
|
|
38
|
-
};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFakeUsers = void 0;
|
|
7
|
-
const faker_1 = require("@ui/dev/faker");
|
|
8
|
-
const axios_1 = __importDefault(require("axios"));
|
|
9
|
-
const axios_mock_adapter_1 = __importDefault(require("axios-mock-adapter"));
|
|
10
|
-
const getRandomDelay = () => Math.random() * 100 + 100; // 200-500ms
|
|
11
|
-
const axiosInstance = axios_1.default.create();
|
|
12
|
-
const mock = new axios_mock_adapter_1.default(axiosInstance, {
|
|
13
|
-
delayResponse: getRandomDelay(),
|
|
14
|
-
});
|
|
15
|
-
const generateFakeUsers = (count) => {
|
|
16
|
-
return Array.from({ length: count - 1 }).map(() => ({
|
|
17
|
-
id: faker_1.faker.string.uuid(),
|
|
18
|
-
name: faker_1.faker.person.fullName(),
|
|
19
|
-
}));
|
|
20
|
-
};
|
|
21
|
-
const FAKE_USERS = [
|
|
22
|
-
{
|
|
23
|
-
id: '1',
|
|
24
|
-
name: 'Иван Третьяков',
|
|
25
|
-
},
|
|
26
|
-
...generateFakeUsers(30),
|
|
27
|
-
];
|
|
28
|
-
mock.onGet('/api/users').reply((config) => {
|
|
29
|
-
const search = new URLSearchParams(config.params).get('name_like') || '';
|
|
30
|
-
const users = FAKE_USERS.filter((user) => user.name.toLowerCase().includes(search.toLowerCase()));
|
|
31
|
-
return [200, users];
|
|
32
|
-
});
|
|
33
|
-
mock.onGet('/api/users/id').reply((config) => {
|
|
34
|
-
const userId = new URLSearchParams(config.params).get('id') || '';
|
|
35
|
-
const user = FAKE_USERS.find((fakeUser) => fakeUser.id === userId);
|
|
36
|
-
return [200, user];
|
|
37
|
-
});
|
|
38
|
-
const getFakeUsers = async (search, options) => {
|
|
39
|
-
const response = await axiosInstance.get('api/users', {
|
|
40
|
-
...options,
|
|
41
|
-
params: { ...options?.params, name_like: search },
|
|
42
|
-
});
|
|
43
|
-
return response.data;
|
|
44
|
-
};
|
|
45
|
-
exports.getFakeUsers = getFakeUsers;
|