@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
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _isEqual from "lodash/isEqual";
|
|
2
2
|
import _isSet from "lodash/isSet";
|
|
3
3
|
import _includes from "lodash/includes";
|
|
4
|
-
|
|
5
|
-
/* eslint-disable max-len */
|
|
6
4
|
import BaseFoundation from '../base/foundation';
|
|
7
5
|
import { strings } from './constants';
|
|
8
6
|
import { format, set, addMonths, subMonths, subYears, addYears, differenceInCalendarMonths, differenceInCalendarYears, isSameDay, parseISO } from 'date-fns';
|
|
@@ -11,7 +9,7 @@ import { formatFullDate } from './_utils/getMonthTable';
|
|
|
11
9
|
import { compatibleParse } from './_utils/parser';
|
|
12
10
|
import { zonedTimeToUtc } from '../utils/date-fns-extra';
|
|
13
11
|
import { getDefaultFormatTokenByType } from './_utils/getDefaultFormatToken';
|
|
14
|
-
import
|
|
12
|
+
import isValidTimeZone from './_utils/isValidTimeZone';
|
|
15
13
|
const dateDiffFns = {
|
|
16
14
|
month: differenceInCalendarMonths,
|
|
17
15
|
year: differenceInCalendarYears
|
|
@@ -24,31 +22,26 @@ const dateCalcFns = {
|
|
|
24
22
|
};
|
|
25
23
|
export default class MonthsGridFoundation extends BaseFoundation {
|
|
26
24
|
constructor(adapter) {
|
|
27
|
-
super(Object.assign({}, adapter));
|
|
28
|
-
|
|
25
|
+
super(Object.assign({}, adapter));
|
|
26
|
+
// Date change data when double panels
|
|
29
27
|
this.newBiMonthPanelDate = [this.getState('monthLeft').pickerDate, this.getState('monthRight').pickerDate];
|
|
30
28
|
}
|
|
31
|
-
|
|
32
29
|
init() {
|
|
33
30
|
const defaultValue = this.getProp('defaultValue');
|
|
34
31
|
this.initDefaultPickerValue();
|
|
35
32
|
this.updateSelectedFromProps(defaultValue);
|
|
36
33
|
}
|
|
37
|
-
|
|
38
34
|
initDefaultPickerValue() {
|
|
39
35
|
const defaultPickerValue = compatibleParse(this.getProp('defaultPickerValue'));
|
|
40
|
-
|
|
41
36
|
if (defaultPickerValue && isValidDate(defaultPickerValue)) {
|
|
42
37
|
this._updatePanelDetail(strings.PANEL_TYPE_LEFT, {
|
|
43
38
|
pickerDate: defaultPickerValue
|
|
44
39
|
});
|
|
45
|
-
|
|
46
40
|
this._updatePanelDetail(strings.PANEL_TYPE_RIGHT, {
|
|
47
41
|
pickerDate: addMonths(defaultPickerValue, 1)
|
|
48
42
|
});
|
|
49
43
|
}
|
|
50
44
|
}
|
|
51
|
-
|
|
52
45
|
updateSelectedFromProps(values) {
|
|
53
46
|
let refreshPicker = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
54
47
|
const type = this.getProp('type');
|
|
@@ -57,29 +50,20 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
57
50
|
rangeStart,
|
|
58
51
|
rangeEnd
|
|
59
52
|
} = this.getStates();
|
|
60
|
-
|
|
61
|
-
if (values && values.length) {
|
|
53
|
+
if (values && (values === null || values === void 0 ? void 0 : values.length)) {
|
|
62
54
|
switch (type) {
|
|
63
55
|
case 'date':
|
|
64
56
|
this._initDatePickerFromValue(values, refreshPicker);
|
|
65
|
-
|
|
66
57
|
break;
|
|
67
|
-
|
|
68
58
|
case 'dateRange':
|
|
69
59
|
this._initDateRangePickerFromValue(values);
|
|
70
|
-
|
|
71
60
|
break;
|
|
72
|
-
|
|
73
61
|
case 'dateTime':
|
|
74
62
|
this._initDateTimePickerFromValue(values);
|
|
75
|
-
|
|
76
63
|
break;
|
|
77
|
-
|
|
78
64
|
case 'dateTimeRange':
|
|
79
65
|
this._initDateTimeRangePickerFormValue(values);
|
|
80
|
-
|
|
81
66
|
break;
|
|
82
|
-
|
|
83
67
|
default:
|
|
84
68
|
break;
|
|
85
69
|
}
|
|
@@ -88,23 +72,19 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
88
72
|
if (_isSet(selected) && selected.size) {
|
|
89
73
|
this._adapter.updateDaySelected(new Set());
|
|
90
74
|
}
|
|
91
|
-
|
|
92
75
|
if (rangeStart) {
|
|
93
76
|
this._adapter.setRangeStart('');
|
|
94
77
|
}
|
|
95
|
-
|
|
96
78
|
if (rangeEnd) {
|
|
97
79
|
this._adapter.setRangeEnd('');
|
|
98
80
|
}
|
|
99
81
|
}
|
|
100
82
|
}
|
|
101
|
-
|
|
102
83
|
calcDisabledTime(panelType) {
|
|
103
84
|
const {
|
|
104
85
|
disabledTime,
|
|
105
86
|
type
|
|
106
87
|
} = this.getProps();
|
|
107
|
-
|
|
108
88
|
if (typeof disabledTime === 'function' && panelType && ['dateTime', 'dateTimeRange'].includes(type)) {
|
|
109
89
|
const {
|
|
110
90
|
rangeStart,
|
|
@@ -112,91 +92,94 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
112
92
|
monthLeft
|
|
113
93
|
} = this.getStates();
|
|
114
94
|
const selected = [];
|
|
115
|
-
|
|
116
95
|
if (type === 'dateTimeRange') {
|
|
117
96
|
if (rangeStart) {
|
|
118
97
|
selected.push(rangeStart);
|
|
119
98
|
}
|
|
120
|
-
|
|
121
99
|
if (rangeStart && rangeEnd) {
|
|
122
100
|
selected.push(rangeEnd);
|
|
123
101
|
}
|
|
124
102
|
} else if (monthLeft && monthLeft.showDate) {
|
|
125
103
|
selected.push(monthLeft.showDate);
|
|
126
104
|
}
|
|
127
|
-
|
|
128
105
|
const selectedDates = selected.map(str => str instanceof Date ? str : parseISO(str));
|
|
129
106
|
const cbDates = type === 'dateTimeRange' ? selectedDates : selectedDates[0];
|
|
130
107
|
return disabledTime(cbDates, panelType);
|
|
131
108
|
}
|
|
132
109
|
}
|
|
133
|
-
|
|
134
110
|
_initDatePickerFromValue(values) {
|
|
135
111
|
let refreshPicker = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
112
|
+
const {
|
|
113
|
+
monthLeft
|
|
114
|
+
} = this._adapter.getStates();
|
|
115
|
+
const newMonthLeft = Object.assign({}, monthLeft);
|
|
116
|
+
// REMOVE:
|
|
139
117
|
this._adapter.updateMonthOnLeft(newMonthLeft);
|
|
140
|
-
|
|
141
118
|
const newSelected = new Set();
|
|
142
|
-
|
|
143
|
-
if (!
|
|
119
|
+
const isMultiple = this._isMultiple();
|
|
120
|
+
if (!isMultiple) {
|
|
144
121
|
values[0] && newSelected.add(format(values[0], strings.FORMAT_FULL_DATE));
|
|
145
122
|
} else {
|
|
146
123
|
values.forEach(date => {
|
|
147
124
|
date && newSelected.add(format(date, strings.FORMAT_FULL_DATE));
|
|
148
125
|
});
|
|
149
126
|
}
|
|
150
|
-
|
|
151
127
|
if (refreshPicker) {
|
|
152
|
-
|
|
128
|
+
if (isMultiple) {
|
|
129
|
+
const leftPickerDateInSelected = values === null || values === void 0 ? void 0 : values.some(item => item && differenceInCalendarMonths(item, monthLeft.pickerDate) === 0);
|
|
130
|
+
!leftPickerDateInSelected && this.handleShowDateAndTime(strings.PANEL_TYPE_LEFT, values[0] || newMonthLeft.pickerDate);
|
|
131
|
+
} else {
|
|
132
|
+
this.handleShowDateAndTime(strings.PANEL_TYPE_LEFT, values[0] || newMonthLeft.pickerDate);
|
|
133
|
+
}
|
|
153
134
|
} else {
|
|
154
135
|
// FIXME:
|
|
155
136
|
this.handleShowDateAndTime(strings.PANEL_TYPE_LEFT, newMonthLeft.pickerDate);
|
|
156
137
|
}
|
|
157
|
-
|
|
158
138
|
this._adapter.updateDaySelected(newSelected);
|
|
159
139
|
}
|
|
160
|
-
|
|
161
140
|
_initDateRangePickerFromValue(values) {
|
|
162
141
|
let withTime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
163
142
|
// init month panel
|
|
164
143
|
const monthLeft = this.getState('monthLeft');
|
|
165
144
|
const monthRight = this.getState('monthRight');
|
|
166
|
-
|
|
167
145
|
const adjustResult = this._autoAdjustMonth(Object.assign(Object.assign({}, monthLeft), {
|
|
168
146
|
pickerDate: values[0] || monthLeft.pickerDate
|
|
169
147
|
}), Object.assign(Object.assign({}, monthRight), {
|
|
170
148
|
pickerDate: values[1] || monthRight.pickerDate
|
|
171
149
|
}));
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
150
|
+
const validValue = Array.isArray(values) && values.filter(item => item).length > 1;
|
|
151
|
+
if (validValue) {
|
|
152
|
+
this.handleShowDateAndTime(strings.PANEL_TYPE_LEFT, adjustResult.monthLeft.pickerDate);
|
|
153
|
+
this.handleShowDateAndTime(strings.PANEL_TYPE_RIGHT, adjustResult.monthRight.pickerDate);
|
|
154
|
+
} else {
|
|
155
|
+
const selectedDate = values.find(item => item);
|
|
156
|
+
// 如果日期不完整且输入日期不在面板范围内,则更新面板
|
|
157
|
+
if (selectedDate) {
|
|
158
|
+
const notLeftPanelDate = Math.abs(differenceInCalendarMonths(selectedDate, monthLeft.pickerDate)) > 0;
|
|
159
|
+
const notRightPanelDate = Math.abs(differenceInCalendarMonths(selectedDate, monthRight.pickerDate)) > 0;
|
|
160
|
+
if (notLeftPanelDate && notRightPanelDate) {
|
|
161
|
+
this.handleShowDateAndTime(strings.PANEL_TYPE_LEFT, adjustResult.monthLeft.pickerDate);
|
|
162
|
+
this.handleShowDateAndTime(strings.PANEL_TYPE_RIGHT, adjustResult.monthRight.pickerDate);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// init range
|
|
176
167
|
const formatToken = withTime ? strings.FORMAT_DATE_TIME : strings.FORMAT_FULL_DATE;
|
|
177
168
|
let rangeStart = values[0] && format(values[0], formatToken);
|
|
178
169
|
let rangeEnd = values[1] && format(values[1], formatToken);
|
|
179
|
-
|
|
180
170
|
if (this._isNeedSwap(rangeStart, rangeEnd)) {
|
|
181
171
|
[rangeStart, rangeEnd] = [rangeEnd, rangeStart];
|
|
182
172
|
}
|
|
183
|
-
|
|
184
173
|
this._adapter.setRangeStart(rangeStart);
|
|
185
|
-
|
|
186
174
|
this._adapter.setRangeEnd(rangeEnd);
|
|
187
|
-
|
|
188
175
|
this._adapter.setHoverDay(rangeEnd);
|
|
189
176
|
}
|
|
190
|
-
|
|
191
177
|
_initDateTimePickerFromValue(values) {
|
|
192
178
|
this._initDatePickerFromValue(values);
|
|
193
179
|
}
|
|
194
|
-
|
|
195
180
|
_initDateTimeRangePickerFormValue(values) {
|
|
196
181
|
this._initDateRangePickerFromValue(values, true);
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
|
|
182
|
+
}
|
|
200
183
|
destroy() {}
|
|
201
184
|
/**
|
|
202
185
|
* sync change another panel month when change months from the else yam panel
|
|
@@ -207,23 +190,18 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
207
190
|
* - panelType=right, target=new Date('2022-09-01') and left panel is in '2022-09' => call it, left panel minus one month to '2022-08'
|
|
208
191
|
* - panelType=left, target=new Date('2021-12-01') and right panel is in '2021-12' => call it, right panel add one month to '2021-01'
|
|
209
192
|
*/
|
|
210
|
-
|
|
211
|
-
|
|
212
193
|
handleSyncChangeMonths(options) {
|
|
213
194
|
const {
|
|
214
195
|
panelType,
|
|
215
196
|
target
|
|
216
197
|
} = options;
|
|
217
|
-
|
|
218
198
|
const {
|
|
219
199
|
type
|
|
220
200
|
} = this._adapter.getProps();
|
|
221
|
-
|
|
222
201
|
const {
|
|
223
202
|
monthLeft,
|
|
224
203
|
monthRight
|
|
225
204
|
} = this._adapter.getStates();
|
|
226
|
-
|
|
227
205
|
if (this.isRangeType(type)) {
|
|
228
206
|
if (panelType === 'right' && differenceInCalendarMonths(target, monthLeft.pickerDate) === 0) {
|
|
229
207
|
this.handleYearOrMonthChange('prevMonth', 'left', 1, true);
|
|
@@ -235,56 +213,42 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
235
213
|
/**
|
|
236
214
|
* Get the target date based on the panel type and switch type
|
|
237
215
|
*/
|
|
238
|
-
|
|
239
|
-
|
|
240
216
|
getTargetChangeDate(options) {
|
|
241
217
|
const {
|
|
242
218
|
panelType,
|
|
243
219
|
switchType
|
|
244
220
|
} = options;
|
|
245
|
-
|
|
246
221
|
const {
|
|
247
222
|
monthRight,
|
|
248
223
|
monthLeft
|
|
249
224
|
} = this._adapter.getStates();
|
|
250
|
-
|
|
251
225
|
const currentDate = panelType === 'left' ? monthLeft.pickerDate : monthRight.pickerDate;
|
|
252
226
|
let target;
|
|
253
|
-
|
|
254
227
|
switch (switchType) {
|
|
255
228
|
case 'prevMonth':
|
|
256
229
|
target = addMonths(currentDate, -1);
|
|
257
230
|
break;
|
|
258
|
-
|
|
259
231
|
case 'nextMonth':
|
|
260
232
|
target = addMonths(currentDate, 1);
|
|
261
233
|
break;
|
|
262
|
-
|
|
263
234
|
case 'prevYear':
|
|
264
235
|
target = addYears(currentDate, -1);
|
|
265
236
|
break;
|
|
266
|
-
|
|
267
237
|
case 'nextYear':
|
|
268
238
|
target = addYears(currentDate, 1);
|
|
269
239
|
break;
|
|
270
240
|
}
|
|
271
|
-
|
|
272
241
|
return target;
|
|
273
242
|
}
|
|
274
243
|
/**
|
|
275
244
|
* Change month by yam panel
|
|
276
245
|
*/
|
|
277
|
-
|
|
278
|
-
|
|
279
246
|
toMonth(panelType, target) {
|
|
280
247
|
const {
|
|
281
248
|
type
|
|
282
249
|
} = this._adapter.getProps();
|
|
283
|
-
|
|
284
250
|
const diff = this._getDiff('month', target, panelType);
|
|
285
|
-
|
|
286
251
|
this.handleYearOrMonthChange(diff < 0 ? 'prevMonth' : 'nextMonth', panelType, Math.abs(diff), false);
|
|
287
|
-
|
|
288
252
|
if (this.isRangeType(type)) {
|
|
289
253
|
this.handleSyncChangeMonths({
|
|
290
254
|
panelType,
|
|
@@ -292,18 +256,14 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
292
256
|
});
|
|
293
257
|
}
|
|
294
258
|
}
|
|
295
|
-
|
|
296
259
|
toYear(panelType, target) {
|
|
297
260
|
const diff = this._getDiff('year', target, panelType);
|
|
298
|
-
|
|
299
261
|
this.handleYearOrMonthChange(diff < 0 ? 'prevYear' : 'nextYear', panelType, Math.abs(diff), false);
|
|
300
262
|
}
|
|
301
|
-
|
|
302
263
|
toYearMonth(panelType, target) {
|
|
303
264
|
this.toYear(panelType, target);
|
|
304
265
|
this.toMonth(panelType, target);
|
|
305
266
|
}
|
|
306
|
-
|
|
307
267
|
isRangeType(type) {
|
|
308
268
|
const {
|
|
309
269
|
type: typeFromProp
|
|
@@ -311,14 +271,13 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
311
271
|
const realType = type ? type : typeFromProp;
|
|
312
272
|
return typeof realType === 'string' && /range/i.test(realType);
|
|
313
273
|
}
|
|
314
|
-
|
|
315
274
|
handleSwitchMonthOrYear(switchType, panelType) {
|
|
316
275
|
const {
|
|
317
276
|
type,
|
|
318
277
|
syncSwitchMonth
|
|
319
278
|
} = this.getProps();
|
|
320
|
-
const rangeType = this.isRangeType(type);
|
|
321
|
-
|
|
279
|
+
const rangeType = this.isRangeType(type);
|
|
280
|
+
// range type and syncSwitchMonth, we should change panels at same time
|
|
322
281
|
if (rangeType && syncSwitchMonth) {
|
|
323
282
|
this.handleYearOrMonthChange(switchType, 'left', 1, true);
|
|
324
283
|
this.handleYearOrMonthChange(switchType, 'right', 1, true);
|
|
@@ -329,7 +288,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
329
288
|
* In order to prevent the two panels from being the same month, this will confuse the user when selecting the range
|
|
330
289
|
* https://github.com/DouyinFE/semi-design/issues/260
|
|
331
290
|
*/
|
|
332
|
-
|
|
333
291
|
if (rangeType) {
|
|
334
292
|
const target = this.getTargetChangeDate({
|
|
335
293
|
panelType,
|
|
@@ -342,34 +300,26 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
342
300
|
}
|
|
343
301
|
}
|
|
344
302
|
}
|
|
345
|
-
|
|
346
303
|
prevMonth(panelType) {
|
|
347
304
|
this.handleSwitchMonthOrYear('prevMonth', panelType);
|
|
348
305
|
}
|
|
349
|
-
|
|
350
306
|
nextMonth(panelType) {
|
|
351
307
|
this.handleSwitchMonthOrYear('nextMonth', panelType);
|
|
352
308
|
}
|
|
353
|
-
|
|
354
309
|
prevYear(panelType) {
|
|
355
310
|
this.handleSwitchMonthOrYear('prevYear', panelType);
|
|
356
311
|
}
|
|
357
|
-
|
|
358
312
|
nextYear(panelType) {
|
|
359
313
|
this.handleSwitchMonthOrYear('nextYear', panelType);
|
|
360
314
|
}
|
|
361
315
|
/**
|
|
362
316
|
* Calculate the year and month difference
|
|
363
317
|
*/
|
|
364
|
-
|
|
365
|
-
|
|
366
318
|
_getDiff(type, target, panelType) {
|
|
367
319
|
const panelDetail = this._getPanelDetail(panelType);
|
|
368
|
-
|
|
369
320
|
const diff = dateDiffFns[type] && dateDiffFns[type](target, panelDetail.pickerDate);
|
|
370
321
|
return diff;
|
|
371
322
|
}
|
|
372
|
-
|
|
373
323
|
_getPanelDetail(panelType) {
|
|
374
324
|
return panelType === strings.PANEL_TYPE_RIGHT ? this.getState('monthRight') : this.getState('monthLeft');
|
|
375
325
|
}
|
|
@@ -380,23 +330,12 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
380
330
|
* @param {String} token
|
|
381
331
|
* @returns
|
|
382
332
|
*/
|
|
383
|
-
|
|
384
|
-
|
|
385
333
|
localeFormat(date, token) {
|
|
386
334
|
const dateFnsLocale = this._adapter.getProp('dateFnsLocale');
|
|
387
|
-
|
|
388
335
|
return format(date, token, {
|
|
389
336
|
locale: dateFnsLocale
|
|
390
337
|
});
|
|
391
338
|
}
|
|
392
|
-
|
|
393
|
-
isValidTimeZone(timeZone) {
|
|
394
|
-
const propTimeZone = this.getProp('timeZone');
|
|
395
|
-
|
|
396
|
-
const _timeZone = isNullOrUndefined(timeZone) ? propTimeZone : timeZone;
|
|
397
|
-
|
|
398
|
-
return ['string', 'number'].includes(typeof _timeZone) && _timeZone !== '';
|
|
399
|
-
}
|
|
400
339
|
/**
|
|
401
340
|
* 根据 type 处理 onChange 返回的参数
|
|
402
341
|
*
|
|
@@ -424,20 +363,15 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
424
363
|
*
|
|
425
364
|
* @param {Date|Date[]} value
|
|
426
365
|
*/
|
|
427
|
-
|
|
428
|
-
|
|
429
366
|
disposeCallbackArgs(value) {
|
|
430
367
|
let _value = Array.isArray(value) ? value : value && [value] || [];
|
|
431
|
-
|
|
432
|
-
if (
|
|
433
|
-
const timeZone = this.getProp('timeZone');
|
|
368
|
+
const timeZone = this.getProp('timeZone');
|
|
369
|
+
if (isValidTimeZone(timeZone)) {
|
|
434
370
|
_value = _value.map(date => zonedTimeToUtc(date, timeZone));
|
|
435
371
|
}
|
|
436
|
-
|
|
437
372
|
const type = this.getProp('type');
|
|
438
373
|
const formatToken = this.getProp('format') || getDefaultFormatTokenByType(type);
|
|
439
374
|
let notifyValue, notifyDate;
|
|
440
|
-
|
|
441
375
|
switch (type) {
|
|
442
376
|
case 'date':
|
|
443
377
|
case 'dateTime':
|
|
@@ -449,25 +383,20 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
449
383
|
notifyValue = _value.map(v => v && this.localeFormat(v, formatToken));
|
|
450
384
|
notifyDate = [..._value];
|
|
451
385
|
}
|
|
452
|
-
|
|
453
386
|
break;
|
|
454
|
-
|
|
455
387
|
case 'dateRange':
|
|
456
388
|
case 'dateTimeRange':
|
|
457
389
|
notifyValue = _value.map(v => v && this.localeFormat(v, formatToken));
|
|
458
390
|
notifyDate = [..._value];
|
|
459
391
|
break;
|
|
460
|
-
|
|
461
392
|
default:
|
|
462
393
|
break;
|
|
463
394
|
}
|
|
464
|
-
|
|
465
395
|
return {
|
|
466
396
|
notifyValue,
|
|
467
397
|
notifyDate
|
|
468
398
|
};
|
|
469
399
|
}
|
|
470
|
-
|
|
471
400
|
handleYearOrMonthChange(type) {
|
|
472
401
|
let panelType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : strings.PANEL_TYPE_LEFT;
|
|
473
402
|
let step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
|
@@ -482,21 +411,17 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
482
411
|
} = this.getStates();
|
|
483
412
|
const isRangeType = this.isRangeType(datePanelType);
|
|
484
413
|
const isLeftPanelInRange = isRangeType && panelType === strings.PANEL_TYPE_LEFT;
|
|
485
|
-
|
|
486
414
|
const panelDetail = this._getPanelDetail(panelType);
|
|
487
|
-
|
|
488
415
|
const {
|
|
489
416
|
pickerDate
|
|
490
417
|
} = panelDetail;
|
|
491
418
|
const fn = dateCalcFns[type];
|
|
492
|
-
const targetMonth = fn(pickerDate, step);
|
|
493
|
-
|
|
419
|
+
const targetMonth = fn(pickerDate, step);
|
|
420
|
+
// Determine if the date has changed
|
|
494
421
|
const panelDateHasUpdate = panelType === strings.PANEL_TYPE_LEFT && !_isEqual(targetMonth, monthLeft.pickerDate) || panelType === strings.PANEL_TYPE_RIGHT && !_isEqual(targetMonth, monthRight.pickerDate);
|
|
495
|
-
|
|
496
422
|
this._updatePanelDetail(panelType, {
|
|
497
423
|
pickerDate: targetMonth
|
|
498
424
|
});
|
|
499
|
-
|
|
500
425
|
if (panelDateHasUpdate) {
|
|
501
426
|
// When the date changes
|
|
502
427
|
if (!isRangeType) {
|
|
@@ -505,7 +430,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
505
430
|
notifyValue,
|
|
506
431
|
notifyDate
|
|
507
432
|
} = this.disposeCallbackArgs(targetMonth);
|
|
508
|
-
|
|
509
433
|
this._adapter.notifyPanelChange(notifyDate, notifyValue);
|
|
510
434
|
} else {
|
|
511
435
|
// Double Panel Type
|
|
@@ -516,19 +440,16 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
516
440
|
// Right panel
|
|
517
441
|
this.newBiMonthPanelDate[1] = targetMonth;
|
|
518
442
|
}
|
|
519
|
-
|
|
520
443
|
if (!(isLeftPanelInRange && notSeparateInRange)) {
|
|
521
444
|
// Not synchronously switching the left panel in the scene
|
|
522
445
|
const {
|
|
523
446
|
notifyValue,
|
|
524
447
|
notifyDate
|
|
525
448
|
} = this.disposeCallbackArgs(this.newBiMonthPanelDate);
|
|
526
|
-
|
|
527
449
|
this._adapter.notifyPanelChange(notifyDate, notifyValue);
|
|
528
450
|
}
|
|
529
451
|
}
|
|
530
452
|
}
|
|
531
|
-
|
|
532
453
|
if (autoSwitchDate) {
|
|
533
454
|
this.updateDateAfterChangeYM(type, targetMonth);
|
|
534
455
|
}
|
|
@@ -538,8 +459,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
538
459
|
* @param {*} type
|
|
539
460
|
* @param {*} targetDate
|
|
540
461
|
*/
|
|
541
|
-
|
|
542
|
-
|
|
543
462
|
updateDateAfterChangeYM(type, targetDate) {
|
|
544
463
|
const {
|
|
545
464
|
multiple,
|
|
@@ -551,13 +470,12 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
551
470
|
rangeStart,
|
|
552
471
|
rangeEnd,
|
|
553
472
|
monthLeft
|
|
554
|
-
} = this.getStates();
|
|
555
|
-
|
|
473
|
+
} = this.getStates();
|
|
474
|
+
// FIXME:
|
|
556
475
|
const includeRange = ['dateRange', 'dateTimeRange'].includes(type);
|
|
557
476
|
const options = {
|
|
558
477
|
closePanel: false
|
|
559
478
|
};
|
|
560
|
-
|
|
561
479
|
if (!multiple && !includeRange && selectedSet.size) {
|
|
562
480
|
const selectedStr = Array.from(selectedSet)[0];
|
|
563
481
|
const selectedDate = new Date(selectedStr);
|
|
@@ -567,7 +485,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
567
485
|
year,
|
|
568
486
|
month
|
|
569
487
|
});
|
|
570
|
-
|
|
571
488
|
if (dateType === 'dateTime') {
|
|
572
489
|
/**
|
|
573
490
|
* 如果是 type dateTime 切换月份要读取只取的time
|
|
@@ -575,42 +492,34 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
575
492
|
*/
|
|
576
493
|
fullDate = this._mergeDateAndTime(fullDate, monthLeft.pickerDate);
|
|
577
494
|
}
|
|
578
|
-
|
|
579
495
|
if (disabledDate(fullDate, {
|
|
580
496
|
rangeStart,
|
|
581
497
|
rangeEnd
|
|
582
498
|
})) {
|
|
583
499
|
return;
|
|
584
500
|
}
|
|
585
|
-
|
|
586
501
|
this._adapter.notifySelectedChange([fullDate], options);
|
|
587
502
|
}
|
|
588
503
|
}
|
|
589
|
-
|
|
590
504
|
_isMultiple() {
|
|
591
505
|
return Boolean(this.getProp('multiple')) && this.getProp('type') === 'date';
|
|
592
506
|
}
|
|
593
|
-
|
|
594
|
-
|
|
507
|
+
_isRange() {
|
|
508
|
+
// return this._adapter.getProp('type') === dateRangeTypeKey;
|
|
595
509
|
}
|
|
596
|
-
|
|
597
510
|
handleDayClick(day, panelType) {
|
|
598
511
|
const type = this.getProp('type');
|
|
599
|
-
|
|
600
512
|
switch (true) {
|
|
601
513
|
case type === 'date' || type === 'dateTime':
|
|
602
514
|
this.handleDateSelected(day, panelType);
|
|
603
515
|
break;
|
|
604
|
-
|
|
605
516
|
case type === 'dateRange' || type === 'dateTimeRange':
|
|
606
517
|
this.handleRangeSelected(day);
|
|
607
518
|
break;
|
|
608
|
-
|
|
609
519
|
default:
|
|
610
520
|
break;
|
|
611
521
|
}
|
|
612
522
|
}
|
|
613
|
-
|
|
614
523
|
handleDateSelected(day, panelType) {
|
|
615
524
|
const {
|
|
616
525
|
max,
|
|
@@ -618,22 +527,17 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
618
527
|
isControlledComponent,
|
|
619
528
|
dateFnsLocale
|
|
620
529
|
} = this.getProps();
|
|
621
|
-
|
|
622
530
|
const multiple = this._isMultiple();
|
|
623
|
-
|
|
624
531
|
const {
|
|
625
532
|
selected
|
|
626
533
|
} = this.getStates();
|
|
627
|
-
|
|
628
534
|
const monthDetail = this._getPanelDetail(panelType);
|
|
629
|
-
|
|
630
535
|
const newSelected = new Set(multiple ? [...selected] : []);
|
|
631
536
|
const {
|
|
632
537
|
fullDate
|
|
633
538
|
} = day;
|
|
634
539
|
const time = monthDetail.pickerDate;
|
|
635
540
|
const dateStr = type === 'dateTime' ? this._mergeDateAndTime(fullDate, time) : fullDate;
|
|
636
|
-
|
|
637
541
|
if (!multiple) {
|
|
638
542
|
newSelected.add(dateStr);
|
|
639
543
|
} else {
|
|
@@ -645,24 +549,19 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
645
549
|
newSelected.add(dateStr);
|
|
646
550
|
}
|
|
647
551
|
}
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
552
|
+
const dateFormat = this.getValidDateFormat();
|
|
553
|
+
// When passed to the upper layer, it is converted into a Date object to ensure that the input parameter format of initFormDefaultValue is consistent
|
|
651
554
|
const newSelectedDates = [...newSelected].map(_dateStr => compatibleParse(_dateStr, dateFormat, undefined, dateFnsLocale));
|
|
652
555
|
this.handleShowDateAndTime(panelType, time);
|
|
653
|
-
|
|
654
556
|
if (!isControlledComponent) {
|
|
655
557
|
// Uncontrolled components, update internal values when operating, and notify external
|
|
656
558
|
// MonthGrid internally uses string to represent fullDate for easy rendering
|
|
657
559
|
this._adapter.updateDaySelected(newSelected);
|
|
658
560
|
}
|
|
659
|
-
|
|
660
561
|
this._adapter.notifySelectedChange(newSelectedDates);
|
|
661
562
|
}
|
|
662
|
-
|
|
663
563
|
handleShowDateAndTime(panelType, pickerDate, showDate) {
|
|
664
564
|
const _showDate = showDate || pickerDate;
|
|
665
|
-
|
|
666
565
|
this._updatePanelDetail(panelType, {
|
|
667
566
|
showDate: _showDate,
|
|
668
567
|
pickerDate
|
|
@@ -675,23 +574,18 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
675
574
|
* @param {Date|string} time
|
|
676
575
|
* @returns {Date}
|
|
677
576
|
*/
|
|
678
|
-
|
|
679
|
-
|
|
680
577
|
_mergeDateAndTime(date, time) {
|
|
681
578
|
const dateFnsLocale = this._adapter.getProp('dateFnsLocale');
|
|
682
|
-
|
|
683
579
|
const dateStr = format(isValidDate(date) ? date : compatibleParse(date, strings.FORMAT_FULL_DATE, undefined, dateFnsLocale), strings.FORMAT_FULL_DATE);
|
|
684
580
|
const timeStr = format(isValidDate(time) ? time : compatibleParse(time, strings.FORMAT_TIME_PICKER, undefined, dateFnsLocale), strings.FORMAT_TIME_PICKER);
|
|
685
581
|
const timeFormat = this.getValidTimeFormat();
|
|
686
|
-
return compatibleParse(
|
|
582
|
+
return compatibleParse(`${dateStr} ${timeStr}`, timeFormat, undefined, dateFnsLocale);
|
|
687
583
|
}
|
|
688
|
-
|
|
689
584
|
handleRangeSelected(day) {
|
|
690
585
|
let {
|
|
691
586
|
rangeStart,
|
|
692
587
|
rangeEnd
|
|
693
588
|
} = this.getStates();
|
|
694
|
-
|
|
695
589
|
const {
|
|
696
590
|
startDateOffset,
|
|
697
591
|
endDateOffset,
|
|
@@ -700,81 +594,70 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
700
594
|
rangeInputFocus,
|
|
701
595
|
triggerRender
|
|
702
596
|
} = this._adapter.getProps();
|
|
703
|
-
|
|
704
597
|
const {
|
|
705
598
|
fullDate
|
|
706
599
|
} = day;
|
|
707
600
|
let rangeStartReset = false;
|
|
708
601
|
let rangeEndReset = false;
|
|
709
602
|
const isDateRangeAndHasOffset = (startDateOffset || endDateOffset) && type === 'dateRange';
|
|
710
|
-
|
|
711
603
|
if (isDateRangeAndHasOffset) {
|
|
712
604
|
rangeStart = getFullDateOffset(startDateOffset, fullDate);
|
|
713
605
|
rangeEnd = getFullDateOffset(endDateOffset, fullDate);
|
|
714
606
|
} else {
|
|
715
607
|
if (rangeInputFocus === 'rangeEnd') {
|
|
716
|
-
rangeEnd = fullDate;
|
|
717
|
-
|
|
608
|
+
rangeEnd = fullDate;
|
|
609
|
+
// rangStart Parten in dateTime: 'yyyy-MM-dd HH:MM:SS', rangeEnd parten: 'yyyy-MM-dd'
|
|
718
610
|
if (rangeStart && rangeEnd && isBefore(rangeEnd, rangeStart.trim().split(/\s+/)[0])) {
|
|
719
611
|
rangeStart = null;
|
|
720
612
|
rangeStartReset = true;
|
|
721
|
-
}
|
|
722
|
-
|
|
613
|
+
}
|
|
614
|
+
// Compatible to select date after opening the panel without click input
|
|
723
615
|
} else if (rangeInputFocus === 'rangeStart' || !rangeInputFocus) {
|
|
724
|
-
rangeStart = fullDate;
|
|
725
|
-
|
|
616
|
+
rangeStart = fullDate;
|
|
617
|
+
// rangEnd Parten in dateTime: 'yyyy-MM-dd HH:MM:SS', rangeStart parten: 'yyyy-MM-dd'
|
|
726
618
|
if (rangeStart && rangeEnd && isBefore(rangeEnd.trim().split(/\s+/)[0], rangeStart)) {
|
|
727
619
|
rangeEnd = null;
|
|
728
620
|
rangeEndReset = true;
|
|
729
621
|
}
|
|
730
622
|
}
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
|
|
623
|
+
}
|
|
624
|
+
// next focus logic
|
|
734
625
|
const isRangeType = /range/i.test(type);
|
|
735
|
-
|
|
736
626
|
if (isRangeType) {
|
|
737
627
|
if (isDateRangeAndHasOffset) {
|
|
738
628
|
this._adapter.setRangeStart(rangeStart);
|
|
739
|
-
|
|
740
629
|
this._adapter.setRangeEnd(rangeEnd);
|
|
741
630
|
} else {
|
|
742
631
|
if (rangeInputFocus === 'rangeEnd') {
|
|
743
632
|
this._adapter.setRangeEnd(rangeEnd);
|
|
744
|
-
|
|
745
633
|
if (rangeStartReset) {
|
|
746
634
|
this._adapter.setRangeStart(rangeStart);
|
|
747
635
|
}
|
|
748
|
-
|
|
749
636
|
if (!this._adapter.isAnotherPanelHasOpened('rangeEnd') || !rangeStart) {
|
|
750
637
|
this._adapter.setRangeInputFocus('rangeStart');
|
|
751
638
|
}
|
|
752
639
|
} else if (rangeInputFocus === 'rangeStart' || !rangeInputFocus) {
|
|
753
640
|
this._adapter.setRangeStart(rangeStart);
|
|
754
|
-
|
|
755
641
|
if (rangeEndReset) {
|
|
756
642
|
this._adapter.setRangeEnd(rangeEnd);
|
|
757
643
|
}
|
|
758
|
-
|
|
759
644
|
if (!this._adapter.isAnotherPanelHasOpened('rangeStart') || !rangeEnd) {
|
|
760
645
|
this._adapter.setRangeInputFocus('rangeEnd');
|
|
761
646
|
}
|
|
762
647
|
}
|
|
763
648
|
}
|
|
764
649
|
}
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
650
|
+
const dateFormat = this.getValidDateFormat();
|
|
651
|
+
// only notify when choose completed
|
|
768
652
|
if (rangeStart || rangeEnd) {
|
|
769
653
|
const [startDate, endDate] = [compatibleParse(rangeStart, dateFormat, undefined, dateFnsLocale), compatibleParse(rangeEnd, dateFormat, undefined, dateFnsLocale)];
|
|
770
|
-
let date = [startDate, endDate];
|
|
771
|
-
|
|
654
|
+
let date = [startDate, endDate];
|
|
655
|
+
// If the type is dateRangeTime, add the value of time
|
|
772
656
|
if (type === 'dateTimeRange') {
|
|
773
657
|
const startTime = this.getState('monthLeft').pickerDate;
|
|
774
658
|
const endTime = this.getState('monthRight').pickerDate;
|
|
775
659
|
const start = rangeStart ? this._mergeDateAndTime(rangeStart, startTime) : null;
|
|
776
660
|
const end = rangeEnd ? this._mergeDateAndTime(rangeEnd, endTime) : null;
|
|
777
|
-
|
|
778
661
|
if (isSameDay(startDate, endDate) && isBefore(end, start)) {
|
|
779
662
|
date = [start, start];
|
|
780
663
|
} else {
|
|
@@ -785,16 +668,12 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
785
668
|
* no need to check focus then
|
|
786
669
|
* - dateRange and isDateRangeAndHasOffset
|
|
787
670
|
*/
|
|
788
|
-
|
|
789
|
-
|
|
790
671
|
const needCheckFocusRecord = !(type === 'dateRange' && isDateRangeAndHasOffset);
|
|
791
|
-
|
|
792
672
|
this._adapter.notifySelectedChange(date, {
|
|
793
673
|
needCheckFocusRecord
|
|
794
674
|
});
|
|
795
675
|
}
|
|
796
676
|
}
|
|
797
|
-
|
|
798
677
|
_isNeedSwap(rangeStart, rangeEnd) {
|
|
799
678
|
// Check whether the start and end are reasonable and whether they need to be reversed
|
|
800
679
|
return rangeStart && rangeEnd && isBefore(rangeEnd, rangeStart);
|
|
@@ -803,8 +682,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
803
682
|
* Day may be empty, this is unhover state
|
|
804
683
|
* @param {*} day
|
|
805
684
|
*/
|
|
806
|
-
|
|
807
|
-
|
|
808
685
|
handleDayHover() {
|
|
809
686
|
let day = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
810
687
|
fullDate: ''
|
|
@@ -818,25 +695,19 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
818
695
|
endDateOffset,
|
|
819
696
|
type
|
|
820
697
|
} = this.getProps();
|
|
821
|
-
|
|
822
698
|
this._adapter.setHoverDay(fullDate);
|
|
823
|
-
|
|
824
699
|
if ((startDateOffset || endDateOffset) && type === 'dateRange') {
|
|
825
700
|
const offsetRangeStart = getFullDateOffset(startDateOffset, fullDate);
|
|
826
701
|
const offsetRangeEnd = getFullDateOffset(endDateOffset, fullDate);
|
|
827
|
-
|
|
828
702
|
this._adapter.setOffsetRangeStart(offsetRangeStart);
|
|
829
|
-
|
|
830
703
|
this._adapter.setOffsetRangeEnd(offsetRangeEnd);
|
|
831
704
|
}
|
|
832
|
-
}
|
|
833
|
-
|
|
834
|
-
|
|
705
|
+
}
|
|
706
|
+
// Guarantee that monthLeft, monthRight will not appear in the same month or monthLeft is greater than MonthRight
|
|
835
707
|
_autoAdjustMonth(monthLeft, monthRight) {
|
|
836
708
|
let newMonthLeft = monthLeft;
|
|
837
709
|
let newMonthRight = monthRight;
|
|
838
710
|
const difference = differenceInCalendarMonths(monthLeft.pickerDate, monthRight.pickerDate);
|
|
839
|
-
|
|
840
711
|
if (difference > 0) {
|
|
841
712
|
// The month on the left is larger than the month on the right, swap
|
|
842
713
|
newMonthLeft = Object.assign({}, monthRight);
|
|
@@ -848,36 +719,28 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
848
719
|
pickerDate: addMonths(monthRight.pickerDate, 1)
|
|
849
720
|
});
|
|
850
721
|
}
|
|
851
|
-
|
|
852
722
|
return {
|
|
853
723
|
monthLeft: newMonthLeft,
|
|
854
724
|
monthRight: newMonthRight
|
|
855
725
|
};
|
|
856
726
|
}
|
|
857
|
-
|
|
858
727
|
getValidTimeFormat() {
|
|
859
728
|
const formatProp = this.getProp('format') || strings.FORMAT_TIME_PICKER;
|
|
860
729
|
const timeFormatTokens = [];
|
|
861
|
-
|
|
862
730
|
if (_includes(formatProp, 'h') || _includes(formatProp, 'H')) {
|
|
863
731
|
timeFormatTokens.push('HH');
|
|
864
732
|
}
|
|
865
|
-
|
|
866
733
|
if (_includes(formatProp, 'm')) {
|
|
867
734
|
timeFormatTokens.push('mm');
|
|
868
735
|
}
|
|
869
|
-
|
|
870
736
|
if (_includes(formatProp, 's')) {
|
|
871
737
|
timeFormatTokens.push('ss');
|
|
872
738
|
}
|
|
873
|
-
|
|
874
739
|
return timeFormatTokens.join(':');
|
|
875
740
|
}
|
|
876
|
-
|
|
877
741
|
getValidDateFormat() {
|
|
878
742
|
return this.getProp('format') || getDefaultFormatToken(this.getProp('type'));
|
|
879
743
|
}
|
|
880
|
-
|
|
881
744
|
handleTimeChange(newTime, panelType) {
|
|
882
745
|
const {
|
|
883
746
|
rangeEnd,
|
|
@@ -886,21 +749,19 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
886
749
|
const dateFnsLocale = this.getProp('dateFnsLocale');
|
|
887
750
|
const ts = newTime.timeStampValue;
|
|
888
751
|
const type = this.getProp('type');
|
|
889
|
-
|
|
890
752
|
const panelDetail = this._getPanelDetail(panelType);
|
|
891
|
-
|
|
892
753
|
const {
|
|
893
754
|
showDate
|
|
894
755
|
} = panelDetail;
|
|
895
756
|
const timeDate = new Date(ts);
|
|
896
757
|
const dateFormat = this.getValidDateFormat();
|
|
897
758
|
const destRange = panelType === strings.PANEL_TYPE_RIGHT ? rangeEnd : rangeStart;
|
|
898
|
-
let year, monthNo, date;
|
|
759
|
+
let year, monthNo, date;
|
|
760
|
+
// if (pickerDate && isValidDate(pickerDate)) {
|
|
899
761
|
// year = pickerDate.getFullYear();
|
|
900
762
|
// monthNo = pickerDate.getMonth();
|
|
901
763
|
// date = pickerDate.getDate();
|
|
902
764
|
// } else
|
|
903
|
-
|
|
904
765
|
if (type === 'dateTimeRange' && destRange) {
|
|
905
766
|
const rangeDate = compatibleParse(destRange, dateFormat, undefined, dateFnsLocale);
|
|
906
767
|
year = rangeDate.getFullYear();
|
|
@@ -911,17 +772,14 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
911
772
|
monthNo = showDate.getMonth();
|
|
912
773
|
date = showDate.getDate();
|
|
913
774
|
}
|
|
914
|
-
|
|
915
775
|
const hours = timeDate.getHours();
|
|
916
776
|
const minutes = timeDate.getMinutes();
|
|
917
777
|
const seconds = timeDate.getSeconds();
|
|
918
778
|
const milSeconds = timeDate.getMilliseconds();
|
|
919
779
|
const dateArgs = [year, monthNo, date, hours, minutes, seconds, milSeconds];
|
|
920
780
|
const fullValidDate = new Date(...dateArgs);
|
|
921
|
-
|
|
922
781
|
if (type === 'dateTimeRange') {
|
|
923
782
|
this.handleShowDateAndTime(panelType, fullValidDate, showDate);
|
|
924
|
-
|
|
925
783
|
this._updateTimeInDateRange(panelType, fullValidDate);
|
|
926
784
|
} else {
|
|
927
785
|
const fullDate = formatFullDate(year, monthNo + 1, date);
|
|
@@ -930,7 +788,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
930
788
|
fullValidDate
|
|
931
789
|
}, panelType);
|
|
932
790
|
this.handleShowDateAndTime(panelType, fullValidDate);
|
|
933
|
-
|
|
934
791
|
this._adapter.notifySelectedChange([fullValidDate]);
|
|
935
792
|
}
|
|
936
793
|
}
|
|
@@ -939,8 +796,6 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
939
796
|
* @param {string} panelType
|
|
940
797
|
* @param {Date} timeDate
|
|
941
798
|
*/
|
|
942
|
-
|
|
943
|
-
|
|
944
799
|
_updateTimeInDateRange(panelType, timeDate) {
|
|
945
800
|
const {
|
|
946
801
|
isControlledComponent,
|
|
@@ -948,74 +803,63 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
948
803
|
} = this.getProps();
|
|
949
804
|
let rangeStart = this.getState('rangeStart');
|
|
950
805
|
let rangeEnd = this.getState('rangeEnd');
|
|
951
|
-
const dateFormat = this.getValidDateFormat();
|
|
952
|
-
|
|
806
|
+
const dateFormat = this.getValidDateFormat();
|
|
807
|
+
// TODO: Modify a time individually
|
|
953
808
|
if (rangeStart && rangeEnd) {
|
|
954
809
|
let startDate = compatibleParse(rangeStart, dateFormat, undefined, dateFnsLocale);
|
|
955
|
-
let endDate = compatibleParse(rangeEnd, dateFormat, undefined, dateFnsLocale);
|
|
956
|
-
|
|
810
|
+
let endDate = compatibleParse(rangeEnd, dateFormat, undefined, dateFnsLocale);
|
|
811
|
+
// console.log('_updateTimeInDateRange()', rangeStart, rangeEnd, startDate, endDate);
|
|
957
812
|
if (panelType === strings.PANEL_TYPE_RIGHT) {
|
|
958
813
|
endDate = this._mergeDateAndTime(timeDate, timeDate);
|
|
959
814
|
rangeEnd = format(endDate, strings.FORMAT_DATE_TIME);
|
|
960
|
-
|
|
961
815
|
if (this._isNeedSwap(rangeStart, rangeEnd)) {
|
|
962
816
|
[rangeStart, rangeEnd] = [rangeEnd, rangeStart];
|
|
963
817
|
[startDate, endDate] = [endDate, startDate];
|
|
964
818
|
}
|
|
965
|
-
|
|
966
819
|
if (!isControlledComponent) {
|
|
967
820
|
this._adapter.setRangeEnd(rangeEnd);
|
|
968
821
|
}
|
|
969
822
|
} else {
|
|
970
823
|
startDate = this._mergeDateAndTime(timeDate, timeDate);
|
|
971
824
|
rangeStart = format(startDate, strings.FORMAT_DATE_TIME);
|
|
972
|
-
|
|
973
825
|
if (this._isNeedSwap(rangeStart, rangeEnd)) {
|
|
974
826
|
[rangeStart, rangeEnd] = [rangeEnd, rangeStart];
|
|
975
827
|
[startDate, endDate] = [endDate, startDate];
|
|
976
828
|
}
|
|
977
|
-
|
|
978
829
|
if (!isControlledComponent) {
|
|
979
830
|
this._adapter.setRangeStart(rangeStart);
|
|
980
831
|
}
|
|
981
|
-
}
|
|
982
|
-
|
|
983
|
-
|
|
832
|
+
}
|
|
833
|
+
// console.log('_updateTimeInDateRange()', rangeStart, rangeEnd, startDate, endDate);
|
|
984
834
|
this._adapter.notifySelectedChange([startDate, endDate]);
|
|
985
835
|
}
|
|
986
836
|
}
|
|
987
|
-
|
|
988
837
|
_updatePanelDetail(panelType, kvs) {
|
|
989
838
|
const {
|
|
990
839
|
monthLeft,
|
|
991
840
|
monthRight
|
|
992
841
|
} = this.getStates();
|
|
993
|
-
|
|
994
842
|
if (panelType === strings.PANEL_TYPE_RIGHT) {
|
|
995
843
|
this._adapter.updateMonthOnRight(Object.assign(Object.assign({}, monthRight), kvs));
|
|
996
844
|
} else {
|
|
997
845
|
this._adapter.updateMonthOnLeft(Object.assign(Object.assign({}, monthLeft), kvs));
|
|
998
846
|
}
|
|
999
847
|
}
|
|
1000
|
-
|
|
1001
848
|
showYearPicker(panelType) {
|
|
1002
849
|
this._updatePanelDetail(panelType, {
|
|
1003
850
|
isTimePickerOpen: false,
|
|
1004
851
|
isYearPickerOpen: true
|
|
1005
852
|
});
|
|
1006
853
|
}
|
|
1007
|
-
|
|
1008
854
|
showTimePicker(panelType, opt) {
|
|
1009
855
|
if (this.getProp('disabledTimePicker')) {
|
|
1010
856
|
return;
|
|
1011
857
|
}
|
|
1012
|
-
|
|
1013
858
|
this._updatePanelDetail(panelType, {
|
|
1014
859
|
isTimePickerOpen: true,
|
|
1015
860
|
isYearPickerOpen: false
|
|
1016
861
|
});
|
|
1017
862
|
}
|
|
1018
|
-
|
|
1019
863
|
showDatePanel(panelType) {
|
|
1020
864
|
this._updatePanelDetail(panelType, {
|
|
1021
865
|
isTimePickerOpen: false,
|
|
@@ -1029,17 +873,13 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
1029
873
|
* - When yam open type is 'left' or 'right', weeks minHeight should be set
|
|
1030
874
|
* If the minHeight is not set, the change of the number of weeks will cause the scrollList to be unstable
|
|
1031
875
|
*/
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
876
|
getYAMOpenType() {
|
|
1035
877
|
const {
|
|
1036
878
|
monthLeft,
|
|
1037
879
|
monthRight
|
|
1038
880
|
} = this._adapter.getStates();
|
|
1039
|
-
|
|
1040
881
|
const leftYearPickerOpen = monthLeft.isYearPickerOpen;
|
|
1041
882
|
const rightYearPickerOpen = monthRight.isYearPickerOpen;
|
|
1042
|
-
|
|
1043
883
|
if (leftYearPickerOpen && rightYearPickerOpen) {
|
|
1044
884
|
return 'both';
|
|
1045
885
|
} else if (leftYearPickerOpen) {
|
|
@@ -1050,5 +890,4 @@ export default class MonthsGridFoundation extends BaseFoundation {
|
|
|
1050
890
|
return 'none';
|
|
1051
891
|
}
|
|
1052
892
|
}
|
|
1053
|
-
|
|
1054
893
|
}
|