@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
|
@@ -1,37 +1,32 @@
|
|
|
1
1
|
import _isUndefined from "lodash/isUndefined";
|
|
2
2
|
import _split from "lodash/split";
|
|
3
|
-
|
|
4
3
|
/* eslint-disable max-len */
|
|
5
4
|
import { strings } from './constants';
|
|
6
5
|
import BaseFoundation from '../base/foundation';
|
|
7
6
|
import { formatToString, parseToDate, hourIsDisabled, minuteIsDisabled, secondIsDisabled, transformToArray, isTimeFormatLike } from './utils';
|
|
8
7
|
import { isValid, format, getHours } from 'date-fns';
|
|
9
8
|
import { utcToZonedTime, zonedTimeToUtc } from '../utils/date-fns-extra';
|
|
10
|
-
import isNullOrUndefined from '../utils/isNullOrUndefined';
|
|
11
|
-
|
|
9
|
+
import isNullOrUndefined from '../utils/isNullOrUndefined';
|
|
10
|
+
// TODO: split, timePicker different components cannot share a foundation
|
|
12
11
|
class TimePickerFoundation extends BaseFoundation {
|
|
13
12
|
constructor(adapter) {
|
|
14
13
|
super(Object.assign({}, adapter));
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
init() {
|
|
18
16
|
this.initDataFromDefaultValue();
|
|
19
17
|
const open = this._isControlledComponent('open') ? this.getProp('open') : this.getProp('defaultOpen');
|
|
20
|
-
|
|
21
18
|
if (open && !this._isControlledComponent('open')) {
|
|
22
19
|
this._adapter.registerClickOutSide();
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
getPosition() {
|
|
27
23
|
const position = this.getProp('position');
|
|
28
|
-
const type = this.getProp('type') || strings.DEFAULT_TYPE;
|
|
29
|
-
|
|
24
|
+
const type = this.getProp('type') || strings.DEFAULT_TYPE;
|
|
25
|
+
// rtl change default position
|
|
30
26
|
const direction = this.getContext('direction');
|
|
31
27
|
const rtlDirection = direction === 'rtl' ? 'bottomRight' : '';
|
|
32
28
|
return position || rtlDirection || strings.DEFAULT_POSITION[type];
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
isDisabledHMS(_ref) {
|
|
36
31
|
let {
|
|
37
32
|
hours,
|
|
@@ -48,13 +43,9 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
48
43
|
const sDis = !isNullOrUndefined(hours) && !isNullOrUndefined(minutes) && !isNullOrUndefined(seconds) && secondIsDisabled(disabledSeconds, hours, minutes, seconds);
|
|
49
44
|
return hDis || mDis || sDis;
|
|
50
45
|
}
|
|
51
|
-
|
|
52
46
|
isValidTimeZone(timeZone) {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return ['string', 'number'].includes(typeof _timeZone) && _timeZone !== '';
|
|
47
|
+
return ['string', 'number'].includes(typeof timeZone) && timeZone !== '';
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
getDefaultFormatIfNeed() {
|
|
59
50
|
if (this._isInProps('format')) {
|
|
60
51
|
return this.getProp('format');
|
|
@@ -67,8 +58,6 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
67
58
|
/**
|
|
68
59
|
* User input value => save timestamp
|
|
69
60
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
61
|
initDataFromDefaultValue() {
|
|
73
62
|
const defaultValue = this.getProp('defaultValue');
|
|
74
63
|
let value = this.getProp('value');
|
|
@@ -79,41 +68,33 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
79
68
|
dateFnsLocale
|
|
80
69
|
} = this.getProps();
|
|
81
70
|
value = value || defaultValue;
|
|
82
|
-
|
|
83
71
|
if (!Array.isArray(value)) {
|
|
84
72
|
value = value ? [value] : [];
|
|
85
73
|
}
|
|
86
|
-
|
|
87
74
|
const parsedValues = [];
|
|
88
75
|
let invalid = false;
|
|
89
76
|
value.forEach(v => {
|
|
90
77
|
const pv = parseToDate(v, formatToken, dateFnsLocale);
|
|
91
|
-
|
|
92
78
|
if (!isNaN(pv.getTime())) {
|
|
93
|
-
parsedValues.push(this.isValidTimeZone() ? utcToZonedTime(pv, timeZone) : pv);
|
|
79
|
+
parsedValues.push(this.isValidTimeZone(timeZone) ? utcToZonedTime(pv, timeZone) : pv);
|
|
94
80
|
}
|
|
95
81
|
});
|
|
96
82
|
const isAM = [true, false];
|
|
97
83
|
parsedValues.map((item, idx) => {
|
|
98
84
|
isAM[idx] = getHours(item) < 12;
|
|
99
85
|
});
|
|
100
|
-
|
|
101
86
|
if (parsedValues.length === value.length) {
|
|
102
87
|
value = parsedValues;
|
|
103
88
|
} else {
|
|
104
89
|
value = [];
|
|
105
|
-
|
|
106
90
|
if (value.length) {
|
|
107
91
|
invalid = true;
|
|
108
92
|
}
|
|
109
93
|
}
|
|
110
|
-
|
|
111
94
|
let inputValue = '';
|
|
112
|
-
|
|
113
95
|
if (!invalid) {
|
|
114
96
|
inputValue = value.map(v => formatToString(v, formatToken, dateFnsLocale)).join(rangeSeparator);
|
|
115
97
|
}
|
|
116
|
-
|
|
117
98
|
this.setState({
|
|
118
99
|
isAM,
|
|
119
100
|
value,
|
|
@@ -121,21 +102,16 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
121
102
|
invalid
|
|
122
103
|
});
|
|
123
104
|
}
|
|
124
|
-
|
|
125
105
|
getValidFormat(validFormat) {
|
|
126
106
|
let _format = validFormat;
|
|
127
|
-
|
|
128
107
|
if (isNullOrUndefined(_format)) {
|
|
129
108
|
_format = this.getDefaultFormatIfNeed();
|
|
130
109
|
}
|
|
131
|
-
|
|
132
110
|
if (typeof _format !== 'string') {
|
|
133
111
|
_format = strings.DEFAULT_FORMAT;
|
|
134
112
|
}
|
|
135
|
-
|
|
136
113
|
return _format;
|
|
137
114
|
}
|
|
138
|
-
|
|
139
115
|
handlePanelChange(result) {
|
|
140
116
|
let index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
141
117
|
// console.log(result, index);
|
|
@@ -145,20 +121,17 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
145
121
|
let isAM = this.getState('isAM');
|
|
146
122
|
const value = transformToArray(oldValue);
|
|
147
123
|
isAM = transformToArray(isAM);
|
|
148
|
-
|
|
149
124
|
if (result) {
|
|
150
125
|
const panelIsAM = Boolean(result.isAM);
|
|
151
126
|
const date = parseToDate(result.timeStampValue, formatToken, dateFnsLocale);
|
|
152
127
|
value[index] = date;
|
|
153
128
|
isAM[index] = panelIsAM;
|
|
154
129
|
const inputValue = this.formatValue(value);
|
|
155
|
-
|
|
156
130
|
if (this.getState('isAM')[index] !== result.isAM) {
|
|
157
131
|
this.setState({
|
|
158
132
|
isAM
|
|
159
133
|
});
|
|
160
134
|
}
|
|
161
|
-
|
|
162
135
|
if (!this._isControlledComponent('value')) {
|
|
163
136
|
const invalid = this.validateDates(value);
|
|
164
137
|
this.setState({
|
|
@@ -168,13 +141,11 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
168
141
|
invalid
|
|
169
142
|
});
|
|
170
143
|
}
|
|
171
|
-
|
|
172
144
|
if (this._hasChanged(value, oldValue)) {
|
|
173
145
|
this._notifyChange(value, inputValue);
|
|
174
146
|
}
|
|
175
147
|
}
|
|
176
148
|
}
|
|
177
|
-
|
|
178
149
|
refreshProps() {
|
|
179
150
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
180
151
|
const {
|
|
@@ -184,12 +155,10 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
184
155
|
} = props;
|
|
185
156
|
let dates = this.parseValue(value);
|
|
186
157
|
const invalid = this.validateDates(dates);
|
|
187
|
-
|
|
188
158
|
if (!invalid) {
|
|
189
159
|
if (this.isValidTimeZone(timeZone)) {
|
|
190
160
|
dates = dates.map(date => utcToZonedTime(this.isValidTimeZone(__prevTimeZone) ? zonedTimeToUtc(date, __prevTimeZone) : date, timeZone));
|
|
191
161
|
}
|
|
192
|
-
|
|
193
162
|
const inputValue = this.formatValue(dates);
|
|
194
163
|
this.setState({
|
|
195
164
|
value: dates,
|
|
@@ -198,62 +167,44 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
198
167
|
});
|
|
199
168
|
}
|
|
200
169
|
}
|
|
201
|
-
|
|
202
170
|
handleFocus(e) {
|
|
203
171
|
if (!this.getState('open')) {
|
|
204
172
|
this.handlePanelOpen();
|
|
205
173
|
}
|
|
206
|
-
|
|
207
174
|
this._adapter.notifyFocus(e);
|
|
208
175
|
}
|
|
209
|
-
|
|
210
176
|
setPanel(open) {
|
|
211
177
|
this._adapter.togglePanel(open);
|
|
212
178
|
}
|
|
213
|
-
|
|
214
179
|
destroy() {
|
|
215
180
|
this._adapter.unregisterClickOutSide();
|
|
216
181
|
}
|
|
217
|
-
|
|
218
182
|
handlePanelOpen() {
|
|
219
183
|
if (!this._isControlledComponent('open')) {
|
|
220
184
|
this._adapter.registerClickOutSide();
|
|
221
|
-
|
|
222
185
|
this.setPanel(true);
|
|
223
186
|
}
|
|
224
|
-
|
|
225
187
|
this._adapter.notifyOpenChange(true);
|
|
226
188
|
}
|
|
227
|
-
|
|
228
189
|
handlePanelClose(clickedOutside, e) {
|
|
229
190
|
if (!this._isControlledComponent('open')) {
|
|
230
191
|
this._adapter.unregisterClickOutSide();
|
|
231
|
-
|
|
232
192
|
this.setPanel(false);
|
|
233
193
|
}
|
|
234
|
-
|
|
235
194
|
this._adapter.notifyOpenChange(false);
|
|
236
|
-
|
|
237
195
|
this._adapter.notifyBlur(e);
|
|
238
196
|
}
|
|
239
197
|
/* istanbul ignore next */
|
|
240
|
-
|
|
241
|
-
|
|
242
198
|
handleVisibleChange(visible) {
|
|
243
199
|
if (!this._isControlledComponent('open')) {
|
|
244
200
|
this._adapter.togglePanel(visible);
|
|
245
201
|
}
|
|
246
|
-
|
|
247
202
|
this._adapter.notifyOpenChange(visible);
|
|
248
203
|
}
|
|
249
|
-
|
|
250
204
|
handleInputChange(input) {
|
|
251
205
|
this._adapter.setInputValue(input);
|
|
252
|
-
|
|
253
206
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
254
|
-
|
|
255
207
|
const inputValues = _split(input, rangeSeparator);
|
|
256
|
-
|
|
257
208
|
const formatToken = this.getValidFormat();
|
|
258
209
|
/**
|
|
259
210
|
* 如果输入的字符串不是formatLike则不进行下一步操作,以免输入过程被打断
|
|
@@ -264,11 +215,9 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
264
215
|
* special case
|
|
265
216
|
* -when emptying, the input is "', at this time you need to skip isTimeFormatLike judgment
|
|
266
217
|
*/
|
|
267
|
-
|
|
268
218
|
if (input !== '' && inputValues.some(time => !isTimeFormatLike(time, formatToken))) {
|
|
269
219
|
return;
|
|
270
220
|
}
|
|
271
|
-
|
|
272
221
|
const dates = this.parseInput(input);
|
|
273
222
|
const invalid = this.validateDates(dates);
|
|
274
223
|
const states = {
|
|
@@ -276,43 +225,34 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
276
225
|
};
|
|
277
226
|
const oldValue = this.getState('value');
|
|
278
227
|
let value = transformToArray(oldValue);
|
|
279
|
-
|
|
280
228
|
if (!invalid) {
|
|
281
229
|
states.value = dates;
|
|
282
230
|
value = [...dates];
|
|
283
231
|
}
|
|
284
|
-
|
|
285
232
|
if (!this._isControlledComponent('value')) {
|
|
286
233
|
this.setState(states);
|
|
287
234
|
}
|
|
288
|
-
|
|
289
235
|
if (this._hasChanged(value, oldValue)) {
|
|
290
236
|
this._notifyChange(value, input);
|
|
291
237
|
}
|
|
292
238
|
}
|
|
293
239
|
/* istanbul ignore next */
|
|
294
|
-
|
|
295
|
-
|
|
296
240
|
doValidate(args) {
|
|
297
241
|
if (typeof args === 'string') {
|
|
298
242
|
return this.validateStr(args);
|
|
299
243
|
} else if (Array.isArray(args)) {
|
|
300
244
|
return this.validateDates(args);
|
|
301
245
|
}
|
|
302
|
-
|
|
303
246
|
return undefined;
|
|
304
247
|
}
|
|
305
|
-
|
|
306
248
|
validateStr() {
|
|
307
249
|
let inputValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
308
250
|
const dates = this.parseInput(inputValue);
|
|
309
251
|
return this.validateDates(dates);
|
|
310
252
|
}
|
|
311
|
-
|
|
312
253
|
validateDates() {
|
|
313
254
|
let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
314
255
|
let invalid = dates.some(d => isNaN(Number(d)));
|
|
315
|
-
|
|
316
256
|
if (!invalid) {
|
|
317
257
|
invalid = dates.some(d => this.isDisabledHMS({
|
|
318
258
|
hours: d.getHours(),
|
|
@@ -320,15 +260,12 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
320
260
|
seconds: d.getSeconds()
|
|
321
261
|
}));
|
|
322
262
|
}
|
|
323
|
-
|
|
324
263
|
return invalid;
|
|
325
264
|
}
|
|
326
|
-
|
|
327
265
|
handleInputBlur(e) {
|
|
328
266
|
const invalid = this.getState('invalid');
|
|
329
267
|
const inputValue = this.getState('inputValue');
|
|
330
268
|
const value = this.getState('value');
|
|
331
|
-
|
|
332
269
|
if (inputValue) {
|
|
333
270
|
if (invalid) {
|
|
334
271
|
this.setState({
|
|
@@ -348,80 +285,62 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
348
285
|
});
|
|
349
286
|
}
|
|
350
287
|
}
|
|
351
|
-
|
|
352
288
|
formatValue(dates) {
|
|
353
289
|
const validFormat = this.getValidFormat();
|
|
354
290
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
355
291
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
356
292
|
let _dates = dates;
|
|
357
|
-
|
|
358
293
|
if (_dates && !Array.isArray(_dates)) {
|
|
359
294
|
_dates = _dates[_dates];
|
|
360
295
|
}
|
|
361
|
-
|
|
362
296
|
if (_dates && Array.isArray(_dates)) {
|
|
363
297
|
const result = _dates.map(date => {
|
|
364
298
|
let str;
|
|
365
|
-
|
|
366
299
|
if (_isUndefined(date)) {
|
|
367
300
|
str = '';
|
|
368
301
|
} else {
|
|
369
302
|
str = formatToString(date, validFormat, dateFnsLocale);
|
|
370
303
|
}
|
|
371
|
-
|
|
372
304
|
return str;
|
|
373
305
|
});
|
|
374
|
-
|
|
375
306
|
return result.join(rangeSeparator);
|
|
376
307
|
}
|
|
377
|
-
|
|
378
308
|
return undefined;
|
|
379
309
|
}
|
|
380
|
-
|
|
381
310
|
parseInput(str) {
|
|
382
311
|
const validFormat = this.getValidFormat();
|
|
383
312
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
384
313
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
385
|
-
|
|
386
314
|
if (str && typeof str === 'string') {
|
|
387
315
|
return _split(str, rangeSeparator).map(v => parseToDate(v, validFormat, dateFnsLocale));
|
|
388
316
|
}
|
|
389
|
-
|
|
390
317
|
return [];
|
|
391
318
|
}
|
|
392
|
-
|
|
393
319
|
parseValue() {
|
|
394
320
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
395
321
|
const formatToken = this.getValidFormat();
|
|
396
322
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
397
323
|
let _value = value;
|
|
398
|
-
|
|
399
324
|
if (!Array.isArray(_value)) {
|
|
400
325
|
_value = _value ? [_value] : [];
|
|
401
326
|
}
|
|
402
|
-
|
|
403
327
|
if (Array.isArray(_value)) {
|
|
404
328
|
return _value.map(v => parseToDate(v, formatToken, dateFnsLocale));
|
|
405
329
|
}
|
|
406
|
-
|
|
407
330
|
return [];
|
|
408
331
|
}
|
|
409
|
-
|
|
410
332
|
_notifyChange(value, inputValue) {
|
|
411
333
|
let str = inputValue;
|
|
412
334
|
let _value = value;
|
|
413
335
|
const timeZone = this.getProp('timeZone');
|
|
414
|
-
|
|
415
336
|
if (this._adapter.isRangePicker()) {
|
|
416
337
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
417
338
|
str = _split(inputValue, rangeSeparator);
|
|
418
339
|
} else {
|
|
419
340
|
_value = Array.isArray(_value) ? _value[0] : _value;
|
|
420
341
|
}
|
|
421
|
-
|
|
422
|
-
if (this.isValidTimeZone() && _value) {
|
|
342
|
+
if (this.isValidTimeZone(timeZone) && _value) {
|
|
423
343
|
const formatToken = this.getValidFormat();
|
|
424
|
-
|
|
425
344
|
if (Array.isArray(_value)) {
|
|
426
345
|
_value = _value.map(v => zonedTimeToUtc(v, timeZone));
|
|
427
346
|
str = _value.map(v => format(v, formatToken));
|
|
@@ -430,16 +349,13 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
430
349
|
str = format(_value, formatToken);
|
|
431
350
|
}
|
|
432
351
|
}
|
|
433
|
-
|
|
434
352
|
const onChangeWithDateFirst = this.getProp('onChangeWithDateFirst');
|
|
435
|
-
|
|
436
353
|
if (onChangeWithDateFirst) {
|
|
437
354
|
this._adapter.notifyChange(_value, str);
|
|
438
355
|
} else {
|
|
439
356
|
this._adapter.notifyChange(str, _value);
|
|
440
357
|
}
|
|
441
358
|
}
|
|
442
|
-
|
|
443
359
|
_hasChanged() {
|
|
444
360
|
let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
445
361
|
let oldDates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -447,15 +363,11 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
447
363
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
448
364
|
return dates.length !== oldDates.length || dates.some((date, index) => {
|
|
449
365
|
const oldDate = oldDates[index];
|
|
450
|
-
|
|
451
366
|
if (isValid(date) && isValid(oldDate) && formatToString(date, formatToken, dateFnsLocale) === formatToString(oldDate, formatToken, dateFnsLocale)) {
|
|
452
367
|
return false;
|
|
453
368
|
}
|
|
454
|
-
|
|
455
369
|
return true;
|
|
456
370
|
});
|
|
457
371
|
}
|
|
458
|
-
|
|
459
372
|
}
|
|
460
|
-
|
|
461
373
|
export default TimePickerFoundation;
|
|
@@ -1,65 +1,49 @@
|
|
|
1
1
|
import BaseFoundation from '../base/foundation';
|
|
2
2
|
import isNullOrUndefined from '../utils/isNullOrUndefined';
|
|
3
|
-
|
|
4
3
|
class TimePickerFoundation extends BaseFoundation {
|
|
5
4
|
constructor(adapter) {
|
|
6
5
|
super(Object.assign({}, adapter));
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
}
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
8
|
+
init() {}
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
13
10
|
destroy() {}
|
|
14
|
-
|
|
15
11
|
handleFocus(e) {
|
|
16
12
|
this.storeCursor();
|
|
17
|
-
|
|
18
13
|
this._adapter.notifyFocus(e);
|
|
19
14
|
}
|
|
20
|
-
|
|
21
15
|
handleChange(v) {
|
|
22
16
|
this.storeCursor();
|
|
23
|
-
|
|
24
17
|
this._adapter.notifyChange(v);
|
|
25
18
|
}
|
|
26
|
-
|
|
27
19
|
handleBlur(e) {
|
|
28
20
|
this.clearCursor();
|
|
29
|
-
|
|
30
21
|
this._adapter.notifyBlur(e);
|
|
31
22
|
}
|
|
32
|
-
|
|
33
23
|
storeCursor() {
|
|
34
24
|
const inputNode = this.getCache('inputNode');
|
|
35
|
-
|
|
36
25
|
if (inputNode) {
|
|
37
26
|
const {
|
|
38
27
|
selectionStart: start
|
|
39
|
-
} = inputNode;
|
|
28
|
+
} = inputNode;
|
|
29
|
+
// const beforeStr = typeof value === 'string' ? value.substr(0, start) : null;
|
|
40
30
|
// const afterStr = typeof value === 'string' ? value.substr(start, value.length - start + 1) : null;
|
|
41
31
|
// console.log(start, beforeStr, afterStr);
|
|
42
|
-
|
|
43
32
|
this.setCache('cursorIndex', start);
|
|
44
33
|
}
|
|
45
34
|
}
|
|
46
|
-
|
|
47
35
|
restoreCursor() {
|
|
48
36
|
const inputNode = this.getCache('inputNode');
|
|
49
37
|
const cursorIndex = this.getCache('cursorIndex');
|
|
50
|
-
|
|
51
38
|
if (inputNode && !isNullOrUndefined(cursorIndex)) {
|
|
52
39
|
inputNode.selectionStart = cursorIndex;
|
|
53
40
|
inputNode.selectionEnd = cursorIndex;
|
|
54
41
|
}
|
|
55
42
|
}
|
|
56
|
-
|
|
57
43
|
clearCursor() {
|
|
58
44
|
this.setCache('cursorIndex', null);
|
|
59
45
|
this.setCache('beforeStr', null);
|
|
60
46
|
this.setCache('afterStr', null);
|
|
61
47
|
}
|
|
62
|
-
|
|
63
48
|
}
|
|
64
|
-
|
|
65
49
|
export default TimePickerFoundation;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _toNumber from "lodash/toNumber";
|
|
2
|
-
|
|
3
2
|
/* eslint-disable max-len */
|
|
4
3
|
import { format, parse } from 'date-fns';
|
|
5
4
|
import { strings } from '../constants';
|
|
@@ -12,25 +11,22 @@ import { zhCN as defaultLocale } from 'date-fns/locale';
|
|
|
12
11
|
* @param {object} dateFnsLocale
|
|
13
12
|
* @returns {Date}
|
|
14
13
|
*/
|
|
15
|
-
|
|
16
14
|
export const parseToDate = function (input) {
|
|
17
15
|
let formatToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : strings.DEFAULT_FORMAT;
|
|
18
16
|
let dateFnsLocale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultLocale;
|
|
19
|
-
|
|
20
17
|
if (input instanceof Date) {
|
|
21
18
|
return input;
|
|
22
19
|
} else if (typeof input === 'number' || !isNaN(Number(input))) {
|
|
23
20
|
return new Date(_toNumber(input));
|
|
24
21
|
} else if (typeof input === 'string') {
|
|
25
|
-
let curDate = new Date();
|
|
26
|
-
|
|
22
|
+
let curDate = new Date();
|
|
23
|
+
// console.log(input, formatToken);
|
|
27
24
|
curDate = parse(input, formatToken, curDate, {
|
|
28
25
|
locale: dateFnsLocale
|
|
29
|
-
});
|
|
30
|
-
|
|
26
|
+
});
|
|
27
|
+
// console.log(curDate, formatToken);
|
|
31
28
|
return curDate;
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
return new Date();
|
|
35
31
|
};
|
|
36
32
|
/**
|
|
@@ -38,7 +34,6 @@ export const parseToDate = function (input) {
|
|
|
38
34
|
* @param {string|Date|number} input
|
|
39
35
|
* @returns {number}
|
|
40
36
|
*/
|
|
41
|
-
|
|
42
37
|
export const parseToTimestamp = function (input) {
|
|
43
38
|
let formatToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : strings.DEFAULT_FORMAT;
|
|
44
39
|
let dateFnsLocale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultLocale;
|
|
@@ -50,7 +45,6 @@ export const parseToTimestamp = function (input) {
|
|
|
50
45
|
* @param {string} formatToken
|
|
51
46
|
* @returns {string}
|
|
52
47
|
*/
|
|
53
|
-
|
|
54
48
|
export const formatToString = function (dateOrTimestamp) {
|
|
55
49
|
let formatToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : strings.DEFAULT_FORMAT;
|
|
56
50
|
let dateFnsLocale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultLocale;
|
|
@@ -61,34 +55,28 @@ export const formatToString = function (dateOrTimestamp) {
|
|
|
61
55
|
export const hourIsDisabled = (disabledHours, hour) => {
|
|
62
56
|
if (typeof disabledHours === 'function') {
|
|
63
57
|
const disabledOptions = disabledHours();
|
|
64
|
-
|
|
65
58
|
if (Array.isArray(disabledOptions) && !isNullOrUndefined(hour) && disabledOptions.some(v => _toNumber(v) === _toNumber(hour))) {
|
|
66
59
|
return true;
|
|
67
60
|
}
|
|
68
61
|
}
|
|
69
|
-
|
|
70
62
|
return false;
|
|
71
63
|
};
|
|
72
64
|
export const minuteIsDisabled = (disabledMinutes, hour, minute) => {
|
|
73
65
|
if (typeof disabledMinutes === 'function') {
|
|
74
66
|
const disabledOptions = disabledMinutes(hour);
|
|
75
|
-
|
|
76
67
|
if (Array.isArray(disabledOptions) && !isNullOrUndefined(hour) && !isNullOrUndefined(minute) && disabledOptions.some(v => _toNumber(v) === _toNumber(minute))) {
|
|
77
68
|
return true;
|
|
78
69
|
}
|
|
79
70
|
}
|
|
80
|
-
|
|
81
71
|
return false;
|
|
82
72
|
};
|
|
83
73
|
export const secondIsDisabled = (disabledSeconds, hour, minute, second) => {
|
|
84
74
|
if (typeof disabledSeconds === 'function') {
|
|
85
75
|
const disabledOptions = disabledSeconds(hour, minute);
|
|
86
|
-
|
|
87
76
|
if (Array.isArray(disabledOptions) && !isNullOrUndefined(hour) && !isNullOrUndefined(minute) && !isNullOrUndefined(second) && disabledOptions.some(v => _toNumber(v) === _toNumber(second))) {
|
|
88
77
|
return true;
|
|
89
78
|
}
|
|
90
79
|
}
|
|
91
|
-
|
|
92
80
|
return false;
|
|
93
81
|
};
|
|
94
82
|
export const transformToArray = value => {
|
|
@@ -113,36 +101,29 @@ export const transformToArray = value => {
|
|
|
113
101
|
* @param {String} formatToken e.g. HH:mm
|
|
114
102
|
* @returns {Boolean}
|
|
115
103
|
*/
|
|
116
|
-
|
|
117
104
|
export const isTimeFormatLike = (time, formatToken) => {
|
|
118
105
|
let isLike = true;
|
|
119
106
|
const dateFnsSupportFormatCh = 'BDEGHKLMOPQRSTXYabcehimopqstuwxyz'; // dateFns support format character
|
|
120
|
-
|
|
121
107
|
const formatSupportChReg = new RegExp(`[${dateFnsSupportFormatCh}]`, 'g');
|
|
122
108
|
const formatNotSupportChReg = new RegExp(`[^${dateFnsSupportFormatCh}]`, 'g');
|
|
123
109
|
const hmsReg = /[H|m|s]{1,2}/;
|
|
124
110
|
const formatSplitted = formatToken.split(formatNotSupportChReg); // => ['HH', 'mm'];
|
|
125
|
-
|
|
126
111
|
const timeSeparator = formatToken.replace(formatSupportChReg, ''); // => :
|
|
127
|
-
|
|
128
112
|
const timeReg = new RegExp(`[${timeSeparator}]`, 'g'); // => /[:]/g
|
|
129
|
-
|
|
130
113
|
const timeSplitted = time.split(timeReg); // => ['12', '0]
|
|
131
|
-
|
|
132
114
|
if (formatSplitted.length !== timeSplitted.length) {
|
|
133
115
|
isLike = false;
|
|
134
116
|
} else {
|
|
135
117
|
for (let i = 0, len = timeSplitted.length; i < len; i++) {
|
|
136
118
|
const formatStr = formatSplitted[i];
|
|
137
|
-
const timeStr = timeSplitted[i];
|
|
119
|
+
const timeStr = timeSplitted[i];
|
|
120
|
+
// Returns false if the current character corresponds to minutes and seconds and the length is less than format
|
|
138
121
|
// when i=1 => '0'.length < 'mm'.length
|
|
139
|
-
|
|
140
122
|
if (hmsReg.test(formatStr) && timeStr.length < formatStr.length) {
|
|
141
123
|
isLike = false;
|
|
142
124
|
break;
|
|
143
125
|
}
|
|
144
126
|
}
|
|
145
127
|
}
|
|
146
|
-
|
|
147
128
|
return isLike;
|
|
148
129
|
};
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
import { format as dateFnsFormat, parse as dateFnsParse } from 'date-fns';
|
|
2
2
|
/* istanbul ignore next */
|
|
3
|
-
|
|
4
3
|
const replace = function replace(str, replacements) {
|
|
5
4
|
let _str = str;
|
|
6
|
-
|
|
7
5
|
for (const key of Object.keys(replacements)) {
|
|
8
6
|
if (typeof replacements[key] === 'string') {
|
|
9
7
|
_str = _str.replace(key, replacements[key]);
|
|
10
8
|
}
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
return _str;
|
|
14
11
|
};
|
|
15
12
|
/* istanbul ignore next */
|
|
16
|
-
|
|
17
|
-
|
|
18
13
|
export function localeFormat(date, format) {
|
|
19
14
|
let locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
20
15
|
let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
@@ -23,14 +18,11 @@ export function localeFormat(date, format) {
|
|
|
23
18
|
return str;
|
|
24
19
|
}
|
|
25
20
|
/* istanbul ignore next */
|
|
26
|
-
|
|
27
21
|
export function localeParse(dateString, format) {
|
|
28
22
|
let locale = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
29
23
|
let defaultDate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
|
|
30
24
|
let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
|
|
31
|
-
|
|
32
25
|
// const invertedLocale = invert(locale);
|
|
33
26
|
const _dateString = replace(dateString, locale);
|
|
34
|
-
|
|
35
27
|
return dateFnsParse(_dateString, format, defaultDate, options);
|
|
36
28
|
}
|
|
@@ -126,42 +126,6 @@
|
|
|
126
126
|
width: calc(100% - 28px);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
.semi-timeline-item-alternate .semi-timeline-item-tail, .semi-timeline-item-alternate .semi-timeline-item-head, .semi-timeline-item-alternate .semi-timeline-item-head-custom, .semi-timeline-item-mode-right .semi-timeline-item-tail, .semi-timeline-item-mode-right .semi-timeline-item-head, .semi-timeline-item-mode-right .semi-timeline-item-head-custom, .semi-timeline-item-center .semi-timeline-item-tail, .semi-timeline-item-center .semi-timeline-item-head, .semi-timeline-item-center .semi-timeline-item-head-custom {
|
|
130
|
-
left: 50%;
|
|
131
|
-
}
|
|
132
|
-
.semi-timeline-item-alternate .semi-timeline-item-head.semi-timeline-item-head-custom, .semi-timeline-item-mode-right .semi-timeline-item-head.semi-timeline-item-head-custom, .semi-timeline-item-center .semi-timeline-item-head.semi-timeline-item-head-custom {
|
|
133
|
-
margin-left: 0;
|
|
134
|
-
}
|
|
135
|
-
.semi-timeline-item-alternate .semi-timeline-item-head, .semi-timeline-item-mode-right .semi-timeline-item-head, .semi-timeline-item-center .semi-timeline-item-head {
|
|
136
|
-
margin-left: -4px;
|
|
137
|
-
}
|
|
138
|
-
.semi-timeline-item-alternate.semi-timeline-item-left .semi-timeline-item-content, .semi-timeline-item-mode-right.semi-timeline-item-left .semi-timeline-item-content, .semi-timeline-item-center.semi-timeline-item-left .semi-timeline-item-content {
|
|
139
|
-
left: calc(50% - 4px);
|
|
140
|
-
width: calc(50% - 14px);
|
|
141
|
-
text-align: left;
|
|
142
|
-
}
|
|
143
|
-
.semi-timeline-item-alternate.semi-timeline-item-right .semi-timeline-item-content, .semi-timeline-item-mode-right.semi-timeline-item-right .semi-timeline-item-content, .semi-timeline-item-center.semi-timeline-item-right .semi-timeline-item-content {
|
|
144
|
-
width: calc(50% - 20px);
|
|
145
|
-
margin: 0;
|
|
146
|
-
text-align: right;
|
|
147
|
-
}
|
|
148
|
-
.semi-timeline-item-alternate.semi-timeline-item.semi-timeline-item-not-last-child > .semi-timeline-item-tail, .semi-timeline-item-mode-right.semi-timeline-item.semi-timeline-item-not-last-child > .semi-timeline-item-tail, .semi-timeline-item-center.semi-timeline-item.semi-timeline-item-not-last-child > .semi-timeline-item-tail, .semi-timeline-item-left.semi-timeline-item.semi-timeline-item-not-last-child > .semi-timeline-item-tail {
|
|
149
|
-
border-left: 1px solid var(--semi-color-text-3);
|
|
150
|
-
}
|
|
151
|
-
.semi-timeline-item-center .semi-timeline-item-content-time {
|
|
152
|
-
position: absolute;
|
|
153
|
-
top: -2px;
|
|
154
|
-
margin-left: calc(-40px - 100%);
|
|
155
|
-
width: 100%;
|
|
156
|
-
text-align: right;
|
|
157
|
-
}
|
|
158
|
-
.semi-timeline-item-mode-right.semi-timeline-item-right .semi-timeline-item-tail, .semi-timeline-item-mode-right.semi-timeline-item-right .semi-timeline-item-head, .semi-timeline-item-mode-right.semi-timeline-item-right .semi-timeline-item-head-custom {
|
|
159
|
-
left: calc(100% - 9px);
|
|
160
|
-
}
|
|
161
|
-
.semi-timeline-item-mode-right.semi-timeline-item-right .semi-timeline-item-content {
|
|
162
|
-
width: calc(100% - 28px);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
129
|
.semi-rtl .semi-timeline,
|
|
166
130
|
.semi-portal-rtl .semi-timeline {
|
|
167
131
|
direction: rtl;
|