@douyinfe/semi-foundation 2.36.0-beta.0 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/foundation.ts +2 -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/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.js +0 -4
- 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 +24 -24
- 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 +3 -3
- package/lib/cjs/datePicker/monthsGridFoundation.js +43 -238
- package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +1 -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.js +3 -21
- 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/constants.js +0 -2
- 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 +71 -302
- 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/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 +1 -1
- package/lib/cjs/timePicker/foundation.js +3 -97
- 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/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.js +0 -2
- package/lib/cjs/typography/formatNumeral.d.ts +3 -3
- package/lib/cjs/typography/formatNumeral.js +16 -32
- 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/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.js +0 -3
- 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 +24 -24
- 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 +3 -3
- package/lib/es/datePicker/monthsGridFoundation.js +42 -222
- package/lib/es/datePicker/yearAndMonthFoundation.d.ts +1 -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.js +3 -18
- 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/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 +71 -309
- 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/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 +1 -1
- package/lib/es/timePicker/foundation.js +4 -90
- 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/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/formatNumeral.d.ts +3 -3
- package/lib/es/typography/formatNumeral.js +16 -29
- 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/package.json +2 -2
- package/table/foundation.ts +7 -10
- 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,11 +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
47
|
return ['string', 'number'].includes(typeof timeZone) && timeZone !== '';
|
|
54
48
|
}
|
|
55
|
-
|
|
56
49
|
getDefaultFormatIfNeed() {
|
|
57
50
|
if (this._isInProps('format')) {
|
|
58
51
|
return this.getProp('format');
|
|
@@ -65,8 +58,6 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
65
58
|
/**
|
|
66
59
|
* User input value => save timestamp
|
|
67
60
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
61
|
initDataFromDefaultValue() {
|
|
71
62
|
const defaultValue = this.getProp('defaultValue');
|
|
72
63
|
let value = this.getProp('value');
|
|
@@ -77,16 +68,13 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
77
68
|
dateFnsLocale
|
|
78
69
|
} = this.getProps();
|
|
79
70
|
value = value || defaultValue;
|
|
80
|
-
|
|
81
71
|
if (!Array.isArray(value)) {
|
|
82
72
|
value = value ? [value] : [];
|
|
83
73
|
}
|
|
84
|
-
|
|
85
74
|
const parsedValues = [];
|
|
86
75
|
let invalid = false;
|
|
87
76
|
value.forEach(v => {
|
|
88
77
|
const pv = parseToDate(v, formatToken, dateFnsLocale);
|
|
89
|
-
|
|
90
78
|
if (!isNaN(pv.getTime())) {
|
|
91
79
|
parsedValues.push(this.isValidTimeZone(timeZone) ? utcToZonedTime(pv, timeZone) : pv);
|
|
92
80
|
}
|
|
@@ -95,23 +83,18 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
95
83
|
parsedValues.map((item, idx) => {
|
|
96
84
|
isAM[idx] = getHours(item) < 12;
|
|
97
85
|
});
|
|
98
|
-
|
|
99
86
|
if (parsedValues.length === value.length) {
|
|
100
87
|
value = parsedValues;
|
|
101
88
|
} else {
|
|
102
89
|
value = [];
|
|
103
|
-
|
|
104
90
|
if (value.length) {
|
|
105
91
|
invalid = true;
|
|
106
92
|
}
|
|
107
93
|
}
|
|
108
|
-
|
|
109
94
|
let inputValue = '';
|
|
110
|
-
|
|
111
95
|
if (!invalid) {
|
|
112
96
|
inputValue = value.map(v => formatToString(v, formatToken, dateFnsLocale)).join(rangeSeparator);
|
|
113
97
|
}
|
|
114
|
-
|
|
115
98
|
this.setState({
|
|
116
99
|
isAM,
|
|
117
100
|
value,
|
|
@@ -119,21 +102,16 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
119
102
|
invalid
|
|
120
103
|
});
|
|
121
104
|
}
|
|
122
|
-
|
|
123
105
|
getValidFormat(validFormat) {
|
|
124
106
|
let _format = validFormat;
|
|
125
|
-
|
|
126
107
|
if (isNullOrUndefined(_format)) {
|
|
127
108
|
_format = this.getDefaultFormatIfNeed();
|
|
128
109
|
}
|
|
129
|
-
|
|
130
110
|
if (typeof _format !== 'string') {
|
|
131
111
|
_format = strings.DEFAULT_FORMAT;
|
|
132
112
|
}
|
|
133
|
-
|
|
134
113
|
return _format;
|
|
135
114
|
}
|
|
136
|
-
|
|
137
115
|
handlePanelChange(result) {
|
|
138
116
|
let index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
139
117
|
// console.log(result, index);
|
|
@@ -143,20 +121,17 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
143
121
|
let isAM = this.getState('isAM');
|
|
144
122
|
const value = transformToArray(oldValue);
|
|
145
123
|
isAM = transformToArray(isAM);
|
|
146
|
-
|
|
147
124
|
if (result) {
|
|
148
125
|
const panelIsAM = Boolean(result.isAM);
|
|
149
126
|
const date = parseToDate(result.timeStampValue, formatToken, dateFnsLocale);
|
|
150
127
|
value[index] = date;
|
|
151
128
|
isAM[index] = panelIsAM;
|
|
152
129
|
const inputValue = this.formatValue(value);
|
|
153
|
-
|
|
154
130
|
if (this.getState('isAM')[index] !== result.isAM) {
|
|
155
131
|
this.setState({
|
|
156
132
|
isAM
|
|
157
133
|
});
|
|
158
134
|
}
|
|
159
|
-
|
|
160
135
|
if (!this._isControlledComponent('value')) {
|
|
161
136
|
const invalid = this.validateDates(value);
|
|
162
137
|
this.setState({
|
|
@@ -166,13 +141,11 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
166
141
|
invalid
|
|
167
142
|
});
|
|
168
143
|
}
|
|
169
|
-
|
|
170
144
|
if (this._hasChanged(value, oldValue)) {
|
|
171
145
|
this._notifyChange(value, inputValue);
|
|
172
146
|
}
|
|
173
147
|
}
|
|
174
148
|
}
|
|
175
|
-
|
|
176
149
|
refreshProps() {
|
|
177
150
|
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
178
151
|
const {
|
|
@@ -182,12 +155,10 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
182
155
|
} = props;
|
|
183
156
|
let dates = this.parseValue(value);
|
|
184
157
|
const invalid = this.validateDates(dates);
|
|
185
|
-
|
|
186
158
|
if (!invalid) {
|
|
187
159
|
if (this.isValidTimeZone(timeZone)) {
|
|
188
160
|
dates = dates.map(date => utcToZonedTime(this.isValidTimeZone(__prevTimeZone) ? zonedTimeToUtc(date, __prevTimeZone) : date, timeZone));
|
|
189
161
|
}
|
|
190
|
-
|
|
191
162
|
const inputValue = this.formatValue(dates);
|
|
192
163
|
this.setState({
|
|
193
164
|
value: dates,
|
|
@@ -196,62 +167,44 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
196
167
|
});
|
|
197
168
|
}
|
|
198
169
|
}
|
|
199
|
-
|
|
200
170
|
handleFocus(e) {
|
|
201
171
|
if (!this.getState('open')) {
|
|
202
172
|
this.handlePanelOpen();
|
|
203
173
|
}
|
|
204
|
-
|
|
205
174
|
this._adapter.notifyFocus(e);
|
|
206
175
|
}
|
|
207
|
-
|
|
208
176
|
setPanel(open) {
|
|
209
177
|
this._adapter.togglePanel(open);
|
|
210
178
|
}
|
|
211
|
-
|
|
212
179
|
destroy() {
|
|
213
180
|
this._adapter.unregisterClickOutSide();
|
|
214
181
|
}
|
|
215
|
-
|
|
216
182
|
handlePanelOpen() {
|
|
217
183
|
if (!this._isControlledComponent('open')) {
|
|
218
184
|
this._adapter.registerClickOutSide();
|
|
219
|
-
|
|
220
185
|
this.setPanel(true);
|
|
221
186
|
}
|
|
222
|
-
|
|
223
187
|
this._adapter.notifyOpenChange(true);
|
|
224
188
|
}
|
|
225
|
-
|
|
226
189
|
handlePanelClose(clickedOutside, e) {
|
|
227
190
|
if (!this._isControlledComponent('open')) {
|
|
228
191
|
this._adapter.unregisterClickOutSide();
|
|
229
|
-
|
|
230
192
|
this.setPanel(false);
|
|
231
193
|
}
|
|
232
|
-
|
|
233
194
|
this._adapter.notifyOpenChange(false);
|
|
234
|
-
|
|
235
195
|
this._adapter.notifyBlur(e);
|
|
236
196
|
}
|
|
237
197
|
/* istanbul ignore next */
|
|
238
|
-
|
|
239
|
-
|
|
240
198
|
handleVisibleChange(visible) {
|
|
241
199
|
if (!this._isControlledComponent('open')) {
|
|
242
200
|
this._adapter.togglePanel(visible);
|
|
243
201
|
}
|
|
244
|
-
|
|
245
202
|
this._adapter.notifyOpenChange(visible);
|
|
246
203
|
}
|
|
247
|
-
|
|
248
204
|
handleInputChange(input) {
|
|
249
205
|
this._adapter.setInputValue(input);
|
|
250
|
-
|
|
251
206
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
252
|
-
|
|
253
207
|
const inputValues = _split(input, rangeSeparator);
|
|
254
|
-
|
|
255
208
|
const formatToken = this.getValidFormat();
|
|
256
209
|
/**
|
|
257
210
|
* 如果输入的字符串不是formatLike则不进行下一步操作,以免输入过程被打断
|
|
@@ -262,11 +215,9 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
262
215
|
* special case
|
|
263
216
|
* -when emptying, the input is "', at this time you need to skip isTimeFormatLike judgment
|
|
264
217
|
*/
|
|
265
|
-
|
|
266
218
|
if (input !== '' && inputValues.some(time => !isTimeFormatLike(time, formatToken))) {
|
|
267
219
|
return;
|
|
268
220
|
}
|
|
269
|
-
|
|
270
221
|
const dates = this.parseInput(input);
|
|
271
222
|
const invalid = this.validateDates(dates);
|
|
272
223
|
const states = {
|
|
@@ -274,43 +225,34 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
274
225
|
};
|
|
275
226
|
const oldValue = this.getState('value');
|
|
276
227
|
let value = transformToArray(oldValue);
|
|
277
|
-
|
|
278
228
|
if (!invalid) {
|
|
279
229
|
states.value = dates;
|
|
280
230
|
value = [...dates];
|
|
281
231
|
}
|
|
282
|
-
|
|
283
232
|
if (!this._isControlledComponent('value')) {
|
|
284
233
|
this.setState(states);
|
|
285
234
|
}
|
|
286
|
-
|
|
287
235
|
if (this._hasChanged(value, oldValue)) {
|
|
288
236
|
this._notifyChange(value, input);
|
|
289
237
|
}
|
|
290
238
|
}
|
|
291
239
|
/* istanbul ignore next */
|
|
292
|
-
|
|
293
|
-
|
|
294
240
|
doValidate(args) {
|
|
295
241
|
if (typeof args === 'string') {
|
|
296
242
|
return this.validateStr(args);
|
|
297
243
|
} else if (Array.isArray(args)) {
|
|
298
244
|
return this.validateDates(args);
|
|
299
245
|
}
|
|
300
|
-
|
|
301
246
|
return undefined;
|
|
302
247
|
}
|
|
303
|
-
|
|
304
248
|
validateStr() {
|
|
305
249
|
let inputValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
306
250
|
const dates = this.parseInput(inputValue);
|
|
307
251
|
return this.validateDates(dates);
|
|
308
252
|
}
|
|
309
|
-
|
|
310
253
|
validateDates() {
|
|
311
254
|
let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
312
255
|
let invalid = dates.some(d => isNaN(Number(d)));
|
|
313
|
-
|
|
314
256
|
if (!invalid) {
|
|
315
257
|
invalid = dates.some(d => this.isDisabledHMS({
|
|
316
258
|
hours: d.getHours(),
|
|
@@ -318,15 +260,12 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
318
260
|
seconds: d.getSeconds()
|
|
319
261
|
}));
|
|
320
262
|
}
|
|
321
|
-
|
|
322
263
|
return invalid;
|
|
323
264
|
}
|
|
324
|
-
|
|
325
265
|
handleInputBlur(e) {
|
|
326
266
|
const invalid = this.getState('invalid');
|
|
327
267
|
const inputValue = this.getState('inputValue');
|
|
328
268
|
const value = this.getState('value');
|
|
329
|
-
|
|
330
269
|
if (inputValue) {
|
|
331
270
|
if (invalid) {
|
|
332
271
|
this.setState({
|
|
@@ -346,80 +285,62 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
346
285
|
});
|
|
347
286
|
}
|
|
348
287
|
}
|
|
349
|
-
|
|
350
288
|
formatValue(dates) {
|
|
351
289
|
const validFormat = this.getValidFormat();
|
|
352
290
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
353
291
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
354
292
|
let _dates = dates;
|
|
355
|
-
|
|
356
293
|
if (_dates && !Array.isArray(_dates)) {
|
|
357
294
|
_dates = _dates[_dates];
|
|
358
295
|
}
|
|
359
|
-
|
|
360
296
|
if (_dates && Array.isArray(_dates)) {
|
|
361
297
|
const result = _dates.map(date => {
|
|
362
298
|
let str;
|
|
363
|
-
|
|
364
299
|
if (_isUndefined(date)) {
|
|
365
300
|
str = '';
|
|
366
301
|
} else {
|
|
367
302
|
str = formatToString(date, validFormat, dateFnsLocale);
|
|
368
303
|
}
|
|
369
|
-
|
|
370
304
|
return str;
|
|
371
305
|
});
|
|
372
|
-
|
|
373
306
|
return result.join(rangeSeparator);
|
|
374
307
|
}
|
|
375
|
-
|
|
376
308
|
return undefined;
|
|
377
309
|
}
|
|
378
|
-
|
|
379
310
|
parseInput(str) {
|
|
380
311
|
const validFormat = this.getValidFormat();
|
|
381
312
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
382
313
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
383
|
-
|
|
384
314
|
if (str && typeof str === 'string') {
|
|
385
315
|
return _split(str, rangeSeparator).map(v => parseToDate(v, validFormat, dateFnsLocale));
|
|
386
316
|
}
|
|
387
|
-
|
|
388
317
|
return [];
|
|
389
318
|
}
|
|
390
|
-
|
|
391
319
|
parseValue() {
|
|
392
320
|
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
393
321
|
const formatToken = this.getValidFormat();
|
|
394
322
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
395
323
|
let _value = value;
|
|
396
|
-
|
|
397
324
|
if (!Array.isArray(_value)) {
|
|
398
325
|
_value = _value ? [_value] : [];
|
|
399
326
|
}
|
|
400
|
-
|
|
401
327
|
if (Array.isArray(_value)) {
|
|
402
328
|
return _value.map(v => parseToDate(v, formatToken, dateFnsLocale));
|
|
403
329
|
}
|
|
404
|
-
|
|
405
330
|
return [];
|
|
406
331
|
}
|
|
407
|
-
|
|
408
332
|
_notifyChange(value, inputValue) {
|
|
409
333
|
let str = inputValue;
|
|
410
334
|
let _value = value;
|
|
411
335
|
const timeZone = this.getProp('timeZone');
|
|
412
|
-
|
|
413
336
|
if (this._adapter.isRangePicker()) {
|
|
414
337
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
415
338
|
str = _split(inputValue, rangeSeparator);
|
|
416
339
|
} else {
|
|
417
340
|
_value = Array.isArray(_value) ? _value[0] : _value;
|
|
418
341
|
}
|
|
419
|
-
|
|
420
342
|
if (this.isValidTimeZone(timeZone) && _value) {
|
|
421
343
|
const formatToken = this.getValidFormat();
|
|
422
|
-
|
|
423
344
|
if (Array.isArray(_value)) {
|
|
424
345
|
_value = _value.map(v => zonedTimeToUtc(v, timeZone));
|
|
425
346
|
str = _value.map(v => format(v, formatToken));
|
|
@@ -428,16 +349,13 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
428
349
|
str = format(_value, formatToken);
|
|
429
350
|
}
|
|
430
351
|
}
|
|
431
|
-
|
|
432
352
|
const onChangeWithDateFirst = this.getProp('onChangeWithDateFirst');
|
|
433
|
-
|
|
434
353
|
if (onChangeWithDateFirst) {
|
|
435
354
|
this._adapter.notifyChange(_value, str);
|
|
436
355
|
} else {
|
|
437
356
|
this._adapter.notifyChange(str, _value);
|
|
438
357
|
}
|
|
439
358
|
}
|
|
440
|
-
|
|
441
359
|
_hasChanged() {
|
|
442
360
|
let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
443
361
|
let oldDates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
@@ -445,15 +363,11 @@ class TimePickerFoundation extends BaseFoundation {
|
|
|
445
363
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
446
364
|
return dates.length !== oldDates.length || dates.some((date, index) => {
|
|
447
365
|
const oldDate = oldDates[index];
|
|
448
|
-
|
|
449
366
|
if (isValid(date) && isValid(oldDate) && formatToString(date, formatToken, dateFnsLocale) === formatToString(oldDate, formatToken, dateFnsLocale)) {
|
|
450
367
|
return false;
|
|
451
368
|
}
|
|
452
|
-
|
|
453
369
|
return true;
|
|
454
370
|
});
|
|
455
371
|
}
|
|
456
|
-
|
|
457
372
|
}
|
|
458
|
-
|
|
459
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
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import BaseFoundation, { DefaultAdapter } from '../base/foundation';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
2
|
+
export type ToastType = 'success' | 'warning' | 'error' | 'info' | 'default';
|
|
3
|
+
export type ToastTheme = 'light' | 'normal';
|
|
4
|
+
export type Directions = 'ltr' | 'rtl';
|
|
5
5
|
export interface ConfigProps {
|
|
6
6
|
top?: number | string;
|
|
7
7
|
bottom?: number | string;
|