@douyinfe/semi-ui 2.36.0-beta.0 → 2.36.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/dist/umd/semi-ui.js +45123 -59672
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.LICENSE.txt +3 -3
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/lib/cjs/_base/base.d.ts +3 -3
- package/lib/cjs/_base/baseComponent.d.ts +1 -1
- package/lib/cjs/_base/baseComponent.js +5 -16
- package/lib/cjs/_base/reactUtils.js +3 -9
- package/lib/cjs/_cssAnimation/index.js +4 -25
- package/lib/cjs/_portal/index.js +0 -31
- package/lib/cjs/_utils/hooks/usePrevFocus.js +0 -6
- package/lib/cjs/_utils/index.js +6 -45
- package/lib/cjs/anchor/anchor-context.d.ts +1 -1
- package/lib/cjs/anchor/anchor-context.js +0 -4
- package/lib/cjs/anchor/index.js +2 -48
- package/lib/cjs/anchor/link.js +4 -36
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/autoComplete/index.js +3 -42
- package/lib/cjs/autoComplete/option.js +26 -54
- package/lib/cjs/avatar/avatarGroup.js +9 -42
- package/lib/cjs/avatar/index.js +15 -56
- package/lib/cjs/avatar/interface.d.ts +6 -6
- package/lib/cjs/backtop/index.js +9 -34
- package/lib/cjs/badge/index.d.ts +3 -3
- package/lib/cjs/badge/index.js +16 -38
- package/lib/cjs/banner/index.d.ts +1 -1
- package/lib/cjs/banner/index.js +3 -31
- package/lib/cjs/breadcrumb/bread-context.js +0 -4
- package/lib/cjs/breadcrumb/index.d.ts +1 -1
- package/lib/cjs/breadcrumb/index.js +1 -45
- package/lib/cjs/breadcrumb/item.d.ts +1 -1
- package/lib/cjs/breadcrumb/item.js +16 -56
- package/lib/cjs/button/Button.d.ts +4 -4
- package/lib/cjs/button/Button.js +18 -37
- package/lib/cjs/button/buttonGroup.d.ts +1 -1
- package/lib/cjs/button/buttonGroup.js +10 -35
- package/lib/cjs/button/index.js +0 -9
- package/lib/cjs/button/splitButtonGroup.js +0 -11
- package/lib/cjs/calendar/dayCalendar.js +0 -29
- package/lib/cjs/calendar/dayCol.js +1 -28
- package/lib/cjs/calendar/index.js +4 -22
- package/lib/cjs/calendar/interface.d.ts +5 -5
- package/lib/cjs/calendar/monthCalendar.js +6 -62
- package/lib/cjs/calendar/rangeCalendar.js +1 -34
- package/lib/cjs/calendar/timeCol.js +0 -20
- package/lib/cjs/calendar/weekCalendar.js +0 -35
- package/lib/cjs/card/cardGroup.d.ts +1 -1
- package/lib/cjs/card/cardGroup.js +8 -24
- package/lib/cjs/card/index.d.ts +1 -1
- package/lib/cjs/card/index.js +7 -38
- package/lib/cjs/card/meta.d.ts +1 -1
- package/lib/cjs/card/meta.js +8 -27
- package/lib/cjs/carousel/CarouselArrow.d.ts +2 -2
- package/lib/cjs/carousel/CarouselArrow.js +1 -13
- package/lib/cjs/carousel/CarouselIndicator.js +9 -33
- package/lib/cjs/carousel/index.js +1 -49
- package/lib/cjs/cascader/index.d.ts +2 -2
- package/lib/cjs/cascader/index.js +12 -144
- package/lib/cjs/cascader/item.js +2 -63
- package/lib/cjs/checkbox/checkbox.d.ts +1 -1
- package/lib/cjs/checkbox/checkbox.js +21 -55
- package/lib/cjs/checkbox/checkboxGroup.d.ts +4 -4
- package/lib/cjs/checkbox/checkboxGroup.js +9 -29
- package/lib/cjs/checkbox/checkboxInner.js +1 -15
- package/lib/cjs/checkbox/context.d.ts +1 -1
- package/lib/cjs/checkbox/context.js +0 -4
- package/lib/cjs/checkbox/index.js +0 -5
- package/lib/cjs/collapse/collapse-context.js +0 -4
- package/lib/cjs/collapse/index.js +14 -42
- package/lib/cjs/collapse/item.js +13 -41
- package/lib/cjs/collapsible/index.js +0 -34
- package/lib/cjs/configProvider/context.js +0 -4
- package/lib/cjs/configProvider/index.js +5 -21
- package/lib/cjs/datePicker/dateInput.js +39 -93
- package/lib/cjs/datePicker/datePicker.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.js +11 -119
- package/lib/cjs/datePicker/footer.js +0 -6
- package/lib/cjs/datePicker/index.js +2 -17
- package/lib/cjs/datePicker/insetInput.js +0 -9
- package/lib/cjs/datePicker/month.d.ts +1 -1
- package/lib/cjs/datePicker/month.js +25 -90
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
- package/lib/cjs/datePicker/monthsGrid.js +21 -96
- package/lib/cjs/datePicker/navigation.js +7 -24
- package/lib/cjs/datePicker/quickControl.js +1 -17
- package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
- package/lib/cjs/datePicker/yearAndMonth.js +6 -52
- package/lib/cjs/descriptions/descriptions-context.d.ts +1 -1
- package/lib/cjs/descriptions/descriptions-context.js +0 -4
- package/lib/cjs/descriptions/index.d.ts +1 -1
- package/lib/cjs/descriptions/index.js +0 -15
- package/lib/cjs/descriptions/item.js +0 -14
- package/lib/cjs/divider/index.js +9 -23
- package/lib/cjs/dropdown/context.js +0 -4
- package/lib/cjs/dropdown/dropdownDivider.d.ts +1 -1
- package/lib/cjs/dropdown/dropdownDivider.js +0 -8
- package/lib/cjs/dropdown/dropdownItem.d.ts +1 -1
- package/lib/cjs/dropdown/dropdownItem.js +0 -21
- package/lib/cjs/dropdown/dropdownMenu.d.ts +1 -1
- package/lib/cjs/dropdown/dropdownMenu.js +6 -24
- package/lib/cjs/dropdown/dropdownTitle.d.ts +1 -1
- package/lib/cjs/dropdown/dropdownTitle.js +0 -12
- package/lib/cjs/dropdown/index.d.ts +1 -1
- package/lib/cjs/dropdown/index.js +21 -62
- package/lib/cjs/empty/index.js +0 -20
- package/lib/cjs/form/arrayField.js +15 -47
- package/lib/cjs/form/baseForm.js +26 -72
- package/lib/cjs/form/context.js +1 -10
- package/lib/cjs/form/errorMessage.d.ts +1 -1
- package/lib/cjs/form/errorMessage.js +1 -20
- package/lib/cjs/form/field.js +4 -23
- package/lib/cjs/form/group.js +11 -48
- package/lib/cjs/form/hoc/withField.js +69 -144
- package/lib/cjs/form/hoc/withFormApi.js +0 -7
- package/lib/cjs/form/hoc/withFormState.js +0 -7
- package/lib/cjs/form/hooks/index.js +0 -8
- package/lib/cjs/form/hooks/useArrayFieldState.js +0 -4
- package/lib/cjs/form/hooks/useFieldApi.js +0 -5
- package/lib/cjs/form/hooks/useFieldState.js +0 -8
- package/lib/cjs/form/hooks/useFormApi.js +0 -3
- package/lib/cjs/form/hooks/useFormState.js +0 -4
- package/lib/cjs/form/hooks/useFormUpdater.js +0 -3
- package/lib/cjs/form/hooks/useStateWithGetter.js +0 -5
- package/lib/cjs/form/index.js +0 -9
- package/lib/cjs/form/interface.d.ts +4 -4
- package/lib/cjs/form/interface.js +1 -8
- package/lib/cjs/form/label.js +0 -16
- package/lib/cjs/form/section.js +1 -11
- package/lib/cjs/form/slot.js +10 -51
- package/lib/cjs/grid/col.js +10 -29
- package/lib/cjs/grid/index.js +0 -3
- package/lib/cjs/grid/row.d.ts +2 -2
- package/lib/cjs/grid/row.js +10 -34
- package/lib/cjs/highlight/index.js +0 -11
- package/lib/cjs/iconButton/index.d.ts +1 -1
- package/lib/cjs/iconButton/index.js +18 -42
- package/lib/cjs/icons/index.js +0 -3
- package/lib/cjs/image/image.d.ts +0 -3
- package/lib/cjs/image/image.js +19 -88
- package/lib/cjs/image/index.js +0 -6
- package/lib/cjs/image/interface.d.ts +1 -1
- package/lib/cjs/image/preview.d.ts +4 -0
- package/lib/cjs/image/preview.js +53 -61
- package/lib/cjs/image/previewContext.js +0 -2
- package/lib/cjs/image/previewFooter.js +9 -62
- package/lib/cjs/image/previewHeader.js +0 -13
- package/lib/cjs/image/previewImage.js +46 -79
- package/lib/cjs/image/previewInner.js +70 -126
- package/lib/cjs/index.js +0 -86
- package/lib/cjs/input/index.d.ts +3 -3
- package/lib/cjs/input/index.js +35 -103
- package/lib/cjs/input/inputGroup.d.ts +1 -1
- package/lib/cjs/input/inputGroup.js +20 -44
- package/lib/cjs/input/textarea.d.ts +1 -1
- package/lib/cjs/input/textarea.js +33 -77
- package/lib/cjs/inputNumber/index.js +127 -199
- package/lib/cjs/layout/Sider.js +7 -32
- package/lib/cjs/layout/index.js +16 -40
- package/lib/cjs/layout/layout-context.js +0 -5
- package/lib/cjs/list/index.js +0 -26
- package/lib/cjs/list/item.js +6 -30
- package/lib/cjs/list/list-context.js +0 -4
- package/lib/cjs/locale/context.js +0 -4
- package/lib/cjs/locale/localeConsumer.d.ts +1 -1
- package/lib/cjs/locale/localeConsumer.js +0 -16
- package/lib/cjs/locale/localeProvider.js +0 -11
- package/lib/cjs/locale/source/ar.js +2 -4
- package/lib/cjs/locale/source/de.js +2 -4
- package/lib/cjs/locale/source/en_GB.js +2 -4
- package/lib/cjs/locale/source/en_US.js +2 -4
- package/lib/cjs/locale/source/es.js +0 -2
- package/lib/cjs/locale/source/fr.js +2 -4
- package/lib/cjs/locale/source/id_ID.js +2 -4
- package/lib/cjs/locale/source/it.js +2 -4
- package/lib/cjs/locale/source/ja_JP.js +2 -4
- package/lib/cjs/locale/source/ko_KR.js +2 -4
- package/lib/cjs/locale/source/ms_MY.js +2 -4
- package/lib/cjs/locale/source/nl_NL.js +0 -2
- package/lib/cjs/locale/source/pl_PL.js +0 -2
- package/lib/cjs/locale/source/pt_BR.js +2 -4
- package/lib/cjs/locale/source/ro.js +0 -2
- package/lib/cjs/locale/source/ru_RU.js +2 -4
- package/lib/cjs/locale/source/sv_SE.js +0 -2
- package/lib/cjs/locale/source/th_TH.js +2 -4
- package/lib/cjs/locale/source/tr_TR.js +2 -4
- package/lib/cjs/locale/source/vi_VN.js +2 -4
- package/lib/cjs/locale/source/zh_CN.js +2 -4
- package/lib/cjs/locale/source/zh_TW.js +2 -4
- package/lib/cjs/modal/ConfirmModal.js +9 -29
- package/lib/cjs/modal/Modal.d.ts +2 -2
- package/lib/cjs/modal/Modal.js +17 -80
- package/lib/cjs/modal/ModalContent.js +13 -72
- package/lib/cjs/modal/confirm.d.ts +9 -3
- package/lib/cjs/modal/confirm.js +4 -28
- package/lib/cjs/modal/index.d.ts +1 -1
- package/lib/cjs/modal/index.js +0 -4
- package/lib/cjs/modal/useModal/HookModal.js +4 -18
- package/lib/cjs/modal/useModal/index.d.ts +1 -1
- package/lib/cjs/modal/useModal/index.js +4 -18
- package/lib/cjs/navigation/CollapseButton.js +0 -11
- package/lib/cjs/navigation/Footer.js +0 -20
- package/lib/cjs/navigation/Header.d.ts +1 -1
- package/lib/cjs/navigation/Header.js +0 -18
- package/lib/cjs/navigation/Item.js +3 -51
- package/lib/cjs/navigation/SubNav.js +7 -67
- package/lib/cjs/navigation/index.d.ts +2 -2
- package/lib/cjs/navigation/index.js +5 -60
- package/lib/cjs/navigation/nav-context.js +0 -4
- package/lib/cjs/notification/index.d.ts +1 -1
- package/lib/cjs/notification/index.js +4 -56
- package/lib/cjs/notification/notice.js +24 -58
- package/lib/cjs/notification/useNotification/HookNotice.js +3 -18
- package/lib/cjs/notification/useNotification/index.js +4 -25
- package/lib/cjs/overflowList/index.d.ts +41 -24
- package/lib/cjs/overflowList/index.js +7 -65
- package/lib/cjs/overflowList/intersectionObserver.js +2 -21
- package/lib/cjs/pagination/index.d.ts +2 -2
- package/lib/cjs/pagination/index.js +7 -59
- package/lib/cjs/popconfirm/index.js +9 -54
- package/lib/cjs/popover/Arrow.js +6 -19
- package/lib/cjs/popover/index.js +11 -38
- package/lib/cjs/progress/index.js +8 -48
- package/lib/cjs/radio/context.d.ts +2 -2
- package/lib/cjs/radio/context.js +0 -4
- package/lib/cjs/radio/index.js +0 -5
- package/lib/cjs/radio/radio.d.ts +3 -3
- package/lib/cjs/radio/radio.js +1 -36
- package/lib/cjs/radio/radioGroup.d.ts +2 -2
- package/lib/cjs/radio/radioGroup.js +0 -24
- package/lib/cjs/radio/radioInner.d.ts +1 -1
- package/lib/cjs/radio/radioInner.js +0 -21
- package/lib/cjs/rating/index.js +4 -51
- package/lib/cjs/rating/item.d.ts +1 -1
- package/lib/cjs/rating/item.js +2 -27
- package/lib/cjs/resizeObserver/index.js +4 -28
- package/lib/cjs/scrollList/index.js +0 -13
- package/lib/cjs/scrollList/scrollItem.js +15 -113
- package/lib/cjs/select/index.d.ts +6 -6
- package/lib/cjs/select/index.js +27 -164
- package/lib/cjs/select/option.js +27 -55
- package/lib/cjs/select/optionGroup.js +0 -12
- package/lib/cjs/select/utils.js +8 -24
- package/lib/cjs/select/virtualRow.js +0 -2
- package/lib/cjs/sideSheet/SideSheetContent.js +2 -40
- package/lib/cjs/sideSheet/index.js +21 -66
- package/lib/cjs/skeleton/index.js +9 -28
- package/lib/cjs/skeleton/item.d.ts +2 -2
- package/lib/cjs/skeleton/item.js +8 -29
- package/lib/cjs/slider/index.js +7 -68
- package/lib/cjs/space/index.d.ts +3 -3
- package/lib/cjs/space/index.js +0 -20
- package/lib/cjs/space/utils.js +0 -9
- package/lib/cjs/spin/icon.js +4 -17
- package/lib/cjs/spin/index.d.ts +1 -1
- package/lib/cjs/spin/index.js +0 -20
- package/lib/cjs/steps/basicStep.d.ts +2 -2
- package/lib/cjs/steps/basicStep.js +0 -22
- package/lib/cjs/steps/basicSteps.d.ts +3 -3
- package/lib/cjs/steps/basicSteps.js +0 -15
- package/lib/cjs/steps/context.js +0 -4
- package/lib/cjs/steps/fillStep.d.ts +1 -1
- package/lib/cjs/steps/fillStep.js +0 -19
- package/lib/cjs/steps/fillSteps.d.ts +2 -2
- package/lib/cjs/steps/fillSteps.js +0 -17
- package/lib/cjs/steps/index.d.ts +1 -1
- package/lib/cjs/steps/index.js +4 -26
- package/lib/cjs/steps/navStep.js +0 -11
- package/lib/cjs/steps/navSteps.d.ts +1 -1
- package/lib/cjs/steps/navSteps.js +0 -13
- package/lib/cjs/steps/step.d.ts +1 -1
- package/lib/cjs/steps/step.js +0 -15
- package/lib/cjs/switch/index.js +1 -22
- package/lib/cjs/table/Body/BaseRow.d.ts +1 -1
- package/lib/cjs/table/Body/BaseRow.js +37 -101
- package/lib/cjs/table/Body/ExpandedRow.d.ts +1 -1
- package/lib/cjs/table/Body/ExpandedRow.js +5 -30
- package/lib/cjs/table/Body/SectionRow.js +8 -46
- package/lib/cjs/table/Body/index.js +38 -153
- package/lib/cjs/table/ColGroup.js +2 -14
- package/lib/cjs/table/Column.js +0 -7
- package/lib/cjs/table/ColumnFilter.js +4 -30
- package/lib/cjs/table/ColumnSelection.js +5 -24
- package/lib/cjs/table/ColumnShape.js +0 -4
- package/lib/cjs/table/ColumnSorter.js +0 -13
- package/lib/cjs/table/CustomExpandIcon.js +0 -16
- package/lib/cjs/table/HeadTable.js +0 -23
- package/lib/cjs/table/ResizableHeaderCell.d.ts +1 -1
- package/lib/cjs/table/ResizableHeaderCell.js +9 -20
- package/lib/cjs/table/ResizableTable.js +5 -47
- package/lib/cjs/table/Table.d.ts +2 -2
- package/lib/cjs/table/Table.js +534 -771
- package/lib/cjs/table/TableCell.js +20 -81
- package/lib/cjs/table/TableContextProvider.js +0 -7
- package/lib/cjs/table/TableHeader.js +5 -33
- package/lib/cjs/table/TableHeaderRow.js +8 -45
- package/lib/cjs/table/TablePagination.js +1 -12
- package/lib/cjs/table/getColumns.js +0 -11
- package/lib/cjs/table/index.js +2 -20
- package/lib/cjs/table/interface.d.ts +58 -58
- package/lib/cjs/table/table-context.js +1 -5
- package/lib/cjs/table/utils.js +6 -30
- package/lib/cjs/tabs/TabBar.js +13 -61
- package/lib/cjs/tabs/TabItem.js +18 -31
- package/lib/cjs/tabs/TabPane.js +10 -35
- package/lib/cjs/tabs/index.js +20 -83
- package/lib/cjs/tabs/interface.d.ts +3 -3
- package/lib/cjs/tabs/tabs-context.js +0 -4
- package/lib/cjs/tag/group.js +0 -27
- package/lib/cjs/tag/index.js +23 -60
- package/lib/cjs/tag/interface.d.ts +5 -5
- package/lib/cjs/tagInput/index.d.ts +3 -3
- package/lib/cjs/tagInput/index.js +2 -77
- package/lib/cjs/timePicker/Combobox.d.ts +2 -2
- package/lib/cjs/timePicker/Combobox.js +7 -54
- package/lib/cjs/timePicker/PanelShape.js +0 -3
- package/lib/cjs/timePicker/TimeInput.d.ts +1 -1
- package/lib/cjs/timePicker/TimeInput.js +32 -64
- package/lib/cjs/timePicker/TimePicker.d.ts +3 -3
- package/lib/cjs/timePicker/TimePicker.js +39 -99
- package/lib/cjs/timePicker/TimeShape.js +0 -5
- package/lib/cjs/timePicker/index.d.ts +1 -1
- package/lib/cjs/timePicker/index.js +0 -9
- package/lib/cjs/timeline/index.js +0 -27
- package/lib/cjs/timeline/item.js +0 -13
- package/lib/cjs/toast/index.js +5 -59
- package/lib/cjs/toast/toast.js +1 -29
- package/lib/cjs/toast/useToast/HookToast.js +3 -18
- package/lib/cjs/toast/useToast/index.js +2 -17
- package/lib/cjs/tooltip/ArrowBoundingShape.js +0 -4
- package/lib/cjs/tooltip/TriangleArrow.js +4 -12
- package/lib/cjs/tooltip/TriangleArrowVertical.js +4 -12
- package/lib/cjs/tooltip/index.d.ts +2 -2
- package/lib/cjs/tooltip/index.js +24 -134
- package/lib/cjs/transfer/index.d.ts +5 -5
- package/lib/cjs/transfer/index.js +10 -93
- package/lib/cjs/tree/autoSizer.js +4 -24
- package/lib/cjs/tree/index.js +31 -122
- package/lib/cjs/tree/interface.d.ts +2 -2
- package/lib/cjs/tree/nodeCollapsible.js +4 -15
- package/lib/cjs/tree/nodeList.js +0 -22
- package/lib/cjs/tree/treeContext.js +0 -4
- package/lib/cjs/tree/treeNode.js +21 -94
- package/lib/cjs/tree/treeUtil.js +0 -6
- package/lib/cjs/treeSelect/index.d.ts +6 -6
- package/lib/cjs/treeSelect/index.js +46 -196
- package/lib/cjs/trigger/index.js +5 -16
- package/lib/cjs/typography/base.js +35 -130
- package/lib/cjs/typography/copyable.js +2 -30
- package/lib/cjs/typography/index.d.ts +1 -1
- package/lib/cjs/typography/index.js +0 -9
- package/lib/cjs/typography/interface.d.ts +9 -9
- package/lib/cjs/typography/numeral.d.ts +1 -1
- package/lib/cjs/typography/numeral.js +4 -20
- package/lib/cjs/typography/paragraph.d.ts +1 -1
- package/lib/cjs/typography/paragraph.js +0 -12
- package/lib/cjs/typography/text.d.ts +1 -1
- package/lib/cjs/typography/text.js +0 -10
- package/lib/cjs/typography/title.d.ts +2 -2
- package/lib/cjs/typography/title.js +6 -20
- package/lib/cjs/typography/typography.js +7 -23
- package/lib/cjs/typography/util.js +22 -50
- package/lib/cjs/upload/fileCard.js +2 -52
- package/lib/cjs/upload/index.js +1 -70
- package/lib/cjs/upload/interface.d.ts +5 -5
- package/lib/es/_base/base.d.ts +3 -3
- package/lib/es/_base/baseComponent.d.ts +1 -1
- package/lib/es/_base/baseComponent.js +4 -11
- package/lib/es/_base/reactUtils.js +4 -8
- package/lib/es/_cssAnimation/index.js +4 -22
- package/lib/es/_portal/index.js +0 -23
- package/lib/es/_utils/hooks/usePrevFocus.js +0 -2
- package/lib/es/_utils/index.js +6 -28
- package/lib/es/anchor/anchor-context.d.ts +1 -1
- package/lib/es/anchor/index.js +2 -32
- package/lib/es/anchor/link.js +4 -24
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/autoComplete/index.js +3 -25
- package/lib/es/autoComplete/option.js +26 -45
- package/lib/es/avatar/avatarGroup.js +9 -28
- package/lib/es/avatar/index.js +15 -41
- package/lib/es/avatar/interface.d.ts +6 -6
- package/lib/es/backtop/index.js +9 -22
- package/lib/es/badge/index.d.ts +3 -3
- package/lib/es/badge/index.js +16 -24
- package/lib/es/banner/index.d.ts +1 -1
- package/lib/es/banner/index.js +2 -15
- package/lib/es/breadcrumb/index.d.ts +1 -1
- package/lib/es/breadcrumb/index.js +0 -31
- package/lib/es/breadcrumb/item.d.ts +1 -1
- package/lib/es/breadcrumb/item.js +16 -38
- package/lib/es/button/Button.d.ts +4 -4
- package/lib/es/button/Button.js +18 -27
- package/lib/es/button/buttonGroup.d.ts +1 -1
- package/lib/es/button/buttonGroup.js +10 -24
- package/lib/es/button/index.js +0 -5
- package/lib/es/button/splitButtonGroup.js +0 -1
- package/lib/es/calendar/dayCalendar.js +0 -13
- package/lib/es/calendar/dayCol.js +0 -14
- package/lib/es/calendar/index.js +6 -12
- package/lib/es/calendar/interface.d.ts +5 -5
- package/lib/es/calendar/monthCalendar.js +6 -41
- package/lib/es/calendar/rangeCalendar.js +2 -18
- package/lib/es/calendar/timeCol.js +0 -7
- package/lib/es/calendar/weekCalendar.js +0 -17
- package/lib/es/card/cardGroup.d.ts +1 -1
- package/lib/es/card/cardGroup.js +8 -15
- package/lib/es/card/index.d.ts +1 -1
- package/lib/es/card/index.js +7 -23
- package/lib/es/card/meta.d.ts +1 -1
- package/lib/es/card/meta.js +8 -15
- package/lib/es/carousel/CarouselArrow.d.ts +2 -2
- package/lib/es/carousel/CarouselArrow.js +0 -8
- package/lib/es/carousel/CarouselIndicator.js +9 -27
- package/lib/es/carousel/index.js +0 -34
- package/lib/es/cascader/index.d.ts +2 -2
- package/lib/es/cascader/index.js +12 -105
- package/lib/es/cascader/item.js +2 -44
- package/lib/es/checkbox/checkbox.d.ts +1 -1
- package/lib/es/checkbox/checkbox.js +20 -42
- package/lib/es/checkbox/checkboxGroup.d.ts +4 -4
- package/lib/es/checkbox/checkboxGroup.js +8 -20
- package/lib/es/checkbox/checkboxInner.js +0 -6
- package/lib/es/checkbox/context.d.ts +1 -1
- package/lib/es/checkbox/index.js +0 -2
- package/lib/es/collapse/index.js +14 -31
- package/lib/es/collapse/item.js +13 -27
- package/lib/es/collapsible/index.js +0 -25
- package/lib/es/configProvider/index.js +5 -13
- package/lib/es/datePicker/dateInput.js +41 -81
- package/lib/es/datePicker/datePicker.d.ts +1 -1
- package/lib/es/datePicker/datePicker.js +10 -103
- package/lib/es/datePicker/index.js +2 -8
- package/lib/es/datePicker/insetInput.js +0 -6
- package/lib/es/datePicker/month.d.ts +1 -1
- package/lib/es/datePicker/month.js +24 -78
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/datePicker/monthsGrid.js +20 -76
- package/lib/es/datePicker/navigation.js +8 -13
- package/lib/es/datePicker/quickControl.js +0 -6
- package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonth.js +5 -36
- package/lib/es/descriptions/descriptions-context.d.ts +1 -1
- package/lib/es/descriptions/index.d.ts +1 -1
- package/lib/es/descriptions/index.js +0 -3
- package/lib/es/descriptions/item.js +0 -3
- package/lib/es/divider/index.js +9 -17
- package/lib/es/dropdown/dropdownDivider.d.ts +1 -1
- package/lib/es/dropdown/dropdownDivider.js +0 -2
- package/lib/es/dropdown/dropdownItem.d.ts +1 -1
- package/lib/es/dropdown/dropdownItem.js +0 -11
- package/lib/es/dropdown/dropdownMenu.d.ts +1 -1
- package/lib/es/dropdown/dropdownMenu.js +6 -15
- package/lib/es/dropdown/dropdownTitle.d.ts +1 -1
- package/lib/es/dropdown/dropdownTitle.js +0 -3
- package/lib/es/dropdown/index.d.ts +1 -1
- package/lib/es/dropdown/index.js +21 -47
- package/lib/es/empty/index.js +0 -10
- package/lib/es/form/arrayField.js +14 -41
- package/lib/es/form/baseForm.js +26 -49
- package/lib/es/form/errorMessage.d.ts +1 -1
- package/lib/es/form/errorMessage.js +0 -9
- package/lib/es/form/field.js +4 -4
- package/lib/es/form/group.js +11 -29
- package/lib/es/form/hoc/withField.js +68 -125
- package/lib/es/form/hoc/withFormApi.js +0 -3
- package/lib/es/form/hoc/withFormState.js +0 -3
- package/lib/es/form/hooks/index.js +2 -2
- package/lib/es/form/hooks/useArrayFieldState.js +0 -2
- package/lib/es/form/hooks/useFieldApi.js +0 -3
- package/lib/es/form/hooks/useFieldState.js +0 -3
- package/lib/es/form/hooks/useFormState.js +0 -2
- package/lib/es/form/hooks/useStateWithGetter.js +2 -5
- package/lib/es/form/index.js +4 -4
- package/lib/es/form/interface.d.ts +4 -4
- package/lib/es/form/interface.js +0 -1
- package/lib/es/form/label.js +0 -1
- package/lib/es/form/section.js +0 -1
- package/lib/es/form/slot.js +10 -39
- package/lib/es/grid/col.js +10 -23
- package/lib/es/grid/row.d.ts +2 -2
- package/lib/es/grid/row.js +10 -25
- package/lib/es/highlight/index.js +0 -3
- package/lib/es/iconButton/index.d.ts +1 -1
- package/lib/es/iconButton/index.js +18 -31
- package/lib/es/image/image.d.ts +0 -3
- package/lib/es/image/image.js +19 -70
- package/lib/es/image/interface.d.ts +1 -1
- package/lib/es/image/preview.d.ts +4 -0
- package/lib/es/image/preview.js +51 -48
- package/lib/es/image/previewFooter.js +9 -34
- package/lib/es/image/previewHeader.js +0 -4
- package/lib/es/image/previewImage.js +46 -69
- package/lib/es/image/previewInner.js +69 -110
- package/lib/es/index.js +0 -1
- package/lib/es/input/index.d.ts +3 -3
- package/lib/es/input/index.js +35 -88
- package/lib/es/input/inputGroup.d.ts +1 -1
- package/lib/es/input/inputGroup.js +20 -33
- package/lib/es/input/textarea.d.ts +1 -1
- package/lib/es/input/textarea.js +34 -65
- package/lib/es/inputNumber/index.js +127 -181
- package/lib/es/layout/Sider.js +7 -23
- package/lib/es/layout/index.js +16 -31
- package/lib/es/list/index.js +0 -11
- package/lib/es/list/item.js +6 -18
- package/lib/es/locale/localeConsumer.d.ts +1 -1
- package/lib/es/locale/localeConsumer.js +0 -7
- package/lib/es/locale/localeProvider.js +0 -2
- package/lib/es/locale/source/ar.js +2 -2
- package/lib/es/locale/source/de.js +2 -2
- package/lib/es/locale/source/en_GB.js +2 -2
- package/lib/es/locale/source/en_US.js +2 -2
- package/lib/es/locale/source/es.js +0 -1
- package/lib/es/locale/source/fr.js +2 -2
- package/lib/es/locale/source/id_ID.js +2 -2
- package/lib/es/locale/source/it.js +2 -2
- package/lib/es/locale/source/ja_JP.js +2 -2
- package/lib/es/locale/source/ko_KR.js +2 -2
- package/lib/es/locale/source/ms_MY.js +2 -2
- package/lib/es/locale/source/nl_NL.js +0 -1
- package/lib/es/locale/source/pl_PL.js +0 -1
- package/lib/es/locale/source/pt_BR.js +2 -2
- package/lib/es/locale/source/ro.js +0 -1
- package/lib/es/locale/source/ru_RU.js +2 -2
- package/lib/es/locale/source/sv_SE.js +0 -1
- package/lib/es/locale/source/th_TH.js +2 -2
- package/lib/es/locale/source/tr_TR.js +2 -2
- package/lib/es/locale/source/vi_VN.js +2 -2
- package/lib/es/locale/source/zh_CN.js +2 -2
- package/lib/es/locale/source/zh_TW.js +2 -2
- package/lib/es/modal/ConfirmModal.js +9 -20
- package/lib/es/modal/Modal.d.ts +2 -2
- package/lib/es/modal/Modal.js +17 -63
- package/lib/es/modal/ModalContent.js +14 -54
- package/lib/es/modal/confirm.d.ts +9 -3
- package/lib/es/modal/confirm.js +4 -11
- package/lib/es/modal/index.d.ts +1 -1
- package/lib/es/modal/useModal/HookModal.js +6 -14
- package/lib/es/modal/useModal/index.d.ts +1 -1
- package/lib/es/modal/useModal/index.js +4 -9
- package/lib/es/navigation/CollapseButton.js +0 -4
- package/lib/es/navigation/Footer.js +0 -7
- package/lib/es/navigation/Header.d.ts +1 -1
- package/lib/es/navigation/Header.js +0 -5
- package/lib/es/navigation/Item.js +2 -35
- package/lib/es/navigation/SubNav.js +6 -45
- package/lib/es/navigation/index.d.ts +2 -2
- package/lib/es/navigation/index.js +5 -38
- package/lib/es/notification/index.d.ts +1 -1
- package/lib/es/notification/index.js +4 -39
- package/lib/es/notification/notice.js +24 -46
- package/lib/es/notification/useNotification/HookNotice.js +3 -11
- package/lib/es/notification/useNotification/index.js +6 -16
- package/lib/es/overflowList/index.d.ts +41 -24
- package/lib/es/overflowList/index.js +6 -46
- package/lib/es/overflowList/intersectionObserver.js +2 -13
- package/lib/es/pagination/index.d.ts +2 -2
- package/lib/es/pagination/index.js +7 -37
- package/lib/es/popconfirm/index.js +9 -37
- package/lib/es/popover/Arrow.js +6 -18
- package/lib/es/popover/index.js +11 -27
- package/lib/es/progress/index.js +8 -37
- package/lib/es/radio/context.d.ts +2 -2
- package/lib/es/radio/index.js +0 -2
- package/lib/es/radio/radio.d.ts +3 -3
- package/lib/es/radio/radio.js +0 -23
- package/lib/es/radio/radioGroup.d.ts +2 -2
- package/lib/es/radio/radioGroup.js +0 -14
- package/lib/es/radio/radioInner.d.ts +1 -1
- package/lib/es/radio/radioInner.js +0 -11
- package/lib/es/rating/index.js +4 -36
- package/lib/es/rating/item.d.ts +1 -1
- package/lib/es/rating/item.js +2 -16
- package/lib/es/resizeObserver/index.js +4 -19
- package/lib/es/scrollList/index.js +2 -5
- package/lib/es/scrollList/scrollItem.js +15 -104
- package/lib/es/select/index.d.ts +6 -6
- package/lib/es/select/index.js +27 -123
- package/lib/es/select/option.js +27 -46
- package/lib/es/select/optionGroup.js +0 -5
- package/lib/es/select/utils.js +8 -19
- package/lib/es/select/virtualRow.js +0 -1
- package/lib/es/sideSheet/SideSheetContent.js +2 -28
- package/lib/es/sideSheet/index.js +21 -52
- package/lib/es/skeleton/index.js +9 -18
- package/lib/es/skeleton/item.d.ts +2 -2
- package/lib/es/skeleton/item.js +8 -17
- package/lib/es/slider/index.js +6 -53
- package/lib/es/space/index.d.ts +3 -3
- package/lib/es/space/index.js +0 -6
- package/lib/es/space/utils.js +0 -2
- package/lib/es/spin/icon.js +4 -15
- package/lib/es/spin/index.d.ts +1 -1
- package/lib/es/spin/index.js +0 -10
- package/lib/es/steps/basicStep.d.ts +2 -2
- package/lib/es/steps/basicStep.js +0 -15
- package/lib/es/steps/basicSteps.d.ts +3 -3
- package/lib/es/steps/basicSteps.js +0 -6
- package/lib/es/steps/fillStep.d.ts +1 -1
- package/lib/es/steps/fillStep.js +0 -13
- package/lib/es/steps/fillSteps.d.ts +2 -2
- package/lib/es/steps/fillSteps.js +0 -6
- package/lib/es/steps/index.d.ts +1 -1
- package/lib/es/steps/index.js +4 -15
- package/lib/es/steps/navStep.js +0 -5
- package/lib/es/steps/navSteps.d.ts +1 -1
- package/lib/es/steps/navSteps.js +0 -3
- package/lib/es/steps/step.d.ts +1 -1
- package/lib/es/steps/step.js +0 -7
- package/lib/es/switch/index.js +0 -13
- package/lib/es/table/Body/BaseRow.d.ts +1 -1
- package/lib/es/table/Body/BaseRow.js +37 -85
- package/lib/es/table/Body/ExpandedRow.d.ts +1 -1
- package/lib/es/table/Body/ExpandedRow.js +5 -18
- package/lib/es/table/Body/SectionRow.js +8 -35
- package/lib/es/table/Body/index.js +38 -149
- package/lib/es/table/ColGroup.js +2 -7
- package/lib/es/table/Column.js +0 -2
- package/lib/es/table/ColumnFilter.js +3 -20
- package/lib/es/table/ColumnSelection.js +5 -15
- package/lib/es/table/ColumnSorter.js +0 -1
- package/lib/es/table/CustomExpandIcon.js +0 -6
- package/lib/es/table/HeadTable.js +0 -15
- package/lib/es/table/ResizableHeaderCell.d.ts +1 -1
- package/lib/es/table/ResizableHeaderCell.js +9 -17
- package/lib/es/table/ResizableTable.js +5 -37
- package/lib/es/table/Table.d.ts +2 -2
- package/lib/es/table/Table.js +457 -664
- package/lib/es/table/TableCell.js +19 -65
- package/lib/es/table/TableContextProvider.js +0 -2
- package/lib/es/table/TableHeader.js +4 -23
- package/lib/es/table/TableHeaderRow.js +8 -39
- package/lib/es/table/TablePagination.js +0 -4
- package/lib/es/table/getColumns.js +0 -4
- package/lib/es/table/index.js +2 -10
- package/lib/es/table/interface.d.ts +58 -58
- package/lib/es/table/table-context.js +0 -1
- package/lib/es/table/utils.js +6 -19
- package/lib/es/tabs/TabBar.js +13 -46
- package/lib/es/tabs/TabItem.js +18 -24
- package/lib/es/tabs/TabPane.js +10 -25
- package/lib/es/tabs/index.js +20 -59
- package/lib/es/tabs/interface.d.ts +3 -3
- package/lib/es/tag/group.js +0 -14
- package/lib/es/tag/index.js +23 -45
- package/lib/es/tag/interface.d.ts +5 -5
- package/lib/es/tagInput/index.d.ts +3 -3
- package/lib/es/tagInput/index.js +2 -54
- package/lib/es/timePicker/Combobox.d.ts +2 -2
- package/lib/es/timePicker/Combobox.js +6 -42
- package/lib/es/timePicker/TimeInput.d.ts +1 -1
- package/lib/es/timePicker/TimeInput.js +32 -56
- package/lib/es/timePicker/TimePicker.d.ts +3 -3
- package/lib/es/timePicker/TimePicker.js +39 -80
- package/lib/es/timePicker/TimeShape.js +0 -1
- package/lib/es/timePicker/index.d.ts +1 -1
- package/lib/es/timePicker/index.js +0 -1
- package/lib/es/timeline/index.js +0 -16
- package/lib/es/timeline/item.js +0 -1
- package/lib/es/toast/index.js +4 -41
- package/lib/es/toast/toast.js +0 -17
- package/lib/es/toast/useToast/HookToast.js +3 -11
- package/lib/es/toast/useToast/index.js +4 -13
- package/lib/es/tooltip/TriangleArrow.js +4 -10
- package/lib/es/tooltip/TriangleArrowVertical.js +4 -10
- package/lib/es/tooltip/index.d.ts +2 -2
- package/lib/es/tooltip/index.js +24 -112
- package/lib/es/transfer/index.d.ts +5 -5
- package/lib/es/transfer/index.js +10 -67
- package/lib/es/tree/autoSizer.js +4 -13
- package/lib/es/tree/index.js +30 -96
- package/lib/es/tree/interface.d.ts +2 -2
- package/lib/es/tree/nodeCollapsible.js +4 -10
- package/lib/es/tree/nodeList.js +0 -14
- package/lib/es/tree/treeNode.js +21 -76
- package/lib/es/tree/treeUtil.js +0 -1
- package/lib/es/treeSelect/index.d.ts +6 -6
- package/lib/es/treeSelect/index.js +46 -156
- package/lib/es/trigger/index.js +5 -13
- package/lib/es/typography/base.js +35 -113
- package/lib/es/typography/copyable.js +2 -14
- package/lib/es/typography/index.d.ts +1 -1
- package/lib/es/typography/interface.d.ts +9 -9
- package/lib/es/typography/numeral.d.ts +1 -1
- package/lib/es/typography/numeral.js +4 -10
- package/lib/es/typography/paragraph.d.ts +1 -1
- package/lib/es/typography/paragraph.js +0 -1
- package/lib/es/typography/text.d.ts +1 -1
- package/lib/es/typography/text.js +0 -1
- package/lib/es/typography/title.d.ts +2 -2
- package/lib/es/typography/title.js +6 -11
- package/lib/es/typography/typography.js +7 -14
- package/lib/es/typography/util.js +22 -45
- package/lib/es/upload/fileCard.js +2 -31
- package/lib/es/upload/index.js +0 -57
- package/lib/es/upload/interface.d.ts +5 -5
- package/package.json +8 -8
package/lib/es/select/index.js
CHANGED
|
@@ -4,9 +4,7 @@ import _get from "lodash/get";
|
|
|
4
4
|
import _noop from "lodash/noop";
|
|
5
5
|
import _isString from "lodash/isString";
|
|
6
6
|
import _isEqual from "lodash/isEqual";
|
|
7
|
-
|
|
8
7
|
/* eslint-disable max-len */
|
|
9
|
-
|
|
10
8
|
/* eslint-disable max-lines-per-function */
|
|
11
9
|
import React, { Fragment } from 'react';
|
|
12
10
|
import ReactDOM from 'react-dom';
|
|
@@ -38,18 +36,15 @@ import { isSemiIcon, getFocusableElements, getActiveElement } from '../_utils';
|
|
|
38
36
|
import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
|
|
39
37
|
import '@douyinfe/semi-foundation/lib/es/select/select.css';
|
|
40
38
|
const prefixcls = cssClasses.PREFIX;
|
|
41
|
-
const key = 0;
|
|
42
|
-
|
|
39
|
+
const key = 0;
|
|
40
|
+
// Notes: Use the label of the option as the identifier, that is, the option in Select, the value is allowed to be the same, but the label must be unique
|
|
43
41
|
class Select extends BaseComponent {
|
|
44
42
|
constructor(props) {
|
|
45
43
|
super(props);
|
|
46
|
-
|
|
47
44
|
this.setOptionContainerEl = node => this.optionContainerEl = {
|
|
48
45
|
current: node
|
|
49
46
|
};
|
|
50
|
-
|
|
51
47
|
this.handleInputChange = (value, event) => this.foundation.handleInputChange(value, event);
|
|
52
|
-
|
|
53
48
|
this.getTagItem = (item, i, renderSelectedItem) => {
|
|
54
49
|
const {
|
|
55
50
|
size,
|
|
@@ -60,7 +55,6 @@ class Select extends BaseComponent {
|
|
|
60
55
|
value
|
|
61
56
|
} = item[1];
|
|
62
57
|
const disabled = item[1].disabled || selectDisabled;
|
|
63
|
-
|
|
64
58
|
const onClose = (tagContent, e) => {
|
|
65
59
|
if (e && typeof e.preventDefault === 'function') {
|
|
66
60
|
e.preventDefault(); // make sure that tag will not hidden immediately in controlled mode
|
|
@@ -71,7 +65,6 @@ class Select extends BaseComponent {
|
|
|
71
65
|
value
|
|
72
66
|
});
|
|
73
67
|
};
|
|
74
|
-
|
|
75
68
|
const {
|
|
76
69
|
content,
|
|
77
70
|
isRenderInTag
|
|
@@ -85,7 +78,6 @@ class Select extends BaseComponent {
|
|
|
85
78
|
closable: !disabled,
|
|
86
79
|
onClose
|
|
87
80
|
};
|
|
88
|
-
|
|
89
81
|
if (isRenderInTag) {
|
|
90
82
|
return /*#__PURE__*/React.createElement(Tag, Object.assign({}, basic, {
|
|
91
83
|
color: "white",
|
|
@@ -99,7 +91,6 @@ class Select extends BaseComponent {
|
|
|
99
91
|
}, content);
|
|
100
92
|
}
|
|
101
93
|
};
|
|
102
|
-
|
|
103
94
|
this.state = {
|
|
104
95
|
isOpen: false,
|
|
105
96
|
isFocus: false,
|
|
@@ -118,7 +109,6 @@ class Select extends BaseComponent {
|
|
|
118
109
|
overflowItemCount: 0
|
|
119
110
|
};
|
|
120
111
|
/* Generate random string */
|
|
121
|
-
|
|
122
112
|
this.selectOptionListID = '';
|
|
123
113
|
this.selectID = '';
|
|
124
114
|
this.virtualizeListRef = /*#__PURE__*/React.createRef();
|
|
@@ -136,10 +126,8 @@ class Select extends BaseComponent {
|
|
|
136
126
|
this.eventManager = new Event();
|
|
137
127
|
this.foundation = new SelectFoundation(this.adapter);
|
|
138
128
|
}
|
|
139
|
-
|
|
140
129
|
get adapter() {
|
|
141
130
|
var _this = this;
|
|
142
|
-
|
|
143
131
|
const keyboardAdapter = {
|
|
144
132
|
registerKeyDown: cb => {
|
|
145
133
|
const keyboardEventSet = {
|
|
@@ -179,7 +167,6 @@ class Select extends BaseComponent {
|
|
|
179
167
|
const {
|
|
180
168
|
preventScroll
|
|
181
169
|
} = this.props;
|
|
182
|
-
|
|
183
170
|
if (this.inputRef && this.inputRef.current) {
|
|
184
171
|
this.inputRef.current.focus({
|
|
185
172
|
preventScroll
|
|
@@ -193,16 +180,15 @@ class Select extends BaseComponent {
|
|
|
193
180
|
registerClickOutsideHandler: cb => {
|
|
194
181
|
const clickOutsideHandler = e => {
|
|
195
182
|
const optionInstance = this.optionsRef && this.optionsRef.current;
|
|
196
|
-
const triggerDom = this.triggerRef && this.triggerRef.current;
|
|
197
|
-
|
|
198
|
-
const optionsDom = ReactDOM.findDOMNode(optionInstance);
|
|
183
|
+
const triggerDom = this.triggerRef && this.triggerRef.current;
|
|
184
|
+
// eslint-disable-next-line react/no-find-dom-node
|
|
185
|
+
const optionsDom = ReactDOM.findDOMNode(optionInstance);
|
|
186
|
+
// let isInPanel = optionsDom && optionsDom.contains(e.target);
|
|
199
187
|
// let isInTrigger = triggerDom && triggerDom.contains(e.target);
|
|
200
|
-
|
|
201
188
|
if (optionsDom && !optionsDom.contains(e.target) && triggerDom && !triggerDom.contains(e.target)) {
|
|
202
189
|
cb(e);
|
|
203
190
|
}
|
|
204
191
|
};
|
|
205
|
-
|
|
206
192
|
this.clickOutsideHandler = clickOutsideHandler;
|
|
207
193
|
document.addEventListener('mousedown', clickOutsideHandler, false);
|
|
208
194
|
},
|
|
@@ -239,7 +225,6 @@ class Select extends BaseComponent {
|
|
|
239
225
|
const {
|
|
240
226
|
optionList
|
|
241
227
|
} = _this.props;
|
|
242
|
-
|
|
243
228
|
if (optionList && optionList.length) {
|
|
244
229
|
options = optionList.map((itemOpt, index) => Object.assign({
|
|
245
230
|
_show: true,
|
|
@@ -255,11 +240,9 @@ class Select extends BaseComponent {
|
|
|
255
240
|
optionGroups = result.optionGroups;
|
|
256
241
|
options = result.options;
|
|
257
242
|
}
|
|
258
|
-
|
|
259
243
|
_this.setState({
|
|
260
244
|
optionGroups
|
|
261
245
|
});
|
|
262
|
-
|
|
263
246
|
return options;
|
|
264
247
|
},
|
|
265
248
|
updateOptions: options => {
|
|
@@ -373,18 +356,14 @@ class Select extends BaseComponent {
|
|
|
373
356
|
updateScrollTop: index => {
|
|
374
357
|
// eslint-disable-next-line max-len
|
|
375
358
|
let optionClassName = `.${prefixcls}-option-selected`;
|
|
376
|
-
|
|
377
359
|
if (index !== undefined) {
|
|
378
360
|
optionClassName = `.${prefixcls}-option:nth-child(${index})`;
|
|
379
361
|
}
|
|
380
|
-
|
|
381
362
|
let destNode = document.querySelector(`#${prefixcls}-${this.selectOptionListID} ${optionClassName}`);
|
|
382
|
-
|
|
383
363
|
if (Array.isArray(destNode)) {
|
|
384
364
|
// eslint-disable-next-line prefer-destructuring
|
|
385
365
|
destNode = destNode[0];
|
|
386
366
|
}
|
|
387
|
-
|
|
388
367
|
if (destNode) {
|
|
389
368
|
/**
|
|
390
369
|
* Scroll the first selected item into view.
|
|
@@ -396,28 +375,23 @@ class Select extends BaseComponent {
|
|
|
396
375
|
}
|
|
397
376
|
});
|
|
398
377
|
}
|
|
399
|
-
|
|
400
378
|
componentDidMount() {
|
|
401
379
|
this.foundation.init();
|
|
402
380
|
this.selectOptionListID = getUuidShort();
|
|
403
381
|
this.selectID = this.props.id || getUuidShort();
|
|
404
382
|
}
|
|
405
|
-
|
|
406
383
|
componentWillUnmount() {
|
|
407
384
|
this.foundation.destroy();
|
|
408
385
|
}
|
|
409
|
-
|
|
410
386
|
componentDidUpdate(prevProps, prevState) {
|
|
411
387
|
const prevChildrenKeys = React.Children.toArray(prevProps.children).map(child => child.key);
|
|
412
388
|
const nowChildrenKeys = React.Children.toArray(this.props.children).map(child => child.key);
|
|
413
389
|
let isOptionsChanged = false;
|
|
414
|
-
|
|
415
390
|
if (!_isEqual(prevChildrenKeys, nowChildrenKeys) || !_isEqual(prevProps.optionList, this.props.optionList)) {
|
|
416
391
|
isOptionsChanged = true;
|
|
417
392
|
this.foundation.handleOptionListChange();
|
|
418
|
-
}
|
|
419
|
-
|
|
420
|
-
|
|
393
|
+
}
|
|
394
|
+
// Add isOptionChanged: There may be cases where the value is unchanged, but the optionList is updated. At this time, the label corresponding to the value may change, and the selected item needs to be updated
|
|
421
395
|
if (!_isEqual(this.props.value, prevProps.value) || isOptionsChanged) {
|
|
422
396
|
if ('value' in this.props) {
|
|
423
397
|
this.foundation.handleValueChange(this.props.value);
|
|
@@ -426,7 +400,6 @@ class Select extends BaseComponent {
|
|
|
426
400
|
}
|
|
427
401
|
}
|
|
428
402
|
}
|
|
429
|
-
|
|
430
403
|
renderInput() {
|
|
431
404
|
const {
|
|
432
405
|
size,
|
|
@@ -435,9 +408,7 @@ class Select extends BaseComponent {
|
|
|
435
408
|
inputProps,
|
|
436
409
|
filter
|
|
437
410
|
} = this.props;
|
|
438
|
-
|
|
439
411
|
const inputPropsCls = _get(inputProps, 'className');
|
|
440
|
-
|
|
441
412
|
const inputcls = cls(`${prefixcls}-input`, {
|
|
442
413
|
[`${prefixcls}-input-single`]: !multiple,
|
|
443
414
|
[`${prefixcls}-input-multiple`]: multiple
|
|
@@ -452,15 +423,14 @@ class Select extends BaseComponent {
|
|
|
452
423
|
className: inputcls,
|
|
453
424
|
onChange: this.handleInputChange
|
|
454
425
|
}, inputProps);
|
|
455
|
-
let style = {};
|
|
456
|
-
|
|
426
|
+
let style = {};
|
|
427
|
+
// Multiple choice mode
|
|
457
428
|
if (multiple) {
|
|
458
429
|
style = {
|
|
459
430
|
width: inputValue ? `${inputValue.length * 16}px` : '2px'
|
|
460
431
|
};
|
|
461
432
|
selectInputProps.style = style;
|
|
462
433
|
}
|
|
463
|
-
|
|
464
434
|
return /*#__PURE__*/React.createElement(Input, Object.assign({
|
|
465
435
|
ref: this.inputRef,
|
|
466
436
|
size: size,
|
|
@@ -472,66 +442,54 @@ class Select extends BaseComponent {
|
|
|
472
442
|
this.setState({
|
|
473
443
|
isFocus: true
|
|
474
444
|
});
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
445
|
+
}
|
|
446
|
+
// prevent event bubbling which will fire trigger onFocus event
|
|
447
|
+
e.stopPropagation();
|
|
448
|
+
// e.nativeEvent.stopImmediatePropagation();
|
|
479
449
|
},
|
|
480
450
|
onBlur: e => this.foundation.handleInputBlur(e)
|
|
481
451
|
}, selectInputProps));
|
|
482
452
|
}
|
|
483
|
-
|
|
484
453
|
close() {
|
|
485
454
|
this.foundation.close();
|
|
486
455
|
}
|
|
487
|
-
|
|
488
456
|
open() {
|
|
489
457
|
this.foundation.open();
|
|
490
458
|
}
|
|
491
|
-
|
|
492
459
|
clearInput() {
|
|
493
460
|
this.foundation.clearInput();
|
|
494
461
|
}
|
|
495
|
-
|
|
496
462
|
selectAll() {
|
|
497
463
|
this.foundation.selectAll();
|
|
498
464
|
}
|
|
499
|
-
|
|
500
465
|
deselectAll() {
|
|
501
466
|
this.foundation.clearSelected();
|
|
502
467
|
}
|
|
503
|
-
|
|
504
468
|
focus() {
|
|
505
469
|
this.foundation.focus();
|
|
506
470
|
}
|
|
507
|
-
|
|
508
471
|
onSelect(option, optionIndex, e) {
|
|
509
472
|
this.foundation.onSelect(option, optionIndex, e);
|
|
510
473
|
}
|
|
511
|
-
|
|
512
474
|
onClear(e) {
|
|
513
475
|
e.nativeEvent.stopImmediatePropagation();
|
|
514
476
|
this.foundation.handleClearClick(e);
|
|
515
477
|
}
|
|
516
|
-
|
|
517
478
|
search(value, event) {
|
|
518
479
|
this.handleInputChange(value, event);
|
|
519
480
|
}
|
|
520
|
-
|
|
521
481
|
renderEmpty() {
|
|
522
482
|
return /*#__PURE__*/React.createElement(Option, {
|
|
523
483
|
empty: true,
|
|
524
484
|
emptyContent: this.props.emptyContent
|
|
525
485
|
});
|
|
526
486
|
}
|
|
527
|
-
|
|
528
487
|
renderLoading() {
|
|
529
488
|
const loadingWrapperCls = `${prefixcls}-loading-wrapper`;
|
|
530
489
|
return /*#__PURE__*/React.createElement("div", {
|
|
531
490
|
className: loadingWrapperCls
|
|
532
491
|
}, /*#__PURE__*/React.createElement(Spin, null));
|
|
533
492
|
}
|
|
534
|
-
|
|
535
493
|
renderOption(option, optionIndex, style) {
|
|
536
494
|
const {
|
|
537
495
|
focusIndex,
|
|
@@ -543,11 +501,9 @@ class Select extends BaseComponent {
|
|
|
543
501
|
let optionContent;
|
|
544
502
|
const isFocused = optionIndex === focusIndex;
|
|
545
503
|
let optionStyle = style || {};
|
|
546
|
-
|
|
547
504
|
if (option.style) {
|
|
548
505
|
optionStyle = Object.assign(Object.assign({}, optionStyle), option.style);
|
|
549
506
|
}
|
|
550
|
-
|
|
551
507
|
if (option._inputCreateOnly) {
|
|
552
508
|
optionContent = this.renderCreateOption(option, isFocused, optionIndex, style);
|
|
553
509
|
} else {
|
|
@@ -555,7 +511,6 @@ class Select extends BaseComponent {
|
|
|
555
511
|
if ('key' in option) {
|
|
556
512
|
option._keyInOptionList = option.key;
|
|
557
513
|
}
|
|
558
|
-
|
|
559
514
|
optionContent = /*#__PURE__*/React.createElement(Option, Object.assign({
|
|
560
515
|
showTick: true
|
|
561
516
|
}, option, {
|
|
@@ -570,15 +525,13 @@ class Select extends BaseComponent {
|
|
|
570
525
|
id: `${this.selectID}-option-${optionIndex}`
|
|
571
526
|
}), option.label);
|
|
572
527
|
}
|
|
573
|
-
|
|
574
528
|
return optionContent;
|
|
575
529
|
}
|
|
576
|
-
|
|
577
530
|
renderCreateOption(option, isFocused, optionIndex, style) {
|
|
578
531
|
const {
|
|
579
532
|
renderCreateItem
|
|
580
|
-
} = this.props;
|
|
581
|
-
|
|
533
|
+
} = this.props;
|
|
534
|
+
// default render method
|
|
582
535
|
if (typeof renderCreateItem === 'undefined') {
|
|
583
536
|
const defaultCreateItem = /*#__PURE__*/React.createElement(Option, Object.assign({
|
|
584
537
|
key: option.key || option.label + option.value,
|
|
@@ -595,7 +548,6 @@ class Select extends BaseComponent {
|
|
|
595
548
|
}, locale.createText), option.value)));
|
|
596
549
|
return defaultCreateItem;
|
|
597
550
|
}
|
|
598
|
-
|
|
599
551
|
const customCreateItem = renderCreateItem(option.value, isFocused);
|
|
600
552
|
return (
|
|
601
553
|
/*#__PURE__*/
|
|
@@ -608,18 +560,15 @@ class Select extends BaseComponent {
|
|
|
608
560
|
}, customCreateItem)
|
|
609
561
|
);
|
|
610
562
|
}
|
|
611
|
-
|
|
612
563
|
onOptionHover(optionIndex) {
|
|
613
564
|
this.foundation.handleOptionMouseEnter(optionIndex);
|
|
614
565
|
}
|
|
615
|
-
|
|
616
566
|
renderWithGroup(visibleOptions) {
|
|
617
567
|
const content = [];
|
|
618
568
|
const groupStatus = new Map();
|
|
619
569
|
visibleOptions.forEach((option, optionIndex) => {
|
|
620
570
|
const parentGroup = option._parentGroup;
|
|
621
571
|
const optionContent = this.renderOption(option, optionIndex);
|
|
622
|
-
|
|
623
572
|
if (parentGroup && !groupStatus.has(parentGroup.label)) {
|
|
624
573
|
// when use with OptionGroup and group content not already insert
|
|
625
574
|
const groupContent = /*#__PURE__*/React.createElement(OptionGroup, Object.assign({}, parentGroup, {
|
|
@@ -628,12 +577,10 @@ class Select extends BaseComponent {
|
|
|
628
577
|
groupStatus.set(parentGroup.label, true);
|
|
629
578
|
content.push(groupContent);
|
|
630
579
|
}
|
|
631
|
-
|
|
632
580
|
content.push(optionContent);
|
|
633
581
|
});
|
|
634
582
|
return content;
|
|
635
583
|
}
|
|
636
|
-
|
|
637
584
|
renderVirtualizeList(visibleOptions) {
|
|
638
585
|
const {
|
|
639
586
|
virtualize
|
|
@@ -661,7 +608,6 @@ class Select extends BaseComponent {
|
|
|
661
608
|
}
|
|
662
609
|
}, VirtualRow);
|
|
663
610
|
}
|
|
664
|
-
|
|
665
611
|
renderOptions(children) {
|
|
666
612
|
const {
|
|
667
613
|
dropdownMinWidth,
|
|
@@ -680,15 +626,13 @@ class Select extends BaseComponent {
|
|
|
680
626
|
virtualize,
|
|
681
627
|
multiple,
|
|
682
628
|
emptyContent
|
|
683
|
-
} = this.props;
|
|
684
|
-
|
|
629
|
+
} = this.props;
|
|
630
|
+
// Do a filter first, instead of directly judging in forEach, so that the focusIndex can correspond to
|
|
685
631
|
const visibleOptions = options.filter(item => item._show);
|
|
686
632
|
let listContent = this.renderWithGroup(visibleOptions);
|
|
687
|
-
|
|
688
633
|
if (virtualize) {
|
|
689
634
|
listContent = this.renderVirtualizeList(visibleOptions);
|
|
690
635
|
}
|
|
691
|
-
|
|
692
636
|
const style = Object.assign({
|
|
693
637
|
minWidth: dropdownMinWidth
|
|
694
638
|
}, dropdownStyle);
|
|
@@ -733,7 +677,6 @@ class Select extends BaseComponent {
|
|
|
733
677
|
}, outerBottomSlot) : null)
|
|
734
678
|
);
|
|
735
679
|
}
|
|
736
|
-
|
|
737
680
|
renderSingleSelection(selections, filterable) {
|
|
738
681
|
let {
|
|
739
682
|
renderSelectedItem
|
|
@@ -747,23 +690,20 @@ class Select extends BaseComponent {
|
|
|
747
690
|
} = this.state;
|
|
748
691
|
let renderText = '';
|
|
749
692
|
const selectedItems = [...selections];
|
|
750
|
-
|
|
751
693
|
if (typeof renderSelectedItem === 'undefined') {
|
|
752
694
|
renderSelectedItem = optionNode => optionNode.label;
|
|
753
695
|
}
|
|
754
|
-
|
|
755
696
|
if (selectedItems.length) {
|
|
756
697
|
const selectedItem = selectedItems[0][1];
|
|
757
698
|
renderText = renderSelectedItem(selectedItem);
|
|
758
699
|
}
|
|
759
|
-
|
|
760
700
|
const spanCls = cls({
|
|
761
701
|
[`${prefixcls}-selection-text`]: true,
|
|
762
702
|
[`${prefixcls}-selection-placeholder`]: !renderText && renderText !== 0,
|
|
763
703
|
[`${prefixcls}-selection-text-hide`]: inputValue && showInput,
|
|
764
704
|
[`${prefixcls}-selection-text-inactive`]: !inputValue && showInput // Stack Input & RenderText(opacity 0.4)
|
|
765
|
-
|
|
766
705
|
});
|
|
706
|
+
|
|
767
707
|
const contentWrapperCls = `${prefixcls}-content-wrapper`;
|
|
768
708
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
769
709
|
className: contentWrapperCls
|
|
@@ -772,7 +712,6 @@ class Select extends BaseComponent {
|
|
|
772
712
|
"x-semi-prop": "placeholder"
|
|
773
713
|
}, renderText || renderText === 0 ? renderText : placeholder), filterable && showInput ? this.renderInput() : null));
|
|
774
714
|
}
|
|
775
|
-
|
|
776
715
|
renderTag(item, i, isCollapseItem) {
|
|
777
716
|
const {
|
|
778
717
|
size,
|
|
@@ -786,7 +725,6 @@ class Select extends BaseComponent {
|
|
|
786
725
|
value
|
|
787
726
|
} = item[1];
|
|
788
727
|
const disabled = item[1].disabled || selectDisabled;
|
|
789
|
-
|
|
790
728
|
const onClose = (tagContent, e) => {
|
|
791
729
|
if (e && typeof e.preventDefault === 'function') {
|
|
792
730
|
e.preventDefault(); // make sure that tag will not hidden immediately in controlled mode
|
|
@@ -797,14 +735,12 @@ class Select extends BaseComponent {
|
|
|
797
735
|
value
|
|
798
736
|
});
|
|
799
737
|
};
|
|
800
|
-
|
|
801
738
|
if (typeof renderSelectedItem === 'undefined') {
|
|
802
739
|
renderSelectedItem = optionNode => ({
|
|
803
740
|
isRenderInTag: true,
|
|
804
741
|
content: optionNode.label
|
|
805
742
|
});
|
|
806
743
|
}
|
|
807
|
-
|
|
808
744
|
const {
|
|
809
745
|
content,
|
|
810
746
|
isRenderInTag
|
|
@@ -833,7 +769,6 @@ class Select extends BaseComponent {
|
|
|
833
769
|
}
|
|
834
770
|
}
|
|
835
771
|
}, content) : content;
|
|
836
|
-
|
|
837
772
|
if (isRenderInTag) {
|
|
838
773
|
return /*#__PURE__*/React.createElement(Tag, Object.assign({}, basic, {
|
|
839
774
|
color: "white",
|
|
@@ -849,7 +784,6 @@ class Select extends BaseComponent {
|
|
|
849
784
|
}, realContent);
|
|
850
785
|
}
|
|
851
786
|
}
|
|
852
|
-
|
|
853
787
|
renderNTag(n, restTags) {
|
|
854
788
|
const {
|
|
855
789
|
size,
|
|
@@ -867,7 +801,6 @@ class Select extends BaseComponent {
|
|
|
867
801
|
flexShrink: 0
|
|
868
802
|
}
|
|
869
803
|
}, "+", n);
|
|
870
|
-
|
|
871
804
|
if (showRestTagsPopover) {
|
|
872
805
|
nTag = /*#__PURE__*/React.createElement(Popover, Object.assign({
|
|
873
806
|
showArrow: true,
|
|
@@ -885,15 +818,12 @@ class Select extends BaseComponent {
|
|
|
885
818
|
key: `_+${n}_Popover`
|
|
886
819
|
}), nTag);
|
|
887
820
|
}
|
|
888
|
-
|
|
889
821
|
return nTag;
|
|
890
822
|
}
|
|
891
|
-
|
|
892
823
|
renderOverflow(items, index) {
|
|
893
824
|
const isCollapse = true;
|
|
894
825
|
return items.length && items[0] ? this.renderTag(items[0], index, isCollapse) : null;
|
|
895
826
|
}
|
|
896
|
-
|
|
897
827
|
handleOverflow(items) {
|
|
898
828
|
const {
|
|
899
829
|
overflowItemCount,
|
|
@@ -904,12 +834,10 @@ class Select extends BaseComponent {
|
|
|
904
834
|
} = this.props;
|
|
905
835
|
const maxVisibleCount = selections.size - maxTagCount;
|
|
906
836
|
const newOverFlowItemCount = maxVisibleCount > 0 ? maxVisibleCount + items.length - 1 : items.length - 1;
|
|
907
|
-
|
|
908
837
|
if (items.length > 1 && overflowItemCount !== newOverFlowItemCount) {
|
|
909
838
|
this.foundation.updateOverflowItemCount(selections.size, newOverFlowItemCount);
|
|
910
839
|
}
|
|
911
840
|
}
|
|
912
|
-
|
|
913
841
|
renderCollapsedTags(selections, length) {
|
|
914
842
|
const {
|
|
915
843
|
overflowItemCount
|
|
@@ -924,7 +852,6 @@ class Select extends BaseComponent {
|
|
|
924
852
|
visibleItemRenderer: (item, index) => this.renderTag(item, index)
|
|
925
853
|
}), overflowItemCount > 0 && this.renderNTag(overflowItemCount, selections.slice(selections.length - overflowItemCount)));
|
|
926
854
|
}
|
|
927
|
-
|
|
928
855
|
renderOneLineTags(selectedItems, n) {
|
|
929
856
|
let {
|
|
930
857
|
renderSelectedItem
|
|
@@ -938,14 +865,12 @@ class Select extends BaseComponent {
|
|
|
938
865
|
isFullTags
|
|
939
866
|
} = this.state;
|
|
940
867
|
let tagContent;
|
|
941
|
-
|
|
942
868
|
if (typeof renderSelectedItem === 'undefined') {
|
|
943
869
|
renderSelectedItem = optionNode => ({
|
|
944
870
|
isRenderInTag: true,
|
|
945
871
|
content: optionNode.label
|
|
946
872
|
});
|
|
947
873
|
}
|
|
948
|
-
|
|
949
874
|
if (showRestTagsPopover) {
|
|
950
875
|
// showRestTagsPopover = true,
|
|
951
876
|
const mapItems = isFullTags ? selectedItems : selectedItems.slice(0, maxTagCount);
|
|
@@ -980,10 +905,8 @@ class Select extends BaseComponent {
|
|
|
980
905
|
mode: "custom"
|
|
981
906
|
});
|
|
982
907
|
}
|
|
983
|
-
|
|
984
908
|
return tagContent;
|
|
985
909
|
}
|
|
986
|
-
|
|
987
910
|
renderMultipleSelection(selections, filterable) {
|
|
988
911
|
let {
|
|
989
912
|
renderSelectedItem
|
|
@@ -999,14 +922,12 @@ class Select extends BaseComponent {
|
|
|
999
922
|
isOpen
|
|
1000
923
|
} = this.state;
|
|
1001
924
|
const selectedItems = [...selections];
|
|
1002
|
-
|
|
1003
925
|
if (typeof renderSelectedItem === 'undefined') {
|
|
1004
926
|
renderSelectedItem = optionNode => ({
|
|
1005
927
|
isRenderInTag: true,
|
|
1006
928
|
content: optionNode.label
|
|
1007
929
|
});
|
|
1008
930
|
}
|
|
1009
|
-
|
|
1010
931
|
const contentWrapperCls = cls({
|
|
1011
932
|
[`${prefixcls}-content-wrapper`]: true,
|
|
1012
933
|
[`${prefixcls}-content-wrapper-one-line`]: maxTagCount && !isOpen,
|
|
@@ -1028,21 +949,16 @@ class Select extends BaseComponent {
|
|
|
1028
949
|
className: contentWrapperCls
|
|
1029
950
|
}, selectedItems && selectedItems.length ? tagContent : placeholderText, !filterable ? null : this.renderInput()));
|
|
1030
951
|
}
|
|
1031
|
-
|
|
1032
952
|
onMouseEnter(e) {
|
|
1033
953
|
this.foundation.handleMouseEnter(e);
|
|
1034
954
|
}
|
|
1035
|
-
|
|
1036
955
|
onMouseLeave(e) {
|
|
1037
956
|
this.foundation.handleMouseLeave(e);
|
|
1038
957
|
}
|
|
1039
|
-
|
|
1040
958
|
onKeyPress(e) {
|
|
1041
959
|
this.foundation.handleKeyPress(e);
|
|
1042
960
|
}
|
|
1043
961
|
/* Processing logic when popover visible changes */
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
962
|
handlePopoverVisibleChange(status) {
|
|
1047
963
|
const {
|
|
1048
964
|
virtualize
|
|
@@ -1050,23 +966,18 @@ class Select extends BaseComponent {
|
|
|
1050
966
|
const {
|
|
1051
967
|
selections
|
|
1052
968
|
} = this.state;
|
|
1053
|
-
|
|
1054
969
|
if (!status) {
|
|
1055
970
|
return;
|
|
1056
971
|
}
|
|
1057
|
-
|
|
1058
972
|
if (virtualize) {
|
|
1059
973
|
let minItemIndex = -1;
|
|
1060
974
|
selections.forEach(item => {
|
|
1061
975
|
const itemIndex = _get(item, '_scrollIndex');
|
|
1062
976
|
/* When the itemIndex is legal */
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
977
|
if (_isNumber(itemIndex) && itemIndex >= 0) {
|
|
1066
978
|
minItemIndex = minItemIndex !== -1 && minItemIndex < itemIndex ? minItemIndex : itemIndex;
|
|
1067
979
|
}
|
|
1068
980
|
});
|
|
1069
|
-
|
|
1070
981
|
if (minItemIndex !== -1) {
|
|
1071
982
|
try {
|
|
1072
983
|
this.virtualizeListRef.current.scrollToItem(minItemIndex, 'center');
|
|
@@ -1076,7 +987,6 @@ class Select extends BaseComponent {
|
|
|
1076
987
|
this.foundation.updateScrollTop();
|
|
1077
988
|
}
|
|
1078
989
|
}
|
|
1079
|
-
|
|
1080
990
|
renderSuffix() {
|
|
1081
991
|
const {
|
|
1082
992
|
suffix
|
|
@@ -1091,7 +1001,6 @@ class Select extends BaseComponent {
|
|
|
1091
1001
|
"x-semi-prop": "suffix"
|
|
1092
1002
|
}, suffix);
|
|
1093
1003
|
}
|
|
1094
|
-
|
|
1095
1004
|
renderPrefix() {
|
|
1096
1005
|
const {
|
|
1097
1006
|
prefix,
|
|
@@ -1111,7 +1020,6 @@ class Select extends BaseComponent {
|
|
|
1111
1020
|
"x-semi-prop": "prefix,insetLabel"
|
|
1112
1021
|
}, labelNode);
|
|
1113
1022
|
}
|
|
1114
|
-
|
|
1115
1023
|
renderSelection() {
|
|
1116
1024
|
const {
|
|
1117
1025
|
disabled,
|
|
@@ -1144,7 +1052,6 @@ class Select extends BaseComponent {
|
|
|
1144
1052
|
} = this.state;
|
|
1145
1053
|
const useCustomTrigger = typeof triggerRender === 'function';
|
|
1146
1054
|
const filterable = Boolean(filter); // filter(boolean || function)
|
|
1147
|
-
|
|
1148
1055
|
const selectionCls = useCustomTrigger ? cls(className) : cls(prefixcls, className, {
|
|
1149
1056
|
[`${prefixcls}-borderless`]: borderless,
|
|
1150
1057
|
[`${prefixcls}-open`]: isOpen,
|
|
@@ -1168,8 +1075,8 @@ class Select extends BaseComponent {
|
|
|
1168
1075
|
}, arrowIcon) : /*#__PURE__*/React.createElement("div", {
|
|
1169
1076
|
className: `${prefixcls}-arrow-empty`
|
|
1170
1077
|
});
|
|
1171
|
-
const clear = clearIcon ? clearIcon : /*#__PURE__*/React.createElement(IconClear, null);
|
|
1172
|
-
|
|
1078
|
+
const clear = clearIcon ? clearIcon : /*#__PURE__*/React.createElement(IconClear, null);
|
|
1079
|
+
// semantics of onSearch are more in line with behavior, onChange is alias of onSearch, will be deprecate next major version
|
|
1173
1080
|
const inner = useCustomTrigger ? /*#__PURE__*/React.createElement(Trigger, {
|
|
1174
1081
|
value: Array.from(selections.values()),
|
|
1175
1082
|
inputValue: inputValue,
|
|
@@ -1204,11 +1111,9 @@ class Select extends BaseComponent {
|
|
|
1204
1111
|
* 在disabled,可搜索单选且显示input框,以及可搜索多选情况下
|
|
1205
1112
|
* 让combobox无法通过tab聚焦
|
|
1206
1113
|
*/
|
|
1207
|
-
|
|
1208
1114
|
const tabIndex = disabled || filterable && showInput || filterable && multiple ? -1 : 0;
|
|
1209
1115
|
return (
|
|
1210
1116
|
/*#__PURE__*/
|
|
1211
|
-
|
|
1212
1117
|
/* eslint-disable-next-line jsx-a11y/aria-activedescendant-has-tabindex */
|
|
1213
1118
|
React.createElement("div", Object.assign({
|
|
1214
1119
|
role: "combobox",
|
|
@@ -1237,7 +1142,6 @@ class Select extends BaseComponent {
|
|
|
1237
1142
|
}, keyboardEventSet), inner)
|
|
1238
1143
|
);
|
|
1239
1144
|
}
|
|
1240
|
-
|
|
1241
1145
|
render() {
|
|
1242
1146
|
const {
|
|
1243
1147
|
direction
|
|
@@ -1284,9 +1188,7 @@ class Select extends BaseComponent {
|
|
|
1284
1188
|
afterClose: () => this.foundation.handlePopoverClose()
|
|
1285
1189
|
}, selection);
|
|
1286
1190
|
}
|
|
1287
|
-
|
|
1288
1191
|
}
|
|
1289
|
-
|
|
1290
1192
|
Select.contextType = ConfigContext;
|
|
1291
1193
|
Select.Option = Option;
|
|
1292
1194
|
Select.OptGroup = OptionGroup;
|
|
@@ -1373,10 +1275,11 @@ Select.propTypes = {
|
|
|
1373
1275
|
renderOptionItem: PropTypes.func,
|
|
1374
1276
|
onListScroll: PropTypes.func,
|
|
1375
1277
|
arrowIcon: PropTypes.node,
|
|
1376
|
-
preventScroll: PropTypes.bool
|
|
1278
|
+
preventScroll: PropTypes.bool
|
|
1279
|
+
// open: PropTypes.bool,
|
|
1377
1280
|
// tagClosable: PropTypes.bool,
|
|
1378
|
-
|
|
1379
1281
|
};
|
|
1282
|
+
|
|
1380
1283
|
Select.defaultProps = {
|
|
1381
1284
|
stopPropagation: true,
|
|
1382
1285
|
motion: true,
|
|
@@ -1417,10 +1320,11 @@ Select.defaultProps = {
|
|
|
1417
1320
|
showRestTagsPopover: false,
|
|
1418
1321
|
restTagsPopoverProps: {},
|
|
1419
1322
|
expandRestTagsOnClick: false,
|
|
1420
|
-
ellipsisTrigger: false
|
|
1323
|
+
ellipsisTrigger: false
|
|
1324
|
+
// Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
|
|
1421
1325
|
// renderSelectedItem: (optionNode) => optionNode.label,
|
|
1422
1326
|
// The default creator rendering is related to i18, so it is not declared here
|
|
1423
1327
|
// renderCreateItem: (input) => input
|
|
1424
|
-
|
|
1425
1328
|
};
|
|
1329
|
+
|
|
1426
1330
|
export default Select;
|