@douyinfe/semi-foundation 2.36.0-alpha.0 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/calendar.scss +1 -1
- package/calendar/foundation.ts +2 -1
- package/datePicker/_utils/getYears.ts +8 -4
- package/datePicker/foundation.ts +1 -1
- package/datePicker/monthsGridFoundation.ts +2 -1
- package/datePicker/yearAndMonthFoundation.ts +3 -1
- package/lib/cjs/anchor/constants.js +0 -2
- package/lib/cjs/anchor/foundation.js +10 -73
- package/lib/cjs/anchor/linkFoundation.js +4 -16
- package/lib/cjs/autoComplete/constants.js +0 -3
- package/lib/cjs/autoComplete/foundation.d.ts +1 -1
- package/lib/cjs/autoComplete/foundation.js +25 -139
- package/lib/cjs/autoComplete/optionFoundation.js +4 -14
- package/lib/cjs/avatar/constants.js +0 -2
- package/lib/cjs/avatar/foundation.js +0 -17
- package/lib/cjs/backtop/constants.js +0 -2
- package/lib/cjs/backtop/foundation.d.ts +2 -2
- package/lib/cjs/backtop/foundation.js +0 -21
- package/lib/cjs/badge/constants.js +0 -2
- package/lib/cjs/banner/constants.js +0 -2
- package/lib/cjs/banner/foundation.js +0 -7
- package/lib/cjs/base/constants.js +2 -4
- package/lib/cjs/base/foundation.d.ts +1 -1
- package/lib/cjs/base/foundation.js +12 -46
- package/lib/cjs/base/index.js +0 -3
- package/lib/cjs/breadcrumb/constants.js +0 -2
- package/lib/cjs/breadcrumb/foundation.js +1 -12
- package/lib/cjs/breadcrumb/itemFoundation.js +0 -7
- package/lib/cjs/button/constants.js +0 -2
- package/lib/cjs/calendar/calendar.css +2 -2
- package/lib/cjs/calendar/calendar.scss +1 -1
- package/lib/cjs/calendar/constants.js +0 -2
- package/lib/cjs/calendar/eventUtil.d.ts +1 -1
- package/lib/cjs/calendar/eventUtil.js +2 -74
- package/lib/cjs/calendar/foundation.d.ts +2 -2
- package/lib/cjs/calendar/foundation.js +28 -123
- package/lib/cjs/card/constants.js +0 -2
- package/lib/cjs/carousel/constants.js +0 -2
- package/lib/cjs/carousel/foundation.js +2 -52
- package/lib/cjs/cascader/constants.js +0 -3
- package/lib/cjs/cascader/foundation.d.ts +4 -4
- package/lib/cjs/cascader/foundation.js +28 -242
- package/lib/cjs/cascader/util.js +6 -24
- package/lib/cjs/checkbox/checkboxFoundation.js +2 -38
- package/lib/cjs/checkbox/checkboxGroupFoundation.js +2 -23
- package/lib/cjs/checkbox/constants.js +0 -2
- package/lib/cjs/collapse/constants.js +0 -2
- package/lib/cjs/collapse/foundation.d.ts +1 -1
- package/lib/cjs/collapse/foundation.js +2 -13
- package/lib/cjs/collapsible/constants.js +0 -2
- package/lib/cjs/collapsible/foundation.js +0 -9
- package/lib/cjs/datePicker/_utils/formatter.js +4 -10
- package/lib/cjs/datePicker/_utils/getDayOfWeek.d.ts +1 -1
- package/lib/cjs/datePicker/_utils/getDayOfWeek.js +0 -4
- package/lib/cjs/datePicker/_utils/getDefaultFormatToken.js +0 -5
- package/lib/cjs/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
- package/lib/cjs/datePicker/_utils/getDefaultPickerDate.js +0 -15
- package/lib/cjs/datePicker/_utils/getFullDateOffset.js +0 -7
- package/lib/cjs/datePicker/_utils/getInsetInputFormatToken.js +0 -5
- package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +0 -6
- package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +1 -1
- package/lib/cjs/datePicker/_utils/getMonthTable.js +3 -14
- package/lib/cjs/datePicker/_utils/getMonthsInYear.js +0 -2
- package/lib/cjs/datePicker/_utils/getYears.d.ts +1 -1
- package/lib/cjs/datePicker/_utils/getYears.js +9 -7
- package/lib/cjs/datePicker/_utils/index.js +0 -13
- package/lib/cjs/datePicker/_utils/isAfter.js +0 -4
- package/lib/cjs/datePicker/_utils/isBefore.js +0 -4
- package/lib/cjs/datePicker/_utils/isBetween.js +0 -4
- package/lib/cjs/datePicker/_utils/isDate.js +0 -1
- package/lib/cjs/datePicker/_utils/isSameDay.js +0 -4
- package/lib/cjs/datePicker/_utils/isTimestamp.js +0 -4
- package/lib/cjs/datePicker/_utils/isUnixTimestamp.js +0 -4
- package/lib/cjs/datePicker/_utils/isValidDate.js +0 -1
- package/lib/cjs/datePicker/_utils/isValidTimeZone.js +0 -1
- package/lib/cjs/datePicker/_utils/isWithinInterval.js +0 -4
- package/lib/cjs/datePicker/_utils/parser.js +0 -10
- package/lib/cjs/datePicker/constants.js +0 -3
- package/lib/cjs/datePicker/foundation.d.ts +25 -25
- package/lib/cjs/datePicker/foundation.js +22 -333
- package/lib/cjs/datePicker/inputFoundation.d.ts +3 -3
- package/lib/cjs/datePicker/inputFoundation.js +5 -86
- package/lib/cjs/datePicker/monthFoundation.d.ts +1 -1
- package/lib/cjs/datePicker/monthFoundation.js +3 -28
- package/lib/cjs/datePicker/monthsGridFoundation.d.ts +5 -4
- package/lib/cjs/datePicker/monthsGridFoundation.js +43 -238
- package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +3 -1
- package/lib/cjs/datePicker/yearAndMonthFoundation.js +12 -38
- package/lib/cjs/descriptions/constants.js +0 -2
- package/lib/cjs/divider/constants.js +0 -2
- package/lib/cjs/dropdown/constants.js +0 -3
- package/lib/cjs/dropdown/foundation.js +4 -23
- package/lib/cjs/dropdown/menuFoundation.js +8 -27
- package/lib/cjs/empty/constants.js +0 -2
- package/lib/cjs/form/constants.js +0 -2
- package/lib/cjs/form/foundation.js +75 -206
- package/lib/cjs/form/interface.d.ts +5 -5
- package/lib/cjs/form/utils.js +47 -77
- package/lib/cjs/grid/constants.js +0 -2
- package/lib/cjs/highlight/constants.js +0 -2
- package/lib/cjs/icons/constants.js +0 -2
- package/lib/cjs/image/constants.js +0 -2
- package/lib/cjs/image/imageFoundation.js +4 -18
- package/lib/cjs/image/previewFooterFoundation.js +0 -13
- package/lib/cjs/image/previewFoundation.js +0 -11
- package/lib/cjs/image/previewImageFoundation.js +6 -80
- package/lib/cjs/image/previewInnerFoundation.js +12 -77
- package/lib/cjs/image/utils.js +0 -14
- package/lib/cjs/input/constants.js +0 -2
- package/lib/cjs/input/foundation.js +17 -101
- package/lib/cjs/input/textareaFoundation.js +20 -85
- package/lib/cjs/input/util/calculateNodeHeight.js +6 -18
- package/lib/cjs/input/util/getSizingData.js +7 -11
- package/lib/cjs/inputNumber/constants.js +0 -2
- package/lib/cjs/inputNumber/foundation.js +29 -192
- package/lib/cjs/layout/constants.js +0 -2
- package/lib/cjs/list/constants.js +0 -2
- package/lib/cjs/modal/constants.js +0 -2
- package/lib/cjs/modal/modalContentFoundation.js +0 -20
- package/lib/cjs/modal/modalFoundation.d.ts +2 -2
- package/lib/cjs/modal/modalFoundation.js +2 -22
- package/lib/cjs/navigation/NavItem.js +0 -10
- package/lib/cjs/navigation/constants.js +0 -3
- package/lib/cjs/navigation/foundation.js +3 -67
- package/lib/cjs/navigation/itemFoundation.d.ts +0 -2
- package/lib/cjs/navigation/itemFoundation.js +3 -21
- package/lib/cjs/navigation/navigation.css +7 -77
- package/lib/cjs/navigation/navigation.scss +7 -119
- package/lib/cjs/navigation/subNavFoundation.d.ts +0 -2
- package/lib/cjs/navigation/subNavFoundation.js +4 -40
- package/lib/cjs/notification/constants.js +0 -3
- package/lib/cjs/notification/notificationFoundation.d.ts +3 -3
- package/lib/cjs/notification/notificationFoundation.js +0 -16
- package/lib/cjs/notification/notificationListFoundation.js +7 -17
- package/lib/cjs/overflowList/constants.js +0 -2
- package/lib/cjs/overflowList/foundation.js +11 -41
- package/lib/cjs/pagination/constants.js +0 -2
- package/lib/cjs/pagination/foundation.d.ts +3 -3
- package/lib/cjs/pagination/foundation.js +21 -90
- package/lib/cjs/popconfirm/constants.js +0 -2
- package/lib/cjs/popconfirm/popconfirmFoundation.js +1 -21
- package/lib/cjs/popover/constants.js +0 -3
- package/lib/cjs/progress/constants.js +0 -2
- package/lib/cjs/progress/generates.d.ts +2 -2
- package/lib/cjs/progress/generates.js +19 -60
- package/lib/cjs/radio/constants.js +0 -2
- package/lib/cjs/radio/radioFoundation.js +0 -14
- package/lib/cjs/radio/radioGroupFoundation.js +4 -23
- package/lib/cjs/radio/radioInnerFoundation.js +2 -19
- package/lib/cjs/rating/constants.js +0 -2
- package/lib/cjs/rating/foundation.js +11 -61
- package/lib/cjs/scrollList/constants.js +0 -2
- package/lib/cjs/scrollList/foundation.js +0 -4
- package/lib/cjs/scrollList/itemFoundation.js +8 -61
- package/lib/cjs/scrollList/scrollTo.js +2 -5
- package/lib/cjs/select/constants.js +0 -3
- package/lib/cjs/select/foundation.d.ts +2 -2
- package/lib/cjs/select/foundation.js +122 -425
- package/lib/cjs/select/optionFoundation.js +4 -14
- package/lib/cjs/sideSheet/constants.js +0 -2
- package/lib/cjs/sideSheet/sideSheetFoundation.js +0 -18
- package/lib/cjs/skeleton/constants.js +0 -2
- package/lib/cjs/slider/constants.js +0 -2
- package/lib/cjs/slider/foundation.d.ts +1 -1
- package/lib/cjs/slider/foundation.js +25 -204
- package/lib/cjs/space/constants.js +0 -2
- package/lib/cjs/spin/constants.js +0 -2
- package/lib/cjs/spin/foundation.js +3 -13
- package/lib/cjs/steps/bacisSteps.scss +238 -287
- package/lib/cjs/steps/constants.js +0 -2
- package/lib/cjs/steps/fillSteps.scss +142 -153
- package/lib/cjs/steps/navSteps.scss +40 -61
- package/lib/cjs/steps/steps.css +17 -381
- package/lib/cjs/switch/constants.js +0 -2
- package/lib/cjs/switch/foundation.js +2 -18
- package/lib/cjs/table/bodyFoundation.js +2 -34
- package/lib/cjs/table/cellFoundation.js +0 -5
- package/lib/cjs/table/constants.js +7 -8
- package/lib/cjs/table/foundation.d.ts +17 -14
- package/lib/cjs/table/foundation.js +72 -302
- package/lib/cjs/table/table.css +6 -0
- package/lib/cjs/table/table.scss +12 -0
- package/lib/cjs/table/tableRowFoundation.js +0 -11
- package/lib/cjs/table/tableSelectionCellFoundation.js +0 -6
- package/lib/cjs/table/utils.d.ts +2 -2
- package/lib/cjs/table/utils.js +5 -118
- package/lib/cjs/tabs/constants.js +0 -2
- package/lib/cjs/tabs/foundation.js +2 -40
- package/lib/cjs/tabs/tabs.css +14 -14
- package/lib/cjs/tabs/tabs.scss +16 -14
- package/lib/cjs/tag/constants.js +1 -2
- package/lib/cjs/tagInput/constants.js +0 -2
- package/lib/cjs/tagInput/foundation.d.ts +4 -4
- package/lib/cjs/tagInput/foundation.js +4 -94
- package/lib/cjs/tagInput/utils/getSplitedArray.js +0 -11
- package/lib/cjs/timePicker/ComboxFoundation.js +4 -39
- package/lib/cjs/timePicker/constants.js +0 -3
- package/lib/cjs/timePicker/foundation.d.ts +2 -2
- package/lib/cjs/timePicker/foundation.js +6 -102
- package/lib/cjs/timePicker/inputFoundation.js +6 -25
- package/lib/cjs/timePicker/utils/index.js +6 -45
- package/lib/cjs/timePicker/utils/localeDate.js +0 -10
- package/lib/cjs/timeline/constants.js +0 -2
- package/lib/cjs/timeline/timeline.css +0 -36
- package/lib/cjs/timeline/timeline.scss +46 -96
- package/lib/cjs/toast/constants.js +0 -3
- package/lib/cjs/toast/toastFoundation.d.ts +3 -3
- package/lib/cjs/toast/toastFoundation.js +0 -14
- package/lib/cjs/toast/toastListFoundation.js +4 -22
- package/lib/cjs/tooltip/constants.js +0 -2
- package/lib/cjs/tooltip/foundation.d.ts +1 -1
- package/lib/cjs/tooltip/foundation.js +63 -291
- package/lib/cjs/transfer/constants.js +0 -2
- package/lib/cjs/transfer/foundation.d.ts +1 -1
- package/lib/cjs/transfer/foundation.js +4 -68
- package/lib/cjs/transfer/transferUtils.js +5 -27
- package/lib/cjs/tree/constants.js +0 -2
- package/lib/cjs/tree/foundation.d.ts +3 -3
- package/lib/cjs/tree/foundation.js +34 -150
- package/lib/cjs/tree/treeUtil.js +54 -173
- package/lib/cjs/treeSelect/constants.js +0 -2
- package/lib/cjs/treeSelect/foundation.d.ts +7 -7
- package/lib/cjs/treeSelect/foundation.js +18 -192
- package/lib/cjs/typography/constants.d.ts +1 -0
- package/lib/cjs/typography/constants.js +1 -2
- package/lib/cjs/typography/formatNumeral.d.ts +3 -3
- package/lib/cjs/typography/formatNumeral.js +16 -32
- package/lib/cjs/typography/typography.css +120 -0
- package/lib/cjs/typography/typography.scss +131 -6
- package/lib/cjs/typography/variables.scss +48 -0
- package/lib/cjs/upload/constants.js +0 -2
- package/lib/cjs/upload/foundation.d.ts +5 -5
- package/lib/cjs/upload/foundation.js +36 -245
- package/lib/cjs/upload/utils.js +10 -29
- package/lib/cjs/utils/Event.js +2 -21
- package/lib/cjs/utils/FocusHandle.d.ts +1 -1
- package/lib/cjs/utils/FocusHandle.js +6 -35
- package/lib/cjs/utils/Logger.js +0 -21
- package/lib/cjs/utils/Store.js +0 -10
- package/lib/cjs/utils/a11y.js +18 -43
- package/lib/cjs/utils/array.d.ts +1 -1
- package/lib/cjs/utils/array.js +0 -7
- package/lib/cjs/utils/arrayMove.js +0 -1
- package/lib/cjs/utils/classnames.js +0 -12
- package/lib/cjs/utils/date-fns-extra.js +0 -35
- package/lib/cjs/utils/dom.d.ts +1 -1
- package/lib/cjs/utils/dom.js +0 -13
- package/lib/cjs/utils/function.js +0 -1
- package/lib/cjs/utils/getDataAttr.js +0 -2
- package/lib/cjs/utils/getHighlight.js +5 -26
- package/lib/cjs/utils/getMotionObjFromProps.js +0 -12
- package/lib/cjs/utils/index.js +0 -4
- package/lib/cjs/utils/isBothNaN.js +0 -2
- package/lib/cjs/utils/isElement.js +0 -1
- package/lib/cjs/utils/isEnterPress.js +0 -5
- package/lib/cjs/utils/isEscPress.js +0 -5
- package/lib/cjs/utils/isNullOrUndefined.js +0 -1
- package/lib/cjs/utils/isNumber.js +0 -1
- package/lib/cjs/utils/isObject.js +0 -1
- package/lib/cjs/utils/isPromise.js +0 -3
- package/lib/cjs/utils/isString.js +0 -1
- package/lib/cjs/utils/keyCode.js +0 -105
- package/lib/cjs/utils/log.js +0 -5
- package/lib/cjs/utils/number.js +0 -2
- package/lib/cjs/utils/object.d.ts +4 -4
- package/lib/cjs/utils/object.js +12 -34
- package/lib/cjs/utils/set.js +0 -8
- package/lib/cjs/utils/shallowEqualObjects.js +0 -7
- package/lib/cjs/utils/touchPolyfill.js +0 -7
- package/lib/cjs/utils/type.d.ts +3 -3
- package/lib/cjs/utils/uuid.js +2 -9
- package/lib/cjs/utils/warning.js +0 -1
- package/lib/es/anchor/foundation.js +10 -66
- package/lib/es/anchor/linkFoundation.js +4 -12
- package/lib/es/autoComplete/foundation.d.ts +1 -1
- package/lib/es/autoComplete/foundation.js +24 -132
- package/lib/es/autoComplete/optionFoundation.js +4 -10
- package/lib/es/avatar/foundation.js +0 -12
- package/lib/es/backtop/foundation.d.ts +2 -2
- package/lib/es/backtop/foundation.js +0 -16
- package/lib/es/banner/foundation.js +0 -3
- package/lib/es/base/constants.js +2 -2
- package/lib/es/base/foundation.d.ts +1 -1
- package/lib/es/base/foundation.js +11 -44
- package/lib/es/breadcrumb/foundation.js +0 -7
- package/lib/es/breadcrumb/itemFoundation.js +0 -3
- package/lib/es/calendar/calendar.css +2 -2
- package/lib/es/calendar/calendar.scss +1 -1
- package/lib/es/calendar/eventUtil.d.ts +1 -1
- package/lib/es/calendar/eventUtil.js +2 -36
- package/lib/es/calendar/foundation.d.ts +2 -2
- package/lib/es/calendar/foundation.js +28 -117
- package/lib/es/carousel/foundation.js +2 -47
- package/lib/es/cascader/constants.js +0 -1
- package/lib/es/cascader/foundation.d.ts +4 -4
- package/lib/es/cascader/foundation.js +30 -226
- package/lib/es/cascader/util.js +6 -15
- package/lib/es/checkbox/checkboxFoundation.js +2 -34
- package/lib/es/checkbox/checkboxGroupFoundation.js +2 -20
- package/lib/es/collapse/foundation.d.ts +1 -1
- package/lib/es/collapse/foundation.js +2 -9
- package/lib/es/collapsible/foundation.js +0 -7
- package/lib/es/datePicker/_utils/formatter.js +4 -8
- package/lib/es/datePicker/_utils/getDayOfWeek.d.ts +1 -1
- package/lib/es/datePicker/_utils/getDayOfWeek.js +0 -3
- package/lib/es/datePicker/_utils/getDefaultFormatToken.js +0 -2
- package/lib/es/datePicker/_utils/getDefaultPickerDate.d.ts +1 -1
- package/lib/es/datePicker/_utils/getDefaultPickerDate.js +0 -10
- package/lib/es/datePicker/_utils/getFullDateOffset.js +0 -3
- package/lib/es/datePicker/_utils/getInsetInputFormatToken.js +0 -4
- package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +0 -5
- package/lib/es/datePicker/_utils/getMonthTable.d.ts +1 -1
- package/lib/es/datePicker/_utils/getMonthTable.js +4 -14
- package/lib/es/datePicker/_utils/getMonthsInYear.js +0 -1
- package/lib/es/datePicker/_utils/getYears.d.ts +1 -1
- package/lib/es/datePicker/_utils/getYears.js +9 -6
- package/lib/es/datePicker/_utils/isBetween.js +0 -1
- package/lib/es/datePicker/_utils/parser.js +0 -8
- package/lib/es/datePicker/foundation.d.ts +25 -25
- package/lib/es/datePicker/foundation.js +22 -318
- package/lib/es/datePicker/inputFoundation.d.ts +3 -3
- package/lib/es/datePicker/inputFoundation.js +5 -74
- package/lib/es/datePicker/monthFoundation.d.ts +1 -1
- package/lib/es/datePicker/monthFoundation.js +4 -22
- package/lib/es/datePicker/monthsGridFoundation.d.ts +5 -4
- package/lib/es/datePicker/monthsGridFoundation.js +42 -222
- package/lib/es/datePicker/yearAndMonthFoundation.d.ts +3 -1
- package/lib/es/datePicker/yearAndMonthFoundation.js +12 -36
- package/lib/es/dropdown/foundation.js +4 -18
- package/lib/es/dropdown/menuFoundation.js +8 -22
- package/lib/es/form/foundation.js +74 -195
- package/lib/es/form/interface.d.ts +5 -5
- package/lib/es/form/utils.js +47 -70
- package/lib/es/image/imageFoundation.js +4 -13
- package/lib/es/image/previewFooterFoundation.js +0 -9
- package/lib/es/image/previewFoundation.js +0 -7
- package/lib/es/image/previewImageFoundation.js +6 -72
- package/lib/es/image/previewInnerFoundation.js +12 -70
- package/lib/es/image/utils.js +0 -6
- package/lib/es/input/foundation.js +17 -93
- package/lib/es/input/textareaFoundation.js +20 -75
- package/lib/es/input/util/calculateNodeHeight.js +6 -18
- package/lib/es/input/util/getSizingData.js +7 -11
- package/lib/es/inputNumber/foundation.js +28 -183
- package/lib/es/modal/modalContentFoundation.js +0 -15
- package/lib/es/modal/modalFoundation.d.ts +2 -2
- package/lib/es/modal/modalFoundation.js +2 -17
- package/lib/es/navigation/NavItem.js +0 -6
- package/lib/es/navigation/constants.js +1 -1
- package/lib/es/navigation/foundation.js +2 -60
- package/lib/es/navigation/itemFoundation.d.ts +0 -2
- package/lib/es/navigation/itemFoundation.js +3 -18
- package/lib/es/navigation/navigation.css +7 -77
- package/lib/es/navigation/navigation.scss +7 -119
- package/lib/es/navigation/subNavFoundation.d.ts +0 -2
- package/lib/es/navigation/subNavFoundation.js +4 -36
- package/lib/es/notification/constants.js +1 -1
- package/lib/es/notification/notificationFoundation.d.ts +3 -3
- package/lib/es/notification/notificationFoundation.js +0 -11
- package/lib/es/notification/notificationListFoundation.js +6 -13
- package/lib/es/overflowList/foundation.js +11 -37
- package/lib/es/pagination/foundation.d.ts +3 -3
- package/lib/es/pagination/foundation.js +20 -87
- package/lib/es/popconfirm/popconfirmFoundation.js +1 -16
- package/lib/es/progress/generates.d.ts +2 -2
- package/lib/es/progress/generates.js +19 -59
- package/lib/es/radio/radioFoundation.js +0 -9
- package/lib/es/radio/radioGroupFoundation.js +4 -19
- package/lib/es/radio/radioInnerFoundation.js +2 -15
- package/lib/es/rating/foundation.js +10 -54
- package/lib/es/scrollList/itemFoundation.js +8 -60
- package/lib/es/scrollList/scrollTo.js +2 -4
- package/lib/es/select/foundation.d.ts +2 -2
- package/lib/es/select/foundation.js +122 -411
- package/lib/es/select/optionFoundation.js +4 -10
- package/lib/es/sideSheet/sideSheetFoundation.js +0 -12
- package/lib/es/slider/foundation.d.ts +1 -1
- package/lib/es/slider/foundation.js +24 -197
- package/lib/es/spin/foundation.js +3 -11
- package/lib/es/steps/bacisSteps.scss +238 -287
- package/lib/es/steps/fillSteps.scss +142 -153
- package/lib/es/steps/navSteps.scss +40 -61
- package/lib/es/steps/steps.css +17 -381
- package/lib/es/switch/foundation.js +2 -13
- package/lib/es/table/bodyFoundation.js +2 -25
- package/lib/es/table/cellFoundation.js +0 -1
- package/lib/es/table/constants.js +6 -6
- package/lib/es/table/foundation.d.ts +17 -14
- package/lib/es/table/foundation.js +72 -309
- package/lib/es/table/table.css +6 -0
- package/lib/es/table/table.scss +12 -0
- package/lib/es/table/tableRowFoundation.js +2 -9
- package/lib/es/table/tableSelectionCellFoundation.js +0 -2
- package/lib/es/table/utils.d.ts +2 -2
- package/lib/es/table/utils.js +5 -81
- package/lib/es/tabs/foundation.js +2 -35
- package/lib/es/tabs/tabs.css +14 -14
- package/lib/es/tabs/tabs.scss +16 -14
- package/lib/es/tagInput/foundation.d.ts +4 -4
- package/lib/es/tagInput/foundation.js +4 -84
- package/lib/es/tagInput/utils/getSplitedArray.js +0 -7
- package/lib/es/timePicker/ComboxFoundation.js +4 -30
- package/lib/es/timePicker/foundation.d.ts +2 -2
- package/lib/es/timePicker/foundation.js +7 -95
- package/lib/es/timePicker/inputFoundation.js +6 -22
- package/lib/es/timePicker/utils/index.js +6 -25
- package/lib/es/timePicker/utils/localeDate.js +0 -8
- package/lib/es/timeline/timeline.css +0 -36
- package/lib/es/timeline/timeline.scss +46 -96
- package/lib/es/toast/constants.js +1 -1
- package/lib/es/toast/toastFoundation.d.ts +3 -3
- package/lib/es/toast/toastFoundation.js +0 -9
- package/lib/es/toast/toastListFoundation.js +4 -18
- package/lib/es/tooltip/foundation.d.ts +1 -1
- package/lib/es/tooltip/foundation.js +63 -288
- package/lib/es/transfer/foundation.d.ts +1 -1
- package/lib/es/transfer/foundation.js +6 -62
- package/lib/es/transfer/transferUtils.js +5 -21
- package/lib/es/tree/foundation.d.ts +3 -3
- package/lib/es/tree/foundation.js +34 -143
- package/lib/es/tree/treeUtil.js +54 -139
- package/lib/es/treeSelect/foundation.d.ts +7 -7
- package/lib/es/treeSelect/foundation.js +20 -179
- package/lib/es/typography/constants.d.ts +1 -0
- package/lib/es/typography/constants.js +1 -0
- package/lib/es/typography/formatNumeral.d.ts +3 -3
- package/lib/es/typography/formatNumeral.js +16 -29
- package/lib/es/typography/typography.css +120 -0
- package/lib/es/typography/typography.scss +131 -6
- package/lib/es/typography/variables.scss +48 -0
- package/lib/es/upload/foundation.d.ts +5 -5
- package/lib/es/upload/foundation.js +36 -238
- package/lib/es/upload/utils.js +10 -24
- package/lib/es/utils/Event.js +2 -17
- package/lib/es/utils/FocusHandle.d.ts +1 -1
- package/lib/es/utils/FocusHandle.js +6 -32
- package/lib/es/utils/Logger.js +0 -20
- package/lib/es/utils/Store.js +0 -9
- package/lib/es/utils/a11y.js +18 -31
- package/lib/es/utils/array.d.ts +1 -1
- package/lib/es/utils/array.js +0 -5
- package/lib/es/utils/classnames.js +0 -10
- package/lib/es/utils/date-fns-extra.js +0 -27
- package/lib/es/utils/dom.d.ts +1 -1
- package/lib/es/utils/dom.js +0 -9
- package/lib/es/utils/getDataAttr.js +0 -1
- package/lib/es/utils/getHighlight.js +5 -26
- package/lib/es/utils/getMotionObjFromProps.js +0 -8
- package/lib/es/utils/isBothNaN.js +0 -1
- package/lib/es/utils/isEnterPress.js +0 -2
- package/lib/es/utils/isEscPress.js +0 -2
- package/lib/es/utils/keyCode.js +0 -104
- package/lib/es/utils/log.js +0 -3
- package/lib/es/utils/object.d.ts +4 -4
- package/lib/es/utils/object.js +12 -28
- package/lib/es/utils/set.js +0 -5
- package/lib/es/utils/shallowEqualObjects.js +0 -6
- package/lib/es/utils/touchPolyfill.js +0 -5
- package/lib/es/utils/type.d.ts +3 -3
- package/lib/es/utils/uuid.js +2 -8
- package/navigation/itemFoundation.ts +1 -3
- package/navigation/navigation.scss +7 -119
- package/navigation/subNavFoundation.ts +1 -3
- package/overflowList/foundation.ts +4 -4
- package/package.json +2 -2
- package/steps/bacisSteps.scss +238 -287
- package/steps/fillSteps.scss +142 -153
- package/steps/navSteps.scss +40 -61
- package/table/foundation.ts +8 -10
- package/table/table.scss +12 -0
- package/tabs/tabs.scss +16 -14
- package/timePicker/foundation.ts +4 -6
- package/timeline/timeline.scss +46 -96
- package/typography/constants.ts +1 -0
- package/typography/typography.scss +131 -6
- package/typography/variables.scss +48 -0
- package/upload/foundation.ts +8 -8
|
@@ -3,12 +3,10 @@ import warning from '../utils/warning';
|
|
|
3
3
|
export default class RadioFoundation extends BaseFoundation {
|
|
4
4
|
constructor() {
|
|
5
5
|
super(...arguments);
|
|
6
|
-
|
|
7
6
|
this.handleFocusVisible = event => {
|
|
8
7
|
const {
|
|
9
8
|
target
|
|
10
9
|
} = event;
|
|
11
|
-
|
|
12
10
|
try {
|
|
13
11
|
if (target.matches(':focus-visible')) {
|
|
14
12
|
this._adapter.setFocusVisible(true);
|
|
@@ -17,12 +15,10 @@ export default class RadioFoundation extends BaseFoundation {
|
|
|
17
15
|
warning(true, 'Warning: [Semi Radio] The current browser does not support the focus-visible');
|
|
18
16
|
}
|
|
19
17
|
};
|
|
20
|
-
|
|
21
18
|
this.handleBlur = () => {
|
|
22
19
|
this._adapter.setFocusVisible(false);
|
|
23
20
|
};
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
init() {
|
|
27
23
|
const {
|
|
28
24
|
children,
|
|
@@ -30,22 +26,17 @@ export default class RadioFoundation extends BaseFoundation {
|
|
|
30
26
|
extraId,
|
|
31
27
|
addonId
|
|
32
28
|
} = this._adapter.getProps();
|
|
33
|
-
|
|
34
29
|
if (children && !addonId) {
|
|
35
30
|
this._adapter.setAddonId();
|
|
36
31
|
}
|
|
37
|
-
|
|
38
32
|
if (extra && !extraId) {
|
|
39
33
|
this._adapter.setExtraId();
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
|
-
|
|
43
36
|
setHover(hover) {
|
|
44
37
|
this._adapter.setHover(hover);
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
setChecked(checked) {
|
|
48
40
|
this._adapter.setChecked(checked);
|
|
49
41
|
}
|
|
50
|
-
|
|
51
42
|
}
|
|
@@ -3,29 +3,23 @@ export default class RadioGroupFoundation extends BaseFoundation {
|
|
|
3
3
|
constructor(adapter) {
|
|
4
4
|
super(Object.assign({}, adapter));
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
init() {
|
|
8
7
|
const displayValue = this._getDisplayValue();
|
|
9
|
-
|
|
10
8
|
this._setValue(displayValue);
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
_getDisplayValue() {
|
|
14
11
|
const {
|
|
15
12
|
value,
|
|
16
13
|
defaultValue
|
|
17
14
|
} = this.getProps();
|
|
18
15
|
let displayValue;
|
|
19
|
-
|
|
20
16
|
if ('value' in this.getProps()) {
|
|
21
17
|
displayValue = value;
|
|
22
18
|
} else if ('defaultValue' in this.getProps()) {
|
|
23
19
|
displayValue = defaultValue;
|
|
24
20
|
}
|
|
25
|
-
|
|
26
21
|
return displayValue;
|
|
27
22
|
}
|
|
28
|
-
|
|
29
23
|
handleChange(evt) {
|
|
30
24
|
const mode = this.getProp('mode');
|
|
31
25
|
const lastValue = this.getState('value');
|
|
@@ -33,19 +27,15 @@ export default class RadioGroupFoundation extends BaseFoundation {
|
|
|
33
27
|
checked,
|
|
34
28
|
value
|
|
35
29
|
} = evt.target;
|
|
36
|
-
|
|
37
30
|
const isControlledComponent = this._adapter.isInProps('value');
|
|
38
|
-
|
|
39
31
|
const cbValue = Object.assign(Object.assign({}, evt), {
|
|
40
32
|
target: Object.assign(Object.assign({}, evt.target), {
|
|
41
33
|
value
|
|
42
34
|
})
|
|
43
35
|
});
|
|
44
|
-
|
|
45
36
|
if (mode === 'advanced' && !checked) {
|
|
46
37
|
cbValue.target.value = undefined;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
if (!isControlledComponent) {
|
|
50
40
|
if (mode === 'advanced' && !checked) {
|
|
51
41
|
this._setValue(undefined);
|
|
@@ -53,22 +43,17 @@ export default class RadioGroupFoundation extends BaseFoundation {
|
|
|
53
43
|
this._setValue(value);
|
|
54
44
|
}
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
if (mode === 'advanced' || lastValue !== value) {
|
|
58
47
|
this._adapter.notifyChange(cbValue);
|
|
59
48
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
49
|
+
}
|
|
50
|
+
// call when prop.value change
|
|
63
51
|
handlePropValueChange(propValue) {
|
|
64
52
|
this._setValue(propValue);
|
|
65
53
|
}
|
|
66
|
-
|
|
67
54
|
_setValue(value) {
|
|
68
55
|
this._adapter.setValue(value);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
56
|
+
}
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
72
58
|
destroy() {}
|
|
73
|
-
|
|
74
59
|
}
|
|
@@ -3,37 +3,28 @@ export default class RadioInnerFoundation extends BaseFoundation {
|
|
|
3
3
|
constructor(adapter) {
|
|
4
4
|
super(Object.assign({}, adapter));
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
init() {
|
|
8
7
|
const checked = this._adapter.getProp('checked');
|
|
9
|
-
|
|
10
8
|
const defaultChecked = this._adapter.getProp('defaultChecked');
|
|
11
|
-
|
|
12
9
|
this.setChecked(checked || defaultChecked);
|
|
13
10
|
}
|
|
14
|
-
|
|
15
11
|
setChecked(checked) {
|
|
16
12
|
this._adapter.setNativeControlChecked(checked);
|
|
17
13
|
}
|
|
18
|
-
|
|
19
14
|
getChecked() {
|
|
20
15
|
return this._adapter.getProp('checked');
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
handleChange(e) {
|
|
24
18
|
const isControlledMode = ('checked' in this.getProps());
|
|
25
19
|
const {
|
|
26
20
|
checked
|
|
27
21
|
} = e.target;
|
|
28
|
-
|
|
29
22
|
const stopPropagation = () => {
|
|
30
23
|
e.stopPropagation();
|
|
31
24
|
};
|
|
32
|
-
|
|
33
25
|
const preventDefault = () => {
|
|
34
26
|
e.preventDefault();
|
|
35
27
|
};
|
|
36
|
-
|
|
37
28
|
const cbValue = {
|
|
38
29
|
target: Object.assign(Object.assign({}, this.getProps()), {
|
|
39
30
|
checked
|
|
@@ -41,17 +32,13 @@ export default class RadioInnerFoundation extends BaseFoundation {
|
|
|
41
32
|
stopPropagation,
|
|
42
33
|
preventDefault
|
|
43
34
|
};
|
|
44
|
-
|
|
45
35
|
if (isControlledMode) {
|
|
46
36
|
this._adapter.notifyChange(cbValue);
|
|
47
37
|
} else {
|
|
48
38
|
this.setChecked(checked);
|
|
49
|
-
|
|
50
39
|
this._adapter.notifyChange(cbValue);
|
|
51
40
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
41
|
+
}
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
55
43
|
destroy() {}
|
|
56
|
-
|
|
57
44
|
}
|
|
@@ -4,15 +4,14 @@ import warning from '../utils/warning';
|
|
|
4
4
|
export default class RatingFoundation extends BaseFoundation {
|
|
5
5
|
constructor(adapter) {
|
|
6
6
|
super(Object.assign(Object.assign({}, RatingFoundation.defaultAdapter), adapter));
|
|
7
|
-
|
|
8
7
|
this.handleStarFocusVisible = event => {
|
|
9
8
|
const {
|
|
10
9
|
target
|
|
11
10
|
} = event;
|
|
12
11
|
const {
|
|
13
12
|
count
|
|
14
|
-
} = this.getProps();
|
|
15
|
-
|
|
13
|
+
} = this.getProps();
|
|
14
|
+
// when rating 0 is focus visible
|
|
16
15
|
try {
|
|
17
16
|
if (target.matches(':focus-visible')) {
|
|
18
17
|
this._adapter.setEmptyStarFocusVisible(true);
|
|
@@ -20,49 +19,40 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
20
19
|
} catch (error) {
|
|
21
20
|
warning(true, 'Warning: [Semi Rating] The current browser does not support the focus-visible');
|
|
22
21
|
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
};
|
|
23
|
+
// e: FocusEvent
|
|
26
24
|
this.handleStarBlur = e => {
|
|
27
25
|
const {
|
|
28
26
|
emptyStarFocusVisible
|
|
29
27
|
} = this.getStates();
|
|
30
|
-
|
|
31
28
|
if (emptyStarFocusVisible) {
|
|
32
29
|
this._adapter.setEmptyStarFocusVisible(false);
|
|
33
30
|
}
|
|
34
31
|
};
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
init() {
|
|
38
34
|
const {
|
|
39
35
|
autoFocus,
|
|
40
36
|
disabled
|
|
41
37
|
} = this.getProps();
|
|
42
|
-
|
|
43
38
|
if (autoFocus && !disabled) {
|
|
44
39
|
this._adapter.focus();
|
|
45
40
|
}
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
_getScroll(w, top) {
|
|
49
43
|
let ret = top ? w.pageYOffset : w.pageXOffset;
|
|
50
44
|
const method = top ? 'scrollTop' : 'scrollLeft';
|
|
51
|
-
|
|
52
45
|
if (typeof ret !== 'number') {
|
|
53
|
-
const d = w.document;
|
|
54
|
-
|
|
46
|
+
const d = w.document;
|
|
47
|
+
// ie6,7,8 standard mode
|
|
55
48
|
ret = d.documentElement[method];
|
|
56
|
-
|
|
57
49
|
if (typeof ret !== 'number') {
|
|
58
50
|
// quirks mode
|
|
59
51
|
ret = d.body[method];
|
|
60
52
|
}
|
|
61
53
|
}
|
|
62
|
-
|
|
63
54
|
return ret;
|
|
64
55
|
}
|
|
65
|
-
|
|
66
56
|
_getClientPosition(elem) {
|
|
67
57
|
let x, y;
|
|
68
58
|
const doc = elem.ownerDocument;
|
|
@@ -80,59 +70,45 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
80
70
|
top: y
|
|
81
71
|
};
|
|
82
72
|
}
|
|
83
|
-
|
|
84
73
|
_getOffsetLeft(el) {
|
|
85
74
|
const pos = this._getClientPosition(el);
|
|
86
|
-
|
|
87
75
|
const doc = el.ownerDocument;
|
|
88
76
|
const w = doc.defaultView || doc.parentWindow;
|
|
89
77
|
pos.left += this._getScroll(w);
|
|
90
78
|
return pos.left;
|
|
91
79
|
}
|
|
92
|
-
|
|
93
80
|
getStarValue(index, pos) {
|
|
94
81
|
const {
|
|
95
82
|
allowHalf
|
|
96
83
|
} = this.getProps();
|
|
97
|
-
|
|
98
84
|
const direction = this._adapter.getContext('direction');
|
|
99
|
-
|
|
100
85
|
const reverse = direction === 'rtl';
|
|
101
86
|
let value = index + 1;
|
|
102
|
-
|
|
103
87
|
if (allowHalf) {
|
|
104
88
|
const starEle = this._adapter.getStarDOM(index);
|
|
105
|
-
|
|
106
89
|
const leftDis = this._getOffsetLeft(starEle);
|
|
107
|
-
|
|
108
90
|
const width = starEle.clientWidth;
|
|
109
|
-
|
|
110
91
|
if (reverse && pos - leftDis > width / 2) {
|
|
111
92
|
value -= 0.5;
|
|
112
93
|
} else if (!reverse && pos - leftDis < width / 2) {
|
|
113
94
|
value -= 0.5;
|
|
114
95
|
}
|
|
115
96
|
}
|
|
116
|
-
|
|
117
97
|
return value;
|
|
118
98
|
}
|
|
119
|
-
|
|
120
99
|
handleHover(event, index) {
|
|
121
100
|
const currValue = this.getStarValue(index, event.pageX);
|
|
122
101
|
const {
|
|
123
102
|
clearedValue,
|
|
124
103
|
hoverValue
|
|
125
104
|
} = this.getStates();
|
|
126
|
-
|
|
127
105
|
if (currValue !== hoverValue && currValue !== clearedValue) {
|
|
128
106
|
this._adapter.notifyHoverChange(currValue, null);
|
|
129
107
|
}
|
|
130
108
|
}
|
|
131
|
-
|
|
132
109
|
handleMouseLeave() {
|
|
133
110
|
this._adapter.notifyHoverChange(undefined, null);
|
|
134
111
|
}
|
|
135
|
-
|
|
136
112
|
handleClick(event, index) {
|
|
137
113
|
const {
|
|
138
114
|
allowClear
|
|
@@ -142,24 +118,19 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
142
118
|
} = this.getStates();
|
|
143
119
|
const newValue = this.getStarValue(index, event.pageX);
|
|
144
120
|
const isReset = allowClear ? newValue === value : false;
|
|
145
|
-
|
|
146
121
|
this._adapter.updateValue(isReset ? 0 : newValue);
|
|
147
|
-
|
|
148
122
|
if (isReset) {
|
|
149
123
|
this._adapter.notifyHoverChange(undefined, newValue);
|
|
150
124
|
} else {
|
|
151
125
|
this._adapter.clearValue(null);
|
|
152
126
|
}
|
|
153
127
|
}
|
|
154
|
-
|
|
155
128
|
handleFocus(e) {
|
|
156
129
|
this._adapter.notifyFocus(e);
|
|
157
130
|
}
|
|
158
|
-
|
|
159
131
|
handleBlur(e) {
|
|
160
132
|
this._adapter.notifyBlur(e);
|
|
161
133
|
}
|
|
162
|
-
|
|
163
134
|
handleKeyDown(event, value) {
|
|
164
135
|
const {
|
|
165
136
|
key
|
|
@@ -168,20 +139,16 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
168
139
|
count,
|
|
169
140
|
allowHalf
|
|
170
141
|
} = this.getProps();
|
|
171
|
-
|
|
172
142
|
const direction = this._adapter.getContext('direction');
|
|
173
|
-
|
|
174
143
|
const reverse = direction === 'rtl';
|
|
175
144
|
const step = allowHalf ? 0.5 : 1;
|
|
176
145
|
let tempValue;
|
|
177
146
|
let newValue;
|
|
178
|
-
|
|
179
147
|
if (key === 'ArrowRight' || key === 'ArrowUp') {
|
|
180
148
|
tempValue = value + (reverse ? -step : step);
|
|
181
149
|
} else if (key === 'ArrowLeft' || key === 'ArrowDown') {
|
|
182
150
|
tempValue = value + (reverse ? step : -step);
|
|
183
151
|
}
|
|
184
|
-
|
|
185
152
|
if (tempValue > count) {
|
|
186
153
|
newValue = 0;
|
|
187
154
|
} else if (tempValue < 0) {
|
|
@@ -189,19 +156,14 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
189
156
|
} else {
|
|
190
157
|
newValue = tempValue;
|
|
191
158
|
}
|
|
192
|
-
|
|
193
159
|
if (['ArrowRight', 'ArrowUp', 'ArrowLeft', 'ArrowDown'].includes(key)) {
|
|
194
160
|
this._adapter.notifyKeyDown(event);
|
|
195
|
-
|
|
196
161
|
this._adapter.updateValue(newValue);
|
|
197
|
-
|
|
198
162
|
this.changeFocusStar(newValue, event);
|
|
199
163
|
event.preventDefault();
|
|
200
|
-
|
|
201
164
|
this._adapter.notifyHoverChange(undefined, null);
|
|
202
165
|
}
|
|
203
166
|
}
|
|
204
|
-
|
|
205
167
|
changeFocusStar(value, event) {
|
|
206
168
|
const {
|
|
207
169
|
count,
|
|
@@ -210,7 +172,6 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
210
172
|
} = this.getProps();
|
|
211
173
|
const index = Math.ceil(value) - 1;
|
|
212
174
|
const starElement = [...event.currentTarget.childNodes].map(item => item.childNodes[0].childNodes);
|
|
213
|
-
|
|
214
175
|
if (index < 0) {
|
|
215
176
|
starElement[count][0].focus({
|
|
216
177
|
preventScroll
|
|
@@ -221,17 +182,15 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
221
182
|
});
|
|
222
183
|
}
|
|
223
184
|
}
|
|
224
|
-
|
|
225
185
|
}
|
|
226
186
|
export class RatingItemFoundation extends BaseFoundation {
|
|
227
187
|
constructor(adapter) {
|
|
228
188
|
super(Object.assign(Object.assign({}, RatingItemFoundation.defaultAdapter), adapter));
|
|
229
|
-
|
|
230
189
|
this.handleFocusVisible = (event, star) => {
|
|
231
190
|
const {
|
|
232
191
|
target
|
|
233
|
-
} = event;
|
|
234
|
-
|
|
192
|
+
} = event;
|
|
193
|
+
// when rating 0 is focus visible
|
|
235
194
|
try {
|
|
236
195
|
if (target.matches(':focus-visible')) {
|
|
237
196
|
if (star === 'first') {
|
|
@@ -243,15 +202,13 @@ export class RatingItemFoundation extends BaseFoundation {
|
|
|
243
202
|
} catch (error) {
|
|
244
203
|
warning(true, 'Warning: [Semi Rating] The current browser does not support the focus-visible');
|
|
245
204
|
}
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
|
|
205
|
+
};
|
|
206
|
+
// e: FocusEvent
|
|
249
207
|
this.handleBlur = (e, star) => {
|
|
250
208
|
const {
|
|
251
209
|
firstStarFocus,
|
|
252
210
|
secondStarFocus
|
|
253
211
|
} = this.getStates();
|
|
254
|
-
|
|
255
212
|
if (star === 'first') {
|
|
256
213
|
firstStarFocus && this._adapter.setFirstStarFocus(false);
|
|
257
214
|
} else {
|
|
@@ -259,5 +216,4 @@ export class RatingItemFoundation extends BaseFoundation {
|
|
|
259
216
|
}
|
|
260
217
|
};
|
|
261
218
|
}
|
|
262
|
-
|
|
263
219
|
}
|
|
@@ -9,20 +9,16 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
9
9
|
super(...arguments);
|
|
10
10
|
this._cachedSelectedNode = null;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
12
|
selectIndex(index, listWrapper) {
|
|
14
13
|
const {
|
|
15
14
|
type,
|
|
16
15
|
list
|
|
17
16
|
} = this.getProps();
|
|
18
|
-
|
|
19
17
|
if (index > -1 && Array.isArray(list) && list.length && isElement(listWrapper)) {
|
|
20
18
|
const indexInData = index % list.length;
|
|
21
19
|
const item = list[indexInData];
|
|
22
20
|
const node = listWrapper.children[index];
|
|
23
|
-
|
|
24
21
|
this._adapter.setSelectedNode(node);
|
|
25
|
-
|
|
26
22
|
this._adapter.notifySelectItem(Object.assign(Object.assign({}, item), {
|
|
27
23
|
value: item.value,
|
|
28
24
|
type,
|
|
@@ -30,33 +26,24 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
30
26
|
}));
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
|
-
|
|
34
29
|
selectNode(node, listWrapper) {
|
|
35
30
|
const {
|
|
36
31
|
type,
|
|
37
32
|
list: data
|
|
38
33
|
} = this.getProps();
|
|
39
|
-
|
|
40
34
|
if (isElement(node) && isElement(listWrapper)) {
|
|
41
35
|
const indexInList = _findIndex(listWrapper.children, ele => ele === node);
|
|
42
|
-
|
|
43
36
|
const indexInData = indexInList % data.length;
|
|
44
|
-
|
|
45
37
|
const cachedIndexInList = _findIndex(listWrapper.children, ele => ele === this._cachedSelectedNode);
|
|
46
|
-
|
|
47
38
|
const cachedIndexData = cachedIndexInList % data.length;
|
|
48
39
|
const item = data[indexInData];
|
|
49
|
-
|
|
50
40
|
this._adapter.setSelectedNode(node);
|
|
51
|
-
|
|
52
|
-
|
|
41
|
+
this._adapter.scrollToCenter(node);
|
|
42
|
+
// Avoid triggerring notifySelectItem twice,
|
|
53
43
|
// because that scroll event will be trigger
|
|
54
44
|
// when you click to select an item.
|
|
55
|
-
|
|
56
|
-
|
|
57
45
|
if (this._cachedSelectedNode !== node) {
|
|
58
46
|
this._cachedSelectedNode = node;
|
|
59
|
-
|
|
60
47
|
if (cachedIndexData !== indexInData) {
|
|
61
48
|
this._adapter.notifySelectItem(Object.assign(Object.assign({}, item), {
|
|
62
49
|
value: item.value,
|
|
@@ -74,35 +61,28 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
74
61
|
* @param {number} ratio
|
|
75
62
|
* @returns {boolean}
|
|
76
63
|
*/
|
|
77
|
-
|
|
78
|
-
|
|
79
64
|
shouldAppend(listWrapper, scrollWrapper) {
|
|
80
65
|
let ratio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
|
|
81
66
|
const tag = 'li';
|
|
82
|
-
|
|
83
67
|
if (isElement(listWrapper) && isElement(scrollWrapper)) {
|
|
84
68
|
const itemNodes = listWrapper.querySelectorAll(tag);
|
|
85
69
|
const lastNode = itemNodes[itemNodes.length - 1];
|
|
86
70
|
const {
|
|
87
71
|
list
|
|
88
72
|
} = this.getProps();
|
|
89
|
-
|
|
90
73
|
if (lastNode) {
|
|
91
74
|
const scrollRect = scrollWrapper.getBoundingClientRect();
|
|
92
75
|
const lastRect = lastNode.getBoundingClientRect();
|
|
93
76
|
const listHeight = lastRect.height * list.length;
|
|
94
77
|
let baseTop = lastRect.top;
|
|
95
78
|
let count = 0;
|
|
96
|
-
|
|
97
79
|
while (baseTop <= scrollRect.top + scrollRect.height * ratio) {
|
|
98
80
|
count += 1;
|
|
99
81
|
baseTop += listHeight;
|
|
100
82
|
}
|
|
101
|
-
|
|
102
83
|
return count;
|
|
103
84
|
}
|
|
104
85
|
}
|
|
105
|
-
|
|
106
86
|
return false;
|
|
107
87
|
}
|
|
108
88
|
/**
|
|
@@ -113,35 +93,28 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
113
93
|
*
|
|
114
94
|
* @returns {boolean}
|
|
115
95
|
*/
|
|
116
|
-
|
|
117
|
-
|
|
118
96
|
shouldPrepend(listWrapper, scrollWrapper) {
|
|
119
97
|
let ratio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
|
|
120
98
|
const tag = 'li';
|
|
121
|
-
|
|
122
99
|
if (isElement(listWrapper) && isElement(scrollWrapper)) {
|
|
123
100
|
const itemNodes = listWrapper.querySelectorAll(tag);
|
|
124
101
|
const firstNode = itemNodes[0];
|
|
125
102
|
const {
|
|
126
103
|
list
|
|
127
104
|
} = this.getProps();
|
|
128
|
-
|
|
129
105
|
if (firstNode) {
|
|
130
106
|
const scrollRect = scrollWrapper.getBoundingClientRect();
|
|
131
107
|
const firstRect = firstNode.getBoundingClientRect();
|
|
132
108
|
const listHeight = firstRect.height * list.length;
|
|
133
109
|
let baseTop = firstRect.top;
|
|
134
110
|
let count = 0;
|
|
135
|
-
|
|
136
111
|
while (baseTop + firstRect.height >= scrollRect.top - scrollRect.height * ratio) {
|
|
137
112
|
count += 1;
|
|
138
113
|
baseTop -= listHeight;
|
|
139
114
|
}
|
|
140
|
-
|
|
141
115
|
return count;
|
|
142
116
|
}
|
|
143
117
|
}
|
|
144
|
-
|
|
145
118
|
return 0;
|
|
146
119
|
}
|
|
147
120
|
/**
|
|
@@ -150,22 +123,17 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
150
123
|
* @param {HTMLElement} wrapper
|
|
151
124
|
* @param {Function} [callback]
|
|
152
125
|
*/
|
|
153
|
-
|
|
154
|
-
|
|
155
126
|
initWheelList(listWrapper, wrapper, callback) {
|
|
156
127
|
const {
|
|
157
128
|
list
|
|
158
129
|
} = this.getProps();
|
|
159
|
-
|
|
160
130
|
if (isElement(wrapper) && isElement(listWrapper) && list && list.length) {
|
|
161
131
|
const allNodes = listWrapper.children;
|
|
162
|
-
|
|
163
132
|
const baseNodes = _slice(allNodes, 0, list.length);
|
|
164
|
-
|
|
165
133
|
const prependCount = this.shouldPrepend(listWrapper, wrapper);
|
|
166
|
-
const appendCount = this.shouldAppend(listWrapper, wrapper);
|
|
134
|
+
const appendCount = this.shouldAppend(listWrapper, wrapper);
|
|
135
|
+
// this._adapter.setPrependCount(prependCount);
|
|
167
136
|
// this._adapter.setAppendCount(appendCount);
|
|
168
|
-
|
|
169
137
|
this._adapter.setState({
|
|
170
138
|
prependCount,
|
|
171
139
|
appendCount
|
|
@@ -178,35 +146,29 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
178
146
|
* @param {HTMLElement} wrapper
|
|
179
147
|
* @param {HTMLElement} [nearestNode]
|
|
180
148
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
149
|
adjustInfiniteList(listWrapper, wrapper, nearestNode) {
|
|
184
150
|
const {
|
|
185
151
|
list
|
|
186
152
|
} = this.getProps();
|
|
187
153
|
const nodeTag = 'li';
|
|
188
|
-
|
|
189
154
|
if (isElement(wrapper) && isElement(listWrapper) && list && list.length) {
|
|
190
155
|
const allNodes = listWrapper.querySelectorAll(nodeTag);
|
|
191
156
|
const total = allNodes.length;
|
|
192
157
|
const ratio = 1;
|
|
193
158
|
const prependCount = this.shouldPrepend(listWrapper, wrapper, ratio);
|
|
194
|
-
const appendCount = this.shouldAppend(listWrapper, wrapper, ratio);
|
|
195
|
-
|
|
159
|
+
const appendCount = this.shouldAppend(listWrapper, wrapper, ratio);
|
|
160
|
+
// while (this.shouldPrepend(listWrapper, wrapper, nearestNode)) {
|
|
196
161
|
if (prependCount) {
|
|
197
162
|
// move last nodes to first position
|
|
198
163
|
for (let i = 0; i < prependCount; i++) {
|
|
199
164
|
const nodes = _slice(allNodes, total - list.length * (i + 1), total - list.length * i);
|
|
200
|
-
|
|
201
165
|
prepend(listWrapper, ...nodes);
|
|
202
166
|
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
167
|
+
}
|
|
168
|
+
// while (this.shouldAppend(listWrapper, wrapper, nearestNode)) {
|
|
206
169
|
if (appendCount) {
|
|
207
170
|
for (let i = 0; i < appendCount; i++) {
|
|
208
171
|
const nodes = _slice(allNodes, i * list.length, (i + 1) * list.length);
|
|
209
|
-
|
|
210
172
|
append(listWrapper, ...nodes);
|
|
211
173
|
}
|
|
212
174
|
}
|
|
@@ -218,8 +180,6 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
218
180
|
* @param {HTMLElement} selector
|
|
219
181
|
*
|
|
220
182
|
*/
|
|
221
|
-
|
|
222
|
-
|
|
223
183
|
getNearestNodeInfo(listWrapper, selector) {
|
|
224
184
|
if (isElement(listWrapper) && isElement(selector)) {
|
|
225
185
|
const selectorRect = selector.getBoundingClientRect();
|
|
@@ -232,7 +192,6 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
232
192
|
const rect = node.getBoundingClientRect();
|
|
233
193
|
const rectTop = rect.top;
|
|
234
194
|
const absDistance = Math.abs(rectTop - selectorTop);
|
|
235
|
-
|
|
236
195
|
if (absDistance < nearestDistance && !this._adapter.isDisabledIndex(index)) {
|
|
237
196
|
nearestDistance = absDistance;
|
|
238
197
|
nearestNode = node;
|
|
@@ -244,7 +203,6 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
244
203
|
nearestIndex
|
|
245
204
|
};
|
|
246
205
|
}
|
|
247
|
-
|
|
248
206
|
return undefined;
|
|
249
207
|
}
|
|
250
208
|
/**
|
|
@@ -253,8 +211,6 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
253
211
|
*
|
|
254
212
|
* @param {HTMLElement|null}
|
|
255
213
|
*/
|
|
256
|
-
|
|
257
|
-
|
|
258
214
|
getTargetNode(e, listWrapper) {
|
|
259
215
|
if (e && isElement(listWrapper)) {
|
|
260
216
|
const targetTagName = 'li';
|
|
@@ -265,25 +221,19 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
265
221
|
let targetIndex = -1;
|
|
266
222
|
let indexInList = -1;
|
|
267
223
|
let infoInList = null;
|
|
268
|
-
|
|
269
224
|
const targetNode = _find(itemNodes, (node, index) => {
|
|
270
225
|
if (node === currentTarget || node.contains(currentTarget)) {
|
|
271
226
|
targetIndex = index;
|
|
272
|
-
|
|
273
227
|
if (length > 0) {
|
|
274
228
|
indexInList = index % length;
|
|
275
229
|
}
|
|
276
|
-
|
|
277
230
|
return true;
|
|
278
231
|
}
|
|
279
|
-
|
|
280
232
|
return undefined;
|
|
281
233
|
});
|
|
282
|
-
|
|
283
234
|
if (indexInList > -1) {
|
|
284
235
|
infoInList = list[indexInList];
|
|
285
236
|
}
|
|
286
|
-
|
|
287
237
|
return {
|
|
288
238
|
targetNode,
|
|
289
239
|
targetIndex,
|
|
@@ -291,8 +241,6 @@ export default class ItemFoundation extends BaseFoundation {
|
|
|
291
241
|
infoInList
|
|
292
242
|
};
|
|
293
243
|
}
|
|
294
|
-
|
|
295
244
|
return null;
|
|
296
245
|
}
|
|
297
|
-
|
|
298
246
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Animation } from '@douyinfe/semi-animation';
|
|
2
|
-
|
|
3
2
|
const scrollTo = (element, to, duration) => {
|
|
4
3
|
const animation = new Animation({
|
|
5
4
|
from: {
|
|
@@ -16,9 +15,8 @@ const scrollTo = (element, to, duration) => {
|
|
|
16
15
|
scrollTop
|
|
17
16
|
} = _ref;
|
|
18
17
|
element.scrollTop = scrollTop;
|
|
19
|
-
});
|
|
20
|
-
|
|
18
|
+
});
|
|
19
|
+
// animation.start();
|
|
21
20
|
return animation;
|
|
22
21
|
};
|
|
23
|
-
|
|
24
22
|
export default scrollTo;
|