@aloudata/aloudata-design 0.2.7 → 0.3.0-beta.1
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/es/Avatar/index.d.ts +15 -0
- package/es/Avatar/index.js +33 -0
- package/es/Avatar/style/index.d.ts +2 -0
- package/es/Avatar/style/index.js +2 -0
- package/es/Avatar/style/index.less +34 -0
- package/es/Breadcrumb/index.d.ts +8 -0
- package/es/Breadcrumb/index.js +36 -0
- package/es/Breadcrumb/style/index.d.ts +2 -0
- package/es/Breadcrumb/style/index.js +2 -0
- package/es/Breadcrumb/style/index.less +28 -0
- package/es/Button/index.d.ts +4 -4
- package/es/Button/index.js +28 -23
- package/es/Button/style/index.less +163 -130
- package/es/Button/style/variables.less +60 -0
- package/es/Checkbox/style/index.less +16 -1
- package/es/ConfigProvider/index.d.ts +1 -0
- package/es/ConfigProvider/index.js +1 -0
- package/es/Dropdown/Button.js +1 -1
- package/es/Dropdown/style/index.less +41 -8
- package/es/Empty/image/Authority.d.ts +3 -0
- package/es/Empty/image/Authority.js +360 -0
- package/es/Empty/image/Dataspace.d.ts +3 -0
- package/es/Empty/image/Dataspace.js +271 -0
- package/es/Empty/image/Search.d.ts +3 -0
- package/es/Empty/image/Search.js +156 -0
- package/es/Empty/image/Simple.d.ts +3 -0
- package/es/Empty/image/Simple.js +20 -0
- package/es/Empty/image/Worksheet.d.ts +3 -0
- package/es/Empty/image/Worksheet.js +270 -0
- package/es/Empty/image/empty.d.ts +3 -0
- package/es/Empty/image/empty.js +139 -0
- package/es/Empty/index.d.ts +21 -5
- package/es/Empty/index.js +84 -54
- package/es/Empty/style/index.less +56 -11
- package/es/Icon/index.d.ts +2 -2
- package/es/Icon/index.js +10 -2
- package/es/Input/components/Group/index.d.ts +4 -2
- package/es/Input/components/Group/index.js +23 -1
- package/es/Input/components/Input/index.d.ts +1 -1
- package/es/Input/components/Input/index.js +12 -0
- package/es/Input/components/Password/index.d.ts +7 -1
- package/es/Input/components/Password/index.js +25 -3
- package/es/Input/style/index.less +278 -43
- package/es/InputNumber/index.d.ts +4 -0
- package/es/InputNumber/index.js +32 -0
- package/es/InputNumber/style/index.d.ts +2 -0
- package/es/InputNumber/style/index.js +2 -0
- package/es/InputNumber/style/index.less +152 -0
- package/es/Menu/Divider.d.ts +2 -1
- package/es/Menu/MenuItem.d.ts +2 -1
- package/es/Menu/SubMenu.d.ts +2 -1
- package/es/Menu/SubMenu.js +1 -1
- package/es/Menu/index.d.ts +2 -1
- package/es/Menu/style/index.less +1 -2
- package/es/Modal/index.d.ts +21 -0
- package/es/Modal/index.js +93 -0
- package/es/Modal/style/index.d.ts +2 -0
- package/es/Modal/style/index.js +2 -0
- package/es/Modal/style/index.less +206 -0
- package/es/Navigator/components/Header/index.d.ts +9 -0
- package/es/Navigator/components/Header/index.js +18 -0
- package/es/Navigator/components/Menu/index.d.ts +7 -13
- package/es/Navigator/components/Menu/index.js +26 -119
- package/es/Navigator/components/MenuItem/index.d.ts +21 -0
- package/es/Navigator/components/MenuItem/index.js +39 -0
- package/es/Navigator/index.d.ts +19 -8
- package/es/Navigator/index.js +6 -15
- package/es/Navigator/style/bg.png +0 -0
- package/es/Navigator/style/index.less +58 -166
- package/es/Popover/index.d.ts +5 -0
- package/es/Popover/index.js +22 -0
- package/es/Popover/style/index.d.ts +2 -0
- package/es/Popover/style/index.js +2 -0
- package/es/Popover/style/index.less +37 -0
- package/es/Radio/index.d.ts +2 -3
- package/es/Select/index.d.ts +36 -9
- package/es/Select/index.js +154 -7
- package/es/Select/rc-select/BaseSelect.d.ts +116 -0
- package/es/Select/rc-select/BaseSelect.js +641 -0
- package/es/Select/rc-select/OptGroup.d.ts +12 -0
- package/es/Select/{OptionsList → rc-select}/OptGroup.js +1 -0
- package/es/Select/rc-select/Option.d.ts +14 -0
- package/es/Select/{OptionsList/Options.js → rc-select/Option.js} +1 -0
- package/es/Select/rc-select/OptionList.d.ts +10 -0
- package/es/Select/rc-select/OptionList.js +401 -0
- package/es/Select/rc-select/Select.d.ts +109 -0
- package/es/Select/rc-select/Select.js +547 -0
- package/es/Select/rc-select/SelectContext.d.ts +20 -0
- package/es/Select/rc-select/SelectContext.js +4 -0
- package/es/Select/rc-select/SelectTrigger.d.ts +30 -0
- package/es/Select/rc-select/SelectTrigger.js +136 -0
- package/es/Select/rc-select/Selector/Input.d.ts +26 -0
- package/es/Select/rc-select/Selector/Input.js +114 -0
- package/es/Select/rc-select/Selector/MultipleSelector.d.ts +16 -0
- package/es/Select/rc-select/Selector/MultipleSelector.js +236 -0
- package/es/Select/rc-select/Selector/SingleSelector.d.ts +8 -0
- package/es/Select/rc-select/Selector/SingleSelector.js +112 -0
- package/es/Select/rc-select/Selector/index.d.ts +80 -0
- package/es/Select/rc-select/Selector/index.js +194 -0
- package/es/Select/rc-select/TransBtn.d.ts +12 -0
- package/es/Select/rc-select/TransBtn.js +42 -0
- package/es/Select/rc-select/hooks/useBaseProps.d.ts +13 -0
- package/es/Select/rc-select/hooks/useBaseProps.js +11 -0
- package/es/Select/rc-select/hooks/useCache.d.ts +7 -0
- package/es/Select/rc-select/hooks/useCache.js +49 -0
- package/es/Select/rc-select/hooks/useDelayReset.d.ts +5 -0
- package/es/Select/rc-select/hooks/useDelayReset.js +50 -0
- package/es/Select/rc-select/hooks/useFilterOptions.d.ts +3 -0
- package/es/Select/rc-select/hooks/useFilterOptions.js +75 -0
- package/es/Select/rc-select/hooks/useId.d.ts +5 -0
- package/es/Select/rc-select/hooks/useId.js +47 -0
- package/es/Select/rc-select/hooks/useLayoutEffect.d.ts +5 -0
- package/es/Select/rc-select/hooks/useLayoutEffect.js +17 -0
- package/es/Select/rc-select/hooks/useLock.d.ts +7 -0
- package/es/Select/rc-select/hooks/useLock.js +35 -0
- package/es/Select/rc-select/hooks/useOptions.d.ts +11 -0
- package/es/Select/rc-select/hooks/useOptions.js +53 -0
- package/es/Select/rc-select/hooks/useRefFunc.d.ts +5 -0
- package/es/Select/rc-select/hooks/useRefFunc.js +15 -0
- package/es/Select/rc-select/hooks/useSelectTriggerControl.d.ts +1 -0
- package/es/Select/rc-select/hooks/useSelectTriggerControl.js +40 -0
- package/es/Select/rc-select/index.d.ts +10 -0
- package/es/Select/rc-select/index.js +7 -0
- package/es/Select/rc-select/interface.d.ts +10 -0
- package/es/Select/{interface.js → rc-select/interface.js} +0 -0
- package/es/Select/rc-select/utils/commonUtil.d.ts +4 -0
- package/es/Select/rc-select/utils/commonUtil.js +12 -0
- package/es/Select/rc-select/utils/keyUtil.d.ts +2 -0
- package/es/Select/rc-select/utils/keyUtil.js +8 -0
- package/es/Select/rc-select/utils/legacyUtil.d.ts +3 -0
- package/es/Select/rc-select/utils/legacyUtil.js +58 -0
- package/es/Select/rc-select/utils/platformUtil.d.ts +1 -0
- package/es/Select/rc-select/utils/platformUtil.js +4 -0
- package/es/Select/rc-select/utils/valueUtil.d.ts +22 -0
- package/es/Select/rc-select/utils/valueUtil.js +157 -0
- package/es/Select/rc-select/utils/warningPropsUtil.d.ts +3 -0
- package/es/Select/rc-select/utils/warningPropsUtil.js +114 -0
- package/es/Select/style/index.d.ts +2 -0
- package/es/Select/style/index.js +4 -1
- package/es/Select/style/index.less +173 -494
- package/es/Select/style/multiple.less +222 -0
- package/es/Select/style/rtl.less +168 -0
- package/es/Select/style/select.less +337 -0
- package/es/Select/style/single.less +179 -0
- package/es/Select/style/status.less +48 -0
- package/es/Select/style/variables.less +56 -0
- package/es/Select/style/variables.less.d.ts +97 -0
- package/es/Select/utils/iconUtil.d.ts +24 -0
- package/es/Select/utils/iconUtil.js +87 -0
- package/es/Space/index.d.ts +1 -1
- package/es/Space/index.js +0 -1
- package/es/Table/Table.d.ts +6 -0
- package/es/Table/Table.js +464 -0
- package/es/Table/components/Empty/empty-img.png +0 -0
- package/es/Table/components/Empty/index.d.ts +4 -0
- package/es/Table/components/Empty/index.js +16 -0
- package/es/Table/components/Empty/index.less +24 -0
- package/es/Table/index.d.ts +2 -4
- package/es/Table/index.js +2 -463
- package/es/Table/interface.d.ts +11 -15
- package/es/Table/style/index.less +44 -21
- package/es/Tabs/style/index.less +39 -7
- package/es/Tooltip/style/index.less +2 -1
- package/es/index.d.ts +14 -2
- package/es/index.js +7 -1
- package/es/style/index.less +2 -1
- package/es/style/mixins/index.less +8 -0
- package/es/style/themes/default/index.less +10 -10
- package/es/style/themes/default/themeColor.module.less +58 -94
- package/es/style/themes/default/themeColor.module.less.d.ts +1 -17
- package/lib/Avatar/index.d.ts +15 -0
- package/lib/Avatar/index.js +57 -0
- package/lib/Avatar/style/index.d.ts +2 -0
- package/lib/Avatar/style/index.js +5 -0
- package/lib/Avatar/style/index.less +34 -0
- package/lib/Breadcrumb/index.d.ts +8 -0
- package/lib/Breadcrumb/index.js +50 -0
- package/lib/Breadcrumb/style/index.d.ts +2 -0
- package/lib/Breadcrumb/style/index.js +5 -0
- package/lib/Breadcrumb/style/index.less +28 -0
- package/lib/Button/index.d.ts +4 -4
- package/lib/Button/index.js +28 -24
- package/lib/Button/style/index.less +163 -130
- package/lib/Button/style/variables.less +60 -0
- package/lib/Checkbox/style/index.less +16 -1
- package/lib/ConfigProvider/index.d.ts +1 -0
- package/lib/ConfigProvider/index.js +26 -0
- package/lib/Dropdown/Button.js +1 -1
- package/lib/Dropdown/style/index.less +41 -8
- package/lib/Empty/image/Authority.d.ts +3 -0
- package/lib/Empty/image/Authority.js +374 -0
- package/lib/Empty/image/Dataspace.d.ts +3 -0
- package/lib/Empty/image/Dataspace.js +285 -0
- package/lib/Empty/image/Search.d.ts +3 -0
- package/lib/Empty/image/Search.js +170 -0
- package/lib/Empty/image/Simple.d.ts +3 -0
- package/lib/Empty/image/Simple.js +34 -0
- package/lib/Empty/image/Worksheet.d.ts +3 -0
- package/lib/Empty/image/Worksheet.js +284 -0
- package/lib/Empty/image/empty.d.ts +3 -0
- package/lib/Empty/image/empty.js +153 -0
- package/lib/Empty/index.d.ts +21 -5
- package/lib/Empty/index.js +94 -53
- package/lib/Empty/style/index.less +56 -11
- package/lib/Icon/index.d.ts +2 -2
- package/lib/Icon/index.js +10 -2
- package/lib/Input/components/Group/index.d.ts +4 -2
- package/lib/Input/components/Group/index.js +24 -1
- package/lib/Input/components/Input/index.d.ts +1 -1
- package/lib/Input/components/Input/index.js +13 -0
- package/lib/Input/components/Password/index.d.ts +7 -1
- package/lib/Input/components/Password/index.js +25 -2
- package/lib/Input/style/index.less +278 -43
- package/lib/InputNumber/index.d.ts +4 -0
- package/lib/InputNumber/index.js +45 -0
- package/lib/InputNumber/style/index.d.ts +2 -0
- package/lib/InputNumber/style/index.js +5 -0
- package/lib/InputNumber/style/index.less +152 -0
- package/lib/Menu/Divider.d.ts +2 -1
- package/lib/Menu/MenuItem.d.ts +2 -1
- package/lib/Menu/SubMenu.d.ts +2 -1
- package/lib/Menu/SubMenu.js +1 -1
- package/lib/Menu/index.d.ts +2 -1
- package/lib/Menu/style/index.less +1 -2
- package/lib/Modal/index.d.ts +21 -0
- package/lib/Modal/index.js +119 -0
- package/lib/Modal/style/index.d.ts +2 -0
- package/lib/Modal/style/index.js +5 -0
- package/lib/Modal/style/index.less +206 -0
- package/lib/Navigator/components/Header/index.d.ts +9 -0
- package/lib/Navigator/components/Header/index.js +28 -0
- package/lib/Navigator/components/Menu/index.d.ts +7 -13
- package/lib/Navigator/components/Menu/index.js +25 -118
- package/lib/Navigator/components/MenuItem/index.d.ts +21 -0
- package/lib/Navigator/components/MenuItem/index.js +56 -0
- package/lib/Navigator/index.d.ts +19 -8
- package/lib/Navigator/index.js +7 -15
- package/lib/Navigator/style/bg.png +0 -0
- package/lib/Navigator/style/index.less +58 -166
- package/lib/Popover/index.d.ts +5 -0
- package/lib/Popover/index.js +35 -0
- package/lib/Popover/style/index.d.ts +2 -0
- package/lib/Popover/style/index.js +5 -0
- package/lib/Popover/style/index.less +37 -0
- package/lib/Radio/index.d.ts +2 -3
- package/lib/Select/index.d.ts +36 -9
- package/lib/Select/index.js +166 -18
- package/lib/Select/rc-select/BaseSelect.d.ts +116 -0
- package/lib/Select/rc-select/BaseSelect.js +672 -0
- package/lib/Select/rc-select/OptGroup.d.ts +12 -0
- package/lib/Select/{OptionsList → rc-select}/OptGroup.js +1 -0
- package/lib/Select/rc-select/Option.d.ts +14 -0
- package/lib/Select/{OptionsList/Options.js → rc-select/Option.js} +1 -0
- package/lib/Select/rc-select/OptionList.d.ts +10 -0
- package/lib/Select/rc-select/OptionList.js +427 -0
- package/lib/Select/rc-select/Select.d.ts +109 -0
- package/lib/Select/rc-select/Select.js +545 -0
- package/lib/Select/rc-select/SelectContext.d.ts +20 -0
- package/lib/Select/rc-select/SelectContext.js +19 -0
- package/lib/Select/rc-select/SelectTrigger.d.ts +30 -0
- package/lib/Select/rc-select/SelectTrigger.js +153 -0
- package/lib/Select/rc-select/Selector/Input.d.ts +26 -0
- package/lib/Select/rc-select/Selector/Input.js +132 -0
- package/lib/Select/rc-select/Selector/MultipleSelector.d.ts +16 -0
- package/lib/Select/rc-select/Selector/MultipleSelector.js +257 -0
- package/lib/Select/rc-select/Selector/SingleSelector.d.ts +8 -0
- package/lib/Select/rc-select/Selector/SingleSelector.js +129 -0
- package/lib/Select/rc-select/Selector/index.d.ts +80 -0
- package/lib/Select/rc-select/Selector/index.js +203 -0
- package/lib/Select/rc-select/TransBtn.d.ts +12 -0
- package/lib/Select/rc-select/TransBtn.js +59 -0
- package/lib/Select/rc-select/hooks/useBaseProps.d.ts +13 -0
- package/lib/Select/rc-select/hooks/useBaseProps.js +28 -0
- package/lib/Select/rc-select/hooks/useCache.d.ts +7 -0
- package/lib/Select/rc-select/hooks/useCache.js +63 -0
- package/lib/Select/rc-select/hooks/useDelayReset.d.ts +5 -0
- package/lib/Select/rc-select/hooks/useDelayReset.js +62 -0
- package/lib/Select/rc-select/hooks/useFilterOptions.d.ts +3 -0
- package/lib/Select/rc-select/hooks/useFilterOptions.js +91 -0
- package/lib/Select/rc-select/hooks/useId.d.ts +5 -0
- package/lib/Select/rc-select/hooks/useId.js +68 -0
- package/lib/Select/rc-select/hooks/useLayoutEffect.d.ts +5 -0
- package/lib/Select/rc-select/hooks/useLayoutEffect.js +32 -0
- package/lib/Select/rc-select/hooks/useLock.d.ts +7 -0
- package/lib/Select/rc-select/hooks/useLock.js +49 -0
- package/lib/Select/rc-select/hooks/useOptions.d.ts +11 -0
- package/lib/Select/rc-select/hooks/useOptions.js +68 -0
- package/lib/Select/rc-select/hooks/useRefFunc.d.ts +5 -0
- package/lib/Select/rc-select/hooks/useRefFunc.js +29 -0
- package/lib/Select/rc-select/hooks/useSelectTriggerControl.d.ts +1 -0
- package/lib/Select/rc-select/hooks/useSelectTriggerControl.js +54 -0
- package/lib/Select/rc-select/index.d.ts +10 -0
- package/lib/Select/rc-select/index.js +45 -0
- package/lib/Select/rc-select/interface.d.ts +10 -0
- package/lib/Select/{interface.js → rc-select/interface.js} +0 -0
- package/lib/Select/rc-select/utils/commonUtil.d.ts +4 -0
- package/lib/Select/rc-select/utils/commonUtil.js +23 -0
- package/lib/Select/rc-select/utils/keyUtil.d.ts +2 -0
- package/lib/Select/rc-select/utils/keyUtil.js +17 -0
- package/lib/Select/rc-select/utils/legacyUtil.d.ts +3 -0
- package/lib/Select/rc-select/utils/legacyUtil.js +73 -0
- package/lib/Select/rc-select/utils/platformUtil.d.ts +1 -0
- package/lib/Select/rc-select/utils/platformUtil.js +11 -0
- package/lib/Select/rc-select/utils/valueUtil.d.ts +22 -0
- package/lib/Select/rc-select/utils/valueUtil.js +172 -0
- package/lib/Select/rc-select/utils/warningPropsUtil.d.ts +3 -0
- package/lib/Select/rc-select/utils/warningPropsUtil.js +132 -0
- package/lib/Select/style/index.d.ts +2 -0
- package/lib/Select/style/index.js +4 -0
- package/lib/Select/style/index.less +173 -494
- package/lib/Select/style/multiple.less +222 -0
- package/lib/Select/style/rtl.less +168 -0
- package/lib/Select/style/select.less +337 -0
- package/lib/Select/style/single.less +179 -0
- package/lib/Select/style/status.less +48 -0
- package/lib/Select/style/variables.less +56 -0
- package/lib/Select/style/variables.less.d.ts +97 -0
- package/lib/Select/utils/iconUtil.d.ts +24 -0
- package/lib/Select/utils/iconUtil.js +109 -0
- package/lib/Space/index.d.ts +1 -1
- package/lib/Space/index.js +0 -6
- package/lib/Table/Table.d.ts +6 -0
- package/lib/Table/Table.js +491 -0
- package/lib/Table/components/Empty/empty-img.png +0 -0
- package/lib/Table/components/Empty/index.d.ts +4 -0
- package/lib/Table/components/Empty/index.js +30 -0
- package/lib/Table/components/Empty/index.less +24 -0
- package/lib/Table/index.d.ts +2 -4
- package/lib/Table/index.js +2 -478
- package/lib/Table/interface.d.ts +11 -15
- package/lib/Table/style/index.less +44 -21
- package/lib/Tabs/style/index.less +39 -7
- package/lib/Tooltip/style/index.less +2 -1
- package/lib/index.d.ts +14 -2
- package/lib/index.js +48 -0
- package/lib/style/index.less +2 -1
- package/lib/style/mixins/index.less +8 -0
- package/lib/style/themes/default/index.less +10 -10
- package/lib/style/themes/default/themeColor.module.less +58 -94
- package/lib/style/themes/default/themeColor.module.less.d.ts +1 -17
- package/package.json +3 -2
- package/es/Select/BaseSelect.d.ts +0 -5
- package/es/Select/BaseSelect.js +0 -413
- package/es/Select/OptionsList/OptGroup.d.ts +0 -7
- package/es/Select/OptionsList/OptionItem/RenderGroup.d.ts +0 -9
- package/es/Select/OptionsList/OptionItem/RenderGroup.js +0 -16
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +0 -10
- package/es/Select/OptionsList/OptionItem/RenderLabelIcon.js +0 -45
- package/es/Select/OptionsList/OptionItem/RenderOption.d.ts +0 -16
- package/es/Select/OptionsList/OptionItem/RenderOption.js +0 -79
- package/es/Select/OptionsList/OptionItem/RenderTooltip.d.ts +0 -8
- package/es/Select/OptionsList/OptionItem/RenderTooltip.js +0 -25
- package/es/Select/OptionsList/OptionItem.d.ts +0 -4
- package/es/Select/OptionsList/OptionItem.js +0 -4
- package/es/Select/OptionsList/Options.d.ts +0 -7
- package/es/Select/OptionsList/index.d.ts +0 -4
- package/es/Select/OptionsList/index.js +0 -176
- package/es/Select/Selector/index.d.ts +0 -4
- package/es/Select/Selector/index.js +0 -252
- package/es/Select/VirtualList.d.ts +0 -5
- package/es/Select/VirtualList.js +0 -29
- package/es/Select/hooks/useCacheOption.d.ts +0 -9
- package/es/Select/hooks/useCacheOption.js +0 -107
- package/es/Select/interface.d.ts +0 -235
- package/es/Select/utils.d.ts +0 -21
- package/es/Select/utils.js +0 -193
- package/lib/Select/BaseSelect.d.ts +0 -5
- package/lib/Select/BaseSelect.js +0 -446
- package/lib/Select/OptionsList/OptGroup.d.ts +0 -7
- package/lib/Select/OptionsList/OptionItem/RenderGroup.d.ts +0 -9
- package/lib/Select/OptionsList/OptionItem/RenderGroup.js +0 -27
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.d.ts +0 -10
- package/lib/Select/OptionsList/OptionItem/RenderLabelIcon.js +0 -60
- package/lib/Select/OptionsList/OptionItem/RenderOption.d.ts +0 -16
- package/lib/Select/OptionsList/OptionItem/RenderOption.js +0 -94
- package/lib/Select/OptionsList/OptionItem/RenderTooltip.d.ts +0 -8
- package/lib/Select/OptionsList/OptionItem/RenderTooltip.js +0 -37
- package/lib/Select/OptionsList/OptionItem.d.ts +0 -4
- package/lib/Select/OptionsList/OptionItem.js +0 -39
- package/lib/Select/OptionsList/Options.d.ts +0 -7
- package/lib/Select/OptionsList/index.d.ts +0 -4
- package/lib/Select/OptionsList/index.js +0 -195
- package/lib/Select/Selector/index.d.ts +0 -4
- package/lib/Select/Selector/index.js +0 -276
- package/lib/Select/VirtualList.d.ts +0 -5
- package/lib/Select/VirtualList.js +0 -42
- package/lib/Select/hooks/useCacheOption.d.ts +0 -9
- package/lib/Select/hooks/useCacheOption.js +0 -113
- package/lib/Select/interface.d.ts +0 -235
- package/lib/Select/utils.d.ts +0 -21
- package/lib/Select/utils.js +0 -233
|
@@ -0,0 +1,672 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.isMultiple = isMultiple;
|
|
8
|
+
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
|
|
11
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
+
|
|
13
|
+
var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
|
14
|
+
|
|
15
|
+
var _isMobile = _interopRequireDefault(require("rc-util/lib/isMobile"));
|
|
16
|
+
|
|
17
|
+
var _ref2 = require("rc-util/lib/ref");
|
|
18
|
+
|
|
19
|
+
var _useMergedState3 = _interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));
|
|
20
|
+
|
|
21
|
+
var _useLayoutEffect = _interopRequireDefault(require("rc-util/lib/hooks/useLayoutEffect"));
|
|
22
|
+
|
|
23
|
+
var _valueUtil = require("./utils/valueUtil");
|
|
24
|
+
|
|
25
|
+
var _SelectTrigger = _interopRequireDefault(require("./SelectTrigger"));
|
|
26
|
+
|
|
27
|
+
var _Selector = _interopRequireDefault(require("./Selector"));
|
|
28
|
+
|
|
29
|
+
var _useSelectTriggerControl = _interopRequireDefault(require("./hooks/useSelectTriggerControl"));
|
|
30
|
+
|
|
31
|
+
var _useDelayReset3 = _interopRequireDefault(require("./hooks/useDelayReset"));
|
|
32
|
+
|
|
33
|
+
var _TransBtn = _interopRequireDefault(require("./TransBtn"));
|
|
34
|
+
|
|
35
|
+
var _useLock3 = _interopRequireDefault(require("./hooks/useLock"));
|
|
36
|
+
|
|
37
|
+
var _useBaseProps = require("./hooks/useBaseProps");
|
|
38
|
+
|
|
39
|
+
var _excluded = ["id", "prefixCls", "className", "showSearch", "tagRender", "direction", "omitDomProps", "prefix", "displayValues", "onDisplayValuesChange", "emptyOptions", "notFoundContent", "onClear", "mode", "disabled", "loading", "getInputElement", "getRawInputElement", "open", "defaultOpen", "onDropdownVisibleChange", "activeValue", "onActiveValueChange", "activeDescendantId", "searchValue", "onSearch", "onSearchSplit", "tokenSeparators", "allowClear", "showArrow", "inputIcon", "clearIcon", "OptionList", "animation", "transitionName", "dropdownStyle", "dropdownClassName", "dropdownMatchSelectWidth", "dropdownRender", "dropdownAlign", "placement", "getPopupContainer", "showAction", "onFocus", "onBlur", "onKeyUp", "onKeyDown", "onMouseDown"];
|
|
40
|
+
|
|
41
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
42
|
+
|
|
43
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
44
|
+
|
|
45
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
46
|
+
|
|
47
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
48
|
+
|
|
49
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
50
|
+
|
|
51
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
52
|
+
|
|
53
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
54
|
+
|
|
55
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
56
|
+
|
|
57
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
58
|
+
|
|
59
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
60
|
+
|
|
61
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
62
|
+
|
|
63
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
64
|
+
|
|
65
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
66
|
+
|
|
67
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
68
|
+
|
|
69
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
70
|
+
|
|
71
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
72
|
+
|
|
73
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
74
|
+
|
|
75
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
76
|
+
|
|
77
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
78
|
+
|
|
79
|
+
var DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];
|
|
80
|
+
|
|
81
|
+
function isMultiple(mode) {
|
|
82
|
+
return mode === 'tags' || mode === 'multiple';
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
86
|
+
var _customizeRawInputEle, _classNames2;
|
|
87
|
+
|
|
88
|
+
var id = props.id,
|
|
89
|
+
prefixCls = props.prefixCls,
|
|
90
|
+
className = props.className,
|
|
91
|
+
showSearch = props.showSearch,
|
|
92
|
+
tagRender = props.tagRender,
|
|
93
|
+
direction = props.direction,
|
|
94
|
+
omitDomProps = props.omitDomProps,
|
|
95
|
+
prefix = props.prefix,
|
|
96
|
+
displayValues = props.displayValues,
|
|
97
|
+
onDisplayValuesChange = props.onDisplayValuesChange,
|
|
98
|
+
emptyOptions = props.emptyOptions,
|
|
99
|
+
_props$notFoundConten = props.notFoundContent,
|
|
100
|
+
notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,
|
|
101
|
+
onClear = props.onClear,
|
|
102
|
+
mode = props.mode,
|
|
103
|
+
disabled = props.disabled,
|
|
104
|
+
loading = props.loading,
|
|
105
|
+
getInputElement = props.getInputElement,
|
|
106
|
+
getRawInputElement = props.getRawInputElement,
|
|
107
|
+
open = props.open,
|
|
108
|
+
defaultOpen = props.defaultOpen,
|
|
109
|
+
onDropdownVisibleChange = props.onDropdownVisibleChange,
|
|
110
|
+
activeValue = props.activeValue,
|
|
111
|
+
onActiveValueChange = props.onActiveValueChange,
|
|
112
|
+
activeDescendantId = props.activeDescendantId,
|
|
113
|
+
searchValue = props.searchValue,
|
|
114
|
+
onSearch = props.onSearch,
|
|
115
|
+
onSearchSplit = props.onSearchSplit,
|
|
116
|
+
tokenSeparators = props.tokenSeparators,
|
|
117
|
+
allowClear = props.allowClear,
|
|
118
|
+
showArrow = props.showArrow,
|
|
119
|
+
inputIcon = props.inputIcon,
|
|
120
|
+
clearIcon = props.clearIcon,
|
|
121
|
+
OptionList = props.OptionList,
|
|
122
|
+
animation = props.animation,
|
|
123
|
+
transitionName = props.transitionName,
|
|
124
|
+
dropdownStyle = props.dropdownStyle,
|
|
125
|
+
dropdownClassName = props.dropdownClassName,
|
|
126
|
+
dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,
|
|
127
|
+
dropdownRender = props.dropdownRender,
|
|
128
|
+
dropdownAlign = props.dropdownAlign,
|
|
129
|
+
placement = props.placement,
|
|
130
|
+
getPopupContainer = props.getPopupContainer,
|
|
131
|
+
_props$showAction = props.showAction,
|
|
132
|
+
showAction = _props$showAction === void 0 ? [] : _props$showAction,
|
|
133
|
+
onFocus = props.onFocus,
|
|
134
|
+
onBlur = props.onBlur,
|
|
135
|
+
onKeyUp = props.onKeyUp,
|
|
136
|
+
onKeyDown = props.onKeyDown,
|
|
137
|
+
onMouseDown = props.onMouseDown,
|
|
138
|
+
restProps = _objectWithoutProperties(props, _excluded); // ============================== MISC ==============================
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
var multiple = isMultiple(mode);
|
|
142
|
+
var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';
|
|
143
|
+
|
|
144
|
+
var domProps = _objectSpread({}, restProps);
|
|
145
|
+
|
|
146
|
+
DEFAULT_OMIT_PROPS.forEach(function (propName) {
|
|
147
|
+
delete domProps[propName];
|
|
148
|
+
});
|
|
149
|
+
omitDomProps === null || omitDomProps === void 0 ? void 0 : omitDomProps.forEach(function (propName) {
|
|
150
|
+
delete domProps[propName];
|
|
151
|
+
}); // ============================= Mobile =============================
|
|
152
|
+
|
|
153
|
+
var _React$useState = React.useState(false),
|
|
154
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
155
|
+
mobile = _React$useState2[0],
|
|
156
|
+
setMobile = _React$useState2[1];
|
|
157
|
+
|
|
158
|
+
React.useEffect(function () {
|
|
159
|
+
// Only update on the client side
|
|
160
|
+
setMobile((0, _isMobile.default)());
|
|
161
|
+
}, []); // ============================== Refs ==============================
|
|
162
|
+
|
|
163
|
+
var containerRef = React.useRef(null);
|
|
164
|
+
var selectorDomRef = React.useRef(null);
|
|
165
|
+
var triggerRef = React.useRef(null);
|
|
166
|
+
var selectorRef = React.useRef(null);
|
|
167
|
+
var listRef = React.useRef(null);
|
|
168
|
+
/** Used for component focused management */
|
|
169
|
+
|
|
170
|
+
var _useDelayReset = (0, _useDelayReset3.default)(),
|
|
171
|
+
_useDelayReset2 = _slicedToArray(_useDelayReset, 3),
|
|
172
|
+
mockFocused = _useDelayReset2[0],
|
|
173
|
+
setMockFocused = _useDelayReset2[1],
|
|
174
|
+
cancelSetMockFocused = _useDelayReset2[2]; // =========================== Imperative ===========================
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
React.useImperativeHandle(ref, function () {
|
|
178
|
+
var _selectorRef$current, _selectorRef$current2;
|
|
179
|
+
|
|
180
|
+
return {
|
|
181
|
+
focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,
|
|
182
|
+
blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,
|
|
183
|
+
scrollTo: function scrollTo(arg) {
|
|
184
|
+
var _listRef$current;
|
|
185
|
+
|
|
186
|
+
return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
}); // ========================== Search Value ==========================
|
|
190
|
+
|
|
191
|
+
var mergedSearchValue = React.useMemo(function () {
|
|
192
|
+
var _displayValues$;
|
|
193
|
+
|
|
194
|
+
if (mode !== 'combobox') {
|
|
195
|
+
return searchValue;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;
|
|
199
|
+
return typeof val === 'string' || typeof val === 'number' ? String(val) : '';
|
|
200
|
+
}, [searchValue, mode, displayValues]); // ========================== Custom Input ==========================
|
|
201
|
+
// Only works in `combobox`
|
|
202
|
+
|
|
203
|
+
var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null; // Used for customize replacement for `rc-cascader`
|
|
204
|
+
|
|
205
|
+
var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();
|
|
206
|
+
var customizeRawInputRef = (0, _ref2.useComposeRef)(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 ? void 0 : (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref); // ============================== Open ==============================
|
|
207
|
+
|
|
208
|
+
var _useMergedState = (0, _useMergedState3.default)(undefined, {
|
|
209
|
+
defaultValue: defaultOpen,
|
|
210
|
+
value: open
|
|
211
|
+
}),
|
|
212
|
+
_useMergedState2 = _slicedToArray(_useMergedState, 2),
|
|
213
|
+
innerOpen = _useMergedState2[0],
|
|
214
|
+
setInnerOpen = _useMergedState2[1];
|
|
215
|
+
|
|
216
|
+
var mergedOpen = innerOpen; // Not trigger `open` in `combobox` when `notFoundContent` is empty
|
|
217
|
+
|
|
218
|
+
var emptyListContent = !notFoundContent && emptyOptions;
|
|
219
|
+
|
|
220
|
+
if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {
|
|
221
|
+
mergedOpen = false;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
var triggerOpen = emptyListContent ? false : mergedOpen;
|
|
225
|
+
var onToggleOpen = React.useCallback(function (newOpen) {
|
|
226
|
+
var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;
|
|
227
|
+
|
|
228
|
+
if (mergedOpen !== nextOpen && !disabled) {
|
|
229
|
+
setInnerOpen(nextOpen);
|
|
230
|
+
onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 ? void 0 : onDropdownVisibleChange(nextOpen);
|
|
231
|
+
}
|
|
232
|
+
}, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]); // ============================= Search =============================
|
|
233
|
+
|
|
234
|
+
var tokenWithEnter = React.useMemo(function () {
|
|
235
|
+
return (tokenSeparators || []).some(function (tokenSeparator) {
|
|
236
|
+
return ['\n', '\r\n'].includes(tokenSeparator);
|
|
237
|
+
});
|
|
238
|
+
}, [tokenSeparators]);
|
|
239
|
+
|
|
240
|
+
var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {
|
|
241
|
+
var ret = true;
|
|
242
|
+
var newSearchText = searchText;
|
|
243
|
+
onActiveValueChange === null || onActiveValueChange === void 0 ? void 0 : onActiveValueChange(null); // Check if match the `tokenSeparators`
|
|
244
|
+
|
|
245
|
+
var patchLabels = isCompositing ? null : (0, _valueUtil.getSeparatedContent)(searchText, tokenSeparators); // Ignore combobox since it's not split-able
|
|
246
|
+
|
|
247
|
+
if (mode !== 'combobox' && patchLabels) {
|
|
248
|
+
newSearchText = '';
|
|
249
|
+
onSearchSplit === null || onSearchSplit === void 0 ? void 0 : onSearchSplit(patchLabels); // Should close when paste finish
|
|
250
|
+
|
|
251
|
+
onToggleOpen(false); // Tell Selector that break next actions
|
|
252
|
+
|
|
253
|
+
ret = false;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
if (onSearch && mergedSearchValue !== newSearchText) {
|
|
257
|
+
onSearch(newSearchText, {
|
|
258
|
+
source: fromTyping ? 'typing' : 'effect'
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return ret;
|
|
263
|
+
}; // Only triggered when menu is closed & mode is tags
|
|
264
|
+
// If menu is open, OptionList will take charge
|
|
265
|
+
// If mode isn't tags, press enter is not meaningful when you can't see any option
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {
|
|
269
|
+
// prevent empty tags from appearing when you click the Enter button
|
|
270
|
+
if (!searchText || !searchText.trim()) {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
onSearch(searchText, {
|
|
275
|
+
source: 'submit'
|
|
276
|
+
});
|
|
277
|
+
}; // Close will clean up single mode search text
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
React.useEffect(function () {
|
|
281
|
+
if (!mergedOpen && !multiple && mode !== 'combobox') {
|
|
282
|
+
onInternalSearch('', false, false);
|
|
283
|
+
}
|
|
284
|
+
}, [mergedOpen]); // ============================ Disabled ============================
|
|
285
|
+
// Close dropdown & remove focus state when disabled change
|
|
286
|
+
|
|
287
|
+
React.useEffect(function () {
|
|
288
|
+
if (innerOpen && disabled) {
|
|
289
|
+
setInnerOpen(false);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
if (disabled) {
|
|
293
|
+
setMockFocused(false);
|
|
294
|
+
}
|
|
295
|
+
}, [disabled]); // ============================ Keyboard ============================
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* We record input value here to check if can press to clean up by backspace
|
|
299
|
+
* - null: Key is not down, this is reset by key up
|
|
300
|
+
* - true: Search text is empty when first time backspace down
|
|
301
|
+
* - false: Search text is not empty when first time backspace down
|
|
302
|
+
*/
|
|
303
|
+
|
|
304
|
+
var _useLock = (0, _useLock3.default)(),
|
|
305
|
+
_useLock2 = _slicedToArray(_useLock, 2),
|
|
306
|
+
getClearLock = _useLock2[0],
|
|
307
|
+
setClearLock = _useLock2[1]; // KeyDown
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
var onInternalKeyDown = function onInternalKeyDown(event) {
|
|
311
|
+
var clearLock = getClearLock();
|
|
312
|
+
var which = event.which;
|
|
313
|
+
|
|
314
|
+
if (which === _KeyCode.default.ENTER) {
|
|
315
|
+
// Do not submit form when type in the input
|
|
316
|
+
if (mode !== 'combobox') {
|
|
317
|
+
event.preventDefault();
|
|
318
|
+
} // We only manage open state here, close logic should handle by list component
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
if (!mergedOpen) {
|
|
322
|
+
onToggleOpen(true);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
setClearLock(!!mergedSearchValue); // Remove value by `backspace`
|
|
327
|
+
|
|
328
|
+
if (which === _KeyCode.default.BACKSPACE && !clearLock && multiple && !mergedSearchValue && displayValues.length) {
|
|
329
|
+
var cloneDisplayValues = _toConsumableArray(displayValues);
|
|
330
|
+
|
|
331
|
+
var removedDisplayValue = null;
|
|
332
|
+
|
|
333
|
+
for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {
|
|
334
|
+
var current = cloneDisplayValues[i];
|
|
335
|
+
|
|
336
|
+
if (!current.disabled) {
|
|
337
|
+
cloneDisplayValues.splice(i, 1);
|
|
338
|
+
removedDisplayValue = current;
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
if (removedDisplayValue) {
|
|
344
|
+
onDisplayValuesChange(cloneDisplayValues, {
|
|
345
|
+
type: 'remove',
|
|
346
|
+
values: [removedDisplayValue]
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
352
|
+
rest[_key - 1] = arguments[_key];
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
if (mergedOpen && listRef.current) {
|
|
356
|
+
var _listRef$current2;
|
|
357
|
+
|
|
358
|
+
(_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown.apply(void 0, [event].concat(rest));
|
|
362
|
+
}; // KeyUp
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
var onInternalKeyUp = function onInternalKeyUp(event) {
|
|
366
|
+
for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
367
|
+
rest[_key2 - 1] = arguments[_key2];
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (mergedOpen && listRef.current) {
|
|
371
|
+
var _listRef$current3;
|
|
372
|
+
|
|
373
|
+
(_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp.apply(void 0, [event].concat(rest));
|
|
377
|
+
}; // ============================ Selector ============================
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
var onSelectorRemove = function onSelectorRemove(val) {
|
|
381
|
+
var newValues = displayValues.filter(function (i) {
|
|
382
|
+
return i !== val;
|
|
383
|
+
});
|
|
384
|
+
onDisplayValuesChange(newValues, {
|
|
385
|
+
type: 'remove',
|
|
386
|
+
values: [val]
|
|
387
|
+
});
|
|
388
|
+
}; // ========================== Focus / Blur ==========================
|
|
389
|
+
|
|
390
|
+
/** Record real focus status */
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
var focusRef = React.useRef(false);
|
|
394
|
+
|
|
395
|
+
var onContainerFocus = function onContainerFocus() {
|
|
396
|
+
setMockFocused(true);
|
|
397
|
+
|
|
398
|
+
if (!disabled) {
|
|
399
|
+
if (onFocus && !focusRef.current) {
|
|
400
|
+
onFocus.apply(void 0, arguments);
|
|
401
|
+
} // `showAction` should handle `focus` if set
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
if (showAction.includes('focus')) {
|
|
405
|
+
onToggleOpen(true);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
focusRef.current = true;
|
|
410
|
+
};
|
|
411
|
+
|
|
412
|
+
var onContainerBlur = function onContainerBlur() {
|
|
413
|
+
setMockFocused(false, function () {
|
|
414
|
+
focusRef.current = false;
|
|
415
|
+
onToggleOpen(false);
|
|
416
|
+
});
|
|
417
|
+
|
|
418
|
+
if (disabled) {
|
|
419
|
+
return;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
if (mergedSearchValue) {
|
|
423
|
+
// `tags` mode should move `searchValue` into values
|
|
424
|
+
if (mode === 'tags') {
|
|
425
|
+
onSearch(mergedSearchValue, {
|
|
426
|
+
source: 'submit'
|
|
427
|
+
});
|
|
428
|
+
} else if (mode === 'multiple') {
|
|
429
|
+
// `multiple` mode only clean the search value but not trigger event
|
|
430
|
+
onSearch('', {
|
|
431
|
+
source: 'blur'
|
|
432
|
+
});
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
if (onBlur) {
|
|
437
|
+
onBlur.apply(void 0, arguments);
|
|
438
|
+
}
|
|
439
|
+
}; // Give focus back of Select
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
var activeTimeoutIds = [];
|
|
443
|
+
React.useEffect(function () {
|
|
444
|
+
return function () {
|
|
445
|
+
activeTimeoutIds.forEach(function (timeoutId) {
|
|
446
|
+
return clearTimeout(timeoutId);
|
|
447
|
+
});
|
|
448
|
+
activeTimeoutIds.splice(0, activeTimeoutIds.length);
|
|
449
|
+
};
|
|
450
|
+
}, []);
|
|
451
|
+
|
|
452
|
+
var onInternalMouseDown = function onInternalMouseDown(event) {
|
|
453
|
+
var _triggerRef$current;
|
|
454
|
+
|
|
455
|
+
var target = event.target;
|
|
456
|
+
var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement(); // We should give focus back to selector if clicked item is not focusable
|
|
457
|
+
|
|
458
|
+
if (popupElement && popupElement.contains(target)) {
|
|
459
|
+
var timeoutId = setTimeout(function () {
|
|
460
|
+
var index = activeTimeoutIds.indexOf(timeoutId);
|
|
461
|
+
|
|
462
|
+
if (index !== -1) {
|
|
463
|
+
activeTimeoutIds.splice(index, 1);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
cancelSetMockFocused();
|
|
467
|
+
|
|
468
|
+
if (!mobile && !popupElement.contains(document.activeElement)) {
|
|
469
|
+
var _selectorRef$current3;
|
|
470
|
+
|
|
471
|
+
(_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.focus();
|
|
472
|
+
}
|
|
473
|
+
});
|
|
474
|
+
activeTimeoutIds.push(timeoutId);
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
478
|
+
restArgs[_key3 - 1] = arguments[_key3];
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown.apply(void 0, [event].concat(restArgs));
|
|
482
|
+
}; // ============================ Dropdown ============================
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
var _React$useState3 = React.useState(null),
|
|
486
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
487
|
+
containerWidth = _React$useState4[0],
|
|
488
|
+
setContainerWidth = _React$useState4[1];
|
|
489
|
+
|
|
490
|
+
var _React$useState5 = React.useState({}),
|
|
491
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
492
|
+
forceUpdate = _React$useState6[1]; // We need force update here since popup dom is render async
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
function onPopupMouseEnter() {
|
|
496
|
+
forceUpdate({});
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
(0, _useLayoutEffect.default)(function () {
|
|
500
|
+
if (triggerOpen) {
|
|
501
|
+
var _containerRef$current;
|
|
502
|
+
|
|
503
|
+
var newWidth = Math.ceil((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.offsetWidth);
|
|
504
|
+
|
|
505
|
+
if (containerWidth !== newWidth && !Number.isNaN(newWidth)) {
|
|
506
|
+
setContainerWidth(newWidth);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
}, [triggerOpen]); // Used for raw custom input trigger
|
|
510
|
+
|
|
511
|
+
var onTriggerVisibleChange;
|
|
512
|
+
|
|
513
|
+
if (customizeRawInputElement) {
|
|
514
|
+
onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {
|
|
515
|
+
onToggleOpen(newOpen);
|
|
516
|
+
};
|
|
517
|
+
} // Close when click on non-select element
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
(0, _useSelectTriggerControl.default)(function () {
|
|
521
|
+
var _triggerRef$current2;
|
|
522
|
+
|
|
523
|
+
return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];
|
|
524
|
+
}, triggerOpen, onToggleOpen, !!customizeRawInputElement); // ============================ Context =============================
|
|
525
|
+
|
|
526
|
+
var baseSelectContext = React.useMemo(function () {
|
|
527
|
+
return _objectSpread(_objectSpread({}, props), {}, {
|
|
528
|
+
notFoundContent: notFoundContent,
|
|
529
|
+
open: mergedOpen,
|
|
530
|
+
triggerOpen: triggerOpen,
|
|
531
|
+
id: id,
|
|
532
|
+
showSearch: mergedShowSearch,
|
|
533
|
+
multiple: multiple,
|
|
534
|
+
toggleOpen: onToggleOpen
|
|
535
|
+
});
|
|
536
|
+
}, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]); // ==================================================================
|
|
537
|
+
// == Render ==
|
|
538
|
+
// ==================================================================
|
|
539
|
+
// ============================= Arrow ==============================
|
|
540
|
+
|
|
541
|
+
var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !multiple && mode !== 'combobox';
|
|
542
|
+
var arrowNode;
|
|
543
|
+
|
|
544
|
+
if (mergedShowArrow) {
|
|
545
|
+
arrowNode = /*#__PURE__*/React.createElement(_TransBtn.default, {
|
|
546
|
+
className: (0, _classnames.default)("".concat(prefixCls, "-arrow"), _defineProperty({}, "".concat(prefixCls, "-arrow-loading"), loading)),
|
|
547
|
+
customizeIcon: inputIcon,
|
|
548
|
+
customizeIconProps: {
|
|
549
|
+
loading: loading,
|
|
550
|
+
searchValue: mergedSearchValue,
|
|
551
|
+
open: mergedOpen,
|
|
552
|
+
focused: mockFocused,
|
|
553
|
+
showSearch: mergedShowSearch
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
} // ============================= Clear ==============================
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
var clearNode;
|
|
560
|
+
|
|
561
|
+
var onClearMouseDown = function onClearMouseDown() {
|
|
562
|
+
onClear === null || onClear === void 0 ? void 0 : onClear();
|
|
563
|
+
onDisplayValuesChange([], {
|
|
564
|
+
type: 'clear',
|
|
565
|
+
values: displayValues
|
|
566
|
+
});
|
|
567
|
+
onInternalSearch('', false, false);
|
|
568
|
+
};
|
|
569
|
+
|
|
570
|
+
if (!disabled && allowClear && (displayValues.length || mergedSearchValue)) {
|
|
571
|
+
clearNode = /*#__PURE__*/React.createElement(_TransBtn.default, {
|
|
572
|
+
className: "".concat(prefixCls, "-clear"),
|
|
573
|
+
onMouseDown: onClearMouseDown,
|
|
574
|
+
customizeIcon: clearIcon
|
|
575
|
+
}, "\xD7");
|
|
576
|
+
} // =========================== OptionList ===========================
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
var optionList = /*#__PURE__*/React.createElement(OptionList, {
|
|
580
|
+
ref: listRef
|
|
581
|
+
}); // ============================= Select =============================
|
|
582
|
+
|
|
583
|
+
var mergedClassName = (0, _classnames.default)(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, "".concat(prefixCls, "-focused"), mockFocused), _defineProperty(_classNames2, "".concat(prefixCls, "-multiple"), multiple), _defineProperty(_classNames2, "".concat(prefixCls, "-single"), !multiple), _defineProperty(_classNames2, "".concat(prefixCls, "-allow-clear"), allowClear), _defineProperty(_classNames2, "".concat(prefixCls, "-show-arrow"), mergedShowArrow), _defineProperty(_classNames2, "".concat(prefixCls, "-disabled"), disabled), _defineProperty(_classNames2, "".concat(prefixCls, "-loading"), loading), _defineProperty(_classNames2, "".concat(prefixCls, "-open"), mergedOpen), _defineProperty(_classNames2, "".concat(prefixCls, "-customize-input"), customizeInputElement), _defineProperty(_classNames2, "".concat(prefixCls, "-show-search"), mergedShowSearch), _classNames2)); // >>> Selector
|
|
584
|
+
|
|
585
|
+
var selectorNode = /*#__PURE__*/React.createElement(_SelectTrigger.default, {
|
|
586
|
+
ref: triggerRef,
|
|
587
|
+
disabled: disabled,
|
|
588
|
+
prefixCls: prefixCls,
|
|
589
|
+
visible: triggerOpen,
|
|
590
|
+
popupElement: optionList,
|
|
591
|
+
containerWidth: containerWidth,
|
|
592
|
+
animation: animation,
|
|
593
|
+
transitionName: transitionName,
|
|
594
|
+
dropdownStyle: dropdownStyle,
|
|
595
|
+
dropdownClassName: dropdownClassName,
|
|
596
|
+
direction: direction,
|
|
597
|
+
dropdownMatchSelectWidth: dropdownMatchSelectWidth,
|
|
598
|
+
dropdownRender: dropdownRender,
|
|
599
|
+
dropdownAlign: dropdownAlign,
|
|
600
|
+
placement: placement,
|
|
601
|
+
getPopupContainer: getPopupContainer,
|
|
602
|
+
empty: emptyOptions,
|
|
603
|
+
getTriggerDOMNode: function getTriggerDOMNode() {
|
|
604
|
+
return selectorDomRef.current;
|
|
605
|
+
},
|
|
606
|
+
onPopupVisibleChange: onTriggerVisibleChange,
|
|
607
|
+
onPopupMouseEnter: onPopupMouseEnter
|
|
608
|
+
}, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {
|
|
609
|
+
ref: customizeRawInputRef
|
|
610
|
+
}) : /*#__PURE__*/React.createElement(_Selector.default, Object.assign({}, props, {
|
|
611
|
+
domRef: selectorDomRef,
|
|
612
|
+
prefixCls: prefixCls,
|
|
613
|
+
prefix: prefix,
|
|
614
|
+
inputElement: customizeInputElement,
|
|
615
|
+
ref: selectorRef,
|
|
616
|
+
id: id,
|
|
617
|
+
showSearch: mergedShowSearch,
|
|
618
|
+
mode: mode,
|
|
619
|
+
activeDescendantId: activeDescendantId,
|
|
620
|
+
tagRender: tagRender,
|
|
621
|
+
values: displayValues,
|
|
622
|
+
open: mergedOpen,
|
|
623
|
+
onToggleOpen: onToggleOpen,
|
|
624
|
+
activeValue: activeValue,
|
|
625
|
+
searchValue: mergedSearchValue,
|
|
626
|
+
onSearch: onInternalSearch,
|
|
627
|
+
onSearchSubmit: onInternalSearchSubmit,
|
|
628
|
+
onRemove: onSelectorRemove,
|
|
629
|
+
tokenWithEnter: tokenWithEnter
|
|
630
|
+
}))); // >>> Render
|
|
631
|
+
|
|
632
|
+
var renderNode; // Render raw
|
|
633
|
+
|
|
634
|
+
if (customizeRawInputElement) {
|
|
635
|
+
renderNode = selectorNode;
|
|
636
|
+
} else {
|
|
637
|
+
renderNode = /*#__PURE__*/React.createElement("div", Object.assign({
|
|
638
|
+
className: mergedClassName
|
|
639
|
+
}, domProps, {
|
|
640
|
+
ref: containerRef,
|
|
641
|
+
onMouseDown: onInternalMouseDown,
|
|
642
|
+
onKeyDown: onInternalKeyDown,
|
|
643
|
+
onKeyUp: onInternalKeyUp,
|
|
644
|
+
onFocus: onContainerFocus,
|
|
645
|
+
onBlur: onContainerBlur
|
|
646
|
+
}), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement("span", {
|
|
647
|
+
style: {
|
|
648
|
+
width: 0,
|
|
649
|
+
height: 0,
|
|
650
|
+
display: 'flex',
|
|
651
|
+
overflow: 'hidden',
|
|
652
|
+
opacity: 0
|
|
653
|
+
},
|
|
654
|
+
"aria-live": "polite"
|
|
655
|
+
}, "".concat(displayValues.map(function (_ref) {
|
|
656
|
+
var label = _ref.label,
|
|
657
|
+
value = _ref.value;
|
|
658
|
+
return ['number', 'string'].includes(_typeof(label)) ? label : value;
|
|
659
|
+
}).join(', '))), selectorNode, arrowNode, clearNode);
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
return /*#__PURE__*/React.createElement(_useBaseProps.BaseSelectContext.Provider, {
|
|
663
|
+
value: baseSelectContext
|
|
664
|
+
}, renderNode);
|
|
665
|
+
}); // Set display name for dev
|
|
666
|
+
|
|
667
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
668
|
+
BaseSelect.displayName = 'BaseSelect';
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
var _default = BaseSelect;
|
|
672
|
+
exports.default = _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import type { DefaultOptionType } from './Select';
|
|
3
|
+
export interface OptGroupProps extends Omit<DefaultOptionType, 'options'> {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export interface OptionGroupFC extends React.FC<OptGroupProps> {
|
|
7
|
+
/** Legacy for check if is a Option Group */
|
|
8
|
+
isSelectOptGroup: boolean;
|
|
9
|
+
}
|
|
10
|
+
/** This is a placeholder, not real render in dom */
|
|
11
|
+
declare const OptGroup: OptionGroupFC;
|
|
12
|
+
export default OptGroup;
|