@douyinfe/semi-foundation 2.24.2 → 2.25.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/anchor/anchor.scss +6 -0
- package/anchor/foundation.ts +7 -6
- package/anchor/linkFoundation.ts +0 -1
- package/anchor/variables.scss +4 -0
- package/autoComplete/autoComplete.scss +2 -0
- package/autoComplete/foundation.ts +23 -20
- package/autoComplete/optionFoundation.ts +0 -2
- package/avatar/animation.scss +19 -0
- package/avatar/avatar.scss +314 -1
- package/avatar/constants.ts +21 -4
- package/avatar/foundation.ts +21 -4
- package/avatar/variables.scss +66 -10
- package/badge/badge.scss +13 -0
- package/badge/constants.ts +1 -1
- package/badge/variables.scss +4 -0
- package/base/foundation.ts +2 -3
- package/breadcrumb/breadcrumb.scss +10 -4
- package/breadcrumb/foundation.ts +0 -1
- package/breadcrumb/variables.scss +4 -0
- package/button/button.scss +88 -21
- package/button/iconButton.scss +1 -0
- package/button/splitButtonGroup.scss +10 -9
- package/button/variables.scss +13 -0
- package/calendar/calendar.scss +1 -1
- package/calendar/eventUtil.ts +14 -10
- package/calendar/foundation.ts +9 -9
- package/carousel/carousel.scss +4 -0
- package/carousel/foundation.ts +12 -7
- package/cascader/cascader.scss +66 -23
- package/cascader/constants.ts +5 -1
- package/cascader/foundation.ts +111 -63
- package/cascader/util.ts +64 -10
- package/cascader/variables.scss +5 -1
- package/checkbox/checkbox.scss +0 -1
- package/checkbox/checkboxFoundation.ts +1 -2
- package/checkbox/checkboxGroupFoundation.ts +0 -1
- package/collapse/foundation.ts +1 -0
- package/datePicker/_utils/getDefaultFormatToken.ts +1 -0
- package/datePicker/_utils/getInsetInputFormatToken.ts +1 -0
- package/datePicker/_utils/getInsetInputValueFromInsetInputStr.ts +1 -0
- package/datePicker/_utils/getYears.ts +8 -4
- package/datePicker/_utils/isValidTimeZone.ts +3 -0
- package/datePicker/constants.ts +1 -1
- package/datePicker/datePicker.scss +170 -21
- package/datePicker/foundation.ts +175 -150
- package/datePicker/inputFoundation.ts +34 -16
- package/datePicker/monthFoundation.ts +0 -1
- package/datePicker/monthsGridFoundation.ts +52 -32
- package/datePicker/variables.scss +13 -4
- package/datePicker/yearAndMonthFoundation.ts +68 -21
- package/descriptions/constants.ts +2 -1
- package/descriptions/descriptions.scss +20 -0
- package/descriptions/foundation.ts +36 -0
- package/descriptions/variables.scss +10 -0
- package/dropdown/constants.ts +1 -1
- package/dropdown/dropdown.scss +5 -0
- package/dropdown/foundation.ts +4 -3
- package/dropdown/menuFoundation.ts +3 -3
- package/form/constants.ts +2 -1
- package/form/form.scss +5 -2
- package/form/foundation.ts +12 -10
- package/form/interface.ts +5 -6
- package/form/utils.ts +39 -16
- package/form/variables.scss +3 -0
- package/grid/grid.scss +1 -1
- package/image/constants.ts +5 -1
- package/image/image.scss +9 -5
- package/image/previewFooterFoundation.ts +1 -4
- package/image/previewFoundation.ts +1 -1
- package/image/previewImageFoundation.ts +61 -70
- package/image/previewInnerFoundation.ts +93 -47
- package/image/utils.ts +18 -20
- package/image/variables.scss +1 -1
- package/input/foundation.ts +2 -4
- package/input/input.scss +48 -3
- package/input/textarea.scss +34 -0
- package/input/textareaFoundation.ts +42 -18
- package/input/variables.scss +7 -0
- package/inputNumber/foundation.ts +0 -5
- package/inputNumber/inputNumber.scss +9 -0
- package/lib/cjs/anchor/anchor.css +5 -0
- package/lib/cjs/anchor/anchor.scss +6 -0
- package/lib/cjs/anchor/constants.js +1 -3
- package/lib/cjs/anchor/foundation.js +20 -80
- package/lib/cjs/anchor/linkFoundation.js +3 -16
- package/lib/cjs/anchor/variables.scss +4 -0
- package/lib/cjs/autoComplete/autoComplete.css +1 -0
- package/lib/cjs/autoComplete/autoComplete.scss +2 -0
- package/lib/cjs/autoComplete/constants.js +3 -6
- package/lib/cjs/autoComplete/foundation.d.ts +3 -1
- package/lib/cjs/autoComplete/foundation.js +37 -149
- package/lib/cjs/autoComplete/optionFoundation.js +2 -14
- package/lib/cjs/avatar/animation.scss +19 -0
- package/lib/cjs/avatar/avatar.css +261 -0
- package/lib/cjs/avatar/avatar.scss +314 -1
- package/lib/cjs/avatar/constants.js +1 -4
- package/lib/cjs/avatar/foundation.d.ts +3 -0
- package/lib/cjs/avatar/foundation.js +21 -19
- package/lib/cjs/avatar/variables.scss +66 -10
- package/lib/cjs/backtop/constants.js +1 -3
- package/lib/cjs/backtop/foundation.d.ts +2 -2
- package/lib/cjs/backtop/foundation.js +0 -21
- package/lib/cjs/badge/badge.css +10 -0
- package/lib/cjs/badge/badge.scss +13 -0
- package/lib/cjs/badge/constants.js +2 -4
- package/lib/cjs/badge/variables.scss +4 -0
- package/lib/cjs/banner/constants.js +1 -3
- package/lib/cjs/banner/foundation.js +0 -7
- package/lib/cjs/base/constants.js +2 -4
- package/lib/cjs/base/foundation.d.ts +3 -3
- package/lib/cjs/base/foundation.js +12 -46
- package/lib/cjs/base/index.js +0 -3
- package/lib/cjs/breadcrumb/breadcrumb.css +5 -3
- package/lib/cjs/breadcrumb/breadcrumb.scss +10 -4
- package/lib/cjs/breadcrumb/constants.js +1 -3
- package/lib/cjs/breadcrumb/foundation.js +0 -13
- package/lib/cjs/breadcrumb/itemFoundation.js +0 -7
- package/lib/cjs/breadcrumb/variables.scss +4 -0
- package/lib/cjs/button/button.css +32 -5
- package/lib/cjs/button/button.scss +88 -21
- package/lib/cjs/button/constants.js +1 -3
- package/lib/cjs/button/iconButton.css +1 -0
- package/lib/cjs/button/iconButton.scss +1 -0
- package/lib/cjs/button/splitButtonGroup.scss +10 -9
- package/lib/cjs/button/variables.scss +13 -0
- package/lib/cjs/calendar/calendar.css +2 -2
- package/lib/cjs/calendar/calendar.scss +1 -1
- package/lib/cjs/calendar/constants.js +1 -3
- package/lib/cjs/calendar/eventUtil.d.ts +7 -6
- package/lib/cjs/calendar/eventUtil.js +15 -83
- package/lib/cjs/calendar/foundation.d.ts +4 -4
- package/lib/cjs/calendar/foundation.js +32 -128
- package/lib/cjs/card/constants.js +1 -3
- package/lib/cjs/carousel/carousel.css +4 -0
- package/lib/cjs/carousel/carousel.scss +4 -0
- package/lib/cjs/carousel/constants.js +9 -11
- package/lib/cjs/carousel/foundation.d.ts +2 -0
- package/lib/cjs/carousel/foundation.js +7 -52
- package/lib/cjs/cascader/cascader.css +45 -4
- package/lib/cjs/cascader/cascader.scss +66 -23
- package/lib/cjs/cascader/constants.d.ts +3 -0
- package/lib/cjs/cascader/constants.js +9 -8
- package/lib/cjs/cascader/foundation.d.ts +27 -8
- package/lib/cjs/cascader/foundation.js +122 -300
- package/lib/cjs/cascader/util.d.ts +9 -1
- package/lib/cjs/cascader/util.js +69 -33
- package/lib/cjs/cascader/variables.scss +5 -1
- package/lib/cjs/checkbox/checkbox.css +0 -1
- package/lib/cjs/checkbox/checkbox.scss +0 -1
- package/lib/cjs/checkbox/checkboxFoundation.js +1 -38
- package/lib/cjs/checkbox/checkboxGroupFoundation.js +1 -23
- package/lib/cjs/checkbox/constants.js +13 -15
- package/lib/cjs/collapse/constants.js +1 -3
- package/lib/cjs/collapse/foundation.d.ts +2 -1
- package/lib/cjs/collapse/foundation.js +2 -13
- package/lib/cjs/collapsible/constants.js +1 -3
- 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.d.ts +1 -0
- package/lib/cjs/datePicker/_utils/getDefaultFormatToken.js +2 -6
- 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 +2 -6
- package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +1 -6
- package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +1 -1
- package/lib/cjs/datePicker/_utils/getMonthTable.js +7 -18
- package/lib/cjs/datePicker/_utils/getMonthsInYear.js +1 -3
- 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.d.ts +1 -0
- package/lib/cjs/datePicker/_utils/isValidTimeZone.js +9 -0
- package/lib/cjs/datePicker/_utils/isWithinInterval.js +0 -4
- package/lib/cjs/datePicker/_utils/parser.js +0 -10
- package/lib/cjs/datePicker/constants.d.ts +1 -1
- package/lib/cjs/datePicker/constants.js +28 -31
- package/lib/cjs/datePicker/datePicker.css +88 -13
- package/lib/cjs/datePicker/datePicker.scss +170 -21
- package/lib/cjs/datePicker/foundation.d.ts +79 -50
- package/lib/cjs/datePicker/foundation.js +173 -441
- package/lib/cjs/datePicker/inputFoundation.d.ts +15 -6
- package/lib/cjs/datePicker/inputFoundation.js +35 -98
- package/lib/cjs/datePicker/monthFoundation.d.ts +1 -1
- package/lib/cjs/datePicker/monthFoundation.js +2 -28
- package/lib/cjs/datePicker/monthsGridFoundation.d.ts +18 -13
- package/lib/cjs/datePicker/monthsGridFoundation.js +70 -247
- package/lib/cjs/datePicker/variables.scss +13 -4
- package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +68 -13
- package/lib/cjs/datePicker/yearAndMonthFoundation.js +55 -42
- package/lib/cjs/descriptions/constants.d.ts +1 -0
- package/lib/cjs/descriptions/constants.js +3 -4
- package/lib/cjs/descriptions/descriptions.css +15 -0
- package/lib/cjs/descriptions/descriptions.scss +20 -0
- package/lib/cjs/descriptions/foundation.d.ts +7 -0
- package/lib/cjs/descriptions/foundation.js +45 -0
- package/lib/cjs/descriptions/variables.scss +10 -0
- package/lib/cjs/divider/constants.js +1 -3
- package/lib/cjs/dropdown/constants.js +4 -7
- package/lib/cjs/dropdown/dropdown.css +4 -0
- package/lib/cjs/dropdown/dropdown.scss +5 -0
- package/lib/cjs/dropdown/foundation.js +9 -25
- package/lib/cjs/dropdown/menuFoundation.js +9 -28
- package/lib/cjs/empty/constants.js +1 -3
- package/lib/cjs/form/constants.d.ts +1 -0
- package/lib/cjs/form/constants.js +3 -4
- package/lib/cjs/form/form.css +4 -0
- package/lib/cjs/form/form.scss +5 -2
- package/lib/cjs/form/foundation.d.ts +4 -4
- package/lib/cjs/form/foundation.js +84 -214
- package/lib/cjs/form/interface.d.ts +10 -10
- package/lib/cjs/form/utils.d.ts +10 -1
- package/lib/cjs/form/utils.js +85 -93
- package/lib/cjs/form/variables.scss +3 -0
- package/lib/cjs/grid/constants.js +1 -3
- package/lib/cjs/grid/grid.css +1 -1
- package/lib/cjs/grid/grid.scss +1 -1
- package/lib/cjs/highlight/constants.js +1 -3
- package/lib/cjs/icons/constants.js +1 -3
- package/lib/cjs/image/constants.d.ts +4 -1
- package/lib/cjs/image/constants.js +7 -5
- package/lib/cjs/image/image.css +4 -2
- package/lib/cjs/image/image.scss +9 -5
- package/lib/cjs/image/imageFoundation.js +4 -18
- package/lib/cjs/image/previewFooterFoundation.d.ts +0 -1
- package/lib/cjs/image/previewFooterFoundation.js +0 -14
- package/lib/cjs/image/previewFoundation.js +0 -11
- package/lib/cjs/image/previewImageFoundation.d.ts +9 -24
- package/lib/cjs/image/previewImageFoundation.js +79 -164
- package/lib/cjs/image/previewInnerFoundation.d.ts +19 -15
- package/lib/cjs/image/previewInnerFoundation.js +108 -114
- package/lib/cjs/image/utils.d.ts +1 -1
- package/lib/cjs/image/utils.js +46 -35
- package/lib/cjs/image/variables.scss +1 -1
- package/lib/cjs/input/constants.js +1 -3
- package/lib/cjs/input/foundation.js +19 -104
- package/lib/cjs/input/input.css +45 -1
- package/lib/cjs/input/input.scss +48 -3
- package/lib/cjs/input/textarea.css +20 -0
- package/lib/cjs/input/textarea.scss +34 -0
- package/lib/cjs/input/textareaFoundation.d.ts +1 -1
- package/lib/cjs/input/textareaFoundation.js +58 -101
- package/lib/cjs/input/util/calculateNodeHeight.js +6 -18
- package/lib/cjs/input/util/getSizingData.js +7 -11
- package/lib/cjs/input/variables.scss +7 -0
- package/lib/cjs/inputNumber/constants.js +0 -2
- package/lib/cjs/inputNumber/foundation.js +28 -197
- package/lib/cjs/inputNumber/inputNumber.css +4 -0
- package/lib/cjs/inputNumber/inputNumber.scss +9 -0
- package/lib/cjs/layout/constants.js +1 -3
- package/lib/cjs/list/constants.js +1 -3
- package/lib/cjs/modal/constants.js +1 -3
- package/lib/cjs/modal/modal.css +8 -0
- package/lib/cjs/modal/modal.scss +10 -1
- package/lib/cjs/modal/modalContentFoundation.js +0 -20
- package/lib/cjs/modal/modalFoundation.d.ts +8 -4
- package/lib/cjs/modal/modalFoundation.js +40 -15
- package/lib/cjs/modal/variables.scss +6 -1
- package/lib/cjs/navigation/NavItem.js +0 -12
- package/lib/cjs/navigation/constants.js +1 -4
- package/lib/cjs/navigation/foundation.js +3 -70
- package/lib/cjs/navigation/itemFoundation.js +3 -22
- package/lib/cjs/navigation/subNavFoundation.js +7 -42
- package/lib/cjs/notification/constants.js +3 -6
- package/lib/cjs/notification/notification.css +18 -0
- package/lib/cjs/notification/notification.scss +21 -1
- package/lib/cjs/notification/notificationFoundation.d.ts +6 -6
- package/lib/cjs/notification/notificationFoundation.js +0 -16
- package/lib/cjs/notification/notificationListFoundation.d.ts +4 -1
- package/lib/cjs/notification/notificationListFoundation.js +15 -18
- package/lib/cjs/overflowList/constants.d.ts +6 -4
- package/lib/cjs/overflowList/constants.js +3 -3
- package/lib/cjs/overflowList/foundation.d.ts +3 -1
- package/lib/cjs/overflowList/foundation.js +59 -68
- package/lib/cjs/pagination/constants.js +1 -3
- package/lib/cjs/pagination/foundation.d.ts +5 -3
- package/lib/cjs/pagination/foundation.js +36 -93
- package/lib/cjs/pagination/pagination.css +23 -0
- package/lib/cjs/pagination/pagination.scss +29 -0
- package/lib/cjs/pagination/variables.scss +1 -0
- package/lib/cjs/popconfirm/constants.js +2 -4
- package/lib/cjs/popconfirm/popconfirm.css +4 -24
- package/lib/cjs/popconfirm/popconfirm.scss +4 -16
- package/lib/cjs/popconfirm/popconfirmFoundation.d.ts +4 -0
- package/lib/cjs/popconfirm/popconfirmFoundation.js +17 -19
- package/lib/cjs/popconfirm/rtl.scss +0 -13
- package/lib/cjs/popconfirm/variables.scss +0 -4
- package/lib/cjs/popover/constants.d.ts +1 -1
- package/lib/cjs/popover/constants.js +3 -6
- package/lib/cjs/popover/popover.css +2 -0
- package/lib/cjs/popover/popover.scss +2 -0
- package/lib/cjs/progress/constants.js +1 -3
- package/lib/cjs/progress/generates.d.ts +2 -2
- package/lib/cjs/progress/generates.js +33 -74
- package/lib/cjs/radio/constants.js +13 -15
- package/lib/cjs/radio/radio.css +3 -0
- package/lib/cjs/radio/radio.scss +6 -3
- package/lib/cjs/radio/radioFoundation.js +0 -14
- package/lib/cjs/radio/radioGroupFoundation.js +3 -23
- package/lib/cjs/radio/radioInnerFoundation.js +1 -19
- package/lib/cjs/radio/variables.scss +4 -0
- package/lib/cjs/rating/constants.js +1 -3
- package/lib/cjs/rating/foundation.js +10 -62
- package/lib/cjs/scrollList/constants.js +2 -4
- 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 +3 -6
- package/lib/cjs/select/foundation.d.ts +8 -6
- package/lib/cjs/select/foundation.js +172 -434
- package/lib/cjs/select/option.scss +1 -1
- package/lib/cjs/select/optionFoundation.js +2 -14
- package/lib/cjs/select/select.css +50 -0
- package/lib/cjs/select/select.scss +74 -5
- package/lib/cjs/select/variables.scss +9 -6
- package/lib/cjs/sideSheet/constants.js +2 -4
- package/lib/cjs/sideSheet/sideSheet.css +30 -0
- package/lib/cjs/sideSheet/sideSheet.scss +38 -0
- package/lib/cjs/sideSheet/sideSheetFoundation.d.ts +1 -0
- package/lib/cjs/sideSheet/sideSheetFoundation.js +0 -18
- package/lib/cjs/sideSheet/variables.scss +7 -0
- package/lib/cjs/skeleton/constants.js +1 -3
- package/lib/cjs/skeleton/skeleton.css +3 -2
- package/lib/cjs/skeleton/skeleton.scss +1 -0
- package/lib/cjs/skeleton/variables.scss +2 -2
- package/lib/cjs/slider/constants.d.ts +1 -0
- package/lib/cjs/slider/constants.js +8 -9
- package/lib/cjs/slider/foundation.d.ts +13 -2
- package/lib/cjs/slider/foundation.js +30 -226
- package/lib/cjs/slider/slider.css +25 -11
- package/lib/cjs/slider/slider.scss +16 -1
- package/lib/cjs/slider/variables.scss +15 -9
- package/lib/cjs/space/constants.js +1 -3
- package/lib/cjs/spin/constants.js +1 -3
- package/lib/cjs/spin/foundation.js +3 -13
- package/lib/cjs/spin/spin.css +3 -0
- package/lib/cjs/spin/spin.scss +3 -0
- package/lib/cjs/steps/bacisSteps.scss +10 -3
- package/lib/cjs/steps/constants.js +2 -4
- package/lib/cjs/steps/fillSteps.scss +7 -7
- package/lib/cjs/steps/steps.css +27 -22
- package/lib/cjs/steps/variables.scss +3 -3
- package/lib/cjs/switch/constants.js +13 -15
- package/lib/cjs/switch/foundation.js +1 -21
- package/lib/cjs/switch/switch.css +10 -0
- package/lib/cjs/switch/switch.scss +13 -2
- package/lib/cjs/table/bodyFoundation.js +1 -34
- package/lib/cjs/table/cellFoundation.js +0 -5
- package/lib/cjs/table/constants.d.ts +0 -1
- package/lib/cjs/table/constants.js +13 -18
- package/lib/cjs/table/foundation.d.ts +26 -16
- package/lib/cjs/table/foundation.js +79 -308
- package/lib/cjs/table/rtl.scss +33 -2
- package/lib/cjs/table/table.css +100 -64
- package/lib/cjs/table/table.scss +66 -8
- package/lib/cjs/table/tableRowFoundation.js +0 -12
- package/lib/cjs/table/tableSelectionCellFoundation.js +0 -6
- package/lib/cjs/table/utils.d.ts +6 -4
- package/lib/cjs/table/utils.js +27 -160
- package/lib/cjs/table/variables.scss +6 -3
- package/lib/cjs/tabs/constants.js +21 -23
- package/lib/cjs/tabs/foundation.js +2 -40
- package/lib/cjs/tabs/tabs.css +207 -7
- package/lib/cjs/tabs/tabs.scss +339 -24
- package/lib/cjs/tag/constants.js +1 -4
- package/lib/cjs/tag/tag.css +34 -1
- package/lib/cjs/tag/tag.scss +43 -4
- package/lib/cjs/tag/variables.scss +5 -0
- package/lib/cjs/tagInput/constants.js +1 -3
- package/lib/cjs/tagInput/foundation.d.ts +7 -4
- package/lib/cjs/tagInput/foundation.js +64 -88
- package/lib/cjs/tagInput/tagInput.css +35 -9
- package/lib/cjs/tagInput/tagInput.scss +41 -12
- package/lib/cjs/tagInput/utils/getSplitedArray.js +0 -11
- package/lib/cjs/tagInput/variables.scss +2 -0
- package/lib/cjs/timePicker/ComboxFoundation.js +6 -41
- package/lib/cjs/timePicker/constants.js +3 -6
- package/lib/cjs/timePicker/foundation.d.ts +2 -2
- package/lib/cjs/timePicker/foundation.js +28 -107
- package/lib/cjs/timePicker/inputFoundation.js +4 -25
- package/lib/cjs/timePicker/timePicker.css +15 -0
- package/lib/cjs/timePicker/timePicker.scss +22 -1
- package/lib/cjs/timePicker/utils/index.js +12 -51
- package/lib/cjs/timePicker/utils/localeDate.js +0 -10
- package/lib/cjs/timeline/constants.js +2 -4
- package/lib/cjs/toast/animation.scss +3 -0
- package/lib/cjs/toast/constants.js +3 -6
- package/lib/cjs/toast/toast.css +35 -3
- package/lib/cjs/toast/toast.scss +43 -3
- package/lib/cjs/toast/toastFoundation.d.ts +5 -4
- package/lib/cjs/toast/toastFoundation.js +0 -14
- package/lib/cjs/toast/toastListFoundation.d.ts +5 -0
- package/lib/cjs/toast/toastListFoundation.js +10 -22
- package/lib/cjs/toast/variables.scss +14 -0
- package/lib/cjs/tooltip/constants.d.ts +1 -1
- package/lib/cjs/tooltip/constants.js +2 -4
- package/lib/cjs/tooltip/foundation.d.ts +5 -2
- package/lib/cjs/tooltip/foundation.js +143 -336
- package/lib/cjs/tooltip/tooltip.css +7 -0
- package/lib/cjs/tooltip/tooltip.scss +9 -0
- package/lib/cjs/transfer/constants.js +1 -3
- package/lib/cjs/transfer/foundation.d.ts +1 -1
- package/lib/cjs/transfer/foundation.js +4 -69
- package/lib/cjs/transfer/transfer.css +4 -0
- package/lib/cjs/transfer/transfer.scss +7 -0
- package/lib/cjs/transfer/transferUtils.js +5 -27
- package/lib/cjs/tree/constants.js +2 -4
- package/lib/cjs/tree/foundation.d.ts +14 -9
- package/lib/cjs/tree/foundation.js +60 -183
- package/lib/cjs/tree/rtl.scss +19 -11
- package/lib/cjs/tree/tree.css +147 -65
- package/lib/cjs/tree/tree.scss +112 -17
- package/lib/cjs/tree/treeUtil.d.ts +17 -8
- package/lib/cjs/tree/treeUtil.js +102 -195
- package/lib/cjs/tree/variables.scss +3 -2
- package/lib/cjs/treeSelect/constants.js +3 -5
- package/lib/cjs/treeSelect/foundation.d.ts +26 -13
- package/lib/cjs/treeSelect/foundation.js +153 -248
- package/lib/cjs/treeSelect/treeSelect.css +55 -10
- package/lib/cjs/treeSelect/treeSelect.scss +76 -20
- package/lib/cjs/treeSelect/variables.scss +4 -2
- package/lib/cjs/typography/constants.d.ts +1 -0
- package/lib/cjs/typography/constants.js +2 -3
- package/lib/cjs/typography/formatNumeral.d.ts +3 -3
- package/lib/cjs/typography/formatNumeral.js +22 -43
- package/lib/cjs/typography/typography.css +135 -2
- package/lib/cjs/typography/typography.scss +151 -8
- package/lib/cjs/typography/variables.scss +52 -0
- package/lib/cjs/upload/constants.js +2 -4
- package/lib/cjs/upload/fileCardFoundation.d.ts +9 -0
- package/lib/cjs/upload/fileCardFoundation.js +18 -0
- package/lib/cjs/upload/foundation.d.ts +14 -5
- package/lib/cjs/upload/foundation.js +107 -247
- package/lib/cjs/upload/upload.css +9 -0
- package/lib/cjs/upload/upload.scss +8 -0
- package/lib/cjs/upload/utils.js +14 -33
- package/lib/cjs/utils/Event.js +1 -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 +2 -2
- package/lib/cjs/utils/array.js +2 -9
- package/lib/cjs/utils/arrayMove.js +0 -1
- package/lib/cjs/utils/classnames.js +0 -12
- package/lib/cjs/utils/date-fns-extra.d.ts +28 -17
- package/lib/cjs/utils/date-fns-extra.js +82 -51
- package/lib/cjs/utils/dom.d.ts +1 -1
- package/lib/cjs/utils/dom.js +0 -13
- package/lib/cjs/utils/function.js +0 -2
- package/lib/cjs/utils/getDataAttr.js +1 -3
- package/lib/cjs/utils/getHighlight.js +5 -26
- package/lib/cjs/utils/getMotionObjFromProps.js +4 -16
- 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 +10 -36
- package/lib/cjs/utils/set.js +0 -8
- package/lib/cjs/utils/shallowEqualObjects.js +0 -7
- package/lib/cjs/utils/touchPolyfill.js +1 -8
- package/lib/cjs/utils/type.d.ts +3 -3
- package/lib/cjs/utils/uuid.js +4 -11
- package/lib/cjs/utils/warning.js +1 -2
- package/lib/es/anchor/anchor.css +5 -0
- package/lib/es/anchor/anchor.scss +6 -0
- package/lib/es/anchor/constants.js +1 -1
- package/lib/es/anchor/foundation.js +20 -73
- package/lib/es/anchor/linkFoundation.js +3 -12
- package/lib/es/anchor/variables.scss +4 -0
- package/lib/es/autoComplete/autoComplete.css +1 -0
- package/lib/es/autoComplete/autoComplete.scss +2 -0
- package/lib/es/autoComplete/constants.js +3 -3
- package/lib/es/autoComplete/foundation.d.ts +3 -1
- package/lib/es/autoComplete/foundation.js +37 -142
- package/lib/es/autoComplete/optionFoundation.js +2 -10
- package/lib/es/avatar/animation.scss +19 -0
- package/lib/es/avatar/avatar.css +261 -0
- package/lib/es/avatar/avatar.scss +314 -1
- package/lib/es/avatar/constants.js +1 -2
- package/lib/es/avatar/foundation.d.ts +3 -0
- package/lib/es/avatar/foundation.js +21 -14
- package/lib/es/avatar/variables.scss +66 -10
- package/lib/es/backtop/constants.js +1 -1
- package/lib/es/backtop/foundation.d.ts +2 -2
- package/lib/es/backtop/foundation.js +0 -16
- package/lib/es/badge/badge.css +10 -0
- package/lib/es/badge/badge.scss +13 -0
- package/lib/es/badge/constants.js +2 -2
- package/lib/es/badge/variables.scss +4 -0
- package/lib/es/banner/constants.js +1 -1
- package/lib/es/banner/foundation.js +0 -3
- package/lib/es/base/constants.js +2 -2
- package/lib/es/base/foundation.d.ts +3 -3
- package/lib/es/base/foundation.js +11 -44
- package/lib/es/breadcrumb/breadcrumb.css +5 -3
- package/lib/es/breadcrumb/breadcrumb.scss +10 -4
- package/lib/es/breadcrumb/constants.js +1 -1
- package/lib/es/breadcrumb/foundation.js +0 -8
- package/lib/es/breadcrumb/itemFoundation.js +0 -3
- package/lib/es/breadcrumb/variables.scss +4 -0
- package/lib/es/button/button.css +32 -5
- package/lib/es/button/button.scss +88 -21
- package/lib/es/button/constants.js +1 -1
- package/lib/es/button/iconButton.css +1 -0
- package/lib/es/button/iconButton.scss +1 -0
- package/lib/es/button/splitButtonGroup.scss +10 -9
- package/lib/es/button/variables.scss +13 -0
- package/lib/es/calendar/calendar.css +2 -2
- package/lib/es/calendar/calendar.scss +1 -1
- package/lib/es/calendar/constants.js +1 -1
- package/lib/es/calendar/eventUtil.d.ts +7 -6
- package/lib/es/calendar/eventUtil.js +15 -45
- package/lib/es/calendar/foundation.d.ts +4 -4
- package/lib/es/calendar/foundation.js +32 -122
- package/lib/es/card/constants.js +1 -1
- package/lib/es/carousel/carousel.css +4 -0
- package/lib/es/carousel/carousel.scss +4 -0
- package/lib/es/carousel/constants.js +9 -9
- package/lib/es/carousel/foundation.d.ts +2 -0
- package/lib/es/carousel/foundation.js +7 -47
- package/lib/es/cascader/cascader.css +45 -4
- package/lib/es/cascader/cascader.scss +66 -23
- package/lib/es/cascader/constants.d.ts +3 -0
- package/lib/es/cascader/constants.js +7 -5
- package/lib/es/cascader/foundation.d.ts +27 -8
- package/lib/es/cascader/foundation.js +125 -286
- package/lib/es/cascader/util.d.ts +9 -1
- package/lib/es/cascader/util.js +65 -24
- package/lib/es/cascader/variables.scss +5 -1
- package/lib/es/checkbox/checkbox.css +0 -1
- package/lib/es/checkbox/checkbox.scss +0 -1
- package/lib/es/checkbox/checkboxFoundation.js +1 -34
- package/lib/es/checkbox/checkboxGroupFoundation.js +1 -20
- package/lib/es/checkbox/constants.js +13 -13
- package/lib/es/collapse/constants.js +1 -1
- package/lib/es/collapse/foundation.d.ts +2 -1
- package/lib/es/collapse/foundation.js +2 -9
- package/lib/es/collapsible/constants.js +1 -1
- 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.d.ts +1 -0
- package/lib/es/datePicker/_utils/getDefaultFormatToken.js +2 -3
- 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 +2 -5
- package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +1 -5
- package/lib/es/datePicker/_utils/getMonthTable.d.ts +1 -1
- package/lib/es/datePicker/_utils/getMonthTable.js +8 -18
- package/lib/es/datePicker/_utils/getMonthsInYear.js +1 -2
- 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/isValidTimeZone.d.ts +1 -0
- package/lib/es/datePicker/_utils/isValidTimeZone.js +3 -0
- package/lib/es/datePicker/_utils/parser.js +0 -8
- package/lib/es/datePicker/constants.d.ts +1 -1
- package/lib/es/datePicker/constants.js +28 -28
- package/lib/es/datePicker/datePicker.css +88 -13
- package/lib/es/datePicker/datePicker.scss +170 -21
- package/lib/es/datePicker/foundation.d.ts +79 -50
- package/lib/es/datePicker/foundation.js +173 -426
- package/lib/es/datePicker/inputFoundation.d.ts +15 -6
- package/lib/es/datePicker/inputFoundation.js +35 -85
- package/lib/es/datePicker/monthFoundation.d.ts +1 -1
- package/lib/es/datePicker/monthFoundation.js +3 -22
- package/lib/es/datePicker/monthsGridFoundation.d.ts +18 -13
- package/lib/es/datePicker/monthsGridFoundation.js +70 -231
- package/lib/es/datePicker/variables.scss +13 -4
- package/lib/es/datePicker/yearAndMonthFoundation.d.ts +68 -13
- package/lib/es/datePicker/yearAndMonthFoundation.js +55 -37
- package/lib/es/descriptions/constants.d.ts +1 -0
- package/lib/es/descriptions/constants.js +3 -2
- package/lib/es/descriptions/descriptions.css +15 -0
- package/lib/es/descriptions/descriptions.scss +20 -0
- package/lib/es/descriptions/foundation.d.ts +7 -0
- package/lib/es/descriptions/foundation.js +37 -0
- package/lib/es/descriptions/variables.scss +10 -0
- package/lib/es/divider/constants.js +1 -1
- package/lib/es/dropdown/constants.js +4 -4
- package/lib/es/dropdown/dropdown.css +4 -0
- package/lib/es/dropdown/dropdown.scss +5 -0
- package/lib/es/dropdown/foundation.js +9 -20
- package/lib/es/dropdown/menuFoundation.js +9 -23
- package/lib/es/empty/constants.js +1 -1
- package/lib/es/form/constants.d.ts +1 -0
- package/lib/es/form/constants.js +3 -2
- package/lib/es/form/form.css +4 -0
- package/lib/es/form/form.scss +5 -2
- package/lib/es/form/foundation.d.ts +4 -4
- package/lib/es/form/foundation.js +84 -203
- package/lib/es/form/interface.d.ts +10 -10
- package/lib/es/form/utils.d.ts +10 -1
- package/lib/es/form/utils.js +83 -86
- package/lib/es/form/variables.scss +3 -0
- package/lib/es/grid/constants.js +1 -1
- package/lib/es/grid/grid.css +1 -1
- package/lib/es/grid/grid.scss +1 -1
- package/lib/es/highlight/constants.js +1 -1
- package/lib/es/icons/constants.js +1 -1
- package/lib/es/image/constants.d.ts +4 -1
- package/lib/es/image/constants.js +5 -2
- package/lib/es/image/image.css +4 -2
- package/lib/es/image/image.scss +9 -5
- package/lib/es/image/imageFoundation.js +4 -13
- package/lib/es/image/previewFooterFoundation.d.ts +0 -1
- package/lib/es/image/previewFooterFoundation.js +0 -10
- package/lib/es/image/previewFoundation.js +0 -7
- package/lib/es/image/previewImageFoundation.d.ts +9 -24
- package/lib/es/image/previewImageFoundation.js +79 -156
- package/lib/es/image/previewInnerFoundation.d.ts +19 -15
- package/lib/es/image/previewInnerFoundation.js +108 -107
- package/lib/es/image/utils.d.ts +1 -1
- package/lib/es/image/utils.js +46 -27
- package/lib/es/image/variables.scss +1 -1
- package/lib/es/input/constants.js +1 -1
- package/lib/es/input/foundation.js +19 -96
- package/lib/es/input/input.css +45 -1
- package/lib/es/input/input.scss +48 -3
- package/lib/es/input/textarea.css +20 -0
- package/lib/es/input/textarea.scss +34 -0
- package/lib/es/input/textareaFoundation.d.ts +1 -1
- package/lib/es/input/textareaFoundation.js +58 -91
- package/lib/es/input/util/calculateNodeHeight.js +6 -18
- package/lib/es/input/util/getSizingData.js +7 -11
- package/lib/es/input/variables.scss +7 -0
- package/lib/es/inputNumber/foundation.js +28 -188
- package/lib/es/inputNumber/inputNumber.css +4 -0
- package/lib/es/inputNumber/inputNumber.scss +9 -0
- package/lib/es/layout/constants.js +1 -1
- package/lib/es/list/constants.js +1 -1
- package/lib/es/modal/constants.js +1 -1
- package/lib/es/modal/modal.css +8 -0
- package/lib/es/modal/modal.scss +10 -1
- package/lib/es/modal/modalContentFoundation.js +0 -15
- package/lib/es/modal/modalFoundation.d.ts +8 -4
- package/lib/es/modal/modalFoundation.js +40 -11
- package/lib/es/modal/variables.scss +6 -1
- package/lib/es/navigation/NavItem.js +0 -8
- package/lib/es/navigation/constants.js +2 -2
- package/lib/es/navigation/foundation.js +3 -63
- package/lib/es/navigation/itemFoundation.js +3 -19
- package/lib/es/navigation/subNavFoundation.js +7 -38
- package/lib/es/notification/constants.js +4 -4
- package/lib/es/notification/notification.css +18 -0
- package/lib/es/notification/notification.scss +21 -1
- package/lib/es/notification/notificationFoundation.d.ts +6 -6
- package/lib/es/notification/notificationFoundation.js +0 -11
- package/lib/es/notification/notificationListFoundation.d.ts +4 -1
- package/lib/es/notification/notificationListFoundation.js +15 -14
- package/lib/es/overflowList/constants.d.ts +6 -4
- package/lib/es/overflowList/constants.js +3 -1
- package/lib/es/overflowList/foundation.d.ts +3 -1
- package/lib/es/overflowList/foundation.js +59 -64
- package/lib/es/pagination/constants.js +1 -1
- package/lib/es/pagination/foundation.d.ts +5 -3
- package/lib/es/pagination/foundation.js +36 -90
- package/lib/es/pagination/pagination.css +23 -0
- package/lib/es/pagination/pagination.scss +29 -0
- package/lib/es/pagination/variables.scss +1 -0
- package/lib/es/popconfirm/constants.js +2 -2
- package/lib/es/popconfirm/popconfirm.css +4 -24
- package/lib/es/popconfirm/popconfirm.scss +4 -16
- package/lib/es/popconfirm/popconfirmFoundation.d.ts +4 -0
- package/lib/es/popconfirm/popconfirmFoundation.js +17 -14
- package/lib/es/popconfirm/rtl.scss +0 -13
- package/lib/es/popconfirm/variables.scss +0 -4
- package/lib/es/popover/constants.d.ts +1 -1
- package/lib/es/popover/constants.js +3 -3
- package/lib/es/popover/popover.css +2 -0
- package/lib/es/popover/popover.scss +2 -0
- package/lib/es/progress/constants.js +1 -1
- package/lib/es/progress/generates.d.ts +2 -2
- package/lib/es/progress/generates.js +33 -73
- package/lib/es/radio/constants.js +13 -13
- package/lib/es/radio/radio.css +3 -0
- package/lib/es/radio/radio.scss +6 -3
- package/lib/es/radio/radioFoundation.js +0 -9
- package/lib/es/radio/radioGroupFoundation.js +3 -19
- package/lib/es/radio/radioInnerFoundation.js +1 -15
- package/lib/es/radio/variables.scss +4 -0
- package/lib/es/rating/constants.js +1 -1
- package/lib/es/rating/foundation.js +10 -55
- package/lib/es/scrollList/constants.js +2 -2
- package/lib/es/scrollList/itemFoundation.js +8 -60
- package/lib/es/scrollList/scrollTo.js +2 -4
- package/lib/es/select/constants.js +3 -3
- package/lib/es/select/foundation.d.ts +8 -6
- package/lib/es/select/foundation.js +172 -420
- package/lib/es/select/option.scss +1 -1
- package/lib/es/select/optionFoundation.js +2 -10
- package/lib/es/select/select.css +50 -0
- package/lib/es/select/select.scss +74 -5
- package/lib/es/select/variables.scss +9 -6
- package/lib/es/sideSheet/constants.js +2 -2
- package/lib/es/sideSheet/sideSheet.css +30 -0
- package/lib/es/sideSheet/sideSheet.scss +38 -0
- package/lib/es/sideSheet/sideSheetFoundation.d.ts +1 -0
- package/lib/es/sideSheet/sideSheetFoundation.js +0 -12
- package/lib/es/sideSheet/variables.scss +7 -0
- package/lib/es/skeleton/constants.js +1 -1
- package/lib/es/skeleton/skeleton.css +3 -2
- package/lib/es/skeleton/skeleton.scss +1 -0
- package/lib/es/skeleton/variables.scss +2 -2
- package/lib/es/slider/constants.d.ts +1 -0
- package/lib/es/slider/constants.js +8 -7
- package/lib/es/slider/foundation.d.ts +13 -2
- package/lib/es/slider/foundation.js +30 -219
- package/lib/es/slider/slider.css +25 -11
- package/lib/es/slider/slider.scss +16 -1
- package/lib/es/slider/variables.scss +15 -9
- package/lib/es/space/constants.js +1 -1
- package/lib/es/spin/constants.js +1 -1
- package/lib/es/spin/foundation.js +3 -11
- package/lib/es/spin/spin.css +3 -0
- package/lib/es/spin/spin.scss +3 -0
- package/lib/es/steps/bacisSteps.scss +10 -3
- package/lib/es/steps/constants.js +2 -2
- package/lib/es/steps/fillSteps.scss +7 -7
- package/lib/es/steps/steps.css +27 -22
- package/lib/es/steps/variables.scss +3 -3
- package/lib/es/switch/constants.js +13 -13
- package/lib/es/switch/foundation.js +1 -16
- package/lib/es/switch/switch.css +10 -0
- package/lib/es/switch/switch.scss +13 -2
- package/lib/es/table/bodyFoundation.js +1 -25
- package/lib/es/table/cellFoundation.js +0 -1
- package/lib/es/table/constants.d.ts +0 -1
- package/lib/es/table/constants.js +13 -16
- package/lib/es/table/foundation.d.ts +26 -16
- package/lib/es/table/foundation.js +79 -313
- package/lib/es/table/rtl.scss +33 -2
- package/lib/es/table/table.css +100 -64
- package/lib/es/table/table.scss +66 -8
- package/lib/es/table/tableRowFoundation.js +1 -9
- package/lib/es/table/tableSelectionCellFoundation.js +0 -2
- package/lib/es/table/utils.d.ts +6 -4
- package/lib/es/table/utils.js +25 -119
- package/lib/es/table/variables.scss +6 -3
- package/lib/es/tabs/constants.js +21 -21
- package/lib/es/tabs/foundation.js +2 -35
- package/lib/es/tabs/tabs.css +207 -7
- package/lib/es/tabs/tabs.scss +339 -24
- package/lib/es/tag/constants.js +1 -2
- package/lib/es/tag/tag.css +34 -1
- package/lib/es/tag/tag.scss +43 -4
- package/lib/es/tag/variables.scss +5 -0
- package/lib/es/tagInput/constants.js +1 -1
- package/lib/es/tagInput/foundation.d.ts +7 -4
- package/lib/es/tagInput/foundation.js +64 -78
- package/lib/es/tagInput/tagInput.css +35 -9
- package/lib/es/tagInput/tagInput.scss +41 -12
- package/lib/es/tagInput/utils/getSplitedArray.js +0 -7
- package/lib/es/tagInput/variables.scss +2 -0
- package/lib/es/timePicker/ComboxFoundation.js +6 -32
- package/lib/es/timePicker/constants.js +3 -3
- package/lib/es/timePicker/foundation.d.ts +2 -2
- package/lib/es/timePicker/foundation.js +30 -101
- package/lib/es/timePicker/inputFoundation.js +4 -22
- package/lib/es/timePicker/timePicker.css +15 -0
- package/lib/es/timePicker/timePicker.scss +22 -1
- package/lib/es/timePicker/utils/index.js +12 -30
- package/lib/es/timePicker/utils/localeDate.js +0 -8
- package/lib/es/timeline/constants.js +2 -2
- package/lib/es/toast/animation.scss +3 -0
- package/lib/es/toast/constants.js +4 -4
- package/lib/es/toast/toast.css +35 -3
- package/lib/es/toast/toast.scss +43 -3
- package/lib/es/toast/toastFoundation.d.ts +5 -4
- package/lib/es/toast/toastFoundation.js +0 -9
- package/lib/es/toast/toastListFoundation.d.ts +5 -0
- package/lib/es/toast/toastListFoundation.js +10 -18
- package/lib/es/toast/variables.scss +14 -0
- package/lib/es/tooltip/constants.d.ts +1 -1
- package/lib/es/tooltip/constants.js +2 -2
- package/lib/es/tooltip/foundation.d.ts +5 -2
- package/lib/es/tooltip/foundation.js +143 -332
- package/lib/es/tooltip/tooltip.css +7 -0
- package/lib/es/tooltip/tooltip.scss +9 -0
- package/lib/es/transfer/constants.js +1 -1
- package/lib/es/transfer/foundation.d.ts +1 -1
- package/lib/es/transfer/foundation.js +5 -62
- package/lib/es/transfer/transfer.css +4 -0
- package/lib/es/transfer/transfer.scss +7 -0
- package/lib/es/transfer/transferUtils.js +5 -21
- package/lib/es/tree/constants.js +2 -2
- package/lib/es/tree/foundation.d.ts +14 -9
- package/lib/es/tree/foundation.js +60 -176
- package/lib/es/tree/rtl.scss +19 -11
- package/lib/es/tree/tree.css +147 -65
- package/lib/es/tree/tree.scss +112 -17
- package/lib/es/tree/treeUtil.d.ts +17 -8
- package/lib/es/tree/treeUtil.js +102 -161
- package/lib/es/tree/variables.scss +3 -2
- package/lib/es/treeSelect/constants.js +3 -3
- package/lib/es/treeSelect/foundation.d.ts +26 -13
- package/lib/es/treeSelect/foundation.js +155 -235
- package/lib/es/treeSelect/treeSelect.css +55 -10
- package/lib/es/treeSelect/treeSelect.scss +76 -20
- package/lib/es/treeSelect/variables.scss +4 -2
- package/lib/es/typography/constants.d.ts +1 -0
- package/lib/es/typography/constants.js +2 -1
- package/lib/es/typography/formatNumeral.d.ts +3 -3
- package/lib/es/typography/formatNumeral.js +22 -40
- package/lib/es/typography/typography.css +135 -2
- package/lib/es/typography/typography.scss +151 -8
- package/lib/es/typography/variables.scss +52 -0
- package/lib/es/upload/constants.js +2 -2
- package/lib/es/upload/fileCardFoundation.d.ts +9 -0
- package/lib/es/upload/fileCardFoundation.js +10 -0
- package/lib/es/upload/foundation.d.ts +14 -5
- package/lib/es/upload/foundation.js +107 -240
- package/lib/es/upload/upload.css +9 -0
- package/lib/es/upload/upload.scss +8 -0
- package/lib/es/upload/utils.js +14 -28
- package/lib/es/utils/Event.js +1 -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 +2 -2
- package/lib/es/utils/array.js +2 -7
- package/lib/es/utils/classnames.js +0 -10
- package/lib/es/utils/date-fns-extra.d.ts +28 -17
- package/lib/es/utils/date-fns-extra.js +78 -40
- package/lib/es/utils/dom.d.ts +1 -1
- package/lib/es/utils/dom.js +0 -9
- package/lib/es/utils/function.js +0 -1
- package/lib/es/utils/getDataAttr.js +1 -2
- package/lib/es/utils/getHighlight.js +5 -26
- package/lib/es/utils/getMotionObjFromProps.js +4 -12
- 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 +10 -29
- package/lib/es/utils/set.js +0 -5
- package/lib/es/utils/shallowEqualObjects.js +0 -6
- package/lib/es/utils/touchPolyfill.js +1 -6
- package/lib/es/utils/type.d.ts +3 -3
- package/lib/es/utils/uuid.js +4 -10
- package/lib/es/utils/warning.js +1 -1
- package/modal/modal.scss +10 -1
- package/modal/modalContentFoundation.ts +3 -3
- package/modal/modalFoundation.ts +32 -7
- package/modal/variables.scss +6 -1
- package/navigation/NavItem.ts +0 -2
- package/navigation/foundation.ts +1 -3
- package/navigation/itemFoundation.ts +0 -1
- package/navigation/subNavFoundation.ts +3 -2
- package/notification/notification.scss +21 -1
- package/notification/notificationFoundation.ts +3 -3
- package/notification/notificationListFoundation.ts +14 -4
- package/overflowList/constants.ts +4 -2
- package/overflowList/foundation.ts +51 -33
- package/package.json +6 -5
- package/pagination/foundation.ts +13 -3
- package/pagination/pagination.scss +29 -0
- package/pagination/variables.scss +1 -0
- package/popconfirm/popconfirm.scss +4 -16
- package/popconfirm/popconfirmFoundation.ts +20 -2
- package/popconfirm/rtl.scss +0 -13
- package/popconfirm/variables.scss +0 -4
- package/popover/constants.ts +1 -1
- package/popover/popover.scss +2 -0
- package/radio/radio.scss +6 -3
- package/radio/radioFoundation.ts +1 -1
- package/radio/radioGroupFoundation.ts +0 -1
- package/radio/radioInnerFoundation.ts +0 -1
- package/radio/variables.scss +4 -0
- package/rating/foundation.ts +0 -1
- package/select/foundation.ts +70 -32
- package/select/option.scss +1 -1
- package/select/optionFoundation.ts +0 -2
- package/select/select.scss +74 -5
- package/select/variables.scss +9 -6
- package/sideSheet/sideSheet.scss +38 -0
- package/sideSheet/sideSheetFoundation.ts +3 -2
- package/sideSheet/variables.scss +7 -0
- package/skeleton/skeleton.scss +1 -0
- package/skeleton/variables.scss +2 -2
- package/slider/constants.ts +1 -0
- package/slider/foundation.ts +25 -29
- package/slider/slider.scss +16 -1
- package/slider/variables.scss +15 -9
- package/spin/spin.scss +3 -0
- package/steps/bacisSteps.scss +10 -3
- package/steps/fillSteps.scss +7 -7
- package/steps/variables.scss +3 -3
- package/switch/foundation.ts +2 -4
- package/switch/switch.scss +13 -2
- package/table/bodyFoundation.ts +0 -1
- package/table/constants.ts +0 -3
- package/table/foundation.ts +33 -31
- package/table/rtl.scss +33 -2
- package/table/table.scss +66 -8
- package/table/tableRowFoundation.ts +0 -1
- package/table/utils.ts +23 -43
- package/table/variables.scss +6 -3
- package/tabs/foundation.ts +2 -2
- package/tabs/tabs.scss +339 -24
- package/tag/constants.ts +19 -2
- package/tag/tag.scss +43 -4
- package/tag/variables.scss +5 -0
- package/tagInput/foundation.ts +57 -3
- package/tagInput/tagInput.scss +41 -12
- package/tagInput/variables.scss +2 -0
- package/timePicker/foundation.ts +27 -18
- package/timePicker/inputFoundation.ts +0 -2
- package/timePicker/timePicker.scss +22 -1
- package/timePicker/utils/index.ts +3 -2
- package/toast/animation.scss +3 -0
- package/toast/toast.scss +43 -3
- package/toast/toastFoundation.ts +4 -6
- package/toast/toastListFoundation.ts +13 -3
- package/toast/variables.scss +14 -0
- package/tooltip/constants.ts +1 -1
- package/tooltip/foundation.ts +96 -58
- package/tooltip/tooltip.scss +9 -0
- package/transfer/foundation.ts +0 -1
- package/transfer/transfer.scss +7 -0
- package/tree/foundation.ts +38 -33
- package/tree/rtl.scss +19 -11
- package/tree/tree.scss +112 -17
- package/tree/treeUtil.ts +64 -32
- package/tree/variables.scss +3 -2
- package/treeSelect/foundation.ts +132 -70
- package/treeSelect/treeSelect.scss +76 -20
- package/treeSelect/variables.scss +4 -2
- package/typography/constants.ts +1 -0
- package/typography/formatNumeral.ts +2 -5
- package/typography/typography.scss +151 -8
- package/typography/variables.scss +52 -0
- package/upload/fileCardFoundation.ts +17 -0
- package/upload/foundation.ts +85 -10
- package/upload/upload.scss +8 -0
- package/utils/Event.ts +0 -1
- package/utils/a11y.ts +6 -6
- package/utils/array.ts +4 -4
- package/utils/date-fns-extra.ts +83 -22
- package/utils/function.ts +0 -1
- package/utils/getDataAttr.ts +1 -1
- package/utils/getMotionObjFromProps.ts +3 -2
- package/utils/object.ts +0 -3
|
@@ -4,45 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
|
|
9
|
-
|
|
10
8
|
var _isEqual2 = _interopRequireDefault(require("lodash/isEqual"));
|
|
11
|
-
|
|
12
9
|
var _isString2 = _interopRequireDefault(require("lodash/isString"));
|
|
13
|
-
|
|
14
10
|
var _isObject2 = _interopRequireDefault(require("lodash/isObject"));
|
|
15
|
-
|
|
16
11
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
17
|
-
|
|
18
12
|
var _dateFns = require("date-fns");
|
|
19
|
-
|
|
20
13
|
var _foundation = _interopRequireDefault(require("../base/foundation"));
|
|
21
|
-
|
|
22
14
|
var _index = require("./_utils/index");
|
|
23
|
-
|
|
24
15
|
var _isNullOrUndefined = _interopRequireDefault(require("../utils/isNullOrUndefined"));
|
|
25
|
-
|
|
26
16
|
var _dateFnsExtra = require("../utils/date-fns-extra");
|
|
27
|
-
|
|
28
17
|
var _parser = require("./_utils/parser");
|
|
29
|
-
|
|
30
18
|
var _getDefaultFormatToken = require("./_utils/getDefaultFormatToken");
|
|
31
|
-
|
|
32
19
|
var _constants = require("./constants");
|
|
33
|
-
|
|
34
20
|
var _constants2 = require("../input/constants");
|
|
35
|
-
|
|
36
21
|
var _getInsetInputFormatToken = _interopRequireDefault(require("./_utils/getInsetInputFormatToken"));
|
|
37
|
-
|
|
38
22
|
var _getInsetInputValueFromInsetInputStr = _interopRequireDefault(require("./_utils/getInsetInputValueFromInsetInputStr"));
|
|
39
|
-
|
|
23
|
+
var _isValidTimeZone = _interopRequireDefault(require("./_utils/isValidTimeZone"));
|
|
24
|
+
var _warning = _interopRequireDefault(require("../utils/warning"));
|
|
40
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
41
|
-
|
|
42
|
-
/* eslint-disable no-nested-ternary */
|
|
43
|
-
|
|
44
|
-
/* eslint-disable max-len, max-depth, */
|
|
45
|
-
|
|
46
26
|
/**
|
|
47
27
|
* The datePicker foundation.js is responsible for maintaining the date value and the input box value, as well as the callback of both
|
|
48
28
|
* task 1. Accept the selected date change, update the date value, and update the input box value according to the date = > Notify the change
|
|
@@ -55,41 +35,31 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
55
35
|
* clear range input focus when open is controlled
|
|
56
36
|
* fixed github 1375
|
|
57
37
|
*/
|
|
58
|
-
|
|
59
38
|
this.clearRangeInputFocus = () => {
|
|
60
39
|
const {
|
|
61
40
|
type
|
|
62
41
|
} = this._adapter.getProps();
|
|
63
|
-
|
|
64
42
|
const {
|
|
65
43
|
rangeInputFocus
|
|
66
44
|
} = this._adapter.getStates();
|
|
67
|
-
|
|
68
45
|
if (type === 'dateTimeRange' && rangeInputFocus) {
|
|
69
46
|
this._adapter.setRangeInputFocus(false);
|
|
70
47
|
}
|
|
71
48
|
};
|
|
72
|
-
|
|
73
49
|
this._isRangeType = () => {
|
|
74
50
|
const type = this._adapter.getProp('type');
|
|
75
|
-
|
|
76
51
|
return /range/i.test(type);
|
|
77
52
|
};
|
|
78
|
-
|
|
79
53
|
this._isRangeValueComplete = value => {
|
|
80
54
|
let result = false;
|
|
81
|
-
|
|
82
55
|
if (Array.isArray(value)) {
|
|
83
56
|
result = !value.some(date => (0, _isNullOrUndefined.default)(date));
|
|
84
57
|
}
|
|
85
|
-
|
|
86
58
|
return result;
|
|
87
59
|
};
|
|
88
60
|
}
|
|
89
|
-
|
|
90
61
|
init() {
|
|
91
62
|
const timeZone = this.getProp('timeZone');
|
|
92
|
-
|
|
93
63
|
if (this._isControlledComponent()) {
|
|
94
64
|
this.initFromProps({
|
|
95
65
|
timeZone,
|
|
@@ -101,38 +71,22 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
101
71
|
value: this.getProp('defaultValue')
|
|
102
72
|
});
|
|
103
73
|
}
|
|
104
|
-
|
|
105
74
|
this.initPanelOpenStatus(this.getProp('defaultOpen'));
|
|
106
75
|
}
|
|
107
|
-
|
|
108
|
-
isValidTimeZone(timeZone) {
|
|
109
|
-
const propTimeZone = this.getProp('timeZone');
|
|
110
|
-
|
|
111
|
-
const _timeZone = (0, _isNullOrUndefined.default)(timeZone) ? propTimeZone : timeZone;
|
|
112
|
-
|
|
113
|
-
return ['string', 'number'].includes(typeof _timeZone) && _timeZone !== '';
|
|
114
|
-
}
|
|
115
|
-
|
|
116
76
|
initFromProps(_ref) {
|
|
117
77
|
let {
|
|
118
78
|
value,
|
|
119
79
|
timeZone,
|
|
120
80
|
prevTimeZone
|
|
121
81
|
} = _ref;
|
|
122
|
-
|
|
123
82
|
const _value = (Array.isArray(value) ? [...value] : (value || value === 0) && [value]) || [];
|
|
124
|
-
|
|
125
83
|
const result = this.parseWithTimezone(_value, timeZone, prevTimeZone);
|
|
126
|
-
|
|
127
84
|
this._adapter.updatePrevTimezone(prevTimeZone);
|
|
128
|
-
|
|
129
|
-
this.
|
|
130
|
-
|
|
85
|
+
// reset input value when value update
|
|
86
|
+
this.clearInputValue();
|
|
131
87
|
this._adapter.updateValue(result);
|
|
132
|
-
|
|
133
88
|
this.resetCachedSelectedValue(result);
|
|
134
89
|
this.initRangeInputFocus(result);
|
|
135
|
-
|
|
136
90
|
if (this._adapter.needConfirm()) {
|
|
137
91
|
this._adapter.updateCachedSelectedValue(result);
|
|
138
92
|
}
|
|
@@ -142,38 +96,43 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
142
96
|
*
|
|
143
97
|
* If the user passes an empty value, you need to set the range input focus to rangeStart, so that the user can continue to select from the beginning after clearing
|
|
144
98
|
*/
|
|
145
|
-
|
|
146
|
-
|
|
147
99
|
initRangeInputFocus(result) {
|
|
148
100
|
const {
|
|
149
101
|
triggerRender
|
|
150
102
|
} = this.getProps();
|
|
151
|
-
|
|
152
103
|
if (this._isRangeType() && (0, _isFunction2.default)(triggerRender) && result.length === 0) {
|
|
153
104
|
this._adapter.setRangeInputFocus('rangeStart');
|
|
154
105
|
}
|
|
155
106
|
}
|
|
156
|
-
|
|
107
|
+
/**
|
|
108
|
+
* value 可能是 UTC value 也可能是 zoned value
|
|
109
|
+
*
|
|
110
|
+
* UTC value -> 受控传入的 value
|
|
111
|
+
*
|
|
112
|
+
* zoned value -> statue.value,保存的是当前计算机时区下选择的日期
|
|
113
|
+
*
|
|
114
|
+
* 如果是时区变化,则需要将旧 zoned value 转为新时区下的 zoned value
|
|
115
|
+
*
|
|
116
|
+
* 如果是 value 变化,则不需要传入之前的时区,将 UTC value 转为 zoned value 即可
|
|
117
|
+
*
|
|
118
|
+
*/
|
|
157
119
|
parseWithTimezone(value, timeZone, prevTimeZone) {
|
|
158
120
|
const result = [];
|
|
159
|
-
|
|
160
121
|
if (Array.isArray(value) && value.length) {
|
|
161
122
|
for (const v of value) {
|
|
162
123
|
let parsedV = (v || v === 0) && this._parseValue(v);
|
|
163
|
-
|
|
164
124
|
if (parsedV) {
|
|
165
|
-
if (
|
|
125
|
+
if ((0, _isValidTimeZone.default)(prevTimeZone)) {
|
|
166
126
|
parsedV = (0, _dateFnsExtra.zonedTimeToUtc)(parsedV, prevTimeZone);
|
|
167
127
|
}
|
|
168
|
-
|
|
169
|
-
|
|
128
|
+
result.push((0, _isValidTimeZone.default)(timeZone) ? (0, _dateFnsExtra.utcToZonedTime)(parsedV, timeZone) : parsedV);
|
|
129
|
+
} else {
|
|
130
|
+
(0, _warning.default)(true, `[Semi DatePicker] value cannot be parsed, value: ${String(v)}`);
|
|
170
131
|
}
|
|
171
132
|
}
|
|
172
133
|
}
|
|
173
|
-
|
|
174
134
|
return result;
|
|
175
135
|
}
|
|
176
|
-
|
|
177
136
|
_isMultiple() {
|
|
178
137
|
return Boolean(this.getProp('multiple'));
|
|
179
138
|
}
|
|
@@ -187,17 +146,12 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
187
146
|
Unified here to format the incoming value and output it as a Date object
|
|
188
147
|
*
|
|
189
148
|
*/
|
|
190
|
-
|
|
191
|
-
|
|
192
149
|
_parseValue(value) {
|
|
193
150
|
const dateFnsLocale = this._adapter.getProp('dateFnsLocale');
|
|
194
|
-
|
|
195
151
|
let dateObj;
|
|
196
|
-
|
|
197
152
|
if (!value && value !== 0) {
|
|
198
153
|
return new Date();
|
|
199
154
|
}
|
|
200
|
-
|
|
201
155
|
if ((0, _index.isValidDate)(value)) {
|
|
202
156
|
dateObj = value;
|
|
203
157
|
} else if ((0, _isString2.default)(value)) {
|
|
@@ -207,87 +161,37 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
207
161
|
} else {
|
|
208
162
|
throw new TypeError('defaultValue should be valid Date object/timestamp or string');
|
|
209
163
|
}
|
|
210
|
-
|
|
211
164
|
return dateObj;
|
|
212
165
|
}
|
|
213
|
-
|
|
214
166
|
destroy() {
|
|
215
167
|
// Ensure that event listeners will be uninstalled and users may not trigger closePanel
|
|
216
|
-
|
|
168
|
+
this._adapter.togglePanel(false);
|
|
217
169
|
this._adapter.unregisterClickOutSide();
|
|
218
170
|
}
|
|
219
|
-
|
|
220
171
|
initPanelOpenStatus(defaultOpen) {
|
|
221
172
|
if ((this.getProp('open') || defaultOpen) && !this.getProp('disabled')) {
|
|
222
173
|
this._adapter.togglePanel(true);
|
|
223
|
-
|
|
224
174
|
this._adapter.registerClickOutSide();
|
|
225
175
|
} else {
|
|
226
176
|
this._adapter.togglePanel(false);
|
|
227
|
-
|
|
228
177
|
this._adapter.unregisterClickOutSide();
|
|
229
178
|
}
|
|
230
179
|
}
|
|
231
|
-
|
|
232
180
|
openPanel() {
|
|
233
181
|
if (!this.getProp('disabled')) {
|
|
234
182
|
if (!this._isControlledComponent('open')) {
|
|
235
|
-
this.
|
|
236
|
-
|
|
237
|
-
this._adapter.registerClickOutSide();
|
|
183
|
+
this.open();
|
|
238
184
|
}
|
|
239
|
-
|
|
240
185
|
this._adapter.notifyOpenChange(true);
|
|
241
186
|
}
|
|
242
187
|
}
|
|
243
|
-
/**
|
|
244
|
-
* do these side effects when type is dateRange or dateTimeRange
|
|
245
|
-
* 1. trigger input blur, if input value is invalid, set input value and state value to previous status
|
|
246
|
-
* 2. set cachedSelectedValue using given dates(in needConfirm mode)
|
|
247
|
-
* - directly closePanel without click confirm will set cachedSelectedValue to state value
|
|
248
|
-
* - select one date(which means that the selection value is incomplete) and click confirm also set cachedSelectedValue to state value
|
|
249
|
-
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
rangeTypeSideEffectsWhenClosePanel(inputValue, willUpdateDates) {
|
|
253
|
-
if (this._isRangeType()) {
|
|
254
|
-
this._adapter.setRangeInputFocus(false);
|
|
255
|
-
/**
|
|
256
|
-
* inputValue is string when it is not disabled or can't parsed
|
|
257
|
-
* when inputValue is null, picker value will back to last selected value
|
|
258
|
-
*/
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
this.handleInputBlur(inputValue);
|
|
262
|
-
this.resetCachedSelectedValue(willUpdateDates);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* clear input value when selected date is not confirmed
|
|
267
|
-
*/
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
needConfirmSideEffectsWhenClosePanel(willUpdateDates) {
|
|
271
|
-
if (this._adapter.needConfirm() && !this._isRangeType()) {
|
|
272
|
-
/**
|
|
273
|
-
* if `null` input element will show `cachedSelectedValue` formatted value(format in DateInput render)
|
|
274
|
-
* if `` input element will show `` directly
|
|
275
|
-
*/
|
|
276
|
-
this._adapter.updateInputValue(null);
|
|
277
|
-
|
|
278
|
-
this.resetCachedSelectedValue(willUpdateDates);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
188
|
/**
|
|
282
189
|
* clear inset input value when close panel
|
|
283
190
|
*/
|
|
284
|
-
|
|
285
|
-
|
|
286
191
|
clearInsetInputValue() {
|
|
287
192
|
const {
|
|
288
193
|
insetInput
|
|
289
194
|
} = this._adapter.getProps();
|
|
290
|
-
|
|
291
195
|
if (insetInput) {
|
|
292
196
|
this._adapter.updateInsetInputValue(null);
|
|
293
197
|
}
|
|
@@ -295,16 +199,12 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
295
199
|
/**
|
|
296
200
|
* call it when change state value or input value
|
|
297
201
|
*/
|
|
298
|
-
|
|
299
|
-
|
|
300
202
|
resetCachedSelectedValue(willUpdateDates) {
|
|
301
203
|
const {
|
|
302
204
|
value,
|
|
303
205
|
cachedSelectedValue
|
|
304
206
|
} = this._adapter.getStates();
|
|
305
|
-
|
|
306
207
|
const newCachedSelectedValue = Array.isArray(willUpdateDates) ? willUpdateDates : value;
|
|
307
|
-
|
|
308
208
|
if (!(0, _isEqual2.default)(newCachedSelectedValue, cachedSelectedValue)) {
|
|
309
209
|
this._adapter.updateCachedSelectedValue(newCachedSelectedValue);
|
|
310
210
|
}
|
|
@@ -321,64 +221,117 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
321
221
|
* @param {String} inputValue
|
|
322
222
|
* @param {Date[]} dates
|
|
323
223
|
*/
|
|
324
|
-
|
|
325
|
-
|
|
326
224
|
closePanel(e) {
|
|
327
225
|
let inputValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
328
226
|
let dates = arguments.length > 2 ? arguments[2] : undefined;
|
|
329
|
-
|
|
330
227
|
const {
|
|
331
228
|
value
|
|
332
229
|
} = this._adapter.getStates();
|
|
333
|
-
|
|
334
230
|
const willUpdateDates = (0, _isNullOrUndefined.default)(dates) ? value : dates;
|
|
335
|
-
|
|
336
231
|
if (!this._isControlledComponent('open')) {
|
|
337
|
-
this.
|
|
338
|
-
|
|
339
|
-
this.
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
this.rangeTypeSideEffectsWhenClosePanel(inputValue, willUpdateDates);
|
|
344
|
-
this.needConfirmSideEffectsWhenClosePanel(willUpdateDates);
|
|
345
|
-
this.clearInsetInputValue();
|
|
346
|
-
|
|
232
|
+
this.close();
|
|
233
|
+
} else {
|
|
234
|
+
this.resetInnerSelectedStates(willUpdateDates);
|
|
235
|
+
}
|
|
347
236
|
this._adapter.notifyOpenChange(false);
|
|
348
|
-
|
|
237
|
+
}
|
|
238
|
+
open() {
|
|
239
|
+
this._adapter.togglePanel(true);
|
|
240
|
+
this._adapter.registerClickOutSide();
|
|
241
|
+
}
|
|
242
|
+
close() {
|
|
243
|
+
this._adapter.togglePanel(false, () => this.resetInnerSelectedStates());
|
|
244
|
+
this._adapter.unregisterClickOutSide();
|
|
245
|
+
}
|
|
246
|
+
focus(focusType) {
|
|
247
|
+
if (this._isRangeType()) {
|
|
248
|
+
const rangeInputFocus = focusType !== null && focusType !== void 0 ? focusType : 'rangeStart';
|
|
249
|
+
this._adapter.setRangeInputFocus(rangeInputFocus);
|
|
250
|
+
} else {
|
|
251
|
+
this._adapter.setInputFocus();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
blur() {
|
|
255
|
+
if (this._isRangeType()) {
|
|
256
|
+
this._adapter.setRangeInputBlur();
|
|
257
|
+
} else {
|
|
258
|
+
this._adapter.setInputBlur();
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* reset cachedSelectedValue, inputValue when close panel
|
|
263
|
+
*/
|
|
264
|
+
resetInnerSelectedStates(willUpdateDates) {
|
|
265
|
+
const {
|
|
266
|
+
value
|
|
267
|
+
} = this._adapter.getStates();
|
|
268
|
+
const needResetCachedSelectedValue = !this.isCachedSelectedValueValid(willUpdateDates) || this._adapter.needConfirm() && !this.clickConfirmButton;
|
|
269
|
+
if (needResetCachedSelectedValue) {
|
|
270
|
+
this.resetCachedSelectedValue(value);
|
|
271
|
+
}
|
|
272
|
+
this.resetFocus();
|
|
273
|
+
this.clearInputValue();
|
|
274
|
+
this.clickConfirmButton = false;
|
|
275
|
+
}
|
|
276
|
+
resetFocus(e) {
|
|
277
|
+
this._adapter.setRangeInputFocus(false);
|
|
349
278
|
this._adapter.notifyBlur(e);
|
|
350
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* cachedSelectedValue can be `(Date|null)[]` or `null`
|
|
282
|
+
*/
|
|
283
|
+
isCachedSelectedValueValid(dates) {
|
|
284
|
+
const cachedSelectedValue = dates || this._adapter.getState('cachedSelectedValue');
|
|
285
|
+
const {
|
|
286
|
+
type
|
|
287
|
+
} = this._adapter.getProps();
|
|
288
|
+
let isValid = true;
|
|
289
|
+
switch (true) {
|
|
290
|
+
case type === 'dateRange':
|
|
291
|
+
case type === 'dateTimeRange':
|
|
292
|
+
if (!this._isRangeValueComplete(cachedSelectedValue)) {
|
|
293
|
+
isValid = false;
|
|
294
|
+
}
|
|
295
|
+
break;
|
|
296
|
+
default:
|
|
297
|
+
const value = cachedSelectedValue === null || cachedSelectedValue === void 0 ? void 0 : cachedSelectedValue.filter(item => item);
|
|
298
|
+
if (!(Array.isArray(value) && value.length)) {
|
|
299
|
+
isValid = false;
|
|
300
|
+
}
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
return isValid;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* 将输入框内容置空
|
|
307
|
+
*/
|
|
308
|
+
clearInputValue() {
|
|
309
|
+
this._adapter.updateInputValue(null);
|
|
310
|
+
this._adapter.updateInsetInputValue(null);
|
|
311
|
+
}
|
|
351
312
|
/**
|
|
352
313
|
* Callback when the content of the input box changes
|
|
353
314
|
* Update the date panel if the changed value is a legal date, otherwise only update the input box
|
|
354
315
|
* @param {String} input The value of the input box after the change
|
|
355
316
|
* @param {Event} e
|
|
356
317
|
*/
|
|
357
|
-
|
|
358
|
-
|
|
359
318
|
handleInputChange(input, e) {
|
|
360
319
|
const result = this._isMultiple() ? this.parseMultipleInput(input) : this.parseInput(input);
|
|
361
320
|
const {
|
|
362
321
|
value: stateValue
|
|
363
322
|
} = this.getStates();
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
323
|
+
this._updateCachedSelectedValueFromInput(input);
|
|
324
|
+
// Enter a valid date or empty
|
|
368
325
|
if (result && result.length || input === '') {
|
|
369
326
|
// If you click the clear button
|
|
370
327
|
if ((0, _get2.default)(e, _constants2.strings.CLEARBTN_CLICKED_EVENT_FLAG) && this._isControlledComponent('value')) {
|
|
371
328
|
this._notifyChange(result);
|
|
372
|
-
|
|
373
329
|
return;
|
|
374
330
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
331
|
+
this._updateValueAndInput(result, input === '', input);
|
|
332
|
+
// Updates the selected value when entering a valid date
|
|
379
333
|
const changedDates = this._getChangedDates(result);
|
|
380
|
-
|
|
381
|
-
if (!this._someDateDisabled(changedDates)) {
|
|
334
|
+
if (!this._someDateDisabled(changedDates, result)) {
|
|
382
335
|
if (!(0, _isEqual2.default)(result, stateValue)) {
|
|
383
336
|
this._notifyChange(result);
|
|
384
337
|
}
|
|
@@ -393,55 +346,40 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
393
346
|
* - inputValue(可以解析为合法日期时)
|
|
394
347
|
* - value(可以解析为合法日期时)
|
|
395
348
|
*/
|
|
396
|
-
|
|
397
|
-
|
|
398
349
|
handleInsetInputChange(options) {
|
|
399
350
|
const {
|
|
400
351
|
insetInputStr,
|
|
401
352
|
format,
|
|
402
353
|
insetInputValue
|
|
403
354
|
} = options;
|
|
404
|
-
|
|
405
355
|
const _isMultiple = this._isMultiple();
|
|
406
|
-
|
|
407
356
|
const result = _isMultiple ? this.parseMultipleInput(insetInputStr, format) : this.parseInput(insetInputStr, format);
|
|
408
357
|
const {
|
|
409
358
|
value: stateValue
|
|
410
359
|
} = this.getStates();
|
|
411
|
-
|
|
412
360
|
this._updateCachedSelectedValueFromInput(insetInputStr);
|
|
413
|
-
|
|
414
361
|
if (result && result.length) {
|
|
415
362
|
const changedDates = this._getChangedDates(result);
|
|
416
|
-
|
|
417
|
-
if (!this._someDateDisabled(changedDates)) {
|
|
363
|
+
if (!this._someDateDisabled(changedDates, result)) {
|
|
418
364
|
if (!(0, _isEqual2.default)(result, stateValue)) {
|
|
419
365
|
if (!this._isControlledComponent() && !this._adapter.needConfirm()) {
|
|
420
366
|
this._adapter.updateValue(result);
|
|
421
367
|
}
|
|
422
|
-
|
|
423
368
|
this._notifyChange(result);
|
|
424
369
|
}
|
|
425
|
-
|
|
426
370
|
const triggerInput = _isMultiple ? this.formatMultipleDates(result) : this.formatDates(result);
|
|
427
|
-
|
|
428
371
|
this._adapter.updateInputValue(triggerInput);
|
|
429
372
|
}
|
|
430
373
|
}
|
|
431
|
-
|
|
432
374
|
this._adapter.updateInsetInputValue(insetInputValue);
|
|
433
375
|
}
|
|
434
376
|
/**
|
|
435
377
|
* when input change we reset cached selected value
|
|
436
378
|
*/
|
|
437
|
-
|
|
438
|
-
|
|
439
379
|
_updateCachedSelectedValueFromInput(input) {
|
|
440
380
|
const looseResult = this.getLooseDateFromInput(input);
|
|
441
|
-
|
|
442
381
|
const changedLooseResult = this._getChangedDates(looseResult);
|
|
443
|
-
|
|
444
|
-
if (!this._someDateDisabled(changedLooseResult)) {
|
|
382
|
+
if (!this._someDateDisabled(changedLooseResult, looseResult)) {
|
|
445
383
|
this.resetCachedSelectedValue(looseResult);
|
|
446
384
|
}
|
|
447
385
|
}
|
|
@@ -450,43 +388,14 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
450
388
|
* @param {String} input
|
|
451
389
|
* @param {Event} e
|
|
452
390
|
*/
|
|
453
|
-
|
|
454
|
-
|
|
455
391
|
handleInputBlur() {
|
|
456
392
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
457
393
|
let e = arguments.length > 1 ? arguments[1] : undefined;
|
|
458
|
-
const parsedResult = input ? this._isMultiple() ? this.parseMultipleInput(input, ',', true) : this.parseInput(input) : [];
|
|
459
|
-
const stateValue = this.getState('value'); // console.log(input, parsedResult);
|
|
460
|
-
|
|
461
|
-
if (parsedResult && parsedResult.length) {
|
|
462
|
-
this._updateValueAndInput(parsedResult, input === '');
|
|
463
|
-
} else if (input === '') {
|
|
464
|
-
// if clear input, set input to `''`
|
|
465
|
-
this._updateValueAndInput('', true, '');
|
|
466
|
-
} else {
|
|
467
|
-
this._updateValueAndInput(stateValue);
|
|
468
|
-
}
|
|
469
|
-
/**
|
|
470
|
-
* 当不是范围类型且不需要确认时,使用 stateValue 重置 cachedSelectedValue
|
|
471
|
-
* 这样做的目的是,在输入非法值时,使用上次选中的值作为已选值
|
|
472
|
-
* needConfirm 或者 range type 时,我们在 close panel 时调用 resetCachedSelectedValue,这里不用重复调用
|
|
473
|
-
*
|
|
474
|
-
* Use stateValue to reset cachedSelectedValue when it is not a range type and does not require confirmation
|
|
475
|
-
* The purpose of this is to use the last selected value as the selected value when an invalid value is entered
|
|
476
|
-
* When needConfirm or range type, we call resetCachedSelectedValue when close panel, no need to call repeatedly here
|
|
477
|
-
*/
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
if (!this._adapter.needConfirm() && !this._isRangeType()) {
|
|
481
|
-
this.resetCachedSelectedValue(stateValue);
|
|
482
|
-
}
|
|
483
394
|
}
|
|
484
395
|
/**
|
|
485
396
|
* called when range type rangeEnd input tab press
|
|
486
397
|
* @param {Event} e
|
|
487
398
|
*/
|
|
488
|
-
|
|
489
|
-
|
|
490
399
|
handleRangeEndTabPress(e) {
|
|
491
400
|
this._adapter.setRangeInputFocus(false);
|
|
492
401
|
}
|
|
@@ -495,26 +404,20 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
495
404
|
* @param {Event} e input focus event
|
|
496
405
|
* @param {String} range 'rangeStart' or 'rangeEnd', use when type is range
|
|
497
406
|
*/
|
|
498
|
-
|
|
499
|
-
|
|
500
407
|
handleInputFocus(e, range) {
|
|
501
408
|
const rangeInputFocus = this._adapter.getState('rangeInputFocus');
|
|
502
|
-
|
|
503
409
|
range && this._adapter.setRangeInputFocus(range);
|
|
504
410
|
/**
|
|
505
411
|
* rangeType: only notify when range is false
|
|
506
412
|
* not rangeType: notify when focus
|
|
507
413
|
*/
|
|
508
|
-
|
|
509
414
|
if (!range || !['rangeStart', 'rangeEnd'].includes(rangeInputFocus)) {
|
|
510
415
|
this._adapter.notifyFocus(e, range);
|
|
511
416
|
}
|
|
512
417
|
}
|
|
513
|
-
|
|
514
418
|
handleSetRangeFocus(rangeInputFocus) {
|
|
515
419
|
this._adapter.setRangeInputFocus(rangeInputFocus);
|
|
516
420
|
}
|
|
517
|
-
|
|
518
421
|
handleInputClear(e) {
|
|
519
422
|
this._adapter.notifyClear(e);
|
|
520
423
|
}
|
|
@@ -525,52 +428,40 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
525
428
|
* callback of range input clear button
|
|
526
429
|
* Since the clear button is not integrated in Input, you need to manually clear value, inputValue, cachedValue
|
|
527
430
|
*/
|
|
528
|
-
|
|
529
|
-
|
|
530
431
|
handleRangeInputClear(e) {
|
|
531
432
|
const value = [];
|
|
532
433
|
const inputValue = '';
|
|
533
|
-
|
|
534
434
|
if (!this._isControlledComponent('value')) {
|
|
535
435
|
this._updateValueAndInput(value, true, inputValue);
|
|
536
|
-
|
|
436
|
+
this._adapter.updateInsetInputValue(null);
|
|
537
437
|
this.resetCachedSelectedValue(value);
|
|
538
438
|
}
|
|
539
|
-
|
|
540
439
|
this._notifyChange(value);
|
|
541
|
-
|
|
440
|
+
this._adapter.setRangeInputFocus(false);
|
|
542
441
|
this._adapter.notifyClear(e);
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
handleRangeInputBlur(value, e) {} // Parses input only after user returns
|
|
547
|
-
|
|
548
|
-
|
|
442
|
+
}
|
|
443
|
+
handleRangeInputBlur(value, e) {}
|
|
444
|
+
// Parses input only after user returns
|
|
549
445
|
handleInputComplete() {
|
|
550
446
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
551
447
|
// console.log(input);
|
|
552
448
|
let parsedResult = input ? this._isMultiple() ? this.parseMultipleInput(input, ',', true) : this.parseInput(input) : [];
|
|
553
|
-
parsedResult = parsedResult && parsedResult.length ? parsedResult : this.getState('value');
|
|
554
|
-
|
|
449
|
+
parsedResult = parsedResult && parsedResult.length ? parsedResult : this.getState('value');
|
|
450
|
+
// Use the current date as the value when the current input is empty and the last input is also empty
|
|
555
451
|
if (!parsedResult || !parsedResult.length) {
|
|
556
452
|
const nowDate = new Date();
|
|
557
|
-
|
|
558
453
|
if (this._isRangeType()) {
|
|
559
454
|
parsedResult = [nowDate, nowDate];
|
|
560
455
|
} else {
|
|
561
456
|
parsedResult = [nowDate];
|
|
562
457
|
}
|
|
563
458
|
}
|
|
564
|
-
|
|
565
459
|
this._updateValueAndInput(parsedResult);
|
|
566
|
-
|
|
567
460
|
const {
|
|
568
461
|
value: stateValue
|
|
569
462
|
} = this.getStates();
|
|
570
|
-
|
|
571
463
|
const changedDates = this._getChangedDates(parsedResult);
|
|
572
|
-
|
|
573
|
-
if (!this._someDateDisabled(changedDates) && !(0, _isEqual2.default)(parsedResult, stateValue)) {
|
|
464
|
+
if (!this._someDateDisabled(changedDates, parsedResult) && !(0, _isEqual2.default)(parsedResult, stateValue)) {
|
|
574
465
|
this._notifyChange(parsedResult);
|
|
575
466
|
}
|
|
576
467
|
}
|
|
@@ -581,39 +472,33 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
581
472
|
* @param {string} input
|
|
582
473
|
* @returns {Date [] | '}
|
|
583
474
|
*/
|
|
584
|
-
|
|
585
|
-
|
|
586
475
|
parseInput() {
|
|
587
476
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
588
477
|
let format = arguments.length > 1 ? arguments[1] : undefined;
|
|
589
|
-
let result = [];
|
|
590
|
-
|
|
478
|
+
let result = [];
|
|
479
|
+
// console.log(input);
|
|
591
480
|
const {
|
|
592
481
|
dateFnsLocale,
|
|
593
482
|
rangeSeparator
|
|
594
483
|
} = this.getProps();
|
|
595
|
-
|
|
596
484
|
if (input && input.length) {
|
|
597
485
|
const type = this.getProp('type');
|
|
598
486
|
const formatToken = format || this.getProp('format') || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
|
|
599
487
|
let parsedResult, formatedInput;
|
|
600
488
|
const nowDate = new Date();
|
|
601
|
-
|
|
602
489
|
switch (type) {
|
|
603
490
|
case 'date':
|
|
604
491
|
case 'dateTime':
|
|
605
492
|
case 'month':
|
|
606
493
|
parsedResult = input ? (0, _parser.compatibleParse)(input, formatToken, nowDate, dateFnsLocale) : '';
|
|
607
494
|
formatedInput = parsedResult && (0, _dateFns.isValid)(parsedResult) && this.localeFormat(parsedResult, formatToken);
|
|
608
|
-
|
|
609
495
|
if (parsedResult && formatedInput === input) {
|
|
610
496
|
result = [parsedResult];
|
|
611
497
|
}
|
|
612
|
-
|
|
613
498
|
break;
|
|
614
|
-
|
|
615
499
|
case 'dateRange':
|
|
616
500
|
case 'dateTimeRange':
|
|
501
|
+
case 'monthRange':
|
|
617
502
|
const separator = rangeSeparator;
|
|
618
503
|
const values = input.split(separator);
|
|
619
504
|
parsedResult = values && values.reduce((arr, cur) => {
|
|
@@ -622,26 +507,20 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
622
507
|
return arr;
|
|
623
508
|
}, []);
|
|
624
509
|
formatedInput = parsedResult && parsedResult.map(v => v && (0, _dateFns.isValid)(v) && this.localeFormat(v, formatToken)).join(separator);
|
|
625
|
-
|
|
626
510
|
if (parsedResult && formatedInput === input) {
|
|
627
511
|
parsedResult.sort((d1, d2) => d1.getTime() - d2.getTime());
|
|
628
512
|
result = parsedResult;
|
|
629
513
|
}
|
|
630
|
-
|
|
631
514
|
break;
|
|
632
|
-
|
|
633
515
|
default:
|
|
634
516
|
break;
|
|
635
517
|
}
|
|
636
518
|
}
|
|
637
|
-
|
|
638
519
|
return result;
|
|
639
520
|
}
|
|
640
521
|
/**
|
|
641
522
|
* get date which may include null from input
|
|
642
523
|
*/
|
|
643
|
-
|
|
644
|
-
|
|
645
524
|
getLooseDateFromInput(input) {
|
|
646
525
|
const value = this._isMultiple() ? this.parseMultipleInputLoose(input) : this.parseInputLoose(input);
|
|
647
526
|
return value;
|
|
@@ -657,8 +536,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
657
536
|
* parseInputLoose('2022-03- ~ 2022-0'); // [null, null]
|
|
658
537
|
* ```
|
|
659
538
|
*/
|
|
660
|
-
|
|
661
|
-
|
|
662
539
|
parseInputLoose() {
|
|
663
540
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
664
541
|
let result = [];
|
|
@@ -668,64 +545,50 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
668
545
|
type,
|
|
669
546
|
format
|
|
670
547
|
} = this.getProps();
|
|
671
|
-
|
|
672
548
|
if (input && input.length) {
|
|
673
549
|
const formatToken = format || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
|
|
674
550
|
let parsedResult, formatedInput;
|
|
675
551
|
const nowDate = new Date();
|
|
676
|
-
|
|
677
552
|
switch (type) {
|
|
678
553
|
case 'date':
|
|
679
554
|
case 'dateTime':
|
|
680
555
|
case 'month':
|
|
681
556
|
const _parsedResult = (0, _parser.compatibleParse)(input, formatToken, nowDate, dateFnsLocale);
|
|
682
|
-
|
|
683
557
|
if ((0, _index.isValidDate)(_parsedResult)) {
|
|
684
558
|
formatedInput = this.localeFormat(_parsedResult, formatToken);
|
|
685
|
-
|
|
686
559
|
if (formatedInput === input) {
|
|
687
560
|
parsedResult = _parsedResult;
|
|
688
561
|
}
|
|
689
562
|
} else {
|
|
690
563
|
parsedResult = null;
|
|
691
564
|
}
|
|
692
|
-
|
|
693
565
|
result = [parsedResult];
|
|
694
566
|
break;
|
|
695
|
-
|
|
696
567
|
case 'dateRange':
|
|
697
568
|
case 'dateTimeRange':
|
|
698
569
|
const separator = rangeSeparator;
|
|
699
570
|
const values = input.split(separator);
|
|
700
571
|
parsedResult = values && values.reduce((arr, cur) => {
|
|
701
572
|
let parsedVal = null;
|
|
702
|
-
|
|
703
573
|
const _parsedResult = (0, _parser.compatibleParse)(cur, formatToken, nowDate, dateFnsLocale);
|
|
704
|
-
|
|
705
574
|
if ((0, _index.isValidDate)(_parsedResult)) {
|
|
706
575
|
formatedInput = this.localeFormat(_parsedResult, formatToken);
|
|
707
|
-
|
|
708
576
|
if (formatedInput === cur) {
|
|
709
577
|
parsedVal = _parsedResult;
|
|
710
578
|
}
|
|
711
579
|
}
|
|
712
|
-
|
|
713
580
|
arr.push(parsedVal);
|
|
714
581
|
return arr;
|
|
715
582
|
}, []);
|
|
716
|
-
|
|
717
583
|
if (Array.isArray(parsedResult) && parsedResult.every(item => (0, _dateFns.isValid)(item))) {
|
|
718
584
|
parsedResult.sort((d1, d2) => d1.getTime() - d2.getTime());
|
|
719
585
|
}
|
|
720
|
-
|
|
721
586
|
result = parsedResult;
|
|
722
587
|
break;
|
|
723
|
-
|
|
724
588
|
default:
|
|
725
589
|
break;
|
|
726
590
|
}
|
|
727
591
|
}
|
|
728
|
-
|
|
729
592
|
return result;
|
|
730
593
|
}
|
|
731
594
|
/**
|
|
@@ -738,8 +601,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
738
601
|
* parseMultipleInputLoose(''); // [];
|
|
739
602
|
* ```
|
|
740
603
|
*/
|
|
741
|
-
|
|
742
|
-
|
|
743
604
|
parseMultipleInputLoose() {
|
|
744
605
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
745
606
|
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.strings.DEFAULT_SEPARATOR_MULTIPLE;
|
|
@@ -747,11 +608,9 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
747
608
|
const max = this.getProp('max');
|
|
748
609
|
const inputArr = input.split(separator);
|
|
749
610
|
const result = [];
|
|
750
|
-
|
|
751
611
|
for (const curInput of inputArr) {
|
|
752
612
|
let tmpParsed = curInput && this.parseInputLoose(curInput);
|
|
753
613
|
tmpParsed = Array.isArray(tmpParsed) ? tmpParsed : tmpParsed && [tmpParsed];
|
|
754
|
-
|
|
755
614
|
if (tmpParsed && tmpParsed.length) {
|
|
756
615
|
if (needDedupe) {
|
|
757
616
|
!result.filter(r => Boolean(tmpParsed.find(tp => (0, _dateFns.isSameSecond)(r, tp)))) && result.push(...tmpParsed);
|
|
@@ -761,12 +620,10 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
761
620
|
} else {
|
|
762
621
|
return [];
|
|
763
622
|
}
|
|
764
|
-
|
|
765
623
|
if (max && max > 0 && result.length > max) {
|
|
766
624
|
return [];
|
|
767
625
|
}
|
|
768
626
|
}
|
|
769
|
-
|
|
770
627
|
return result;
|
|
771
628
|
}
|
|
772
629
|
/**
|
|
@@ -778,8 +635,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
778
635
|
* @param {boolean} [needDedupe=false]
|
|
779
636
|
* @returns {Date[]}
|
|
780
637
|
*/
|
|
781
|
-
|
|
782
|
-
|
|
783
638
|
parseMultipleInput() {
|
|
784
639
|
let input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
785
640
|
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.strings.DEFAULT_SEPARATOR_MULTIPLE;
|
|
@@ -787,11 +642,9 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
787
642
|
const max = this.getProp('max');
|
|
788
643
|
const inputArr = input.split(separator);
|
|
789
644
|
const result = [];
|
|
790
|
-
|
|
791
645
|
for (const curInput of inputArr) {
|
|
792
646
|
let tmpParsed = curInput && this.parseInput(curInput);
|
|
793
647
|
tmpParsed = Array.isArray(tmpParsed) ? tmpParsed : tmpParsed && [tmpParsed];
|
|
794
|
-
|
|
795
648
|
if (tmpParsed && tmpParsed.length) {
|
|
796
649
|
if (needDedupe) {
|
|
797
650
|
// 20190519 TODO: needs to determine the case where multiple is true and range
|
|
@@ -802,12 +655,10 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
802
655
|
} else {
|
|
803
656
|
return [];
|
|
804
657
|
}
|
|
805
|
-
|
|
806
658
|
if (max && max > 0 && result.length > max) {
|
|
807
659
|
return [];
|
|
808
660
|
}
|
|
809
661
|
}
|
|
810
|
-
|
|
811
662
|
return result;
|
|
812
663
|
}
|
|
813
664
|
/**
|
|
@@ -816,47 +667,39 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
816
667
|
* @param {Date[]} dates
|
|
817
668
|
* @returns {string}
|
|
818
669
|
*/
|
|
819
|
-
|
|
820
|
-
|
|
821
670
|
formatDates() {
|
|
822
671
|
let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
823
672
|
let customFormat = arguments.length > 1 ? arguments[1] : undefined;
|
|
824
673
|
let str = '';
|
|
825
674
|
const rangeSeparator = this.getProp('rangeSeparator');
|
|
826
|
-
|
|
827
675
|
if (Array.isArray(dates) && dates.length) {
|
|
828
676
|
const type = this.getProp('type');
|
|
829
677
|
const formatToken = customFormat || this.getProp('format') || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
|
|
830
|
-
|
|
831
678
|
switch (type) {
|
|
832
679
|
case 'date':
|
|
833
680
|
case 'dateTime':
|
|
834
681
|
case 'month':
|
|
835
682
|
str = this.localeFormat(dates[0], formatToken);
|
|
836
683
|
break;
|
|
837
|
-
|
|
838
684
|
case 'dateRange':
|
|
839
685
|
case 'dateTimeRange':
|
|
686
|
+
case 'monthRange':
|
|
840
687
|
const startIsTruthy = !(0, _isNullOrUndefined.default)(dates[0]);
|
|
841
688
|
const endIsTruthy = !(0, _isNullOrUndefined.default)(dates[1]);
|
|
842
|
-
|
|
843
689
|
if (startIsTruthy && endIsTruthy) {
|
|
844
|
-
str =
|
|
690
|
+
str = `${this.localeFormat(dates[0], formatToken)}${rangeSeparator}${this.localeFormat(dates[1], formatToken)}`;
|
|
845
691
|
} else {
|
|
846
692
|
if (startIsTruthy) {
|
|
847
|
-
str =
|
|
693
|
+
str = `${this.localeFormat(dates[0], formatToken)}${rangeSeparator}`;
|
|
848
694
|
} else if (endIsTruthy) {
|
|
849
|
-
str =
|
|
695
|
+
str = `${rangeSeparator}${this.localeFormat(dates[1], formatToken)}`;
|
|
850
696
|
}
|
|
851
697
|
}
|
|
852
|
-
|
|
853
698
|
break;
|
|
854
|
-
|
|
855
699
|
default:
|
|
856
700
|
break;
|
|
857
701
|
}
|
|
858
702
|
}
|
|
859
|
-
|
|
860
703
|
return str;
|
|
861
704
|
}
|
|
862
705
|
/**
|
|
@@ -865,37 +708,30 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
865
708
|
* @param {Date[]} dates
|
|
866
709
|
* @returns {string}
|
|
867
710
|
*/
|
|
868
|
-
|
|
869
|
-
|
|
870
711
|
formatMultipleDates() {
|
|
871
712
|
let dates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
872
713
|
let separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants.strings.DEFAULT_SEPARATOR_MULTIPLE;
|
|
873
714
|
let customFormat = arguments.length > 2 ? arguments[2] : undefined;
|
|
874
715
|
const strs = [];
|
|
875
|
-
|
|
876
716
|
if (Array.isArray(dates) && dates.length) {
|
|
877
717
|
const type = this.getProp('type');
|
|
878
|
-
|
|
879
718
|
switch (type) {
|
|
880
719
|
case 'date':
|
|
881
720
|
case 'dateTime':
|
|
882
721
|
case 'month':
|
|
883
722
|
dates.forEach(date => strs.push(this.formatDates([date], customFormat)));
|
|
884
723
|
break;
|
|
885
|
-
|
|
886
724
|
case 'dateRange':
|
|
887
725
|
case 'dateTimeRange':
|
|
726
|
+
case 'monthRange':
|
|
888
727
|
for (let i = 0; i < dates.length; i += 2) {
|
|
889
728
|
strs.push(this.formatDates(dates.slice(i, i + 2), customFormat));
|
|
890
729
|
}
|
|
891
|
-
|
|
892
730
|
break;
|
|
893
|
-
|
|
894
731
|
default:
|
|
895
732
|
break;
|
|
896
733
|
}
|
|
897
734
|
}
|
|
898
|
-
|
|
899
735
|
return strs.join(separator);
|
|
900
736
|
}
|
|
901
737
|
/**
|
|
@@ -906,26 +742,20 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
906
742
|
* @param {Boolean} forceUpdateValue
|
|
907
743
|
* @param {String} input
|
|
908
744
|
*/
|
|
909
|
-
|
|
910
|
-
|
|
911
745
|
_updateValueAndInput(value, forceUpdateValue, input) {
|
|
912
746
|
let _value;
|
|
913
|
-
|
|
914
747
|
if (forceUpdateValue || value) {
|
|
915
748
|
if (!Array.isArray(value)) {
|
|
916
749
|
_value = value ? [value] : [];
|
|
917
750
|
} else {
|
|
918
751
|
_value = value;
|
|
919
752
|
}
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
if (!this._isControlledComponent() && !this._someDateDisabled(changedDates) && !this._adapter.needConfirm()) {
|
|
753
|
+
const changedDates = this._getChangedDates(_value);
|
|
754
|
+
// You cannot update the value directly when needConfirm, you can only change the value through handleConfirm
|
|
755
|
+
if (!this._isControlledComponent() && !this._someDateDisabled(changedDates, _value) && !this._adapter.needConfirm()) {
|
|
925
756
|
this._adapter.updateValue(_value);
|
|
926
757
|
}
|
|
927
758
|
}
|
|
928
|
-
|
|
929
759
|
this._adapter.updateInputValue(input);
|
|
930
760
|
}
|
|
931
761
|
/**
|
|
@@ -933,8 +763,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
933
763
|
* @param {*} value
|
|
934
764
|
* @param {*} options
|
|
935
765
|
*/
|
|
936
|
-
|
|
937
|
-
|
|
938
766
|
handleSelectedChange(value, options) {
|
|
939
767
|
const {
|
|
940
768
|
type,
|
|
@@ -942,13 +770,10 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
942
770
|
rangeSeparator,
|
|
943
771
|
insetInput
|
|
944
772
|
} = this._adapter.getProps();
|
|
945
|
-
|
|
946
773
|
const {
|
|
947
774
|
value: stateValue
|
|
948
775
|
} = this.getStates();
|
|
949
|
-
|
|
950
776
|
const controlled = this._isControlledComponent();
|
|
951
|
-
|
|
952
777
|
const fromPreset = (0, _isObject2.default)(options) ? options.fromPreset : options;
|
|
953
778
|
const closePanel = (0, _get2.default)(options, 'closePanel', true);
|
|
954
779
|
/**
|
|
@@ -956,18 +781,13 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
956
781
|
* To determine whether both starting Time and endTime have been selected, it is used to judge whether the two inputs have been Focused.
|
|
957
782
|
* This variable is used to indicate whether such a judgment is required. In the scene with shortcut operations, it is not required.
|
|
958
783
|
*/
|
|
959
|
-
|
|
960
784
|
const needCheckFocusRecord = (0, _get2.default)(options, 'needCheckFocusRecord', true);
|
|
961
785
|
const dates = Array.isArray(value) ? [...value] : value ? [value] : [];
|
|
962
|
-
|
|
963
786
|
const changedDates = this._getChangedDates(dates);
|
|
964
|
-
|
|
965
787
|
let inputValue, insetInputValue;
|
|
966
|
-
|
|
967
|
-
if (!this._someDateDisabled(changedDates)) {
|
|
788
|
+
if (!this._someDateDisabled(changedDates, dates)) {
|
|
968
789
|
this.resetCachedSelectedValue(dates);
|
|
969
790
|
inputValue = this._isMultiple() ? this.formatMultipleDates(dates) : this.formatDates(dates);
|
|
970
|
-
|
|
971
791
|
if (insetInput) {
|
|
972
792
|
const insetInputFormatToken = (0, _getInsetInputFormatToken.default)({
|
|
973
793
|
format,
|
|
@@ -980,7 +800,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
980
800
|
rangeSeparator
|
|
981
801
|
});
|
|
982
802
|
}
|
|
983
|
-
|
|
984
803
|
const isRangeTypeAndInputIncomplete = this._isRangeType() && !this._isRangeValueComplete(dates);
|
|
985
804
|
/**
|
|
986
805
|
* If the input is incomplete when under control, the notifyChange is not triggered because
|
|
@@ -989,53 +808,30 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
989
808
|
* 受控时如果输入不完整,由于没有触发 notifyChange
|
|
990
809
|
* 需要组件内更新一下输入框的值,否则会出现选了一个日期但是输入框没有回显日期的问题 #1357
|
|
991
810
|
*/
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
if (isRangeTypeAndInputIncomplete) {
|
|
995
|
-
// do not change value when selected value is incomplete
|
|
996
|
-
this._adapter.updateInputValue(inputValue);
|
|
997
|
-
|
|
998
|
-
this._adapter.updateInsetInputValue(insetInputValue);
|
|
999
|
-
|
|
1000
|
-
return;
|
|
1001
|
-
} else {
|
|
1002
|
-
if (!controlled || fromPreset) {
|
|
1003
|
-
this._updateValueAndInput(dates, true, inputValue);
|
|
1004
|
-
|
|
1005
|
-
this._adapter.updateInsetInputValue(insetInputValue);
|
|
1006
|
-
}
|
|
1007
|
-
}
|
|
1008
|
-
}
|
|
1009
|
-
|
|
1010
|
-
if (!controlled && this._adapter.needConfirm()) {
|
|
1011
|
-
// select date only change inputValue when needConfirm is true
|
|
811
|
+
if (isRangeTypeAndInputIncomplete) {
|
|
812
|
+
// do not change value when selected value is incomplete
|
|
1012
813
|
this._adapter.updateInputValue(inputValue);
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
814
|
+
this._adapter.updateInsetInputValue(insetInputValue);
|
|
815
|
+
return;
|
|
816
|
+
} else {
|
|
817
|
+
if (!controlled || fromPreset) {
|
|
818
|
+
this._updateValueAndInput(dates, true, inputValue);
|
|
819
|
+
this._adapter.updateInsetInputValue(insetInputValue);
|
|
1019
820
|
}
|
|
1020
821
|
}
|
|
1021
|
-
|
|
1022
822
|
if (!(0, _isEqual2.default)(value, stateValue)) {
|
|
1023
823
|
this._notifyChange(value);
|
|
1024
824
|
}
|
|
1025
825
|
}
|
|
1026
|
-
|
|
1027
826
|
const focusRecordChecked = !needCheckFocusRecord || needCheckFocusRecord && this._adapter.couldPanelClosed();
|
|
1028
|
-
|
|
1029
827
|
if (type === 'date' && !this._isMultiple() && closePanel || type === 'dateRange' && this._isRangeValueComplete(dates) && closePanel && focusRecordChecked) {
|
|
1030
828
|
this.closePanel(undefined, inputValue, dates);
|
|
1031
829
|
}
|
|
1032
830
|
}
|
|
1033
831
|
/**
|
|
1034
|
-
* when changing the year and month through the panel when the type is year or month
|
|
832
|
+
* when changing the year and month through the panel when the type is year or month or monthRange
|
|
1035
833
|
* @param {*} item
|
|
1036
834
|
*/
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
835
|
handleYMSelectedChange() {
|
|
1040
836
|
let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
1041
837
|
// console.log(item);
|
|
@@ -1043,41 +839,39 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1043
839
|
currentMonth,
|
|
1044
840
|
currentYear
|
|
1045
841
|
} = item;
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
842
|
+
const {
|
|
843
|
+
type
|
|
844
|
+
} = this.getProps();
|
|
845
|
+
if (type === 'month') {
|
|
846
|
+
const date = new Date(currentYear['left'], currentMonth['left'] - 1);
|
|
1050
847
|
this.handleSelectedChange([date]);
|
|
848
|
+
} else {
|
|
849
|
+
const dateLeft = new Date(currentYear['left'], currentMonth['left'] - 1);
|
|
850
|
+
const dateRight = new Date(currentYear['right'], currentMonth['right'] - 1);
|
|
851
|
+
this.handleSelectedChange([dateLeft, dateRight]);
|
|
1051
852
|
}
|
|
1052
853
|
}
|
|
1053
|
-
|
|
1054
854
|
handleConfirm() {
|
|
855
|
+
this.clickConfirmButton = true;
|
|
1055
856
|
const {
|
|
1056
857
|
cachedSelectedValue,
|
|
1057
858
|
value
|
|
1058
859
|
} = this._adapter.getStates();
|
|
1059
|
-
|
|
1060
860
|
const isRangeValueComplete = this._isRangeValueComplete(cachedSelectedValue);
|
|
1061
|
-
|
|
1062
861
|
const newValue = isRangeValueComplete ? cachedSelectedValue : value;
|
|
1063
|
-
|
|
1064
862
|
if (this._adapter.needConfirm() && !this._isControlledComponent()) {
|
|
1065
863
|
this._adapter.updateValue(newValue);
|
|
1066
|
-
}
|
|
1067
|
-
|
|
1068
|
-
|
|
864
|
+
}
|
|
865
|
+
// If the input is incomplete, the legal date of the last input is used
|
|
1069
866
|
this.closePanel(undefined, undefined, newValue);
|
|
1070
|
-
|
|
1071
867
|
if (isRangeValueComplete) {
|
|
1072
868
|
const {
|
|
1073
869
|
notifyValue,
|
|
1074
870
|
notifyDate
|
|
1075
871
|
} = this.disposeCallbackArgs(cachedSelectedValue);
|
|
1076
|
-
|
|
1077
872
|
this._adapter.notifyConfirm(notifyDate, notifyValue);
|
|
1078
873
|
}
|
|
1079
874
|
}
|
|
1080
|
-
|
|
1081
875
|
handleCancel() {
|
|
1082
876
|
this.closePanel();
|
|
1083
877
|
const value = this.getState('value');
|
|
@@ -1085,38 +879,34 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1085
879
|
notifyValue,
|
|
1086
880
|
notifyDate
|
|
1087
881
|
} = this.disposeCallbackArgs(value);
|
|
1088
|
-
|
|
1089
882
|
this._adapter.notifyCancel(notifyDate, notifyValue);
|
|
1090
883
|
}
|
|
1091
|
-
|
|
1092
884
|
handlePresetClick(item, e) {
|
|
1093
885
|
const {
|
|
1094
886
|
type,
|
|
1095
887
|
timeZone
|
|
1096
888
|
} = this.getProps();
|
|
1097
889
|
const prevTimeZone = this.getState('prevTimezone');
|
|
890
|
+
const start = typeof item.start === 'function' ? item.start() : item.start;
|
|
891
|
+
const end = typeof item.end === 'function' ? item.end() : item.end;
|
|
1098
892
|
let value;
|
|
1099
|
-
|
|
1100
893
|
switch (type) {
|
|
1101
894
|
case 'month':
|
|
1102
895
|
case 'dateTime':
|
|
1103
896
|
case 'date':
|
|
1104
|
-
value = this.parseWithTimezone([
|
|
897
|
+
value = this.parseWithTimezone([start], timeZone, prevTimeZone);
|
|
1105
898
|
this.handleSelectedChange(value);
|
|
1106
899
|
break;
|
|
1107
|
-
|
|
1108
900
|
case 'dateTimeRange':
|
|
1109
901
|
case 'dateRange':
|
|
1110
|
-
value = this.parseWithTimezone([
|
|
902
|
+
value = this.parseWithTimezone([start, end], timeZone, prevTimeZone);
|
|
1111
903
|
this.handleSelectedChange(value, {
|
|
1112
904
|
needCheckFocusRecord: false
|
|
1113
905
|
});
|
|
1114
906
|
break;
|
|
1115
|
-
|
|
1116
907
|
default:
|
|
1117
908
|
break;
|
|
1118
909
|
}
|
|
1119
|
-
|
|
1120
910
|
this._adapter.notifyPresetsClick(item, e);
|
|
1121
911
|
}
|
|
1122
912
|
/**
|
|
@@ -1147,20 +937,15 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1147
937
|
* @param {Date|Date[]} value
|
|
1148
938
|
* @return {{ notifyDate: Date|Date[], notifyValue: string|string[]}}
|
|
1149
939
|
*/
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
940
|
disposeCallbackArgs(value) {
|
|
1153
941
|
let _value = Array.isArray(value) ? value : value && [value] || [];
|
|
1154
|
-
|
|
1155
|
-
if (
|
|
1156
|
-
const timeZone = this.getProp('timeZone');
|
|
942
|
+
const timeZone = this.getProp('timeZone');
|
|
943
|
+
if ((0, _isValidTimeZone.default)(timeZone)) {
|
|
1157
944
|
_value = _value.map(date => (0, _dateFnsExtra.zonedTimeToUtc)(date, timeZone));
|
|
1158
945
|
}
|
|
1159
|
-
|
|
1160
946
|
const type = this.getProp('type');
|
|
1161
947
|
const formatToken = this.getProp('format') || (0, _getDefaultFormatToken.getDefaultFormatTokenByType)(type);
|
|
1162
948
|
let notifyValue, notifyDate;
|
|
1163
|
-
|
|
1164
949
|
switch (type) {
|
|
1165
950
|
case 'date':
|
|
1166
951
|
case 'dateTime':
|
|
@@ -1172,19 +957,16 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1172
957
|
notifyValue = _value.map(v => v && this.localeFormat(v, formatToken));
|
|
1173
958
|
notifyDate = [..._value];
|
|
1174
959
|
}
|
|
1175
|
-
|
|
1176
960
|
break;
|
|
1177
|
-
|
|
1178
961
|
case 'dateRange':
|
|
1179
962
|
case 'dateTimeRange':
|
|
963
|
+
case 'monthRange':
|
|
1180
964
|
notifyValue = _value.map(v => v && this.localeFormat(v, formatToken));
|
|
1181
965
|
notifyDate = [..._value];
|
|
1182
966
|
break;
|
|
1183
|
-
|
|
1184
967
|
default:
|
|
1185
968
|
break;
|
|
1186
969
|
}
|
|
1187
|
-
|
|
1188
970
|
return {
|
|
1189
971
|
notifyValue,
|
|
1190
972
|
notifyDate
|
|
@@ -1194,13 +976,10 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1194
976
|
* Notice: Check whether the date is the same as the state value before calling
|
|
1195
977
|
* @param {Date[]} value
|
|
1196
978
|
*/
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
979
|
_notifyChange(value) {
|
|
1200
980
|
if (this._isRangeType() && !this._isRangeValueComplete(value)) {
|
|
1201
981
|
return;
|
|
1202
982
|
}
|
|
1203
|
-
|
|
1204
983
|
const {
|
|
1205
984
|
onChangeWithDateFirst
|
|
1206
985
|
} = this.getProps();
|
|
@@ -1208,7 +987,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1208
987
|
notifyValue,
|
|
1209
988
|
notifyDate
|
|
1210
989
|
} = this.disposeCallbackArgs(value);
|
|
1211
|
-
|
|
1212
990
|
if (onChangeWithDateFirst) {
|
|
1213
991
|
this._adapter.notifyChange(notifyDate, notifyValue);
|
|
1214
992
|
} else {
|
|
@@ -1217,56 +995,42 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1217
995
|
}
|
|
1218
996
|
/**
|
|
1219
997
|
* Get the date changed through the date panel or enter
|
|
1220
|
-
* @param {Date[]} dates
|
|
1221
|
-
* @returns {Date[]}
|
|
1222
998
|
*/
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
999
|
_getChangedDates(dates) {
|
|
1226
1000
|
const type = this._adapter.getProp('type');
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1001
|
+
const {
|
|
1002
|
+
cachedSelectedValue: lastDate
|
|
1003
|
+
} = this._adapter.getStates();
|
|
1230
1004
|
const changedDates = [];
|
|
1231
|
-
|
|
1232
1005
|
switch (type) {
|
|
1233
1006
|
case 'dateRange':
|
|
1234
1007
|
case 'dateTimeRange':
|
|
1235
|
-
const [
|
|
1008
|
+
const [lastStart, lastEnd] = lastDate;
|
|
1236
1009
|
const [start, end] = dates;
|
|
1237
|
-
|
|
1238
|
-
if (!(0, _dateFns.isEqual)(start, stateStart)) {
|
|
1010
|
+
if (!(0, _dateFns.isEqual)(start, lastStart)) {
|
|
1239
1011
|
changedDates.push(start);
|
|
1240
1012
|
}
|
|
1241
|
-
|
|
1242
|
-
if (!(0, _dateFns.isEqual)(end, stateEnd)) {
|
|
1013
|
+
if (!(0, _dateFns.isEqual)(end, lastEnd)) {
|
|
1243
1014
|
changedDates.push(end);
|
|
1244
1015
|
}
|
|
1245
|
-
|
|
1246
1016
|
break;
|
|
1247
|
-
|
|
1248
1017
|
default:
|
|
1249
|
-
const
|
|
1250
|
-
|
|
1251
|
-
|
|
1018
|
+
const lastValueSet = new Set();
|
|
1019
|
+
lastDate.forEach(value => lastValueSet.add((0, _dateFns.isDate)(value) && value.valueOf()));
|
|
1252
1020
|
for (const date of dates) {
|
|
1253
|
-
if (!
|
|
1021
|
+
if (!lastValueSet.has((0, _dateFns.isDate)(date) && date.valueOf())) {
|
|
1254
1022
|
changedDates.push(date);
|
|
1255
1023
|
}
|
|
1256
1024
|
}
|
|
1257
|
-
|
|
1258
1025
|
}
|
|
1259
|
-
|
|
1260
1026
|
return changedDates;
|
|
1261
1027
|
}
|
|
1262
1028
|
/**
|
|
1263
1029
|
* Whether a date is disabled
|
|
1264
|
-
* @param
|
|
1030
|
+
* @param value The date that needs to be judged whether to disable
|
|
1031
|
+
* @param selectedValue Selected date, when selecting a range, pass this date to the second parameter of `disabledDate`
|
|
1265
1032
|
*/
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
_someDateDisabled(value) {
|
|
1269
|
-
const stateValue = this.getState('value');
|
|
1033
|
+
_someDateDisabled(value, selectedValue) {
|
|
1270
1034
|
const {
|
|
1271
1035
|
rangeInputFocus
|
|
1272
1036
|
} = this.getStates();
|
|
@@ -1274,22 +1038,19 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1274
1038
|
rangeStart: '',
|
|
1275
1039
|
rangeEnd: '',
|
|
1276
1040
|
rangeInputFocus
|
|
1277
|
-
};
|
|
1278
|
-
|
|
1279
|
-
if (this._isRangeType() && Array.isArray(
|
|
1280
|
-
if ((0, _dateFns.isValid)(
|
|
1281
|
-
const rangeStart = (0, _dateFns.format)(
|
|
1041
|
+
};
|
|
1042
|
+
// DisabledDate needs to pass the second parameter
|
|
1043
|
+
if (this._isRangeType() && Array.isArray(selectedValue)) {
|
|
1044
|
+
if ((0, _dateFns.isValid)(selectedValue[0])) {
|
|
1045
|
+
const rangeStart = (0, _dateFns.format)(selectedValue[0], 'yyyy-MM-dd');
|
|
1282
1046
|
disabledOptions.rangeStart = rangeStart;
|
|
1283
1047
|
}
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
const rangeEnd = (0, _dateFns.format)(stateValue[1], 'yyyy-MM-dd');
|
|
1048
|
+
if ((0, _dateFns.isValid)(selectedValue[1])) {
|
|
1049
|
+
const rangeEnd = (0, _dateFns.format)(selectedValue[1], 'yyyy-MM-dd');
|
|
1287
1050
|
disabledOptions.rangeEnd = rangeEnd;
|
|
1288
1051
|
}
|
|
1289
1052
|
}
|
|
1290
|
-
|
|
1291
1053
|
let isSomeDateDisabled = false;
|
|
1292
|
-
|
|
1293
1054
|
for (const date of value) {
|
|
1294
1055
|
// skip check if date is null
|
|
1295
1056
|
if (!(0, _isNullOrUndefined.default)(date) && this.disabledDisposeDate(date, disabledOptions)) {
|
|
@@ -1297,7 +1058,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1297
1058
|
break;
|
|
1298
1059
|
}
|
|
1299
1060
|
}
|
|
1300
|
-
|
|
1301
1061
|
return isSomeDateDisabled;
|
|
1302
1062
|
}
|
|
1303
1063
|
/**
|
|
@@ -1306,11 +1066,8 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1306
1066
|
* @param {Date} date
|
|
1307
1067
|
* @param {String} token
|
|
1308
1068
|
*/
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
1069
|
localeFormat(date, token) {
|
|
1312
1070
|
const dateFnsLocale = this._adapter.getProp('dateFnsLocale');
|
|
1313
|
-
|
|
1314
1071
|
return (0, _dateFns.format)(date, token, {
|
|
1315
1072
|
locale: dateFnsLocale
|
|
1316
1073
|
});
|
|
@@ -1324,8 +1081,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1324
1081
|
* @param {Date|Date[]} date
|
|
1325
1082
|
* @returns {Boolean}
|
|
1326
1083
|
*/
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
1084
|
disposeDateFn(fn, date) {
|
|
1330
1085
|
const {
|
|
1331
1086
|
notifyDate
|
|
@@ -1333,17 +1088,14 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1333
1088
|
const dateIsArray = Array.isArray(date);
|
|
1334
1089
|
const notifyDateIsArray = Array.isArray(notifyDate);
|
|
1335
1090
|
let disposeDate;
|
|
1336
|
-
|
|
1337
1091
|
if (dateIsArray === notifyDateIsArray) {
|
|
1338
1092
|
disposeDate = notifyDate;
|
|
1339
1093
|
} else {
|
|
1340
1094
|
disposeDate = dateIsArray ? [notifyDate] : notifyDate[0];
|
|
1341
1095
|
}
|
|
1342
|
-
|
|
1343
1096
|
for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
1344
1097
|
rest[_key - 2] = arguments[_key];
|
|
1345
1098
|
}
|
|
1346
|
-
|
|
1347
1099
|
return fn(disposeDate, ...rest);
|
|
1348
1100
|
}
|
|
1349
1101
|
/**
|
|
@@ -1352,17 +1104,13 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1352
1104
|
* @param {Date} date
|
|
1353
1105
|
* @returns {Boolean}
|
|
1354
1106
|
*/
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
1107
|
disabledDisposeDate(date) {
|
|
1358
1108
|
const {
|
|
1359
1109
|
disabledDate
|
|
1360
1110
|
} = this.getProps();
|
|
1361
|
-
|
|
1362
1111
|
for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
1363
1112
|
rest[_key2 - 1] = arguments[_key2];
|
|
1364
1113
|
}
|
|
1365
|
-
|
|
1366
1114
|
return this.disposeDateFn(disabledDate, date, ...rest);
|
|
1367
1115
|
}
|
|
1368
1116
|
/**
|
|
@@ -1371,17 +1119,13 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1371
1119
|
* @param {Date|Date[]} date
|
|
1372
1120
|
* @returns {Object}
|
|
1373
1121
|
*/
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
1122
|
disabledDisposeTime(date) {
|
|
1377
1123
|
const {
|
|
1378
1124
|
disabledTime
|
|
1379
1125
|
} = this.getProps();
|
|
1380
|
-
|
|
1381
1126
|
for (var _len3 = arguments.length, rest = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
|
|
1382
1127
|
rest[_key3 - 1] = arguments[_key3];
|
|
1383
1128
|
}
|
|
1384
|
-
|
|
1385
1129
|
return this.disposeDateFn(disabledTime, date, ...rest);
|
|
1386
1130
|
}
|
|
1387
1131
|
/**
|
|
@@ -1392,18 +1136,14 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1392
1136
|
* @param {Event} e
|
|
1393
1137
|
* @returns
|
|
1394
1138
|
*/
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
1139
|
handleTriggerWrapperClick(e) {
|
|
1398
1140
|
const {
|
|
1399
1141
|
disabled,
|
|
1400
1142
|
triggerRender
|
|
1401
1143
|
} = this._adapter.getProps();
|
|
1402
|
-
|
|
1403
1144
|
const {
|
|
1404
1145
|
rangeInputFocus
|
|
1405
1146
|
} = this._adapter.getStates();
|
|
1406
|
-
|
|
1407
1147
|
if (disabled) {
|
|
1408
1148
|
return;
|
|
1409
1149
|
}
|
|
@@ -1414,8 +1154,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1414
1154
|
* - When type is not range type, Input component will automatically focus in the same case
|
|
1415
1155
|
* - isEventTarget is used to judge whether the event is a bubbling event
|
|
1416
1156
|
*/
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
1157
|
if (this._isRangeType() && !rangeInputFocus) {
|
|
1420
1158
|
if (this._adapter.isEventTarget(e)) {
|
|
1421
1159
|
setTimeout(() => {
|
|
@@ -1427,13 +1165,11 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1427
1165
|
// If it is a triggerRender scene, because there is no input, the default focus is rangeStart when the panel is opened
|
|
1428
1166
|
this._adapter.setRangeInputFocus('rangeStart');
|
|
1429
1167
|
}
|
|
1430
|
-
|
|
1431
1168
|
this.openPanel();
|
|
1432
1169
|
} else {
|
|
1433
1170
|
this.openPanel();
|
|
1434
1171
|
}
|
|
1435
1172
|
}
|
|
1436
|
-
|
|
1437
1173
|
handlePanelVisibleChange(visible) {
|
|
1438
1174
|
if (visible) {
|
|
1439
1175
|
this._adapter.setInsetInputFocus();
|
|
@@ -1441,8 +1177,6 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1441
1177
|
* After the panel is closed, the trigger input is disabled
|
|
1442
1178
|
* 面板关闭后,trigger input 禁用
|
|
1443
1179
|
*/
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
1180
|
setTimeout(() => {
|
|
1447
1181
|
this._adapter.setTriggerDisabled(true);
|
|
1448
1182
|
}, 0);
|
|
@@ -1450,7 +1184,5 @@ class DatePickerFoundation extends _foundation.default {
|
|
|
1450
1184
|
this._adapter.setTriggerDisabled(false);
|
|
1451
1185
|
}
|
|
1452
1186
|
}
|
|
1453
|
-
|
|
1454
1187
|
}
|
|
1455
|
-
|
|
1456
1188
|
exports.default = DatePickerFoundation;
|