@astral/ui 4.4.0 → 4.5.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/Checkbox/Icon/Icon.js +1 -1
- package/components/Radio/Icon/Icon.js +1 -1
- package/components/SvgIcon/SvgIcon.js +1 -1
- package/components/Tree/MultipleTreeList/MultipleTreeList.d.ts +2 -2
- package/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
- package/components/Tree/MultipleTreeList/TreeItem/TreeItem.d.ts +10 -6
- package/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +3 -2
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +3 -2
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +24 -18
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.d.ts +2 -1
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.js +2 -1
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +22 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +1 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +6 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.js +1 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.d.ts +5 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.js +14 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.d.ts +1 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.js +1 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.d.ts +3 -0
- package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.js +3 -0
- package/components/Tree/MultipleTreeList/types.d.ts +8 -4
- package/components/TreeAsyncAutocomplete/types.d.ts +14 -2
- package/components/TreeLikeAsyncAutocomplete/Input/Input.d.ts +3 -0
- package/components/TreeLikeAsyncAutocomplete/Input/Input.js +20 -0
- package/components/TreeLikeAsyncAutocomplete/Input/constants.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/constants.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/styles.d.ts +11 -0
- package/components/TreeLikeAsyncAutocomplete/Input/styles.js +27 -0
- package/components/TreeLikeAsyncAutocomplete/Input/types.d.ts +7 -0
- package/components/TreeLikeAsyncAutocomplete/Input/types.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.d.ts +18 -0
- package/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.js +50 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.d.ts +13 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.js +6 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.d.ts +5 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.js +10 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.d.ts +2 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.js +4 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.d.ts +5 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.js +8 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.d.ts +2 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.js +6 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.d.ts +5 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +8 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.d.ts +3 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +33 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.d.ts +2 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.js +6 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.d.ts +5 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.js +8 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +19 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +48 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/types.d.ts +69 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/types.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +27 -0
- package/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +92 -0
- package/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.d.ts +3 -0
- package/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.js +9 -0
- package/components/TreeLikeAsyncAutocomplete/constants.d.ts +2 -0
- package/components/TreeLikeAsyncAutocomplete/constants.js +2 -0
- package/components/TreeLikeAsyncAutocomplete/index.d.ts +2 -0
- package/components/TreeLikeAsyncAutocomplete/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/types.d.ts +69 -0
- package/components/TreeLikeAsyncAutocomplete/types.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.d.ts +626 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.js +82 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.d.ts +3 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.js +12 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.js +1 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.d.ts +1 -0
- package/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.js +1 -0
- package/components/TreeLikeList/TreeItem/TreeItem.d.ts +3 -51
- package/components/TreeLikeList/TreeItem/TreeItem.js +3 -2
- package/components/TreeLikeList/TreeItem/types.d.ts +56 -0
- package/components/TreeLikeList/TreeItem/types.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +4 -3
- package/components/TreeLikeList/TreeItem/useLogic/useLogic.js +22 -13
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.d.ts +6 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.js +8 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.d.ts +6 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.js +15 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
- package/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
- package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +22 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.d.ts +5 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.js +10 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +6 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/index.d.ts +7 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/index.js +7 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.d.ts +5 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.js +10 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.d.ts +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.js +1 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.d.ts +5 -0
- package/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.js +11 -0
- package/components/TreeLikeList/TreeLikeList.d.ts +2 -3
- package/components/TreeLikeList/TreeLikeList.js +1 -1
- package/components/TreeLikeList/index.d.ts +1 -0
- package/components/TreeLikeList/types.d.ts +8 -4
- package/components/TreeLikeList/useLogic/useLogic.d.ts +3 -3
- package/components/TreeLikeList/useLogic/useLogic.js +3 -2
- package/components/TreeLikeList/useLogic/utils/getChainsId/getChainsId.js +17 -10
- package/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.d.ts +13 -0
- package/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.js +13 -0
- package/hook-form/FormTreeLikeAsyncAutocomplete/index.d.ts +0 -0
- package/hook-form/FormTreeLikeAsyncAutocomplete/index.js +1 -0
- package/icons/FillSm/ArrowDFillSm.js +1 -1
- package/icons/FillSm/ArrowUpFillSm.js +1 -1
- package/icons/FillSm/CircleErrorFillSm.js +1 -1
- package/icons/FillSm/ClockFillSm.js +1 -1
- package/icons/FillSm/DislikeFillSm.js +1 -1
- package/icons/FillSm/ErrorFillSm.js +1 -1
- package/icons/FillSm/InfoFillSm.js +1 -1
- package/icons/FillSm/LikeFillSm.js +1 -1
- package/icons/FillSm/LocationFillSm.js +1 -1
- package/icons/FillSm/MailFillSm.js +1 -1
- package/icons/FillSm/PauseFillSm.js +1 -1
- package/icons/FillSm/PhoneFillSm.js +1 -1
- package/icons/FillSm/PitFillSm.js +1 -1
- package/icons/FillSm/PlayFillSm.js +1 -1
- package/icons/FillSm/RectangleFillSm.js +1 -1
- package/icons/FillSm/RoundFillSm.js +1 -1
- package/icons/FillSm/SentFillSm.js +1 -1
- package/icons/FillSm/SortDownFillSm.js +1 -1
- package/icons/FillSm/SortFillSm.js +1 -1
- package/icons/FillSm/SortUpFillSm.js +1 -1
- package/icons/FillSm/StarFillSm.js +1 -1
- package/icons/FillSm/SuccessFillSm.js +1 -1
- package/icons/FillSm/UpToDateFillSm.js +1 -1
- package/icons/FillSm/WarningFillSm.js +1 -1
- package/icons/OutlineSm/AddOutlineSm.js +1 -1
- package/icons/OutlineSm/AddSmOutlineSm.js +1 -1
- package/icons/OutlineSm/ArrowDwnOutlineSm.js +1 -1
- package/icons/OutlineSm/ArrowLOutlineSm.js +1 -1
- package/icons/OutlineSm/ArrowROutlineSm.js +1 -1
- package/icons/OutlineSm/ArrowUpOutlineSm.js +1 -1
- package/icons/OutlineSm/BlockOutlineSm.js +1 -1
- package/icons/OutlineSm/CheckOutlineSm.js +1 -1
- package/icons/OutlineSm/ClockOutlineSm.js +1 -1
- package/icons/OutlineSm/CopyOutlineSm.js +1 -1
- package/icons/OutlineSm/CrossOutlineSm.js +1 -1
- package/icons/OutlineSm/CrossSmOutlineSm.js +1 -1
- package/icons/OutlineSm/DislikeOutlineSm.js +1 -1
- package/icons/OutlineSm/DocumentOutlineSm.js +1 -1
- package/icons/OutlineSm/DocumentsOutlineSm.js +1 -1
- package/icons/OutlineSm/DotOutlineSm.js +1 -1
- package/icons/OutlineSm/DoubleCheckOutlineSm.js +1 -1
- package/icons/OutlineSm/DownloadVOutlineSm.js +1 -1
- package/icons/OutlineSm/EditOutlineSm.js +1 -1
- package/icons/OutlineSm/InfoOutlineSm.js +1 -1
- package/icons/OutlineSm/LikeOutlineSm.js +1 -1
- package/icons/OutlineSm/LoaderOutlineSm.js +1 -1
- package/icons/OutlineSm/MessageOutlineSm.js +1 -1
- package/icons/OutlineSm/OpenLinkOutlineSm.js +1 -1
- package/icons/OutlineSm/PageOutlineSm.js +1 -1
- package/icons/OutlineSm/ProfileOutlineSm.js +1 -1
- package/icons/OutlineSm/RefreshOutlineSm.js +1 -1
- package/icons/OutlineSm/RequestOutlineSm.js +1 -1
- package/icons/OutlineSm/RouteOutlineSm.js +1 -1
- package/icons/OutlineSm/SearchOutlineSm.js +1 -1
- package/icons/OutlineSm/SortingOutlineSm.js +1 -1
- package/icons/OutlineSm/SuccessOutlineSm.js +1 -1
- package/icons/OutlineSm/TransferOutlineSm.js +1 -1
- package/node/components/Checkbox/Icon/Icon.js +1 -1
- package/node/components/Radio/Icon/Icon.js +1 -1
- package/node/components/SvgIcon/SvgIcon.js +1 -1
- package/node/components/Tree/MultipleTreeList/MultipleTreeList.d.ts +2 -2
- package/node/components/Tree/MultipleTreeList/MultipleTreeList.js +1 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.d.ts +10 -6
- package/node/components/Tree/MultipleTreeList/TreeItem/TreeItem.js +3 -2
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.d.ts +3 -2
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/useLogic.js +23 -17
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.d.ts +2 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsIndeterminate/checkIsIndeterminate.js +2 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +26 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +17 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +10 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getIdFromValue/index.js +17 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.d.ts +5 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.js +18 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.d.ts +1 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/index.js +17 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.d.ts +3 -0
- package/node/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/index.js +7 -1
- package/node/components/Tree/MultipleTreeList/types.d.ts +8 -4
- package/node/components/TreeAsyncAutocomplete/types.d.ts +14 -2
- package/node/components/TreeLikeAsyncAutocomplete/Input/Input.d.ts +3 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/Input.js +23 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/constants.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/constants.js +4 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/styles.d.ts +11 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/styles.js +30 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/types.d.ts +7 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/types.js +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.d.ts +18 -0
- package/node/components/TreeLikeAsyncAutocomplete/Input/useLogic/useLogic.js +54 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.d.ts +13 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/ErrorMessage.js +10 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.d.ts +5 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/ErrorMessage/styles.js +13 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.d.ts +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/Loader.js +8 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.d.ts +5 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/Loader/styles.js +11 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.d.ts +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/NoData.js +10 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.d.ts +5 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/NoData/styles.js +11 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.d.ts +3 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/OptionsModal.js +37 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.d.ts +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.js +10 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.d.ts +5 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/styles.js +11 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/constants.js +4 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.d.ts +19 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/styles.js +51 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/types.d.ts +69 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/types.js +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.d.ts +27 -0
- package/node/components/TreeLikeAsyncAutocomplete/OptionsModal/useLogic/useLogic.js +96 -0
- package/node/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.d.ts +3 -0
- package/node/components/TreeLikeAsyncAutocomplete/TreeLikeAsyncAutocomplete.js +12 -0
- package/node/components/TreeLikeAsyncAutocomplete/constants.d.ts +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/constants.js +5 -0
- package/node/components/TreeLikeAsyncAutocomplete/index.d.ts +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/types.d.ts +69 -0
- package/node/components/TreeLikeAsyncAutocomplete/types.js +2 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.d.ts +626 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/useLogic.js +86 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.d.ts +3 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/deepMultipleFind.js +16 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/deepMultipleFind/index.js +17 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.d.ts +1 -0
- package/node/components/TreeLikeAsyncAutocomplete/useLogic/utils/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/TreeItem.d.ts +3 -51
- package/node/components/TreeLikeList/TreeItem/TreeItem.js +3 -2
- package/node/components/TreeLikeList/TreeItem/types.d.ts +56 -0
- package/node/components/TreeLikeList/TreeItem/types.js +2 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.d.ts +4 -3
- package/node/components/TreeLikeList/TreeItem/useLogic/useLogic.js +21 -12
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.d.ts +6 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/addItem.js +12 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItem/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.d.ts +6 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/addItemsByIds.js +19 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/addItemsByIds/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.d.ts +2 -1
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js +2 -1
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.d.ts +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/findObjectsByIds.js +26 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/findObjectsByIds/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.d.ts +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/getCurrentValueIds.js +14 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getCurrentValueIds/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.d.ts +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/getIdFromValue.js +10 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/getIdFromValue/index.js +17 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/index.d.ts +7 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/index.js +15 -1
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.d.ts +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItem/removeItem.js +14 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.d.ts +1 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/index.js +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.d.ts +5 -0
- package/node/components/TreeLikeList/TreeItem/useLogic/utils/removeItemsByIds/removeItemsByIds.js +15 -0
- package/node/components/TreeLikeList/TreeLikeList.d.ts +2 -3
- package/node/components/TreeLikeList/TreeLikeList.js +1 -1
- package/node/components/TreeLikeList/index.d.ts +1 -0
- package/node/components/TreeLikeList/types.d.ts +8 -4
- package/node/components/TreeLikeList/useLogic/useLogic.d.ts +3 -3
- package/node/components/TreeLikeList/useLogic/useLogic.js +3 -2
- package/node/components/TreeLikeList/useLogic/utils/getChainsId/getChainsId.js +17 -10
- package/node/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.d.ts +13 -0
- package/node/hook-form/FormTreeLikeAsyncAutocomplete/FormTreeLikeAsyncAutocomplete.js +17 -0
- package/node/hook-form/FormTreeLikeAsyncAutocomplete/index.d.ts +0 -0
- package/node/hook-form/FormTreeLikeAsyncAutocomplete/index.js +1 -0
- package/node/icons/FillSm/ArrowDFillSm.js +1 -1
- package/node/icons/FillSm/ArrowUpFillSm.js +1 -1
- package/node/icons/FillSm/CircleErrorFillSm.js +1 -1
- package/node/icons/FillSm/ClockFillSm.js +1 -1
- package/node/icons/FillSm/DislikeFillSm.js +1 -1
- package/node/icons/FillSm/ErrorFillSm.js +1 -1
- package/node/icons/FillSm/InfoFillSm.js +1 -1
- package/node/icons/FillSm/LikeFillSm.js +1 -1
- package/node/icons/FillSm/LocationFillSm.js +1 -1
- package/node/icons/FillSm/MailFillSm.js +1 -1
- package/node/icons/FillSm/PauseFillSm.js +1 -1
- package/node/icons/FillSm/PhoneFillSm.js +1 -1
- package/node/icons/FillSm/PitFillSm.js +1 -1
- package/node/icons/FillSm/PlayFillSm.js +1 -1
- package/node/icons/FillSm/RectangleFillSm.js +1 -1
- package/node/icons/FillSm/RoundFillSm.js +1 -1
- package/node/icons/FillSm/SentFillSm.js +1 -1
- package/node/icons/FillSm/SortDownFillSm.js +1 -1
- package/node/icons/FillSm/SortFillSm.js +1 -1
- package/node/icons/FillSm/SortUpFillSm.js +1 -1
- package/node/icons/FillSm/StarFillSm.js +1 -1
- package/node/icons/FillSm/SuccessFillSm.js +1 -1
- package/node/icons/FillSm/UpToDateFillSm.js +1 -1
- package/node/icons/FillSm/WarningFillSm.js +1 -1
- package/node/icons/OutlineSm/AddOutlineSm.js +1 -1
- package/node/icons/OutlineSm/AddSmOutlineSm.js +1 -1
- package/node/icons/OutlineSm/ArrowDwnOutlineSm.js +1 -1
- package/node/icons/OutlineSm/ArrowLOutlineSm.js +1 -1
- package/node/icons/OutlineSm/ArrowROutlineSm.js +1 -1
- package/node/icons/OutlineSm/ArrowUpOutlineSm.js +1 -1
- package/node/icons/OutlineSm/BlockOutlineSm.js +1 -1
- package/node/icons/OutlineSm/CheckOutlineSm.js +1 -1
- package/node/icons/OutlineSm/ClockOutlineSm.js +1 -1
- package/node/icons/OutlineSm/CopyOutlineSm.js +1 -1
- package/node/icons/OutlineSm/CrossOutlineSm.js +1 -1
- package/node/icons/OutlineSm/CrossSmOutlineSm.js +1 -1
- package/node/icons/OutlineSm/DislikeOutlineSm.js +1 -1
- package/node/icons/OutlineSm/DocumentOutlineSm.js +1 -1
- package/node/icons/OutlineSm/DocumentsOutlineSm.js +1 -1
- package/node/icons/OutlineSm/DotOutlineSm.js +1 -1
- package/node/icons/OutlineSm/DoubleCheckOutlineSm.js +1 -1
- package/node/icons/OutlineSm/DownloadVOutlineSm.js +1 -1
- package/node/icons/OutlineSm/EditOutlineSm.js +1 -1
- package/node/icons/OutlineSm/InfoOutlineSm.js +1 -1
- package/node/icons/OutlineSm/LikeOutlineSm.js +1 -1
- package/node/icons/OutlineSm/LoaderOutlineSm.js +1 -1
- package/node/icons/OutlineSm/MessageOutlineSm.js +1 -1
- package/node/icons/OutlineSm/OpenLinkOutlineSm.js +1 -1
- package/node/icons/OutlineSm/PageOutlineSm.js +1 -1
- package/node/icons/OutlineSm/ProfileOutlineSm.js +1 -1
- package/node/icons/OutlineSm/RefreshOutlineSm.js +1 -1
- package/node/icons/OutlineSm/RequestOutlineSm.js +1 -1
- package/node/icons/OutlineSm/RouteOutlineSm.js +1 -1
- package/node/icons/OutlineSm/SearchOutlineSm.js +1 -1
- package/node/icons/OutlineSm/SortingOutlineSm.js +1 -1
- package/node/icons/OutlineSm/SuccessOutlineSm.js +1 -1
- package/node/icons/OutlineSm/TransferOutlineSm.js +1 -1
- package/package.json +15 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Loader';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Loader';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Wrapper: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Typography } from '../../../Typography';
|
|
3
|
+
import { Wrapper } from './styles';
|
|
4
|
+
export const NoData = () => {
|
|
5
|
+
return (_jsx(Wrapper, { children: _jsx(Typography, { color: "textSecondary", children: "\u041F\u043E \u0432\u0432\u0435\u0434\u0435\u043D\u043D\u043E\u043C\u0443 \u0437\u0430\u043F\u0440\u043E\u0441\u0443 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E" }) }));
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './NoData';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './NoData';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Wrapper: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from '../../Button';
|
|
3
|
+
import { Dialog } from '../../Dialog';
|
|
4
|
+
import { DialogActions } from '../../DialogActions';
|
|
5
|
+
import { Paper } from '../../Paper';
|
|
6
|
+
import { TreeLikeList } from '../../TreeLikeList';
|
|
7
|
+
import { Typography } from '../../Typography';
|
|
8
|
+
import { SEARCH_FIELD_HELPER_TEXT } from './constants';
|
|
9
|
+
import { ErrorMessage } from './ErrorMessage';
|
|
10
|
+
import { Loader } from './Loader';
|
|
11
|
+
import { NoData } from './NoData';
|
|
12
|
+
import { SearchSuggestion } from './SearchSuggestion';
|
|
13
|
+
import { StyledDialogContent, StyledSearchField, TreeListWrapper, UserHintWrapper, } from './styles';
|
|
14
|
+
import { useLogic } from './useLogic';
|
|
15
|
+
export const OptionsModal = (props) => {
|
|
16
|
+
const { isNoResult, searchFieldProps, modalProps, treeListProps, cancelButtonProps, confirmButtonProps, handleRetry, isShowUserHint, isShowModalLoader, isShowSearchFieldLoader, isShowSearchSuggestion, isLoadingError, treeProps, loadingErrorMsg, } = useLogic(props);
|
|
17
|
+
const renderComponent = () => {
|
|
18
|
+
if (isShowSearchSuggestion) {
|
|
19
|
+
return _jsx(SearchSuggestion, {});
|
|
20
|
+
}
|
|
21
|
+
if (isShowModalLoader) {
|
|
22
|
+
return _jsx(Loader, {});
|
|
23
|
+
}
|
|
24
|
+
if (isLoadingError) {
|
|
25
|
+
return (_jsx(ErrorMessage, { loadingErrorMsg: loadingErrorMsg, onRetry: handleRetry }));
|
|
26
|
+
}
|
|
27
|
+
if (isNoResult) {
|
|
28
|
+
return _jsx(NoData, {});
|
|
29
|
+
}
|
|
30
|
+
return (_jsx(TreeLikeList, { ...treeProps, ...treeListProps }));
|
|
31
|
+
};
|
|
32
|
+
return (_jsxs(Dialog, { ...modalProps, children: [_jsxs(StyledDialogContent, { "$size": modalProps.size, children: [_jsx(StyledSearchField, { fullWidth: true, ...searchFieldProps, isLoading: isShowSearchFieldLoader, helperText: SEARCH_FIELD_HELPER_TEXT }), _jsx(Paper, { variant: "outlined", children: _jsxs(TreeListWrapper, { children: [renderComponent(), isShowUserHint && (_jsx(UserHintWrapper, { children: _jsx(Typography, { variant: "caption", color: "grey", colorIntensity: "600", children: "\u0423\u0442\u043E\u0447\u043D\u0438\u0442\u0435 \u0437\u0430\u043F\u0440\u043E\u0441 \u0434\u043B\u044F \u0431\u043E\u043B\u0435\u0435 \u043B\u0443\u0447\u0448\u0435\u0433\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0430 \u043F\u043E\u0438\u0441\u043A\u0430" }) }))] }) })] }), _jsxs(DialogActions, { children: [_jsx(Button, { variant: "text", ...cancelButtonProps, children: "\u041E\u0442\u043C\u0435\u043D\u0430" }), _jsx(Button, { ...confirmButtonProps, children: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C" })] })] }));
|
|
33
|
+
};
|
package/components/TreeLikeAsyncAutocomplete/OptionsModal/SearchSuggestion/SearchSuggestion.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Typography } from '../../../Typography';
|
|
3
|
+
import { Wrapper } from './styles';
|
|
4
|
+
export const SearchSuggestion = () => {
|
|
5
|
+
return (_jsx(Wrapper, { children: _jsx(Typography, { color: "textSecondary", children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0430\u0439\u0442\u0435 \u0432\u0432\u043E\u0434\u0438\u0442\u044C \u0434\u043B\u044F \u043F\u043E\u0438\u0441\u043A\u0430" }) }));
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SearchSuggestion';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SearchSuggestion';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Wrapper: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SEARCH_FIELD_HELPER_TEXT = "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u043E\u0447\u043D\u044B\u0439 \u0437\u0430\u043F\u0440\u043E\u0441 \u0434\u043B\u044F \u043B\u0443\u0447\u0448\u0435\u0433\u043E \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442\u0430 \u043F\u043E\u0438\u0441\u043A\u0430";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const SEARCH_FIELD_HELPER_TEXT = 'Введите точный запрос для лучшего результата поиска';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './OptionsModal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './OptionsModal';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type Size = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
|
+
export declare const StyledDialogContent: import("@emotion/styled").StyledComponent<import("../../DialogContent").DialogContentProps & {
|
|
4
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
5
|
+
} & {
|
|
6
|
+
$size: Size;
|
|
7
|
+
}, {}, {}>;
|
|
8
|
+
export declare const TreeListWrapper: import("@emotion/styled").StyledComponent<{
|
|
9
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
10
|
+
as?: import("react").ElementType<any> | undefined;
|
|
11
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
12
|
+
export declare const StyledSearchField: import("@emotion/styled").StyledComponent<Omit<import("../../SearchField").SearchFieldProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
|
|
13
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
14
|
+
}, {}, {}>;
|
|
15
|
+
export declare const UserHintWrapper: import("@emotion/styled").StyledComponent<{
|
|
16
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
17
|
+
as?: import("react").ElementType<any> | undefined;
|
|
18
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { formHelperTextClasses } from '@mui/material';
|
|
2
|
+
import { DIALOG_SIZES } from '../../Dialog';
|
|
3
|
+
import { DialogContent } from '../../DialogContent';
|
|
4
|
+
import { SearchField } from '../../SearchField';
|
|
5
|
+
import { styled } from '../../styles';
|
|
6
|
+
import { treeListClassnames } from '../../Tree';
|
|
7
|
+
export const StyledDialogContent = styled(DialogContent, {
|
|
8
|
+
shouldForwardProp: (prop) => !['$size'].includes(prop),
|
|
9
|
+
}) `
|
|
10
|
+
display: grid;
|
|
11
|
+
grid-template-columns: 100%;
|
|
12
|
+
grid-template-rows: max-content 1fr;
|
|
13
|
+
gap: ${({ theme }) => theme.spacing(4)};
|
|
14
|
+
|
|
15
|
+
width: ${({ $size }) => DIALOG_SIZES[$size].minWidth};
|
|
16
|
+
height: ${({ $size }) => ($size === 'md' ? '500px' : `calc(${DIALOG_SIZES[$size].minWidth} - 50px)`)};
|
|
17
|
+
padding-bottom: ${({ theme }) => theme.spacing(4)};
|
|
18
|
+
|
|
19
|
+
${({ theme }) => theme.breakpoints.down('sm')} {
|
|
20
|
+
width: auto;
|
|
21
|
+
}
|
|
22
|
+
`;
|
|
23
|
+
export const TreeListWrapper = styled.div `
|
|
24
|
+
overflow: auto;
|
|
25
|
+
|
|
26
|
+
height: 100%;
|
|
27
|
+
|
|
28
|
+
& .${treeListClassnames.list} {
|
|
29
|
+
width: auto;
|
|
30
|
+
min-width: max-content;
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
export const StyledSearchField = styled(SearchField) `
|
|
34
|
+
& .${formHelperTextClasses.root} {
|
|
35
|
+
display: flex;
|
|
36
|
+
|
|
37
|
+
margin-top: ${({ theme }) => theme.spacing(2)};
|
|
38
|
+
|
|
39
|
+
color: ${({ theme }) => theme.palette.grey[500]};
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
export const UserHintWrapper = styled.div `
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
|
|
47
|
+
height: 36px;
|
|
48
|
+
`;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { DialogProps } from '../../Dialog';
|
|
2
|
+
import type { TreeListProps } from '../../Tree';
|
|
3
|
+
import type { TreeLikeAsyncAutocompleteValue } from '../types';
|
|
4
|
+
export type OptionsModalProps = {
|
|
5
|
+
/**
|
|
6
|
+
* Если true, модальное окно будет открыто
|
|
7
|
+
*/
|
|
8
|
+
isOpen: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Флаг, определяющий отображение состояния загрузки в модальном окне.
|
|
11
|
+
*/
|
|
12
|
+
isLoadingModal: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Функция определения необходимости показа подсказки пользователю
|
|
15
|
+
*/
|
|
16
|
+
onShowUserHint?: (options: TreeLikeAsyncAutocompleteValue) => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Опции, которые необходимо отобразить в виде дерева.
|
|
19
|
+
*/
|
|
20
|
+
options: TreeLikeAsyncAutocompleteValue;
|
|
21
|
+
/**
|
|
22
|
+
* Выбранное значения
|
|
23
|
+
*/
|
|
24
|
+
initialValue?: TreeLikeAsyncAutocompleteValue;
|
|
25
|
+
/**
|
|
26
|
+
* Флаг загрузки options
|
|
27
|
+
* Если true, вместо дерева options будет отображен лоадер
|
|
28
|
+
*/
|
|
29
|
+
isLoading?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Флаг ошибки загрузки options
|
|
32
|
+
* Если true, вместо дерева options будет отображен плейсхолдер с ошибкой
|
|
33
|
+
*/
|
|
34
|
+
isLoadingError?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Текст ошибки при загрузке данных
|
|
37
|
+
*/
|
|
38
|
+
loadingErrorMsg?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Предназначен для конфигурации древовидного списка
|
|
41
|
+
*/
|
|
42
|
+
treeProps?: Pick<TreeListProps, 'disabledItems' | 'renderItem'>;
|
|
43
|
+
/**
|
|
44
|
+
* Параметры предназначены для конфигурации модального окна
|
|
45
|
+
*/
|
|
46
|
+
dialogProps: Omit<DialogProps, 'open' | 'onChange' | 'disableRestoreFocus'>;
|
|
47
|
+
/**
|
|
48
|
+
* Функция обработки нажатия на кнопку "Повторить запрос"
|
|
49
|
+
*/
|
|
50
|
+
onRetry?: (search?: string) => void;
|
|
51
|
+
/**
|
|
52
|
+
* Функция, которая запускается при выборе item
|
|
53
|
+
*/
|
|
54
|
+
onChange?: (newValue?: TreeLikeAsyncAutocompleteValue) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Функция обработки изменения поля ввода
|
|
57
|
+
*/
|
|
58
|
+
onInputChange: (value: string) => void;
|
|
59
|
+
/**
|
|
60
|
+
* Метаданные опций
|
|
61
|
+
*/
|
|
62
|
+
meta?: {
|
|
63
|
+
isAllDataLoaded?: boolean;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Минимальное количество символов для выполнения запроса
|
|
67
|
+
*/
|
|
68
|
+
minSymbolsToFetch?: number;
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ButtonProps } from '../../../Button';
|
|
2
|
+
import { type DialogProps, type DialogSize } from '../../../Dialog';
|
|
3
|
+
import { type SearchFieldProps } from '../../../SearchField';
|
|
4
|
+
import { type TreeLikeListProps } from '../../../TreeLikeList';
|
|
5
|
+
import type { TreeLikeAsyncAutocompleteValue } from '../../types';
|
|
6
|
+
import type { OptionsModalProps } from '../types';
|
|
7
|
+
type UseLogicParams = OptionsModalProps;
|
|
8
|
+
type UseLogicResult = {
|
|
9
|
+
isNoResult: boolean;
|
|
10
|
+
isShowSearchSuggestion: boolean;
|
|
11
|
+
searchFieldProps: SearchFieldProps;
|
|
12
|
+
modalProps: DialogProps & {
|
|
13
|
+
size: DialogSize;
|
|
14
|
+
};
|
|
15
|
+
treeListProps: TreeLikeListProps<TreeLikeAsyncAutocompleteValue>;
|
|
16
|
+
cancelButtonProps: ButtonProps;
|
|
17
|
+
confirmButtonProps: ButtonProps;
|
|
18
|
+
handleRetry: () => void;
|
|
19
|
+
isShowUserHint?: boolean;
|
|
20
|
+
isShowModalLoader: boolean;
|
|
21
|
+
isShowSearchFieldLoader?: boolean;
|
|
22
|
+
treeProps?: Pick<TreeLikeListProps, 'disabledItems' | 'renderItem'>;
|
|
23
|
+
isLoadingError?: boolean;
|
|
24
|
+
loadingErrorMsg?: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const useLogic: ({ isOpen, initialValue, options, onChange, dialogProps, onInputChange, onRetry, meta, onShowUserHint, isLoadingModal, minSymbolsToFetch, isLoading, isLoadingError, loadingErrorMsg, treeProps, }: UseLogicParams) => UseLogicResult;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { useEffect, useMemo, useState, } from 'react';
|
|
2
|
+
import { deepMap } from '../../../utils/array';
|
|
3
|
+
export const useLogic = ({ isOpen, initialValue, options, onChange, dialogProps, onInputChange, onRetry, meta, onShowUserHint, isLoadingModal, minSymbolsToFetch = 0, isLoading, isLoadingError, loadingErrorMsg, treeProps, }) => {
|
|
4
|
+
const [value, setValue] = useState(initialValue);
|
|
5
|
+
const [searchValue, setSearchValue] = useState();
|
|
6
|
+
const { onClose, ...restDialogProps } = dialogProps;
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
setValue(initialValue);
|
|
9
|
+
}, [initialValue]);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
// В поле ввода вставляем выбранное значение или пустую строку для запроса на открытие модального окна
|
|
12
|
+
if (isOpen) {
|
|
13
|
+
setSearchValue('');
|
|
14
|
+
}
|
|
15
|
+
}, [isOpen]);
|
|
16
|
+
const addIsForceExpandedFlag = (item) => {
|
|
17
|
+
if (item.children) {
|
|
18
|
+
return {
|
|
19
|
+
...item,
|
|
20
|
+
options: { ...(item.options || {}), isForceExpanded: true },
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return item;
|
|
24
|
+
};
|
|
25
|
+
// Если строка поиска не пустая и загрузки нет, то раскрываем все дерево в отфильтрованной выдаче
|
|
26
|
+
const optionToRender = useMemo(() => searchValue && !isLoading
|
|
27
|
+
? deepMap(options, 'children', addIsForceExpandedFlag)
|
|
28
|
+
: options, [options, searchValue, isLoading]);
|
|
29
|
+
const handleChangeSearchField = (event) => {
|
|
30
|
+
setSearchValue(event.target.value);
|
|
31
|
+
onInputChange(event.target.value);
|
|
32
|
+
};
|
|
33
|
+
const handleChange = (newValue) => setValue(newValue);
|
|
34
|
+
const handleClose = (event) => {
|
|
35
|
+
setValue(initialValue);
|
|
36
|
+
onClose?.(event, 'escapeKeyDown');
|
|
37
|
+
};
|
|
38
|
+
const handleCancel = (event) => {
|
|
39
|
+
setValue(initialValue);
|
|
40
|
+
onClose?.(event, 'escapeKeyDown');
|
|
41
|
+
};
|
|
42
|
+
const handleClick = (event) => {
|
|
43
|
+
onChange?.(value);
|
|
44
|
+
onClose?.(event, 'escapeKeyDown');
|
|
45
|
+
};
|
|
46
|
+
const isNoResult = Boolean(searchValue) && !options.length;
|
|
47
|
+
const isDisabledButton = !value || isNoResult;
|
|
48
|
+
const handleRetry = () => {
|
|
49
|
+
onRetry?.(searchValue);
|
|
50
|
+
};
|
|
51
|
+
const isShowUserHint = onShowUserHint?.(options) || meta?.isAllDataLoaded;
|
|
52
|
+
const isShowModalLoader = isLoadingModal && options.length === 0;
|
|
53
|
+
const isShowSearchFieldLoader = (isLoading && !isLoadingModal) ||
|
|
54
|
+
(isLoading && isLoadingModal && options.length > 0);
|
|
55
|
+
const isShowSearchSuggestion = Boolean((!searchValue && minSymbolsToFetch > 0) ||
|
|
56
|
+
(searchValue && searchValue.length < minSymbolsToFetch));
|
|
57
|
+
return {
|
|
58
|
+
isShowModalLoader,
|
|
59
|
+
isShowSearchFieldLoader,
|
|
60
|
+
isNoResult,
|
|
61
|
+
handleRetry,
|
|
62
|
+
isShowUserHint,
|
|
63
|
+
isShowSearchSuggestion,
|
|
64
|
+
treeProps,
|
|
65
|
+
loadingErrorMsg,
|
|
66
|
+
isLoadingError,
|
|
67
|
+
modalProps: {
|
|
68
|
+
onClose: handleClose,
|
|
69
|
+
disableRestoreFocus: true,
|
|
70
|
+
open: isOpen,
|
|
71
|
+
size: 'md',
|
|
72
|
+
...restDialogProps,
|
|
73
|
+
},
|
|
74
|
+
searchFieldProps: {
|
|
75
|
+
value: searchValue,
|
|
76
|
+
onChange: handleChangeSearchField,
|
|
77
|
+
},
|
|
78
|
+
treeListProps: {
|
|
79
|
+
value,
|
|
80
|
+
data: optionToRender,
|
|
81
|
+
onChange: handleChange,
|
|
82
|
+
isObjectMode: true,
|
|
83
|
+
},
|
|
84
|
+
cancelButtonProps: {
|
|
85
|
+
onClick: handleCancel,
|
|
86
|
+
},
|
|
87
|
+
confirmButtonProps: {
|
|
88
|
+
disabled: isDisabledButton,
|
|
89
|
+
onClick: handleClick,
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { TreeLikeAsyncAutocompleteProps } from './types';
|
|
3
|
+
export declare const TreeLikeAsyncAutocomplete: import("react").ForwardRefExoticComponent<Omit<TreeLikeAsyncAutocompleteProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from 'react';
|
|
3
|
+
import { Input } from './Input';
|
|
4
|
+
import { OptionsModal } from './OptionsModal';
|
|
5
|
+
import { useLogic } from './useLogic';
|
|
6
|
+
export const TreeLikeAsyncAutocomplete = forwardRef((props, forwardedRef) => {
|
|
7
|
+
const { inputProps, optionsModalProps } = useLogic(props);
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsx(Input, { ref: forwardedRef, ...inputProps }), _jsx(OptionsModal, { ...optionsModalProps })] }));
|
|
9
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TreeLikeAsyncAutocomplete';
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { FetchOptionsResult, TreeAsyncAutocompleteValue } from '../TreeAsyncAutocomplete';
|
|
2
|
+
import type { TreeAutocompleteProps } from '../TreeAutocomplete';
|
|
3
|
+
/**
|
|
4
|
+
* Значение для TreeLikeAsyncAutocomplete - массив элементов дерева
|
|
5
|
+
*/
|
|
6
|
+
export type TreeLikeAsyncAutocompleteValue = TreeAsyncAutocompleteValue[];
|
|
7
|
+
export type { FetchOptionsResult };
|
|
8
|
+
export type TreeLikeAsyncAutocompleteProps = Omit<TreeAutocompleteProps, 'options' | 'isLoading' | 'isLoadingError' | 'value' | 'onChange' | 'filterOptions' | 'trimmed' | 'maxLength' | 'type'> & {
|
|
9
|
+
/**
|
|
10
|
+
* Выбранное значения
|
|
11
|
+
*/
|
|
12
|
+
value?: TreeLikeAsyncAutocompleteValue;
|
|
13
|
+
/**
|
|
14
|
+
* Функция, которая запускается при выборе item
|
|
15
|
+
*/
|
|
16
|
+
onChange?: (newValue?: TreeLikeAsyncAutocompleteValue) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Функция для асинхронной загрузки опций на основе поискового запроса
|
|
19
|
+
* При возникновении ошибки запроса данных, компонент сам ее обработает.
|
|
20
|
+
* Для обработки ошибок вручную используйте параметр `onDataLoadError`
|
|
21
|
+
*
|
|
22
|
+
* @param search - Строка поиска, введенная пользователем. На основе этой
|
|
23
|
+
* строки функция должна вернуть подходящие опции.
|
|
24
|
+
* @param signal - Объект `AbortSignal`, который позволяет отменить запрос,
|
|
25
|
+
* если пользователь изменил поисковый запрос или закрыл компонент.
|
|
26
|
+
*
|
|
27
|
+
* @returns Promise<FetchResult> Промис, который разрешается объектом с массивом узлов дерева и метаданными.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
```typescript
|
|
31
|
+
* const fetchOptions = async (search: string, signal?: AbortSignal) => {
|
|
32
|
+
* const response = await fetch(`/api/options/search?query=${search}`, {
|
|
33
|
+
* signal
|
|
34
|
+
* });
|
|
35
|
+
* const data = await response.json();
|
|
36
|
+
*
|
|
37
|
+
* return {
|
|
38
|
+
* options: data.items,
|
|
39
|
+
* meta: {
|
|
40
|
+
* isAllDataLoaded: data.isAllDataLoaded,
|
|
41
|
+
* }
|
|
42
|
+
* };
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* <TreeLikeAsyncAutocomplete fetchOptions={fetchOptions} />
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
fetchOptions: (search: string, signal?: AbortSignal) => Promise<FetchOptionsResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Задержка для fetchOptions
|
|
51
|
+
*/
|
|
52
|
+
fetchDelayMs?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Функция для обработки ошибок загрузки данных
|
|
55
|
+
*/
|
|
56
|
+
onDataLoadError?: (error: Error) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Минимальное количество символов для выполнения запроса
|
|
59
|
+
*/
|
|
60
|
+
minSymbolsToFetch?: number;
|
|
61
|
+
/**
|
|
62
|
+
* Функция определения необходимости показа подсказки пользователю
|
|
63
|
+
*/
|
|
64
|
+
onShowUserHint?: (options: TreeLikeAsyncAutocompleteValue) => boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Флаг загрузки данных
|
|
67
|
+
*/
|
|
68
|
+
isLoading?: boolean;
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useLogic';
|