@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
|
@@ -55,29 +55,29 @@ function InputNumber(props) {
|
|
|
55
55
|
const parsed = parser ? parser(raw) : Number(raw);
|
|
56
56
|
if (!isNaN(parsed)) updateValue(parsed);
|
|
57
57
|
};
|
|
58
|
-
const handleBlur = (
|
|
58
|
+
const handleBlur = (e_0) => {
|
|
59
59
|
if (inputStr === "" || inputStr === "-") {
|
|
60
60
|
updateValue(null);
|
|
61
61
|
setInputStr("");
|
|
62
62
|
} else {
|
|
63
|
-
const
|
|
64
|
-
if (!isNaN(
|
|
65
|
-
const
|
|
66
|
-
updateValue(
|
|
67
|
-
setInputStr(String(
|
|
63
|
+
const parsed_0 = parser ? parser(inputStr) : Number(inputStr);
|
|
64
|
+
if (!isNaN(parsed_0)) {
|
|
65
|
+
const clamped_0 = clamp(parsed_0);
|
|
66
|
+
updateValue(clamped_0);
|
|
67
|
+
setInputStr(String(clamped_0));
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
onBlur?.(
|
|
70
|
+
onBlur?.(e_0);
|
|
71
71
|
};
|
|
72
|
-
const handleKeyDown = (
|
|
73
|
-
if (
|
|
72
|
+
const handleKeyDown = (e_1) => {
|
|
73
|
+
if (e_1.key === "Enter") onPressEnter?.(e_1);
|
|
74
74
|
if (!keyboard) return;
|
|
75
75
|
const numStep = typeof step === "string" ? Number(step) : step;
|
|
76
|
-
if (
|
|
77
|
-
|
|
76
|
+
if (e_1.key === "ArrowUp") {
|
|
77
|
+
e_1.preventDefault();
|
|
78
78
|
updateValue(clamp((currentValue ?? 0) + numStep));
|
|
79
|
-
} else if (
|
|
80
|
-
|
|
79
|
+
} else if (e_1.key === "ArrowDown") {
|
|
80
|
+
e_1.preventDefault();
|
|
81
81
|
updateValue(clamp((currentValue ?? 0) - numStep));
|
|
82
82
|
}
|
|
83
83
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/InputNumber/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport DisabledContext from '../ConfigProvider/DisabledContext';\nimport SizeContext from '../ConfigProvider/sizeContext';\nimport { cn } from '../lib/utils';\nimport { IInputNumberProps } from './type';\n\nfunction pickAriaProps(props: IInputNumberProps): Record<string, unknown> {\n return Object.keys(props).reduce<Record<string, unknown>>(\n (ariaProps, key) => {\n if (key.startsWith('aria-')) {\n ariaProps[key] = props[key as keyof IInputNumberProps];\n }\n return ariaProps;\n },\n {},\n );\n}\n\nexport default function InputNumber(props: IInputNumberProps) {\n const {\n className,\n disabled: customDisabled,\n size: customSize,\n status,\n value: controlledValue,\n defaultValue,\n min = -Infinity,\n max = Infinity,\n step = 1,\n precision,\n onChange,\n onPressEnter,\n onBlur,\n onFocus,\n formatter,\n parser,\n prefix,\n addonBefore,\n addonAfter,\n placeholder,\n autoFocus,\n bordered = true,\n keyboard = true,\n readonly: readOnly,\n style,\n id,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n } = props;\n\n const contentSize = useContext(SizeContext);\n const size = customSize || contentSize || 'middle';\n const disabled = useContext(DisabledContext);\n const mergedDisabled = customDisabled ?? disabled;\n const nativeInputAriaProps = pickAriaProps(props);\n\n const isControlled = 'value' in props;\n const [innerValue, setInnerValue] = useState<number | null | undefined>(\n defaultValue ?? null,\n );\n const currentValue = isControlled ? controlledValue : innerValue;\n\n const [inputStr, setInputStr] = useState(\n currentValue !== null && currentValue !== undefined\n ? String(currentValue)\n : '',\n );\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (currentValue !== null && currentValue !== undefined) {\n setInputStr(String(currentValue));\n } else {\n setInputStr('');\n }\n }, [currentValue]);\n\n const clamp = useCallback(\n (val: number) => {\n let v = Math.max(min, Math.min(max, val));\n if (precision !== undefined) {\n v = Number(v.toFixed(precision));\n }\n return v;\n },\n [min, max, precision],\n );\n\n const updateValue = useCallback(\n (newVal: number | null) => {\n const clamped = newVal !== null ? clamp(newVal) : null;\n if (!isControlled) setInnerValue(clamped);\n onChange?.(clamped);\n },\n [clamp, isControlled, onChange],\n );\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value;\n setInputStr(raw);\n if (raw === '') {\n // 清空立即同步到 value,对齐 antd 行为。\n // 否则消费方\"清空后直接点确定\"(未 blur 触发 handleBlur 的 null 兜底)拿到的\n // 仍是旧值,把已清空的筛选条件错误带进 query(被 release-2.3_test 周期实例\n // 更多浮窗实测复现)。\n updateValue(null);\n return;\n }\n if (raw === '-') return;\n const parsed = parser ? parser(raw) : Number(raw);\n if (!isNaN(parsed)) {\n updateValue(parsed);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (inputStr === '' || inputStr === '-') {\n updateValue(null);\n setInputStr('');\n } else {\n const parsed = parser ? parser(inputStr) : Number(inputStr);\n if (!isNaN(parsed)) {\n const clamped = clamp(parsed);\n updateValue(clamped);\n setInputStr(String(clamped));\n }\n }\n onBlur?.(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onPressEnter?.(e);\n }\n if (!keyboard) return;\n const numStep = typeof step === 'string' ? Number(step) : step;\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n updateValue(clamp((currentValue ?? 0) + numStep));\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n updateValue(clamp((currentValue ?? 0) - numStep));\n }\n };\n\n const displayValue = formatter\n ? formatter(currentValue ?? undefined, {\n userTyping: document.activeElement === inputRef.current,\n input: inputStr,\n })\n : inputStr;\n\n const hasAddon = addonBefore || addonAfter;\n\n const sizeClasses = cn(\n size === 'large' && 'ald-input-number-large tw-h-9 tw-text-base',\n size === 'small' && 'ald-input-number-small tw-h-7 tw-text-xs',\n size !== 'large' &&\n size !== 'small' &&\n 'ald-input-number-middle tw-h-8 tw-text-sm',\n );\n\n const radiusClasses = cn(\n size === 'large' && 'tw-rounded-[8px]',\n size === 'small' && 'tw-rounded-[4px]',\n size !== 'large' && size !== 'small' && 'tw-rounded-[6px]',\n );\n\n const inputBox = (\n <div\n data-testid={!hasAddon ? dataTestId : undefined}\n className={cn(\n // 默认宽度 90px 与 antd InputNumber 对齐:input 上 size={1} 会让 intrinsic\n // 宽度坍缩到 1 字符,若 wrapper 也不给宽度,整个组件在 flex / inline 上下\n // 文里就只剩 ~9px。消费方可通过 className(`w-[xxx]`)或 style 覆盖。\n 'ald-input-number tw-inline-flex tw-w-[90px] tw-min-w-0 tw-items-center tw-overflow-hidden tw-transition-[border-color,box-shadow] tw-duration-150 tw-ease-out',\n bordered &&\n 'tw-border tw-border-solid tw-border-[var(--border-neutral-subtle)]',\n mergedDisabled\n ? 'ald-input-number-disabled tw-cursor-not-allowed tw-bg-[var(--background-neutral-subtle)] tw-text-[var(--content-secondary)]'\n : 'tw-bg-[var(--background-default)] tw-text-[var(--content-primary)] hover:tw-border-[var(--border-brand-strong)]',\n !hasAddon && sizeClasses,\n hasAddon\n ? 'tw-h-auto tw-flex-1 tw-self-stretch tw-rounded-none'\n : radiusClasses,\n status === 'error' && 'tw-border-[var(--border-negative-strong)]',\n status === 'warning' && 'tw-border-[var(--border-warning-subtle)]',\n // Focus State Layer belongs to the field envelope, while the input\n // remains the native focus owner. It intentionally does not share\n // status, hover, or disabled styling and does not affect Geometry.\n !mergedDisabled && [\n !status &&\n 'has-[input:focus]:!tw-border-[var(--border-brand-strong)]',\n 'has-[input:focus-visible]:tw-shadow-[inset_0_0_0_1px_var(--focus-ring)]',\n 'forced-colors:has-[input:focus-visible]:tw-outline',\n 'forced-colors:has-[input:focus-visible]:tw-outline-2',\n 'forced-colors:has-[input:focus-visible]:tw-outline-offset-2',\n 'forced-colors:has-[input:focus-visible]:tw-outline-[Highlight]',\n ],\n !hasAddon && className,\n )}\n style={!hasAddon ? style : undefined}\n >\n {prefix && (\n <span className=\"tw-px-2 tw-text-[var(--content-secondary)]\">\n {prefix}\n </span>\n )}\n <input\n {...nativeInputAriaProps}\n ref={inputRef}\n id={id}\n type=\"text\"\n inputMode=\"numeric\"\n // size=1 让 <input> 的 intrinsic 宽度坍缩到 1 个字符,\n // 在 flex 父容器中按 width / flex-1 受控,避免默认 size=20 把 inline-flex 外层撑出 ~150px 内容宽度。\n size={1}\n className={cn(\n // Typography Foundation: editable numeric content and its placeholder\n // consume the same approved Body Dense contract as Input. Prefix and\n // add-on surfaces remain outside this Typography ownership.\n 'tw-min-w-0 tw-flex-1 tw-border-0 tw-bg-[var(--action-ghost-normal)] tw-px-[7px] tw-text-inherit tw-outline-none tw-text-typography-body-dense',\n mergedDisabled &&\n 'tw-cursor-not-allowed tw-text-[var(--content-secondary)]',\n )}\n value={displayValue}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n disabled={mergedDisabled}\n readOnly={readOnly}\n autoFocus={autoFocus}\n placeholder={placeholder}\n aria-label={ariaLabel}\n />\n </div>\n );\n\n if (!hasAddon) return inputBox;\n\n return (\n <div\n data-testid={dataTestId}\n className={cn(\n // 自然宽 = 内部 inputBox 默认 90px + addonBefore/After 内容宽。inline-flex\n // 让外层按内容宽呈现,不再 `tw-w-full` 强吞 flex 父级剩余空间——后者会把\n // 同 flex 行的 Slider 挤成 0 宽(看板\"图形宽度\"行只剩 thumb 圆点的根因)。\n // `tw-min-w-0` 让本身作为 flex item 时受消费方 `flex-basis` / `width`\n // 真正约束——默认 `min-width: auto = min-content` 会被内部 input(90px) +\n // addon 撑到 ~126px,覆盖消费方的 flex-basis。内部 inputBox 已 `tw-min-w-0\n // tw-overflow-hidden`,被约束后内容会按 input flex-1 收缩,不会溢出。\n // 消费方需要撑满显式加 `tw-w-full` className,需要更窄/更宽直接覆盖宽度。\n 'ald-input-number-group tw-inline-flex tw-min-w-0 tw-items-stretch',\n sizeClasses,\n radiusClasses,\n mergedDisabled && 'ald-input-number-disabled',\n className,\n )}\n style={style}\n >\n {addonBefore && (\n <span\n className={cn(\n 'ald-input-number-addon tw-flex tw-shrink-0 tw-items-center tw-border tw-border-r-0 tw-border-solid tw-border-[var(--border-neutral-subtle)] tw-bg-[var(--background-neutral-subtle)] tw-px-3 tw-text-[var(--content-secondary)]',\n size === 'large' && 'tw-rounded-l-[8px]',\n size === 'small' && 'tw-rounded-l-[4px]',\n size !== 'large' && size !== 'small' && 'tw-rounded-l-[6px]',\n )}\n >\n {addonBefore}\n </span>\n )}\n {inputBox}\n {addonAfter && (\n <span\n className={cn(\n 'ald-input-number-addon tw-flex tw-shrink-0 tw-items-center tw-border tw-border-l-0 tw-border-solid tw-border-[var(--border-neutral-subtle)] tw-bg-[var(--background-neutral-subtle)] tw-px-3 tw-text-[var(--content-secondary)]',\n size === 'large' && 'tw-rounded-r-[8px]',\n size === 'small' && 'tw-rounded-r-[4px]',\n size !== 'large' && size !== 'small' && 'tw-rounded-r-[6px]',\n )}\n >\n {addonAfter}\n </span>\n )}\n </div>\n );\n}\n\nexport type { IInputNumberProps };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useCallback","useContext","useEffect","useRef","useState","DisabledContext","SizeContext","cn","IInputNumberProps","pickAriaProps","props","Record","Object","keys","reduce","ariaProps","key","startsWith","InputNumber","className","disabled","customDisabled","size","customSize","status","value","controlledValue","defaultValue","min","Infinity","max","step","precision","onChange","onPressEnter","onBlur","onFocus","formatter","parser","prefix","addonBefore","addonAfter","placeholder","autoFocus","bordered","keyboard","readonly","readOnly","style","id","dataTestId","ariaLabel","contentSize","mergedDisabled","nativeInputAriaProps","isControlled","innerValue","setInnerValue","currentValue","inputStr","setInputStr","undefined","String","inputRef","HTMLInputElement","clamp","val","v","Math","Number","toFixed","updateValue","newVal","clamped","handleChange","e","ChangeEvent","raw","target","parsed","isNaN","handleBlur","FocusEvent","handleKeyDown","KeyboardEvent","numStep","preventDefault","displayValue","userTyping","document","activeElement","current","input","hasAddon","sizeClasses","radiusClasses","inputBox"],"sources":["../../src/InputNumber/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport DisabledContext from '../ConfigProvider/DisabledContext';\nimport SizeContext from '../ConfigProvider/sizeContext';\nimport { cn } from '../lib/utils';\nimport { IInputNumberProps } from './type';\n\nfunction pickAriaProps(props: IInputNumberProps): Record<string, unknown> {\n return Object.keys(props).reduce<Record<string, unknown>>(\n (ariaProps, key) => {\n if (key.startsWith('aria-')) {\n ariaProps[key] = props[key as keyof IInputNumberProps];\n }\n return ariaProps;\n },\n {},\n );\n}\n\nexport default function InputNumber(props: IInputNumberProps) {\n const {\n className,\n disabled: customDisabled,\n size: customSize,\n status,\n value: controlledValue,\n defaultValue,\n min = -Infinity,\n max = Infinity,\n step = 1,\n precision,\n onChange,\n onPressEnter,\n onBlur,\n onFocus,\n formatter,\n parser,\n prefix,\n addonBefore,\n addonAfter,\n placeholder,\n autoFocus,\n bordered = true,\n keyboard = true,\n readonly: readOnly,\n style,\n id,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n } = props;\n\n const contentSize = useContext(SizeContext);\n const size = customSize || contentSize || 'middle';\n const disabled = useContext(DisabledContext);\n const mergedDisabled = customDisabled ?? disabled;\n const nativeInputAriaProps = pickAriaProps(props);\n\n const isControlled = 'value' in props;\n const [innerValue, setInnerValue] = useState<number | null | undefined>(\n defaultValue ?? null,\n );\n const currentValue = isControlled ? controlledValue : innerValue;\n\n const [inputStr, setInputStr] = useState(\n currentValue !== null && currentValue !== undefined\n ? String(currentValue)\n : '',\n );\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (currentValue !== null && currentValue !== undefined) {\n setInputStr(String(currentValue));\n } else {\n setInputStr('');\n }\n }, [currentValue]);\n\n const clamp = useCallback(\n (val: number) => {\n let v = Math.max(min, Math.min(max, val));\n if (precision !== undefined) {\n v = Number(v.toFixed(precision));\n }\n return v;\n },\n [min, max, precision],\n );\n\n const updateValue = useCallback(\n (newVal: number | null) => {\n const clamped = newVal !== null ? clamp(newVal) : null;\n if (!isControlled) setInnerValue(clamped);\n onChange?.(clamped);\n },\n [clamp, isControlled, onChange],\n );\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value;\n setInputStr(raw);\n if (raw === '') {\n // 清空立即同步到 value,对齐 antd 行为。\n // 否则消费方\"清空后直接点确定\"(未 blur 触发 handleBlur 的 null 兜底)拿到的\n // 仍是旧值,把已清空的筛选条件错误带进 query(被 release-2.3_test 周期实例\n // 更多浮窗实测复现)。\n updateValue(null);\n return;\n }\n if (raw === '-') return;\n const parsed = parser ? parser(raw) : Number(raw);\n if (!isNaN(parsed)) {\n updateValue(parsed);\n }\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n if (inputStr === '' || inputStr === '-') {\n updateValue(null);\n setInputStr('');\n } else {\n const parsed = parser ? parser(inputStr) : Number(inputStr);\n if (!isNaN(parsed)) {\n const clamped = clamp(parsed);\n updateValue(clamped);\n setInputStr(String(clamped));\n }\n }\n onBlur?.(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onPressEnter?.(e);\n }\n if (!keyboard) return;\n const numStep = typeof step === 'string' ? Number(step) : step;\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n updateValue(clamp((currentValue ?? 0) + numStep));\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n updateValue(clamp((currentValue ?? 0) - numStep));\n }\n };\n\n const displayValue = formatter\n ? formatter(currentValue ?? undefined, {\n userTyping: document.activeElement === inputRef.current,\n input: inputStr,\n })\n : inputStr;\n\n const hasAddon = addonBefore || addonAfter;\n\n const sizeClasses = cn(\n size === 'large' && 'ald-input-number-large tw-h-9 tw-text-base',\n size === 'small' && 'ald-input-number-small tw-h-7 tw-text-xs',\n size !== 'large' &&\n size !== 'small' &&\n 'ald-input-number-middle tw-h-8 tw-text-sm',\n );\n\n const radiusClasses = cn(\n size === 'large' && 'tw-rounded-[8px]',\n size === 'small' && 'tw-rounded-[4px]',\n size !== 'large' && size !== 'small' && 'tw-rounded-[6px]',\n );\n\n const inputBox = (\n <div\n data-testid={!hasAddon ? dataTestId : undefined}\n className={cn(\n // 默认宽度 90px 与 antd InputNumber 对齐:input 上 size={1} 会让 intrinsic\n // 宽度坍缩到 1 字符,若 wrapper 也不给宽度,整个组件在 flex / inline 上下\n // 文里就只剩 ~9px。消费方可通过 className(`w-[xxx]`)或 style 覆盖。\n 'ald-input-number tw-inline-flex tw-w-[90px] tw-min-w-0 tw-items-center tw-overflow-hidden tw-transition-[border-color,box-shadow] tw-duration-150 tw-ease-out',\n bordered &&\n 'tw-border tw-border-solid tw-border-[var(--border-neutral-subtle)]',\n mergedDisabled\n ? 'ald-input-number-disabled tw-cursor-not-allowed tw-bg-[var(--background-neutral-subtle)] tw-text-[var(--content-secondary)]'\n : 'tw-bg-[var(--background-default)] tw-text-[var(--content-primary)] hover:tw-border-[var(--border-brand-strong)]',\n !hasAddon && sizeClasses,\n hasAddon\n ? 'tw-h-auto tw-flex-1 tw-self-stretch tw-rounded-none'\n : radiusClasses,\n status === 'error' && 'tw-border-[var(--border-negative-strong)]',\n status === 'warning' && 'tw-border-[var(--border-warning-subtle)]',\n // Focus State Layer belongs to the field envelope, while the input\n // remains the native focus owner. It intentionally does not share\n // status, hover, or disabled styling and does not affect Geometry.\n !mergedDisabled && [\n !status &&\n 'has-[input:focus]:!tw-border-[var(--border-brand-strong)]',\n 'has-[input:focus-visible]:tw-shadow-[inset_0_0_0_1px_var(--focus-ring)]',\n 'forced-colors:has-[input:focus-visible]:tw-outline',\n 'forced-colors:has-[input:focus-visible]:tw-outline-2',\n 'forced-colors:has-[input:focus-visible]:tw-outline-offset-2',\n 'forced-colors:has-[input:focus-visible]:tw-outline-[Highlight]',\n ],\n !hasAddon && className,\n )}\n style={!hasAddon ? style : undefined}\n >\n {prefix && (\n <span className=\"tw-px-2 tw-text-[var(--content-secondary)]\">\n {prefix}\n </span>\n )}\n <input\n {...nativeInputAriaProps}\n ref={inputRef}\n id={id}\n type=\"text\"\n inputMode=\"numeric\"\n // size=1 让 <input> 的 intrinsic 宽度坍缩到 1 个字符,\n // 在 flex 父容器中按 width / flex-1 受控,避免默认 size=20 把 inline-flex 外层撑出 ~150px 内容宽度。\n size={1}\n className={cn(\n // Typography Foundation: editable numeric content and its placeholder\n // consume the same approved Body Dense contract as Input. Prefix and\n // add-on surfaces remain outside this Typography ownership.\n 'tw-min-w-0 tw-flex-1 tw-border-0 tw-bg-[var(--action-ghost-normal)] tw-px-[7px] tw-text-inherit tw-outline-none tw-text-typography-body-dense',\n mergedDisabled &&\n 'tw-cursor-not-allowed tw-text-[var(--content-secondary)]',\n )}\n value={displayValue}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n disabled={mergedDisabled}\n readOnly={readOnly}\n autoFocus={autoFocus}\n placeholder={placeholder}\n aria-label={ariaLabel}\n />\n </div>\n );\n\n if (!hasAddon) return inputBox;\n\n return (\n <div\n data-testid={dataTestId}\n className={cn(\n // 自然宽 = 内部 inputBox 默认 90px + addonBefore/After 内容宽。inline-flex\n // 让外层按内容宽呈现,不再 `tw-w-full` 强吞 flex 父级剩余空间——后者会把\n // 同 flex 行的 Slider 挤成 0 宽(看板\"图形宽度\"行只剩 thumb 圆点的根因)。\n // `tw-min-w-0` 让本身作为 flex item 时受消费方 `flex-basis` / `width`\n // 真正约束——默认 `min-width: auto = min-content` 会被内部 input(90px) +\n // addon 撑到 ~126px,覆盖消费方的 flex-basis。内部 inputBox 已 `tw-min-w-0\n // tw-overflow-hidden`,被约束后内容会按 input flex-1 收缩,不会溢出。\n // 消费方需要撑满显式加 `tw-w-full` className,需要更窄/更宽直接覆盖宽度。\n 'ald-input-number-group tw-inline-flex tw-min-w-0 tw-items-stretch',\n sizeClasses,\n radiusClasses,\n mergedDisabled && 'ald-input-number-disabled',\n className,\n )}\n style={style}\n >\n {addonBefore && (\n <span\n className={cn(\n 'ald-input-number-addon tw-flex tw-shrink-0 tw-items-center tw-border tw-border-r-0 tw-border-solid tw-border-[var(--border-neutral-subtle)] tw-bg-[var(--background-neutral-subtle)] tw-px-3 tw-text-[var(--content-secondary)]',\n size === 'large' && 'tw-rounded-l-[8px]',\n size === 'small' && 'tw-rounded-l-[4px]',\n size !== 'large' && size !== 'small' && 'tw-rounded-l-[6px]',\n )}\n >\n {addonBefore}\n </span>\n )}\n {inputBox}\n {addonAfter && (\n <span\n className={cn(\n 'ald-input-number-addon tw-flex tw-shrink-0 tw-items-center tw-border tw-border-l-0 tw-border-solid tw-border-[var(--border-neutral-subtle)] tw-bg-[var(--background-neutral-subtle)] tw-px-3 tw-text-[var(--content-secondary)]',\n size === 'large' && 'tw-rounded-r-[8px]',\n size === 'small' && 'tw-rounded-r-[4px]',\n size !== 'large' && size !== 'small' && 'tw-rounded-r-[6px]',\n )}\n >\n {addonAfter}\n </span>\n )}\n </div>\n );\n}\n\nexport type { IInputNumberProps };\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
export default function InputSearch(props: IProps):
|
|
2
|
+
export default function InputSearch(props: IProps): React.JSX.Element;
|
|
3
3
|
interface IProps {
|
|
4
4
|
/** 搜索回调,在输入完成时触发(回车、输入法结束、非输入法输入时) */
|
|
5
5
|
onSearch: (value: string) => void;
|
|
@@ -3,7 +3,8 @@ import Memo from "../Icon/components/SearchLine.js";
|
|
|
3
3
|
import { ELangType, LocaleContext, getTranslator } from "../locale/default.js";
|
|
4
4
|
import Input from "../Input/index.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
import {
|
|
6
|
+
import { c } from "react-compiler-runtime";
|
|
7
|
+
import { useContext, useRef, useState } from "react";
|
|
7
8
|
import { jsx } from "react/jsx-runtime";
|
|
8
9
|
import _ from "lodash";
|
|
9
10
|
import { useDebounceFn } from "ahooks";
|
|
@@ -16,100 +17,234 @@ var DEFAULT_EN_WIDTH = 98;
|
|
|
16
17
|
var DEFAULT_LARGE_WIDTH = 88;
|
|
17
18
|
var DEFAULT_EN_LARGE_WIDTH = 108;
|
|
18
19
|
function InputSearch(props) {
|
|
20
|
+
const $ = c(58);
|
|
19
21
|
const { locale } = useContext(LocaleContext);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
let t0;
|
|
23
|
+
if ($[0] !== locale) {
|
|
24
|
+
t0 = getTranslator(locale);
|
|
25
|
+
$[0] = locale;
|
|
26
|
+
$[1] = t0;
|
|
27
|
+
} else t0 = $[1];
|
|
28
|
+
const t = t0;
|
|
29
|
+
const { onSearch, onChange, className, debounce: t1, placeholder, size: t2, defaultValue, value, inputMode: t3, style, onBlur, disabled, "data-testid": dataTestid, "aria-label": ariaLabel } = props;
|
|
30
|
+
const debounce = t1 === void 0 ? true : t1;
|
|
31
|
+
const size = t2 === void 0 ? "small" : t2;
|
|
32
|
+
const inputMode = t3 === void 0 ? false : t3;
|
|
33
|
+
let t4;
|
|
34
|
+
bb0: if (size === "small") {
|
|
35
|
+
if (locale === ELangType.EN) {
|
|
36
|
+
t4 = DEFAULT_EN_SMALL_WIDTH;
|
|
37
|
+
break bb0;
|
|
32
38
|
}
|
|
33
|
-
|
|
39
|
+
t4 = DEFAULT_SMALL_WIDTH;
|
|
40
|
+
} else if (size === "middle") {
|
|
41
|
+
if (locale === ELangType.EN) {
|
|
42
|
+
t4 = DEFAULT_EN_WIDTH;
|
|
43
|
+
break bb0;
|
|
44
|
+
}
|
|
45
|
+
t4 = DEFAULT_WIDTH;
|
|
46
|
+
} else {
|
|
47
|
+
if (locale === ELangType.EN) {
|
|
48
|
+
t4 = DEFAULT_EN_LARGE_WIDTH;
|
|
49
|
+
break bb0;
|
|
50
|
+
}
|
|
51
|
+
t4 = DEFAULT_LARGE_WIDTH;
|
|
52
|
+
}
|
|
53
|
+
const defaultWidth = t4;
|
|
34
54
|
const isControlled = "value" in props;
|
|
35
55
|
const [searchValue, setSearchValue] = useState(defaultValue || "");
|
|
36
56
|
const currentValue = isControlled ? value ?? "" : searchValue;
|
|
37
57
|
const isComposing = useRef(false);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
let t5;
|
|
59
|
+
if ($[2] !== onSearch) {
|
|
60
|
+
t5 = (e) => {
|
|
61
|
+
if (!isComposing.current) onSearch(_.trim(e.target.value));
|
|
62
|
+
};
|
|
63
|
+
$[2] = onSearch;
|
|
64
|
+
$[3] = t5;
|
|
65
|
+
} else t5 = $[3];
|
|
66
|
+
const onPressEnter = t5;
|
|
67
|
+
let t6;
|
|
68
|
+
if ($[4] !== onSearch) {
|
|
69
|
+
t6 = (val) => {
|
|
70
|
+
if (!isComposing.current) onSearch(val);
|
|
71
|
+
};
|
|
72
|
+
$[4] = onSearch;
|
|
73
|
+
$[5] = t6;
|
|
74
|
+
} else t6 = $[5];
|
|
75
|
+
let t7;
|
|
76
|
+
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
77
|
+
t7 = { wait: 500 };
|
|
78
|
+
$[6] = t7;
|
|
79
|
+
} else t7 = $[6];
|
|
80
|
+
const { run: debounceSearch } = useDebounceFn(t6, t7);
|
|
81
|
+
let t8;
|
|
82
|
+
if ($[7] !== debounce || $[8] !== debounceSearch || $[9] !== isControlled || $[10] !== onChange || $[11] !== onSearch) {
|
|
83
|
+
t8 = (e_0) => {
|
|
84
|
+
const newValue = e_0.target.value;
|
|
85
|
+
if (!isControlled) setSearchValue(newValue);
|
|
86
|
+
else {
|
|
87
|
+
onChange?.(newValue);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (!isComposing.current) if (debounce && !isControlled) debounceSearch(newValue);
|
|
91
|
+
else onSearch(newValue);
|
|
92
|
+
};
|
|
93
|
+
$[7] = debounce;
|
|
94
|
+
$[8] = debounceSearch;
|
|
95
|
+
$[9] = isControlled;
|
|
96
|
+
$[10] = onChange;
|
|
97
|
+
$[11] = onSearch;
|
|
98
|
+
$[12] = t8;
|
|
99
|
+
} else t8 = $[12];
|
|
100
|
+
const onChangeValue = t8;
|
|
101
|
+
let t9;
|
|
102
|
+
if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
103
|
+
t9 = () => {
|
|
104
|
+
isComposing.current = true;
|
|
105
|
+
};
|
|
106
|
+
$[13] = t9;
|
|
107
|
+
} else t9 = $[13];
|
|
108
|
+
const handleCompositionStart = t9;
|
|
109
|
+
let t10;
|
|
110
|
+
if ($[14] !== debounce || $[15] !== debounceSearch || $[16] !== isControlled || $[17] !== onSearch) {
|
|
111
|
+
t10 = (e_1) => {
|
|
112
|
+
if (isControlled) return;
|
|
113
|
+
isComposing.current = false;
|
|
114
|
+
const value_0 = e_1.target.value;
|
|
115
|
+
if (debounce) debounceSearch(value_0);
|
|
116
|
+
else onSearch(value_0);
|
|
117
|
+
};
|
|
118
|
+
$[14] = debounce;
|
|
119
|
+
$[15] = debounceSearch;
|
|
120
|
+
$[16] = isControlled;
|
|
121
|
+
$[17] = onSearch;
|
|
122
|
+
$[18] = t10;
|
|
123
|
+
} else t10 = $[18];
|
|
124
|
+
const handleCompositionEnd = t10;
|
|
125
|
+
let t11;
|
|
126
|
+
bb1: {
|
|
127
|
+
if (size === "middle" || size === "large") {
|
|
128
|
+
t11 = 20;
|
|
129
|
+
break bb1;
|
|
50
130
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
const iconSize = useMemo(() => {
|
|
76
|
-
if (size === "middle" || size === "large") return 20;
|
|
77
|
-
return 16;
|
|
78
|
-
}, [size]);
|
|
79
|
-
return /* @__PURE__ */ jsx("div", {
|
|
80
|
-
className: cn("ald-input-search", className, {
|
|
81
|
-
["input-search-size-small"]: size === "small",
|
|
82
|
-
["input-search-size-middle"]: size === "middle",
|
|
83
|
-
["input-search-size-large"]: size === "large"
|
|
84
|
-
}),
|
|
85
|
-
style: {
|
|
131
|
+
t11 = 16;
|
|
132
|
+
}
|
|
133
|
+
const iconSize = t11;
|
|
134
|
+
const t12 = size === "small";
|
|
135
|
+
const t13 = size === "middle";
|
|
136
|
+
const t14 = size === "large";
|
|
137
|
+
let t15;
|
|
138
|
+
if ($[19] !== className || $[20] !== t12 || $[21] !== t13 || $[22] !== t14) {
|
|
139
|
+
t15 = cn("ald-input-search", className, {
|
|
140
|
+
"input-search-size-small": t12,
|
|
141
|
+
"input-search-size-middle": t13,
|
|
142
|
+
"input-search-size-large": t14
|
|
143
|
+
});
|
|
144
|
+
$[19] = className;
|
|
145
|
+
$[20] = t12;
|
|
146
|
+
$[21] = t13;
|
|
147
|
+
$[22] = t14;
|
|
148
|
+
$[23] = t15;
|
|
149
|
+
} else t15 = $[23];
|
|
150
|
+
const t16 = (props.initWidth || defaultWidth) + "px";
|
|
151
|
+
const t17 = (props.expandedWidth || DEFAULT_EXPANDED_WIDTH) + "px";
|
|
152
|
+
let t18;
|
|
153
|
+
if ($[24] !== style || $[25] !== t16 || $[26] !== t17) {
|
|
154
|
+
t18 = {
|
|
86
155
|
...style,
|
|
87
|
-
"--init-width":
|
|
88
|
-
"--expanded-width":
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
156
|
+
"--init-width": t16,
|
|
157
|
+
"--expanded-width": t17
|
|
158
|
+
};
|
|
159
|
+
$[24] = style;
|
|
160
|
+
$[25] = t16;
|
|
161
|
+
$[26] = t17;
|
|
162
|
+
$[27] = t18;
|
|
163
|
+
} else t18 = $[27];
|
|
164
|
+
const t19 = t18;
|
|
165
|
+
const t20 = currentValue.length !== 0 || inputMode;
|
|
166
|
+
const t21 = currentValue.length !== 0;
|
|
167
|
+
let t22;
|
|
168
|
+
if ($[28] !== inputMode || $[29] !== t20 || $[30] !== t21) {
|
|
169
|
+
t22 = cn({
|
|
170
|
+
"input-search-has-value": t20,
|
|
171
|
+
"input-search-has-content": t21,
|
|
172
|
+
"inputMode": inputMode
|
|
173
|
+
});
|
|
174
|
+
$[28] = inputMode;
|
|
175
|
+
$[29] = t20;
|
|
176
|
+
$[30] = t21;
|
|
177
|
+
$[31] = t22;
|
|
178
|
+
} else t22 = $[31];
|
|
179
|
+
let t23;
|
|
180
|
+
if ($[32] !== iconSize) {
|
|
181
|
+
t23 = /* @__PURE__ */ jsx(Memo, { size: iconSize });
|
|
182
|
+
$[32] = iconSize;
|
|
183
|
+
$[33] = t23;
|
|
184
|
+
} else t23 = $[33];
|
|
185
|
+
const t24 = placeholder || t.InputSearch.search;
|
|
186
|
+
let t25;
|
|
187
|
+
if ($[34] !== currentValue || $[35] !== defaultValue || $[36] !== isControlled) {
|
|
188
|
+
t25 = isControlled ? { value: currentValue } : { defaultValue };
|
|
189
|
+
$[34] = currentValue;
|
|
190
|
+
$[35] = defaultValue;
|
|
191
|
+
$[36] = isControlled;
|
|
192
|
+
$[37] = t25;
|
|
193
|
+
} else t25 = $[37];
|
|
194
|
+
let t26;
|
|
195
|
+
if ($[38] !== currentValue || $[39] !== onBlur) {
|
|
196
|
+
t26 = (e_2) => {
|
|
197
|
+
if (onBlur) onBlur(currentValue, e_2);
|
|
198
|
+
};
|
|
199
|
+
$[38] = currentValue;
|
|
200
|
+
$[39] = onBlur;
|
|
201
|
+
$[40] = t26;
|
|
202
|
+
} else t26 = $[40];
|
|
203
|
+
let t27;
|
|
204
|
+
if ($[41] !== ariaLabel || $[42] !== dataTestid || $[43] !== disabled || $[44] !== handleCompositionEnd || $[45] !== onChangeValue || $[46] !== onPressEnter || $[47] !== size || $[48] !== t22 || $[49] !== t23 || $[50] !== t24 || $[51] !== t25 || $[52] !== t26) {
|
|
205
|
+
t27 = /* @__PURE__ */ jsx(Input, {
|
|
206
|
+
className: t22,
|
|
96
207
|
size,
|
|
97
208
|
onChange: onChangeValue,
|
|
98
209
|
onPressEnter,
|
|
99
210
|
onCompositionStart: handleCompositionStart,
|
|
100
211
|
onCompositionEnd: handleCompositionEnd,
|
|
101
|
-
prefix:
|
|
102
|
-
placeholder:
|
|
212
|
+
prefix: t23,
|
|
213
|
+
placeholder: t24,
|
|
103
214
|
allowClear: true,
|
|
104
215
|
disabled,
|
|
105
216
|
"data-testid": dataTestid,
|
|
106
217
|
"aria-label": ariaLabel,
|
|
107
|
-
...
|
|
108
|
-
onBlur:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
218
|
+
...t25,
|
|
219
|
+
onBlur: t26
|
|
220
|
+
});
|
|
221
|
+
$[41] = ariaLabel;
|
|
222
|
+
$[42] = dataTestid;
|
|
223
|
+
$[43] = disabled;
|
|
224
|
+
$[44] = handleCompositionEnd;
|
|
225
|
+
$[45] = onChangeValue;
|
|
226
|
+
$[46] = onPressEnter;
|
|
227
|
+
$[47] = size;
|
|
228
|
+
$[48] = t22;
|
|
229
|
+
$[49] = t23;
|
|
230
|
+
$[50] = t24;
|
|
231
|
+
$[51] = t25;
|
|
232
|
+
$[52] = t26;
|
|
233
|
+
$[53] = t27;
|
|
234
|
+
} else t27 = $[53];
|
|
235
|
+
let t28;
|
|
236
|
+
if ($[54] !== t15 || $[55] !== t19 || $[56] !== t27) {
|
|
237
|
+
t28 = /* @__PURE__ */ jsx("div", {
|
|
238
|
+
className: t15,
|
|
239
|
+
style: t19,
|
|
240
|
+
children: t27
|
|
241
|
+
});
|
|
242
|
+
$[54] = t15;
|
|
243
|
+
$[55] = t19;
|
|
244
|
+
$[56] = t27;
|
|
245
|
+
$[57] = t28;
|
|
246
|
+
} else t28 = $[57];
|
|
247
|
+
return t28;
|
|
113
248
|
}
|
|
114
249
|
//#endregion
|
|
115
250
|
export { InputSearch as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/InputSearch/index.tsx"],"sourcesContent":["import { useDebounceFn } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport _ from 'lodash';\nimport React, {\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { SearchLine } from '../Icon';\nimport Input from '../Input';\nimport { ELangType, LocaleContext, getTranslator } from '../locale/default';\nimport './input-search.css';\n\ninterface ICustomCSSProperties extends React.CSSProperties {\n '--init-width'?: string;\n '--expanded-width'?: string;\n}\n\nconst DEFAULT_EXPANDED_WIDTH = 200;\n\nconst DEFAULT_SMALL_WIDTH = 68;\nconst DEFAULT_WIDTH = 78;\nconst DEFAULT_EN_SMALL_WIDTH = 88;\nconst DEFAULT_EN_WIDTH = 98;\nconst DEFAULT_LARGE_WIDTH = 88;\nconst DEFAULT_EN_LARGE_WIDTH = 108;\n\nexport default function InputSearch(props: IProps) {\n const { locale } = useContext(LocaleContext);\n const t = getTranslator(locale);\n\n const {\n onSearch,\n onChange,\n className,\n debounce = true,\n placeholder,\n size = 'small',\n defaultValue,\n value,\n inputMode = false,\n style,\n onBlur,\n disabled,\n 'data-testid': dataTestid,\n 'aria-label': ariaLabel,\n } = props;\n\n const defaultWidth = useMemo(() => {\n if (size === 'small') {\n if (locale === ELangType.EN) {\n return DEFAULT_EN_SMALL_WIDTH;\n }\n return DEFAULT_SMALL_WIDTH;\n } else if (size === 'middle') {\n if (locale === ELangType.EN) {\n return DEFAULT_EN_WIDTH;\n }\n return DEFAULT_WIDTH;\n } else {\n if (locale === ELangType.EN) {\n return DEFAULT_EN_LARGE_WIDTH;\n }\n return DEFAULT_LARGE_WIDTH;\n }\n }, [locale, size]);\n\n // 判断是否为受控模式\n const isControlled = 'value' in props;\n const [searchValue, setSearchValue] = useState(defaultValue || '');\n\n // 获取当前值:受控模式使用 value,非受控模式使用内部状态\n const currentValue = isControlled ? value ?? '' : searchValue;\n\n const isComposing = useRef(false);\n\n const onPressEnter = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (!isComposing.current) {\n onSearch(_.trim((e.target as HTMLInputElement).value));\n }\n },\n [onSearch],\n );\n\n const DEFAULT_DEBOUNCE_TIME = 500;\n const { run: debounceSearch } = useDebounceFn<(val: string) => void>(\n (val) => {\n if (!isComposing.current) {\n onSearch(val);\n }\n },\n {\n wait: DEFAULT_DEBOUNCE_TIME,\n },\n );\n\n const onChangeValue = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n\n // 非受控模式才更新内部状态\n if (!isControlled) {\n setSearchValue(newValue);\n } else {\n onChange?.(newValue);\n return;\n }\n\n if (!isComposing.current) {\n // 受控的时候debounce不生效\n if (debounce && !isControlled) {\n debounceSearch(newValue);\n } else {\n onSearch(newValue);\n }\n }\n },\n [debounce, debounceSearch, onSearch, isControlled, onChange],\n );\n\n const handleCompositionStart = useCallback(() => {\n isComposing.current = true;\n }, []);\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLInputElement>) => {\n if (isControlled) {\n return;\n }\n isComposing.current = false;\n // 在输入法结束后触发一次搜索\n const value = (e.target as HTMLInputElement).value;\n if (debounce) {\n debounceSearch(value);\n } else {\n onSearch(value);\n }\n },\n [debounce, debounceSearch, isControlled, onSearch],\n );\n\n const iconSize = useMemo(() => {\n if (size === 'middle' || size === 'large') {\n return 20;\n }\n return 16;\n }, [size]);\n\n return (\n <div\n className={cn('ald-input-search', className, {\n ['input-search-size-small']: size === 'small',\n ['input-search-size-middle']: size === 'middle',\n ['input-search-size-large']: size === 'large',\n })}\n style={\n {\n ...style,\n '--init-width': (props.initWidth || defaultWidth) + 'px',\n '--expanded-width':\n (props.expandedWidth || DEFAULT_EXPANDED_WIDTH) + 'px',\n } as ICustomCSSProperties\n }\n >\n <Input\n className={cn({\n ['input-search-has-value']: currentValue.length !== 0 || inputMode,\n ['input-search-has-content']: currentValue.length !== 0,\n ['inputMode']: inputMode,\n })}\n size={size}\n onChange={onChangeValue}\n onPressEnter={onPressEnter}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n prefix={<SearchLine size={iconSize} />}\n placeholder={placeholder || t.InputSearch.search}\n allowClear\n disabled={disabled}\n data-testid={dataTestid}\n aria-label={ariaLabel}\n {...(isControlled\n ? { value: currentValue }\n : { defaultValue: defaultValue })}\n onBlur={(e) => {\n if (onBlur) {\n onBlur(currentValue, e);\n }\n }}\n />\n </div>\n );\n}\n\ninterface IProps {\n /** 搜索回调,在输入完成时触发(回车、输入法结束、非输入法输入时) */\n onSearch: (value: string) => void;\n /** 值变化回调(受控模式时推荐使用,每次输入都触发,包括输入法期间) */\n onChange?: (value: string) => void;\n onBlur?: (value: string, e: React.FocusEvent<HTMLInputElement>) => void;\n className?: string;\n // 是否开启防抖\n debounce?: boolean;\n placeholder?: string;\n size?: 'small' | 'middle' | 'large';\n initWidth?: number;\n /** 展开态(hover / focus / 有值)宽度,默认 200px。\n * 收起态宽度仍由 initWidth 控制;inputMode 始终 100%,不受本参数影响。 */\n expandedWidth?: number;\n defaultValue?: string;\n // 受控模式的值\n value?: string;\n inputMode?: boolean;\n style?: React.CSSProperties;\n disabled?: boolean;\n /** 透传到内部 input 元素的 data-testid,用于自动化测试定位 */\n 'data-testid'?: string;\n /** 透传到内部 input 元素的 aria-label,用于可访问性与自动化测试定位 */\n 'aria-label'?: string;\n}\n"],"mappings":";;;;;;;;;;AAoBA,IAAM,yBAAyB;AAE/B,IAAM,sBAAsB;AAC5B,IAAM,gBAAgB;AACtB,IAAM,yBAAyB;AAC/B,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAC5B,IAAM,yBAAyB;AAE/B,SAAwB,YAAY,OAAe;CACjD,MAAM,EAAE,WAAW,WAAW,cAAc;CAC5C,MAAM,IAAI,cAAc,OAAO;CAE/B,MAAM,EACJ,UACA,UACA,WACA,WAAW,MACX,aACA,OAAO,SACP,cACA,OACA,YAAY,OACZ,OACA,QACA,UACA,eAAe,YACf,cAAc,cACZ;CAEJ,MAAM,eAAe,cAAc;AACjC,MAAI,SAAS,SAAS;AACpB,OAAI,WAAW,UAAU,GACvB,QAAO;AAET,UAAO;aACE,SAAS,UAAU;AAC5B,OAAI,WAAW,UAAU,GACvB,QAAO;AAET,UAAO;SACF;AACL,OAAI,WAAW,UAAU,GACvB,QAAO;AAET,UAAO;;IAER,CAAC,QAAQ,KAAK,CAAC;CAGlB,MAAM,eAAe,WAAW;CAChC,MAAM,CAAC,aAAa,kBAAkB,SAAS,gBAAgB,GAAG;CAGlE,MAAM,eAAe,eAAe,SAAS,KAAK;CAElD,MAAM,cAAc,OAAO,MAAM;CAEjC,MAAM,eAAe,aAClB,MAA6C;AAC5C,MAAI,CAAC,YAAY,QACf,UAAS,EAAE,KAAM,EAAE,OAA4B,MAAM,CAAC;IAG1D,CAAC,SAAS,CACX;CAGD,MAAM,EAAE,KAAK,mBAAmB,eAC7B,QAAQ;AACP,MAAI,CAAC,YAAY,QACf,UAAS,IAAI;IAGjB,EACE,MAR0B,KAS3B,CACF;CAED,MAAM,gBAAgB,aACnB,MAA2C;EAC1C,MAAM,WAAW,EAAE,OAAO;AAG1B,MAAI,CAAC,aACH,gBAAe,SAAS;OACnB;AACL,cAAW,SAAS;AACpB;;AAGF,MAAI,CAAC,YAAY,QAEf,KAAI,YAAY,CAAC,aACf,gBAAe,SAAS;MAExB,UAAS,SAAS;IAIxB;EAAC;EAAU;EAAgB;EAAU;EAAc;EAAS,CAC7D;CAED,MAAM,yBAAyB,kBAAkB;AAC/C,cAAY,UAAU;IACrB,EAAE,CAAC;CAEN,MAAM,uBAAuB,aAC1B,MAAgD;AAC/C,MAAI,aACF;AAEF,cAAY,UAAU;EAEtB,MAAM,QAAS,EAAE,OAA4B;AAC7C,MAAI,SACF,gBAAe,MAAM;MAErB,UAAS,MAAM;IAGnB;EAAC;EAAU;EAAgB;EAAc;EAAS,CACnD;CAED,MAAM,WAAW,cAAc;AAC7B,MAAI,SAAS,YAAY,SAAS,QAChC,QAAO;AAET,SAAO;IACN,CAAC,KAAK,CAAC;AAEV,QACE,oBAAC,OAAD;EACE,WAAW,GAAG,oBAAoB,WAAW;IAC1C,4BAA4B,SAAS;IACrC,6BAA6B,SAAS;IACtC,4BAA4B,SAAS;GACvC,CAAC;EACF,OACE;GACE,GAAG;GACH,iBAAiB,MAAM,aAAa,gBAAgB;GACpD,qBACG,MAAM,iBAAiB,0BAA0B;GACrD;YAGH,oBAAC,OAAD;GACE,WAAW,GAAG;KACX,2BAA2B,aAAa,WAAW,KAAK;KACxD,6BAA6B,aAAa,WAAW;KACrD,cAAc;IAChB,CAAC;GACI;GACN,UAAU;GACI;GACd,oBAAoB;GACpB,kBAAkB;GAClB,QAAQ,oBAAC,MAAD,EAAY,MAAM,UAAY,CAAA;GACtC,aAAa,eAAe,EAAE,YAAY;GAC1C,YAAA;GACU;GACV,eAAa;GACb,cAAY;GACZ,GAAK,eACD,EAAE,OAAO,cAAc,GACvB,EAAgB,cAAc;GAClC,SAAS,MAAM;AACb,QAAI,OACF,QAAO,cAAc,EAAE;;GAG3B,CAAA;EACE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useDebounceFn","cn","_","React","useCallback","useContext","useMemo","useRef","useState","SearchLine","Input","ELangType","LocaleContext","getTranslator","ICustomCSSProperties","CSSProperties","DEFAULT_EXPANDED_WIDTH","DEFAULT_SMALL_WIDTH","DEFAULT_WIDTH","DEFAULT_EN_SMALL_WIDTH","DEFAULT_EN_WIDTH","DEFAULT_LARGE_WIDTH","DEFAULT_EN_LARGE_WIDTH","InputSearch","props","$","_c","locale","t0","t","onSearch","onChange","className","debounce","t1","placeholder","size","t2","defaultValue","value","inputMode","t3","style","onBlur","disabled","dataTestid","ariaLabel","undefined","t4","bb0","EN","defaultWidth","isControlled","searchValue","setSearchValue","currentValue","isComposing","t5","e","current","trim","target","HTMLInputElement","onPressEnter","t6","val","t7","Symbol","for","wait","run","debounceSearch","t8","e_0","newValue","onChangeValue","t9","handleCompositionStart","t10","e_1","value_0","handleCompositionEnd","t11","bb1","iconSize","t12","t13","t14","t15","t16","initWidth","t17","expandedWidth","t18","t19","t20","length","t21","t22","t23","t24","search","t25","t26","e_2","t27","t28","IProps","FocusEvent"],"sources":["../../src/InputSearch/index.tsx"],"sourcesContent":["import { useDebounceFn } from 'ahooks';\nimport { cn } from '../lib/utils';\nimport _ from 'lodash';\nimport React, {\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { SearchLine } from '../Icon';\nimport Input from '../Input';\nimport { ELangType, LocaleContext, getTranslator } from '../locale/default';\nimport './input-search.css';\n\ninterface ICustomCSSProperties extends React.CSSProperties {\n '--init-width'?: string;\n '--expanded-width'?: string;\n}\n\nconst DEFAULT_EXPANDED_WIDTH = 200;\n\nconst DEFAULT_SMALL_WIDTH = 68;\nconst DEFAULT_WIDTH = 78;\nconst DEFAULT_EN_SMALL_WIDTH = 88;\nconst DEFAULT_EN_WIDTH = 98;\nconst DEFAULT_LARGE_WIDTH = 88;\nconst DEFAULT_EN_LARGE_WIDTH = 108;\n\nexport default function InputSearch(props: IProps) {\n const { locale } = useContext(LocaleContext);\n const t = getTranslator(locale);\n\n const {\n onSearch,\n onChange,\n className,\n debounce = true,\n placeholder,\n size = 'small',\n defaultValue,\n value,\n inputMode = false,\n style,\n onBlur,\n disabled,\n 'data-testid': dataTestid,\n 'aria-label': ariaLabel,\n } = props;\n\n const defaultWidth = useMemo(() => {\n if (size === 'small') {\n if (locale === ELangType.EN) {\n return DEFAULT_EN_SMALL_WIDTH;\n }\n return DEFAULT_SMALL_WIDTH;\n } else if (size === 'middle') {\n if (locale === ELangType.EN) {\n return DEFAULT_EN_WIDTH;\n }\n return DEFAULT_WIDTH;\n } else {\n if (locale === ELangType.EN) {\n return DEFAULT_EN_LARGE_WIDTH;\n }\n return DEFAULT_LARGE_WIDTH;\n }\n }, [locale, size]);\n\n // 判断是否为受控模式\n const isControlled = 'value' in props;\n const [searchValue, setSearchValue] = useState(defaultValue || '');\n\n // 获取当前值:受控模式使用 value,非受控模式使用内部状态\n const currentValue = isControlled ? value ?? '' : searchValue;\n\n const isComposing = useRef(false);\n\n const onPressEnter = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (!isComposing.current) {\n onSearch(_.trim((e.target as HTMLInputElement).value));\n }\n },\n [onSearch],\n );\n\n const DEFAULT_DEBOUNCE_TIME = 500;\n const { run: debounceSearch } = useDebounceFn<(val: string) => void>(\n (val) => {\n if (!isComposing.current) {\n onSearch(val);\n }\n },\n {\n wait: DEFAULT_DEBOUNCE_TIME,\n },\n );\n\n const onChangeValue = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n\n // 非受控模式才更新内部状态\n if (!isControlled) {\n setSearchValue(newValue);\n } else {\n onChange?.(newValue);\n return;\n }\n\n if (!isComposing.current) {\n // 受控的时候debounce不生效\n if (debounce && !isControlled) {\n debounceSearch(newValue);\n } else {\n onSearch(newValue);\n }\n }\n },\n [debounce, debounceSearch, onSearch, isControlled, onChange],\n );\n\n const handleCompositionStart = useCallback(() => {\n isComposing.current = true;\n }, []);\n\n const handleCompositionEnd = useCallback(\n (e: React.CompositionEvent<HTMLInputElement>) => {\n if (isControlled) {\n return;\n }\n isComposing.current = false;\n // 在输入法结束后触发一次搜索\n const value = (e.target as HTMLInputElement).value;\n if (debounce) {\n debounceSearch(value);\n } else {\n onSearch(value);\n }\n },\n [debounce, debounceSearch, isControlled, onSearch],\n );\n\n const iconSize = useMemo(() => {\n if (size === 'middle' || size === 'large') {\n return 20;\n }\n return 16;\n }, [size]);\n\n return (\n <div\n className={cn('ald-input-search', className, {\n ['input-search-size-small']: size === 'small',\n ['input-search-size-middle']: size === 'middle',\n ['input-search-size-large']: size === 'large',\n })}\n style={\n {\n ...style,\n '--init-width': (props.initWidth || defaultWidth) + 'px',\n '--expanded-width':\n (props.expandedWidth || DEFAULT_EXPANDED_WIDTH) + 'px',\n } as ICustomCSSProperties\n }\n >\n <Input\n className={cn({\n ['input-search-has-value']: currentValue.length !== 0 || inputMode,\n ['input-search-has-content']: currentValue.length !== 0,\n ['inputMode']: inputMode,\n })}\n size={size}\n onChange={onChangeValue}\n onPressEnter={onPressEnter}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n prefix={<SearchLine size={iconSize} />}\n placeholder={placeholder || t.InputSearch.search}\n allowClear\n disabled={disabled}\n data-testid={dataTestid}\n aria-label={ariaLabel}\n {...(isControlled\n ? { value: currentValue }\n : { defaultValue: defaultValue })}\n onBlur={(e) => {\n if (onBlur) {\n onBlur(currentValue, e);\n }\n }}\n />\n </div>\n );\n}\n\ninterface IProps {\n /** 搜索回调,在输入完成时触发(回车、输入法结束、非输入法输入时) */\n onSearch: (value: string) => void;\n /** 值变化回调(受控模式时推荐使用,每次输入都触发,包括输入法期间) */\n onChange?: (value: string) => void;\n onBlur?: (value: string, e: React.FocusEvent<HTMLInputElement>) => void;\n className?: string;\n // 是否开启防抖\n debounce?: boolean;\n placeholder?: string;\n size?: 'small' | 'middle' | 'large';\n initWidth?: number;\n /** 展开态(hover / focus / 有值)宽度,默认 200px。\n * 收起态宽度仍由 initWidth 控制;inputMode 始终 100%,不受本参数影响。 */\n expandedWidth?: number;\n defaultValue?: string;\n // 受控模式的值\n value?: string;\n inputMode?: boolean;\n style?: React.CSSProperties;\n disabled?: boolean;\n /** 透传到内部 input 元素的 data-testid,用于自动化测试定位 */\n 'data-testid'?: string;\n /** 透传到内部 input 元素的 aria-label,用于可访问性与自动化测试定位 */\n 'aria-label'?: string;\n}\n"],"mappings":"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"}
|