@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
package/dist/Dropdown/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cn } from "../lib/utils.js";
|
|
2
2
|
import { useFloatingPopupZIndex } from "../_utils/floatingLayer.js";
|
|
3
3
|
/* empty css */
|
|
4
|
-
import Menu from "../Menu/index.js";
|
|
4
|
+
import Menu, { isLeafMenu } from "../Menu/index.js";
|
|
5
5
|
import { ensureWeakRefFallback } from "../_utils/weakRefFallback.js";
|
|
6
6
|
import { cloneElement, useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
7
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -40,7 +40,7 @@ function hasTrigger(trigger, action) {
|
|
|
40
40
|
return Array.isArray(trigger) ? trigger.includes(action) : trigger === action;
|
|
41
41
|
}
|
|
42
42
|
function Dropdown(props) {
|
|
43
|
-
const { children, destroyPopupOnHide = true, getPopupContainer, menu, overlayClassName, placement = "bottom-start", trigger = "click", open, onOpenChange = () => {}, closeOnFocusOut = true, overlayStyle, overlayInnerStyle, dropdownRender, disabled, offset: offsetProps = 4, delay = 0, autoUpdatePos = false, initialFocus = -1, popupMatchTriggerWidth = false, allowOverlap =
|
|
43
|
+
const { children, destroyPopupOnHide = true, getPopupContainer, menu, overlayClassName, placement = "bottom-start", trigger = "click", open, onOpenChange = () => {}, closeOnFocusOut = true, overlayStyle, overlayInnerStyle, dropdownRender, disabled, offset: offsetProps = 4, delay = 0, autoUpdatePos = false, initialFocus = -1, popupMatchTriggerWidth = false, allowOverlap = true, autoAdjustHeight = true } = props;
|
|
44
44
|
const [isOpen, setIsOpen] = useState(open || false);
|
|
45
45
|
const lastResolvedFloatingStylesRef = useRef(null);
|
|
46
46
|
const lastResolvedSideRef = useRef(resolvePlacementSide(placement));
|
|
@@ -65,6 +65,8 @@ function Dropdown(props) {
|
|
|
65
65
|
if (!isOpenControlled) setIsOpen(newOpen);
|
|
66
66
|
onOpenChangeFn(newOpen);
|
|
67
67
|
}, [isOpenControlled, onOpenChangeFn]);
|
|
68
|
+
const hasSubmenu = !isLeafMenu(menu?.items || []);
|
|
69
|
+
const surfaceScrolls = autoAdjustHeight && !hasSubmenu;
|
|
68
70
|
const nodeId = useFloatingNodeId();
|
|
69
71
|
const { refs, floatingStyles, context, placement: floatingPlacement, x, y } = useFloating({
|
|
70
72
|
nodeId,
|
|
@@ -72,23 +74,30 @@ function Dropdown(props) {
|
|
|
72
74
|
open: isOpen,
|
|
73
75
|
onOpenChange: onChangeOpen,
|
|
74
76
|
middleware: [
|
|
75
|
-
offset(
|
|
76
|
-
flip({
|
|
77
|
-
padding: 8,
|
|
78
|
-
...allowOverlap && { fallbackStrategy: "bestFit" }
|
|
79
|
-
}),
|
|
77
|
+
offset(offsetProps),
|
|
78
|
+
flip({ padding: 8 }),
|
|
80
79
|
shift({
|
|
81
80
|
padding: 8,
|
|
82
|
-
...allowOverlap && {
|
|
81
|
+
...allowOverlap && { crossAxis: true }
|
|
83
82
|
}),
|
|
84
83
|
size({
|
|
85
|
-
|
|
86
|
-
...allowOverlap && { padding: 8 },
|
|
84
|
+
padding: 8,
|
|
87
85
|
apply({ availableHeight, elements }) {
|
|
88
|
-
if (!
|
|
89
|
-
|
|
86
|
+
if (!autoAdjustHeight) {
|
|
87
|
+
elements.floating.style.removeProperty("--ald-dropdown-max-height");
|
|
88
|
+
elements.floating.style.removeProperty("--ald-dropdown-menu-max-height");
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const maxHeight = Math.max(0, availableHeight);
|
|
92
|
+
elements.floating.style.setProperty("--ald-dropdown-max-height", `${maxHeight}px`);
|
|
93
|
+
if (hasSubmenu) {
|
|
94
|
+
const surface = elements.floating.firstElementChild;
|
|
95
|
+
const menuElement = surface?.querySelector(".ald-menu > .szh-menu");
|
|
96
|
+
const extraHeight = surface && menuElement ? Math.max(0, surface.offsetHeight - menuElement.offsetHeight) : 0;
|
|
97
|
+
elements.floating.style.setProperty("--ald-dropdown-menu-max-height", `${Math.max(0, maxHeight - extraHeight)}px`);
|
|
98
|
+
}
|
|
90
99
|
}
|
|
91
|
-
})
|
|
100
|
+
}, [autoAdjustHeight, hasSubmenu])
|
|
92
101
|
],
|
|
93
102
|
whileElementsMounted: autoUpdatePos ? autoUpdate : void 0
|
|
94
103
|
});
|
|
@@ -175,9 +184,9 @@ function Dropdown(props) {
|
|
|
175
184
|
const referenceProps = getReferenceProps();
|
|
176
185
|
const updateMatchedWidthFromElement = useCallback((element) => {
|
|
177
186
|
if (!popupMatchTriggerWidth) return;
|
|
178
|
-
setMatchedTriggerWidth((
|
|
179
|
-
const
|
|
180
|
-
return
|
|
187
|
+
setMatchedTriggerWidth((currentWidth_0) => {
|
|
188
|
+
const nextWidth_0 = popupMatchTriggerWidthNumber !== void 0 ? popupMatchTriggerWidthNumber : element.getBoundingClientRect().width;
|
|
189
|
+
return currentWidth_0 === nextWidth_0 ? currentWidth_0 : nextWidth_0;
|
|
181
190
|
});
|
|
182
191
|
}, [popupMatchTriggerWidth, popupMatchTriggerWidthNumber]);
|
|
183
192
|
const openMenuFromKeyboard = useCallback((event, position) => {
|
|
@@ -199,37 +208,37 @@ function Dropdown(props) {
|
|
|
199
208
|
...referenceProps,
|
|
200
209
|
"aria-haspopup": menu ? "menu" : void 0,
|
|
201
210
|
"aria-expanded": menu ? isOpen : void 0,
|
|
202
|
-
onClick: (
|
|
203
|
-
refs.setPositionReference(
|
|
204
|
-
updateMatchedWidthFromElement(
|
|
211
|
+
onClick: (event_0) => {
|
|
212
|
+
refs.setPositionReference(event_0.currentTarget);
|
|
213
|
+
updateMatchedWidthFromElement(event_0.currentTarget);
|
|
205
214
|
setMenuInitialFocus("first");
|
|
206
|
-
childProps.onClick?.(
|
|
215
|
+
childProps.onClick?.(event_0);
|
|
207
216
|
const { onClick: referenceOnClick } = referenceProps;
|
|
208
|
-
if (typeof referenceOnClick === "function") referenceOnClick(
|
|
217
|
+
if (typeof referenceOnClick === "function") referenceOnClick(event_0);
|
|
209
218
|
},
|
|
210
|
-
onKeyDown: (
|
|
211
|
-
childProps.onKeyDown?.(
|
|
212
|
-
if (
|
|
213
|
-
if (
|
|
214
|
-
openMenuFromKeyboard(
|
|
219
|
+
onKeyDown: (event_1) => {
|
|
220
|
+
childProps.onKeyDown?.(event_1);
|
|
221
|
+
if (event_1.defaultPrevented) return;
|
|
222
|
+
if (event_1.key === "ArrowDown") {
|
|
223
|
+
openMenuFromKeyboard(event_1, "first");
|
|
215
224
|
return;
|
|
216
225
|
}
|
|
217
|
-
if (
|
|
218
|
-
openMenuFromKeyboard(
|
|
226
|
+
if (event_1.key === "ArrowUp") {
|
|
227
|
+
openMenuFromKeyboard(event_1, "last");
|
|
219
228
|
return;
|
|
220
229
|
}
|
|
221
|
-
if (
|
|
222
|
-
openMenuFromKeyboard(
|
|
230
|
+
if (event_1.key === "Enter" || event_1.key === " ") {
|
|
231
|
+
openMenuFromKeyboard(event_1, "first");
|
|
223
232
|
return;
|
|
224
233
|
}
|
|
225
234
|
const { onKeyDown: referenceOnKeyDown } = referenceProps;
|
|
226
|
-
if (typeof referenceOnKeyDown === "function") referenceOnKeyDown(
|
|
235
|
+
if (typeof referenceOnKeyDown === "function") referenceOnKeyDown(event_1);
|
|
227
236
|
},
|
|
228
|
-
onContextMenu: (
|
|
229
|
-
childProps.onContextMenu?.(
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
-
refs.setPositionReference({ getBoundingClientRect: () => new DOMRect(
|
|
237
|
+
onContextMenu: (event_2) => {
|
|
238
|
+
childProps.onContextMenu?.(event_2);
|
|
239
|
+
if (event_2.defaultPrevented || disabled || !hasTrigger(trigger, "contextMenu")) return;
|
|
240
|
+
event_2.preventDefault();
|
|
241
|
+
refs.setPositionReference({ getBoundingClientRect: () => new DOMRect(event_2.clientX, event_2.clientY, 0, 0) });
|
|
233
242
|
setMenuInitialFocus("first");
|
|
234
243
|
onChangeOpen(true);
|
|
235
244
|
}
|
|
@@ -257,6 +266,7 @@ function Dropdown(props) {
|
|
|
257
266
|
minWidth: 0,
|
|
258
267
|
maxWidth: "none"
|
|
259
268
|
} : void 0,
|
|
269
|
+
...autoAdjustHeight && hasSubmenu ? { maxHeight: "var(--ald-dropdown-menu-max-height)" } : void 0,
|
|
260
270
|
...menu?.menuStyle
|
|
261
271
|
},
|
|
262
272
|
onBeforeLeafItemClick: isOpenControlled ? void 0 : markRootClosing,
|
|
@@ -264,10 +274,13 @@ function Dropdown(props) {
|
|
|
264
274
|
initialFocus: menuInitialFocus,
|
|
265
275
|
onRequestClose: onMenuRequestClose,
|
|
266
276
|
onClick: onMenuItemClick,
|
|
267
|
-
externalOverflow:
|
|
277
|
+
externalOverflow: surfaceScrolls,
|
|
278
|
+
preserveRootHeight: autoAdjustHeight && hasSubmenu && menu?.menuStyle?.maxHeight === void 0
|
|
268
279
|
});
|
|
269
280
|
}, [
|
|
270
|
-
|
|
281
|
+
autoAdjustHeight,
|
|
282
|
+
hasSubmenu,
|
|
283
|
+
surfaceScrolls,
|
|
271
284
|
isAnimatingOut,
|
|
272
285
|
isOpenControlled,
|
|
273
286
|
markRootClosing,
|
|
@@ -321,7 +334,7 @@ function Dropdown(props) {
|
|
|
321
334
|
},
|
|
322
335
|
"aria-labelledby": headingId,
|
|
323
336
|
children: /* @__PURE__ */ jsx("div", {
|
|
324
|
-
className: cn("ald-dropdown-surface",
|
|
337
|
+
className: cn("ald-dropdown-surface", surfaceScrolls && "ald-dropdown-surface-overlap", "tw-flex tw-flex-col tw-items-start tw-text-sm"),
|
|
325
338
|
style: {
|
|
326
339
|
...matchedSurfaceStyle,
|
|
327
340
|
...overlayInnerStyle,
|
|
@@ -356,7 +369,7 @@ function Dropdown(props) {
|
|
|
356
369
|
closeOnFocusOut,
|
|
357
370
|
resolvedFloatingSide,
|
|
358
371
|
resolvedFloatingStyles,
|
|
359
|
-
|
|
372
|
+
surfaceScrolls
|
|
360
373
|
]);
|
|
361
374
|
const popup = shouldKeepMounted ? renderFloatingContent() : null;
|
|
362
375
|
const { setReference } = refs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/Dropdown/index.tsx"],"sourcesContent":["import './dropdown.css';\nimport {\n FloatingFocusManager,\n FloatingFocusManagerProps,\n FloatingNode,\n FloatingTree,\n OffsetOptions,\n UseHoverProps,\n autoUpdate,\n flip,\n offset,\n safePolygon,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useHover,\n useId,\n useInteractions,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport type { Placement } from '@floating-ui/react';\nimport { useMemoizedFn } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport React, {\n cloneElement,\n useCallback,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport Menu, { MenuInfo, MenuProps } from '../Menu';\nimport { useFloatingPopupZIndex } from '../_utils/floatingLayer';\nimport { ensureWeakRefFallback } from '../_utils/weakRefFallback';\n\nconst OVERLAY_TRANSITION_MS = 200;\n\nensureWeakRefFallback();\n\nfunction resolvePlacementSide(\n currentPlacement: string,\n): 'top' | 'bottom' | 'left' | 'right' {\n const [side] = currentPlacement.split('-');\n if (\n side === 'top' ||\n side === 'bottom' ||\n side === 'left' ||\n side === 'right'\n ) {\n return side;\n }\n if (currentPlacement.startsWith('top')) {\n return 'top';\n }\n if (currentPlacement.startsWith('bottom')) {\n return 'bottom';\n }\n if (currentPlacement.startsWith('left')) {\n return 'left';\n }\n if (currentPlacement.startsWith('right')) {\n return 'right';\n }\n return 'bottom';\n}\n\nfunction parsePopupMatchWidth(value: unknown): number | undefined {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string' && value.trim() !== '') {\n const parsedValue = Number(value);\n return Number.isNaN(parsedValue) ? undefined : parsedValue;\n }\n\n return undefined;\n}\n\nexport type ActionType = 'hover' | 'click' | 'contextMenu';\nexport type PlacementType =\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'left-start'\n | 'left-end'\n | 'right-start'\n | 'right-end'\n // Legacy antd-style placement names\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight';\n\nconst legacyPlacementMap = {\n topLeft: 'top-start',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomRight: 'bottom-end',\n} as const;\n\nfunction normalizePlacement(placement: PlacementType): Placement {\n return (legacyPlacementMap[placement as keyof typeof legacyPlacementMap] ??\n placement) as Placement;\n}\n\nexport interface IDropdownProps {\n children: React.ReactNode;\n /**\n * @description 菜单弹出位置的偏移量\n */\n offset?: OffsetOptions;\n /**\n * @description 关闭后是否销毁 Dropdown\n * @default false\n */\n destroyPopupOnHide?: boolean;\n /**\n * @description 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位\n * @default () => document.body\n */\n getPopupContainer?: () => HTMLElement;\n /**\n * @description 菜单\n * @type Menu | () => Menu\n * @default -\n */\n menu?: MenuProps;\n // /**\n // * @description 菜单\n // * @type Menu | () => Menu\n // * @default -\n // */\n // menu?: ReactElement | (() => ReactElement);\n /**\n * @description 下拉根元素的类名称\n * @default -\n */\n overlayClassName?: string;\n /**\n * @description 菜单弹出位置\n * @default bottomLeft\n */\n placement?: PlacementType;\n /**\n * @description 触发下拉的行为\n * @type ActionType, 其中 ActionType 为 'hover' | 'click' | 'contextMenu';\n * @default click\n */\n trigger?: ActionType | ActionType[];\n /**\n * @description 菜单是否显示\n * @default -\n */\n open?: boolean;\n /**\n * @description 菜单显示状态改变时调用,参数为 open,点击菜单按钮导致的消失不会触发\n * @default -\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * @description 焦点移出触发元素和浮层时是否关闭 Dropdown\n * @default true\n */\n closeOnFocusOut?: boolean;\n /**\n * @description 下拉框外层 overlay 的内联样式(与定位 transform 合并)\n * @default -\n */\n overlayStyle?: React.CSSProperties;\n /**\n * @description 下拉框内层 surface 的内联样式。\n * 用于覆盖 surface 默认约束(默认 min-width:160px、max-width:320px);\n * 自定义 dropdownRender 内容若需大于 320px 宽,传 `{ width: 400, maxWidth: 'none' }` 即可。\n * @default -\n */\n overlayInnerStyle?: React.CSSProperties;\n\n /**\n * @description 自定义下拉框内容\n * @default -\n */\n dropdownRender?: (menus: React.ReactNode) => React.ReactNode;\n /**\n * @description 是否禁用\n * @default false\n */\n // 透传给子元素,antd的dropdown用cloneElement生成dropdown的子元素,劫持了disabled属性,因此如果Dropdown上没有disabled属性,子元素不能获得该属性\n disabled?: boolean;\n /**\n * @description 鼠标移入后延迟显示下拉框的时间,单位为毫秒\n * @default 0\n */\n delay?: UseHoverProps['delay'];\n /**\n * @description 是否在下拉框变化的时候自动更新位置\n * @default false\n */\n autoUpdatePos?: boolean;\n /**\n * @description 初始化焦点,参照:https://floating-ui.com/docs/floatingfocusmanager#initialfocus\n */\n initialFocus?: FloatingFocusManagerProps['initialFocus'];\n\n /**\n * @description 菜单是否跟随触发元素宽度\n * @default false\n */\n popupMatchTriggerWidth?: boolean | number;\n /**\n * @description 空间不足时自动计算菜单最大高度并启用滚动,启用后 offset 固定为 0\n * @default false\n */\n allowOverlap?: boolean;\n}\n\nfunction hasTrigger(\n trigger: ActionType | ActionType[],\n action: ActionType,\n): boolean {\n return Array.isArray(trigger) ? trigger.includes(action) : trigger === action;\n}\n\nexport default function Dropdown(props: IDropdownProps) {\n const {\n children,\n destroyPopupOnHide = true,\n getPopupContainer,\n menu,\n overlayClassName,\n placement = 'bottom-start',\n trigger = 'click',\n open,\n onOpenChange = () => {},\n closeOnFocusOut = true,\n overlayStyle,\n overlayInnerStyle,\n dropdownRender,\n disabled,\n offset: offsetProps = 4,\n delay = 0,\n autoUpdatePos = false,\n // 默认不自动 focus\n initialFocus = -1,\n popupMatchTriggerWidth = false,\n allowOverlap = false,\n } = props;\n const [isOpen, setIsOpen] = useState<boolean>(open || false);\n const lastResolvedFloatingStylesRef = useRef<React.CSSProperties | null>(\n null,\n );\n const lastResolvedSideRef = useRef<'top' | 'bottom' | 'left' | 'right'>(\n resolvePlacementSide(placement),\n );\n const currentFloatingStylesRef = useRef<React.CSSProperties | null>(null);\n const currentFloatingSideRef = useRef<'top' | 'bottom' | 'left' | 'right'>(\n resolvePlacementSide(placement),\n );\n const [targetElement, setTargetElement] = useState<HTMLElement | null>(null);\n const [menuInitialFocus, setMenuInitialFocus] = useState<'first' | 'last'>(\n 'first',\n );\n const popupMatchTriggerWidthNumber = parsePopupMatchWidth(\n popupMatchTriggerWidth,\n );\n const [matchedTriggerWidth, setMatchedTriggerWidth] = useState<\n number | undefined\n >(popupMatchTriggerWidthNumber);\n const popupZIndex = useFloatingPopupZIndex();\n\n const onOpenChangeFn = useMemoizedFn(onOpenChange);\n const isOpenControlled = open !== undefined;\n\n const markRootClosing = useCallback(() => {\n document.body.classList.add('ald-dropdown-root-closing');\n lastResolvedFloatingStylesRef.current =\n currentFloatingStylesRef.current ?? lastResolvedFloatingStylesRef.current;\n lastResolvedSideRef.current =\n currentFloatingSideRef.current ?? lastResolvedSideRef.current;\n }, []);\n\n useLayoutEffect(() => {\n if (isOpenControlled) {\n setIsOpen(!!open);\n }\n }, [isOpenControlled, open]);\n\n const onChangeOpen = useCallback(\n (newOpen: boolean) => {\n if (!isOpenControlled) {\n setIsOpen(newOpen);\n }\n onOpenChangeFn(newOpen);\n },\n [isOpenControlled, onOpenChangeFn],\n );\n\n const nodeId = useFloatingNodeId();\n const normalizedPlacement = normalizePlacement(placement);\n const {\n refs,\n floatingStyles,\n context,\n placement: floatingPlacement,\n x,\n y,\n } = useFloating({\n nodeId,\n placement: normalizedPlacement,\n open: isOpen,\n onOpenChange: onChangeOpen,\n middleware: [\n offset(allowOverlap ? 0 : offsetProps),\n flip({\n padding: 8,\n ...(allowOverlap && { fallbackStrategy: 'bestFit' }),\n }),\n shift({\n padding: 8,\n ...(allowOverlap && { mainAxis: true }),\n }),\n size({\n altBoundary: true,\n ...(allowOverlap && { padding: 8 }),\n apply({ availableHeight, elements }) {\n if (!allowOverlap) {\n return;\n }\n\n elements.floating.style.setProperty(\n '--ald-dropdown-max-height',\n `${Math.max(100, availableHeight)}px`,\n );\n },\n }),\n ],\n whileElementsMounted: autoUpdatePos ? autoUpdate : undefined,\n });\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n duration: OVERLAY_TRANSITION_MS,\n initial: {\n opacity: 0,\n transform: 'var(--ald-dropdown-enter-transform)',\n },\n close: {\n opacity: 0,\n transform: 'var(--ald-dropdown-exit-transform)',\n },\n common: {\n transitionTimingFunction: 'ease-in-out',\n },\n });\n const isAnimatingOut = !isOpen && isMounted;\n\n useLayoutEffect(() => {\n if (isAnimatingOut) {\n document.body.classList.add('ald-dropdown-root-closing');\n } else {\n document.body.classList.remove('ald-dropdown-root-closing');\n }\n\n return () => {\n if (isAnimatingOut) {\n document.body.classList.remove('ald-dropdown-root-closing');\n }\n };\n }, [isAnimatingOut]);\n\n const click = useClick(context, {\n enabled: hasTrigger(trigger, 'click'),\n });\n const hover = useHover(context, {\n enabled: hasTrigger(trigger, 'hover'),\n handleClose: safePolygon({}),\n delay: delay,\n });\n const dismiss = useDismiss(context, {});\n\n const propsList = useMemo(() => {\n const res = [dismiss];\n\n if (hasTrigger(trigger, 'hover')) {\n res.unshift(hover);\n }\n if (hasTrigger(trigger, 'click')) {\n res.unshift(click);\n }\n return res;\n }, [trigger, click, dismiss, hover]);\n\n const { getReferenceProps, getFloatingProps } = useInteractions(propsList);\n\n const headingId = useId();\n\n useLayoutEffect(() => {\n if (!popupMatchTriggerWidth || !isOpen) {\n setMatchedTriggerWidth(undefined);\n return;\n }\n\n if (popupMatchTriggerWidthNumber !== undefined) {\n setMatchedTriggerWidth(popupMatchTriggerWidthNumber);\n return;\n }\n\n const referenceElement = targetElement;\n if (!referenceElement) {\n return;\n }\n\n const updateMatchedWidth = () => {\n const nextWidth = referenceElement.getBoundingClientRect().width;\n setMatchedTriggerWidth((currentWidth) =>\n currentWidth === nextWidth ? currentWidth : nextWidth,\n );\n };\n\n updateMatchedWidth();\n\n if (typeof ResizeObserver === 'undefined') {\n window.addEventListener('resize', updateMatchedWidth);\n return () => {\n window.removeEventListener('resize', updateMatchedWidth);\n };\n }\n\n let resizeAnimationFrame: number | undefined;\n const scheduleMatchedWidthUpdate = () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n resizeAnimationFrame = requestAnimationFrame(updateMatchedWidth);\n };\n\n const observer = new ResizeObserver(scheduleMatchedWidthUpdate);\n observer.observe(referenceElement);\n\n return () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n observer.disconnect();\n };\n }, [\n isOpen,\n popupMatchTriggerWidth,\n popupMatchTriggerWidthNumber,\n targetElement,\n ]);\n\n const child = children as React.ReactElement;\n const childProps = child.props || {};\n const referenceProps = getReferenceProps();\n const updateMatchedWidthFromElement = useCallback(\n (element: HTMLElement) => {\n if (!popupMatchTriggerWidth) {\n return;\n }\n\n setMatchedTriggerWidth((currentWidth) => {\n const nextWidth =\n popupMatchTriggerWidthNumber !== undefined\n ? popupMatchTriggerWidthNumber\n : element.getBoundingClientRect().width;\n return currentWidth === nextWidth ? currentWidth : nextWidth;\n });\n },\n [popupMatchTriggerWidth, popupMatchTriggerWidthNumber],\n );\n const openMenuFromKeyboard = useCallback(\n (event: React.KeyboardEvent<HTMLElement>, position: 'first' | 'last') => {\n if (disabled) {\n return;\n }\n\n event.preventDefault();\n refs.setPositionReference(event.currentTarget);\n updateMatchedWidthFromElement(event.currentTarget);\n setMenuInitialFocus(position);\n onChangeOpen(true);\n },\n [disabled, onChangeOpen, refs, updateMatchedWidthFromElement],\n );\n const modifiedChild = cloneElement(child, {\n ...childProps,\n disabled,\n // ref: (node: HTMLDivElement) => refs.setReference(node),\n ...referenceProps,\n 'aria-haspopup': menu ? 'menu' : undefined,\n 'aria-expanded': menu ? isOpen : undefined,\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n refs.setPositionReference(event.currentTarget);\n updateMatchedWidthFromElement(event.currentTarget);\n setMenuInitialFocus('first');\n childProps.onClick?.(event);\n const { onClick: referenceOnClick } = referenceProps;\n if (typeof referenceOnClick === 'function') {\n referenceOnClick(event);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n childProps.onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n if (event.key === 'ArrowDown') {\n openMenuFromKeyboard(event, 'first');\n return;\n }\n if (event.key === 'ArrowUp') {\n openMenuFromKeyboard(event, 'last');\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n openMenuFromKeyboard(event, 'first');\n return;\n }\n const { onKeyDown: referenceOnKeyDown } = referenceProps;\n if (typeof referenceOnKeyDown === 'function') {\n referenceOnKeyDown(event);\n }\n },\n onContextMenu: (event: React.MouseEvent<HTMLElement>) => {\n childProps.onContextMenu?.(event);\n if (\n event.defaultPrevented ||\n disabled ||\n !hasTrigger(trigger, 'contextMenu')\n ) {\n return;\n }\n\n event.preventDefault();\n refs.setPositionReference({\n getBoundingClientRect: () =>\n new DOMRect(event.clientX, event.clientY, 0, 0),\n });\n setMenuInitialFocus('first');\n onChangeOpen(true);\n },\n });\n\n const onMenuItemClick = useCallback(\n (info: MenuInfo) => {\n if (menu?.onClick) {\n menu.onClick(info);\n }\n if (info.keepOpen) {\n document.body.classList.remove('ald-dropdown-root-closing');\n return;\n }\n onChangeOpen(false);\n },\n [menu, onChangeOpen],\n );\n const onMenuRequestClose = useCallback(\n (reason: 'click' | 'cancel' | 'blur' | 'scroll') => {\n // FloatingFocusManager owns focusout for the whole surface, including custom content.\n if (reason === 'blur') {\n return;\n }\n\n onChangeOpen(false);\n if (reason === 'cancel') {\n window.setTimeout(() => targetElement?.focus(), 0);\n }\n },\n [onChangeOpen, targetElement],\n );\n\n const menuInstance = useMemo(() => {\n const menuProps = {\n ...menu,\n items: menu?.items || [],\n menuStyle: {\n ...(popupMatchTriggerWidth\n ? {\n width: '100%',\n minWidth: 0,\n maxWidth: 'none',\n }\n : undefined),\n ...menu?.menuStyle,\n },\n onBeforeLeafItemClick: isOpenControlled ? undefined : markRootClosing,\n rootClosing: isAnimatingOut,\n initialFocus: menuInitialFocus,\n onRequestClose: onMenuRequestClose,\n };\n return (\n <Menu\n {...menuProps}\n onClick={onMenuItemClick}\n externalOverflow={allowOverlap}\n />\n );\n }, [\n allowOverlap,\n isAnimatingOut,\n isOpenControlled,\n markRootClosing,\n menu,\n onMenuItemClick,\n onMenuRequestClose,\n popupMatchTriggerWidth,\n menuInitialFocus,\n ]);\n\n const popupElement = useMemo(() => {\n return typeof dropdownRender === 'function'\n ? dropdownRender(menuInstance)\n : menuInstance;\n }, [dropdownRender, menuInstance]);\n\n const mergedMatchedTriggerWidth =\n popupMatchTriggerWidthNumber ?? matchedTriggerWidth;\n const matchedOverlayStyle =\n popupMatchTriggerWidth && mergedMatchedTriggerWidth !== undefined\n ? ({\n width: `${mergedMatchedTriggerWidth}px`,\n minWidth: 0,\n } satisfies React.CSSProperties)\n : undefined;\n\n const matchedSurfaceStyle = popupMatchTriggerWidth\n ? ({\n width: '100%',\n minWidth: 0,\n maxWidth: 'none',\n } satisfies React.CSSProperties)\n : undefined;\n\n const floatingSide = resolvePlacementSide(String(floatingPlacement));\n const shouldKeepMounted = !destroyPopupOnHide || isMounted;\n const isPositionReady = x !== null && y !== null;\n const overlayHidden =\n (!isOpen && !isAnimatingOut) || (isOpen && !isPositionReady);\n const resolvedFloatingStyles = isAnimatingOut\n ? lastResolvedFloatingStylesRef.current ?? floatingStyles\n : floatingStyles;\n const resolvedFloatingSide = isAnimatingOut\n ? lastResolvedSideRef.current\n : floatingSide;\n\n if (isOpen && isPositionReady) {\n currentFloatingStylesRef.current = { ...floatingStyles };\n currentFloatingSideRef.current = floatingSide;\n lastResolvedFloatingStylesRef.current = { ...floatingStyles };\n lastResolvedSideRef.current = floatingSide;\n }\n\n // 渲染浮动内容到自定义容器\n const renderFloatingContent = useCallback(() => {\n const surface = (\n <div\n {...(isAnimatingOut ? {} : getFloatingProps())}\n className={cn(\n 'ald-dropdown-overlay',\n // tw-outline-none:FloatingFocusManager 打开时会聚焦浮层容器,不抑制 outline 会渲染出蓝色焦点框\n 'tw-pointer-events-auto tw-z-[1001] tw-max-w-none tw-outline-none',\n overlayClassName,\n { 'ald-dropdown-overlay-hidden': overlayHidden },\n )}\n ref={refs.setFloating}\n style={{\n zIndex: popupZIndex,\n ...resolvedFloatingStyles,\n ...matchedOverlayStyle,\n ...overlayStyle,\n }}\n aria-labelledby={headingId}\n >\n <div\n className={cn(\n 'ald-dropdown-surface',\n allowOverlap && 'ald-dropdown-surface-overlap',\n 'tw-flex tw-flex-col tw-items-start tw-text-sm',\n )}\n style={{\n ...matchedSurfaceStyle,\n ...overlayInnerStyle,\n ...transitionStyles,\n }}\n data-state={isOpen ? 'open' : 'closed'}\n data-side={resolvedFloatingSide}\n >\n {popupElement}\n </div>\n </div>\n );\n\n const popupElem = (\n <FloatingFocusManager\n context={context}\n disabled={isAnimatingOut}\n modal={false}\n initialFocus={initialFocus}\n closeOnFocusOut={closeOnFocusOut}\n >\n {surface}\n </FloatingFocusManager>\n );\n\n const popupContainer =\n typeof getPopupContainer === 'function'\n ? getPopupContainer()\n : document.body;\n return ReactDOM.createPortal(popupElem, popupContainer);\n }, [\n context,\n getFloatingProps,\n getPopupContainer,\n headingId,\n popupElement,\n refs.setFloating,\n overlayClassName,\n overlayStyle,\n overlayInnerStyle,\n matchedOverlayStyle,\n matchedSurfaceStyle,\n transitionStyles,\n popupZIndex,\n overlayHidden,\n isAnimatingOut,\n isOpen,\n initialFocus,\n closeOnFocusOut,\n resolvedFloatingSide,\n resolvedFloatingStyles,\n allowOverlap,\n ]);\n\n const popup = shouldKeepMounted ? renderFloatingContent() : null;\n const { setReference } = refs;\n\n const setTargetRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n // display: contents 元素没有 box model,getBoundingClientRect() 返回零值\n // 需要获取实际的第一个子元素作为 floating-ui 的参考元素\n const target =\n node.style.display === 'contents'\n ? (node.firstElementChild as HTMLElement) || node\n : node;\n setTargetElement((currentTarget) =>\n currentTarget === target ? currentTarget : target,\n );\n setReference(target);\n } else {\n setTargetElement(null);\n setReference(null);\n }\n },\n [setReference],\n );\n\n const content = (\n <>\n <span ref={setTargetRef} style={{ display: 'contents' }}>\n {modifiedChild}\n </span>\n <FloatingNode id={nodeId}>{popup}</FloatingNode>\n </>\n );\n\n const parentId = useFloatingParentNodeId();\n if (!parentId) {\n return <FloatingTree>{content}</FloatingTree>;\n }\n\n return content;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["FloatingFocusManager","FloatingFocusManagerProps","FloatingNode","FloatingTree","OffsetOptions","UseHoverProps","autoUpdate","flip","offset","safePolygon","shift","size","useClick","useDismiss","useFloating","useFloatingNodeId","useFloatingParentNodeId","useHover","useId","useInteractions","useTransitionStyles","Placement","useMemoizedFn","cn","React","cloneElement","useCallback","useLayoutEffect","useMemo","useRef","useState","ReactDOM","Menu","MenuInfo","MenuProps","isLeafMenu","useFloatingPopupZIndex","ensureWeakRefFallback","OVERLAY_TRANSITION_MS","resolvePlacementSide","currentPlacement","side","split","startsWith","parsePopupMatchWidth","value","trim","parsedValue","Number","isNaN","undefined","ActionType","PlacementType","legacyPlacementMap","topLeft","topRight","bottomLeft","bottomRight","const","normalizePlacement","placement","IDropdownProps","children","ReactNode","destroyPopupOnHide","getPopupContainer","HTMLElement","menu","overlayClassName","trigger","open","onOpenChange","closeOnFocusOut","overlayStyle","CSSProperties","overlayInnerStyle","dropdownRender","menus","disabled","delay","autoUpdatePos","initialFocus","popupMatchTriggerWidth","allowOverlap","autoAdjustHeight","hasTrigger","action","Array","isArray","includes","Dropdown","props","offsetProps","isOpen","setIsOpen","lastResolvedFloatingStylesRef","lastResolvedSideRef","currentFloatingStylesRef","currentFloatingSideRef","targetElement","setTargetElement","menuInitialFocus","setMenuInitialFocus","popupMatchTriggerWidthNumber","matchedTriggerWidth","setMatchedTriggerWidth","popupZIndex","onOpenChangeFn","isOpenControlled","markRootClosing","document","body","classList","add","current","onChangeOpen","newOpen","hasSubmenu","items","surfaceScrolls","nodeId","normalizedPlacement","refs","floatingStyles","context","floatingPlacement","x","y","middleware","padding","crossAxis","apply","availableHeight","elements","floating","style","removeProperty","maxHeight","Math","max","setProperty","surface","firstElementChild","menuElement","querySelector","extraHeight","offsetHeight","whileElementsMounted","isMounted","styles","transitionStyles","duration","initial","opacity","transform","close","common","transitionTimingFunction","isAnimatingOut","remove","click","enabled","hover","handleClose","dismiss","propsList","res","unshift","getReferenceProps","getFloatingProps","headingId","referenceElement","updateMatchedWidth","nextWidth","getBoundingClientRect","width","currentWidth","ResizeObserver","window","addEventListener","removeEventListener","resizeAnimationFrame","scheduleMatchedWidthUpdate","cancelAnimationFrame","requestAnimationFrame","observer","observe","disconnect","child","ReactElement","Record","childProps","referenceProps","updateMatchedWidthFromElement","element","openMenuFromKeyboard","event","KeyboardEvent","position","preventDefault","setPositionReference","currentTarget","modifiedChild","onClick","MouseEvent","referenceOnClick","onKeyDown","defaultPrevented","key","referenceOnKeyDown","onContextMenu","DOMRect","clientX","clientY","onMenuItemClick","info","keepOpen","onMenuRequestClose","reason","setTimeout","focus","menuInstance","menuProps","menuStyle","minWidth","maxWidth","onBeforeLeafItemClick","rootClosing","onRequestClose","popupElement","mergedMatchedTriggerWidth","matchedOverlayStyle","matchedSurfaceStyle","floatingSide","String","shouldKeepMounted","isPositionReady","overlayHidden","resolvedFloatingStyles","resolvedFloatingSide","renderFloatingContent","setFloating","zIndex","popupElem","popupContainer","createPortal","popup","setReference","setTargetRef","node","target","display","content","parentId"],"sources":["../../src/Dropdown/index.tsx"],"sourcesContent":["import './dropdown.css';\nimport {\n FloatingFocusManager,\n FloatingFocusManagerProps,\n FloatingNode,\n FloatingTree,\n OffsetOptions,\n UseHoverProps,\n autoUpdate,\n flip,\n offset,\n safePolygon,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useFloatingNodeId,\n useFloatingParentNodeId,\n useHover,\n useId,\n useInteractions,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport type { Placement } from '@floating-ui/react';\nimport { useMemoizedFn } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport React, {\n cloneElement,\n useCallback,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport Menu, { MenuInfo, MenuProps, isLeafMenu } from '../Menu';\nimport { useFloatingPopupZIndex } from '../_utils/floatingLayer';\nimport { ensureWeakRefFallback } from '../_utils/weakRefFallback';\n\nconst OVERLAY_TRANSITION_MS = 200;\n\nensureWeakRefFallback();\n\nfunction resolvePlacementSide(\n currentPlacement: string,\n): 'top' | 'bottom' | 'left' | 'right' {\n const [side] = currentPlacement.split('-');\n if (\n side === 'top' ||\n side === 'bottom' ||\n side === 'left' ||\n side === 'right'\n ) {\n return side;\n }\n if (currentPlacement.startsWith('top')) {\n return 'top';\n }\n if (currentPlacement.startsWith('bottom')) {\n return 'bottom';\n }\n if (currentPlacement.startsWith('left')) {\n return 'left';\n }\n if (currentPlacement.startsWith('right')) {\n return 'right';\n }\n return 'bottom';\n}\n\nfunction parsePopupMatchWidth(value: unknown): number | undefined {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string' && value.trim() !== '') {\n const parsedValue = Number(value);\n return Number.isNaN(parsedValue) ? undefined : parsedValue;\n }\n\n return undefined;\n}\n\nexport type ActionType = 'hover' | 'click' | 'contextMenu';\nexport type PlacementType =\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'top-start'\n | 'top-end'\n | 'bottom-start'\n | 'bottom-end'\n | 'left-start'\n | 'left-end'\n | 'right-start'\n | 'right-end'\n // Legacy antd-style placement names\n | 'topLeft'\n | 'topRight'\n | 'bottomLeft'\n | 'bottomRight';\n\nconst legacyPlacementMap = {\n topLeft: 'top-start',\n topRight: 'top-end',\n bottomLeft: 'bottom-start',\n bottomRight: 'bottom-end',\n} as const;\n\nfunction normalizePlacement(placement: PlacementType): Placement {\n return (legacyPlacementMap[placement as keyof typeof legacyPlacementMap] ??\n placement) as Placement;\n}\n\nexport interface IDropdownProps {\n children: React.ReactNode;\n /**\n * @description 菜单弹出位置的偏移量\n */\n offset?: OffsetOptions;\n /**\n * @description 关闭后是否销毁 Dropdown\n * @default false\n */\n destroyPopupOnHide?: boolean;\n /**\n * @description 菜单渲染父节点。默认渲染到 body 上,如果你遇到菜单滚动定位问题,试试修改为滚动的区域,并相对其定位\n * @default () => document.body\n */\n getPopupContainer?: () => HTMLElement;\n /**\n * @description 菜单\n * @type Menu | () => Menu\n * @default -\n */\n menu?: MenuProps;\n // /**\n // * @description 菜单\n // * @type Menu | () => Menu\n // * @default -\n // */\n // menu?: ReactElement | (() => ReactElement);\n /**\n * @description 下拉根元素的类名称\n * @default -\n */\n overlayClassName?: string;\n /**\n * @description 菜单弹出位置\n * @default bottomLeft\n */\n placement?: PlacementType;\n /**\n * @description 触发下拉的行为\n * @type ActionType, 其中 ActionType 为 'hover' | 'click' | 'contextMenu';\n * @default click\n */\n trigger?: ActionType | ActionType[];\n /**\n * @description 菜单是否显示\n * @default -\n */\n open?: boolean;\n /**\n * @description 菜单显示状态改变时调用,参数为 open,点击菜单按钮导致的消失不会触发\n * @default -\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * @description 焦点移出触发元素和浮层时是否关闭 Dropdown\n * @default true\n */\n closeOnFocusOut?: boolean;\n /**\n * @description 下拉框外层 overlay 的内联样式(与定位 transform 合并)\n * @default -\n */\n overlayStyle?: React.CSSProperties;\n /**\n * @description 下拉框内层 surface 的内联样式。\n * 用于覆盖 surface 默认约束(默认 min-width:160px、max-width:320px);\n * 自定义 dropdownRender 内容若需大于 320px 宽,传 `{ width: 400, maxWidth: 'none' }` 即可。\n * @default -\n */\n overlayInnerStyle?: React.CSSProperties;\n\n /**\n * @description 自定义下拉框内容\n * @default -\n */\n dropdownRender?: (menus: React.ReactNode) => React.ReactNode;\n /**\n * @description 是否禁用\n * @default false\n */\n // 透传给子元素,antd的dropdown用cloneElement生成dropdown的子元素,劫持了disabled属性,因此如果Dropdown上没有disabled属性,子元素不能获得该属性\n disabled?: boolean;\n /**\n * @description 鼠标移入后延迟显示下拉框的时间,单位为毫秒\n * @default 0\n */\n delay?: UseHoverProps['delay'];\n /**\n * @description 是否在下拉框变化的时候自动更新位置\n * @default false\n */\n autoUpdatePos?: boolean;\n /**\n * @description 初始化焦点,参照:https://floating-ui.com/docs/floatingfocusmanager#initialfocus\n */\n initialFocus?: FloatingFocusManagerProps['initialFocus'];\n\n /**\n * @description 菜单是否跟随触发元素宽度\n * @default false\n */\n popupMatchTriggerWidth?: boolean | number;\n /**\n * @description 空间不足时允许浮层覆盖触发器;空间充足时保留 placement 和 offset。设为 false 禁止覆盖。\n * @default true\n */\n allowOverlap?: boolean;\n /**\n * @description 内容超出浮层实际可用区域时限制高度并滚动。默认 body 浮层以视口为界;自定义容器保留自身裁剪边界。\n * @default true\n */\n autoAdjustHeight?: boolean;\n}\n\nfunction hasTrigger(\n trigger: ActionType | ActionType[],\n action: ActionType,\n): boolean {\n return Array.isArray(trigger) ? trigger.includes(action) : trigger === action;\n}\n\nexport default function Dropdown(props: IDropdownProps) {\n const {\n children,\n destroyPopupOnHide = true,\n getPopupContainer,\n menu,\n overlayClassName,\n placement = 'bottom-start',\n trigger = 'click',\n open,\n onOpenChange = () => {},\n closeOnFocusOut = true,\n overlayStyle,\n overlayInnerStyle,\n dropdownRender,\n disabled,\n offset: offsetProps = 4,\n delay = 0,\n autoUpdatePos = false,\n // 默认不自动 focus\n initialFocus = -1,\n popupMatchTriggerWidth = false,\n allowOverlap = true,\n autoAdjustHeight = true,\n } = props;\n const [isOpen, setIsOpen] = useState<boolean>(open || false);\n const lastResolvedFloatingStylesRef = useRef<React.CSSProperties | null>(\n null,\n );\n const lastResolvedSideRef = useRef<'top' | 'bottom' | 'left' | 'right'>(\n resolvePlacementSide(placement),\n );\n const currentFloatingStylesRef = useRef<React.CSSProperties | null>(null);\n const currentFloatingSideRef = useRef<'top' | 'bottom' | 'left' | 'right'>(\n resolvePlacementSide(placement),\n );\n const [targetElement, setTargetElement] = useState<HTMLElement | null>(null);\n const [menuInitialFocus, setMenuInitialFocus] = useState<'first' | 'last'>(\n 'first',\n );\n const popupMatchTriggerWidthNumber = parsePopupMatchWidth(\n popupMatchTriggerWidth,\n );\n const [matchedTriggerWidth, setMatchedTriggerWidth] = useState<\n number | undefined\n >(popupMatchTriggerWidthNumber);\n const popupZIndex = useFloatingPopupZIndex();\n\n const onOpenChangeFn = useMemoizedFn(onOpenChange);\n const isOpenControlled = open !== undefined;\n\n const markRootClosing = useCallback(() => {\n document.body.classList.add('ald-dropdown-root-closing');\n lastResolvedFloatingStylesRef.current =\n currentFloatingStylesRef.current ?? lastResolvedFloatingStylesRef.current;\n lastResolvedSideRef.current =\n currentFloatingSideRef.current ?? lastResolvedSideRef.current;\n }, []);\n\n useLayoutEffect(() => {\n if (isOpenControlled) {\n setIsOpen(!!open);\n }\n }, [isOpenControlled, open]);\n\n const onChangeOpen = useCallback(\n (newOpen: boolean) => {\n if (!isOpenControlled) {\n setIsOpen(newOpen);\n }\n onOpenChangeFn(newOpen);\n },\n [isOpenControlled, onOpenChangeFn],\n );\n\n // 多级菜单必须保留 Menu 内部滚动:子菜单通过其根容器逃离滚动的 ul,\n // 若改为 surface 滚动,子菜单也会被外层裁剪。\n const hasSubmenu = !isLeafMenu(menu?.items || []);\n const surfaceScrolls = autoAdjustHeight && !hasSubmenu;\n const nodeId = useFloatingNodeId();\n const normalizedPlacement = normalizePlacement(placement);\n const {\n refs,\n floatingStyles,\n context,\n placement: floatingPlacement,\n x,\n y,\n } = useFloating({\n nodeId,\n placement: normalizedPlacement,\n open: isOpen,\n onOpenChange: onChangeOpen,\n middleware: [\n offset(offsetProps),\n flip({\n padding: 8,\n }),\n shift({\n padding: 8,\n // mainAxis 只沿对齐轴避让;整行触发器左右均无空间时,\n // 还需沿 crossAxis 移回视口,允许浮层覆盖触发器。\n ...(allowOverlap && { crossAxis: true }),\n }),\n size(\n {\n // 和 flip/shift 使用同一个浮层裁剪边界。body portal 不应被触发器的\n // ScrollArea 限高;自定义 getPopupContainer 的真实裁剪仍然生效。\n padding: 8,\n apply({ availableHeight, elements }) {\n if (!autoAdjustHeight) {\n elements.floating.style.removeProperty(\n '--ald-dropdown-max-height',\n );\n elements.floating.style.removeProperty(\n '--ald-dropdown-menu-max-height',\n );\n return;\n }\n\n // max-height 保持短内容的自然高度;极小视口也不能用 100px 下限撑出屏幕。\n const maxHeight = Math.max(0, availableHeight);\n elements.floating.style.setProperty(\n '--ald-dropdown-max-height',\n `${maxHeight}px`,\n );\n if (hasSubmenu) {\n const surface = elements.floating\n .firstElementChild as HTMLElement | null;\n const menuElement = surface?.querySelector<HTMLElement>(\n '.ald-menu > .szh-menu',\n );\n // 限制菜单自身高度时,扣除 surface 的边框、padding 和自定义内容。\n const extraHeight =\n surface && menuElement\n ? Math.max(0, surface.offsetHeight - menuElement.offsetHeight)\n : 0;\n elements.floating.style.setProperty(\n '--ald-dropdown-menu-max-height',\n `${Math.max(0, maxHeight - extraHeight)}px`,\n );\n }\n },\n },\n [autoAdjustHeight, hasSubmenu],\n ),\n ],\n whileElementsMounted: autoUpdatePos ? autoUpdate : undefined,\n });\n const { isMounted, styles: transitionStyles } = useTransitionStyles(context, {\n duration: OVERLAY_TRANSITION_MS,\n initial: {\n opacity: 0,\n transform: 'var(--ald-dropdown-enter-transform)',\n },\n close: {\n opacity: 0,\n transform: 'var(--ald-dropdown-exit-transform)',\n },\n common: {\n transitionTimingFunction: 'ease-in-out',\n },\n });\n const isAnimatingOut = !isOpen && isMounted;\n\n useLayoutEffect(() => {\n if (isAnimatingOut) {\n document.body.classList.add('ald-dropdown-root-closing');\n } else {\n document.body.classList.remove('ald-dropdown-root-closing');\n }\n\n return () => {\n if (isAnimatingOut) {\n document.body.classList.remove('ald-dropdown-root-closing');\n }\n };\n }, [isAnimatingOut]);\n\n const click = useClick(context, {\n enabled: hasTrigger(trigger, 'click'),\n });\n const hover = useHover(context, {\n enabled: hasTrigger(trigger, 'hover'),\n handleClose: safePolygon({}),\n delay: delay,\n });\n const dismiss = useDismiss(context, {});\n\n const propsList = useMemo(() => {\n const res = [dismiss];\n\n if (hasTrigger(trigger, 'hover')) {\n res.unshift(hover);\n }\n if (hasTrigger(trigger, 'click')) {\n res.unshift(click);\n }\n return res;\n }, [trigger, click, dismiss, hover]);\n\n const { getReferenceProps, getFloatingProps } = useInteractions(propsList);\n\n const headingId = useId();\n\n useLayoutEffect(() => {\n if (!popupMatchTriggerWidth || !isOpen) {\n setMatchedTriggerWidth(undefined);\n return;\n }\n\n if (popupMatchTriggerWidthNumber !== undefined) {\n setMatchedTriggerWidth(popupMatchTriggerWidthNumber);\n return;\n }\n\n const referenceElement = targetElement;\n if (!referenceElement) {\n return;\n }\n\n const updateMatchedWidth = () => {\n const nextWidth = referenceElement.getBoundingClientRect().width;\n setMatchedTriggerWidth((currentWidth) =>\n currentWidth === nextWidth ? currentWidth : nextWidth,\n );\n };\n\n updateMatchedWidth();\n\n if (typeof ResizeObserver === 'undefined') {\n window.addEventListener('resize', updateMatchedWidth);\n return () => {\n window.removeEventListener('resize', updateMatchedWidth);\n };\n }\n\n let resizeAnimationFrame: number | undefined;\n const scheduleMatchedWidthUpdate = () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n resizeAnimationFrame = requestAnimationFrame(updateMatchedWidth);\n };\n\n const observer = new ResizeObserver(scheduleMatchedWidthUpdate);\n observer.observe(referenceElement);\n\n return () => {\n if (resizeAnimationFrame !== undefined) {\n cancelAnimationFrame(resizeAnimationFrame);\n }\n observer.disconnect();\n };\n }, [\n isOpen,\n popupMatchTriggerWidth,\n popupMatchTriggerWidthNumber,\n targetElement,\n ]);\n\n const child = children as React.ReactElement<Record<string, any>>;\n const childProps = child.props || {};\n const referenceProps = getReferenceProps();\n const updateMatchedWidthFromElement = useCallback(\n (element: HTMLElement) => {\n if (!popupMatchTriggerWidth) {\n return;\n }\n\n setMatchedTriggerWidth((currentWidth) => {\n const nextWidth =\n popupMatchTriggerWidthNumber !== undefined\n ? popupMatchTriggerWidthNumber\n : element.getBoundingClientRect().width;\n return currentWidth === nextWidth ? currentWidth : nextWidth;\n });\n },\n [popupMatchTriggerWidth, popupMatchTriggerWidthNumber],\n );\n const openMenuFromKeyboard = useCallback(\n (event: React.KeyboardEvent<HTMLElement>, position: 'first' | 'last') => {\n if (disabled) {\n return;\n }\n\n event.preventDefault();\n refs.setPositionReference(event.currentTarget);\n updateMatchedWidthFromElement(event.currentTarget);\n setMenuInitialFocus(position);\n onChangeOpen(true);\n },\n [disabled, onChangeOpen, refs, updateMatchedWidthFromElement],\n );\n const modifiedChild = cloneElement(child, {\n ...childProps,\n disabled,\n // ref: (node: HTMLDivElement) => refs.setReference(node),\n ...referenceProps,\n 'aria-haspopup': menu ? 'menu' : undefined,\n 'aria-expanded': menu ? isOpen : undefined,\n onClick: (event: React.MouseEvent<HTMLElement>) => {\n refs.setPositionReference(event.currentTarget);\n updateMatchedWidthFromElement(event.currentTarget);\n setMenuInitialFocus('first');\n childProps.onClick?.(event);\n const { onClick: referenceOnClick } = referenceProps;\n if (typeof referenceOnClick === 'function') {\n referenceOnClick(event);\n }\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => {\n childProps.onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n if (event.key === 'ArrowDown') {\n openMenuFromKeyboard(event, 'first');\n return;\n }\n if (event.key === 'ArrowUp') {\n openMenuFromKeyboard(event, 'last');\n return;\n }\n if (event.key === 'Enter' || event.key === ' ') {\n openMenuFromKeyboard(event, 'first');\n return;\n }\n const { onKeyDown: referenceOnKeyDown } = referenceProps;\n if (typeof referenceOnKeyDown === 'function') {\n referenceOnKeyDown(event);\n }\n },\n onContextMenu: (event: React.MouseEvent<HTMLElement>) => {\n childProps.onContextMenu?.(event);\n if (\n event.defaultPrevented ||\n disabled ||\n !hasTrigger(trigger, 'contextMenu')\n ) {\n return;\n }\n\n event.preventDefault();\n refs.setPositionReference({\n getBoundingClientRect: () =>\n new DOMRect(event.clientX, event.clientY, 0, 0),\n });\n setMenuInitialFocus('first');\n onChangeOpen(true);\n },\n });\n\n const onMenuItemClick = useCallback(\n (info: MenuInfo) => {\n if (menu?.onClick) {\n menu.onClick(info);\n }\n if (info.keepOpen) {\n document.body.classList.remove('ald-dropdown-root-closing');\n return;\n }\n onChangeOpen(false);\n },\n [menu, onChangeOpen],\n );\n const onMenuRequestClose = useCallback(\n (reason: 'click' | 'cancel' | 'blur' | 'scroll') => {\n // FloatingFocusManager owns focusout for the whole surface, including custom content.\n if (reason === 'blur') {\n return;\n }\n\n onChangeOpen(false);\n if (reason === 'cancel') {\n window.setTimeout(() => targetElement?.focus(), 0);\n }\n },\n [onChangeOpen, targetElement],\n );\n\n const menuInstance = useMemo(() => {\n const menuProps = {\n ...menu,\n items: menu?.items || [],\n menuStyle: {\n ...(popupMatchTriggerWidth\n ? {\n width: '100%',\n minWidth: 0,\n maxWidth: 'none',\n }\n : undefined),\n ...(autoAdjustHeight && hasSubmenu\n ? { maxHeight: 'var(--ald-dropdown-menu-max-height)' }\n : undefined),\n ...menu?.menuStyle,\n },\n onBeforeLeafItemClick: isOpenControlled ? undefined : markRootClosing,\n rootClosing: isAnimatingOut,\n initialFocus: menuInitialFocus,\n onRequestClose: onMenuRequestClose,\n };\n return (\n <Menu\n {...menuProps}\n onClick={onMenuItemClick}\n externalOverflow={surfaceScrolls}\n preserveRootHeight={\n autoAdjustHeight &&\n hasSubmenu &&\n menu?.menuStyle?.maxHeight === undefined\n }\n />\n );\n }, [\n autoAdjustHeight,\n hasSubmenu,\n surfaceScrolls,\n isAnimatingOut,\n isOpenControlled,\n markRootClosing,\n menu,\n onMenuItemClick,\n onMenuRequestClose,\n popupMatchTriggerWidth,\n menuInitialFocus,\n ]);\n\n const popupElement = useMemo(() => {\n return typeof dropdownRender === 'function'\n ? dropdownRender(menuInstance)\n : menuInstance;\n }, [dropdownRender, menuInstance]);\n\n const mergedMatchedTriggerWidth =\n popupMatchTriggerWidthNumber ?? matchedTriggerWidth;\n const matchedOverlayStyle =\n popupMatchTriggerWidth && mergedMatchedTriggerWidth !== undefined\n ? ({\n width: `${mergedMatchedTriggerWidth}px`,\n minWidth: 0,\n } satisfies React.CSSProperties)\n : undefined;\n\n const matchedSurfaceStyle = popupMatchTriggerWidth\n ? ({\n width: '100%',\n minWidth: 0,\n maxWidth: 'none',\n } satisfies React.CSSProperties)\n : undefined;\n\n const floatingSide = resolvePlacementSide(String(floatingPlacement));\n const shouldKeepMounted = !destroyPopupOnHide || isMounted;\n const isPositionReady = x !== null && y !== null;\n const overlayHidden =\n (!isOpen && !isAnimatingOut) || (isOpen && !isPositionReady);\n const resolvedFloatingStyles = isAnimatingOut\n ? lastResolvedFloatingStylesRef.current ?? floatingStyles\n : floatingStyles;\n const resolvedFloatingSide = isAnimatingOut\n ? lastResolvedSideRef.current\n : floatingSide;\n\n if (isOpen && isPositionReady) {\n currentFloatingStylesRef.current = { ...floatingStyles };\n currentFloatingSideRef.current = floatingSide;\n lastResolvedFloatingStylesRef.current = { ...floatingStyles };\n lastResolvedSideRef.current = floatingSide;\n }\n\n // 渲染浮动内容到自定义容器\n const renderFloatingContent = useCallback(() => {\n const surface = (\n <div\n {...(isAnimatingOut ? {} : getFloatingProps())}\n className={cn(\n 'ald-dropdown-overlay',\n // tw-outline-none:FloatingFocusManager 打开时会聚焦浮层容器,不抑制 outline 会渲染出蓝色焦点框\n 'tw-pointer-events-auto tw-z-[1001] tw-max-w-none tw-outline-none',\n overlayClassName,\n { 'ald-dropdown-overlay-hidden': overlayHidden },\n )}\n ref={refs.setFloating}\n style={{\n zIndex: popupZIndex,\n ...resolvedFloatingStyles,\n ...matchedOverlayStyle,\n ...overlayStyle,\n }}\n aria-labelledby={headingId}\n >\n <div\n className={cn(\n 'ald-dropdown-surface',\n surfaceScrolls && 'ald-dropdown-surface-overlap',\n 'tw-flex tw-flex-col tw-items-start tw-text-sm',\n )}\n style={{\n ...matchedSurfaceStyle,\n ...overlayInnerStyle,\n ...transitionStyles,\n }}\n data-state={isOpen ? 'open' : 'closed'}\n data-side={resolvedFloatingSide}\n >\n {popupElement}\n </div>\n </div>\n );\n\n const popupElem = (\n <FloatingFocusManager\n context={context}\n disabled={isAnimatingOut}\n modal={false}\n initialFocus={initialFocus}\n closeOnFocusOut={closeOnFocusOut}\n >\n {surface}\n </FloatingFocusManager>\n );\n\n const popupContainer =\n typeof getPopupContainer === 'function'\n ? getPopupContainer()\n : document.body;\n return ReactDOM.createPortal(popupElem, popupContainer);\n }, [\n context,\n getFloatingProps,\n getPopupContainer,\n headingId,\n popupElement,\n refs.setFloating,\n overlayClassName,\n overlayStyle,\n overlayInnerStyle,\n matchedOverlayStyle,\n matchedSurfaceStyle,\n transitionStyles,\n popupZIndex,\n overlayHidden,\n isAnimatingOut,\n isOpen,\n initialFocus,\n closeOnFocusOut,\n resolvedFloatingSide,\n resolvedFloatingStyles,\n surfaceScrolls,\n ]);\n\n const popup = shouldKeepMounted ? renderFloatingContent() : null;\n const { setReference } = refs;\n\n const setTargetRef = useCallback(\n (node: HTMLElement | null) => {\n if (node) {\n // display: contents 元素没有 box model,getBoundingClientRect() 返回零值\n // 需要获取实际的第一个子元素作为 floating-ui 的参考元素\n const target =\n node.style.display === 'contents'\n ? (node.firstElementChild as HTMLElement) || node\n : node;\n setTargetElement((currentTarget) =>\n currentTarget === target ? currentTarget : target,\n );\n setReference(target);\n } else {\n setTargetElement(null);\n setReference(null);\n }\n },\n [setReference],\n );\n\n const content = (\n <>\n <span ref={setTargetRef} style={{ display: 'contents' }}>\n {modifiedChild}\n </span>\n <FloatingNode id={nodeId}>{popup}</FloatingNode>\n </>\n );\n\n const parentId = useFloatingParentNodeId();\n if (!parentId) {\n return <FloatingTree>{content}</FloatingTree>;\n }\n\n return content;\n}\n"],"mappings":"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"}
|
package/dist/Dropdown.js
ADDED