@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
|
@@ -1,73 +1,187 @@
|
|
|
1
1
|
import { getRowKey } from "../helper.js";
|
|
2
|
-
import {
|
|
2
|
+
import { c } from "react-compiler-runtime";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
3
4
|
import _ from "lodash";
|
|
4
5
|
//#region src/Table/hooks/useExpandable.ts
|
|
5
6
|
function useExpandable(props) {
|
|
7
|
+
const $ = c(55);
|
|
6
8
|
const { expandable: propsExpandable, data, rowKey } = props;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
let childrenColumnName;
|
|
10
|
+
let defaultExpandAllRows;
|
|
11
|
+
let defaultExpandedRowKeys;
|
|
12
|
+
let expandedRowKeys;
|
|
13
|
+
let expandedRowRender;
|
|
14
|
+
let propsOnExpand;
|
|
15
|
+
let t0;
|
|
16
|
+
if ($[0] !== propsExpandable || $[1] !== rowKey) {
|
|
17
|
+
const expandable = getExpandableConfig(propsExpandable);
|
|
18
|
+
if (!!propsExpandable && !rowKey) throw new Error("rowKey is necessary when expandable is enabled, but is missing");
|
|
19
|
+
const { expandedRowKeys: t1, onExpand: t2, defaultExpandAllRows: t3, defaultExpandedRowKeys: t4, childrenColumnName: t5, expandedRowRender: t6 } = expandable;
|
|
20
|
+
expandedRowKeys = t1;
|
|
21
|
+
propsOnExpand = t2;
|
|
22
|
+
defaultExpandedRowKeys = t4;
|
|
23
|
+
childrenColumnName = t5;
|
|
24
|
+
expandedRowRender = t6;
|
|
25
|
+
defaultExpandAllRows = t3 === void 0 ? true : t3;
|
|
26
|
+
t0 = getChildrenColumnName(childrenColumnName);
|
|
27
|
+
$[0] = propsExpandable;
|
|
28
|
+
$[1] = rowKey;
|
|
29
|
+
$[2] = childrenColumnName;
|
|
30
|
+
$[3] = defaultExpandAllRows;
|
|
31
|
+
$[4] = defaultExpandedRowKeys;
|
|
32
|
+
$[5] = expandedRowKeys;
|
|
33
|
+
$[6] = expandedRowRender;
|
|
34
|
+
$[7] = propsOnExpand;
|
|
35
|
+
$[8] = t0;
|
|
36
|
+
} else {
|
|
37
|
+
childrenColumnName = $[2];
|
|
38
|
+
defaultExpandAllRows = $[3];
|
|
39
|
+
defaultExpandedRowKeys = $[4];
|
|
40
|
+
expandedRowKeys = $[5];
|
|
41
|
+
expandedRowRender = $[6];
|
|
42
|
+
propsOnExpand = $[7];
|
|
43
|
+
t0 = $[8];
|
|
44
|
+
}
|
|
45
|
+
const columnName = t0;
|
|
46
|
+
let t1;
|
|
47
|
+
if ($[9] !== columnName || $[10] !== data) {
|
|
48
|
+
t1 = flattenChildren(data, columnName);
|
|
49
|
+
$[9] = columnName;
|
|
50
|
+
$[10] = data;
|
|
51
|
+
$[11] = t1;
|
|
52
|
+
} else t1 = $[11];
|
|
53
|
+
const flattenList = t1;
|
|
12
54
|
const isRenderCustomExpandRow = !!expandedRowRender;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
columnName
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
]);
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
])
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
55
|
+
let t2;
|
|
56
|
+
if ($[12] !== columnName || $[13] !== defaultExpandAllRows || $[14] !== flattenList || $[15] !== isRenderCustomExpandRow || $[16] !== rowKey) {
|
|
57
|
+
t2 = getAllExpandRowKeys(flattenList, columnName, isRenderCustomExpandRow, defaultExpandAllRows, rowKey);
|
|
58
|
+
$[12] = columnName;
|
|
59
|
+
$[13] = defaultExpandAllRows;
|
|
60
|
+
$[14] = flattenList;
|
|
61
|
+
$[15] = isRenderCustomExpandRow;
|
|
62
|
+
$[16] = rowKey;
|
|
63
|
+
$[17] = t2;
|
|
64
|
+
} else t2 = $[17];
|
|
65
|
+
const allCategoryRowKeys = t2;
|
|
66
|
+
let t3;
|
|
67
|
+
if ($[18] !== allCategoryRowKeys || $[19] !== defaultExpandedRowKeys || $[20] !== expandedRowKeys) {
|
|
68
|
+
t3 = expandedRowKeys || defaultExpandedRowKeys || allCategoryRowKeys || [];
|
|
69
|
+
$[18] = allCategoryRowKeys;
|
|
70
|
+
$[19] = defaultExpandedRowKeys;
|
|
71
|
+
$[20] = expandedRowKeys;
|
|
72
|
+
$[21] = t3;
|
|
73
|
+
} else t3 = $[21];
|
|
74
|
+
const [expandedKeys, setExpandedKeys] = useState(t3);
|
|
75
|
+
let t4;
|
|
76
|
+
if ($[22] !== childrenColumnName || $[23] !== data || $[24] !== expandedKeys || $[25] !== expandedRowRender || $[26] !== rowKey) {
|
|
77
|
+
let t5;
|
|
78
|
+
if ($[28] !== childrenColumnName || $[29] !== expandedKeys || $[30] !== expandedRowRender || $[31] !== rowKey) {
|
|
79
|
+
t5 = (dataItem) => getListItemsByTree(dataItem, expandedKeys, !!expandedRowRender, rowKey, childrenColumnName);
|
|
80
|
+
$[28] = childrenColumnName;
|
|
81
|
+
$[29] = expandedKeys;
|
|
82
|
+
$[30] = expandedRowRender;
|
|
83
|
+
$[31] = rowKey;
|
|
84
|
+
$[32] = t5;
|
|
85
|
+
} else t5 = $[32];
|
|
86
|
+
const listData = data.map(t5).flat();
|
|
87
|
+
t4 = _.keyBy(listData, _temp);
|
|
88
|
+
$[22] = childrenColumnName;
|
|
89
|
+
$[23] = data;
|
|
90
|
+
$[24] = expandedKeys;
|
|
91
|
+
$[25] = expandedRowRender;
|
|
92
|
+
$[26] = rowKey;
|
|
93
|
+
$[27] = t4;
|
|
94
|
+
} else t4 = $[27];
|
|
95
|
+
const expandItemMap = t4;
|
|
96
|
+
let t5;
|
|
97
|
+
let t6;
|
|
98
|
+
if ($[33] !== expandedRowKeys) {
|
|
99
|
+
t5 = () => {
|
|
100
|
+
if (expandedRowKeys) setExpandedKeys(expandedRowKeys);
|
|
101
|
+
};
|
|
102
|
+
t6 = [expandedRowKeys];
|
|
103
|
+
$[33] = expandedRowKeys;
|
|
104
|
+
$[34] = t5;
|
|
105
|
+
$[35] = t6;
|
|
106
|
+
} else {
|
|
107
|
+
t5 = $[34];
|
|
108
|
+
t6 = $[35];
|
|
109
|
+
}
|
|
110
|
+
useEffect(t5, t6);
|
|
111
|
+
let t7;
|
|
112
|
+
if ($[36] !== expandedRowKeys || $[37] !== propsOnExpand || $[38] !== rowKey) {
|
|
113
|
+
t7 = (dataItem_1, isExpanded) => {
|
|
114
|
+
const key = getRowKey(dataItem_1, rowKey);
|
|
115
|
+
if (!expandedRowKeys) setExpandedKeys((prev) => {
|
|
116
|
+
if (isExpanded) return [...prev, key];
|
|
117
|
+
else return prev.filter((expandedKey) => expandedKey !== key);
|
|
118
|
+
});
|
|
119
|
+
propsOnExpand?.(dataItem_1, isExpanded);
|
|
120
|
+
};
|
|
121
|
+
$[36] = expandedRowKeys;
|
|
122
|
+
$[37] = propsOnExpand;
|
|
123
|
+
$[38] = rowKey;
|
|
124
|
+
$[39] = t7;
|
|
125
|
+
} else t7 = $[39];
|
|
126
|
+
const onExpand = t7;
|
|
127
|
+
let t8;
|
|
128
|
+
if ($[40] !== expandItemMap || $[41] !== flattenList || $[42] !== rowKey) {
|
|
129
|
+
let t9;
|
|
130
|
+
if ($[44] !== expandItemMap || $[45] !== rowKey) {
|
|
131
|
+
t9 = (dataItem_2) => {
|
|
132
|
+
return !!expandItemMap[getRowKey(dataItem_2, rowKey)];
|
|
133
|
+
};
|
|
134
|
+
$[44] = expandItemMap;
|
|
135
|
+
$[45] = rowKey;
|
|
136
|
+
$[46] = t9;
|
|
137
|
+
} else t9 = $[46];
|
|
138
|
+
t8 = flattenList.filter(t9);
|
|
139
|
+
$[40] = expandItemMap;
|
|
140
|
+
$[41] = flattenList;
|
|
141
|
+
$[42] = rowKey;
|
|
142
|
+
$[43] = t8;
|
|
143
|
+
} else t8 = $[43];
|
|
144
|
+
const visibleList = t8;
|
|
145
|
+
if (!propsExpandable) {
|
|
146
|
+
let t9;
|
|
147
|
+
if ($[47] === Symbol.for("react.memo_cache_sentinel")) {
|
|
148
|
+
t9 = {};
|
|
149
|
+
$[47] = t9;
|
|
150
|
+
} else t9 = $[47];
|
|
151
|
+
let t10;
|
|
152
|
+
if ($[48] !== data) {
|
|
153
|
+
t10 = {
|
|
154
|
+
expandItemMap: t9,
|
|
155
|
+
onExpand: _temp2,
|
|
156
|
+
isExpandable: false,
|
|
157
|
+
data,
|
|
158
|
+
flattenData: void 0
|
|
159
|
+
};
|
|
160
|
+
$[48] = data;
|
|
161
|
+
$[49] = t10;
|
|
162
|
+
} else t10 = $[49];
|
|
163
|
+
return t10;
|
|
164
|
+
}
|
|
165
|
+
let t9;
|
|
166
|
+
if ($[50] !== expandItemMap || $[51] !== flattenList || $[52] !== onExpand || $[53] !== visibleList) {
|
|
167
|
+
t9 = {
|
|
168
|
+
expandItemMap,
|
|
169
|
+
onExpand,
|
|
170
|
+
isExpandable: true,
|
|
171
|
+
data: visibleList,
|
|
172
|
+
flattenData: flattenList
|
|
173
|
+
};
|
|
174
|
+
$[50] = expandItemMap;
|
|
175
|
+
$[51] = flattenList;
|
|
176
|
+
$[52] = onExpand;
|
|
177
|
+
$[53] = visibleList;
|
|
178
|
+
$[54] = t9;
|
|
179
|
+
} else t9 = $[54];
|
|
180
|
+
return t9;
|
|
181
|
+
}
|
|
182
|
+
function _temp2() {}
|
|
183
|
+
function _temp(dataItem_0) {
|
|
184
|
+
return dataItem_0.rowKey;
|
|
71
185
|
}
|
|
72
186
|
function getListItemsByTree(currNode, expandedKeys, isRenderCustomExpandRow, getKey, childrenColumnName, level = 0) {
|
|
73
187
|
const subNodes = _.get(currNode, getChildrenColumnName(childrenColumnName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExpandable.js","names":[],"sources":["../../../src/Table/hooks/useExpandable.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { getRowKey } from '../helper';\nimport { ITableProps } from '../types';\n\nexport default function useExpandable<TDataItem extends object>(\n props: IProps<TDataItem>,\n): IExpandableInfo<TDataItem> {\n const { expandable: propsExpandable, data, rowKey } = props;\n\n const expandable = getExpandableConfig(propsExpandable);\n\n if (!!propsExpandable && !rowKey) {\n throw new Error(\n 'rowKey is necessary when expandable is enabled, but is missing',\n );\n }\n\n const {\n expandedRowKeys,\n onExpand: propsOnExpand,\n defaultExpandAllRows = true,\n defaultExpandedRowKeys,\n childrenColumnName,\n expandedRowRender,\n } = expandable;\n\n const columnName = getChildrenColumnName(childrenColumnName);\n const flattenList = useMemo(\n () => flattenChildren(data, columnName),\n [columnName, data],\n );\n\n const isRenderCustomExpandRow = !!expandedRowRender;\n\n const allCategoryRowKeys = useMemo(() => {\n return getAllExpandRowKeys<TDataItem>(\n flattenList,\n columnName,\n isRenderCustomExpandRow,\n defaultExpandAllRows,\n rowKey,\n );\n }, [\n columnName,\n flattenList,\n defaultExpandAllRows,\n rowKey,\n isRenderCustomExpandRow,\n ]);\n\n // 考虑 defaultExpandAllRows 的情况\n const [expandedKeys, setExpandedKeys] = useState(\n expandedRowKeys || defaultExpandedRowKeys || allCategoryRowKeys || [],\n );\n\n // 只有在 Map 中的存在 rowKey 的数据行才可见\n const expandItemMap = useMemo(() => {\n const listData = data\n .map((dataItem) =>\n getListItemsByTree<TDataItem>(\n dataItem,\n expandedKeys,\n !!expandedRowRender,\n rowKey,\n childrenColumnName,\n ),\n )\n .flat();\n return _.keyBy(listData, (dataItem) => dataItem.rowKey);\n }, [childrenColumnName, data, expandedKeys, rowKey, expandedRowRender]);\n\n useEffect(() => {\n if (expandedRowKeys) {\n // 展开收起完全受控的情况\n setExpandedKeys(expandedRowKeys);\n }\n }, [expandedRowKeys]);\n\n const onExpand = useCallback(\n (dataItem: TDataItem, isExpanded: boolean) => {\n const key = getRowKey(dataItem, rowKey);\n if (!expandedRowKeys) {\n setExpandedKeys((prev) => {\n if (isExpanded) {\n // 展开\n return [...prev, key];\n } else {\n // 折叠\n return prev.filter((expandedKey) => expandedKey !== key);\n }\n });\n }\n propsOnExpand?.(dataItem, isExpanded);\n },\n [propsOnExpand, rowKey, expandedRowKeys],\n );\n\n const visibleList = useMemo(() => {\n return flattenList.filter((dataItem) => {\n const key = getRowKey(dataItem, rowKey);\n // 不在 Map 中的行,即表示被折叠了\n return !!expandItemMap[key];\n });\n }, [expandItemMap, flattenList, rowKey]);\n\n if (!propsExpandable) {\n return {\n expandItemMap: {},\n onExpand: () => {},\n isExpandable: false,\n data,\n flattenData: undefined,\n };\n }\n\n return {\n expandItemMap,\n onExpand,\n isExpandable: true,\n data: visibleList,\n flattenData: flattenList,\n };\n}\n\nfunction getListItemsByTree<TDataItem extends object>(\n currNode: TDataItem,\n expandedKeys: string[],\n isRenderCustomExpandRow: boolean, // 是否渲染自定义展开行\n getKey?: ITableProps<TDataItem>['rowKey'],\n childrenColumnName?: string,\n level: number = 0,\n): IExpandItem[] {\n const subNodes = _.get(\n currNode,\n getChildrenColumnName(childrenColumnName),\n ) as TDataItem[] | undefined;\n const isLeaf = !subNodes;\n const rowKey = getRowKey(currNode, getKey);\n const isExpanded = expandedKeys.includes(rowKey);\n\n if (isLeaf) {\n const leafNode: IExpandItem = {\n isLeaf: true,\n level,\n rowKey,\n };\n if (isRenderCustomExpandRow) {\n leafNode.isLeaf = false;\n const customExpandRowKey = getCustomExpandRowKey(rowKey);\n leafNode.customExpandRowKey = customExpandRowKey;\n leafNode.isExpanded = isExpanded;\n return [leafNode];\n }\n return [leafNode];\n }\n // 是目录的情况\n const curr: IExpandItem = {\n isLeaf: false,\n level,\n rowKey,\n };\n if (!isExpanded) {\n curr.isExpanded = false;\n return [curr];\n }\n curr.isExpanded = true;\n // 子目录是展开的情况\n const subItems =\n subNodes?.map((child) => {\n return getListItemsByTree(\n child,\n expandedKeys,\n isRenderCustomExpandRow,\n getKey,\n childrenColumnName,\n level + 1,\n );\n }) || [];\n return [curr, ..._.flatten(subItems)];\n}\n\n/**\n * 为自定义展开行生成唯一的 key\n * @param rowKey\n * @returns\n */\nfunction getCustomExpandRowKey(rowKey: string) {\n return `${rowKey}-expand`;\n}\n\nexport function getExpandableConfig<TDataItem extends object>(\n expandable: ITableProps<TDataItem>['expandable'],\n) {\n if (typeof expandable === 'boolean') {\n return {};\n }\n return expandable || {};\n}\n\nfunction getAllExpandRowKeys<TDataItem extends object>(\n list: TDataItem[],\n childrenColumnName: string,\n isRenderCustomExpandRow: boolean,\n defaultExpandAllRows?: boolean,\n rowKey?: ITableProps<TDataItem>['rowKey'],\n) {\n if (!defaultExpandAllRows) {\n return undefined;\n }\n if (isRenderCustomExpandRow) {\n // 自定义展开行的情况,即使是叶子节点也可以展开\n return list.map((item) => getRowKey(item, rowKey));\n }\n const itemsWithChildrenProp = list.filter(\n (item) => !!_.get(item, childrenColumnName),\n );\n return itemsWithChildrenProp.map((item) => getRowKey(item, rowKey));\n}\n\ninterface TreeNode<T> {\n [key: string]: any;\n children?: T[];\n}\n\nfunction flattenChildren<T extends TreeNode<T>>(\n nodes: T[],\n childKey: string,\n): T[] {\n return _.flatMapDeep(nodes, (node: T): T[] => {\n const children: T[] = node[childKey] as T[];\n if (children && children.length > 0) {\n return [node, ...flattenChildren(children, childKey)];\n }\n return [node];\n });\n}\n\nfunction getChildrenColumnName(childrenColumnName?: string) {\n return childrenColumnName || 'children';\n}\n\nexport interface IExpandableInfo<TDataItem extends object> {\n expandItemMap: IExpandItemMap;\n onExpand: (record: TDataItem, isExpanded: boolean) => void;\n isExpandable: boolean;\n data: TDataItem[];\n flattenData?: TDataItem[];\n}\n\nexport interface IExpandItem {\n isLeaf: boolean; // 是否叶子节点\n isExpanded?: boolean; // 是否展开\n level: number; // 缩进层级\n rowKey: string; // 行的唯一标识\n customExpandRowKey?: string; // 本节点下面自定义展开行的 rowKey\n}\n\ninterface IExpandItemMap {\n [key: string]: IExpandItem;\n}\n\ninterface IProps<TDataItem extends object> {\n expandable: ITableProps<TDataItem>['expandable'];\n data: ITableProps<TDataItem>['data'];\n rowKey: ITableProps<TDataItem>['rowKey'];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useExpandable.js","names":["_","useCallback","useEffect","useMemo","useState","getRowKey","ITableProps","useExpandable","props","$","_c","expandable","propsExpandable","data","rowKey","childrenColumnName","defaultExpandAllRows","defaultExpandedRowKeys","expandedRowKeys","expandedRowRender","propsOnExpand","t0","getExpandableConfig","Error","t1","onExpand","t2","t3","t4","t5","t6","undefined","getChildrenColumnName","columnName","flattenChildren","flattenList","isRenderCustomExpandRow","getAllExpandRowKeys","allCategoryRowKeys","expandedKeys","setExpandedKeys","dataItem","getListItemsByTree","listData","map","flat","keyBy","_temp","expandItemMap","t7","dataItem_1","isExpanded","key","prev","filter","expandedKey","t8","t9","dataItem_2","key_0","visibleList","Symbol","for","t10","_temp2","isExpandable","flattenData","dataItem_0","currNode","TDataItem","getKey","level","IExpandItem","subNodes","get","isLeaf","includes","leafNode","customExpandRowKey","getCustomExpandRowKey","curr","subItems","child","flatten","list","item","itemsWithChildrenProp","TreeNode","children","T","nodes","childKey","flatMapDeep","node","length","IExpandableInfo","IExpandItemMap","record","IProps"],"sources":["../../../src/Table/hooks/useExpandable.ts"],"sourcesContent":["import _ from 'lodash';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { getRowKey } from '../helper';\nimport { ITableProps } from '../types';\n\nexport default function useExpandable<TDataItem extends object>(\n props: IProps<TDataItem>,\n): IExpandableInfo<TDataItem> {\n const { expandable: propsExpandable, data, rowKey } = props;\n\n const expandable = getExpandableConfig(propsExpandable);\n\n if (!!propsExpandable && !rowKey) {\n throw new Error(\n 'rowKey is necessary when expandable is enabled, but is missing',\n );\n }\n\n const {\n expandedRowKeys,\n onExpand: propsOnExpand,\n defaultExpandAllRows = true,\n defaultExpandedRowKeys,\n childrenColumnName,\n expandedRowRender,\n } = expandable;\n\n const columnName = getChildrenColumnName(childrenColumnName);\n const flattenList = useMemo(\n () => flattenChildren(data, columnName),\n [columnName, data],\n );\n\n const isRenderCustomExpandRow = !!expandedRowRender;\n\n const allCategoryRowKeys = useMemo(() => {\n return getAllExpandRowKeys<TDataItem>(\n flattenList,\n columnName,\n isRenderCustomExpandRow,\n defaultExpandAllRows,\n rowKey,\n );\n }, [\n columnName,\n flattenList,\n defaultExpandAllRows,\n rowKey,\n isRenderCustomExpandRow,\n ]);\n\n // 考虑 defaultExpandAllRows 的情况\n const [expandedKeys, setExpandedKeys] = useState(\n expandedRowKeys || defaultExpandedRowKeys || allCategoryRowKeys || [],\n );\n\n // 只有在 Map 中的存在 rowKey 的数据行才可见\n const expandItemMap = useMemo(() => {\n const listData = data\n .map((dataItem) =>\n getListItemsByTree<TDataItem>(\n dataItem,\n expandedKeys,\n !!expandedRowRender,\n rowKey,\n childrenColumnName,\n ),\n )\n .flat();\n return _.keyBy(listData, (dataItem) => dataItem.rowKey);\n }, [childrenColumnName, data, expandedKeys, rowKey, expandedRowRender]);\n\n useEffect(() => {\n if (expandedRowKeys) {\n // 展开收起完全受控的情况\n setExpandedKeys(expandedRowKeys);\n }\n }, [expandedRowKeys]);\n\n const onExpand = useCallback(\n (dataItem: TDataItem, isExpanded: boolean) => {\n const key = getRowKey(dataItem, rowKey);\n if (!expandedRowKeys) {\n setExpandedKeys((prev) => {\n if (isExpanded) {\n // 展开\n return [...prev, key];\n } else {\n // 折叠\n return prev.filter((expandedKey) => expandedKey !== key);\n }\n });\n }\n propsOnExpand?.(dataItem, isExpanded);\n },\n [propsOnExpand, rowKey, expandedRowKeys],\n );\n\n const visibleList = useMemo(() => {\n return flattenList.filter((dataItem) => {\n const key = getRowKey(dataItem, rowKey);\n // 不在 Map 中的行,即表示被折叠了\n return !!expandItemMap[key];\n });\n }, [expandItemMap, flattenList, rowKey]);\n\n if (!propsExpandable) {\n return {\n expandItemMap: {},\n onExpand: () => {},\n isExpandable: false,\n data,\n flattenData: undefined,\n };\n }\n\n return {\n expandItemMap,\n onExpand,\n isExpandable: true,\n data: visibleList,\n flattenData: flattenList,\n };\n}\n\nfunction getListItemsByTree<TDataItem extends object>(\n currNode: TDataItem,\n expandedKeys: string[],\n isRenderCustomExpandRow: boolean, // 是否渲染自定义展开行\n getKey?: ITableProps<TDataItem>['rowKey'],\n childrenColumnName?: string,\n level: number = 0,\n): IExpandItem[] {\n const subNodes = _.get(\n currNode,\n getChildrenColumnName(childrenColumnName),\n ) as TDataItem[] | undefined;\n const isLeaf = !subNodes;\n const rowKey = getRowKey(currNode, getKey);\n const isExpanded = expandedKeys.includes(rowKey);\n\n if (isLeaf) {\n const leafNode: IExpandItem = {\n isLeaf: true,\n level,\n rowKey,\n };\n if (isRenderCustomExpandRow) {\n leafNode.isLeaf = false;\n const customExpandRowKey = getCustomExpandRowKey(rowKey);\n leafNode.customExpandRowKey = customExpandRowKey;\n leafNode.isExpanded = isExpanded;\n return [leafNode];\n }\n return [leafNode];\n }\n // 是目录的情况\n const curr: IExpandItem = {\n isLeaf: false,\n level,\n rowKey,\n };\n if (!isExpanded) {\n curr.isExpanded = false;\n return [curr];\n }\n curr.isExpanded = true;\n // 子目录是展开的情况\n const subItems =\n subNodes?.map((child) => {\n return getListItemsByTree(\n child,\n expandedKeys,\n isRenderCustomExpandRow,\n getKey,\n childrenColumnName,\n level + 1,\n );\n }) || [];\n return [curr, ..._.flatten(subItems)];\n}\n\n/**\n * 为自定义展开行生成唯一的 key\n * @param rowKey\n * @returns\n */\nfunction getCustomExpandRowKey(rowKey: string) {\n return `${rowKey}-expand`;\n}\n\nexport function getExpandableConfig<TDataItem extends object>(\n expandable: ITableProps<TDataItem>['expandable'],\n) {\n if (typeof expandable === 'boolean') {\n return {};\n }\n return expandable || {};\n}\n\nfunction getAllExpandRowKeys<TDataItem extends object>(\n list: TDataItem[],\n childrenColumnName: string,\n isRenderCustomExpandRow: boolean,\n defaultExpandAllRows?: boolean,\n rowKey?: ITableProps<TDataItem>['rowKey'],\n) {\n if (!defaultExpandAllRows) {\n return undefined;\n }\n if (isRenderCustomExpandRow) {\n // 自定义展开行的情况,即使是叶子节点也可以展开\n return list.map((item) => getRowKey(item, rowKey));\n }\n const itemsWithChildrenProp = list.filter(\n (item) => !!_.get(item, childrenColumnName),\n );\n return itemsWithChildrenProp.map((item) => getRowKey(item, rowKey));\n}\n\ninterface TreeNode<T> {\n [key: string]: any;\n children?: T[];\n}\n\nfunction flattenChildren<T extends TreeNode<T>>(\n nodes: T[],\n childKey: string,\n): T[] {\n return _.flatMapDeep(nodes, (node: T): T[] => {\n const children: T[] = node[childKey] as T[];\n if (children && children.length > 0) {\n return [node, ...flattenChildren(children, childKey)];\n }\n return [node];\n });\n}\n\nfunction getChildrenColumnName(childrenColumnName?: string) {\n return childrenColumnName || 'children';\n}\n\nexport interface IExpandableInfo<TDataItem extends object> {\n expandItemMap: IExpandItemMap;\n onExpand: (record: TDataItem, isExpanded: boolean) => void;\n isExpandable: boolean;\n data: TDataItem[];\n flattenData?: TDataItem[];\n}\n\nexport interface IExpandItem {\n isLeaf: boolean; // 是否叶子节点\n isExpanded?: boolean; // 是否展开\n level: number; // 缩进层级\n rowKey: string; // 行的唯一标识\n customExpandRowKey?: string; // 本节点下面自定义展开行的 rowKey\n}\n\ninterface IExpandItemMap {\n [key: string]: IExpandItem;\n}\n\ninterface IProps<TDataItem extends object> {\n expandable: ITableProps<TDataItem>['expandable'];\n data: ITableProps<TDataItem>['data'];\n rowKey: ITableProps<TDataItem>['rowKey'];\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFixed.js","names":[],"sources":["../../../src/Table/hooks/useFixed.ts"],"sourcesContent":["import { ColumnDef } from '@tanstack/react-table';\nimport { cn } from '../../lib/utils';\nimport { useCallback } from 'react';\nimport { prefixCls } from '../helper';\nimport { IInnerTableColumn } from '../types';\n\nexport default function useFixed<TDataItem>({\n columnWidths,\n tableColumns,\n y,\n scrollbarWidth,\n}: {\n columnWidths: number[];\n tableColumns: Array<ColumnDef<TDataItem, unknown>>;\n y?: string | number;\n scrollbarWidth: number;\n}) {\n return useCallback(\n (index: number, isHeader: boolean = false) => {\n const column = tableColumns[index];\n const { fixed } = column.meta as IInnerTableColumn;\n const previousFixed = (\n tableColumns[index - 1]?.meta as IInnerTableColumn | undefined\n )?.fixed;\n const nextFixed = (\n tableColumns[index + 1]?.meta as IInnerTableColumn | undefined\n )?.fixed;\n\n const style: React.CSSProperties = {};\n if (fixed === 'left') {\n style.left = getFixedColumnOffset(columnWidths, index, true);\n } else if (fixed === 'right') {\n style.right =\n getFixedColumnOffset(columnWidths, index, false) +\n (isHeader && y !== undefined ? scrollbarWidth : 0);\n }\n\n return {\n className: cn({\n [prefixCls('fixed-left')]: fixed === 'left',\n [prefixCls('fixed-left-last')]:\n fixed === 'left' && nextFixed !== 'left',\n [prefixCls('fixed-right')]: fixed === 'right',\n [prefixCls('fixed-right-first')]:\n fixed === 'right' && previousFixed !== 'right',\n }),\n style: style,\n fixed,\n };\n },\n [tableColumns, y, scrollbarWidth, columnWidths],\n );\n}\n\n/**\n * 获取固定列相对边缘的偏移量\n * @param columns 所有列\n * @param index 当前列的索引\n */\nfunction getFixedColumnOffset(\n columnWidths: number[],\n index: number,\n isLeft: boolean,\n) {\n let offset = 0;\n let relativeIndex = index;\n const list = [...columnWidths];\n if (!isLeft) {\n list.reverse();\n relativeIndex = list.length - index - 1;\n }\n for (let i = 0; i < relativeIndex; i++) {\n const colWidth = columnWidths[i];\n offset += colWidth;\n }\n return offset;\n}\n"],"mappings":";;;;AAMA,
|
|
1
|
+
{"version":3,"file":"useFixed.js","names":["ColumnDef","cn","useCallback","prefixCls","IInnerTableColumn","useFixed","columnWidths","tableColumns","y","scrollbarWidth","Array","TDataItem","index","isHeader","column","fixed","meta","previousFixed","nextFixed","style","React","CSSProperties","left","getFixedColumnOffset","right","undefined","className","isLeft","offset","relativeIndex","list","reverse","length","i","colWidth"],"sources":["../../../src/Table/hooks/useFixed.ts"],"sourcesContent":["import { ColumnDef } from '@tanstack/react-table';\nimport { cn } from '../../lib/utils';\nimport { useCallback } from 'react';\nimport { prefixCls } from '../helper';\nimport { IInnerTableColumn } from '../types';\n\nexport default function useFixed<TDataItem>({\n columnWidths,\n tableColumns,\n y,\n scrollbarWidth,\n}: {\n columnWidths: number[];\n tableColumns: Array<ColumnDef<TDataItem, unknown>>;\n y?: string | number;\n scrollbarWidth: number;\n}) {\n return useCallback(\n (index: number, isHeader: boolean = false) => {\n const column = tableColumns[index];\n const { fixed } = column.meta as IInnerTableColumn;\n const previousFixed = (\n tableColumns[index - 1]?.meta as IInnerTableColumn | undefined\n )?.fixed;\n const nextFixed = (\n tableColumns[index + 1]?.meta as IInnerTableColumn | undefined\n )?.fixed;\n\n const style: React.CSSProperties = {};\n if (fixed === 'left') {\n style.left = getFixedColumnOffset(columnWidths, index, true);\n } else if (fixed === 'right') {\n style.right =\n getFixedColumnOffset(columnWidths, index, false) +\n (isHeader && y !== undefined ? scrollbarWidth : 0);\n }\n\n return {\n className: cn({\n [prefixCls('fixed-left')]: fixed === 'left',\n [prefixCls('fixed-left-last')]:\n fixed === 'left' && nextFixed !== 'left',\n [prefixCls('fixed-right')]: fixed === 'right',\n [prefixCls('fixed-right-first')]:\n fixed === 'right' && previousFixed !== 'right',\n }),\n style: style,\n fixed,\n };\n },\n [tableColumns, y, scrollbarWidth, columnWidths],\n );\n}\n\n/**\n * 获取固定列相对边缘的偏移量\n * @param columns 所有列\n * @param index 当前列的索引\n */\nfunction getFixedColumnOffset(\n columnWidths: number[],\n index: number,\n isLeft: boolean,\n) {\n let offset = 0;\n let relativeIndex = index;\n const list = [...columnWidths];\n if (!isLeft) {\n list.reverse();\n relativeIndex = list.length - index - 1;\n }\n for (let i = 0; i < relativeIndex; i++) {\n const colWidth = columnWidths[i];\n offset += colWidth;\n }\n return offset;\n}\n"],"mappings":";;;;AAMA,SAAwBK,SAAoB,EAC1CC,cACAC,cACAC,GACAC,kBAMC;AACD,QAAOP,aACJU,OAAeC,WAAoB,UAAU;EAE5C,MAAM,EAAEE,UADOR,aAAaK,OACHI;EACzB,MAAMC,iBACJV,aAAaK,QAAQ,IAAII,OACxBD;EACH,MAAMG,aACJX,aAAaK,QAAQ,IAAII,OACxBD;EAEH,MAAMI,QAA6B,EAAE;AACrC,MAAIJ,UAAU,OACZI,OAAMG,OAAOC,qBAAqBjB,cAAcM,OAAO,KAAK;WACnDG,UAAU,QACnBI,OAAMK,QACJD,qBAAqBjB,cAAcM,OAAO,MAAM,IAC/CC,YAAYL,MAAMiB,SAAYhB,iBAAiB;AAGpD,SAAO;GACLiB,WAAWzB,GAAG;KACXE,UAAU,aAAa,GAAGY,UAAU;KACpCZ,UAAU,kBAAkB,GAC3BY,UAAU,UAAUG,cAAc;KACnCf,UAAU,cAAc,GAAGY,UAAU;KACrCZ,UAAU,oBAAoB,GAC7BY,UAAU,WAAWE,kBAAkB;IAC1C,CAAC;GACKE;GACPJ;GACD;IAEH;EAACR;EAAcC;EAAGC;EAAgBH;EACpC,CAAC;;;;;;;AAQH,SAASiB,qBACPjB,cACAM,OACAe,QACA;CACA,IAAIC,SAAS;CACb,IAAIC,gBAAgBjB;CACpB,MAAMkB,OAAO,CAAC,GAAGxB,aAAa;AAC9B,KAAI,CAACqB,QAAQ;AACXG,OAAKC,SAAS;AACdF,kBAAgBC,KAAKE,SAASpB,QAAQ;;AAExC,MAAK,IAAIqB,IAAI,GAAGA,IAAIJ,eAAeI,KAAK;EACtC,MAAMC,WAAW5B,aAAa2B;AAC9BL,YAAUM;;AAEZ,QAAON"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { ITableProps } from '../types';
|
|
2
|
+
import { ITableProps } from '../types.js';
|
|
3
3
|
export default function useRowDnd<TDataItem extends object>(props: ITableProps<TDataItem>): IRowDndInfo<TDataItem>;
|
|
4
4
|
interface IRowDndInfo<TDataItem extends object> {
|
|
5
5
|
columns: ITableProps<TDataItem>['columns'];
|
|
@@ -30,7 +30,7 @@ var DragHandle = ({ index, id, onDragging, rowRef, onDragStart, onDragComplete }
|
|
|
30
30
|
});
|
|
31
31
|
const [, drop] = useDrop({
|
|
32
32
|
accept: ROW_DND_TYPE,
|
|
33
|
-
hover(item,
|
|
33
|
+
hover(item, monitor_0) {
|
|
34
34
|
const dropRef = rowRef?.current;
|
|
35
35
|
if (!dropRef) return;
|
|
36
36
|
const dragIndex = item.index;
|
|
@@ -38,7 +38,7 @@ var DragHandle = ({ index, id, onDragging, rowRef, onDragStart, onDragComplete }
|
|
|
38
38
|
if (dragIndex === hoverIndex) return;
|
|
39
39
|
const hoverBoundingRect = dropRef.getBoundingClientRect();
|
|
40
40
|
const hoverMiddleY = (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
|
|
41
|
-
const clientOffset =
|
|
41
|
+
const clientOffset = monitor_0.getClientOffset();
|
|
42
42
|
if (!clientOffset) return;
|
|
43
43
|
const hoverClientY = clientOffset.y - hoverBoundingRect.top;
|
|
44
44
|
if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) return;
|
|
@@ -128,14 +128,14 @@ function useRowDnd(props) {
|
|
|
128
128
|
dataIndex: "",
|
|
129
129
|
title: "",
|
|
130
130
|
width: 48,
|
|
131
|
-
render: (text,
|
|
131
|
+
render: (text, record_0, rowIndex) => {
|
|
132
132
|
return /* @__PURE__ */ jsx(DragHandle, {
|
|
133
133
|
index: rowIndex,
|
|
134
|
-
id: getRowKey(
|
|
134
|
+
id: getRowKey(record_0, rowKey),
|
|
135
135
|
onDragging: handleDragging,
|
|
136
136
|
onDragStart: handleDragStart,
|
|
137
137
|
onDragComplete: handleDragComplete,
|
|
138
|
-
rowRef: getRowRef(
|
|
138
|
+
rowRef: getRowRef(record_0)
|
|
139
139
|
});
|
|
140
140
|
},
|
|
141
141
|
fixed: fixed ? "left" : void 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowDnd.js","names":[],"sources":["../../../src/Table/hooks/useRowDnd.tsx"],"sourcesContent":["import DragLightLineSvg from '../../Icon/components/DragLightLine';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { useDrag, useDrop, DragSourceMonitor } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { getRowKey, hasFixedLeftColumn, prefixCls } from '../helper';\nimport { ITableColumn, ITableProps } from '../types';\nimport _ from 'lodash';\n\n// 定义拖拽项类型\nconst ROW_DND_TYPE = 'ALD_TABLE_ROW_DND_TYPE';\n\ninterface DragItem {\n index: number;\n id: string;\n}\n\n// 拖拽手柄组件\nconst DragHandle = ({\n index,\n id,\n onDragging,\n rowRef,\n onDragStart,\n onDragComplete,\n}: {\n index: number;\n id: string;\n onDragging: (dragIndex: number, hoverIndex: number) => void;\n rowRef?: React.RefObject<HTMLDivElement>;\n onDragStart: (id: string) => void;\n onDragComplete: () => void;\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n\n // 使用 ref 来跟踪是否已经通知拖动开始\n const dragStartedRef = useRef(false);\n\n const [{ isDragging }, drag, preview] = useDrag({\n type: ROW_DND_TYPE,\n item: () => {\n // 只在拖拽真正开始且尚未通知时触发一次\n if (!dragStartedRef.current) {\n // 通知开始拖动,传递行的ID\n onDragStart(id);\n dragStartedRef.current = true;\n }\n\n return { index, id };\n },\n collect: (monitor: DragSourceMonitor) => ({\n isDragging: monitor.isDragging(),\n }),\n end: () => {\n // 拖拽结束时清除拖动状态和重置标志\n onDragComplete();\n dragStartedRef.current = false;\n },\n });\n\n const [, drop] = useDrop({\n accept: ROW_DND_TYPE,\n // @ts-ignore - react-dnd类型定义有时与实际用法不一致\n hover(item: DragItem, monitor) {\n // 如果有行引用并且行引用有值,使用行引用来判断位置\n const dropRef = rowRef?.current;\n\n if (!dropRef) {\n return;\n }\n\n const dragIndex = item.index;\n const hoverIndex = index;\n\n // 如果拖动的是自己,不做任何事\n if (dragIndex === hoverIndex) {\n return;\n }\n\n // 确定鼠标位置\n const hoverBoundingRect = dropRef.getBoundingClientRect();\n const hoverMiddleY =\n (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n\n if (!clientOffset) {\n return;\n }\n\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // 向下拖动,但鼠标还没过半\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // 向上拖动,但鼠标还没过半\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n\n // 执行排序\n onDragging(dragIndex, hoverIndex);\n\n // 更新拖拽项的索引,react-dnd 官方示例推荐这样做以提高性能并避免奇怪行为\n item.index = hoverIndex;\n },\n });\n\n // 将 drag 连接到手柄 ref 上\n drag(ref);\n\n // 设置放置目标\n if (rowRef?.current) {\n drop(rowRef.current);\n }\n\n preview(getEmptyImage());\n\n return (\n <div\n ref={ref}\n className={prefixCls('row-dnd-item')}\n style={{ cursor: 'move', opacity: isDragging ? 0.5 : 1 }}\n >\n <DragLightLineSvg />\n </div>\n );\n};\n\nexport default function useRowDnd<TDataItem extends object>(\n props: ITableProps<TDataItem>,\n): IRowDndInfo<TDataItem> {\n const { columns, rowDnd, data, rowKey } = props;\n // 跟踪当前正在拖动的行的ID\n const [draggingRowId, setDraggingRowId] = useState<string | null>(null);\n\n // 为每一行创建一个 ref,使用 useMemo 缓存 Map 实例\n const rowRefs = useMemo(\n () => new Map<string, React.RefObject<HTMLDivElement>>(),\n [],\n );\n\n // 当拖拽过程中,临时存储数据\n const [draggingTempData, setDraggingTempData] = useState<TDataItem[]>([]);\n\n const tableData = useMemo(() => {\n // 拖拽过程中,使用临时数据,这样外部调用方可以不用关心拖拽过程中的数据变化\n if (draggingRowId) {\n return draggingTempData;\n }\n return data;\n }, [data, draggingRowId, draggingTempData]);\n\n // 获取行的 ref,用于设置拖拽预览\n const getRowRef = useCallback(\n (record: TDataItem) => {\n const key = getRowKey(record, rowKey);\n if (!rowRefs.has(key)) {\n rowRefs.set(\n key,\n React.createRef<HTMLDivElement>() as React.MutableRefObject<HTMLDivElement>,\n );\n }\n return rowRefs.get(key) as React.MutableRefObject<HTMLDivElement>;\n },\n [rowKey, rowRefs],\n );\n\n const defaultInfo = useMemo(() => {\n return {\n columns,\n getRowRef: () => undefined,\n draggingRowId: null,\n tableData: data,\n };\n }, [columns, data]);\n\n if (!rowDnd) {\n return defaultInfo;\n }\n if (props.expandable) {\n console.error('rowDnd and expandable mode cannot be used together');\n return defaultInfo;\n }\n if (!props.rowKey) {\n // 如果rowKey没有设置,则无法进行拖拽,因为必须知道每行的唯一标识\n console.error('rowKey is required in rowDnd mode');\n return defaultInfo;\n }\n const { fixed: rowDndFixed, onChange } = rowDnd;\n\n const fixed = rowDndFixed || hasFixedLeftColumn(columns);\n\n const handleDragging = (dragIndex: number, hoverIndex: number) => {\n // 使用函数式更新,确保基于最新的状态进行操作\n setDraggingTempData((currentData) => {\n const newData = [...currentData];\n\n if (dragIndex < 0 || dragIndex >= newData.length) {\n return currentData;\n }\n\n const draggedRow = newData.splice(dragIndex, 1)[0];\n\n if (draggedRow === undefined) {\n return currentData;\n }\n\n // 插入到新位置\n newData.splice(hoverIndex, 0, draggedRow);\n\n return newData;\n });\n };\n\n // 记录拖动开始\n const handleDragStart = (id: string) => {\n setDraggingRowId(id);\n setDraggingTempData(_.cloneDeep(data));\n };\n\n // 记录拖动结束\n const handleDragComplete = () => {\n // 必须在清空 draggingRowId 之前先找到 draggingRow\n // 因为 tableData 依赖 draggingRowId,清空后 tableData 会切换回原始 data\n const draggingRow = tableData.find(\n (item) => getRowKey(item, rowKey) === draggingRowId,\n );\n if (!draggingRow) {\n // 不应该出现这种情况\n console.error('draggingRow is not found');\n setDraggingRowId(null);\n return;\n }\n // 保存当前的 tableData,因为清空 draggingRowId 后 tableData 会变化\n const finalData = tableData;\n setDraggingRowId(null);\n setDraggingTempData([]);\n onChange(finalData, draggingRow);\n };\n\n const dndColumn: ITableColumn<TDataItem> = {\n dataIndex: '',\n title: '',\n width: 48,\n render: (text: unknown, record: TDataItem, rowIndex: number) => {\n const key = getRowKey(record, rowKey);\n const rowRef = getRowRef(record);\n return (\n <DragHandle\n index={rowIndex}\n id={key}\n onDragging={handleDragging}\n onDragStart={handleDragStart}\n onDragComplete={handleDragComplete}\n rowRef={rowRef}\n />\n );\n },\n fixed: fixed ? 'left' : undefined,\n };\n\n return {\n columns: [dndColumn, ...columns],\n getRowRef,\n draggingRowId,\n tableData,\n };\n}\n\ninterface IRowDndInfo<TDataItem extends object> {\n columns: ITableProps<TDataItem>['columns'];\n getRowRef: (\n record: TDataItem,\n rowIndex: number,\n ) => React.MutableRefObject<HTMLDivElement> | undefined;\n draggingRowId: string | null;\n tableData: TDataItem[];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useRowDnd.js","names":["DragLightLineSvg","React","useCallback","useMemo","useRef","useState","useDrag","useDrop","DragSourceMonitor","getEmptyImage","getRowKey","hasFixedLeftColumn","prefixCls","ITableColumn","ITableProps","_","ROW_DND_TYPE","DragItem","index","id","DragHandle","onDragging","rowRef","onDragStart","onDragComplete","dragIndex","hoverIndex","RefObject","HTMLDivElement","ref","dragStartedRef","isDragging","drag","preview","type","item","current","collect","monitor","end","drop","accept","hover","dropRef","hoverBoundingRect","getBoundingClientRect","hoverMiddleY","bottom","top","clientOffset","getClientOffset","hoverClientY","y","cursor","opacity","useRowDnd","props","TDataItem","IRowDndInfo","columns","rowDnd","data","rowKey","draggingRowId","setDraggingRowId","rowRefs","Map","draggingTempData","setDraggingTempData","tableData","getRowRef","record","key","has","set","createRef","MutableRefObject","get","defaultInfo","undefined","expandable","console","error","fixed","rowDndFixed","onChange","handleDragging","currentData","newData","length","draggedRow","splice","handleDragStart","cloneDeep","handleDragComplete","draggingRow","find","finalData","dndColumn","dataIndex","title","width","render","text","rowIndex"],"sources":["../../../src/Table/hooks/useRowDnd.tsx"],"sourcesContent":["import DragLightLineSvg from '../../Icon/components/DragLightLine';\nimport React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { useDrag, useDrop, DragSourceMonitor } from 'react-dnd';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { getRowKey, hasFixedLeftColumn, prefixCls } from '../helper';\nimport { ITableColumn, ITableProps } from '../types';\nimport _ from 'lodash';\n\n// 定义拖拽项类型\nconst ROW_DND_TYPE = 'ALD_TABLE_ROW_DND_TYPE';\n\ninterface DragItem {\n index: number;\n id: string;\n}\n\n// 拖拽手柄组件\nconst DragHandle = ({\n index,\n id,\n onDragging,\n rowRef,\n onDragStart,\n onDragComplete,\n}: {\n index: number;\n id: string;\n onDragging: (dragIndex: number, hoverIndex: number) => void;\n rowRef?: React.RefObject<HTMLDivElement>;\n onDragStart: (id: string) => void;\n onDragComplete: () => void;\n}) => {\n const ref = useRef<HTMLDivElement>(null);\n\n // 使用 ref 来跟踪是否已经通知拖动开始\n const dragStartedRef = useRef(false);\n\n const [{ isDragging }, drag, preview] = useDrag({\n type: ROW_DND_TYPE,\n item: () => {\n // 只在拖拽真正开始且尚未通知时触发一次\n if (!dragStartedRef.current) {\n // 通知开始拖动,传递行的ID\n onDragStart(id);\n dragStartedRef.current = true;\n }\n\n return { index, id };\n },\n collect: (monitor: DragSourceMonitor) => ({\n isDragging: monitor.isDragging(),\n }),\n end: () => {\n // 拖拽结束时清除拖动状态和重置标志\n onDragComplete();\n dragStartedRef.current = false;\n },\n });\n\n const [, drop] = useDrop({\n accept: ROW_DND_TYPE,\n // @ts-ignore - react-dnd类型定义有时与实际用法不一致\n hover(item: DragItem, monitor) {\n // 如果有行引用并且行引用有值,使用行引用来判断位置\n const dropRef = rowRef?.current;\n\n if (!dropRef) {\n return;\n }\n\n const dragIndex = item.index;\n const hoverIndex = index;\n\n // 如果拖动的是自己,不做任何事\n if (dragIndex === hoverIndex) {\n return;\n }\n\n // 确定鼠标位置\n const hoverBoundingRect = dropRef.getBoundingClientRect();\n const hoverMiddleY =\n (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;\n const clientOffset = monitor.getClientOffset();\n\n if (!clientOffset) {\n return;\n }\n\n const hoverClientY = clientOffset.y - hoverBoundingRect.top;\n\n // 向下拖动,但鼠标还没过半\n if (dragIndex < hoverIndex && hoverClientY < hoverMiddleY) {\n return;\n }\n\n // 向上拖动,但鼠标还没过半\n if (dragIndex > hoverIndex && hoverClientY > hoverMiddleY) {\n return;\n }\n\n // 执行排序\n onDragging(dragIndex, hoverIndex);\n\n // 更新拖拽项的索引,react-dnd 官方示例推荐这样做以提高性能并避免奇怪行为\n item.index = hoverIndex;\n },\n });\n\n // 将 drag 连接到手柄 ref 上\n drag(ref);\n\n // 设置放置目标\n if (rowRef?.current) {\n drop(rowRef.current);\n }\n\n preview(getEmptyImage());\n\n return (\n <div\n ref={ref}\n className={prefixCls('row-dnd-item')}\n style={{ cursor: 'move', opacity: isDragging ? 0.5 : 1 }}\n >\n <DragLightLineSvg />\n </div>\n );\n};\n\nexport default function useRowDnd<TDataItem extends object>(\n props: ITableProps<TDataItem>,\n): IRowDndInfo<TDataItem> {\n const { columns, rowDnd, data, rowKey } = props;\n // 跟踪当前正在拖动的行的ID\n const [draggingRowId, setDraggingRowId] = useState<string | null>(null);\n\n // 为每一行创建一个 ref,使用 useMemo 缓存 Map 实例\n const rowRefs = useMemo(\n () => new Map<string, React.RefObject<HTMLDivElement>>(),\n [],\n );\n\n // 当拖拽过程中,临时存储数据\n const [draggingTempData, setDraggingTempData] = useState<TDataItem[]>([]);\n\n const tableData = useMemo(() => {\n // 拖拽过程中,使用临时数据,这样外部调用方可以不用关心拖拽过程中的数据变化\n if (draggingRowId) {\n return draggingTempData;\n }\n return data;\n }, [data, draggingRowId, draggingTempData]);\n\n // 获取行的 ref,用于设置拖拽预览\n const getRowRef = useCallback(\n (record: TDataItem) => {\n const key = getRowKey(record, rowKey);\n if (!rowRefs.has(key)) {\n rowRefs.set(\n key,\n React.createRef<HTMLDivElement>() as React.MutableRefObject<HTMLDivElement>,\n );\n }\n return rowRefs.get(key) as React.MutableRefObject<HTMLDivElement>;\n },\n [rowKey, rowRefs],\n );\n\n const defaultInfo = useMemo(() => {\n return {\n columns,\n getRowRef: () => undefined,\n draggingRowId: null,\n tableData: data,\n };\n }, [columns, data]);\n\n if (!rowDnd) {\n return defaultInfo;\n }\n if (props.expandable) {\n console.error('rowDnd and expandable mode cannot be used together');\n return defaultInfo;\n }\n if (!props.rowKey) {\n // 如果rowKey没有设置,则无法进行拖拽,因为必须知道每行的唯一标识\n console.error('rowKey is required in rowDnd mode');\n return defaultInfo;\n }\n const { fixed: rowDndFixed, onChange } = rowDnd;\n\n const fixed = rowDndFixed || hasFixedLeftColumn(columns);\n\n const handleDragging = (dragIndex: number, hoverIndex: number) => {\n // 使用函数式更新,确保基于最新的状态进行操作\n setDraggingTempData((currentData) => {\n const newData = [...currentData];\n\n if (dragIndex < 0 || dragIndex >= newData.length) {\n return currentData;\n }\n\n const draggedRow = newData.splice(dragIndex, 1)[0];\n\n if (draggedRow === undefined) {\n return currentData;\n }\n\n // 插入到新位置\n newData.splice(hoverIndex, 0, draggedRow);\n\n return newData;\n });\n };\n\n // 记录拖动开始\n const handleDragStart = (id: string) => {\n setDraggingRowId(id);\n setDraggingTempData(_.cloneDeep(data));\n };\n\n // 记录拖动结束\n const handleDragComplete = () => {\n // 必须在清空 draggingRowId 之前先找到 draggingRow\n // 因为 tableData 依赖 draggingRowId,清空后 tableData 会切换回原始 data\n const draggingRow = tableData.find(\n (item) => getRowKey(item, rowKey) === draggingRowId,\n );\n if (!draggingRow) {\n // 不应该出现这种情况\n console.error('draggingRow is not found');\n setDraggingRowId(null);\n return;\n }\n // 保存当前的 tableData,因为清空 draggingRowId 后 tableData 会变化\n const finalData = tableData;\n setDraggingRowId(null);\n setDraggingTempData([]);\n onChange(finalData, draggingRow);\n };\n\n const dndColumn: ITableColumn<TDataItem> = {\n dataIndex: '',\n title: '',\n width: 48,\n render: (text: unknown, record: TDataItem, rowIndex: number) => {\n const key = getRowKey(record, rowKey);\n const rowRef = getRowRef(record);\n return (\n <DragHandle\n index={rowIndex}\n id={key}\n onDragging={handleDragging}\n onDragStart={handleDragStart}\n onDragComplete={handleDragComplete}\n rowRef={rowRef}\n />\n );\n },\n fixed: fixed ? 'left' : undefined,\n };\n\n return {\n columns: [dndColumn, ...columns],\n getRowRef,\n draggingRowId,\n tableData,\n };\n}\n\ninterface IRowDndInfo<TDataItem extends object> {\n columns: ITableProps<TDataItem>['columns'];\n getRowRef: (\n record: TDataItem,\n rowIndex: number,\n ) => React.MutableRefObject<HTMLDivElement> | undefined;\n draggingRowId: string | null;\n tableData: TDataItem[];\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { ITableProps } from '../types';
|
|
2
|
+
import { ITableProps } from '../types.js';
|
|
3
3
|
export default function useRowSelection<TDataItem extends object>(props: ITableProps<TDataItem> & {
|
|
4
4
|
isExpandable?: boolean;
|
|
5
5
|
flattenData?: TDataItem[];
|