@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
package/datePicker/foundation.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/* eslint-disable no-nested-ternary */
|
|
2
|
-
/* eslint-disable max-len, max-depth, */
|
|
3
1
|
import { format, isValid, isSameSecond, isEqual as isDateEqual, isDate } from 'date-fns';
|
|
4
2
|
import { get, isObject, isString, isEqual, isFunction } from 'lodash';
|
|
5
3
|
|
|
@@ -19,6 +17,8 @@ import type { ArrayElement, Motion } from '../utils/type';
|
|
|
19
17
|
import type { Type, DateInputFoundationProps, InsetInputValue } from './inputFoundation';
|
|
20
18
|
import type { MonthsGridFoundationProps } from './monthsGridFoundation';
|
|
21
19
|
import type { WeekStartNumber } from './_utils/getMonthTable';
|
|
20
|
+
import isValidTimeZone from './_utils/isValidTimeZone';
|
|
21
|
+
import warning from '../utils/warning';
|
|
22
22
|
|
|
23
23
|
export type ValidateStatus = ArrayElement<typeof strings.STATUS>;
|
|
24
24
|
export type InputSize = ArrayElement<typeof strings.SIZE_SET>;
|
|
@@ -46,9 +46,10 @@ export type DisabledDateOptions = {
|
|
|
46
46
|
*/
|
|
47
47
|
rangeInputFocus?: 'rangeStart' | 'rangeEnd' | false
|
|
48
48
|
};
|
|
49
|
+
|
|
49
50
|
export type PresetType = {
|
|
50
|
-
start?:
|
|
51
|
-
end?:
|
|
51
|
+
start?: BaseValueType | (() => BaseValueType);
|
|
52
|
+
end?: BaseValueType | (() => BaseValueType);
|
|
52
53
|
text?: string
|
|
53
54
|
};
|
|
54
55
|
|
|
@@ -109,19 +110,18 @@ export interface EventHandlerProps {
|
|
|
109
110
|
onPanelChange?: OnPanelChangeType;
|
|
110
111
|
onConfirm?: OnConfirmType;
|
|
111
112
|
// properties below need overwrite
|
|
112
|
-
// onBlur?: React.MouseEventHandler<HTMLInputElement>;
|
|
113
113
|
onBlur?: (e: any) => void;
|
|
114
|
-
// onClear?: React.MouseEventHandler<HTMLDivElement>;
|
|
115
114
|
onClear?: (e: any) => void;
|
|
116
|
-
// onFocus?: React.MouseEventHandler<HTMLInputElement>;
|
|
117
115
|
onFocus?: (e: any, rangType: RangeType) => void;
|
|
118
|
-
onPresetClick?: OnPresetClickType
|
|
116
|
+
onPresetClick?: OnPresetClickType;
|
|
117
|
+
onClickOutSide?: () => void
|
|
119
118
|
}
|
|
120
119
|
|
|
121
|
-
export interface DatePickerFoundationProps extends ElementProps, RenderProps, EventHandlerProps {
|
|
120
|
+
export interface DatePickerFoundationProps extends ElementProps, RenderProps, EventHandlerProps, Pick<MonthsGridFoundationProps, 'startYear' | 'endYear'> {
|
|
122
121
|
autoAdjustOverflow?: boolean;
|
|
123
122
|
autoFocus?: boolean;
|
|
124
123
|
autoSwitchDate?: boolean;
|
|
124
|
+
borderless?: boolean;
|
|
125
125
|
className?: string;
|
|
126
126
|
defaultOpen?: boolean;
|
|
127
127
|
defaultPickerValue?: ValueType;
|
|
@@ -168,19 +168,22 @@ export interface DatePickerFoundationProps extends ElementProps, RenderProps, Ev
|
|
|
168
168
|
dateFnsLocale?: any;
|
|
169
169
|
localeCode?: string;
|
|
170
170
|
rangeSeparator?: string;
|
|
171
|
-
insetInput?:
|
|
171
|
+
insetInput?: DateInputFoundationProps['insetInput'];
|
|
172
172
|
preventScroll?: boolean
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
export interface DatePickerFoundationState {
|
|
176
176
|
panelShow: boolean;
|
|
177
177
|
isRange: boolean;
|
|
178
|
+
/** value of trigger input */
|
|
178
179
|
inputValue: string;
|
|
179
180
|
value: Date[];
|
|
180
|
-
|
|
181
|
+
// Save last selected date, maybe include null
|
|
182
|
+
cachedSelectedValue: (Date | null)[];
|
|
181
183
|
prevTimeZone: string | number;
|
|
182
184
|
rangeInputFocus: RangeType;
|
|
183
185
|
autofocus: boolean;
|
|
186
|
+
/** value of inset input */
|
|
184
187
|
insetInputValue: InsetInputValue;
|
|
185
188
|
triggerDisabled: boolean
|
|
186
189
|
}
|
|
@@ -188,7 +191,7 @@ export interface DatePickerFoundationState {
|
|
|
188
191
|
export { Type, DateInputFoundationProps };
|
|
189
192
|
|
|
190
193
|
export interface DatePickerAdapter extends DefaultAdapter<DatePickerFoundationProps, DatePickerFoundationState> {
|
|
191
|
-
togglePanel: (panelShow: boolean) => void;
|
|
194
|
+
togglePanel: (panelShow: boolean, cb?: () => void) => void;
|
|
192
195
|
registerClickOutSide: () => void;
|
|
193
196
|
unregisterClickOutSide: () => void;
|
|
194
197
|
notifyBlur: DatePickerFoundationProps['onBlur'];
|
|
@@ -210,7 +213,10 @@ export interface DatePickerAdapter extends DefaultAdapter<DatePickerFoundationPr
|
|
|
210
213
|
isEventTarget: (e: any) => boolean;
|
|
211
214
|
updateInsetInputValue: (insetInputValue: InsetInputValue) => void;
|
|
212
215
|
setInsetInputFocus: () => void;
|
|
213
|
-
setTriggerDisabled: (disabled: boolean) => void
|
|
216
|
+
setTriggerDisabled: (disabled: boolean) => void;
|
|
217
|
+
setInputFocus: () => void;
|
|
218
|
+
setInputBlur: () => void;
|
|
219
|
+
setRangeInputBlur: () => void
|
|
214
220
|
}
|
|
215
221
|
|
|
216
222
|
|
|
@@ -221,6 +227,7 @@ export interface DatePickerAdapter extends DefaultAdapter<DatePickerFoundationPr
|
|
|
221
227
|
*/
|
|
222
228
|
export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapter> {
|
|
223
229
|
|
|
230
|
+
clickConfirmButton: boolean;
|
|
224
231
|
constructor(adapter: DatePickerAdapter) {
|
|
225
232
|
super({ ...adapter });
|
|
226
233
|
}
|
|
@@ -236,19 +243,13 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
236
243
|
this.initPanelOpenStatus(this.getProp('defaultOpen'));
|
|
237
244
|
}
|
|
238
245
|
|
|
239
|
-
isValidTimeZone(timeZone?: string | number) {
|
|
240
|
-
const propTimeZone = this.getProp('timeZone');
|
|
241
|
-
const _timeZone = isNullOrUndefined(timeZone) ? propTimeZone : timeZone;
|
|
242
|
-
|
|
243
|
-
return ['string', 'number'].includes(typeof _timeZone) && _timeZone !== '';
|
|
244
|
-
}
|
|
245
|
-
|
|
246
246
|
initFromProps({ value, timeZone, prevTimeZone }: Pick<DatePickerFoundationProps, 'value' | 'timeZone'> & { prevTimeZone?: string | number }) {
|
|
247
247
|
const _value = (Array.isArray(value) ? [...value] : (value || value === 0) && [value]) || [];
|
|
248
248
|
|
|
249
249
|
const result = this.parseWithTimezone(_value, timeZone, prevTimeZone);
|
|
250
250
|
this._adapter.updatePrevTimezone(prevTimeZone);
|
|
251
|
-
|
|
251
|
+
// reset input value when value update
|
|
252
|
+
this.clearInputValue();
|
|
252
253
|
this._adapter.updateValue(result);
|
|
253
254
|
this.resetCachedSelectedValue(result);
|
|
254
255
|
this.initRangeInputFocus(result);
|
|
@@ -270,17 +271,30 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
270
271
|
}
|
|
271
272
|
}
|
|
272
273
|
|
|
274
|
+
/**
|
|
275
|
+
* value 可能是 UTC value 也可能是 zoned value
|
|
276
|
+
*
|
|
277
|
+
* UTC value -> 受控传入的 value
|
|
278
|
+
*
|
|
279
|
+
* zoned value -> statue.value,保存的是当前计算机时区下选择的日期
|
|
280
|
+
*
|
|
281
|
+
* 如果是时区变化,则需要将旧 zoned value 转为新时区下的 zoned value
|
|
282
|
+
*
|
|
283
|
+
* 如果是 value 变化,则不需要传入之前的时区,将 UTC value 转为 zoned value 即可
|
|
284
|
+
*
|
|
285
|
+
*/
|
|
273
286
|
parseWithTimezone(value: ValueType, timeZone: string | number, prevTimeZone: string | number) {
|
|
274
287
|
const result: Date[] = [];
|
|
275
288
|
if (Array.isArray(value) && value.length) {
|
|
276
289
|
for (const v of value) {
|
|
277
290
|
let parsedV = (v || v === 0) && this._parseValue(v);
|
|
278
291
|
if (parsedV) {
|
|
279
|
-
if (
|
|
280
|
-
parsedV = zonedTimeToUtc(parsedV, prevTimeZone
|
|
292
|
+
if (isValidTimeZone(prevTimeZone)) {
|
|
293
|
+
parsedV = zonedTimeToUtc(parsedV, prevTimeZone);
|
|
281
294
|
}
|
|
282
|
-
|
|
283
|
-
|
|
295
|
+
result.push(isValidTimeZone(timeZone) ? utcToZonedTime(parsedV, timeZone) : parsedV);
|
|
296
|
+
} else {
|
|
297
|
+
warning(true, `[Semi DatePicker] value cannot be parsed, value: ${String(v)}`);
|
|
284
298
|
}
|
|
285
299
|
}
|
|
286
300
|
}
|
|
@@ -323,7 +337,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
323
337
|
|
|
324
338
|
destroy() {
|
|
325
339
|
// Ensure that event listeners will be uninstalled and users may not trigger closePanel
|
|
326
|
-
|
|
340
|
+
this._adapter.togglePanel(false);
|
|
327
341
|
this._adapter.unregisterClickOutSide();
|
|
328
342
|
}
|
|
329
343
|
|
|
@@ -340,46 +354,12 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
340
354
|
openPanel() {
|
|
341
355
|
if (!this.getProp('disabled')) {
|
|
342
356
|
if (!this._isControlledComponent('open')) {
|
|
343
|
-
this.
|
|
344
|
-
this._adapter.registerClickOutSide();
|
|
357
|
+
this.open();
|
|
345
358
|
}
|
|
346
359
|
this._adapter.notifyOpenChange(true);
|
|
347
360
|
}
|
|
348
361
|
}
|
|
349
362
|
|
|
350
|
-
/**
|
|
351
|
-
* do these side effects when type is dateRange or dateTimeRange
|
|
352
|
-
* 1. trigger input blur, if input value is invalid, set input value and state value to previous status
|
|
353
|
-
* 2. set cachedSelectedValue using given dates(in needConfirm mode)
|
|
354
|
-
* - directly closePanel without click confirm will set cachedSelectedValue to state value
|
|
355
|
-
* - select one date(which means that the selection value is incomplete) and click confirm also set cachedSelectedValue to state value
|
|
356
|
-
*/
|
|
357
|
-
rangeTypeSideEffectsWhenClosePanel(inputValue: string, willUpdateDates: Date[]) {
|
|
358
|
-
if (this._isRangeType()) {
|
|
359
|
-
this._adapter.setRangeInputFocus(false);
|
|
360
|
-
/**
|
|
361
|
-
* inputValue is string when it is not disabled or can't parsed
|
|
362
|
-
* when inputValue is null, picker value will back to last selected value
|
|
363
|
-
*/
|
|
364
|
-
this.handleInputBlur(inputValue);
|
|
365
|
-
this.resetCachedSelectedValue(willUpdateDates);
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* clear input value when selected date is not confirmed
|
|
371
|
-
*/
|
|
372
|
-
needConfirmSideEffectsWhenClosePanel(willUpdateDates: Date[] | null | undefined) {
|
|
373
|
-
if (this._adapter.needConfirm() && !this._isRangeType()) {
|
|
374
|
-
/**
|
|
375
|
-
* if `null` input element will show `cachedSelectedValue` formatted value(format in DateInput render)
|
|
376
|
-
* if `` input element will show `` directly
|
|
377
|
-
*/
|
|
378
|
-
this._adapter.updateInputValue(null);
|
|
379
|
-
this.resetCachedSelectedValue(willUpdateDates);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
|
|
383
363
|
/**
|
|
384
364
|
* clear inset input value when close panel
|
|
385
365
|
*/
|
|
@@ -417,17 +397,92 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
417
397
|
const { value } = this._adapter.getStates();
|
|
418
398
|
const willUpdateDates = isNullOrUndefined(dates) ? value : dates;
|
|
419
399
|
if (!this._isControlledComponent('open')) {
|
|
420
|
-
this.
|
|
421
|
-
|
|
400
|
+
this.close();
|
|
401
|
+
} else {
|
|
402
|
+
this.resetInnerSelectedStates(willUpdateDates);
|
|
422
403
|
}
|
|
423
|
-
// range type picker, closing panel requires the following side effects
|
|
424
|
-
this.rangeTypeSideEffectsWhenClosePanel(inputValue, willUpdateDates as Date[]);
|
|
425
|
-
this.needConfirmSideEffectsWhenClosePanel(willUpdateDates as Date[]);
|
|
426
|
-
this.clearInsetInputValue();
|
|
427
404
|
this._adapter.notifyOpenChange(false);
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
open() {
|
|
408
|
+
this._adapter.togglePanel(true);
|
|
409
|
+
this._adapter.registerClickOutSide();
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
close() {
|
|
413
|
+
this._adapter.togglePanel(false, () => this.resetInnerSelectedStates());
|
|
414
|
+
this._adapter.unregisterClickOutSide();
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
focus(focusType?: Exclude<RangeType, false>) {
|
|
418
|
+
if (this._isRangeType()) {
|
|
419
|
+
const rangeInputFocus = focusType ?? 'rangeStart';
|
|
420
|
+
this._adapter.setRangeInputFocus(rangeInputFocus);
|
|
421
|
+
} else {
|
|
422
|
+
this._adapter.setInputFocus();
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
blur() {
|
|
427
|
+
if (this._isRangeType()) {
|
|
428
|
+
this._adapter.setRangeInputBlur();
|
|
429
|
+
} else {
|
|
430
|
+
this._adapter.setInputBlur();
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/**
|
|
435
|
+
* reset cachedSelectedValue, inputValue when close panel
|
|
436
|
+
*/
|
|
437
|
+
resetInnerSelectedStates(willUpdateDates?: Date[]) {
|
|
438
|
+
const { value } = this._adapter.getStates();
|
|
439
|
+
const needResetCachedSelectedValue = !this.isCachedSelectedValueValid(willUpdateDates) || this._adapter.needConfirm() && !this.clickConfirmButton;
|
|
440
|
+
if (needResetCachedSelectedValue) {
|
|
441
|
+
this.resetCachedSelectedValue(value);
|
|
442
|
+
}
|
|
443
|
+
this.resetFocus();
|
|
444
|
+
this.clearInputValue();
|
|
445
|
+
this.clickConfirmButton = false;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
resetFocus(e?: any) {
|
|
449
|
+
this._adapter.setRangeInputFocus(false);
|
|
428
450
|
this._adapter.notifyBlur(e);
|
|
429
451
|
}
|
|
430
452
|
|
|
453
|
+
/**
|
|
454
|
+
* cachedSelectedValue can be `(Date|null)[]` or `null`
|
|
455
|
+
*/
|
|
456
|
+
isCachedSelectedValueValid(dates: Date[]) {
|
|
457
|
+
const cachedSelectedValue = dates || this._adapter.getState('cachedSelectedValue');
|
|
458
|
+
const { type } = this._adapter.getProps();
|
|
459
|
+
let isValid = true;
|
|
460
|
+
switch (true) {
|
|
461
|
+
case type === 'dateRange':
|
|
462
|
+
case type === 'dateTimeRange':
|
|
463
|
+
if (!this._isRangeValueComplete(cachedSelectedValue)) {
|
|
464
|
+
isValid = false;
|
|
465
|
+
}
|
|
466
|
+
break;
|
|
467
|
+
default:
|
|
468
|
+
const value = cachedSelectedValue?.filter(item => item);
|
|
469
|
+
if (!(Array.isArray(value) && value.length)) {
|
|
470
|
+
isValid = false;
|
|
471
|
+
}
|
|
472
|
+
break;
|
|
473
|
+
}
|
|
474
|
+
return isValid;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
/**
|
|
478
|
+
* 将输入框内容置空
|
|
479
|
+
*/
|
|
480
|
+
clearInputValue() {
|
|
481
|
+
this._adapter.updateInputValue(null);
|
|
482
|
+
this._adapter.updateInsetInputValue(null);
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
|
|
431
486
|
/**
|
|
432
487
|
* clear range input focus when open is controlled
|
|
433
488
|
* fixed github 1375
|
|
@@ -460,7 +515,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
460
515
|
this._updateValueAndInput(result, input === '', input);
|
|
461
516
|
// Updates the selected value when entering a valid date
|
|
462
517
|
const changedDates = this._getChangedDates(result);
|
|
463
|
-
if (!this._someDateDisabled(changedDates)) {
|
|
518
|
+
if (!this._someDateDisabled(changedDates, result)) {
|
|
464
519
|
if (!isEqual(result, stateValue)) {
|
|
465
520
|
this._notifyChange(result);
|
|
466
521
|
}
|
|
@@ -485,7 +540,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
485
540
|
|
|
486
541
|
if ((result && result.length)) {
|
|
487
542
|
const changedDates = this._getChangedDates(result);
|
|
488
|
-
if (!this._someDateDisabled(changedDates)) {
|
|
543
|
+
if (!this._someDateDisabled(changedDates, result)) {
|
|
489
544
|
if (!isEqual(result, stateValue)) {
|
|
490
545
|
if (!this._isControlledComponent() && !this._adapter.needConfirm()) {
|
|
491
546
|
this._adapter.updateValue(result);
|
|
@@ -505,7 +560,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
505
560
|
_updateCachedSelectedValueFromInput(input: string) {
|
|
506
561
|
const looseResult = this.getLooseDateFromInput(input);
|
|
507
562
|
const changedLooseResult = this._getChangedDates(looseResult);
|
|
508
|
-
if (!this._someDateDisabled(changedLooseResult)) {
|
|
563
|
+
if (!this._someDateDisabled(changedLooseResult, looseResult)) {
|
|
509
564
|
this.resetCachedSelectedValue(looseResult);
|
|
510
565
|
}
|
|
511
566
|
}
|
|
@@ -516,37 +571,6 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
516
571
|
* @param {Event} e
|
|
517
572
|
*/
|
|
518
573
|
handleInputBlur(input = '', e?: any) {
|
|
519
|
-
const parsedResult = input ?
|
|
520
|
-
this._isMultiple() ?
|
|
521
|
-
this.parseMultipleInput(input, ',', true) :
|
|
522
|
-
this.parseInput(input) :
|
|
523
|
-
[];
|
|
524
|
-
|
|
525
|
-
const stateValue = this.getState('value');
|
|
526
|
-
|
|
527
|
-
// console.log(input, parsedResult);
|
|
528
|
-
|
|
529
|
-
if (parsedResult && parsedResult.length) {
|
|
530
|
-
this._updateValueAndInput(parsedResult, input === '');
|
|
531
|
-
} else if (input === '') {
|
|
532
|
-
// if clear input, set input to `''`
|
|
533
|
-
this._updateValueAndInput('' as any, true, '');
|
|
534
|
-
} else {
|
|
535
|
-
this._updateValueAndInput(stateValue);
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
/**
|
|
539
|
-
* 当不是范围类型且不需要确认时,使用 stateValue 重置 cachedSelectedValue
|
|
540
|
-
* 这样做的目的是,在输入非法值时,使用上次选中的值作为已选值
|
|
541
|
-
* needConfirm 或者 range type 时,我们在 close panel 时调用 resetCachedSelectedValue,这里不用重复调用
|
|
542
|
-
*
|
|
543
|
-
* Use stateValue to reset cachedSelectedValue when it is not a range type and does not require confirmation
|
|
544
|
-
* The purpose of this is to use the last selected value as the selected value when an invalid value is entered
|
|
545
|
-
* When needConfirm or range type, we call resetCachedSelectedValue when close panel, no need to call repeatedly here
|
|
546
|
-
*/
|
|
547
|
-
if (!this._adapter.needConfirm() && !this._isRangeType()) {
|
|
548
|
-
this.resetCachedSelectedValue(stateValue);
|
|
549
|
-
}
|
|
550
574
|
}
|
|
551
575
|
|
|
552
576
|
/**
|
|
@@ -594,12 +618,14 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
594
618
|
const inputValue = '';
|
|
595
619
|
if (!this._isControlledComponent('value')) {
|
|
596
620
|
this._updateValueAndInput(value, true, inputValue);
|
|
621
|
+
this._adapter.updateInsetInputValue(null);
|
|
597
622
|
this.resetCachedSelectedValue(value);
|
|
598
623
|
}
|
|
599
624
|
this._notifyChange(value);
|
|
625
|
+
this._adapter.setRangeInputFocus(false);
|
|
600
626
|
this._adapter.notifyClear(e);
|
|
601
627
|
}
|
|
602
|
-
|
|
628
|
+
|
|
603
629
|
handleRangeInputBlur(value: any, e: any) {
|
|
604
630
|
}
|
|
605
631
|
|
|
@@ -627,7 +653,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
627
653
|
this._updateValueAndInput(parsedResult);
|
|
628
654
|
const { value: stateValue } = this.getStates();
|
|
629
655
|
const changedDates = this._getChangedDates(parsedResult);
|
|
630
|
-
if (!this._someDateDisabled(changedDates) && !isEqual(parsedResult, stateValue)) {
|
|
656
|
+
if (!this._someDateDisabled(changedDates, parsedResult) && !isEqual(parsedResult, stateValue)) {
|
|
631
657
|
this._notifyChange(parsedResult);
|
|
632
658
|
}
|
|
633
659
|
}
|
|
@@ -662,6 +688,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
662
688
|
break;
|
|
663
689
|
case 'dateRange':
|
|
664
690
|
case 'dateTimeRange':
|
|
691
|
+
case 'monthRange':
|
|
665
692
|
const separator = rangeSeparator;
|
|
666
693
|
const values = input.split(separator);
|
|
667
694
|
parsedResult =
|
|
@@ -855,6 +882,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
855
882
|
|
|
856
883
|
case 'dateRange':
|
|
857
884
|
case 'dateTimeRange':
|
|
885
|
+
case 'monthRange':
|
|
858
886
|
const startIsTruthy = !isNullOrUndefined(dates[0]);
|
|
859
887
|
const endIsTruthy = !isNullOrUndefined(dates[1]);
|
|
860
888
|
if (startIsTruthy && endIsTruthy) {
|
|
@@ -894,6 +922,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
894
922
|
break;
|
|
895
923
|
case 'dateRange':
|
|
896
924
|
case 'dateTimeRange':
|
|
925
|
+
case 'monthRange':
|
|
897
926
|
for (let i = 0; i < dates.length; i += 2) {
|
|
898
927
|
strs.push(this.formatDates(dates.slice(i, i + 2), customFormat));
|
|
899
928
|
}
|
|
@@ -924,7 +953,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
924
953
|
|
|
925
954
|
const changedDates = this._getChangedDates(_value);
|
|
926
955
|
// You cannot update the value directly when needConfirm, you can only change the value through handleConfirm
|
|
927
|
-
if (!this._isControlledComponent() && !this._someDateDisabled(changedDates) && !this._adapter.needConfirm()) {
|
|
956
|
+
if (!this._isControlledComponent() && !this._someDateDisabled(changedDates, _value) && !this._adapter.needConfirm()) {
|
|
928
957
|
this._adapter.updateValue(_value);
|
|
929
958
|
}
|
|
930
959
|
}
|
|
@@ -953,7 +982,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
953
982
|
const changedDates = this._getChangedDates(dates);
|
|
954
983
|
|
|
955
984
|
let inputValue, insetInputValue;
|
|
956
|
-
if (!this._someDateDisabled(changedDates)) {
|
|
985
|
+
if (!this._someDateDisabled(changedDates, dates)) {
|
|
957
986
|
this.resetCachedSelectedValue(dates);
|
|
958
987
|
inputValue = this._isMultiple() ? this.formatMultipleDates(dates) : this.formatDates(dates);
|
|
959
988
|
if (insetInput) {
|
|
@@ -969,26 +998,15 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
969
998
|
* 受控时如果输入不完整,由于没有触发 notifyChange
|
|
970
999
|
* 需要组件内更新一下输入框的值,否则会出现选了一个日期但是输入框没有回显日期的问题 #1357
|
|
971
1000
|
*/
|
|
972
|
-
if (
|
|
973
|
-
|
|
974
|
-
// do not change value when selected value is incomplete
|
|
975
|
-
this._adapter.updateInputValue(inputValue);
|
|
976
|
-
this._adapter.updateInsetInputValue(insetInputValue);
|
|
977
|
-
return;
|
|
978
|
-
} else {
|
|
979
|
-
if (!controlled || fromPreset) {
|
|
980
|
-
this._updateValueAndInput(dates, true, inputValue);
|
|
981
|
-
this._adapter.updateInsetInputValue(insetInputValue);
|
|
982
|
-
}
|
|
983
|
-
}
|
|
984
|
-
}
|
|
985
|
-
if (!controlled && this._adapter.needConfirm()) {
|
|
986
|
-
// select date only change inputValue when needConfirm is true
|
|
1001
|
+
if (isRangeTypeAndInputIncomplete) {
|
|
1002
|
+
// do not change value when selected value is incomplete
|
|
987
1003
|
this._adapter.updateInputValue(inputValue);
|
|
988
1004
|
this._adapter.updateInsetInputValue(insetInputValue);
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
1005
|
+
return;
|
|
1006
|
+
} else {
|
|
1007
|
+
if (!controlled || fromPreset) {
|
|
1008
|
+
this._updateValueAndInput(dates, true, inputValue);
|
|
1009
|
+
this._adapter.updateInsetInputValue(insetInputValue);
|
|
992
1010
|
}
|
|
993
1011
|
}
|
|
994
1012
|
if (!isEqual(value, stateValue)) {
|
|
@@ -1003,22 +1021,29 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1003
1021
|
}
|
|
1004
1022
|
|
|
1005
1023
|
/**
|
|
1006
|
-
* when changing the year and month through the panel when the type is year or month
|
|
1024
|
+
* when changing the year and month through the panel when the type is year or month or monthRange
|
|
1007
1025
|
* @param {*} item
|
|
1008
1026
|
*/
|
|
1009
|
-
handleYMSelectedChange(item: { currentMonth?: number; currentYear?: number } = {}) {
|
|
1027
|
+
handleYMSelectedChange(item: { currentMonth?: { left: number; right: number }; currentYear?: { left: number; right: number } } = {}) {
|
|
1010
1028
|
// console.log(item);
|
|
1011
1029
|
const { currentMonth, currentYear } = item;
|
|
1030
|
+
const { type } = this.getProps();
|
|
1012
1031
|
|
|
1013
|
-
if (
|
|
1014
|
-
|
|
1015
|
-
const date = new Date(currentYear, currentMonth - 1);
|
|
1032
|
+
if (type === 'month') {
|
|
1033
|
+
const date = new Date(currentYear['left'], currentMonth['left'] - 1);
|
|
1016
1034
|
|
|
1017
1035
|
this.handleSelectedChange([date]);
|
|
1036
|
+
} else {
|
|
1037
|
+
const dateLeft = new Date(currentYear['left'], currentMonth['left'] - 1);
|
|
1038
|
+
const dateRight = new Date(currentYear['right'], currentMonth['right'] - 1);
|
|
1039
|
+
|
|
1040
|
+
this.handleSelectedChange([dateLeft, dateRight]);
|
|
1041
|
+
|
|
1018
1042
|
}
|
|
1019
1043
|
}
|
|
1020
1044
|
|
|
1021
1045
|
handleConfirm() {
|
|
1046
|
+
this.clickConfirmButton = true;
|
|
1022
1047
|
const { cachedSelectedValue, value } = this._adapter.getStates();
|
|
1023
1048
|
const isRangeValueComplete = this._isRangeValueComplete(cachedSelectedValue);
|
|
1024
1049
|
const newValue = isRangeValueComplete ? cachedSelectedValue : value;
|
|
@@ -1044,18 +1069,20 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1044
1069
|
handlePresetClick(item: PresetType, e: any) {
|
|
1045
1070
|
const { type, timeZone } = this.getProps();
|
|
1046
1071
|
const prevTimeZone = this.getState('prevTimezone');
|
|
1072
|
+
const start = typeof item.start === 'function' ? item.start() : item.start;
|
|
1073
|
+
const end = typeof item.end === 'function' ? item.end() : item.end;
|
|
1047
1074
|
|
|
1048
1075
|
let value;
|
|
1049
1076
|
switch (type) {
|
|
1050
1077
|
case 'month':
|
|
1051
1078
|
case 'dateTime':
|
|
1052
1079
|
case 'date':
|
|
1053
|
-
value = this.parseWithTimezone([
|
|
1080
|
+
value = this.parseWithTimezone([start], timeZone, prevTimeZone);
|
|
1054
1081
|
this.handleSelectedChange(value);
|
|
1055
1082
|
break;
|
|
1056
1083
|
case 'dateTimeRange':
|
|
1057
1084
|
case 'dateRange':
|
|
1058
|
-
value = this.parseWithTimezone([
|
|
1085
|
+
value = this.parseWithTimezone([start, end], timeZone, prevTimeZone);
|
|
1059
1086
|
this.handleSelectedChange(value, { needCheckFocusRecord: false });
|
|
1060
1087
|
break;
|
|
1061
1088
|
default:
|
|
@@ -1094,9 +1121,9 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1094
1121
|
*/
|
|
1095
1122
|
disposeCallbackArgs(value: Date | Date[]) {
|
|
1096
1123
|
let _value = Array.isArray(value) ? value : (value && [value]) || [];
|
|
1124
|
+
const timeZone = this.getProp('timeZone');
|
|
1097
1125
|
|
|
1098
|
-
if (
|
|
1099
|
-
const timeZone = this.getProp('timeZone');
|
|
1126
|
+
if (isValidTimeZone(timeZone)) {
|
|
1100
1127
|
_value = _value.map(date => zonedTimeToUtc(date, timeZone));
|
|
1101
1128
|
}
|
|
1102
1129
|
const type = this.getProp('type');
|
|
@@ -1118,6 +1145,7 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1118
1145
|
break;
|
|
1119
1146
|
case 'dateRange':
|
|
1120
1147
|
case 'dateTimeRange':
|
|
1148
|
+
case 'monthRange':
|
|
1121
1149
|
notifyValue = _value.map(v => v && this.localeFormat(v, formatToken));
|
|
1122
1150
|
notifyDate = [..._value];
|
|
1123
1151
|
break;
|
|
@@ -1150,32 +1178,29 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1150
1178
|
|
|
1151
1179
|
/**
|
|
1152
1180
|
* Get the date changed through the date panel or enter
|
|
1153
|
-
* @param {Date[]} dates
|
|
1154
|
-
* @returns {Date[]}
|
|
1155
1181
|
*/
|
|
1156
1182
|
_getChangedDates(dates: Date[]) {
|
|
1157
1183
|
const type = this._adapter.getProp('type');
|
|
1158
|
-
const
|
|
1159
|
-
|
|
1184
|
+
const { cachedSelectedValue: lastDate } = this._adapter.getStates();
|
|
1160
1185
|
const changedDates = [];
|
|
1161
1186
|
|
|
1162
1187
|
switch (type) {
|
|
1163
1188
|
case 'dateRange':
|
|
1164
1189
|
case 'dateTimeRange':
|
|
1165
|
-
const [
|
|
1190
|
+
const [lastStart, lastEnd] = lastDate;
|
|
1166
1191
|
const [start, end] = dates;
|
|
1167
|
-
if (!isDateEqual(start,
|
|
1192
|
+
if (!isDateEqual(start, lastStart)) {
|
|
1168
1193
|
changedDates.push(start);
|
|
1169
1194
|
}
|
|
1170
|
-
if (!isDateEqual(end,
|
|
1195
|
+
if (!isDateEqual(end, lastEnd)) {
|
|
1171
1196
|
changedDates.push(end);
|
|
1172
1197
|
}
|
|
1173
1198
|
break;
|
|
1174
1199
|
default:
|
|
1175
|
-
const
|
|
1176
|
-
|
|
1200
|
+
const lastValueSet = new Set<number>();
|
|
1201
|
+
lastDate.forEach(value => lastValueSet.add(isDate(value) && value.valueOf()));
|
|
1177
1202
|
for (const date of dates) {
|
|
1178
|
-
if (!
|
|
1203
|
+
if (!lastValueSet.has(isDate(date) && date.valueOf())) {
|
|
1179
1204
|
changedDates.push(date);
|
|
1180
1205
|
}
|
|
1181
1206
|
}
|
|
@@ -1185,22 +1210,22 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
|
1185
1210
|
|
|
1186
1211
|
/**
|
|
1187
1212
|
* Whether a date is disabled
|
|
1188
|
-
* @param
|
|
1213
|
+
* @param value The date that needs to be judged whether to disable
|
|
1214
|
+
* @param selectedValue Selected date, when selecting a range, pass this date to the second parameter of `disabledDate`
|
|
1189
1215
|
*/
|
|
1190
|
-
_someDateDisabled(value: Date[]) {
|
|
1191
|
-
const stateValue = this.getState('value');
|
|
1216
|
+
_someDateDisabled(value: Date[], selectedValue: Date[]) {
|
|
1192
1217
|
const { rangeInputFocus } = this.getStates();
|
|
1193
1218
|
const disabledOptions = { rangeStart: '', rangeEnd: '', rangeInputFocus };
|
|
1194
1219
|
|
|
1195
1220
|
// DisabledDate needs to pass the second parameter
|
|
1196
|
-
if (this._isRangeType() && Array.isArray(
|
|
1197
|
-
if (isValid(
|
|
1198
|
-
const rangeStart = format(
|
|
1221
|
+
if (this._isRangeType() && Array.isArray(selectedValue)) {
|
|
1222
|
+
if (isValid(selectedValue[0])) {
|
|
1223
|
+
const rangeStart = format(selectedValue[0], 'yyyy-MM-dd');
|
|
1199
1224
|
disabledOptions.rangeStart = rangeStart;
|
|
1200
1225
|
}
|
|
1201
1226
|
|
|
1202
|
-
if (isValid(
|
|
1203
|
-
const rangeEnd = format(
|
|
1227
|
+
if (isValid(selectedValue[1])) {
|
|
1228
|
+
const rangeEnd = format(selectedValue[1], 'yyyy-MM-dd');
|
|
1204
1229
|
disabledOptions.rangeEnd = rangeEnd;
|
|
1205
1230
|
}
|
|
1206
1231
|
}
|