@astral/ui 4.4.1 → 4.6.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/DataGrid/Head/Head.js +5 -4
- package/components/DataGrid/HeadCell/styles.js +5 -0
- package/components/DataGrid/types.d.ts +4 -0
- package/components/DataGridColumnHintIcon/DataGridColumnHintIcon.d.ts +4 -0
- package/components/DataGridColumnHintIcon/DataGridColumnHintIcon.js +6 -0
- package/components/DataGridColumnHintIcon/index.d.ts +1 -0
- package/components/DataGridColumnHintIcon/index.js +1 -0
- package/components/HintIcon/HintIcon.d.ts +2 -35
- package/components/HintIcon/HintIcon.js +2 -2
- package/components/HintIcon/Icon/Icon.d.ts +4 -5
- package/components/HintIcon/Icon/Icon.js +2 -1
- package/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.d.ts +3 -1
- package/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.js +4 -1
- package/components/HintIcon/Icon/useLogic/useLogic.d.ts +3 -3
- package/components/HintIcon/Icon/useLogic/useLogic.js +5 -2
- package/components/HintIcon/constants.d.ts +3 -0
- package/components/HintIcon/constants.js +4 -0
- package/components/HintIcon/index.d.ts +2 -0
- package/components/HintIcon/index.js +1 -0
- package/components/HintIcon/styles.d.ts +0 -6
- package/components/HintIcon/styles.js +0 -7
- package/components/HintIcon/types.d.ts +38 -0
- package/components/HintIcon/useLogic/useLogic.d.ts +3 -2
- package/components/HintIcon/useLogic/useLogic.js +4 -2
- 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/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- 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/node/components/DataGrid/Head/Head.js +4 -3
- package/node/components/DataGrid/HeadCell/styles.js +5 -0
- package/node/components/DataGrid/types.d.ts +4 -0
- package/node/components/DataGridColumnHintIcon/DataGridColumnHintIcon.d.ts +4 -0
- package/node/components/DataGridColumnHintIcon/DataGridColumnHintIcon.js +10 -0
- package/node/components/DataGridColumnHintIcon/index.d.ts +1 -0
- package/node/components/DataGridColumnHintIcon/index.js +17 -0
- package/node/components/HintIcon/HintIcon.d.ts +2 -35
- package/node/components/HintIcon/HintIcon.js +2 -2
- package/node/components/HintIcon/Icon/Icon.d.ts +4 -5
- package/node/components/HintIcon/Icon/Icon.js +2 -1
- package/node/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.d.ts +3 -1
- package/node/components/HintIcon/Icon/useLogic/hooks/useIconColor/useIconColor.js +4 -1
- package/node/components/HintIcon/Icon/useLogic/useLogic.d.ts +3 -3
- package/node/components/HintIcon/Icon/useLogic/useLogic.js +5 -2
- package/node/components/HintIcon/constants.d.ts +3 -0
- package/node/components/HintIcon/constants.js +5 -1
- package/node/components/HintIcon/index.d.ts +2 -0
- package/node/components/HintIcon/index.js +3 -0
- package/node/components/HintIcon/styles.d.ts +0 -6
- package/node/components/HintIcon/styles.js +1 -8
- package/node/components/HintIcon/types.d.ts +38 -0
- package/node/components/HintIcon/useLogic/useLogic.d.ts +3 -2
- package/node/components/HintIcon/useLogic/useLogic.js +4 -2
- 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/components/index.d.ts +1 -0
- package/node/components/index.js +4 -2
- 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/package.json +15 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { Checkbox } from '../../Checkbox';
|
|
4
4
|
import { dataGridClassnames } from '../constants';
|
|
@@ -9,13 +9,14 @@ export const Head = (props) => {
|
|
|
9
9
|
const { checkboxProps, handleSort } = useLogic(props);
|
|
10
10
|
const { columns, gridColumns, isSelectable, sorting, onSelectAllRows, isHideSelectAll, } = props;
|
|
11
11
|
const renderColumns = useMemo(() => {
|
|
12
|
-
return columns.map(({ field, label, sortable, align }, index) => {
|
|
12
|
+
return columns.map(({ field, label, sortable, align, columnHint }, index) => {
|
|
13
13
|
const isFirstCell = !index;
|
|
14
14
|
const startAdornmentRender = () => {
|
|
15
|
-
|
|
15
|
+
const showCheckbox = isFirstCell && isSelectable && !isHideSelectAll;
|
|
16
|
+
if (!showCheckbox && !columnHint) {
|
|
16
17
|
return null;
|
|
17
18
|
}
|
|
18
|
-
return (_jsx(CheckboxCell, { children: _jsx(Checkbox, { ...checkboxProps, onChange: onSelectAllRows }) }));
|
|
19
|
+
return (_jsxs(_Fragment, { children: [showCheckbox && (_jsx(CheckboxCell, { children: _jsx(Checkbox, { ...checkboxProps, onChange: onSelectAllRows }) })), columnHint] }));
|
|
19
20
|
};
|
|
20
21
|
return (_jsx(HeadCell, { sorting: sorting, field: field, label: label, isSortable: sortable, align: align, startAdornment: startAdornmentRender(), onSort: handleSort }, label));
|
|
21
22
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { hintIconClassnames } from '../../HintIcon';
|
|
1
2
|
import { styled } from '../../styles';
|
|
2
3
|
import { alignToJustifyContent } from '../utils';
|
|
3
4
|
export const Wrapper = styled('div', {
|
|
@@ -20,4 +21,8 @@ export const Wrapper = styled('div', {
|
|
|
20
21
|
width: 16px;
|
|
21
22
|
height: 16px;
|
|
22
23
|
}
|
|
24
|
+
|
|
25
|
+
.${hintIconClassnames.iconWrapper} {
|
|
26
|
+
margin-right: ${({ theme }) => theme.spacing(1)};
|
|
27
|
+
}
|
|
23
28
|
`;
|
|
@@ -223,6 +223,10 @@ export type DataGridColumns<TData extends Record<string, CellValue>> = {
|
|
|
223
223
|
* Скрывает содержимое столбца от инструментов мониторинга
|
|
224
224
|
*/
|
|
225
225
|
isHidePersonalData?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Принимает компонент DataGridColumnHintIcon - подсказка в шапке колонки
|
|
228
|
+
*/
|
|
229
|
+
columnHint?: ReactNode;
|
|
226
230
|
};
|
|
227
231
|
export type DataGridRowOptionColumns<TData extends Record<string, CellValue>> = {
|
|
228
232
|
/**
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type HintIconProps } from '../HintIcon';
|
|
3
|
+
export type DataGridColumnHintIconProps = Omit<HintIconProps, 'renderIcon' | 'variant' | 'iconOption'>;
|
|
4
|
+
export declare const DataGridColumnHintIcon: (props: DataGridColumnHintIconProps) => JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { InfoOutlineSm } from '../../icons';
|
|
3
|
+
import { HintIcon } from '../HintIcon';
|
|
4
|
+
export const DataGridColumnHintIcon = (props) => {
|
|
5
|
+
return (_jsx(HintIcon, { renderIcon: () => _jsx(InfoOutlineSm, {}), variant: "info", ...props }));
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DataGridColumnHintIcon';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DataGridColumnHintIcon';
|
|
@@ -1,36 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { type
|
|
3
|
-
export
|
|
4
|
-
/**
|
|
5
|
-
* Определяет иконку отображения
|
|
6
|
-
*/
|
|
7
|
-
variant: 'question' | 'info';
|
|
8
|
-
/**
|
|
9
|
-
* Опции для иконки
|
|
10
|
-
*/
|
|
11
|
-
iconOption?: {
|
|
12
|
-
/**
|
|
13
|
-
* Определяет тип иконки
|
|
14
|
-
* @default fill
|
|
15
|
-
*/
|
|
16
|
-
variant?: 'fill' | 'outline';
|
|
17
|
-
/**
|
|
18
|
-
* Определяет цвет иконки
|
|
19
|
-
* @default lightGrey
|
|
20
|
-
*/
|
|
21
|
-
color?: 'warning' | 'grey' | 'lightGrey';
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Текст заголовка BottomDrawer
|
|
25
|
-
*/
|
|
26
|
-
title: string;
|
|
27
|
-
/**
|
|
28
|
-
* Текст тултипа или контента BottomDrawer
|
|
29
|
-
*/
|
|
30
|
-
note: string;
|
|
31
|
-
/**
|
|
32
|
-
* Положение тултипа
|
|
33
|
-
*/
|
|
34
|
-
tooltipPlacement?: TooltipPlacement;
|
|
35
|
-
};
|
|
36
|
-
export declare const HintIcon: ({ variant, title, note, iconOption, tooltipPlacement, }: HintIconProps) => JSX.Element;
|
|
2
|
+
import { type HintIconProps } from './types';
|
|
3
|
+
export declare const HintIcon: ({ variant, title, note, iconOption, tooltipPlacement, renderIcon, }: HintIconProps) => JSX.Element;
|
|
@@ -3,7 +3,7 @@ import { BottomDrawer } from '../BottomDrawer';
|
|
|
3
3
|
import { Icon } from './Icon';
|
|
4
4
|
import { DrawerContent } from './styles';
|
|
5
5
|
import { useLogic } from './useLogic';
|
|
6
|
-
export const HintIcon = ({ variant, title, note, iconOption, tooltipPlacement = 'bottom', }) => {
|
|
6
|
+
export const HintIcon = ({ variant, title, note, iconOption, tooltipPlacement = 'bottom', renderIcon, }) => {
|
|
7
7
|
const { handleClose, handleOpen, open } = useLogic();
|
|
8
|
-
return (_jsxs(_Fragment, { children: [_jsx(Icon, { onClick: handleOpen, variant: variant, iconOption: iconOption, note: note, tooltipPlacement: tooltipPlacement }), _jsx(BottomDrawer, { title: title, open: open, onClose: handleClose, children: _jsx(DrawerContent, { children: note }) })] }));
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsx(Icon, { onClick: handleOpen, variant: variant, iconOption: iconOption, note: note, tooltipPlacement: tooltipPlacement, renderIcon: renderIcon }), _jsx(BottomDrawer, { title: title, open: open, onClose: handleClose, children: _jsx(DrawerContent, { children: note }) })] }));
|
|
9
9
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
onClick: () => void;
|
|
1
|
+
import type { SyntheticEvent } from 'react';
|
|
2
|
+
import type { HintIconProps, TooltipPlacement } from '../types';
|
|
3
|
+
export type IconProps = Pick<HintIconProps, 'variant' | 'iconOption' | 'note' | 'renderIcon'> & {
|
|
4
|
+
onClick: (e: SyntheticEvent) => void;
|
|
6
5
|
tooltipPlacement: TooltipPlacement;
|
|
7
6
|
};
|
|
8
7
|
export declare const Icon: (props: IconProps) => JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Tooltip } from '../../Tooltip';
|
|
3
|
+
import { hintIconClassnames } from '../constants';
|
|
3
4
|
import { IconWrapper } from './styles';
|
|
4
5
|
import { useLogic } from './useLogic';
|
|
5
6
|
export const Icon = (props) => {
|
|
6
7
|
const { getIcon, iconColor } = useLogic(props);
|
|
7
8
|
const { onClick, note, tooltipPlacement } = props;
|
|
8
|
-
return (_jsx(Tooltip, { title: note, placement: tooltipPlacement, children: _jsx(IconWrapper, { onClick: onClick, "$color": iconColor, children: getIcon() }) }));
|
|
9
|
+
return (_jsx(Tooltip, { title: note, placement: tooltipPlacement, children: _jsx(IconWrapper, { onClick: onClick, "$color": iconColor, className: hintIconClassnames.iconWrapper, children: getIcon() }) }));
|
|
9
10
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
1
2
|
type UseIconColorParams = {
|
|
2
3
|
color?: 'warning' | 'grey' | 'lightGrey';
|
|
4
|
+
renderIcon?: () => ReactNode;
|
|
3
5
|
};
|
|
4
|
-
export declare const useIconColor: ({ color }: UseIconColorParams) => string;
|
|
6
|
+
export declare const useIconColor: ({ color, renderIcon }: UseIconColorParams) => string;
|
|
5
7
|
export {};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { useTheme } from '../../../../../theme';
|
|
2
|
-
export const useIconColor = ({ color }) => {
|
|
2
|
+
export const useIconColor = ({ color, renderIcon }) => {
|
|
3
3
|
const theme = useTheme();
|
|
4
4
|
const colorMap = {
|
|
5
5
|
warning: theme.palette.yellow[800],
|
|
6
6
|
grey: theme.palette.grey[800],
|
|
7
7
|
lightGrey: theme.palette.grey[400],
|
|
8
8
|
};
|
|
9
|
+
if (renderIcon) {
|
|
10
|
+
return 'currentColor';
|
|
11
|
+
}
|
|
9
12
|
if (color) {
|
|
10
13
|
return colorMap[color];
|
|
11
14
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
import { type IconProps } from '../Icon';
|
|
3
3
|
type UseLogicParams = IconProps;
|
|
4
|
-
export declare const useLogic: ({ iconOption, variant }: UseLogicParams) => {
|
|
5
|
-
getIcon: () =>
|
|
4
|
+
export declare const useLogic: ({ iconOption, variant, renderIcon, }: UseLogicParams) => {
|
|
5
|
+
getIcon: () => ReactNode;
|
|
6
6
|
iconColor: string;
|
|
7
7
|
};
|
|
8
8
|
export {};
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { ICONS } from '../../constants';
|
|
2
2
|
import { useIconColor } from './hooks';
|
|
3
|
-
export const useLogic = ({ iconOption, variant }) => {
|
|
4
|
-
const iconColor = useIconColor({ color: iconOption?.color });
|
|
3
|
+
export const useLogic = ({ iconOption, variant, renderIcon, }) => {
|
|
4
|
+
const iconColor = useIconColor({ color: iconOption?.color, renderIcon });
|
|
5
5
|
const { variant: iconOptionVariant = 'fill' } = iconOption || {};
|
|
6
6
|
const getIcon = () => {
|
|
7
|
+
if (renderIcon) {
|
|
8
|
+
return renderIcon();
|
|
9
|
+
}
|
|
7
10
|
const icon = ICONS[variant][iconOptionVariant];
|
|
8
11
|
if (icon) {
|
|
9
12
|
return icon;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { InfoFillMd, InfoOutlineMd, QuestionFillMd, QuestionOutlineMd, } from '../../icons';
|
|
3
|
+
import { createUIKitClassname } from '../utils';
|
|
4
|
+
export const hintIconClassnames = {
|
|
5
|
+
iconWrapper: createUIKitClassname('hint-icon__icon-wrapper'),
|
|
6
|
+
};
|
|
3
7
|
export const ICONS = {
|
|
4
8
|
question: {
|
|
5
9
|
fill: _jsx(QuestionFillMd, {}),
|
|
@@ -3,9 +3,3 @@ export declare const DrawerContent: import("@emotion/styled").StyledComponent<{
|
|
|
3
3
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
4
|
as?: import("react").ElementType<any> | undefined;
|
|
5
5
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
6
|
-
export declare const IconWrapper: import("@emotion/styled").StyledComponent<{
|
|
7
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
-
as?: import("react").ElementType<any> | undefined;
|
|
9
|
-
} & {
|
|
10
|
-
$color: string;
|
|
11
|
-
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -2,10 +2,3 @@ import { styled } from '../styles';
|
|
|
2
2
|
export const DrawerContent = styled.div `
|
|
3
3
|
padding: ${({ theme }) => theme.spacing(5, 4)};
|
|
4
4
|
`;
|
|
5
|
-
export const IconWrapper = styled('div', {
|
|
6
|
-
shouldForwardProp: (prop) => !['$color'].includes(prop),
|
|
7
|
-
}) `
|
|
8
|
-
display: flex;
|
|
9
|
-
|
|
10
|
-
color: ${({ $color }) => $color};
|
|
11
|
-
`;
|
|
@@ -1 +1,39 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
1
2
|
export type TooltipPlacement = 'left' | 'top' | 'right' | 'bottom';
|
|
3
|
+
export type HintIconProps = {
|
|
4
|
+
/**
|
|
5
|
+
* Определяет иконку отображения
|
|
6
|
+
*/
|
|
7
|
+
variant: 'question' | 'info';
|
|
8
|
+
/**
|
|
9
|
+
* Опции для иконки
|
|
10
|
+
*/
|
|
11
|
+
iconOption?: {
|
|
12
|
+
/**
|
|
13
|
+
* Определяет тип иконки
|
|
14
|
+
* @default fill
|
|
15
|
+
*/
|
|
16
|
+
variant?: 'fill' | 'outline';
|
|
17
|
+
/**
|
|
18
|
+
* Определяет цвет иконки
|
|
19
|
+
* @default lightGrey
|
|
20
|
+
*/
|
|
21
|
+
color?: 'warning' | 'grey' | 'lightGrey';
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Текст заголовка BottomDrawer
|
|
25
|
+
*/
|
|
26
|
+
title: string;
|
|
27
|
+
/**
|
|
28
|
+
* Текст тултипа или контента BottomDrawer
|
|
29
|
+
*/
|
|
30
|
+
note: string;
|
|
31
|
+
/**
|
|
32
|
+
* Положение тултипа
|
|
33
|
+
*/
|
|
34
|
+
tooltipPlacement?: TooltipPlacement;
|
|
35
|
+
/**
|
|
36
|
+
* Задание кастомной иконки
|
|
37
|
+
*/
|
|
38
|
+
renderIcon?: () => ReactNode;
|
|
39
|
+
};
|
|
@@ -3,12 +3,14 @@ import { useViewportType } from '../../hooks';
|
|
|
3
3
|
export const useLogic = () => {
|
|
4
4
|
const [open, setOpen] = useState(false);
|
|
5
5
|
const { isMobile } = useViewportType();
|
|
6
|
-
const handleOpen = () => {
|
|
6
|
+
const handleOpen = (e) => {
|
|
7
|
+
e.stopPropagation();
|
|
7
8
|
if (isMobile) {
|
|
8
9
|
setOpen((prevState) => !prevState);
|
|
9
10
|
}
|
|
10
11
|
};
|
|
11
|
-
const handleClose = () => {
|
|
12
|
+
const handleClose = (e) => {
|
|
13
|
+
e.stopPropagation();
|
|
12
14
|
if (isMobile) {
|
|
13
15
|
setOpen(false);
|
|
14
16
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { type MultipleTreeListProps } from './types';
|
|
2
|
+
import { type MultipleTreeListProps, type MultipleValue } from './types';
|
|
3
3
|
export type { MultipleTreeListProps };
|
|
4
|
-
export declare const MultipleTreeList: ({ data, value, className, expandedLevel, disabledItems, ...props }: MultipleTreeListProps) => JSX.Element;
|
|
4
|
+
export declare const MultipleTreeList: <TValue extends MultipleValue = string[]>({ data, value, className, expandedLevel, disabledItems, ...props }: MultipleTreeListProps<TValue>) => JSX.Element;
|
|
@@ -5,5 +5,5 @@ import { useLogic } from './useLogic';
|
|
|
5
5
|
const INITIAL_LEVEL = 0;
|
|
6
6
|
export const MultipleTreeList = ({ data, value, className, expandedLevel = 10, disabledItems, ...props }) => {
|
|
7
7
|
const { formattedDisabledItems } = useLogic({ disabledItems });
|
|
8
|
-
return (_jsx(List, { className: className, children: data.map((item) => (_jsx(TreeItem, { value: value,
|
|
8
|
+
return (_jsx(List, { className: className, children: data.map((item) => (_jsx(TreeItem, { item: item, value: value, level: INITIAL_LEVEL, expandedLevel: expandedLevel, disabledItems: formattedDisabledItems, ...props }, item.id))) }));
|
|
9
9
|
};
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { type FunctionComponent } from 'react';
|
|
2
2
|
import type { TreeListData } from '../../types';
|
|
3
3
|
import type { MultipleValue } from '../types';
|
|
4
|
-
type FormatDisableItem = {
|
|
4
|
+
export type FormatDisableItem = {
|
|
5
5
|
id: string;
|
|
6
6
|
disabledReason?: string;
|
|
7
7
|
};
|
|
8
|
-
export type TreeItemProps =
|
|
8
|
+
export type TreeItemProps<TValue extends MultipleValue = string[]> = {
|
|
9
|
+
item: TreeListData;
|
|
9
10
|
/**
|
|
10
11
|
* Выбранные значения
|
|
11
12
|
*/
|
|
12
|
-
value?:
|
|
13
|
+
value?: TValue;
|
|
13
14
|
/**
|
|
14
15
|
* Render-props, позволяет более гибко настраивать содержимое item
|
|
15
16
|
*/
|
|
@@ -34,7 +35,10 @@ export type TreeItemProps = TreeListData & {
|
|
|
34
35
|
/**
|
|
35
36
|
* Функция, которая запускается при выборе item
|
|
36
37
|
*/
|
|
37
|
-
onChange: (value:
|
|
38
|
+
onChange: (value: TValue) => void;
|
|
39
|
+
/**
|
|
40
|
+
* Переключает компонент в режим работы с объектами а не с id элементов
|
|
41
|
+
*/
|
|
42
|
+
isObjectMode?: boolean;
|
|
38
43
|
};
|
|
39
|
-
export declare const TreeItem: (props: TreeItemProps) => JSX.Element;
|
|
40
|
-
export {};
|
|
44
|
+
export declare const TreeItem: <TValue extends MultipleValue = string[]>(props: TreeItemProps<TValue>) => JSX.Element;
|
|
@@ -4,12 +4,13 @@ import { List, StyledCheckbox, StyledTreeItem } from './styles';
|
|
|
4
4
|
import { useLogic } from './useLogic';
|
|
5
5
|
export const TreeItem = (props) => {
|
|
6
6
|
const { isSelected, isIndeterminate, isDefaultExpanded, disabledReason, isDisabled, handleChange, } = useLogic(props);
|
|
7
|
-
const {
|
|
7
|
+
const { level, renderItem, value, isInitialExpanded, expandedLevel, disabledItems, onChange, item, isObjectMode, } = props;
|
|
8
|
+
const { id, label, note, children = [], options } = item;
|
|
8
9
|
const handleClick = (event) => {
|
|
9
10
|
event.stopPropagation();
|
|
10
11
|
};
|
|
11
12
|
if (children.length) {
|
|
12
|
-
return (_jsx(StyledTreeItem, { isSelected: isSelected, isDefaultExpanded: isDefaultExpanded, isForceExpanded: options?.isForceExpanded, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange, children: _jsx(List, { children: children.map((child) => (_jsx(TreeItem, {
|
|
13
|
+
return (_jsx(StyledTreeItem, { isSelected: isSelected, isDefaultExpanded: isDefaultExpanded, isForceExpanded: options?.isForceExpanded, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected, indeterminate: isSelected ? false : isIndeterminate }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange, children: _jsx(List, { children: children.map((child) => (_jsx(TreeItem, { item: child, renderItem: renderItem, level: level + 1, isInitialExpanded: isInitialExpanded, expandedLevel: expandedLevel, disabledItems: disabledItems, value: value, onChange: onChange, isObjectMode: isObjectMode }, child.id))) }) }));
|
|
13
14
|
}
|
|
14
15
|
return (_jsx(StyledTreeItem, { isSelected: isSelected, isDisabled: isDisabled, disabledReason: disabledReason, note: renderItem ? null : note, component: "li", label: _jsx(FormControlLabel, { control: _jsx(StyledCheckbox, { checked: isSelected }), label: renderItem ? renderItem({ label, note, id }) : label, disabled: isDisabled, onChange: handleChange, onClick: handleClick }), level: level, onClick: handleChange }));
|
|
15
16
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { MultipleValue } from '../../types';
|
|
1
2
|
import { type TreeItemProps } from '../TreeItem';
|
|
2
|
-
type UseLogicProps = TreeItemProps
|
|
3
|
-
export declare const useLogic: ({
|
|
3
|
+
type UseLogicProps<TValue extends MultipleValue = string[]> = TreeItemProps<TValue>;
|
|
4
|
+
export declare const useLogic: <TValue extends MultipleValue = string[]>({ item, value, level, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }: UseLogicProps<TValue>) => {
|
|
4
5
|
isSelected: boolean;
|
|
5
6
|
isIndeterminate: boolean;
|
|
6
7
|
isDefaultExpanded: boolean | undefined;
|
|
@@ -1,38 +1,44 @@
|
|
|
1
1
|
import { useEffect, useMemo } from 'react';
|
|
2
|
-
import { checkIsIndeterminate, checkIsSelected, getAllChildrenId, } from './utils';
|
|
3
|
-
export const useLogic = ({
|
|
2
|
+
import { checkIsIndeterminate, checkIsSelected, getAllChildrenId, getIdFromValue, getItemsToAdd, } from './utils';
|
|
3
|
+
export const useLogic = ({ item, value = [], level, isInitialExpanded, expandedLevel, disabledItems, onChange, isObjectMode, }) => {
|
|
4
|
+
const { id, children } = item;
|
|
4
5
|
const childrenIds = useMemo(() => getAllChildrenId(children, disabledItems), [children, disabledItems]);
|
|
5
6
|
const isSelected = checkIsSelected(value, id);
|
|
6
7
|
const isIndeterminate = checkIsIndeterminate(value, childrenIds);
|
|
7
8
|
const isDefaultExpanded = isInitialExpanded && level <= expandedLevel - 1;
|
|
8
|
-
const disabledItem = disabledItems?.find((
|
|
9
|
+
const disabledItem = disabledItems?.find((formatDisableItem) => formatDisableItem.id === id);
|
|
9
10
|
const isDisabled = Boolean(disabledItem);
|
|
10
11
|
const disabledReason = disabledItem?.disabledReason;
|
|
11
12
|
useEffect(() => {
|
|
12
13
|
if (!childrenIds.length) {
|
|
13
14
|
return undefined;
|
|
14
15
|
}
|
|
15
|
-
const isEveryChildChecked = childrenIds.every((childrenId) => value?.
|
|
16
|
+
const isEveryChildChecked = childrenIds.every((childrenId) => value?.some((treeItem) => getIdFromValue(treeItem) === childrenId));
|
|
16
17
|
if (!isSelected && isEveryChildChecked) {
|
|
17
|
-
|
|
18
|
+
const addItem = isObjectMode ? item : id;
|
|
19
|
+
const newValue = value ? [...value, addItem] : [addItem];
|
|
20
|
+
onChange(newValue);
|
|
18
21
|
}
|
|
19
22
|
if (isSelected && !isEveryChildChecked) {
|
|
20
|
-
|
|
23
|
+
const removeItem = value?.filter((selectedItem) => getIdFromValue(selectedItem) !== id);
|
|
24
|
+
onChange(removeItem);
|
|
21
25
|
}
|
|
22
|
-
}, [value, childrenIds]);
|
|
26
|
+
}, [value, childrenIds, isSelected]);
|
|
23
27
|
const handleChange = () => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
onChange([...value, id]);
|
|
28
|
+
const isValueIncludesId = value?.some((treeItem) => getIdFromValue(treeItem) === id);
|
|
29
|
+
if (isValueIncludesId) {
|
|
30
|
+
// Удаление элемента и всех его дочерних элементов
|
|
31
|
+
const idsToRemove = children ? [id, ...childrenIds] : [id];
|
|
32
|
+
const filteredValue = value?.filter((selectedItem) => {
|
|
33
|
+
const selectedId = getIdFromValue(selectedItem);
|
|
34
|
+
return !idsToRemove.includes(selectedId);
|
|
35
|
+
});
|
|
36
|
+
return onChange(filteredValue);
|
|
35
37
|
}
|
|
38
|
+
// Добавление элемента и всех его дочерних элементов
|
|
39
|
+
const itemsToAdd = getItemsToAdd(item, children, childrenIds, isObjectMode);
|
|
40
|
+
const newValue = value ? [...value, ...itemsToAdd] : itemsToAdd;
|
|
41
|
+
onChange(newValue);
|
|
36
42
|
};
|
|
37
43
|
return {
|
|
38
44
|
isSelected,
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { MultipleValue } from '../../../../types';
|
|
2
|
+
export declare const checkIsIndeterminate: <TValue extends MultipleValue = string[]>(value: TValue, childrenIds: string[] | undefined) => boolean;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { getIdFromValue } from '../getIdFromValue';
|
|
1
2
|
export const checkIsIndeterminate = (value, childrenIds) => {
|
|
2
3
|
if (!value || !childrenIds) {
|
|
3
4
|
return false;
|
|
4
5
|
}
|
|
5
|
-
return value.some((item) => childrenIds.includes(item));
|
|
6
|
+
return value.some((item) => childrenIds.includes(getIdFromValue(item)));
|
|
6
7
|
};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import type { MultipleValue } from '../../../../types';
|
|
2
|
+
export declare const checkIsSelected: <TValue extends MultipleValue = string[]>(value: TValue, optionId: string) => boolean;
|
package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/checkIsSelected/checkIsSelected.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { getIdFromValue } from '../getIdFromValue';
|
|
1
2
|
export const checkIsSelected = (value, optionId) => {
|
|
2
3
|
if (!value || !value.length) {
|
|
3
4
|
return false;
|
|
4
5
|
}
|
|
5
|
-
return value.
|
|
6
|
+
return value.some((item) => getIdFromValue(item) === optionId);
|
|
6
7
|
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Находит объекты TreeListData в дереве по массиву ID
|
|
3
|
+
*/
|
|
4
|
+
export const findObjectsByIds = (nodes, ids) => {
|
|
5
|
+
if (!ids.length) {
|
|
6
|
+
return [];
|
|
7
|
+
}
|
|
8
|
+
// Создаем Map для быстрого поиска объектов по ID
|
|
9
|
+
const idToObjectMap = new Map();
|
|
10
|
+
const traverse = (items) => {
|
|
11
|
+
for (const item of items) {
|
|
12
|
+
idToObjectMap.set(item.id, item);
|
|
13
|
+
if (item.children) {
|
|
14
|
+
traverse(item.children);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
traverse(nodes);
|
|
19
|
+
return ids
|
|
20
|
+
.map((id) => idToObjectMap.get(id))
|
|
21
|
+
.filter((obj) => obj !== undefined);
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './findObjectsByIds';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './findObjectsByIds';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getIdFromValue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getIdFromValue';
|
package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { TreeListData } from '../../../../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Формирует массив элементов для добавления в зависимости от режима работы
|
|
4
|
+
*/
|
|
5
|
+
export declare const getItemsToAdd: (item: TreeListData, children: TreeListData[] | undefined, childrenIds: string[], isObjectMode: boolean | undefined) => (string | TreeListData)[];
|
package/components/Tree/MultipleTreeList/TreeItem/useLogic/utils/getItemsToAdd/getItemsToAdd.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { findObjectsByIds } from '../findObjectsByIds';
|
|
2
|
+
/**
|
|
3
|
+
* Формирует массив элементов для добавления в зависимости от режима работы
|
|
4
|
+
*/
|
|
5
|
+
export const getItemsToAdd = (item, children, childrenIds, isObjectMode) => {
|
|
6
|
+
if (!children) {
|
|
7
|
+
return isObjectMode ? [item] : [item.id];
|
|
8
|
+
}
|
|
9
|
+
if (isObjectMode) {
|
|
10
|
+
const childrenObjects = findObjectsByIds(children, childrenIds);
|
|
11
|
+
return [item, ...childrenObjects];
|
|
12
|
+
}
|
|
13
|
+
return [item.id, ...childrenIds];
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getItemsToAdd';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getItemsToAdd';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { checkIsIndeterminate } from './checkIsIndeterminate';
|
|
2
2
|
export { checkIsSelected } from './checkIsSelected';
|
|
3
3
|
export { getAllChildrenId } from './getAllChildrenId';
|
|
4
|
+
export { findObjectsByIds } from './findObjectsByIds';
|
|
5
|
+
export { getIdFromValue } from './getIdFromValue';
|
|
6
|
+
export { getItemsToAdd } from './getItemsToAdd';
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export { checkIsIndeterminate } from './checkIsIndeterminate';
|
|
2
2
|
export { checkIsSelected } from './checkIsSelected';
|
|
3
3
|
export { getAllChildrenId } from './getAllChildrenId';
|
|
4
|
+
export { findObjectsByIds } from './findObjectsByIds';
|
|
5
|
+
export { getIdFromValue } from './getIdFromValue';
|
|
6
|
+
export { getItemsToAdd } from './getItemsToAdd';
|