@aloudata/aloudata-design 3.1.6 → 3.2.0-beta.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/README.md +43 -1
- package/dist/AMenu/index.d.ts +1 -1
- package/dist/AMenu/index.js +71 -41
- package/dist/AMenu/index.js.map +1 -1
- package/dist/AMenu.js +2 -0
- package/dist/AProgress/index.d.ts +1 -1
- package/dist/AProgress/index.js +201 -68
- package/dist/AProgress/index.js.map +1 -1
- package/dist/AProgress.js +2 -0
- package/dist/Alert/index.d.ts +1 -1
- package/dist/Alert/index.js +108 -41
- package/dist/Alert/index.js.map +1 -1
- package/dist/Alert.js +2 -0
- package/dist/App/index.js +67 -9
- package/dist/App/index.js.map +1 -1
- package/dist/App.js +2 -0
- package/dist/Avatar/component/Avatar/helper.d.ts +2 -2
- package/dist/Avatar/component/Avatar/helper.js.map +1 -1
- package/dist/Avatar/component/Avatar/index.d.ts +1 -1
- package/dist/Avatar/component/Avatar/index.js +164 -59
- package/dist/Avatar/component/Avatar/index.js.map +1 -1
- package/dist/Avatar/component/Avatar/type.d.ts +0 -1
- package/dist/Avatar/component/Avatar/type.js.map +1 -1
- package/dist/Avatar/component/Avatar.js +2 -0
- package/dist/Avatar/index.d.ts +1 -1
- package/dist/Avatar/index.js +103 -30
- package/dist/Avatar/index.js.map +1 -1
- package/dist/Avatar.js +2 -0
- package/dist/Badge/index.d.ts +1 -1
- package/dist/Badge/index.js +153 -34
- package/dist/Badge/index.js.map +1 -1
- package/dist/Badge.js +2 -0
- package/dist/Breadcrumb/index.d.ts +1 -1
- package/dist/Breadcrumb/index.js +81 -28
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Breadcrumb.js +2 -0
- package/dist/Button/index.d.ts +3 -2
- package/dist/Button/index.js +238 -57
- package/dist/Button/index.js.map +1 -1
- package/dist/Button.js +2 -0
- package/dist/Card/index.d.ts +3 -3
- package/dist/Card/index.js +180 -54
- package/dist/Card/index.js.map +1 -1
- package/dist/Card.js +2 -0
- package/dist/Carousel/index.js +232 -92
- package/dist/Carousel/index.js.map +1 -1
- package/dist/Carousel.js +2 -0
- package/dist/Checkbox/component/CheckboxGroup/index.d.ts +1 -1
- package/dist/Checkbox/component/CheckboxGroup.js +2 -0
- package/dist/Checkbox/index.d.ts +3 -2
- package/dist/Checkbox/index.js +311 -107
- package/dist/Checkbox/index.js.map +1 -1
- package/dist/Checkbox/type.d.ts +0 -1
- package/dist/Checkbox.js +2 -0
- package/dist/Col/index.d.ts +1 -1
- package/dist/Col/index.js +106 -43
- package/dist/Col/index.js.map +1 -1
- package/dist/Col.js +2 -0
- package/dist/Collapse/index.d.ts +1 -1
- package/dist/Collapse/index.js +439 -159
- package/dist/Collapse/index.js.map +1 -1
- package/dist/Collapse.js +2 -0
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.d.ts +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js +68 -19
- package/dist/ColorPicker/ComplexColorPicker/ColorAlphaInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHexInput.d.ts +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHexInput.js +52 -17
- package/dist/ColorPicker/ComplexColorPicker/ColorHexInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.d.ts +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js +159 -44
- package/dist/ColorPicker/ComplexColorPicker/ColorHsbInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorInput.d.ts +2 -2
- package/dist/ColorPicker/ComplexColorPicker/ColorInput.js +130 -48
- package/dist/ColorPicker/ComplexColorPicker/ColorInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.d.ts +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js +147 -41
- package/dist/ColorPicker/ComplexColorPicker/ColorRgbInput.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorSteppers.d.ts +1 -1
- package/dist/ColorPicker/ComplexColorPicker/ColorSteppers.js +56 -14
- package/dist/ColorPicker/ComplexColorPicker/ColorSteppers.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker/index.d.ts +3 -2
- package/dist/ColorPicker/ComplexColorPicker/index.js +113 -50
- package/dist/ColorPicker/ComplexColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/ComplexColorPicker.js +2 -0
- package/dist/ColorPicker/color.js.map +1 -1
- package/dist/ColorPicker/constant.js.map +1 -1
- package/dist/ColorPicker/hooks/useColor.d.ts +2 -2
- package/dist/ColorPicker/hooks/useColor.js +37 -10
- package/dist/ColorPicker/hooks/useColor.js.map +1 -1
- package/dist/ColorPicker/index.d.ts +1 -1
- package/dist/ColorPicker/index.js +341 -117
- package/dist/ColorPicker/index.js.map +1 -1
- package/dist/ColorPicker/interface.d.ts +3 -3
- package/dist/ColorPicker/interface.js.map +1 -1
- package/dist/ColorPicker/util.js.map +1 -1
- package/dist/ColorPicker.js +2 -0
- package/dist/ConfigProvider/DisabledContext.d.ts +0 -1
- package/dist/ConfigProvider/DisabledContext.js.map +1 -1
- package/dist/ConfigProvider/getUserList.d.ts +48 -1
- package/dist/ConfigProvider/getUserList.js +1 -0
- package/dist/ConfigProvider/getUserList.js.map +1 -1
- package/dist/ConfigProvider/hooks/useGetUserList.d.ts +12 -5
- package/dist/ConfigProvider/hooks/useGetUserList.js +26 -7
- package/dist/ConfigProvider/hooks/useGetUserList.js.map +1 -1
- package/dist/ConfigProvider/index.d.ts +9 -5
- package/dist/ConfigProvider/index.js +101 -33
- package/dist/ConfigProvider/index.js.map +1 -1
- package/dist/ConfigProvider/sizeContext.js +16 -4
- package/dist/ConfigProvider/sizeContext.js.map +1 -1
- package/dist/ConfigProvider.js +2 -0
- package/dist/DataPreviewTable/components/Body/Cell.d.ts +2 -2
- package/dist/DataPreviewTable/components/Body/Cell.js +95 -32
- package/dist/DataPreviewTable/components/Body/Cell.js.map +1 -1
- package/dist/DataPreviewTable/components/Body/Error.d.ts +1 -1
- package/dist/DataPreviewTable/components/Body/Error.js.map +1 -1
- package/dist/DataPreviewTable/components/Body/index.d.ts +2 -2
- package/dist/DataPreviewTable/components/Body/index.js +76 -40
- package/dist/DataPreviewTable/components/Body/index.js.map +1 -1
- package/dist/DataPreviewTable/components/Body.js +2 -0
- package/dist/DataPreviewTable/components/DragBar/Mask.d.ts +2 -1
- package/dist/DataPreviewTable/components/DragBar/Mask.js +43 -22
- package/dist/DataPreviewTable/components/DragBar/Mask.js.map +1 -1
- package/dist/DataPreviewTable/components/DragBar/index.d.ts +1 -1
- package/dist/DataPreviewTable/components/DragBar/index.js +79 -29
- package/dist/DataPreviewTable/components/DragBar/index.js.map +1 -1
- package/dist/DataPreviewTable/components/DragBar.js +2 -0
- package/dist/DataPreviewTable/components/Header/index.d.ts +3 -2
- package/dist/DataPreviewTable/components/Header/index.js +60 -12
- package/dist/DataPreviewTable/components/Header/index.js.map +1 -1
- package/dist/DataPreviewTable/components/Header.js +2 -0
- package/dist/DataPreviewTable/constant.js.map +1 -1
- package/dist/DataPreviewTable/hooks/useDirection.d.ts +2 -2
- package/dist/DataPreviewTable/hooks/useDirection.js +253 -148
- package/dist/DataPreviewTable/hooks/useDirection.js.map +1 -1
- package/dist/DataPreviewTable/index.d.ts +1 -1
- package/dist/DataPreviewTable/index.js +3 -3
- package/dist/DataPreviewTable/index.js.map +1 -1
- package/dist/DataPreviewTable/interface.js.map +1 -1
- package/dist/DataPreviewTable/utils/findRange.js.map +1 -1
- package/dist/DataPreviewTable/utils/getColumnRange.d.ts +2 -2
- package/dist/DataPreviewTable/utils/getColumnRange.js.map +1 -1
- package/dist/DataPreviewTable/utils/getRowRange.d.ts +2 -2
- package/dist/DataPreviewTable/utils/getRowRange.js.map +1 -1
- package/dist/DataPreviewTable/utils/getTableLayout.d.ts +1 -1
- package/dist/DataPreviewTable/utils/getTableLayout.js.map +1 -1
- package/dist/DataPreviewTable.js +2 -0
- package/dist/DatePicker/index.d.ts +4 -3
- package/dist/DatePicker/index.js +350 -86
- package/dist/DatePicker/index.js.map +1 -1
- package/dist/DatePicker.js +2 -0
- package/dist/Divider/index.d.ts +2 -1
- package/dist/Divider/index.js +44 -8
- package/dist/Divider/index.js.map +1 -1
- package/dist/Divider.js +2 -0
- package/dist/DoubleCircleIcon/index.d.ts +2 -2
- package/dist/DoubleCircleIcon.js +2 -0
- package/dist/Drawer/index.d.ts +1 -1
- package/dist/Drawer/index.js +336 -122
- package/dist/Drawer/index.js.map +1 -1
- package/dist/Drawer.js +2 -0
- package/dist/Dropdown/index.d.ts +9 -4
- package/dist/Dropdown/index.js +53 -40
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/Dropdown.js +2 -0
- package/dist/Empty/image/Data.d.ts +2 -1
- package/dist/Empty/image/Data.js +297 -234
- package/dist/Empty/image/Data.js.map +1 -1
- package/dist/Empty/image/Search.d.ts +2 -1
- package/dist/Empty/image/Search.js +14 -7
- package/dist/Empty/image/Search.js.map +1 -1
- package/dist/Empty/image/SearchSmall.d.ts +2 -1
- package/dist/Empty/image/SearchSmall.js +35 -23
- package/dist/Empty/image/SearchSmall.js.map +1 -1
- package/dist/Empty/image/User.d.ts +2 -1
- package/dist/Empty/image/User.js +277 -224
- package/dist/Empty/image/User.js.map +1 -1
- package/dist/Empty/image/WorkBook.d.ts +2 -1
- package/dist/Empty/image/WorkBook.js +254 -206
- package/dist/Empty/image/WorkBook.js.map +1 -1
- package/dist/Empty/index.js.map +1 -1
- package/dist/Empty.js +2 -0
- package/dist/Form/FormItemContext.d.ts +0 -1
- package/dist/Form/FormItemContext.js.map +1 -1
- package/dist/Form/hooks/useFormItemStatus.d.ts +1 -1
- package/dist/Form/index.d.ts +35 -19
- package/dist/Form/index.js +635 -186
- package/dist/Form/index.js.map +1 -1
- package/dist/Form.js +2 -0
- package/dist/HighlightText/index.d.ts +1 -1
- package/dist/HighlightText/index.js +83 -13
- package/dist/HighlightText/index.js.map +1 -1
- package/dist/HighlightText.js +2 -0
- package/dist/Icon/components/AlertTriangleDuotone.d.ts +1 -1
- package/dist/Icon/components/AlertTriangleDuotone.js +81 -20
- package/dist/Icon/components/AlertTriangleDuotone.js.map +1 -1
- package/dist/Icon/components/AlertTriangleLine.d.ts +1 -1
- package/dist/Icon/components/AlertTriangleLine.js +81 -20
- package/dist/Icon/components/AlertTriangleLine.js.map +1 -1
- package/dist/Icon/components/ArrowDownFill.d.ts +1 -1
- package/dist/Icon/components/ArrowDownFill.js +81 -20
- package/dist/Icon/components/ArrowDownFill.js.map +1 -1
- package/dist/Icon/components/ArrowDownLightLine.d.ts +1 -1
- package/dist/Icon/components/ArrowDownLightLine.js +81 -20
- package/dist/Icon/components/ArrowDownLightLine.js.map +1 -1
- package/dist/Icon/components/ArrowDownRightFill.d.ts +1 -1
- package/dist/Icon/components/ArrowDownRightFill.js +81 -20
- package/dist/Icon/components/ArrowDownRightFill.js.map +1 -1
- package/dist/Icon/components/ArrowRightLightLine.d.ts +1 -1
- package/dist/Icon/components/ArrowRightLightLine.js +81 -20
- package/dist/Icon/components/ArrowRightLightLine.js.map +1 -1
- package/dist/Icon/components/AttentionCircleFill.d.ts +1 -1
- package/dist/Icon/components/AttentionCircleFill.js +81 -20
- package/dist/Icon/components/AttentionCircleFill.js.map +1 -1
- package/dist/Icon/components/AttentionTriangleFill.d.ts +1 -1
- package/dist/Icon/components/AttentionTriangleFill.js +81 -20
- package/dist/Icon/components/AttentionTriangleFill.js.map +1 -1
- package/dist/Icon/components/AttentionTriangleLightLine.d.ts +1 -1
- package/dist/Icon/components/AttentionTriangleLightLine.js +81 -20
- package/dist/Icon/components/AttentionTriangleLightLine.js.map +1 -1
- package/dist/Icon/components/CancelCircleDuotone.d.ts +1 -1
- package/dist/Icon/components/CancelCircleDuotone.js +92 -23
- package/dist/Icon/components/CancelCircleDuotone.js.map +1 -1
- package/dist/Icon/components/CancelledCircleFill.d.ts +1 -1
- package/dist/Icon/components/CancelledCircleFill.js +81 -20
- package/dist/Icon/components/CancelledCircleFill.js.map +1 -1
- package/dist/Icon/components/CheckCircleDuotone.d.ts +1 -1
- package/dist/Icon/components/CheckCircleDuotone.js +92 -23
- package/dist/Icon/components/CheckCircleDuotone.js.map +1 -1
- package/dist/Icon/components/CheckCircleFill.d.ts +1 -1
- package/dist/Icon/components/CheckCircleFill.js +81 -20
- package/dist/Icon/components/CheckCircleFill.js.map +1 -1
- package/dist/Icon/components/CheckCircleLightLine.d.ts +1 -1
- package/dist/Icon/components/CheckCircleLightLine.js +97 -25
- package/dist/Icon/components/CheckCircleLightLine.js.map +1 -1
- package/dist/Icon/components/CheckLightLine.d.ts +1 -1
- package/dist/Icon/components/CheckLightLine.js +81 -20
- package/dist/Icon/components/CheckLightLine.js.map +1 -1
- package/dist/Icon/components/ChevronDownLine.d.ts +1 -1
- package/dist/Icon/components/ChevronDownLine.js +81 -20
- package/dist/Icon/components/ChevronDownLine.js.map +1 -1
- package/dist/Icon/components/ChevronLeftLine.d.ts +1 -1
- package/dist/Icon/components/ChevronLeftLine.js +81 -20
- package/dist/Icon/components/ChevronLeftLine.js.map +1 -1
- package/dist/Icon/components/ChevronRightLine.d.ts +1 -1
- package/dist/Icon/components/ChevronRightLine.js +81 -20
- package/dist/Icon/components/ChevronRightLine.js.map +1 -1
- package/dist/Icon/components/CircleLightLine.d.ts +1 -1
- package/dist/Icon/components/CircleLightLine.js +97 -25
- package/dist/Icon/components/CircleLightLine.js.map +1 -1
- package/dist/Icon/components/CloseCircleFill.d.ts +1 -1
- package/dist/Icon/components/CloseCircleFill.js +81 -20
- package/dist/Icon/components/CloseCircleFill.js.map +1 -1
- package/dist/Icon/components/CloseCircleLightLine.d.ts +1 -1
- package/dist/Icon/components/CloseCircleLightLine.js +81 -20
- package/dist/Icon/components/CloseCircleLightLine.js.map +1 -1
- package/dist/Icon/components/CloseCircleRightFill.d.ts +1 -1
- package/dist/Icon/components/CloseCircleRightFill.js +81 -20
- package/dist/Icon/components/CloseCircleRightFill.js.map +1 -1
- package/dist/Icon/components/CloseLLine.d.ts +1 -1
- package/dist/Icon/components/CloseLLine.js +81 -20
- package/dist/Icon/components/CloseLLine.js.map +1 -1
- package/dist/Icon/components/CloseLightLine.d.ts +1 -1
- package/dist/Icon/components/CloseLightLine.js +81 -20
- package/dist/Icon/components/CloseLightLine.js.map +1 -1
- package/dist/Icon/components/CloseMLine.d.ts +1 -1
- package/dist/Icon/components/CloseMLine.js +81 -20
- package/dist/Icon/components/CloseMLine.js.map +1 -1
- package/dist/Icon/components/DangerFill.d.ts +1 -1
- package/dist/Icon/components/DangerFill.js +81 -20
- package/dist/Icon/components/DangerFill.js.map +1 -1
- package/dist/Icon/components/DragLightLine.d.ts +1 -1
- package/dist/Icon/components/DragLightLine.js +81 -20
- package/dist/Icon/components/DragLightLine.js.map +1 -1
- package/dist/Icon/components/DragLine.d.ts +1 -1
- package/dist/Icon/components/DragLine.js +81 -20
- package/dist/Icon/components/DragLine.js.map +1 -1
- package/dist/Icon/components/Ellipsis.d.ts +1 -1
- package/dist/Icon/components/Ellipsis.js +81 -20
- package/dist/Icon/components/Ellipsis.js.map +1 -1
- package/dist/Icon/components/EyeOffLine.d.ts +1 -1
- package/dist/Icon/components/EyeOffLine.js +81 -20
- package/dist/Icon/components/EyeOffLine.js.map +1 -1
- package/dist/Icon/components/EyeOnLine.d.ts +1 -1
- package/dist/Icon/components/EyeOnLine.js +107 -31
- package/dist/Icon/components/EyeOnLine.js.map +1 -1
- package/dist/Icon/components/FoldDownFill.d.ts +1 -1
- package/dist/Icon/components/FoldDownFill.js +87 -21
- package/dist/Icon/components/FoldDownFill.js.map +1 -1
- package/dist/Icon/components/FoldUpFill.d.ts +1 -1
- package/dist/Icon/components/FoldUpFill.js +87 -21
- package/dist/Icon/components/FoldUpFill.js.map +1 -1
- package/dist/Icon/components/InProgressFill.d.ts +1 -1
- package/dist/Icon/components/InProgressFill.js +77 -19
- package/dist/Icon/components/InProgressFill.js.map +1 -1
- package/dist/Icon/components/InfoCircleDuotone.d.ts +1 -1
- package/dist/Icon/components/InfoCircleDuotone.js +81 -20
- package/dist/Icon/components/InfoCircleDuotone.js.map +1 -1
- package/dist/Icon/components/InfoCircleLine.d.ts +1 -1
- package/dist/Icon/components/InfoCircleLine.js +81 -20
- package/dist/Icon/components/InfoCircleLine.js.map +1 -1
- package/dist/Icon/components/InformationCircleFill.d.ts +1 -1
- package/dist/Icon/components/InformationCircleFill.js +81 -20
- package/dist/Icon/components/InformationCircleFill.js.map +1 -1
- package/dist/Icon/components/InformationCircleLightLine.d.ts +1 -1
- package/dist/Icon/components/InformationCircleLightLine.js +97 -25
- package/dist/Icon/components/InformationCircleLightLine.js.map +1 -1
- package/dist/Icon/components/Loading2Line.d.ts +1 -1
- package/dist/Icon/components/Loading2Line.js +81 -20
- package/dist/Icon/components/Loading2Line.js.map +1 -1
- package/dist/Icon/components/LoadingDuotone.d.ts +1 -1
- package/dist/Icon/components/LoadingDuotone.js +96 -24
- package/dist/Icon/components/LoadingDuotone.js.map +1 -1
- package/dist/Icon/components/LoadingLine.d.ts +1 -1
- package/dist/Icon/components/LoadingLine.js +81 -20
- package/dist/Icon/components/LoadingLine.js.map +1 -1
- package/dist/Icon/components/MoreVerticalLine.d.ts +1 -1
- package/dist/Icon/components/MoreVerticalLine.js +81 -20
- package/dist/Icon/components/MoreVerticalLine.js.map +1 -1
- package/dist/Icon/components/SearchLine.d.ts +1 -1
- package/dist/Icon/components/SearchLine.js +81 -20
- package/dist/Icon/components/SearchLine.js.map +1 -1
- package/dist/Icon/components/SignLightLine.d.ts +1 -1
- package/dist/Icon/components/SignLightLine.js +81 -20
- package/dist/Icon/components/SignLightLine.js.map +1 -1
- package/dist/Icon/components/SortAscendingOrderColor.d.ts +1 -1
- package/dist/Icon/components/SortAscendingOrderColor.js +88 -22
- package/dist/Icon/components/SortAscendingOrderColor.js.map +1 -1
- package/dist/Icon/components/SortColor.d.ts +1 -1
- package/dist/Icon/components/SortColor.js +81 -20
- package/dist/Icon/components/SortColor.js.map +1 -1
- package/dist/Icon/components/SortDescendingOrderColor.d.ts +1 -1
- package/dist/Icon/components/SortDescendingOrderColor.js +88 -22
- package/dist/Icon/components/SortDescendingOrderColor.js.map +1 -1
- package/dist/Icon/components/TimesLightLine.d.ts +1 -1
- package/dist/Icon/components/TimesLightLine.js +81 -20
- package/dist/Icon/components/TimesLightLine.js.map +1 -1
- package/dist/Icon/components/TrashLightLine.d.ts +1 -1
- package/dist/Icon/components/TrashLightLine.js +97 -25
- package/dist/Icon/components/TrashLightLine.js.map +1 -1
- package/dist/Icon/components/TriangleLightLine.d.ts +1 -1
- package/dist/Icon/components/TriangleLightLine.js +81 -20
- package/dist/Icon/components/TriangleLightLine.js.map +1 -1
- package/dist/Icon/components/User.d.ts +1 -1
- package/dist/Icon/components/User.js +85 -21
- package/dist/Icon/components/User.js.map +1 -1
- package/dist/Icon/components/UserGroup.d.ts +1 -1
- package/dist/Icon/components/UserGroup.js +85 -21
- package/dist/Icon/components/UserGroup.js.map +1 -1
- package/dist/Icon.d.ts +0 -1
- package/dist/Icon.js +1 -0
- package/dist/IconButton/index.d.ts +6 -5
- package/dist/IconButton/index.js +303 -73
- package/dist/IconButton/index.js.map +1 -1
- package/dist/IconButton.js +2 -0
- package/dist/Input/components/Input/index.d.ts +1 -1
- package/dist/Input/components/Input/index.js +407 -108
- package/dist/Input/components/Input/index.js.map +1 -1
- package/dist/Input/components/Input.js +2 -0
- package/dist/Input/components/Password/index.d.ts +1 -1
- package/dist/Input/components/Password/index.js +71 -10
- package/dist/Input/components/Password/index.js.map +1 -1
- package/dist/Input/components/Password.js +2 -0
- package/dist/Input/components/TextArea/index.d.ts +2 -2
- package/dist/Input/components/TextArea/index.js +323 -67
- package/dist/Input/components/TextArea/index.js.map +1 -1
- package/dist/Input/components/TextArea.js +2 -0
- package/dist/Input/index.js.map +1 -1
- package/dist/Input/privateSemanticOwner.d.ts +2 -2
- package/dist/Input.js +2 -0
- package/dist/InputNumber/index.d.ts +2 -1
- package/dist/InputNumber/index.js +13 -13
- package/dist/InputNumber/index.js.map +1 -1
- package/dist/InputNumber/type.d.ts +0 -1
- package/dist/InputNumber.js +2 -0
- package/dist/InputSearch/index.d.ts +1 -1
- package/dist/InputSearch/index.js +213 -78
- package/dist/InputSearch/index.js.map +1 -1
- package/dist/InputSearch.js +2 -0
- package/dist/Layout/index.js +115 -28
- package/dist/Layout/index.js.map +1 -1
- package/dist/Layout.js +2 -0
- package/dist/List/Item.js +105 -21
- package/dist/List/Item.js.map +1 -1
- package/dist/List/index.d.ts +2 -2
- package/dist/List/index.js +11 -11
- package/dist/List/index.js.map +1 -1
- package/dist/List.js +2 -0
- package/dist/LogicTree/DisplayLogicTree.d.ts +1 -1
- package/dist/LogicTree/DisplayLogicTree.js +17 -6
- package/dist/LogicTree/DisplayLogicTree.js.map +1 -1
- package/dist/LogicTree/components/DisplayLogicItem/index.d.ts +2 -2
- package/dist/LogicTree/components/DisplayLogicItem/index.js +124 -38
- package/dist/LogicTree/components/DisplayLogicItem/index.js.map +1 -1
- package/dist/LogicTree/components/DisplayLogicItem.d.ts +0 -1
- package/dist/LogicTree/components/DisplayLogicItem.js +1 -0
- package/dist/LogicTree/components/LogicItem/index.d.ts +4 -3
- package/dist/LogicTree/components/LogicItem/index.js +60 -58
- package/dist/LogicTree/components/LogicItem/index.js.map +1 -1
- package/dist/LogicTree/components/LogicItem.js +2 -0
- package/dist/LogicTree/helper.js.map +1 -1
- package/dist/LogicTree/index.d.ts +1 -1
- package/dist/LogicTree/index.js +205 -66
- package/dist/LogicTree/index.js.map +1 -1
- package/dist/LogicTree/type.js.map +1 -1
- package/dist/LogicTree.js +2 -0
- package/dist/MemberPicker/components/MemberSelection.d.ts +2 -2
- package/dist/MemberPicker/components/MemberSelection.js +4 -4
- package/dist/MemberPicker/components/MemberSelection.js.map +1 -1
- package/dist/MemberPicker/components/MultipleOption.d.ts +5 -3
- package/dist/MemberPicker/components/MultipleOption.js +178 -42
- package/dist/MemberPicker/components/MultipleOption.js.map +1 -1
- package/dist/MemberPicker/components/NickLabel.d.ts +6 -1
- package/dist/MemberPicker/components/NickLabel.js +70 -11
- package/dist/MemberPicker/components/NickLabel.js.map +1 -1
- package/dist/MemberPicker/components/Panel.d.ts +8 -4
- package/dist/MemberPicker/components/Panel.js +202 -103
- package/dist/MemberPicker/components/Panel.js.map +1 -1
- package/dist/MemberPicker/components/PanelWrapper.d.ts +4 -4
- package/dist/MemberPicker/components/PanelWrapper.js +197 -82
- package/dist/MemberPicker/components/PanelWrapper.js.map +1 -1
- package/dist/MemberPicker/components/SearchFeedback.d.ts +8 -0
- package/dist/MemberPicker/components/SearchFeedback.js +76 -0
- package/dist/MemberPicker/components/SearchFeedback.js.map +1 -0
- package/dist/MemberPicker/components/SelectedMemberTags.d.ts +4 -4
- package/dist/MemberPicker/components/SelectedMemberTags.js +148 -64
- package/dist/MemberPicker/components/SelectedMemberTags.js.map +1 -1
- package/dist/MemberPicker/components/SelectorFooter.d.ts +2 -2
- package/dist/MemberPicker/components/SelectorFooter.js +42 -22
- package/dist/MemberPicker/components/SelectorFooter.js.map +1 -1
- package/dist/MemberPicker/components/SingleOption.d.ts +5 -3
- package/dist/MemberPicker/components/SingleOption.js +157 -36
- package/dist/MemberPicker/components/SingleOption.js.map +1 -1
- package/dist/MemberPicker/components/UserGroupSelection.d.ts +5 -2
- package/dist/MemberPicker/components/UserGroupSelection.js +335 -155
- package/dist/MemberPicker/components/UserGroupSelection.js.map +1 -1
- package/dist/MemberPicker/dialog/DialogColumns.d.ts +5 -0
- package/dist/MemberPicker/dialog/DialogColumns.js +119 -0
- package/dist/MemberPicker/dialog/DialogColumns.js.map +1 -0
- package/dist/MemberPicker/dialog/DialogContent.d.ts +3 -0
- package/dist/MemberPicker/dialog/DialogContent.js +270 -0
- package/dist/MemberPicker/dialog/DialogContent.js.map +1 -0
- package/dist/MemberPicker/dialog/MemberOption.d.ts +16 -0
- package/dist/MemberPicker/dialog/MemberOption.js +269 -0
- package/dist/MemberPicker/dialog/MemberOption.js.map +1 -0
- package/dist/MemberPicker/dialog/MemberPickerDialog.d.ts +11 -0
- package/dist/MemberPicker/dialog/MemberPickerDialog.js +19 -0
- package/dist/MemberPicker/dialog/MemberPickerDialog.js.map +1 -0
- package/dist/MemberPicker/dialog/SelectedMemberPanel.d.ts +12 -0
- package/dist/MemberPicker/dialog/SelectedMemberPanel.js +77 -0
- package/dist/MemberPicker/dialog/SelectedMemberPanel.js.map +1 -0
- package/dist/MemberPicker/dialog/UserCandidatePanel.d.ts +13 -0
- package/dist/MemberPicker/dialog/UserCandidatePanel.js +168 -0
- package/dist/MemberPicker/dialog/UserCandidatePanel.js.map +1 -0
- package/dist/MemberPicker/dialog/UserGroupCandidatePanel.d.ts +13 -0
- package/dist/MemberPicker/dialog/UserGroupCandidatePanel.js +312 -0
- package/dist/MemberPicker/dialog/UserGroupCandidatePanel.js.map +1 -0
- package/dist/MemberPicker/dialog/helper.d.ts +20 -0
- package/dist/MemberPicker/dialog/helper.js +61 -0
- package/dist/MemberPicker/dialog/helper.js.map +1 -0
- package/dist/MemberPicker/dialog/types.d.ts +41 -0
- package/dist/MemberPicker/dialog/types.js +7 -0
- package/dist/MemberPicker/dialog/types.js.map +1 -0
- package/dist/MemberPicker/dialog/useDialogLocale.d.ts +103 -0
- package/dist/MemberPicker/dialog/useDialogLocale.js +20 -0
- package/dist/MemberPicker/dialog/useDialogLocale.js.map +1 -0
- package/dist/MemberPicker/dialog/useMemberPickerDraft.d.ts +27 -0
- package/dist/MemberPicker/dialog/useMemberPickerDraft.js +95 -0
- package/dist/MemberPicker/dialog/useMemberPickerDraft.js.map +1 -0
- package/dist/MemberPicker/dialog/useUserGroupCandidates.d.ts +29 -0
- package/dist/MemberPicker/dialog/useUserGroupCandidates.js +443 -0
- package/dist/MemberPicker/dialog/useUserGroupCandidates.js.map +1 -0
- package/dist/MemberPicker/index.d.ts +2 -0
- package/dist/MemberPicker/index.js +100 -76
- package/dist/MemberPicker/index.js.map +1 -1
- package/dist/MemberPicker/interface.d.ts +4 -4
- package/dist/MemberPicker/interface.js.map +1 -1
- package/dist/MemberPicker/tests/mockPort.d.ts +2 -2
- package/dist/MemberPicker/useMemberSearch.d.ts +8 -0
- package/dist/MemberPicker/useMemberSearch.js +92 -0
- package/dist/MemberPicker/useMemberSearch.js.map +1 -0
- package/dist/MemberPicker/utils/getUsersWithUserId.d.ts +2 -2
- package/dist/MemberPicker/utils/getUsersWithUserId.js.map +1 -1
- package/dist/MemberPicker/utils/index.d.ts +4 -3
- package/dist/MemberPicker/utils/index.js.map +1 -1
- package/dist/MemberPicker/utils.d.ts +0 -1
- package/dist/MemberPicker/utils.js +1 -0
- package/dist/MemberPicker.js +2 -0
- package/dist/Menu/index.d.ts +3 -1
- package/dist/Menu/index.js +237 -87
- package/dist/Menu/index.js.map +1 -1
- package/dist/Menu.js +2 -0
- package/dist/Modal/index.d.ts +2 -2
- package/dist/Modal/index.js +152 -90
- package/dist/Modal/index.js.map +1 -1
- package/dist/Modal.js +2 -0
- package/dist/OverflowCount/index.d.ts +2 -2
- package/dist/OverflowCount/index.js +173 -77
- package/dist/OverflowCount/index.js.map +1 -1
- package/dist/OverflowCount.js +2 -0
- package/dist/Pagination/PageSizeChanger.js +77 -22
- package/dist/Pagination/PageSizeChanger.js.map +1 -1
- package/dist/Pagination/index.d.ts +2 -1
- package/dist/Pagination/index.js +7 -7
- package/dist/Pagination/index.js.map +1 -1
- package/dist/Pagination/types.d.ts +0 -1
- package/dist/Pagination.js +2 -0
- package/dist/Popconfirm/index.d.ts +2 -2
- package/dist/Popconfirm/index.js +7 -7
- package/dist/Popconfirm/index.js.map +1 -1
- package/dist/Popconfirm.js +2 -0
- package/dist/Popover/index.d.ts +1 -1
- package/dist/Popover/index.js +1 -1
- package/dist/Popover/index.js.map +1 -1
- package/dist/Popover.js +2 -0
- package/dist/Progress/index.js +91 -28
- package/dist/Progress/index.js.map +1 -1
- package/dist/Progress.js +2 -0
- package/dist/Radio/components/Group/index.d.ts +2 -2
- package/dist/Radio/components/Group/index.js.map +1 -1
- package/dist/Radio/components/Group.js +2 -0
- package/dist/Radio/components/Radio/index.d.ts +3 -2
- package/dist/Radio/components/Radio/index.js +112 -46
- package/dist/Radio/components/Radio/index.js.map +1 -1
- package/dist/Radio/components/Radio.js +2 -0
- package/dist/Radio/index.js.map +1 -1
- package/dist/Radio.js +2 -0
- package/dist/RenameInput/index.d.ts +2 -2
- package/dist/RenameInput/index.js +248 -75
- package/dist/RenameInput/index.js.map +1 -1
- package/dist/RenameInput.js +2 -0
- package/dist/Result/index.d.ts +7 -7
- package/dist/Result/index.js +172 -60
- package/dist/Result/index.js.map +1 -1
- package/dist/Result/noFound.js +37 -11
- package/dist/Result/noFound.js.map +1 -1
- package/dist/Result/serverError.js +37 -11
- package/dist/Result/serverError.js.map +1 -1
- package/dist/Result/unauthorized.js +38 -11
- package/dist/Result/unauthorized.js.map +1 -1
- package/dist/Result.js +2 -0
- package/dist/Row/index.d.ts +1 -1
- package/dist/Row/index.js +86 -20
- package/dist/Row/index.js.map +1 -1
- package/dist/Row.js +2 -0
- package/dist/ScrollArea/index.d.ts +1 -1
- package/dist/ScrollArea/index.js +144 -32
- package/dist/ScrollArea/index.js.map +1 -1
- package/dist/ScrollArea.js +2 -0
- package/dist/Select/BaseSelect.d.ts +2 -2
- package/dist/Select/BaseSelect.js +49 -37
- package/dist/Select/BaseSelect.js.map +1 -1
- package/dist/Select/SelectTrigger.d.ts +2 -2
- package/dist/Select/SelectTrigger.js.map +1 -1
- package/dist/Select/Selector/FixedOverflow.d.ts +1 -1
- package/dist/Select/Selector/FixedOverflow.js +213 -84
- package/dist/Select/Selector/FixedOverflow.js.map +1 -1
- package/dist/Select/Selector/MultipleResponsiveSelectedSection.d.ts +4 -4
- package/dist/Select/Selector/MultipleResponsiveSelectedSection.js +90 -29
- package/dist/Select/Selector/MultipleResponsiveSelectedSection.js.map +1 -1
- package/dist/Select/Selector/MultipleSelector.d.ts +5 -5
- package/dist/Select/Selector/MultipleSelector.js +241 -82
- package/dist/Select/Selector/MultipleSelector.js.map +1 -1
- package/dist/Select/Selector/index.d.ts +5 -5
- package/dist/Select/Selector/index.js +64 -13
- package/dist/Select/Selector/index.js.map +1 -1
- package/dist/Select/Selector.js +2 -0
- package/dist/Select/components/OptionCollection.d.ts +3 -2
- package/dist/Select/components/OptionCollection.js +131 -40
- package/dist/Select/components/OptionCollection.js.map +1 -1
- package/dist/Select/components/PopupContent.d.ts +2 -2
- package/dist/Select/components/PopupContent.js +41 -11
- package/dist/Select/components/PopupContent.js.map +1 -1
- package/dist/Select/components/SearchBox.d.ts +1 -1
- package/dist/Select/components/SearchBox.js +32 -11
- package/dist/Select/components/SearchBox.js.map +1 -1
- package/dist/Select/components/Suffix.d.ts +2 -2
- package/dist/Select/components/Suffix.js +96 -32
- package/dist/Select/components/Suffix.js.map +1 -1
- package/dist/Select/hooks/useCache.d.ts +1 -1
- package/dist/Select/hooks/useCache.js.map +1 -1
- package/dist/Select/hooks/useDisplayMenu.d.ts +1 -1
- package/dist/Select/hooks/useDisplayMenu.js.map +1 -1
- package/dist/Select/hooks/useOptions.d.ts +1 -1
- package/dist/Select/hooks/useOptions.js +34 -15
- package/dist/Select/hooks/useOptions.js.map +1 -1
- package/dist/Select/index.js +348 -167
- package/dist/Select/index.js.map +1 -1
- package/dist/Select/interface.d.ts +2 -2
- package/dist/Select/utils/commonUtil.d.ts +1 -1
- package/dist/Select/utils/commonUtil.js.map +1 -1
- package/dist/Select/utils/getWidthStyle.js.map +1 -1
- package/dist/Select/utils/valueUtil.d.ts +2 -2
- package/dist/Select/utils/valueUtil.js +1 -1
- package/dist/Select/utils/valueUtil.js.map +1 -1
- package/dist/Select.js +2 -0
- package/dist/Skeleton/index.d.ts +2 -2
- package/dist/Skeleton/index.js +255 -58
- package/dist/Skeleton/index.js.map +1 -1
- package/dist/Skeleton.js +2 -0
- package/dist/Slider/index.d.ts +1 -1
- package/dist/Slider/index.js +257 -57
- package/dist/Slider/index.js.map +1 -1
- package/dist/Slider.js +2 -0
- package/dist/Space/CompactContext.d.ts +2 -2
- package/dist/Space/CompactContext.js +1 -1
- package/dist/Space/CompactContext.js.map +1 -1
- package/dist/Space/index.d.ts +3 -3
- package/dist/Space/index.js +162 -30
- package/dist/Space/index.js.map +1 -1
- package/dist/Space.js +2 -0
- package/dist/Spin/CustomIcon/index.d.ts +2 -2
- package/dist/Spin/CustomIcon/index.js +95 -12
- package/dist/Spin/CustomIcon/index.js.map +1 -1
- package/dist/Spin/CustomIcon.js +2 -0
- package/dist/Spin/index.d.ts +1 -1
- package/dist/Spin/index.js +156 -51
- package/dist/Spin/index.js.map +1 -1
- package/dist/Spin.js +2 -0
- package/dist/StatusLight/index.d.ts +1 -1
- package/dist/StatusLight/index.js +118 -45
- package/dist/StatusLight/index.js.map +1 -1
- package/dist/StatusLight.js +2 -0
- package/dist/Steps/components/CustomDot/index.d.ts +1 -1
- package/dist/Steps/components/CustomDot/index.js.map +1 -1
- package/dist/Steps/components/CustomDot.d.ts +0 -1
- package/dist/Steps/components/CustomDot.js +1 -0
- package/dist/Steps/components/ProcessIcon/index.d.ts +2 -1
- package/dist/Steps/components/ProcessIcon/index.js +177 -46
- package/dist/Steps/components/ProcessIcon/index.js.map +1 -1
- package/dist/Steps/components/ProcessIcon.d.ts +0 -1
- package/dist/Steps/components/ProcessIcon.js +1 -0
- package/dist/Steps/components/Step/index.d.ts +2 -2
- package/dist/Steps/components/Step/index.js +46 -17
- package/dist/Steps/components/Step/index.js.map +1 -1
- package/dist/Steps/components/Step.d.ts +0 -1
- package/dist/Steps/components/Step.js +1 -0
- package/dist/Steps/index.d.ts +3 -3
- package/dist/Steps/index.js +160 -105
- package/dist/Steps/index.js.map +1 -1
- package/dist/Steps.js +2 -0
- package/dist/Switch/index.js +159 -49
- package/dist/Switch/index.js.map +1 -1
- package/dist/Switch/test.d.ts +0 -1
- package/dist/Switch/test.js +1 -0
- package/dist/Switch.js +2 -0
- package/dist/Table/components/Cell.d.ts +2 -1
- package/dist/Table/components/Cell.js +29 -6
- package/dist/Table/components/Cell.js.map +1 -1
- package/dist/Table/components/DndWrapper.js +11 -2
- package/dist/Table/components/DndWrapper.js.map +1 -1
- package/dist/Table/components/ErrorBoundary.js.map +1 -1
- package/dist/Table/components/ExpandCell.d.ts +3 -3
- package/dist/Table/components/ExpandCell.js +139 -43
- package/dist/Table/components/ExpandCell.js.map +1 -1
- package/dist/Table/components/Footer/index.d.ts +5 -4
- package/dist/Table/components/Footer/index.js +130 -61
- package/dist/Table/components/Footer/index.js.map +1 -1
- package/dist/Table/components/Footer.js +2 -0
- package/dist/Table/components/Header.d.ts +2 -1
- package/dist/Table/components/Header.js.map +1 -1
- package/dist/Table/helper.d.ts +13 -13
- package/dist/Table/helper.js.map +1 -1
- package/dist/Table/hooks/useExpandable.d.ts +2 -2
- package/dist/Table/hooks/useExpandable.js +178 -64
- package/dist/Table/hooks/useExpandable.js.map +1 -1
- package/dist/Table/hooks/useFixed.js.map +1 -1
- package/dist/Table/hooks/useRowDnd.d.ts +1 -1
- package/dist/Table/hooks/useRowDnd.js +5 -5
- package/dist/Table/hooks/useRowDnd.js.map +1 -1
- package/dist/Table/hooks/useRowSelection.d.ts +1 -1
- package/dist/Table/hooks/useRowSelection.js +307 -129
- package/dist/Table/hooks/useRowSelection.js.map +1 -1
- package/dist/Table/hooks/useScroll.d.ts +3 -3
- package/dist/Table/hooks/useScroll.js +92 -45
- package/dist/Table/hooks/useScroll.js.map +1 -1
- package/dist/Table/index.d.ts +2 -2
- package/dist/Table/index.js +78 -78
- package/dist/Table/index.js.map +1 -1
- package/dist/Table/tests/helper.d.ts +1 -1
- package/dist/Table/types.d.ts +2 -2
- package/dist/Table.js +2 -0
- package/dist/Tabs/TabPane.d.ts +2 -2
- package/dist/Tabs/TabPane.js +13 -4
- package/dist/Tabs/TabPane.js.map +1 -1
- package/dist/Tabs/index.d.ts +2 -2
- package/dist/Tabs/index.js +677 -252
- package/dist/Tabs/index.js.map +1 -1
- package/dist/Tabs.js +2 -0
- package/dist/Tag/index.d.ts +1 -1
- package/dist/Tag/index.js +243 -77
- package/dist/Tag/index.js.map +1 -1
- package/dist/Tag.js +2 -0
- package/dist/TextLink/index.d.ts +1 -1
- package/dist/TextLink/index.js +60 -8
- package/dist/TextLink/index.js.map +1 -1
- package/dist/TextLink.js +2 -0
- package/dist/Tooltip/index.d.ts +1 -1
- package/dist/Tooltip/index.js +31 -10
- package/dist/Tooltip/index.js.map +1 -1
- package/dist/Tooltip.js +2 -0
- package/dist/Tour/index.d.ts +1 -1
- package/dist/Tour/index.js +234 -76
- package/dist/Tour/index.js.map +1 -1
- package/dist/Tour.js +2 -0
- package/dist/Tree/DirectoryTree.d.ts +1 -1
- package/dist/Tree/DirectoryTree.js +6 -6
- package/dist/Tree/DirectoryTree.js.map +1 -1
- package/dist/Tree/Tree.d.ts +1 -1
- package/dist/Tree/Tree2.js +24 -24
- package/dist/Tree/Tree2.js.map +1 -1
- package/dist/Tree/index.d.ts +2 -2
- package/dist/Tree/index.js.map +1 -1
- package/dist/Tree/utils/composeAllowDrop.d.ts +1 -1
- package/dist/Tree/utils/composeAllowDrop.js.map +1 -1
- package/dist/Tree/utils/dictUtil.d.ts +1 -1
- package/dist/Tree/utils/dictUtil.js.map +1 -1
- package/dist/Tree/utils/dropIndicator.d.ts +2 -1
- package/dist/Tree/utils/dropIndicator.js.map +1 -1
- package/dist/Tree/utils/iconUtil.d.ts +1 -1
- package/dist/Tree/utils/iconUtil.js +82 -24
- package/dist/Tree/utils/iconUtil.js.map +1 -1
- package/dist/Tree.js +2 -0
- package/dist/Typography/index.js +75 -27
- package/dist/Typography/index.js.map +1 -1
- package/dist/Typography.js +2 -0
- package/dist/Upload/index.d.ts +4 -4
- package/dist/Upload/index.js +278 -133
- package/dist/Upload/index.js.map +1 -1
- package/dist/Upload.js +2 -0
- package/dist/User/index.d.ts +1 -1
- package/dist/User/index.js +79 -12
- package/dist/User/index.js.map +1 -1
- package/dist/User.js +2 -0
- package/dist/Watermark/index.d.ts +1 -1
- package/dist/Watermark/index.js +108 -47
- package/dist/Watermark/index.js.map +1 -1
- package/dist/Watermark.js +2 -0
- package/dist/_utils/dialogAccessibility.js +98 -54
- package/dist/_utils/dialogAccessibility.js.map +1 -1
- package/dist/_utils/floatingLayer.d.ts +1 -1
- package/dist/_utils/floatingLayer.js +41 -14
- package/dist/_utils/floatingLayer.js.map +1 -1
- package/dist/_utils/formControlSemanticOwner.js.map +1 -1
- package/dist/_utils/getUniqId.js.map +1 -1
- package/dist/_utils/hooks/useControlledState.d.ts +1 -1
- package/dist/_utils/hooks/useId.js +1 -1
- package/dist/_utils/hooks/useId.js.map +1 -1
- package/dist/_utils/motion.js.map +1 -1
- package/dist/_utils/overlayCoordinator.d.ts +1 -1
- package/dist/_utils/overlayCoordinator.js +23 -7
- package/dist/_utils/overlayCoordinator.js.map +1 -1
- package/dist/_utils/prefixCls.d.ts +3 -1
- package/dist/_utils/prefixCls.js.map +1 -1
- package/dist/_utils/reactNode.d.ts +3 -3
- package/dist/_utils/reactNode.js +3 -1
- package/dist/_utils/reactNode.js.map +1 -1
- package/dist/_utils/statusUtils.d.ts +1 -1
- package/dist/_utils/weakRefFallback.js.map +1 -1
- package/dist/aloudata-design.css +1 -1
- package/dist/governance/semantic.d.ts +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +3 -3
- package/dist/lib/utils.js.map +1 -1
- package/dist/locale/default.d.ts +30 -2
- package/dist/locale/default.js.map +1 -1
- package/dist/locale/en_US.d.ts +30 -1
- package/dist/locale/en_US.js +30 -1
- package/dist/locale/en_US.js.map +1 -1
- package/dist/locale/zh_CN.d.ts +30 -1
- package/dist/locale/zh_CN.js +31 -2
- package/dist/locale/zh_CN.js.map +1 -1
- package/dist/message/index.js.map +1 -1
- package/dist/message.js +2 -0
- package/dist/notification/index.js.map +1 -1
- package/dist/notification.js +2 -0
- package/dist/theme/contract/baselineResolvedTokenValueManifest.d.ts +1 -1
- package/dist/theme/contract/controlStateColorArtifact.d.ts +1 -1
- package/dist/theme/contract/focusRingArtifact.d.ts +1 -1
- package/dist/theme/contract/shadowGeneratorSpecification.d.ts +1 -1
- package/dist/theme/contract/tokenCssBridge.d.ts +1 -1
- package/dist/theme/contract/tokenOutputContract.d.ts +1 -1
- package/dist/theme/contract/tokenOutputContract.js.map +1 -1
- package/dist/theme/generator/baselineTokenValueDelivery.d.ts +1 -1
- package/dist/theme/generator/generatorDiff.d.ts +1 -1
- package/dist/theme/generator/minimalAcceptedColorValues.d.ts +1 -1
- package/dist/theme/generator/neutralSourceResolver.d.ts +2 -2
- package/dist/theme/generator/neutralSourceValues.d.ts +3 -3
- package/dist/theme/governance/migrationMappingRegistry.js.map +1 -1
- package/dist/theme/governance/reviewGate.js.map +1 -1
- package/dist/theme/governance/semanticGovernanceContract.d.ts +1 -1
- package/dist/theme/governance/semanticGovernanceContract.js.map +1 -1
- package/dist/theme/governance/validateMigrationMapping.js.map +1 -1
- package/dist/theme/neutralSourceContract.js.map +1 -1
- package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/generated/darkBaselineDeclarations.js.map +1 -1
- package/dist/theme/runtime/colorValueMode/generated/slateDarkDeclarations.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/generated/slateLightDeclarations.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/generated/stoneDarkDeclarations.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/generated/stoneLightDeclarations.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/generated/v3BaselineDeclarations.js.map +1 -1
- package/dist/theme/runtime/colorValueMode/index.js.map +1 -1
- package/dist/theme/runtime/colorValueMode/legacyNeutralCompatibility.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/legacyNeutralCompatibility.js.map +1 -1
- package/dist/theme/runtime/colorValueMode/registry.d.ts +1 -1
- package/dist/theme/runtime/colorValueMode/registry.js.map +1 -1
- package/dist/theme/runtime/colorValueMode.d.ts +0 -1
- package/dist/theme/runtime/colorValueMode.js +1 -0
- package/dist/theme/runtime/createTheme.js.map +1 -1
- package/dist/theme/runtime/defaultTheme.js.map +1 -1
- package/dist/theme/runtime/initAldTheme.js.map +1 -1
- package/dist/theme/runtime/integrationController.d.ts +1 -1
- package/dist/theme/runtime/neutralSource/index.d.ts +2 -2
- package/dist/theme/runtime/neutralSource/index.js.map +1 -1
- package/dist/theme/runtime/neutralSource.d.ts +0 -1
- package/dist/theme/runtime/neutralSource.js +1 -0
- package/dist/theme/runtime/runtimeAdapter.d.ts +1 -1
- package/dist/theme/runtime/themeToCssVars.js.map +1 -1
- package/dist/theme/runtime/tokenMap.js.map +1 -1
- package/dist/theme/typography.d.ts +0 -1
- package/dist/theme/typography.js +1 -0
- package/dist/theme.d.ts +0 -1
- package/dist/theme.js +1 -0
- package/package.json +54 -25
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUserGroupCandidates.js","names":["useDialogLocale","useCallback","useEffect","useMemo","useRef","useState","ConfigProvider","IUserGroup","MemberGroupPageRequest","MemberGroupPage","hasMoreGroupPages","mergeGroupPages","ROOT_GROUP_CACHE_KEY","IGroupLevelCache","IGroupSearchState","GROUP_PAGE_SIZE","SEARCH_DEBOUNCE_MS","ROOT_BREADCRUMB_INDEX","createEmptyLevel","parentGroupId","items","pageNumber","hasMore","scrollTop","loadingMore","loadMoreError","createEmptySearchState","keyword","loading","error","getLevelKey","IUserGroupCandidatesResult","breadcrumbPath","pathWarningCode","truncated","setKeyword","enterGroup","group","returnToBreadcrumb","index","loadMore","retry","retryLoadMore","updateScrollTop","useUserGroupCandidates","t","getMemberPickerGroupPage","getNextLevelGroup","getNextLevelGroupWithMeta","useGetUserList","queryUserGroupsPage","request","Promise","params","result","data","pager","Error","MemberPickerDialog","missingGroupSource","setBreadcrumbPath","breadcrumbPathRef","levelsByParent","setLevelsByParent","Map","levelsByParentRef","activeParentGroupIdRef","undefined","treeLoading","setTreeLoading","treeError","setTreeError","setKeywordState","keywordRef","searchState","setSearchState","searchStateRef","requestVersionRef","mountedRef","searchEffectInitializedRef","updateLevels","updater","levels","currentLevels","nextLevels","current","cancelTreePagination","Array","from","key","level","updateSearchState","state","currentState","nextState","isCurrentRequest","version","loadTreeFirstPage","pageSize","then","page","previousLevel","get","set","catch","normalizedKeyword","trim","activeKey","has","timer","window","setTimeout","clearTimeout","updateCurrentLevel","nextBreadcrumbPath","groupId","nextKey","currentPath","nextPath","slice","length","targetKey","loadTreeMore","nextPageNumber","currentLevel","loadSearchMore","currentSearch","nextKeyword","isSearching"],"sources":["../../../src/MemberPicker/dialog/useUserGroupCandidates.ts"],"sourcesContent":["import useDialogLocale from './useDialogLocale';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport ConfigProvider from '../../ConfigProvider';\nimport type {\n IUserGroup,\n MemberGroupPageRequest,\n MemberGroupPage,\n} from '../../ConfigProvider/getUserList';\nimport { hasMoreGroupPages, mergeGroupPages } from './helper';\nimport {\n ROOT_GROUP_CACHE_KEY,\n type IGroupLevelCache,\n type IGroupSearchState,\n} from './types';\n\nconst GROUP_PAGE_SIZE = 100;\nconst SEARCH_DEBOUNCE_MS = 300;\nconst ROOT_BREADCRUMB_INDEX = -1;\n\nconst createEmptyLevel = (parentGroupId?: string): IGroupLevelCache => ({\n parentGroupId,\n items: [],\n pageNumber: 0,\n hasMore: false,\n scrollTop: 0,\n loadingMore: false,\n loadMoreError: false,\n});\n\nconst createEmptySearchState = (keyword = ''): IGroupSearchState => ({\n keyword,\n items: [],\n pageNumber: 0,\n hasMore: false,\n loading: false,\n loadingMore: false,\n error: false,\n loadMoreError: false,\n});\n\nconst getLevelKey = (parentGroupId?: string): string =>\n parentGroupId ?? ROOT_GROUP_CACHE_KEY;\n\nexport interface IUserGroupCandidatesResult {\n breadcrumbPath: IUserGroup[];\n items: IUserGroup[];\n keyword: string;\n pathWarningCode?: string | null;\n truncated?: boolean;\n loading: boolean;\n loadingMore: boolean;\n error: boolean;\n loadMoreError: boolean;\n hasMore: boolean;\n /** 当前层已保存的滚动位置,供候选面板在层级切换后恢复。 */\n scrollTop: number;\n setKeyword: (keyword: string) => void;\n enterGroup: (group: IUserGroup, scrollTop: number) => void;\n returnToBreadcrumb: (index: number, scrollTop: number) => void;\n loadMore: () => void;\n retry: () => void;\n retryLoadMore: () => void;\n updateScrollTop: (scrollTop: number) => void;\n}\n\n/**\n * 管理受限用户组树与跨层搜索。\n *\n * 树层级缓存和搜索结果分别持有;所有异步响应都受版本号保护,关闭弹窗、\n * 换词、清空或切换层级后,旧响应只能结束自身,不能覆盖当前界面。\n */\nexport function useUserGroupCandidates(): IUserGroupCandidatesResult {\n const t = useDialogLocale();\n const {\n getMemberPickerGroupPage,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n } = ConfigProvider.useGetUserList();\n const queryUserGroupsPage = useCallback(\n async (request: MemberGroupPageRequest): Promise<MemberGroupPage> => {\n if (getMemberPickerGroupPage) return getMemberPickerGroupPage(request);\n const params = {\n parentGroupId: request.parentGroupId,\n keyword: request.keyword ?? '',\n };\n if (getNextLevelGroupWithMeta) {\n const result = await getNextLevelGroupWithMeta(params);\n // 旧接口没有页码能力:保留截断提示,不反复获取同一页。\n return {\n data: result.items,\n pageNumber: request.pager.pageNumber,\n hasMore: false,\n pathWarningCode: result.pathWarningCode,\n truncated: result.hasMore,\n };\n }\n if (getNextLevelGroup)\n return {\n data: await getNextLevelGroup(params),\n pageNumber: request.pager.pageNumber,\n hasMore: false,\n };\n throw new Error(t.MemberPickerDialog.missingGroupSource);\n },\n [\n getMemberPickerGroupPage,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n t.MemberPickerDialog.missingGroupSource,\n ],\n );\n const [breadcrumbPath, setBreadcrumbPath] = useState<IUserGroup[]>([]);\n const breadcrumbPathRef = useRef<IUserGroup[]>([]);\n const [levelsByParent, setLevelsByParent] = useState<\n Map<string, IGroupLevelCache>\n >(new Map());\n const levelsByParentRef = useRef(levelsByParent);\n const activeParentGroupIdRef = useRef<string | undefined>(undefined);\n const [treeLoading, setTreeLoading] = useState(true);\n const [treeError, setTreeError] = useState(false);\n const [keyword, setKeywordState] = useState('');\n const keywordRef = useRef('');\n const [searchState, setSearchState] = useState<IGroupSearchState>(() =>\n createEmptySearchState(),\n );\n const searchStateRef = useRef(searchState);\n const requestVersionRef = useRef(0);\n const mountedRef = useRef(true);\n const searchEffectInitializedRef = useRef(false);\n\n const updateLevels = useCallback(\n (\n updater: (\n levels: Map<string, IGroupLevelCache>,\n ) => Map<string, IGroupLevelCache>,\n ) => {\n setLevelsByParent((currentLevels) => {\n const nextLevels = updater(currentLevels);\n levelsByParentRef.current = nextLevels;\n return nextLevels;\n });\n },\n [],\n );\n\n // 切层或转搜索会废弃当前请求,同时释放缓存层的分页锁,返回该层仍可继续加载。\n const cancelTreePagination = useCallback(() => {\n updateLevels(\n (levels) =>\n new Map(\n Array.from(levels, ([key, level]) => [\n key,\n level.loadingMore ? { ...level, loadingMore: false } : level,\n ]),\n ),\n );\n }, [updateLevels]);\n\n const updateSearchState = useCallback(\n (updater: (state: IGroupSearchState) => IGroupSearchState) => {\n setSearchState((currentState) => {\n const nextState = updater(currentState);\n searchStateRef.current = nextState;\n return nextState;\n });\n },\n [],\n );\n\n const isCurrentRequest = useCallback(\n (version: number): boolean =>\n mountedRef.current && requestVersionRef.current === version,\n [],\n );\n\n const loadTreeFirstPage = useCallback(\n (parentGroupId?: string) => {\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n setTreeLoading(true);\n setTreeError(false);\n queryUserGroupsPage({\n parentGroupId,\n keyword: undefined,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateLevels((currentLevels) => {\n const key = getLevelKey(parentGroupId);\n const previousLevel = currentLevels.get(key);\n return new Map(currentLevels).set(key, {\n parentGroupId,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n scrollTop: previousLevel?.scrollTop ?? 0,\n loadingMore: false,\n loadMoreError: false,\n });\n });\n setTreeLoading(false);\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n setTreeLoading(false);\n setTreeError(true);\n });\n },\n [isCurrentRequest, queryUserGroupsPage, updateLevels],\n );\n\n useEffect(() => {\n mountedRef.current = true;\n loadTreeFirstPage();\n return () => {\n mountedRef.current = false;\n requestVersionRef.current += 1;\n };\n }, [loadTreeFirstPage]);\n\n useEffect(() => {\n if (!searchEffectInitializedRef.current) {\n searchEffectInitializedRef.current = true;\n return undefined;\n }\n\n const normalizedKeyword = keyword.trim();\n cancelTreePagination();\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n if (!normalizedKeyword) {\n updateSearchState(() => createEmptySearchState(keyword));\n const activeKey = getLevelKey(activeParentGroupIdRef.current);\n if (!levelsByParentRef.current.has(activeKey)) {\n loadTreeFirstPage(activeParentGroupIdRef.current);\n } else {\n setTreeLoading(false);\n setTreeError(false);\n }\n return undefined;\n }\n\n updateSearchState(() => ({\n ...createEmptySearchState(normalizedKeyword),\n loading: true,\n }));\n const timer = window.setTimeout(() => {\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((currentState) => ({\n ...currentState,\n keyword: normalizedKeyword,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n loading: false,\n error: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((currentState) => ({\n ...currentState,\n loading: false,\n error: true,\n }));\n });\n }, SEARCH_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timer);\n }, [\n cancelTreePagination,\n isCurrentRequest,\n keyword,\n loadTreeFirstPage,\n queryUserGroupsPage,\n updateSearchState,\n ]);\n\n const updateCurrentLevel = useCallback(\n (updater: (level: IGroupLevelCache) => IGroupLevelCache) => {\n const parentGroupId = activeParentGroupIdRef.current;\n const key = getLevelKey(parentGroupId);\n updateLevels((currentLevels) => {\n const level = currentLevels.get(key) ?? createEmptyLevel(parentGroupId);\n return new Map(currentLevels).set(key, updater(level));\n });\n },\n [updateLevels],\n );\n\n const updateScrollTop = useCallback(\n (scrollTop: number) => {\n updateCurrentLevel((level) => ({ ...level, scrollTop }));\n },\n [updateCurrentLevel],\n );\n\n const enterGroup = useCallback(\n (group: IUserGroup, scrollTop: number) => {\n updateScrollTop(scrollTop);\n cancelTreePagination();\n const nextBreadcrumbPath = [...breadcrumbPathRef.current, group];\n breadcrumbPathRef.current = nextBreadcrumbPath;\n setBreadcrumbPath(nextBreadcrumbPath);\n activeParentGroupIdRef.current = group.groupId;\n const nextKey = getLevelKey(group.groupId);\n requestVersionRef.current += 1;\n if (levelsByParentRef.current.has(nextKey)) {\n setTreeLoading(false);\n setTreeError(false);\n return;\n }\n loadTreeFirstPage(group.groupId);\n },\n [cancelTreePagination, loadTreeFirstPage, updateScrollTop],\n );\n\n const returnToBreadcrumb = useCallback(\n (index: number, scrollTop: number) => {\n updateScrollTop(scrollTop);\n cancelTreePagination();\n const currentPath = breadcrumbPathRef.current;\n const nextPath =\n index === ROOT_BREADCRUMB_INDEX ? [] : currentPath.slice(0, index + 1);\n const parentGroupId = nextPath[nextPath.length - 1]?.groupId;\n breadcrumbPathRef.current = nextPath;\n setBreadcrumbPath(nextPath);\n activeParentGroupIdRef.current = parentGroupId;\n requestVersionRef.current += 1;\n const targetKey = getLevelKey(parentGroupId);\n if (levelsByParentRef.current.has(targetKey)) {\n setTreeLoading(false);\n setTreeError(false);\n return;\n }\n loadTreeFirstPage(parentGroupId);\n },\n [cancelTreePagination, loadTreeFirstPage, updateScrollTop],\n );\n\n const loadTreeMore = useCallback(() => {\n const parentGroupId = activeParentGroupIdRef.current;\n const key = getLevelKey(parentGroupId);\n const level = levelsByParentRef.current.get(key);\n if (!level || !level.hasMore || level.loadingMore) {\n return;\n }\n const nextPageNumber = level.pageNumber + 1;\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n loadingMore: true,\n loadMoreError: false,\n }));\n queryUserGroupsPage({\n parentGroupId,\n keyword: undefined,\n pager: { pageNumber: nextPageNumber, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n items: mergeGroupPages(currentLevel.items, page.data),\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: currentLevel.pathWarningCode || page.pathWarningCode,\n truncated: currentLevel.truncated || page.truncated,\n loadingMore: false,\n loadMoreError: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateCurrentLevel((currentLevel) => ({\n ...currentLevel,\n loadingMore: false,\n loadMoreError: true,\n }));\n });\n }, [isCurrentRequest, queryUserGroupsPage, updateCurrentLevel]);\n\n const loadSearchMore = useCallback(() => {\n const currentSearch = searchStateRef.current;\n const normalizedKeyword = keywordRef.current.trim();\n if (\n !normalizedKeyword ||\n currentSearch.loading ||\n !currentSearch.hasMore ||\n currentSearch.loadingMore\n ) {\n return;\n }\n const nextPageNumber = currentSearch.pageNumber + 1;\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateSearchState((state) => ({\n ...state,\n loadingMore: true,\n loadMoreError: false,\n }));\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: nextPageNumber, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n items: mergeGroupPages(state.items, page.data),\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: state.pathWarningCode || page.pathWarningCode,\n truncated: state.truncated || page.truncated,\n loadingMore: false,\n loadMoreError: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n loadingMore: false,\n loadMoreError: true,\n }));\n });\n }, [isCurrentRequest, queryUserGroupsPage, updateSearchState]);\n\n const setKeyword = useCallback((nextKeyword: string) => {\n keywordRef.current = nextKeyword;\n setKeywordState(nextKeyword);\n }, []);\n\n const isSearching = keyword.trim().length > 0;\n const loadMore = useCallback(() => {\n if (keywordRef.current.trim()) {\n loadSearchMore();\n return;\n }\n loadTreeMore();\n }, [loadSearchMore, loadTreeMore]);\n\n const retry = useCallback(() => {\n const normalizedKeyword = keywordRef.current.trim();\n if (normalizedKeyword) {\n const version = requestVersionRef.current + 1;\n requestVersionRef.current = version;\n updateSearchState((state) => ({\n ...state,\n loading: true,\n loadingMore: false,\n loadMoreError: false,\n hasMore: false,\n error: false,\n }));\n queryUserGroupsPage({\n parentGroupId: undefined,\n keyword: normalizedKeyword,\n pager: { pageNumber: 1, pageSize: GROUP_PAGE_SIZE },\n })\n .then((page) => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n items: [...page.data],\n pageNumber: page.pageNumber,\n hasMore: hasMoreGroupPages(page),\n pathWarningCode: page.pathWarningCode,\n truncated: page.truncated,\n loading: false,\n error: false,\n }));\n })\n .catch(() => {\n if (!isCurrentRequest(version)) {\n return;\n }\n updateSearchState((state) => ({\n ...state,\n loading: false,\n error: true,\n }));\n });\n return;\n }\n loadTreeFirstPage(activeParentGroupIdRef.current);\n }, [\n isCurrentRequest,\n loadTreeFirstPage,\n queryUserGroupsPage,\n updateSearchState,\n ]);\n\n const currentLevel = useMemo(\n () => levelsByParent.get(getLevelKey(activeParentGroupIdRef.current)),\n [levelsByParent],\n );\n\n return {\n breadcrumbPath,\n pathWarningCode: isSearching\n ? searchState.pathWarningCode\n : currentLevel?.pathWarningCode,\n truncated: isSearching ? searchState.truncated : currentLevel?.truncated,\n items: isSearching ? searchState.items : currentLevel?.items ?? [],\n keyword,\n loading: isSearching ? searchState.loading : treeLoading,\n loadingMore: isSearching\n ? searchState.loadingMore\n : currentLevel?.loadingMore ?? false,\n error: isSearching ? searchState.error : treeError,\n loadMoreError: isSearching\n ? searchState.loadMoreError\n : currentLevel?.loadMoreError ?? false,\n hasMore: isSearching ? searchState.hasMore : currentLevel?.hasMore ?? false,\n scrollTop: currentLevel?.scrollTop ?? 0,\n setKeyword,\n enterGroup,\n returnToBreadcrumb,\n loadMore,\n retry,\n retryLoadMore: loadMore,\n updateScrollTop,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { default as MemberPickerDialog } from './dialog/MemberPickerDialog.js';
|
|
1
2
|
import { default as React } from 'react';
|
|
2
3
|
import { default as MemberPanel } from './components/PanelWrapper.js';
|
|
3
4
|
import { IMemberPickerProps } from './interface.js';
|
|
4
5
|
declare const MemberSelector: React.FC<IMemberPickerProps> & {
|
|
5
6
|
MemberPanel: typeof MemberPanel;
|
|
7
|
+
Dialog: typeof MemberPickerDialog;
|
|
6
8
|
};
|
|
7
9
|
export default MemberSelector;
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { cn } from "../lib/utils.js";
|
|
2
2
|
import Avatar from "../Avatar/index.js";
|
|
3
|
+
import DisabledContext from "../ConfigProvider/DisabledContext.js";
|
|
3
4
|
import { LocaleContext, getTranslator } from "../locale/default.js";
|
|
4
5
|
import { EUserType } from "../ConfigProvider/getUserList.js";
|
|
5
6
|
import AldCustomConfigProvider from "../ConfigProvider/index.js";
|
|
6
7
|
import Select_default from "../Select/index.js";
|
|
7
|
-
/* empty css */
|
|
8
|
-
import message from "../message/index.js";
|
|
9
8
|
import { EMemberPicker } from "./interface.js";
|
|
9
|
+
import SearchFeedback from "./components/SearchFeedback.js";
|
|
10
|
+
import MemberPickerDialog from "./dialog/MemberPickerDialog.js";
|
|
11
|
+
import useMemberSearch from "./useMemberSearch.js";
|
|
12
|
+
/* empty css */
|
|
10
13
|
import { getId } from "./utils/index.js";
|
|
11
14
|
import { isUser, isUserGroup } from "./utils/getUsersWithUserId.js";
|
|
12
15
|
import Panel from "./components/Panel.js";
|
|
@@ -14,7 +17,7 @@ import PanelWrapper from "./components/PanelWrapper.js";
|
|
|
14
17
|
import React, { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
15
18
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
19
|
import _ from "lodash";
|
|
17
|
-
import { usePrevious
|
|
20
|
+
import { usePrevious } from "ahooks";
|
|
18
21
|
//#region src/MemberPicker/index.tsx
|
|
19
22
|
var DEFAULT_MULTIPLE_DROPDOWN_WIDTH = 480;
|
|
20
23
|
var Component = (props) => {
|
|
@@ -22,10 +25,13 @@ var Component = (props) => {
|
|
|
22
25
|
const t = getTranslator(locale);
|
|
23
26
|
const { value, type = EMemberPicker.USER, onChange, multiple, dropdownWidth, open, onOpenChange, placeholder = t.MemberPicker.select, className, allowClear, disabled, onClear, size, prefix: propPrefix, lockedIds = [], footer, onCancel, filterItem, mode: propsMode, renderItem, renderSelectedTag, "data-testid": dataTestId, "aria-label": ariaLabel, ...restProps } = props;
|
|
24
27
|
const allowOverlap = props.allowOverlap ?? false;
|
|
25
|
-
const { getUsersByIds, getUsersByKeywords } = AldCustomConfigProvider.useGetUserList();
|
|
28
|
+
const { getUsersByIds, getUsersByKeywords, getUsersByKeywordsWithMeta, getNextLevelGroup, getNextLevelGroupWithMeta } = AldCustomConfigProvider.useGetUserList();
|
|
29
|
+
const inheritedDisabled = useContext(DisabledContext);
|
|
30
|
+
const isDisabled = disabled ?? inheritedDisabled;
|
|
31
|
+
const usesDialog = !!multiple;
|
|
32
|
+
const usesGroupQuery = (type === EMemberPicker.GROUP || !getUsersByKeywords && !getUsersByKeywordsWithMeta) && !!(getNextLevelGroup || getNextLevelGroupWithMeta);
|
|
26
33
|
const [selectedUserList, setSelectedUserList] = useState([]);
|
|
27
34
|
const prevValue = usePrevious(value);
|
|
28
|
-
const [searchUserList, setSearchUserList] = useState([]);
|
|
29
35
|
const [searchString, setSearchString] = useState("");
|
|
30
36
|
const [dropdownContentWidth, setDropdownContentWidth] = useState(dropdownWidth);
|
|
31
37
|
const selectOwnerRef = useRef(null);
|
|
@@ -36,25 +42,20 @@ var Component = (props) => {
|
|
|
36
42
|
}, []);
|
|
37
43
|
const [dropdownOpen, setDropdownOpen] = useState(!!open);
|
|
38
44
|
const queryByKeywords = useMemo(() => {
|
|
45
|
+
if (getUsersByKeywordsWithMeta) return getUsersByKeywordsWithMeta;
|
|
39
46
|
if (getUsersByKeywords) return getUsersByKeywords;
|
|
40
47
|
return (_params = {}) => Promise.reject({ message: t.MemberPicker.pleaseConfigGetUserByKeywordsMethod });
|
|
41
|
-
}, [
|
|
48
|
+
}, [
|
|
49
|
+
getUsersByKeywords,
|
|
50
|
+
getUsersByKeywordsWithMeta,
|
|
51
|
+
t.MemberPicker.pleaseConfigGetUserByKeywordsMethod
|
|
52
|
+
]);
|
|
42
53
|
const queryByIds = useMemo(() => {
|
|
43
54
|
if (getUsersByIds) return getUsersByIds;
|
|
44
|
-
return (
|
|
55
|
+
return (_params_0 = {}) => Promise.reject({ message: t.MemberPicker.pleaseConfigGetUserByIdsMethod });
|
|
45
56
|
}, [getUsersByIds, t.MemberPicker.pleaseConfigGetUserByIdsMethod]);
|
|
46
|
-
const { loading,
|
|
47
|
-
|
|
48
|
-
manual: true,
|
|
49
|
-
cacheKey: "member-selector",
|
|
50
|
-
cacheTime: 1e3 * 60 * 2,
|
|
51
|
-
onSuccess: (result) => {
|
|
52
|
-
setSearchUserList(result);
|
|
53
|
-
},
|
|
54
|
-
onError: (error) => {
|
|
55
|
-
message.error(error.message);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
57
|
+
const { result: searchResult, loading, failed, retry } = useMemberSearch(queryByKeywords, searchString, dropdownOpen && !usesGroupQuery && !usesDialog);
|
|
58
|
+
const searchUserList = searchResult.items;
|
|
58
59
|
const totalUserList = useMemo(() => {
|
|
59
60
|
const totalUsers = searchUserList.concat(selectedUserList.filter((item) => {
|
|
60
61
|
return ((item.type === EUserType.USER ? item.nickname : item.name) || "").toUpperCase().includes(searchString.trim().toUpperCase());
|
|
@@ -62,8 +63,8 @@ var Component = (props) => {
|
|
|
62
63
|
return _.uniqBy(totalUsers, (data) => {
|
|
63
64
|
if (data.type === EUserType.USER) return data.userId;
|
|
64
65
|
return data.groupId;
|
|
65
|
-
}).filter((
|
|
66
|
-
if (filterItem) return filterItem(
|
|
66
|
+
}).filter((item_0) => {
|
|
67
|
+
if (filterItem) return filterItem(item_0);
|
|
67
68
|
return true;
|
|
68
69
|
});
|
|
69
70
|
}, [
|
|
@@ -72,14 +73,6 @@ var Component = (props) => {
|
|
|
72
73
|
searchUserList,
|
|
73
74
|
selectedUserList
|
|
74
75
|
]);
|
|
75
|
-
useEffect(() => {
|
|
76
|
-
if (!dropdownOpen) return;
|
|
77
|
-
run();
|
|
78
|
-
}, [
|
|
79
|
-
dropdownOpen,
|
|
80
|
-
run,
|
|
81
|
-
searchString
|
|
82
|
-
]);
|
|
83
76
|
useEffect(() => {
|
|
84
77
|
if (_.isEqual(value, prevValue)) return;
|
|
85
78
|
if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) setSelectedUserList(value);
|
|
@@ -94,17 +87,17 @@ var Component = (props) => {
|
|
|
94
87
|
if (!Array.isArray(value)) param = [value];
|
|
95
88
|
else param = value;
|
|
96
89
|
queryByIds(param).then((result) => {
|
|
97
|
-
const valueNotInResult = param.filter((
|
|
98
|
-
if (
|
|
99
|
-
return result.filter(isUserGroup).every((
|
|
100
|
-
}).map((
|
|
101
|
-
if (
|
|
90
|
+
const valueNotInResult = param.filter((item_1) => {
|
|
91
|
+
if (item_1.type === EUserType.USER) return result.filter(isUser).every((user) => user.userId !== item_1.userId);
|
|
92
|
+
return result.filter(isUserGroup).every((user_0) => user_0.groupId !== item_1.groupId);
|
|
93
|
+
}).map((item_2) => {
|
|
94
|
+
if (item_2.type === EUserType.USER) return {
|
|
102
95
|
type: EUserType.USER,
|
|
103
|
-
userId:
|
|
96
|
+
userId: item_2.userId
|
|
104
97
|
};
|
|
105
98
|
return {
|
|
106
99
|
type: EUserType.USER_GROUP,
|
|
107
|
-
groupId:
|
|
100
|
+
groupId: item_2.groupId
|
|
108
101
|
};
|
|
109
102
|
});
|
|
110
103
|
setSelectedUserList([...result, ...valueNotInResult]);
|
|
@@ -148,10 +141,16 @@ var Component = (props) => {
|
|
|
148
141
|
};
|
|
149
142
|
}
|
|
150
143
|
}, [triggerRef, dropdownContentWidth]);
|
|
151
|
-
const onDropdownOpenChange = useCallback((
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
144
|
+
const onDropdownOpenChange = useCallback((open_0) => {
|
|
145
|
+
if (isDisabled) return;
|
|
146
|
+
if (!usesDialog || typeof props.open !== "boolean") setDropdownOpen(open_0);
|
|
147
|
+
onOpenChange?.(open_0);
|
|
148
|
+
}, [
|
|
149
|
+
isDisabled,
|
|
150
|
+
usesDialog,
|
|
151
|
+
props.open,
|
|
152
|
+
onOpenChange
|
|
153
|
+
]);
|
|
155
154
|
const mode = useMemo(() => {
|
|
156
155
|
if (multiple === true) {
|
|
157
156
|
if (typeof propsMode === "object") return {
|
|
@@ -181,49 +180,49 @@ var Component = (props) => {
|
|
|
181
180
|
listboxId,
|
|
182
181
|
selectOpen
|
|
183
182
|
]);
|
|
184
|
-
return /* @__PURE__ */
|
|
183
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
185
184
|
ref: selectOwnerRef,
|
|
186
185
|
style: { display: "contents" },
|
|
187
|
-
children: /* @__PURE__ */ jsx(Select_default, {
|
|
186
|
+
children: [/* @__PURE__ */ jsx(Select_default, {
|
|
188
187
|
prefix: propPrefix,
|
|
189
188
|
...restProps,
|
|
190
189
|
"data-testid": dataTestId,
|
|
191
190
|
"aria-label": ariaLabel,
|
|
192
|
-
showSearch:
|
|
191
|
+
showSearch: !usesDialog,
|
|
193
192
|
searchValue: searchString,
|
|
194
193
|
onSearch: onSearchValueChange,
|
|
195
194
|
"aria-controls": listboxId,
|
|
196
195
|
"aria-activedescendant": selectOpen ? activeMemberId : void 0,
|
|
197
196
|
size,
|
|
198
197
|
className: cn("ald-member-picker-select", className),
|
|
199
|
-
value: selectedUserList.map((
|
|
200
|
-
if (
|
|
201
|
-
else return
|
|
198
|
+
value: selectedUserList.map((item_3) => {
|
|
199
|
+
if (item_3.type === EUserType.USER_GROUP) return item_3.groupId;
|
|
200
|
+
else return item_3.userId;
|
|
202
201
|
}),
|
|
203
|
-
onChange: (
|
|
204
|
-
if (_.isEmpty(
|
|
202
|
+
onChange: (value_0) => {
|
|
203
|
+
if (_.isEmpty(value_0)) {
|
|
205
204
|
setSelectedUserList([]);
|
|
206
205
|
if (multiple) onChange?.([]);
|
|
207
206
|
else onChange?.();
|
|
208
207
|
} else {
|
|
209
|
-
const valueList = Array.isArray(
|
|
208
|
+
const valueList = Array.isArray(value_0) ? value_0 : [value_0];
|
|
210
209
|
if (multiple) {
|
|
211
|
-
const
|
|
212
|
-
return totalUserList.find((
|
|
213
|
-
if (
|
|
214
|
-
return
|
|
210
|
+
const users_0 = valueList.map((item_4) => {
|
|
211
|
+
return totalUserList.find((user_1) => {
|
|
212
|
+
if (user_1.type === EUserType.USER) return user_1.userId === item_4;
|
|
213
|
+
return user_1.groupId === item_4;
|
|
215
214
|
});
|
|
216
215
|
}).filter(Boolean);
|
|
217
|
-
setSelectedUserList(
|
|
218
|
-
onChange?.(
|
|
216
|
+
setSelectedUserList(users_0);
|
|
217
|
+
onChange?.(users_0);
|
|
219
218
|
} else {
|
|
220
|
-
const
|
|
221
|
-
if (
|
|
222
|
-
return
|
|
219
|
+
const user_4 = totalUserList.find((user_3) => {
|
|
220
|
+
if (user_3.type === EUserType.USER) return user_3.userId === value_0;
|
|
221
|
+
return user_3.groupId === value_0;
|
|
223
222
|
});
|
|
224
|
-
if (
|
|
225
|
-
setSelectedUserList([
|
|
226
|
-
onChange?.(
|
|
223
|
+
if (user_4) {
|
|
224
|
+
setSelectedUserList([user_4]);
|
|
225
|
+
onChange?.(user_4);
|
|
227
226
|
} else {
|
|
228
227
|
setSelectedUserList([]);
|
|
229
228
|
onChange?.();
|
|
@@ -231,7 +230,7 @@ var Component = (props) => {
|
|
|
231
230
|
}
|
|
232
231
|
}
|
|
233
232
|
},
|
|
234
|
-
disabled,
|
|
233
|
+
disabled: isDisabled,
|
|
235
234
|
allowClear,
|
|
236
235
|
onClear: () => {
|
|
237
236
|
setSelectedUserList([]);
|
|
@@ -241,35 +240,35 @@ var Component = (props) => {
|
|
|
241
240
|
},
|
|
242
241
|
popupClassName: cn("ald-member-picker-popup", allowOverlap && "ald-member-picker-popup-adaptive", props.popupClassName),
|
|
243
242
|
mode,
|
|
244
|
-
options: selectedUserList.map((
|
|
245
|
-
if (
|
|
246
|
-
label:
|
|
247
|
-
value:
|
|
243
|
+
options: selectedUserList.map((item_5) => {
|
|
244
|
+
if (item_5.type === EUserType.USER_GROUP) return {
|
|
245
|
+
label: item_5.name || item_5.groupId,
|
|
246
|
+
value: item_5.groupId,
|
|
248
247
|
tag: /* @__PURE__ */ jsxs("div", {
|
|
249
248
|
className: "ald-member-picker-tag",
|
|
250
249
|
children: [/* @__PURE__ */ jsx(Avatar, {
|
|
251
250
|
type: "team",
|
|
252
251
|
size: 20,
|
|
253
|
-
children:
|
|
254
|
-
}),
|
|
252
|
+
children: item_5.name || item_5.groupId
|
|
253
|
+
}), item_5.name || item_5.groupId]
|
|
255
254
|
})
|
|
256
255
|
};
|
|
257
256
|
return {
|
|
258
|
-
label:
|
|
259
|
-
value:
|
|
257
|
+
label: item_5.nickname || item_5.name || item_5.userId,
|
|
258
|
+
value: item_5.userId,
|
|
260
259
|
tag: /* @__PURE__ */ jsxs("div", {
|
|
261
260
|
className: "ald-member-picker-tag",
|
|
262
261
|
children: [/* @__PURE__ */ jsx(Avatar, {
|
|
263
262
|
size: 20,
|
|
264
|
-
src:
|
|
265
|
-
type:
|
|
266
|
-
children:
|
|
267
|
-
}),
|
|
263
|
+
src: item_5.photo,
|
|
264
|
+
type: item_5.type === EUserType.USER ? "user" : "team",
|
|
265
|
+
children: item_5.nickname || item_5.name || item_5.userId
|
|
266
|
+
}), item_5.nickname || item_5.name || item_5.userId]
|
|
268
267
|
})
|
|
269
268
|
};
|
|
270
269
|
}),
|
|
271
270
|
optionLabelProp: multiple ? "label" : "tag",
|
|
272
|
-
open: selectOpen,
|
|
271
|
+
open: usesDialog ? false : selectOpen,
|
|
273
272
|
onOpenChange: onDropdownOpenChange,
|
|
274
273
|
popupMatchSelectWidth: panelWidth,
|
|
275
274
|
allowOverlap,
|
|
@@ -282,6 +281,15 @@ var Component = (props) => {
|
|
|
282
281
|
"aria-label": "Member selection results",
|
|
283
282
|
className: cn({ "ald-member-picker-popup-body": allowOverlap }),
|
|
284
283
|
children: /* @__PURE__ */ jsx(Panel, {
|
|
284
|
+
active: dropdownOpen,
|
|
285
|
+
searchFailed: failed,
|
|
286
|
+
useProvidedGroupSearch: type === EMemberPicker.BOTH && !usesGroupQuery,
|
|
287
|
+
searchFeedback: !usesGroupQuery && /* @__PURE__ */ jsx(SearchFeedback, {
|
|
288
|
+
failed,
|
|
289
|
+
hasMore: searchResult.hasMore,
|
|
290
|
+
pathWarningCode: searchResult.pathWarningCode,
|
|
291
|
+
retry
|
|
292
|
+
}),
|
|
285
293
|
type,
|
|
286
294
|
footer,
|
|
287
295
|
value: selectedUserList,
|
|
@@ -302,11 +310,27 @@ var Component = (props) => {
|
|
|
302
310
|
})
|
|
303
311
|
});
|
|
304
312
|
}
|
|
305
|
-
})
|
|
313
|
+
}), usesDialog && !isDisabled && /* @__PURE__ */ jsx(MemberPickerDialog, {
|
|
314
|
+
open: selectOpen,
|
|
315
|
+
value: value ?? selectedUserList,
|
|
316
|
+
type,
|
|
317
|
+
lockedIds,
|
|
318
|
+
filterItem,
|
|
319
|
+
renderItem,
|
|
320
|
+
renderSelectedTag,
|
|
321
|
+
onChange: (members) => {
|
|
322
|
+
setSelectedUserList(members);
|
|
323
|
+
if (props.multiple) props.onChange?.(members);
|
|
324
|
+
},
|
|
325
|
+
footer,
|
|
326
|
+
onCancel,
|
|
327
|
+
onClose: () => onDropdownOpenChange(false)
|
|
328
|
+
})]
|
|
306
329
|
});
|
|
307
330
|
};
|
|
308
331
|
var MemberSelector = Component;
|
|
309
332
|
MemberSelector.MemberPanel = PanelWrapper;
|
|
333
|
+
MemberSelector.Dialog = MemberPickerDialog;
|
|
310
334
|
//#endregion
|
|
311
335
|
export { MemberSelector as default };
|
|
312
336
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/MemberPicker/index.tsx"],"sourcesContent":["import { usePrevious, useRequest } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport _ from 'lodash';\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Avatar from '../Avatar';\nimport ConfigProvider from '../ConfigProvider';\nimport './member-picker.css';\nimport {\n EUserType,\n IUser,\n IUserGroup,\n TUser,\n} from '../ConfigProvider/getUserList';\nimport { LocaleContext, getTranslator } from '../locale/default';\nimport message from '../message';\nimport Panel from './components/Panel';\nimport MemberPanel from './components/PanelWrapper';\nimport {\n EMemberPicker,\n IMemberPickerProps,\n TUserGroupValue,\n TUserValue,\n} from './interface';\nimport { getId } from './utils';\nimport { isUser, isUserGroup } from './utils/getUsersWithUserId';\nimport Select from '../Select';\nimport { Mode } from '../Select/BaseSelect';\n\nconst DEFAULT_MULTIPLE_DROPDOWN_WIDTH = 480;\n\nconst Component: React.FC<IMemberPickerProps> = (props) => {\n const { locale } = useContext(LocaleContext);\n const t = getTranslator(locale);\n\n const {\n value,\n type = EMemberPicker.USER,\n onChange,\n multiple,\n dropdownWidth,\n open,\n onOpenChange,\n placeholder = t.MemberPicker.select,\n className,\n allowClear,\n disabled,\n onClear,\n size,\n prefix: propPrefix,\n lockedIds = [],\n footer,\n onCancel,\n filterItem,\n mode: propsMode,\n renderItem,\n renderSelectedTag,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n ...restProps\n } = props;\n const allowOverlap = props.allowOverlap ?? false;\n const { getUsersByIds, getUsersByKeywords } = ConfigProvider.useGetUserList();\n const [selectedUserList, setSelectedUserList] = useState<TUser>([]);\n const prevValue = usePrevious(value);\n const [searchUserList, setSearchUserList] = useState<TUser>([]);\n const [searchString, setSearchString] = useState<string>('');\n const [dropdownContentWidth, setDropdownContentWidth] =\n useState(dropdownWidth);\n const selectOwnerRef = useRef<HTMLDivElement>(null);\n // 单选默认浮窗跟触发器等宽(true),调用方传 dropdownWidth 时用具体数字;\n // 多选默认 480,单条记录只有 头像+nickname 时触发器太窄装不下选中标签,故固定值。\n const panelWidth: number | boolean =\n dropdownWidth ?? (multiple ? DEFAULT_MULTIPLE_DROPDOWN_WIDTH : true);\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const onSearchValueChange = useCallback((v: string) => {\n setSearchString(v);\n }, []);\n const [dropdownOpen, setDropdownOpen] = useState<boolean>(!!open);\n const queryByKeywords = useMemo(() => {\n if (getUsersByKeywords) {\n return getUsersByKeywords;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n });\n }, [getUsersByKeywords, t.MemberPicker.pleaseConfigGetUserByKeywordsMethod]);\n const queryByIds = useMemo(() => {\n if (getUsersByIds) {\n return getUsersByIds;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByIdsMethod,\n });\n }, [getUsersByIds, t.MemberPicker.pleaseConfigGetUserByIdsMethod]);\n const { loading, run } = useRequest(() => queryByKeywords(searchString), {\n refreshDeps: [searchString],\n manual: true,\n cacheKey: 'member-selector',\n cacheTime: 1000 * 60 * 2, // 2分钟内不重复请求\n onSuccess: (result) => {\n setSearchUserList(result);\n },\n onError: (error) => {\n message.error(error.message);\n },\n });\n\n const totalUserList: TUser = useMemo(() => {\n const totalUsers = searchUserList.concat(\n selectedUserList.filter((item) => {\n const name =\n (item.type === EUserType.USER ? item.nickname : item.name) || '';\n\n return name.toUpperCase().includes(searchString.trim().toUpperCase());\n }),\n );\n\n return _.uniqBy(totalUsers, (data: IUser | IUserGroup) => {\n if (data.type === EUserType.USER) return data.userId;\n\n return data.groupId;\n }).filter((item) => {\n if (filterItem) {\n return filterItem(item);\n }\n\n return true;\n });\n }, [filterItem, searchString, searchUserList, selectedUserList]);\n\n useEffect(() => {\n if (!dropdownOpen) return;\n run();\n }, [dropdownOpen, run, searchString]);\n\n useEffect(() => {\n if (_.isEqual(value, prevValue)) {\n return;\n }\n if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {\n setSelectedUserList(value as TUser);\n } else if (isUser(value) || isUserGroup(value)) {\n setSelectedUserList([value]);\n } else {\n let param: Array<TUserValue | TUserGroupValue> = [];\n if (!value) return;\n if (Array.isArray(value) && value.length === 0) {\n setSelectedUserList([]);\n\n return;\n }\n if (!Array.isArray(value)) {\n param = [value];\n } else {\n param = value;\n }\n queryByIds(param).then((result) => {\n // 如果用户已被删除,则需要展示出id\n const valueNotInResult: TUser = param\n .filter((item) => {\n if (item.type === EUserType.USER) {\n return result\n .filter(isUser)\n .every((user) => user.userId !== item.userId);\n }\n\n return result\n .filter(isUserGroup)\n .every((user) => user.groupId !== item.groupId);\n })\n .map((item) => {\n if (item.type === EUserType.USER) {\n return {\n type: EUserType.USER,\n userId: item.userId,\n } as IUser;\n }\n\n return {\n type: EUserType.USER_GROUP,\n groupId: item.groupId,\n } as IUserGroup;\n });\n\n setSelectedUserList([...result, ...valueNotInResult]);\n });\n }\n }, [value, queryByIds, prevValue]);\n\n const onSelectedChange = useCallback(\n (users: TUser) => {\n if (multiple) {\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n setSelectedUserList(users);\n onChange?.(users[0]);\n }\n setDropdownOpen(false);\n },\n [multiple, onChange, setDropdownOpen],\n );\n\n useEffect(() => {\n if (typeof open === 'boolean') {\n setDropdownOpen(open);\n }\n }, [open]);\n\n useEffect(() => {\n if (!dropdownContentWidth) {\n const resizeEle = triggerRef.current;\n if (!resizeEle) return;\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width } = entry.contentRect;\n setDropdownContentWidth(width);\n }\n });\n resizeObserver.observe(resizeEle);\n\n return () => {\n resizeObserver.unobserve(resizeEle);\n };\n }\n }, [triggerRef, dropdownContentWidth]);\n const onDropdownOpenChange = useCallback(\n (open: boolean) => {\n setDropdownOpen(open);\n onOpenChange?.(open);\n },\n [onOpenChange],\n );\n const mode = useMemo(() => {\n if (multiple === true) {\n if (typeof propsMode === 'object')\n return {\n ...(propsMode || {}),\n type: 'multiple',\n responsive: _.isNil(propsMode.responsive)\n ? true\n : propsMode.responsive,\n } as Mode;\n return {\n type: 'multiple',\n responsive: true,\n } as Mode;\n }\n\n return multiple ? (multiple as Mode) : propsMode;\n }, [multiple, propsMode]);\n\n const selectOpen = typeof open === 'boolean' ? open : dropdownOpen;\n const listboxId = `ald-member-picker-listbox-${React.useId().replace(\n /:/g,\n '',\n )}`;\n const activeMember = totalUserList[0];\n const activeMemberId = activeMember\n ? `ald-member-picker-option-${getId(activeMember)}`\n : undefined;\n\n useEffect(() => {\n const owner = selectOwnerRef.current?.querySelector<HTMLElement>(\n '[role=\"combobox\"], input',\n );\n if (!owner) return;\n owner.setAttribute('aria-controls', listboxId);\n if (selectOpen && activeMemberId) {\n owner.setAttribute('aria-activedescendant', activeMemberId);\n } else {\n owner.removeAttribute('aria-activedescendant');\n }\n }, [activeMemberId, listboxId, selectOpen]);\n\n return (\n <div ref={selectOwnerRef} style={{ display: 'contents' }}>\n <Select\n prefix={propPrefix}\n {...restProps}\n data-testid={dataTestId}\n aria-label={ariaLabel}\n showSearch\n searchValue={searchString}\n onSearch={onSearchValueChange}\n aria-controls={listboxId}\n aria-activedescendant={selectOpen ? activeMemberId : undefined}\n size={size}\n className={cn('ald-member-picker-select', className)}\n value={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP) {\n return item.groupId;\n } else {\n return item.userId;\n }\n })}\n onChange={(value) => {\n if (_.isEmpty(value)) {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n } else {\n const valueList = Array.isArray(value) ? value : [value];\n if (multiple) {\n const users = valueList\n .map((item) => {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === item;\n }\n\n return user.groupId === item;\n });\n\n return user;\n })\n .filter(Boolean) as TUser;\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === value;\n }\n\n return user.groupId === value;\n });\n if (user) {\n setSelectedUserList([user]);\n onChange?.(user);\n } else {\n setSelectedUserList([]);\n onChange?.();\n }\n }\n }\n }}\n disabled={disabled}\n allowClear={allowClear}\n onClear={() => {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n onClear?.();\n }}\n popupClassName={cn(\n 'ald-member-picker-popup',\n allowOverlap && 'ald-member-picker-popup-adaptive',\n props.popupClassName,\n )}\n mode={mode}\n options={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP)\n return {\n label: item.name || item.groupId,\n value: item.groupId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar type=\"team\" size={20}>\n {item.name || item.groupId}\n </Avatar>\n {item.name || item.groupId}\n </div>\n ),\n };\n\n return {\n label: item.nickname || item.name || item.userId,\n value: item.userId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar\n size={20}\n src={item.photo}\n type={item.type === EUserType.USER ? 'user' : 'team'}\n >\n {item.nickname || item.name || item.userId}\n </Avatar>\n {item.nickname || item.name || item.userId}\n </div>\n ),\n };\n })}\n optionLabelProp={multiple ? 'label' : 'tag'}\n open={selectOpen}\n onOpenChange={onDropdownOpenChange}\n popupMatchSelectWidth={panelWidth}\n allowOverlap={allowOverlap}\n placeholder={placeholder}\n dropdownRender={() => {\n return (\n <div\n ref={triggerRef}\n id={listboxId}\n role=\"group\"\n aria-label=\"Member selection results\"\n className={cn({\n 'ald-member-picker-popup-body': allowOverlap,\n })}\n >\n <Panel\n type={type}\n footer={footer}\n value={selectedUserList}\n dataList={totalUserList}\n lockedIds={lockedIds}\n multiple={!!multiple}\n loading={loading}\n dropdownWidth={dropdownContentWidth}\n onSearchValueChange={onSearchValueChange}\n onChange={onSelectedChange}\n onCancel={() => {\n onCancel?.();\n setDropdownOpen(false);\n }}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n searchValue={searchString}\n ></Panel>\n </div>\n );\n }}\n ></Select>\n </div>\n );\n};\n\nconst MemberSelector = Component as React.FC<IMemberPickerProps> & {\n MemberPanel: typeof MemberPanel;\n};\n\nMemberSelector.MemberPanel = MemberPanel;\nexport default MemberSelector;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["MemberPickerDialog","DisabledContext","useMemberSearch","SearchFeedback","usePrevious","cn","_","React","useCallback","useContext","useEffect","useMemo","useRef","useState","Avatar","ConfigProvider","EUserType","IUser","IUserGroup","TUser","LocaleContext","getTranslator","Panel","MemberPanel","EMemberPicker","IMemberPickerProps","TUserGroupValue","TUserValue","getId","isUser","isUserGroup","Select","Mode","DEFAULT_MULTIPLE_DROPDOWN_WIDTH","Component","FC","props","locale","t","value","type","USER","onChange","multiple","dropdownWidth","open","onOpenChange","placeholder","MemberPicker","select","className","allowClear","disabled","onClear","size","prefix","propPrefix","lockedIds","footer","onCancel","filterItem","mode","propsMode","renderItem","renderSelectedTag","dataTestId","ariaLabel","restProps","allowOverlap","getUsersByIds","getUsersByKeywords","getUsersByKeywordsWithMeta","getNextLevelGroup","getNextLevelGroupWithMeta","useGetUserList","inheritedDisabled","isDisabled","usesDialog","usesGroupQuery","GROUP","selectedUserList","setSelectedUserList","prevValue","searchString","setSearchString","dropdownContentWidth","setDropdownContentWidth","selectOwnerRef","HTMLDivElement","panelWidth","triggerRef","onSearchValueChange","v","dropdownOpen","setDropdownOpen","queryByKeywords","_params","Promise","reject","message","pleaseConfigGetUserByKeywordsMethod","queryByIds","pleaseConfigGetUserByIdsMethod","result","searchResult","loading","failed","retry","searchUserList","items","totalUserList","totalUsers","concat","filter","item","name","nickname","toUpperCase","includes","trim","uniqBy","data","userId","groupId","isEqual","Array","isArray","param","length","then","valueNotInResult","every","user","map","USER_GROUP","onSelectedChange","users","resizeEle","current","resizeObserver","ResizeObserver","entries","entry","width","contentRect","observe","unobserve","onDropdownOpenChange","responsive","isNil","selectOpen","listboxId","useId","replace","activeMember","activeMemberId","undefined","owner","querySelector","HTMLElement","setAttribute","removeAttribute","display","isEmpty","valueList","find","Boolean","popupClassName","label","tag","photo","BOTH","hasMore","pathWarningCode","members","MemberSelector","Dialog"],"sources":["../../src/MemberPicker/index.tsx"],"sourcesContent":["import MemberPickerDialog from './dialog/MemberPickerDialog';\nimport DisabledContext from '../ConfigProvider/DisabledContext';\nimport useMemberSearch from './useMemberSearch';\nimport SearchFeedback from './components/SearchFeedback';\nimport { usePrevious } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport _ from 'lodash';\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport Avatar from '../Avatar';\nimport ConfigProvider from '../ConfigProvider';\nimport './member-picker.css';\nimport {\n EUserType,\n IUser,\n IUserGroup,\n TUser,\n} from '../ConfigProvider/getUserList';\nimport { LocaleContext, getTranslator } from '../locale/default';\nimport Panel from './components/Panel';\nimport MemberPanel from './components/PanelWrapper';\nimport {\n EMemberPicker,\n IMemberPickerProps,\n TUserGroupValue,\n TUserValue,\n} from './interface';\nimport { getId } from './utils';\nimport { isUser, isUserGroup } from './utils/getUsersWithUserId';\nimport Select from '../Select';\nimport { Mode } from '../Select/BaseSelect';\n\nconst DEFAULT_MULTIPLE_DROPDOWN_WIDTH = 480;\n\nconst Component: React.FC<IMemberPickerProps> = (props) => {\n const { locale } = useContext(LocaleContext);\n const t = getTranslator(locale);\n\n const {\n value,\n type = EMemberPicker.USER,\n onChange,\n multiple,\n dropdownWidth,\n open,\n onOpenChange,\n placeholder = t.MemberPicker.select,\n className,\n allowClear,\n disabled,\n onClear,\n size,\n prefix: propPrefix,\n lockedIds = [],\n footer,\n onCancel,\n filterItem,\n mode: propsMode,\n renderItem,\n renderSelectedTag,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n ...restProps\n } = props;\n const allowOverlap = props.allowOverlap ?? false;\n const {\n getUsersByIds,\n getUsersByKeywords,\n getUsersByKeywordsWithMeta,\n getNextLevelGroup,\n getNextLevelGroupWithMeta,\n } = ConfigProvider.useGetUserList();\n const inheritedDisabled = useContext(DisabledContext);\n const isDisabled = disabled ?? inheritedDisabled;\n // 呈现方式由选择模式唯一决定,多选使用弹窗,单选保持浮窗。\n const usesDialog = !!multiple;\n const usesGroupQuery =\n (type === EMemberPicker.GROUP ||\n (!getUsersByKeywords && !getUsersByKeywordsWithMeta)) &&\n !!(getNextLevelGroup || getNextLevelGroupWithMeta);\n const [selectedUserList, setSelectedUserList] = useState<TUser>([]);\n const prevValue = usePrevious(value);\n const [searchString, setSearchString] = useState<string>('');\n const [dropdownContentWidth, setDropdownContentWidth] =\n useState(dropdownWidth);\n const selectOwnerRef = useRef<HTMLDivElement>(null);\n // 单选默认浮窗跟触发器等宽(true),调用方传 dropdownWidth 时用具体数字;\n // 多选默认 480,单条记录只有 头像+nickname 时触发器太窄装不下选中标签,故固定值。\n const panelWidth: number | boolean =\n dropdownWidth ?? (multiple ? DEFAULT_MULTIPLE_DROPDOWN_WIDTH : true);\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const onSearchValueChange = useCallback((v: string) => {\n setSearchString(v);\n }, []);\n const [dropdownOpen, setDropdownOpen] = useState<boolean>(!!open);\n const queryByKeywords = useMemo(() => {\n if (getUsersByKeywordsWithMeta) return getUsersByKeywordsWithMeta;\n if (getUsersByKeywords) {\n return getUsersByKeywords;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n });\n }, [\n getUsersByKeywords,\n getUsersByKeywordsWithMeta,\n t.MemberPicker.pleaseConfigGetUserByKeywordsMethod,\n ]);\n const queryByIds = useMemo(() => {\n if (getUsersByIds) {\n return getUsersByIds;\n }\n\n return (_params = {}) =>\n Promise.reject({\n message: t.MemberPicker.pleaseConfigGetUserByIdsMethod,\n });\n }, [getUsersByIds, t.MemberPicker.pleaseConfigGetUserByIdsMethod]);\n const {\n result: searchResult,\n loading,\n failed,\n retry,\n } = useMemberSearch<IUser | IUserGroup>(\n queryByKeywords,\n searchString,\n dropdownOpen && !usesGroupQuery && !usesDialog,\n );\n const searchUserList = searchResult.items;\n\n const totalUserList: TUser = useMemo(() => {\n const totalUsers = searchUserList.concat(\n selectedUserList.filter((item) => {\n const name =\n (item.type === EUserType.USER ? item.nickname : item.name) || '';\n\n return name.toUpperCase().includes(searchString.trim().toUpperCase());\n }),\n );\n\n return _.uniqBy(totalUsers, (data: IUser | IUserGroup) => {\n if (data.type === EUserType.USER) return data.userId;\n\n return data.groupId;\n }).filter((item) => {\n if (filterItem) {\n return filterItem(item);\n }\n\n return true;\n });\n }, [filterItem, searchString, searchUserList, selectedUserList]);\n\n useEffect(() => {\n if (_.isEqual(value, prevValue)) {\n return;\n }\n if (Array.isArray(value) && (isUser(value[0]) || isUserGroup(value[0]))) {\n setSelectedUserList(value as TUser);\n } else if (isUser(value) || isUserGroup(value)) {\n setSelectedUserList([value]);\n } else {\n let param: Array<TUserValue | TUserGroupValue> = [];\n if (!value) return;\n if (Array.isArray(value) && value.length === 0) {\n setSelectedUserList([]);\n\n return;\n }\n if (!Array.isArray(value)) {\n param = [value];\n } else {\n param = value;\n }\n queryByIds(param).then((result) => {\n // 如果用户已被删除,则需要展示出id\n const valueNotInResult: TUser = param\n .filter((item) => {\n if (item.type === EUserType.USER) {\n return result\n .filter(isUser)\n .every((user) => user.userId !== item.userId);\n }\n\n return result\n .filter(isUserGroup)\n .every((user) => user.groupId !== item.groupId);\n })\n .map((item) => {\n if (item.type === EUserType.USER) {\n return {\n type: EUserType.USER,\n userId: item.userId,\n } as IUser;\n }\n\n return {\n type: EUserType.USER_GROUP,\n groupId: item.groupId,\n } as IUserGroup;\n });\n\n setSelectedUserList([...result, ...valueNotInResult]);\n });\n }\n }, [value, queryByIds, prevValue]);\n\n const onSelectedChange = useCallback(\n (users: TUser) => {\n if (multiple) {\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n setSelectedUserList(users);\n onChange?.(users[0]);\n }\n setDropdownOpen(false);\n },\n [multiple, onChange, setDropdownOpen],\n );\n\n useEffect(() => {\n if (typeof open === 'boolean') {\n setDropdownOpen(open);\n }\n }, [open]);\n\n useEffect(() => {\n if (!dropdownContentWidth) {\n const resizeEle = triggerRef.current;\n if (!resizeEle) return;\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n const { width } = entry.contentRect;\n setDropdownContentWidth(width);\n }\n });\n resizeObserver.observe(resizeEle);\n\n return () => {\n resizeObserver.unobserve(resizeEle);\n };\n }\n }, [triggerRef, dropdownContentWidth]);\n const onDropdownOpenChange = useCallback(\n (open: boolean) => {\n if (isDisabled) return;\n if (!usesDialog || typeof props.open !== 'boolean') setDropdownOpen(open);\n onOpenChange?.(open);\n },\n [isDisabled, usesDialog, props.open, onOpenChange],\n );\n const mode = useMemo(() => {\n if (multiple === true) {\n if (typeof propsMode === 'object')\n return {\n ...(propsMode || {}),\n type: 'multiple',\n responsive: _.isNil(propsMode.responsive)\n ? true\n : propsMode.responsive,\n } as Mode;\n return {\n type: 'multiple',\n responsive: true,\n } as Mode;\n }\n\n return multiple ? (multiple as Mode) : propsMode;\n }, [multiple, propsMode]);\n\n const selectOpen = typeof open === 'boolean' ? open : dropdownOpen;\n const listboxId = `ald-member-picker-listbox-${React.useId().replace(\n /:/g,\n '',\n )}`;\n const activeMember = totalUserList[0];\n const activeMemberId = activeMember\n ? `ald-member-picker-option-${getId(activeMember)}`\n : undefined;\n\n useEffect(() => {\n const owner = selectOwnerRef.current?.querySelector<HTMLElement>(\n '[role=\"combobox\"], input',\n );\n if (!owner) return;\n owner.setAttribute('aria-controls', listboxId);\n if (selectOpen && activeMemberId) {\n owner.setAttribute('aria-activedescendant', activeMemberId);\n } else {\n owner.removeAttribute('aria-activedescendant');\n }\n }, [activeMemberId, listboxId, selectOpen]);\n\n return (\n <div ref={selectOwnerRef} style={{ display: 'contents' }}>\n <Select\n prefix={propPrefix}\n {...restProps}\n data-testid={dataTestId}\n aria-label={ariaLabel}\n showSearch={!usesDialog}\n searchValue={searchString}\n onSearch={onSearchValueChange}\n aria-controls={listboxId}\n aria-activedescendant={selectOpen ? activeMemberId : undefined}\n size={size}\n className={cn('ald-member-picker-select', className)}\n value={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP) {\n return item.groupId;\n } else {\n return item.userId;\n }\n })}\n onChange={(value) => {\n if (_.isEmpty(value)) {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n } else {\n const valueList = Array.isArray(value) ? value : [value];\n if (multiple) {\n const users = valueList\n .map((item) => {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === item;\n }\n\n return user.groupId === item;\n });\n\n return user;\n })\n .filter(Boolean) as TUser;\n setSelectedUserList(users);\n onChange?.(users);\n } else {\n const user = totalUserList.find((user) => {\n if (user.type === EUserType.USER) {\n return user.userId === value;\n }\n\n return user.groupId === value;\n });\n if (user) {\n setSelectedUserList([user]);\n onChange?.(user);\n } else {\n setSelectedUserList([]);\n onChange?.();\n }\n }\n }\n }}\n disabled={isDisabled}\n allowClear={allowClear}\n onClear={() => {\n setSelectedUserList([]);\n if (multiple) {\n onChange?.([]);\n } else {\n onChange?.();\n }\n onClear?.();\n }}\n popupClassName={cn(\n 'ald-member-picker-popup',\n allowOverlap && 'ald-member-picker-popup-adaptive',\n props.popupClassName,\n )}\n mode={mode}\n options={selectedUserList.map((item) => {\n if (item.type === EUserType.USER_GROUP)\n return {\n label: item.name || item.groupId,\n value: item.groupId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar type=\"team\" size={20}>\n {item.name || item.groupId}\n </Avatar>\n {item.name || item.groupId}\n </div>\n ),\n };\n\n return {\n label: item.nickname || item.name || item.userId,\n value: item.userId,\n tag: (\n <div className={'ald-member-picker-tag'}>\n <Avatar\n size={20}\n src={item.photo}\n type={item.type === EUserType.USER ? 'user' : 'team'}\n >\n {item.nickname || item.name || item.userId}\n </Avatar>\n {item.nickname || item.name || item.userId}\n </div>\n ),\n };\n })}\n optionLabelProp={multiple ? 'label' : 'tag'}\n open={usesDialog ? false : selectOpen}\n onOpenChange={onDropdownOpenChange}\n popupMatchSelectWidth={panelWidth}\n allowOverlap={allowOverlap}\n placeholder={placeholder}\n dropdownRender={() => {\n return (\n <div\n ref={triggerRef}\n id={listboxId}\n role=\"group\"\n aria-label=\"Member selection results\"\n className={cn({\n 'ald-member-picker-popup-body': allowOverlap,\n })}\n >\n <Panel\n active={dropdownOpen}\n searchFailed={failed}\n useProvidedGroupSearch={\n type === EMemberPicker.BOTH && !usesGroupQuery\n }\n searchFeedback={\n !usesGroupQuery && (\n <SearchFeedback\n failed={failed}\n hasMore={searchResult.hasMore}\n pathWarningCode={searchResult.pathWarningCode}\n retry={retry}\n />\n )\n }\n type={type}\n footer={footer}\n value={selectedUserList}\n dataList={totalUserList}\n lockedIds={lockedIds}\n multiple={!!multiple}\n loading={loading}\n dropdownWidth={dropdownContentWidth}\n onSearchValueChange={onSearchValueChange}\n onChange={onSelectedChange}\n onCancel={() => {\n onCancel?.();\n setDropdownOpen(false);\n }}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n searchValue={searchString}\n ></Panel>\n </div>\n );\n }}\n ></Select>\n {usesDialog && !isDisabled && (\n <MemberPickerDialog\n open={selectOpen}\n value={value ?? selectedUserList}\n type={type}\n lockedIds={lockedIds}\n filterItem={filterItem}\n renderItem={renderItem}\n renderSelectedTag={renderSelectedTag}\n onChange={(members) => {\n setSelectedUserList(members);\n if (props.multiple) props.onChange?.(members);\n }}\n footer={footer}\n onCancel={onCancel}\n onClose={() => onDropdownOpenChange(false)}\n />\n )}\n </div>\n );\n};\n\nconst MemberSelector = Component as React.FC<IMemberPickerProps> & {\n MemberPanel: typeof MemberPanel;\n Dialog: typeof MemberPickerDialog;\n};\n\nMemberSelector.MemberPanel = MemberPanel;\nMemberSelector.Dialog = MemberPickerDialog;\nexport default MemberSelector;\n"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';
|
|
3
|
-
import { ISelectProps } from '../Select/interface';
|
|
4
|
-
import { RequiredProperties } from '../_utils/type';
|
|
5
|
-
import { Mode } from '../Select/BaseSelect';
|
|
2
|
+
import { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList.js';
|
|
3
|
+
import { ISelectProps } from '../Select/interface.js';
|
|
4
|
+
import { RequiredProperties } from '../_utils/type.js';
|
|
5
|
+
import { Mode } from '../Select/BaseSelect.js';
|
|
6
6
|
export type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;
|
|
7
7
|
export type TUserGroupValue = RequiredProperties<IUserGroup, 'type' | 'groupId'>;
|
|
8
8
|
export type TMemberPickerValue = TUserValue | TUserGroupValue | Array<TUserValue | TUserGroupValue>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","names":[],"sources":["../../src/MemberPicker/interface.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';\nimport { ISelectProps } from '../Select/interface';\nimport { RequiredProperties } from '../_utils/type';\nimport { Mode } from '../Select/BaseSelect';\n\nexport type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;\nexport type TUserGroupValue = RequiredProperties<\n IUserGroup,\n 'type' | 'groupId'\n>;\n\nexport type TMemberPickerValue =\n | TUserValue\n | TUserGroupValue\n | Array<TUserValue | TUserGroupValue>;\n\nexport enum EMemberPicker {\n GROUP = 'GROUP',\n USER = 'USER',\n BOTH = 'BOTH',\n}\n\nexport interface IBaseMemberSelectorProps extends Omit<ISelectProps, 'type'> {\n value?: TMemberPickerValue;\n dropdownWidth?: number;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n type?: EMemberPicker;\n lockedIds?: Array<TUserValue | TUserGroupValue>;\n footer?: ReactNode;\n onCancel?: () => void;\n filterItem?: (item: IUser | IUserGroup) => boolean;\n renderItem?: (\n item: IUser | IUserGroup,\n context: {\n isSelected: boolean;\n disabled: boolean;\n onClick: () => void;\n onNextLevel?: () => void;\n originNode: ReactNode;\n },\n ) => ReactNode;\n renderSelectedTag?: (\n user: IUser | IUserGroup,\n originNode: ReactNode,\n ) => ReactNode;\n}\n\nexport interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple: true | Mode;\n onChange?(v: TUser): void;\n}\n\nexport interface ISingleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple?: false;\n onChange?(v?: IUser | IUserGroup): void;\n}\n\nexport type IMemberPickerProps =\n | IMultipleMemberSelectorProps\n | ISingleMemberSelectorProps;\n\nexport type { IUser };\n"],"mappings":";AAiBA,
|
|
1
|
+
{"version":3,"file":"interface.js","names":["ReactNode","IUser","IUserGroup","TUser","ISelectProps","RequiredProperties","Mode","TUserValue","TUserGroupValue","TMemberPickerValue","Array","EMemberPicker","GROUP","USER","BOTH","IBaseMemberSelectorProps","Omit","value","dropdownWidth","open","onOpenChange","type","lockedIds","footer","onCancel","filterItem","item","renderItem","context","isSelected","disabled","onClick","onNextLevel","originNode","renderSelectedTag","user","IMultipleMemberSelectorProps","multiple","onChange","v","ISingleMemberSelectorProps","IMemberPickerProps"],"sources":["../../src/MemberPicker/interface.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { IUser, IUserGroup, TUser } from '../ConfigProvider/getUserList';\nimport { ISelectProps } from '../Select/interface';\nimport { RequiredProperties } from '../_utils/type';\nimport { Mode } from '../Select/BaseSelect';\n\nexport type TUserValue = RequiredProperties<IUser, 'type' | 'userId'>;\nexport type TUserGroupValue = RequiredProperties<\n IUserGroup,\n 'type' | 'groupId'\n>;\n\nexport type TMemberPickerValue =\n | TUserValue\n | TUserGroupValue\n | Array<TUserValue | TUserGroupValue>;\n\nexport enum EMemberPicker {\n GROUP = 'GROUP',\n USER = 'USER',\n BOTH = 'BOTH',\n}\n\nexport interface IBaseMemberSelectorProps extends Omit<ISelectProps, 'type'> {\n value?: TMemberPickerValue;\n dropdownWidth?: number;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n type?: EMemberPicker;\n lockedIds?: Array<TUserValue | TUserGroupValue>;\n footer?: ReactNode;\n onCancel?: () => void;\n filterItem?: (item: IUser | IUserGroup) => boolean;\n renderItem?: (\n item: IUser | IUserGroup,\n context: {\n isSelected: boolean;\n disabled: boolean;\n onClick: () => void;\n onNextLevel?: () => void;\n originNode: ReactNode;\n },\n ) => ReactNode;\n renderSelectedTag?: (\n user: IUser | IUserGroup,\n originNode: ReactNode,\n ) => ReactNode;\n}\n\nexport interface IMultipleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple: true | Mode;\n onChange?(v: TUser): void;\n}\n\nexport interface ISingleMemberSelectorProps extends IBaseMemberSelectorProps {\n multiple?: false;\n onChange?(v?: IUser | IUserGroup): void;\n}\n\nexport type IMemberPickerProps =\n | IMultipleMemberSelectorProps\n | ISingleMemberSelectorProps;\n\nexport type { IUser };\n"],"mappings":";AAiBA,IAAYW,gBAAL,yBAAA,eAAA;AACLC,eAAAA,WAAAA;AACAC,eAAAA,UAAAA;AACAC,eAAAA,UAAAA;;KACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUser, TUser } from '../../ConfigProvider/getUserList';
|
|
2
|
-
import { TUserGroupValue, TUserValue } from '../interface';
|
|
1
|
+
import { IUser, TUser } from '../../ConfigProvider/getUserList.js';
|
|
2
|
+
import { TUserGroupValue, TUserValue } from '../interface.js';
|
|
3
3
|
export declare function genUserListByKeywords(keywords: string): TUser;
|
|
4
4
|
export declare function genUserListByIds(ids: string[]): IUser[];
|
|
5
5
|
export declare const getUserByIds: (ids: Array<TUserValue | TUserGroupValue>) => Promise<IUser[]>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MemberSearchResult } from '../ConfigProvider/getUserList.js';
|
|
2
|
+
/** 搜索状态只属于当前组件和当前请求;关闭、换关键字后拒绝旧响应回写。 */
|
|
3
|
+
export default function useMemberSearch<T>(query: (keyword: string) => Promise<T[] | MemberSearchResult<T>>, keyword: string, enabled?: boolean): {
|
|
4
|
+
result: MemberSearchResult<T>;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
failed: boolean;
|
|
7
|
+
retry: () => void;
|
|
8
|
+
};
|