@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
package/lib/es/rating/item.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { strings } from '@douyinfe/semi-foundation/lib/es/rating/constants';
|
|
|
4
4
|
import '@douyinfe/semi-foundation/lib/es/rating/rating.css';
|
|
5
5
|
import { RatingItemFoundation, RatingItemAdapter } from '@douyinfe/semi-foundation/lib/es/rating/foundation';
|
|
6
6
|
import BaseComponent, { BaseProps } from '../_base/baseComponent';
|
|
7
|
-
|
|
7
|
+
type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
|
|
8
8
|
export interface RatingItemProps extends BaseProps {
|
|
9
9
|
value: number;
|
|
10
10
|
index: number;
|
package/lib/es/rating/item.js
CHANGED
|
@@ -11,7 +11,6 @@ export default class Item extends BaseComponent {
|
|
|
11
11
|
super(props);
|
|
12
12
|
this.firstStar = null;
|
|
13
13
|
this.secondStar = null;
|
|
14
|
-
|
|
15
14
|
this.onHover = e => {
|
|
16
15
|
const {
|
|
17
16
|
onHover,
|
|
@@ -19,7 +18,6 @@ export default class Item extends BaseComponent {
|
|
|
19
18
|
} = this.props;
|
|
20
19
|
onHover(e, index);
|
|
21
20
|
};
|
|
22
|
-
|
|
23
21
|
this.onClick = e => {
|
|
24
22
|
const {
|
|
25
23
|
onClick,
|
|
@@ -27,7 +25,6 @@ export default class Item extends BaseComponent {
|
|
|
27
25
|
} = this.props;
|
|
28
26
|
onClick(e, index);
|
|
29
27
|
};
|
|
30
|
-
|
|
31
28
|
this.onFocus = (e, star) => {
|
|
32
29
|
const {
|
|
33
30
|
onFocus
|
|
@@ -35,7 +32,6 @@ export default class Item extends BaseComponent {
|
|
|
35
32
|
onFocus && onFocus(e);
|
|
36
33
|
this.foundation.handleFocusVisible(e, star);
|
|
37
34
|
};
|
|
38
|
-
|
|
39
35
|
this.onBlur = (e, star) => {
|
|
40
36
|
const {
|
|
41
37
|
onBlur
|
|
@@ -43,25 +39,21 @@ export default class Item extends BaseComponent {
|
|
|
43
39
|
onBlur && onBlur(e);
|
|
44
40
|
this.foundation.handleBlur(e, star);
|
|
45
41
|
};
|
|
46
|
-
|
|
47
42
|
this.onKeyDown = e => {
|
|
48
43
|
const {
|
|
49
44
|
onClick,
|
|
50
45
|
index
|
|
51
46
|
} = this.props;
|
|
52
|
-
|
|
53
47
|
if (e.keyCode === 13) {
|
|
54
48
|
onClick(e, index);
|
|
55
49
|
}
|
|
56
50
|
};
|
|
57
|
-
|
|
58
51
|
this.starFocus = () => {
|
|
59
52
|
const {
|
|
60
53
|
value,
|
|
61
54
|
index,
|
|
62
55
|
preventScroll
|
|
63
56
|
} = this.props;
|
|
64
|
-
|
|
65
57
|
if (value - index === 0.5) {
|
|
66
58
|
this.firstStar.focus({
|
|
67
59
|
preventScroll
|
|
@@ -72,22 +64,18 @@ export default class Item extends BaseComponent {
|
|
|
72
64
|
});
|
|
73
65
|
}
|
|
74
66
|
};
|
|
75
|
-
|
|
76
67
|
this.saveFirstStar = node => {
|
|
77
68
|
this.firstStar = node;
|
|
78
69
|
};
|
|
79
|
-
|
|
80
70
|
this.saveSecondStar = node => {
|
|
81
71
|
this.secondStar = node;
|
|
82
72
|
};
|
|
83
|
-
|
|
84
73
|
this.state = {
|
|
85
74
|
firstStarFocus: false,
|
|
86
75
|
secondStarFocus: false
|
|
87
76
|
};
|
|
88
77
|
this.foundation = new RatingItemFoundation(this.adapter);
|
|
89
78
|
}
|
|
90
|
-
|
|
91
79
|
get adapter() {
|
|
92
80
|
return Object.assign(Object.assign({}, super.adapter), {
|
|
93
81
|
setFirstStarFocus: value => {
|
|
@@ -102,7 +90,6 @@ export default class Item extends BaseComponent {
|
|
|
102
90
|
}
|
|
103
91
|
});
|
|
104
92
|
}
|
|
105
|
-
|
|
106
93
|
render() {
|
|
107
94
|
const {
|
|
108
95
|
index,
|
|
@@ -121,8 +108,8 @@ export default class Item extends BaseComponent {
|
|
|
121
108
|
secondStarFocus
|
|
122
109
|
} = this.state;
|
|
123
110
|
const starValue = index + 1;
|
|
124
|
-
const diff = starValue - value;
|
|
125
|
-
|
|
111
|
+
const diff = starValue - value;
|
|
112
|
+
// const isHalf = allowHalf && value + 0.5 === starValue;
|
|
126
113
|
const isHalf = allowHalf && diff < 1 && diff > 0;
|
|
127
114
|
const firstWidth = 1 - diff;
|
|
128
115
|
const isFull = starValue <= value;
|
|
@@ -207,7 +194,6 @@ export default class Item extends BaseComponent {
|
|
|
207
194
|
"x-semi-prop": "character"
|
|
208
195
|
}), content)));
|
|
209
196
|
}
|
|
210
|
-
|
|
211
197
|
}
|
|
212
198
|
Item.propTypes = {
|
|
213
199
|
value: PropTypes.number,
|
|
@@ -6,7 +6,6 @@ import ResizeObserver from 'resize-observer-polyfill';
|
|
|
6
6
|
export default class ReactResizeObserver extends BaseComponent {
|
|
7
7
|
constructor(props) {
|
|
8
8
|
super(props);
|
|
9
|
-
|
|
10
9
|
this.getElement = () => {
|
|
11
10
|
try {
|
|
12
11
|
// using findDOMNode for two reasons:
|
|
@@ -19,28 +18,22 @@ export default class ReactResizeObserver extends BaseComponent {
|
|
|
19
18
|
return null;
|
|
20
19
|
}
|
|
21
20
|
};
|
|
22
|
-
|
|
23
21
|
this.mergeRef = (ref, node) => {
|
|
24
22
|
this.childNode = node;
|
|
25
|
-
|
|
26
23
|
if (typeof ref === 'function') {
|
|
27
24
|
ref(node);
|
|
28
25
|
} else if (typeof ref === 'object' && ref && 'current' in ref) {
|
|
29
26
|
ref.current = node;
|
|
30
27
|
}
|
|
31
28
|
};
|
|
32
|
-
|
|
33
29
|
this.observer = new ResizeObserver(props.onResize);
|
|
34
30
|
}
|
|
35
|
-
|
|
36
31
|
componentDidMount() {
|
|
37
32
|
this.observeElement();
|
|
38
33
|
}
|
|
39
|
-
|
|
40
34
|
componentDidUpdate(prevProps) {
|
|
41
35
|
this.observeElement(this.props.observeParent !== prevProps.observeParent);
|
|
42
36
|
}
|
|
43
|
-
|
|
44
37
|
componentWillUnmount() {
|
|
45
38
|
if (this.observer) {
|
|
46
39
|
this.observer.disconnect();
|
|
@@ -48,40 +41,33 @@ export default class ReactResizeObserver extends BaseComponent {
|
|
|
48
41
|
this.element = null;
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
|
-
|
|
52
44
|
observeElement() {
|
|
53
45
|
let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
54
46
|
const element = this.getElement();
|
|
55
|
-
|
|
56
47
|
if (!this.observer) {
|
|
57
48
|
this.observer = new ResizeObserver(this.props.onResize);
|
|
58
49
|
}
|
|
59
|
-
|
|
60
50
|
if (!(element && element instanceof Element)) {
|
|
61
51
|
// stop everything if not defined
|
|
62
52
|
this.observer.disconnect();
|
|
63
53
|
return;
|
|
64
54
|
}
|
|
65
|
-
|
|
66
55
|
if (element === this.element && !force) {
|
|
67
56
|
// abort if given same element -- nothing to update (unless forced)
|
|
68
57
|
return;
|
|
69
58
|
} else {
|
|
70
59
|
// clear observer list if new element
|
|
71
|
-
this.observer.disconnect();
|
|
72
|
-
|
|
60
|
+
this.observer.disconnect();
|
|
61
|
+
// remember element reference for next time
|
|
73
62
|
this.element = element;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
63
|
+
}
|
|
64
|
+
// observer callback is invoked immediately when observing new elements
|
|
77
65
|
this.observer.observe(element);
|
|
78
|
-
|
|
79
66
|
if (this.props.observeParent && element.parentNode && element.parentNode.ownerDocument && element.parentNode.ownerDocument.defaultView && element.parentNode instanceof element.parentNode.ownerDocument.defaultView.HTMLElement) {
|
|
80
67
|
this._parentNode = element.parentNode;
|
|
81
68
|
this.observer.observe(this._parentNode);
|
|
82
69
|
}
|
|
83
70
|
}
|
|
84
|
-
|
|
85
71
|
render() {
|
|
86
72
|
const child = React.Children.only(this.props.children);
|
|
87
73
|
const {
|
|
@@ -91,7 +77,6 @@ export default class ReactResizeObserver extends BaseComponent {
|
|
|
91
77
|
ref: node => this.mergeRef(ref, node)
|
|
92
78
|
});
|
|
93
79
|
}
|
|
94
|
-
|
|
95
80
|
}
|
|
96
81
|
ReactResizeObserver.propTypes = {
|
|
97
82
|
onResize: PropTypes.func,
|
|
@@ -5,14 +5,13 @@ import classnames from 'classnames';
|
|
|
5
5
|
import propTypes from 'prop-types';
|
|
6
6
|
import ScrollItem from './scrollItem';
|
|
7
7
|
import Foundation from '@douyinfe/semi-foundation/lib/es/scrollList/foundation';
|
|
8
|
-
import '@douyinfe/semi-foundation/lib/es/scrollList/scrollList.css';
|
|
9
|
-
|
|
8
|
+
import '@douyinfe/semi-foundation/lib/es/scrollList/scrollList.css';
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
10
10
|
class ScrollList extends BaseComponent {
|
|
11
11
|
constructor(props) {
|
|
12
12
|
super(props);
|
|
13
13
|
this.foundation = new Foundation(this.adapter);
|
|
14
14
|
}
|
|
15
|
-
|
|
16
15
|
render() {
|
|
17
16
|
const {
|
|
18
17
|
children,
|
|
@@ -50,9 +49,7 @@ class ScrollList extends BaseComponent {
|
|
|
50
49
|
"x-semi-prop": this.props['x-semi-footer-alias'] || "footer"
|
|
51
50
|
}, footer) : null);
|
|
52
51
|
}
|
|
53
|
-
|
|
54
52
|
}
|
|
55
|
-
|
|
56
53
|
ScrollList.Item = ScrollItem;
|
|
57
54
|
ScrollList.propTypes = {
|
|
58
55
|
className: propTypes.string,
|
|
@@ -19,124 +19,88 @@ const wheelMode = 'wheel';
|
|
|
19
19
|
export default class ScrollItem extends BaseComponent {
|
|
20
20
|
constructor() {
|
|
21
21
|
var _this;
|
|
22
|
-
|
|
23
22
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
24
23
|
super(props);
|
|
25
24
|
_this = this;
|
|
26
|
-
|
|
27
25
|
this._cacheNode = (name, node) => name && node && Object.prototype.hasOwnProperty.call(this, name) && (this[name] = node);
|
|
28
|
-
|
|
29
26
|
this._cacheSelectedNode = selectedNode => this._cacheNode('selectedNode', selectedNode);
|
|
30
|
-
|
|
31
27
|
this._cacheWillSelectNode = node => this._cacheNode('willSelectNode', node);
|
|
32
|
-
|
|
33
28
|
this._cacheListNode = list => this._cacheNode('list', list);
|
|
34
|
-
|
|
35
29
|
this._cacheSelectorNode = selector => this._cacheNode('selector', selector);
|
|
36
|
-
|
|
37
30
|
this._cacheWrapperNode = wrapper => this._cacheNode('wrapper', wrapper);
|
|
38
31
|
/* istanbul ignore next */
|
|
39
|
-
|
|
40
|
-
|
|
41
32
|
this._isFirst = node => {
|
|
42
33
|
const {
|
|
43
34
|
list
|
|
44
35
|
} = this;
|
|
45
|
-
|
|
46
36
|
if (isElement(node) && isElement(list)) {
|
|
47
37
|
const chilren = list.children;
|
|
48
|
-
|
|
49
38
|
const index = _findIndex(chilren, node);
|
|
50
|
-
|
|
51
39
|
return index === 0;
|
|
52
40
|
}
|
|
53
|
-
|
|
54
41
|
return false;
|
|
55
42
|
};
|
|
56
43
|
/* istanbul ignore next */
|
|
57
|
-
|
|
58
|
-
|
|
59
44
|
this._isLast = node => {
|
|
60
45
|
const {
|
|
61
46
|
list
|
|
62
47
|
} = this;
|
|
63
|
-
|
|
64
48
|
if (isElement(node) && isElement(list)) {
|
|
65
49
|
const {
|
|
66
50
|
children
|
|
67
51
|
} = list;
|
|
68
|
-
|
|
69
52
|
const index = _findIndex(children, node);
|
|
70
|
-
|
|
71
53
|
return index === children.length - 1;
|
|
72
54
|
}
|
|
73
|
-
|
|
74
55
|
return false;
|
|
75
56
|
};
|
|
76
|
-
|
|
77
57
|
this.indexIsSame = (index1, index2) => {
|
|
78
58
|
const {
|
|
79
59
|
list
|
|
80
60
|
} = this.props;
|
|
81
|
-
|
|
82
61
|
if (list.length) {
|
|
83
62
|
return index1 % list.length === index2 % list.length;
|
|
84
63
|
}
|
|
85
|
-
|
|
86
64
|
return undefined;
|
|
87
65
|
};
|
|
88
|
-
|
|
89
66
|
this.isDisabledIndex = index => {
|
|
90
67
|
const {
|
|
91
68
|
list
|
|
92
69
|
} = this.props;
|
|
93
|
-
|
|
94
70
|
if (Array.isArray(list) && list.length && index > -1) {
|
|
95
71
|
const size = list.length;
|
|
96
72
|
const indexInData = index % size;
|
|
97
73
|
return this.isDisabledData(list[indexInData]);
|
|
98
74
|
}
|
|
99
|
-
|
|
100
75
|
return false;
|
|
101
76
|
};
|
|
102
|
-
|
|
103
77
|
this.isDisabledNode = node => {
|
|
104
78
|
const listWrapper = this.list;
|
|
105
|
-
|
|
106
79
|
if (isElement(node) && isElement(listWrapper)) {
|
|
107
80
|
const index = _findIndex(listWrapper.children, child => child === node);
|
|
108
|
-
|
|
109
81
|
return this.isDisabledIndex(index);
|
|
110
82
|
}
|
|
111
|
-
|
|
112
83
|
return false;
|
|
113
84
|
};
|
|
114
|
-
|
|
115
85
|
this.isDisabledData = data => data && typeof data === 'object' && data.disabled;
|
|
116
|
-
|
|
117
86
|
this.isWheelMode = () => this.props.mode === wheelMode;
|
|
118
|
-
|
|
119
87
|
this.addClassToNode = function (selectedNode) {
|
|
120
88
|
let selectedCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cssClasses.SELECTED;
|
|
121
89
|
const {
|
|
122
90
|
list
|
|
123
91
|
} = _this;
|
|
124
92
|
selectedNode = selectedNode || _this.selectedNode;
|
|
125
|
-
|
|
126
93
|
if (isElement(selectedNode) && isElement(list)) {
|
|
127
94
|
const {
|
|
128
95
|
children
|
|
129
96
|
} = list;
|
|
130
97
|
const reg = new RegExp(`\\s*${selectedCls}\\s*`, 'g');
|
|
131
|
-
|
|
132
98
|
_map(children, node => {
|
|
133
99
|
node.className = node.className && node.className.replace(reg, ' ');
|
|
134
|
-
|
|
135
100
|
if (blankReg.test(node.className)) {
|
|
136
101
|
node.className = '';
|
|
137
102
|
}
|
|
138
103
|
});
|
|
139
|
-
|
|
140
104
|
if (selectedNode.className && !blankReg.test(selectedNode.className)) {
|
|
141
105
|
selectedNode.className += ` ${selectedCls}`;
|
|
142
106
|
} else {
|
|
@@ -144,28 +108,22 @@ export default class ScrollItem extends BaseComponent {
|
|
|
144
108
|
}
|
|
145
109
|
}
|
|
146
110
|
};
|
|
147
|
-
|
|
148
111
|
this.getIndexByNode = node => _findIndex(this.list.children, node);
|
|
149
|
-
|
|
150
112
|
this.getNodeByIndex = index => {
|
|
151
113
|
if (index > -1) {
|
|
152
114
|
return _find(this.list.children, (node, idx) => idx === index);
|
|
153
115
|
}
|
|
154
|
-
|
|
155
116
|
const defaultSelectedNode = _find(this.list.children, child => !this.isDisabledNode(child));
|
|
156
|
-
|
|
157
117
|
return defaultSelectedNode;
|
|
158
118
|
};
|
|
159
|
-
|
|
160
119
|
this.scrollToIndex = (selectedIndex, duration) => {
|
|
161
120
|
// move to selected item
|
|
162
|
-
duration = typeof duration === 'number' ? duration : numbers.DEFAULT_SCROLL_DURATION;
|
|
163
|
-
|
|
164
|
-
selectedIndex = selectedIndex == null ? this.props.selectedIndex : selectedIndex;
|
|
165
|
-
|
|
121
|
+
duration = typeof duration === 'number' ? duration : numbers.DEFAULT_SCROLL_DURATION;
|
|
122
|
+
// eslint-disable-next-line
|
|
123
|
+
selectedIndex = selectedIndex == null ? this.props.selectedIndex : selectedIndex;
|
|
124
|
+
// this.isWheelMode() && this.addClassToNode();
|
|
166
125
|
this.scrollToNode(this.selectedNode, duration);
|
|
167
126
|
};
|
|
168
|
-
|
|
169
127
|
this.scrollToNode = (node, duration) => {
|
|
170
128
|
const {
|
|
171
129
|
wrapper
|
|
@@ -175,53 +133,43 @@ export default class ScrollItem extends BaseComponent {
|
|
|
175
133
|
const targetTop = (node.offsetTop || this.list.children.length * itemHeight / 2) - (wrapperHeight - itemHeight) / 2;
|
|
176
134
|
this.scrollToPos(targetTop, duration);
|
|
177
135
|
};
|
|
178
|
-
|
|
179
136
|
this.scrollToPos = function (targetTop) {
|
|
180
137
|
let duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : numbers.DEFAULT_SCROLL_DURATION;
|
|
181
138
|
const {
|
|
182
139
|
wrapper
|
|
183
|
-
} = _this;
|
|
184
|
-
|
|
140
|
+
} = _this;
|
|
141
|
+
// this.isWheelMode() && this.addClassToNode();
|
|
185
142
|
if (duration && _this.props.motion) {
|
|
186
143
|
if (_this.scrollAnimation) {
|
|
187
144
|
_this.scrollAnimation.destroy();
|
|
188
|
-
|
|
189
145
|
_this.scrolling = false;
|
|
190
146
|
}
|
|
191
|
-
|
|
192
147
|
if (wrapper.scrollTop === targetTop) {
|
|
193
148
|
if (_this.isWheelMode()) {
|
|
194
149
|
const nodeInfo = _this.foundation.getNearestNodeInfo(_this.list, _this.selector);
|
|
195
|
-
|
|
196
150
|
_this.addClassToNode(nodeInfo.nearestNode);
|
|
197
151
|
}
|
|
198
152
|
} else {
|
|
199
153
|
_this.scrollAnimation = animatedScrollTo(wrapper, targetTop, duration);
|
|
200
|
-
|
|
201
154
|
_this.scrollAnimation.on('rest', () => {
|
|
202
155
|
if (_this.isWheelMode()) {
|
|
203
156
|
const nodeInfo = _this.foundation.getNearestNodeInfo(_this.list, _this.selector);
|
|
204
|
-
|
|
205
157
|
_this.addClassToNode(nodeInfo.nearestNode);
|
|
206
158
|
}
|
|
207
159
|
});
|
|
208
|
-
|
|
209
160
|
_this.scrollAnimation.start();
|
|
210
161
|
}
|
|
211
162
|
} else {
|
|
212
163
|
wrapper.scrollTop = targetTop;
|
|
213
164
|
}
|
|
214
165
|
};
|
|
215
|
-
|
|
216
166
|
this.scrollToSelectItem = e => {
|
|
217
167
|
const {
|
|
218
168
|
nearestNode
|
|
219
169
|
} = this.foundation.getNearestNodeInfo(this.list, this.selector);
|
|
220
|
-
|
|
221
170
|
if (this.props.cycled) {
|
|
222
171
|
this.throttledAdjustList(e, nearestNode);
|
|
223
172
|
}
|
|
224
|
-
|
|
225
173
|
this.debouncedSelect(e, nearestNode);
|
|
226
174
|
};
|
|
227
175
|
/**
|
|
@@ -232,12 +180,9 @@ export default class ScrollItem extends BaseComponent {
|
|
|
232
180
|
* @param {HTMLElement} scrollWnumber
|
|
233
181
|
* @param {number} duration
|
|
234
182
|
*/
|
|
235
|
-
|
|
236
|
-
|
|
237
183
|
this.scrollToCenter = (selectedNode, scrollWrapper, duration) => {
|
|
238
184
|
selectedNode = selectedNode || this.selectedNode;
|
|
239
185
|
scrollWrapper = scrollWrapper || this.wrapper;
|
|
240
|
-
|
|
241
186
|
if (isElement(selectedNode) && isElement(scrollWrapper)) {
|
|
242
187
|
const scrollRect = scrollWrapper.getBoundingClientRect();
|
|
243
188
|
const selectedRect = selectedNode.getBoundingClientRect();
|
|
@@ -245,7 +190,6 @@ export default class ScrollItem extends BaseComponent {
|
|
|
245
190
|
this.scrollToPos(targetTop, typeof duration === 'number' ? duration : numbers.DEFAULT_SCROLL_DURATION);
|
|
246
191
|
}
|
|
247
192
|
};
|
|
248
|
-
|
|
249
193
|
this.clickToSelectItem = e => {
|
|
250
194
|
// const index = this.foundation.selectNearestIndex(e.nativeEvent, this.list);
|
|
251
195
|
e && e.nativeEvent && e.nativeEvent.stopImmediatePropagation();
|
|
@@ -253,14 +197,11 @@ export default class ScrollItem extends BaseComponent {
|
|
|
253
197
|
targetNode: node,
|
|
254
198
|
infoInList
|
|
255
199
|
} = this.foundation.getTargetNode(e, this.list);
|
|
256
|
-
|
|
257
200
|
if (node && infoInList && !infoInList.disabled) {
|
|
258
201
|
this.debouncedSelect(null, node);
|
|
259
202
|
}
|
|
260
203
|
};
|
|
261
|
-
|
|
262
204
|
this.getItmHeight = itm => itm && itm.offsetHeight || numbers.DEFAULT_ITEM_HEIGHT;
|
|
263
|
-
|
|
264
205
|
this.renderItemList = function () {
|
|
265
206
|
let prefixKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
266
207
|
const {
|
|
@@ -280,7 +221,6 @@ export default class ScrollItem extends BaseComponent {
|
|
|
280
221
|
[`${cssClasses.PREFIX}-item-disabled`]: Boolean(item.disabled)
|
|
281
222
|
});
|
|
282
223
|
let text = '';
|
|
283
|
-
|
|
284
224
|
if (selected) {
|
|
285
225
|
if (typeof transform === 'function') {
|
|
286
226
|
text = transform(item.value, item.text);
|
|
@@ -292,13 +232,10 @@ export default class ScrollItem extends BaseComponent {
|
|
|
292
232
|
// eslint-disable-next-line
|
|
293
233
|
text = item.text == null ? item.value : item.text;
|
|
294
234
|
}
|
|
295
|
-
|
|
296
235
|
const events = {};
|
|
297
|
-
|
|
298
236
|
if (!_this.isWheelMode() && !item.disabled) {
|
|
299
237
|
events.onClick = () => _this.foundation.selectIndex(index, _this.list);
|
|
300
238
|
}
|
|
301
|
-
|
|
302
239
|
return (
|
|
303
240
|
/*#__PURE__*/
|
|
304
241
|
// eslint-disable-next-line @typescript-eslint/restrict-plus-operands
|
|
@@ -313,7 +250,6 @@ export default class ScrollItem extends BaseComponent {
|
|
|
313
250
|
);
|
|
314
251
|
});
|
|
315
252
|
};
|
|
316
|
-
|
|
317
253
|
this.renderNormalList = () => {
|
|
318
254
|
const {
|
|
319
255
|
list,
|
|
@@ -336,8 +272,6 @@ export default class ScrollItem extends BaseComponent {
|
|
|
336
272
|
/**
|
|
337
273
|
* List of Rendering Unlimited Modes
|
|
338
274
|
*/
|
|
339
|
-
|
|
340
|
-
|
|
341
275
|
this.renderInfiniteList = () => {
|
|
342
276
|
const {
|
|
343
277
|
list,
|
|
@@ -349,19 +283,16 @@ export default class ScrollItem extends BaseComponent {
|
|
|
349
283
|
prependCount,
|
|
350
284
|
appendCount
|
|
351
285
|
} = this.state;
|
|
352
|
-
|
|
353
286
|
const prependList = _times(prependCount).reduce((arr, num) => {
|
|
354
287
|
const items = this.renderItemList(`pre_${num}_`);
|
|
355
288
|
arr.unshift(...items);
|
|
356
289
|
return arr;
|
|
357
290
|
}, []);
|
|
358
|
-
|
|
359
291
|
const appendList = _times(appendCount).reduce((arr, num) => {
|
|
360
292
|
const items = this.renderItemList(`app_${num}_`);
|
|
361
293
|
arr.push(...items);
|
|
362
294
|
return arr;
|
|
363
295
|
}, []);
|
|
364
|
-
|
|
365
296
|
const inner = this.renderItemList();
|
|
366
297
|
const listWrapperCls = classnames(`${cssClasses.PREFIX}-list-outer`, {
|
|
367
298
|
[`${cssClasses.PREFIX}-list-outer-nocycle`]: !cycled
|
|
@@ -392,34 +323,31 @@ export default class ScrollItem extends BaseComponent {
|
|
|
392
323
|
onClick: this.clickToSelectItem
|
|
393
324
|
}, prependList, inner, appendList)));
|
|
394
325
|
};
|
|
395
|
-
|
|
396
326
|
this.state = {
|
|
397
327
|
prependCount: 0,
|
|
398
|
-
appendCount: 0
|
|
328
|
+
appendCount: 0
|
|
329
|
+
// selectedIndex: props.selectedIndex,
|
|
399
330
|
// fakeSelectedIndex: props.selectedIndex,
|
|
400
|
-
|
|
401
331
|
};
|
|
332
|
+
|
|
402
333
|
this.selectedNode = null;
|
|
403
334
|
this.willSelectNode = null;
|
|
404
335
|
this.list = null;
|
|
405
336
|
this.wrapper = null;
|
|
406
337
|
this.selector = null;
|
|
407
|
-
this.scrollAnimation = null;
|
|
408
|
-
|
|
338
|
+
this.scrollAnimation = null;
|
|
339
|
+
// cache if select action comes from outside
|
|
409
340
|
this.foundation = new ItemFoundation(this.adapter);
|
|
410
341
|
this.throttledAdjustList = _throttle((e, nearestNode) => {
|
|
411
342
|
this.foundation.adjustInfiniteList(this.list, this.wrapper, nearestNode);
|
|
412
343
|
}, msPerFrame);
|
|
413
344
|
this.debouncedSelect = _debounce((e, nearestNode) => {
|
|
414
345
|
this._cacheSelectedNode(nearestNode);
|
|
415
|
-
|
|
416
346
|
this.foundation.selectNode(nearestNode, this.list);
|
|
417
347
|
}, msPerFrame * 2);
|
|
418
348
|
}
|
|
419
|
-
|
|
420
349
|
get adapter() {
|
|
421
350
|
var _this2 = this;
|
|
422
|
-
|
|
423
351
|
return Object.assign(Object.assign({}, super.adapter), {
|
|
424
352
|
setState: (states, callback) => this.setState(Object.assign({}, states), callback),
|
|
425
353
|
setPrependCount: prependCount => this.setState({
|
|
@@ -436,14 +364,12 @@ export default class ScrollItem extends BaseComponent {
|
|
|
436
364
|
scrollToCenter: this.scrollToCenter
|
|
437
365
|
});
|
|
438
366
|
}
|
|
439
|
-
|
|
440
367
|
componentWillUnmount() {
|
|
441
368
|
if (this.props.cycled) {
|
|
442
369
|
this.throttledAdjustList.cancel();
|
|
443
370
|
this.debouncedSelect.cancel();
|
|
444
371
|
}
|
|
445
372
|
}
|
|
446
|
-
|
|
447
373
|
componentDidMount() {
|
|
448
374
|
this.foundation.init();
|
|
449
375
|
const {
|
|
@@ -453,38 +379,31 @@ export default class ScrollItem extends BaseComponent {
|
|
|
453
379
|
list
|
|
454
380
|
} = this.props;
|
|
455
381
|
const selectedNode = this.getNodeByIndex(typeof selectedIndex === 'number' && selectedIndex > -1 ? selectedIndex : 0);
|
|
456
|
-
|
|
457
382
|
this._cacheSelectedNode(selectedNode);
|
|
458
|
-
|
|
459
383
|
this._cacheWillSelectNode(selectedNode);
|
|
460
|
-
|
|
461
384
|
if (mode === wheelMode && cycled) {
|
|
462
385
|
this.foundation.initWheelList(this.list, this.wrapper, () => {
|
|
463
386
|
// we have to scroll in next tick
|
|
464
387
|
// setTimeout(() => {
|
|
465
|
-
this.scrollToNode(selectedNode, 0);
|
|
388
|
+
this.scrollToNode(selectedNode, 0);
|
|
389
|
+
// });
|
|
466
390
|
});
|
|
467
391
|
} else {
|
|
468
392
|
this.scrollToNode(selectedNode, 0);
|
|
469
393
|
}
|
|
470
394
|
}
|
|
471
|
-
|
|
472
395
|
componentDidUpdate(prevProps) {
|
|
473
396
|
const {
|
|
474
397
|
selectedIndex
|
|
475
|
-
} = this.props;
|
|
476
|
-
|
|
398
|
+
} = this.props;
|
|
399
|
+
// smooth scroll to selected option
|
|
477
400
|
if (prevProps.selectedIndex !== selectedIndex) {
|
|
478
401
|
const willSelectIndex = this.getIndexByNode(this.willSelectNode);
|
|
479
|
-
|
|
480
402
|
if (!this.indexIsSame(willSelectIndex, selectedIndex)) {
|
|
481
403
|
const newSelectedNode = this.getNodeByOffset(this.selectedNode, selectedIndex - prevProps.selectedIndex, this.list);
|
|
482
|
-
|
|
483
404
|
this._cacheWillSelectNode(newSelectedNode);
|
|
484
405
|
}
|
|
485
|
-
|
|
486
406
|
this._cacheSelectedNode(this.willSelectNode);
|
|
487
|
-
|
|
488
407
|
this.scrollToIndex(selectedIndex);
|
|
489
408
|
}
|
|
490
409
|
}
|
|
@@ -496,34 +415,26 @@ export default class ScrollItem extends BaseComponent {
|
|
|
496
415
|
*
|
|
497
416
|
* @returns {HTMLElement}
|
|
498
417
|
*/
|
|
499
|
-
|
|
500
|
-
|
|
501
418
|
getNodeByOffset(refNode, offset, listWrapper) {
|
|
502
419
|
const {
|
|
503
420
|
list
|
|
504
421
|
} = this.props;
|
|
505
|
-
|
|
506
422
|
if (isElement(refNode) && isElement(listWrapper) && typeof offset === 'number' && Array.isArray(list) && list.length) {
|
|
507
423
|
offset = offset % list.length;
|
|
508
424
|
const refIndex = this.getIndexByNode(refNode);
|
|
509
425
|
let targetIndex = refIndex + offset;
|
|
510
|
-
|
|
511
426
|
while (targetIndex < 0) {
|
|
512
427
|
targetIndex += list.length;
|
|
513
428
|
}
|
|
514
|
-
|
|
515
429
|
if (offset) {
|
|
516
430
|
return this.getNodeByIndex(targetIndex);
|
|
517
431
|
}
|
|
518
432
|
}
|
|
519
|
-
|
|
520
433
|
return refNode;
|
|
521
434
|
}
|
|
522
|
-
|
|
523
435
|
render() {
|
|
524
436
|
return this.isWheelMode() ? this.renderInfiniteList() : this.renderNormalList();
|
|
525
437
|
}
|
|
526
|
-
|
|
527
438
|
}
|
|
528
439
|
ScrollItem.propTypes = {
|
|
529
440
|
mode: PropTypes.oneOf(strings.MODE),
|