@douyinfe/semi-ui 2.36.0-beta.0 → 2.36.1-alpha.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 +45174 -59754
- 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.d.ts +1 -2
- package/lib/cjs/typography/base.js +52 -135
- 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 +11 -10
- 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.d.ts +1 -2
- package/lib/es/typography/base.js +52 -118
- package/lib/es/typography/copyable.js +2 -14
- package/lib/es/typography/index.d.ts +1 -1
- package/lib/es/typography/interface.d.ts +11 -10
- 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
|
@@ -1,31 +1,23 @@
|
|
|
1
1
|
import _isUndefined from "lodash/isUndefined";
|
|
2
2
|
import _cloneDeep from "lodash/cloneDeep";
|
|
3
|
-
|
|
4
3
|
/* eslint-disable react/destructuring-assignment */
|
|
5
4
|
import React, { Component } from 'react';
|
|
6
5
|
import { getUuidv4 } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
|
|
7
6
|
import { FormUpdaterContext, ArrayFieldContext } from './context';
|
|
8
7
|
import warning from '@douyinfe/semi-foundation/lib/es/utils/warning';
|
|
9
|
-
|
|
10
8
|
const filterArrayByIndex = (array, index) => array.filter((item, i) => i !== index);
|
|
11
|
-
|
|
12
9
|
const getUuidByArray = array => array.map(() => getUuidv4());
|
|
13
|
-
|
|
14
10
|
const getUpdateKey = arrayField => {
|
|
15
11
|
if (!arrayField) {
|
|
16
12
|
return undefined;
|
|
17
13
|
}
|
|
18
|
-
|
|
19
14
|
if (arrayField && arrayField.updateKey) {
|
|
20
15
|
return arrayField.updateKey;
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
return undefined;
|
|
24
18
|
};
|
|
25
|
-
|
|
26
19
|
const initValueAdapter = initValue => {
|
|
27
20
|
const iv = [];
|
|
28
|
-
|
|
29
21
|
if (Array.isArray(initValue)) {
|
|
30
22
|
return initValue;
|
|
31
23
|
} else {
|
|
@@ -39,16 +31,13 @@ const initValueAdapter = initValue => {
|
|
|
39
31
|
* @param {string[]} oldKeys
|
|
40
32
|
* @returns string[]
|
|
41
33
|
*/
|
|
42
|
-
|
|
43
|
-
|
|
44
34
|
const generateKeys = (value, oldKeys) => {
|
|
45
35
|
const val = initValueAdapter(value);
|
|
46
|
-
const newKeys = getUuidByArray(val);
|
|
47
|
-
|
|
36
|
+
const newKeys = getUuidByArray(val);
|
|
37
|
+
// return newKeys;
|
|
48
38
|
const keys = newKeys.map((key, i) => oldKeys && oldKeys[i] ? oldKeys[i] : key);
|
|
49
39
|
return keys;
|
|
50
40
|
};
|
|
51
|
-
|
|
52
41
|
class ArrayFieldComponent extends Component {
|
|
53
42
|
constructor(props, context) {
|
|
54
43
|
super(props, context);
|
|
@@ -71,21 +60,17 @@ class ArrayFieldComponent extends Component {
|
|
|
71
60
|
and the fields it contains do not need to consume initValue
|
|
72
61
|
*/
|
|
73
62
|
// whether the fields inside arrayField should use props.initValue in current render process
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
63
|
+
this.shouldUseInitValue = !context.getArrayField(field);
|
|
64
|
+
// Separate the arrays that reset and the usual add and remove modify, otherwise they will affect each other
|
|
77
65
|
const initValueCopyForFormState = _cloneDeep(initValue);
|
|
78
|
-
|
|
79
66
|
const initValueCopyForReset = _cloneDeep(initValue);
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
context.registerArrayField(field, initValueCopyForReset);
|
|
68
|
+
// register ArrayField will update state.updateKey to render, So there is no need to execute forceUpdate here
|
|
83
69
|
context.updateStateValue(field, initValueCopyForFormState, {
|
|
84
70
|
notNotify: true,
|
|
85
71
|
notUpdate: true
|
|
86
72
|
});
|
|
87
73
|
}
|
|
88
|
-
|
|
89
74
|
componentWillUnmount() {
|
|
90
75
|
const updater = this.context;
|
|
91
76
|
const {
|
|
@@ -93,7 +78,6 @@ class ArrayFieldComponent extends Component {
|
|
|
93
78
|
} = this.props;
|
|
94
79
|
updater.unRegisterArrayField(field);
|
|
95
80
|
}
|
|
96
|
-
|
|
97
81
|
componentDidUpdate() {
|
|
98
82
|
const updater = this.context;
|
|
99
83
|
const {
|
|
@@ -103,23 +87,21 @@ class ArrayFieldComponent extends Component {
|
|
|
103
87
|
keys
|
|
104
88
|
} = this.state;
|
|
105
89
|
const fieldValues = updater.getValue(field);
|
|
106
|
-
const updateKey = getUpdateKey(updater.getArrayField(field));
|
|
90
|
+
const updateKey = getUpdateKey(updater.getArrayField(field));
|
|
91
|
+
// when update form outside, like use formApi.setValue('field', [{newItem1, newItem2}]), formApi.setValues
|
|
107
92
|
// re generate keys to update arrayField;
|
|
108
|
-
|
|
109
93
|
if (updateKey !== this.cacheUpdateKey) {
|
|
110
|
-
const newKeys = generateKeys(fieldValues, keys);
|
|
111
|
-
|
|
94
|
+
const newKeys = generateKeys(fieldValues, keys);
|
|
95
|
+
// eslint-disable-next-line
|
|
112
96
|
this.setState({
|
|
113
97
|
keys: newKeys
|
|
114
98
|
});
|
|
115
99
|
this.cacheUpdateKey = updateKey;
|
|
116
|
-
|
|
117
100
|
if (this.cacheUpdateKey !== null) {
|
|
118
101
|
this.shouldUseInitValue = false;
|
|
119
102
|
}
|
|
120
103
|
}
|
|
121
104
|
}
|
|
122
|
-
|
|
123
105
|
add() {
|
|
124
106
|
const {
|
|
125
107
|
keys
|
|
@@ -130,7 +112,6 @@ class ArrayFieldComponent extends Component {
|
|
|
130
112
|
keys
|
|
131
113
|
});
|
|
132
114
|
}
|
|
133
|
-
|
|
134
115
|
addWithInitValue(lineObject) {
|
|
135
116
|
const updater = this.context;
|
|
136
117
|
const {
|
|
@@ -143,7 +124,6 @@ class ArrayFieldComponent extends Component {
|
|
|
143
124
|
updateKey: new Date().valueOf()
|
|
144
125
|
});
|
|
145
126
|
}
|
|
146
|
-
|
|
147
127
|
remove(i) {
|
|
148
128
|
const updater = this.context;
|
|
149
129
|
const {
|
|
@@ -152,38 +132,33 @@ class ArrayFieldComponent extends Component {
|
|
|
152
132
|
const {
|
|
153
133
|
field
|
|
154
134
|
} = this.props;
|
|
155
|
-
const newKeys = filterArrayByIndex(keys, i);
|
|
156
|
-
|
|
135
|
+
const newKeys = filterArrayByIndex(keys, i);
|
|
136
|
+
// Make sure that all the keys in the line are removed, because some keys are not taken over by the field, only set in the initValue
|
|
157
137
|
let newArrayFieldError = updater.getError(field);
|
|
158
138
|
const opts = {
|
|
159
139
|
notNotify: true,
|
|
160
140
|
notUpdate: true
|
|
161
141
|
};
|
|
162
|
-
|
|
163
142
|
if (Array.isArray(newArrayFieldError)) {
|
|
164
143
|
newArrayFieldError = newArrayFieldError.slice();
|
|
165
144
|
newArrayFieldError.splice(i, 1);
|
|
166
145
|
updater.updateStateError(field, newArrayFieldError, opts);
|
|
167
|
-
}
|
|
146
|
+
}
|
|
147
|
+
// if (Array.isArray(newArrayFieldTouched)) {
|
|
168
148
|
// newArrayFieldTouched = newArrayFieldTouched.slice();
|
|
169
149
|
// newArrayFieldTouched.splice(i, 1);
|
|
170
150
|
// updater.updateStateTouched(field, newArrayFieldTouched, opts);
|
|
171
151
|
// }
|
|
172
|
-
|
|
173
|
-
|
|
174
152
|
let newArrayFieldValue = updater.getValue(field);
|
|
175
|
-
|
|
176
153
|
if (Array.isArray(newArrayFieldValue)) {
|
|
177
154
|
newArrayFieldValue = newArrayFieldValue.slice();
|
|
178
155
|
newArrayFieldValue.splice(i, 1);
|
|
179
156
|
updater.updateStateValue(field, newArrayFieldValue);
|
|
180
157
|
}
|
|
181
|
-
|
|
182
158
|
this.setState({
|
|
183
159
|
keys: newKeys
|
|
184
160
|
});
|
|
185
161
|
}
|
|
186
|
-
|
|
187
162
|
render() {
|
|
188
163
|
const {
|
|
189
164
|
children,
|
|
@@ -215,8 +190,6 @@ class ArrayFieldComponent extends Component {
|
|
|
215
190
|
addWithInitValue
|
|
216
191
|
}));
|
|
217
192
|
}
|
|
218
|
-
|
|
219
193
|
}
|
|
220
|
-
|
|
221
194
|
ArrayFieldComponent.contextType = FormUpdaterContext;
|
|
222
195
|
export default ArrayFieldComponent;
|
package/lib/es/form/baseForm.js
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import _noop from "lodash/noop";
|
|
2
|
-
|
|
3
2
|
var __rest = this && this.__rest || function (s, e) {
|
|
4
3
|
var t = {};
|
|
5
|
-
|
|
6
4
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
7
|
-
|
|
8
5
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
9
6
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
10
7
|
}
|
|
11
8
|
return t;
|
|
12
9
|
};
|
|
13
10
|
/* eslint-disable prefer-template, max-len, @typescript-eslint/no-unused-vars */
|
|
14
|
-
|
|
15
|
-
|
|
16
11
|
import React from 'react';
|
|
17
12
|
import classNames from 'classnames';
|
|
18
13
|
import PropTypes from 'prop-types';
|
|
@@ -33,7 +28,6 @@ import FormInputGroup from './group';
|
|
|
33
28
|
import '@douyinfe/semi-foundation/lib/es/form/form.css';
|
|
34
29
|
import { FormInput, FormInputNumber, FormTextArea, FormSelect, FormCheckboxGroup, FormCheckbox, FormRadioGroup, FormRadio, FormDatePicker, FormSwitch, FormSlider, FormTimePicker, FormTreeSelect, FormCascader, FormRating, FormAutoComplete, FormUpload, FormTagInput } from './field';
|
|
35
30
|
const prefix = cssClasses.PREFIX;
|
|
36
|
-
|
|
37
31
|
class Form extends BaseComponent {
|
|
38
32
|
constructor(props) {
|
|
39
33
|
super(props);
|
|
@@ -47,20 +41,16 @@ class Form extends BaseComponent {
|
|
|
47
41
|
this.reset = this.reset.bind(this);
|
|
48
42
|
this.foundation = new FormFoundation(this.adapter);
|
|
49
43
|
this.formApi = this.foundation.getFormApi();
|
|
50
|
-
|
|
51
44
|
if (this.props.getFormApi) {
|
|
52
45
|
this.props.getFormApi(this.formApi);
|
|
53
46
|
}
|
|
54
47
|
}
|
|
55
|
-
|
|
56
48
|
componentDidMount() {
|
|
57
49
|
this.foundation.init();
|
|
58
50
|
}
|
|
59
|
-
|
|
60
51
|
componentWillUnmount() {
|
|
61
52
|
this.foundation.destroy();
|
|
62
53
|
}
|
|
63
|
-
|
|
64
54
|
get adapter() {
|
|
65
55
|
return Object.assign(Object.assign({}, super.adapter), {
|
|
66
56
|
cloneDeep,
|
|
@@ -114,7 +104,6 @@ class Form extends BaseComponent {
|
|
|
114
104
|
getFieldDOM: field => document.querySelector(`.${cssClasses.PREFIX}-field[x-field-id="${field}"]`)
|
|
115
105
|
});
|
|
116
106
|
}
|
|
117
|
-
|
|
118
107
|
get content() {
|
|
119
108
|
const {
|
|
120
109
|
children,
|
|
@@ -127,32 +116,25 @@ class Form extends BaseComponent {
|
|
|
127
116
|
formApi: this.foundation.getFormApi(),
|
|
128
117
|
values: formState.values
|
|
129
118
|
};
|
|
130
|
-
|
|
131
119
|
if (component) {
|
|
132
120
|
return /*#__PURE__*/React.createElement(component, props);
|
|
133
121
|
}
|
|
134
|
-
|
|
135
122
|
if (render) {
|
|
136
123
|
return render(props);
|
|
137
124
|
}
|
|
138
|
-
|
|
139
125
|
if (typeof children === 'function') {
|
|
140
126
|
return children(props);
|
|
141
127
|
}
|
|
142
|
-
|
|
143
128
|
return children;
|
|
144
129
|
}
|
|
145
|
-
|
|
146
130
|
submit(e) {
|
|
147
131
|
e.preventDefault();
|
|
148
132
|
this.foundation.submit();
|
|
149
133
|
}
|
|
150
|
-
|
|
151
134
|
reset(e) {
|
|
152
135
|
e.preventDefault();
|
|
153
136
|
this.foundation.reset();
|
|
154
137
|
}
|
|
155
|
-
|
|
156
138
|
render() {
|
|
157
139
|
const needClone = false;
|
|
158
140
|
const formState = this.foundation.getFormState(needClone);
|
|
@@ -160,35 +142,33 @@ class Form extends BaseComponent {
|
|
|
160
142
|
const {
|
|
161
143
|
formId
|
|
162
144
|
} = this.state;
|
|
163
|
-
|
|
164
145
|
const _a = this.props,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
146
|
+
{
|
|
147
|
+
children,
|
|
148
|
+
getFormApi,
|
|
149
|
+
onChange,
|
|
150
|
+
onSubmit,
|
|
151
|
+
onSubmitFail,
|
|
152
|
+
onValueChange,
|
|
153
|
+
component,
|
|
154
|
+
render,
|
|
155
|
+
validateFields,
|
|
156
|
+
initValues,
|
|
157
|
+
layout,
|
|
158
|
+
style,
|
|
159
|
+
className,
|
|
160
|
+
labelPosition,
|
|
161
|
+
labelWidth,
|
|
162
|
+
labelAlign,
|
|
163
|
+
labelCol,
|
|
164
|
+
wrapperCol,
|
|
165
|
+
allowEmpty,
|
|
166
|
+
autoScrollToError,
|
|
167
|
+
showValidateIcon,
|
|
168
|
+
extraTextPosition,
|
|
169
|
+
id
|
|
170
|
+
} = _a,
|
|
171
|
+
rest = __rest(_a, ["children", "getFormApi", "onChange", "onSubmit", "onSubmitFail", "onValueChange", "component", "render", "validateFields", "initValues", "layout", "style", "className", "labelPosition", "labelWidth", "labelAlign", "labelCol", "wrapperCol", "allowEmpty", "autoScrollToError", "showValidateIcon", "extraTextPosition", "id"]);
|
|
192
172
|
const formCls = classNames(prefix, className, {
|
|
193
173
|
[prefix + '-vertical']: layout === 'vertical',
|
|
194
174
|
[prefix + '-horizontal']: layout === 'horizontal'
|
|
@@ -211,14 +191,11 @@ class Form extends BaseComponent {
|
|
|
211
191
|
value: formState
|
|
212
192
|
}, showldAppendRow ? withRowForm : formContent)));
|
|
213
193
|
}
|
|
214
|
-
|
|
215
194
|
}
|
|
216
|
-
|
|
217
195
|
Form.propTypes = {
|
|
218
196
|
'aria-label': PropTypes.string,
|
|
219
197
|
onSubmit: PropTypes.func,
|
|
220
198
|
onSubmitFail: PropTypes.func,
|
|
221
|
-
|
|
222
199
|
/* Triggered from update, including field mount/unmount/value change/blur/verification status change/error prompt change, input parameter is formState, currentField */
|
|
223
200
|
onChange: PropTypes.func,
|
|
224
201
|
onReset: PropTypes.func,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { PureComponent } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import type { BasicFieldError } from '@douyinfe/semi-foundation/lib/es/form/interface';
|
|
4
|
-
export
|
|
4
|
+
export type ReactFieldError = BasicFieldError | React.ReactNode;
|
|
5
5
|
export interface ErrorMessageProps {
|
|
6
6
|
error?: ReactFieldError;
|
|
7
7
|
className?: string;
|
|
@@ -13,11 +13,9 @@ export default class ErrorMessage extends PureComponent {
|
|
|
13
13
|
} = this.props;
|
|
14
14
|
const propsError = this.props.error;
|
|
15
15
|
let id = errorMessageId;
|
|
16
|
-
|
|
17
16
|
if (!propsError) {
|
|
18
17
|
id = helpTextId;
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
if (typeof error === 'string') {
|
|
22
20
|
return /*#__PURE__*/React.createElement("span", {
|
|
23
21
|
id: id
|
|
@@ -30,10 +28,8 @@ export default class ErrorMessage extends PureComponent {
|
|
|
30
28
|
} else if ( /*#__PURE__*/React.isValidElement(error)) {
|
|
31
29
|
return error;
|
|
32
30
|
}
|
|
33
|
-
|
|
34
31
|
return null;
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
render() {
|
|
38
34
|
const {
|
|
39
35
|
error,
|
|
@@ -48,11 +44,9 @@ export default class ErrorMessage extends PureComponent {
|
|
|
48
44
|
[prefix + '-field-error-message']: Boolean(error),
|
|
49
45
|
[prefix + '-field-help-text']: Boolean(helpText)
|
|
50
46
|
}, className);
|
|
51
|
-
|
|
52
47
|
if (!error && !helpText) {
|
|
53
48
|
return null;
|
|
54
49
|
}
|
|
55
|
-
|
|
56
50
|
const iconMap = {
|
|
57
51
|
warning: /*#__PURE__*/React.createElement(IconAlertTriangle, null),
|
|
58
52
|
error: /*#__PURE__*/React.createElement(IconAlertCircle, null)
|
|
@@ -60,7 +54,6 @@ export default class ErrorMessage extends PureComponent {
|
|
|
60
54
|
const text = error ? this.generatorText(error) : this.generatorText(helpText);
|
|
61
55
|
const iconCls = `${prefix}-field-validate-status-icon`;
|
|
62
56
|
let icon = null;
|
|
63
|
-
|
|
64
57
|
if (isInInputGroup) {
|
|
65
58
|
icon = /*#__PURE__*/React.createElement(IconAlertCircle, {
|
|
66
59
|
className: iconCls
|
|
@@ -72,13 +65,11 @@ export default class ErrorMessage extends PureComponent {
|
|
|
72
65
|
});
|
|
73
66
|
}
|
|
74
67
|
}
|
|
75
|
-
|
|
76
68
|
return /*#__PURE__*/React.createElement("div", {
|
|
77
69
|
className: cls,
|
|
78
70
|
style: style
|
|
79
71
|
}, showValidateIcon && text ? icon : null, text);
|
|
80
72
|
}
|
|
81
|
-
|
|
82
73
|
}
|
|
83
74
|
ErrorMessage.propTypes = {
|
|
84
75
|
error: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.array, PropTypes.node]),
|
package/lib/es/form/field.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable max-len */
|
|
2
|
-
import withField from './hoc/withField';
|
|
3
|
-
|
|
2
|
+
import withField from './hoc/withField';
|
|
3
|
+
// Basic component
|
|
4
4
|
import Input from '../input/index';
|
|
5
5
|
import TextArea from '../input/textarea';
|
|
6
6
|
import InputNumber from '../inputNumber/index';
|
|
@@ -28,8 +28,8 @@ const FormInputNumber = withField(InputNumber, {
|
|
|
28
28
|
const FormTextArea = withField(TextArea, {
|
|
29
29
|
maintainCursor: true
|
|
30
30
|
});
|
|
31
|
-
const FormSelect = withField(Select);
|
|
32
|
-
|
|
31
|
+
const FormSelect = withField(Select);
|
|
32
|
+
// Select after withField is a new Component, without the Option attribute, it needs to be manually assigned once
|
|
33
33
|
FormSelect.Option = Select.Option;
|
|
34
34
|
FormSelect.OptGroup = Select.OptGroup;
|
|
35
35
|
const FormCheckboxGroup = withField(CheckboxGroup);
|
package/lib/es/form/group.js
CHANGED
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import _isString from "lodash/isString";
|
|
2
|
-
|
|
3
2
|
var __rest = this && this.__rest || function (s, e) {
|
|
4
3
|
var t = {};
|
|
5
|
-
|
|
6
4
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
7
|
-
|
|
8
5
|
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
9
6
|
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
10
7
|
}
|
|
11
8
|
return t;
|
|
12
9
|
};
|
|
13
10
|
/* eslint-disable react/destructuring-assignment */
|
|
14
|
-
|
|
15
|
-
|
|
16
11
|
import React, { Component } from 'react';
|
|
17
12
|
import classNames from 'classnames';
|
|
18
13
|
import { isValid } from '@douyinfe/semi-foundation/lib/es/form/utils';
|
|
@@ -24,28 +19,25 @@ import { FormUpdaterContext } from './context';
|
|
|
24
19
|
import { useFormState } from './hooks/index';
|
|
25
20
|
import InputGroup from '../input/inputGroup';
|
|
26
21
|
import { Col } from '../grid/index';
|
|
27
|
-
const prefix = cssClasses.PREFIX;
|
|
22
|
+
const prefix = cssClasses.PREFIX;
|
|
23
|
+
// Group component to remove Labels and ErrorMessages from its child fields
|
|
28
24
|
// Unified insertion of Labels and ErrorMessages from the group level
|
|
29
25
|
// Get Errors of all field in this group
|
|
30
|
-
|
|
31
26
|
const GroupError = props => {
|
|
32
27
|
const {
|
|
33
28
|
fieldSet
|
|
34
29
|
} = props;
|
|
35
30
|
const formState = useFormState();
|
|
36
31
|
const error = fieldSet.map(field => ObjectUtil.get(formState.errors, field));
|
|
37
|
-
|
|
38
32
|
if (isValid(error)) {
|
|
39
33
|
return null;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
return /*#__PURE__*/React.createElement(ErrorMessage, {
|
|
43
36
|
error: error,
|
|
44
37
|
showValidateIcon: props.showValidateIcon,
|
|
45
38
|
isInInputGroup: props.isInInputGroup
|
|
46
39
|
});
|
|
47
40
|
};
|
|
48
|
-
|
|
49
41
|
class FormInputGroup extends Component {
|
|
50
42
|
renderLabel(label, formProps) {
|
|
51
43
|
if (label) {
|
|
@@ -60,20 +52,17 @@ class FormInputGroup extends Component {
|
|
|
60
52
|
}, label));
|
|
61
53
|
}
|
|
62
54
|
}
|
|
63
|
-
|
|
64
55
|
return null;
|
|
65
56
|
}
|
|
66
|
-
|
|
67
57
|
render() {
|
|
68
58
|
const _a = this.props,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
59
|
+
{
|
|
60
|
+
children,
|
|
61
|
+
label,
|
|
62
|
+
extraText,
|
|
63
|
+
extraTextPosition
|
|
64
|
+
} = _a,
|
|
65
|
+
rest = __rest(_a, ["children", "label", "extraText", "extraTextPosition"]);
|
|
77
66
|
const updater = this.context;
|
|
78
67
|
const formProps = updater.getFormProps(['labelPosition', 'labelWidth', 'labelAlign', 'showValidateIcon', 'wrapperCol', 'labelCol', 'disabled']);
|
|
79
68
|
const labelPosition = this.props.labelPosition || formProps.labelPosition;
|
|
@@ -82,9 +71,9 @@ class FormInputGroup extends Component {
|
|
|
82
71
|
if (child && child.props && child.props.field) {
|
|
83
72
|
groupFieldSet.push(child.props.field);
|
|
84
73
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
85
|
-
isInInputGroup: true
|
|
74
|
+
isInInputGroup: true
|
|
75
|
+
// noErrorMessage: true,
|
|
86
76
|
// noLabel: true
|
|
87
|
-
|
|
88
77
|
});
|
|
89
78
|
}
|
|
90
79
|
|
|
@@ -117,12 +106,10 @@ class FormInputGroup extends Component {
|
|
|
117
106
|
"x-semi-prop": "extraText"
|
|
118
107
|
}, extraText) : null;
|
|
119
108
|
let content;
|
|
120
|
-
|
|
121
109
|
switch (true) {
|
|
122
110
|
case !appendCol:
|
|
123
111
|
content = /*#__PURE__*/React.createElement(React.Fragment, null, labelContent, /*#__PURE__*/React.createElement("div", null, extraTextPosition === 'middle' ? extraContent : null, inputGroupContent, extraTextPosition === 'bottom' ? extraContent : null, groupErrorContent));
|
|
124
112
|
break;
|
|
125
|
-
|
|
126
113
|
case appendCol && labelPosition === 'top':
|
|
127
114
|
// When labelPosition is top, you need to add an overflow hidden div to the label, otherwise it will be arranged horizontally
|
|
128
115
|
content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -133,24 +120,19 @@ class FormInputGroup extends Component {
|
|
|
133
120
|
className: labelColCls
|
|
134
121
|
}), labelContent)), /*#__PURE__*/React.createElement(Col, Object.assign({}, wrapperCol), extraTextPosition === 'middle' ? extraContent : null, inputGroupContent, extraTextPosition === 'bottom' ? extraContent : null, groupErrorContent));
|
|
135
122
|
break;
|
|
136
|
-
|
|
137
123
|
case appendCol && labelPosition !== 'top':
|
|
138
124
|
content = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Col, Object.assign({}, labelCol, {
|
|
139
125
|
className: labelColCls
|
|
140
126
|
}), labelContent), /*#__PURE__*/React.createElement(Col, Object.assign({}, wrapperCol), extraTextPosition === 'middle' ? extraContent : null, inputGroupContent, extraTextPosition === 'bottom' ? extraContent : null, groupErrorContent));
|
|
141
127
|
break;
|
|
142
|
-
|
|
143
128
|
default:
|
|
144
129
|
break;
|
|
145
130
|
}
|
|
146
|
-
|
|
147
131
|
return /*#__PURE__*/React.createElement("div", {
|
|
148
132
|
"x-label-pos": labelPosition,
|
|
149
133
|
className: groupCls
|
|
150
134
|
}, content);
|
|
151
135
|
}
|
|
152
|
-
|
|
153
136
|
}
|
|
154
|
-
|
|
155
137
|
FormInputGroup.contextType = FormUpdaterContext;
|
|
156
138
|
export default FormInputGroup;
|