@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 _toPath from "lodash/toPath";
|
|
2
2
|
import _isFunction from "lodash/isFunction";
|
|
3
3
|
import _isUndefined from "lodash/isUndefined";
|
|
4
|
-
|
|
5
|
-
/* eslint-disable prefer-const, max-len */
|
|
6
4
|
import BaseFoundation from '../base/foundation';
|
|
7
5
|
import * as ObjectUtil from '../utils/object';
|
|
8
6
|
import isPromise from '../utils/isPromise';
|
|
@@ -19,26 +17,24 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
19
17
|
这里也需要读一次initValue,因为Form级别可设置初始值,Field级别也可设置初始值.
|
|
20
18
|
Form中设置的字段,不一定会存在Field实体,所以不能完全依赖register时刻来设置初始值
|
|
21
19
|
*/
|
|
22
|
-
|
|
23
20
|
let {
|
|
24
21
|
initValues
|
|
25
22
|
} = this._adapter.getProps();
|
|
26
|
-
|
|
27
23
|
initValues = this._adapter.cloneDeep(initValues);
|
|
28
24
|
this.data = {
|
|
29
25
|
values: initValues ? initValues : {},
|
|
30
26
|
errors: {},
|
|
31
|
-
touched: {}
|
|
27
|
+
touched: {}
|
|
28
|
+
// invalid: false,
|
|
32
29
|
// dirty: false,
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
};
|
|
31
|
+
// Map store all fields
|
|
35
32
|
// key: fieldName
|
|
36
33
|
// value: { field, fieldApi, keepState, initValue}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
34
|
+
this.fields = new Map();
|
|
35
|
+
// Record all registered fields
|
|
36
|
+
this.registered = {};
|
|
37
|
+
// Record all registered ArrayField
|
|
42
38
|
this.registeredArrayField = new Map();
|
|
43
39
|
this.register = this.register.bind(this);
|
|
44
40
|
this.unRegister = this.unRegister.bind(this);
|
|
@@ -61,23 +57,20 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
61
57
|
this.getFieldExist = this.getFieldExist.bind(this);
|
|
62
58
|
this.scrollToField = this.scrollToField.bind(this);
|
|
63
59
|
}
|
|
64
|
-
|
|
65
60
|
init() {
|
|
66
61
|
this._adapter.initFormId();
|
|
67
62
|
}
|
|
68
|
-
|
|
69
63
|
getField(field) {
|
|
70
64
|
const targetField = this.fields.get(field);
|
|
71
65
|
return targetField;
|
|
72
66
|
}
|
|
73
|
-
|
|
74
67
|
register(field, fieldState, fieldStuff) {
|
|
75
68
|
// determine if this field has been register before
|
|
76
69
|
const registered = this.registered[field];
|
|
77
70
|
this.registered[field] = true;
|
|
78
71
|
this.fields.set(field, fieldStuff);
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
if (fieldStuff.keepState) {
|
|
73
|
+
// TODO support keepState
|
|
81
74
|
} else {
|
|
82
75
|
const allowEmpty = fieldStuff.allowEmpty || false;
|
|
83
76
|
const opts = {
|
|
@@ -85,24 +78,22 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
85
78
|
notUpdate: false,
|
|
86
79
|
allowEmpty
|
|
87
80
|
};
|
|
88
|
-
let fieldValue = fieldState.value;
|
|
89
|
-
|
|
81
|
+
let fieldValue = fieldState.value;
|
|
82
|
+
// When allowEmpty is false, 'is equivalent to undefined, and the key of the field does not need to be reflected on values
|
|
90
83
|
if (!allowEmpty && fieldValue === '') {
|
|
91
84
|
fieldValue = undefined;
|
|
92
85
|
}
|
|
93
|
-
|
|
94
86
|
this.updateStateValue(field, fieldValue, opts);
|
|
95
|
-
|
|
96
87
|
if (fieldState.error) {
|
|
97
88
|
this.updateStateError(field, fieldState.error, opts);
|
|
98
89
|
}
|
|
99
|
-
}
|
|
100
|
-
|
|
90
|
+
}
|
|
91
|
+
// this.log(this.fields);
|
|
101
92
|
}
|
|
102
93
|
|
|
103
94
|
unRegister(field) {
|
|
104
|
-
const targetField = this.fields.get(field);
|
|
105
|
-
|
|
95
|
+
const targetField = this.fields.get(field);
|
|
96
|
+
// delete data
|
|
106
97
|
try {
|
|
107
98
|
if (!targetField.keepState) {
|
|
108
99
|
ObjectUtil.remove(this.data.values, field);
|
|
@@ -110,51 +101,41 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
110
101
|
ObjectUtil.remove(this.data.touched, field);
|
|
111
102
|
}
|
|
112
103
|
} catch (error) {
|
|
113
|
-
console.error(
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
104
|
+
console.error(`some thing wrong when unregister field:${field}`);
|
|
105
|
+
}
|
|
106
|
+
// delete field
|
|
117
107
|
this.fields.delete(field);
|
|
118
|
-
|
|
119
108
|
this._adapter.notifyChange(this.data);
|
|
120
|
-
|
|
121
109
|
this._adapter.forceUpdate();
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
110
|
+
}
|
|
111
|
+
// in order to slove byted-issue-289
|
|
125
112
|
registerArrayField(arrayFieldPath, val) {
|
|
126
113
|
this.updateArrayField(arrayFieldPath, {
|
|
127
114
|
updateKey: new Date().valueOf(),
|
|
128
115
|
initValue: val
|
|
129
116
|
});
|
|
130
117
|
}
|
|
131
|
-
|
|
132
118
|
unRegisterArrayField(arrayField) {
|
|
133
119
|
this.registeredArrayField.delete(arrayField);
|
|
134
120
|
}
|
|
135
|
-
|
|
136
121
|
getArrayField(arrayField) {
|
|
137
122
|
return this.registeredArrayField.get(arrayField);
|
|
138
123
|
}
|
|
139
|
-
|
|
140
124
|
updateArrayField(arrayField, updateValue) {
|
|
141
125
|
const mergeVal = Object.assign(Object.assign({}, this.registeredArrayField.get(arrayField)), updateValue);
|
|
142
126
|
this.registeredArrayField.set(arrayField, mergeVal);
|
|
143
127
|
}
|
|
144
|
-
|
|
145
128
|
validate(fieldPaths) {
|
|
146
129
|
const {
|
|
147
130
|
validateFields
|
|
148
131
|
} = this.getProps();
|
|
149
|
-
|
|
150
132
|
if (validateFields && _isFunction(validateFields)) {
|
|
151
133
|
return this._formValidate();
|
|
152
134
|
} else {
|
|
153
135
|
return this._fieldsValidate(fieldPaths);
|
|
154
136
|
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
|
|
137
|
+
}
|
|
138
|
+
// form level validate
|
|
158
139
|
_formValidate() {
|
|
159
140
|
const {
|
|
160
141
|
values
|
|
@@ -164,74 +145,61 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
164
145
|
} = this.getProps();
|
|
165
146
|
return new Promise((resolve, reject) => {
|
|
166
147
|
let maybePromisedErrors;
|
|
167
|
-
|
|
168
148
|
try {
|
|
169
149
|
maybePromisedErrors = validateFields(values);
|
|
170
150
|
} catch (errors) {
|
|
171
151
|
// error throw by sync validate directly
|
|
172
152
|
maybePromisedErrors = errors;
|
|
173
153
|
}
|
|
174
|
-
|
|
175
154
|
if (!maybePromisedErrors) {
|
|
176
|
-
|
|
155
|
+
const _values = this._adapter.cloneDeep(values);
|
|
156
|
+
resolve(_values);
|
|
177
157
|
this.injectErrorToField({});
|
|
178
158
|
} else if (isPromise(maybePromisedErrors)) {
|
|
179
159
|
maybePromisedErrors.then(result => {
|
|
180
160
|
// validate success,clear error
|
|
181
161
|
if (!result) {
|
|
182
|
-
|
|
162
|
+
const _values = this._adapter.cloneDeep(values);
|
|
163
|
+
resolve(_values);
|
|
183
164
|
this.injectErrorToField({});
|
|
184
165
|
} else {
|
|
185
166
|
this.data.errors = result;
|
|
186
|
-
|
|
187
167
|
this._adapter.notifyChange(this.data);
|
|
188
|
-
|
|
189
168
|
this.injectErrorToField(result);
|
|
190
|
-
|
|
191
169
|
this._adapter.forceUpdate();
|
|
192
|
-
|
|
193
170
|
this._autoScroll(100);
|
|
194
|
-
|
|
195
171
|
reject(result);
|
|
196
172
|
}
|
|
197
173
|
}, errors => {
|
|
198
174
|
// validate failed
|
|
199
175
|
// this._adapter.notifyChange(this.data);
|
|
200
176
|
this._autoScroll(100);
|
|
201
|
-
|
|
202
177
|
reject(errors);
|
|
203
178
|
});
|
|
204
179
|
} else {
|
|
205
180
|
// TODO: current design, returning an empty object will be considered a checksum failure and will be rejected. Only returning an empty string will be considered a success, consider resetting it in 1.0?
|
|
206
181
|
this.data.errors = maybePromisedErrors;
|
|
207
182
|
this.injectErrorToField(maybePromisedErrors);
|
|
208
|
-
|
|
209
183
|
this._adapter.notifyChange(this.data);
|
|
210
|
-
|
|
211
184
|
this._adapter.forceUpdate();
|
|
212
|
-
|
|
213
185
|
this._autoScroll(100);
|
|
214
|
-
|
|
215
186
|
reject(maybePromisedErrors);
|
|
216
187
|
}
|
|
217
188
|
});
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
|
|
189
|
+
}
|
|
190
|
+
// field level validate
|
|
221
191
|
_fieldsValidate(fieldPaths) {
|
|
222
192
|
const {
|
|
223
193
|
values
|
|
224
|
-
} = this.data;
|
|
225
|
-
|
|
194
|
+
} = this.data;
|
|
195
|
+
// When there is no custom validation function at Form level, perform validation of each Field
|
|
226
196
|
return new Promise((resolve, reject) => {
|
|
227
197
|
let promiseSet = [];
|
|
228
|
-
|
|
229
198
|
const targetFields = this._getOperateFieldMap(fieldPaths);
|
|
230
|
-
|
|
231
199
|
targetFields.forEach((field, fieldPath) => {
|
|
232
200
|
// Call each fieldApi for verification
|
|
233
|
-
const fieldValue = this.getValue(fieldPath);
|
|
234
|
-
|
|
201
|
+
const fieldValue = this.getValue(fieldPath);
|
|
202
|
+
// When centralized verification, no need to trigger forceUpdate and notify
|
|
235
203
|
const opts = {
|
|
236
204
|
notNotify: true,
|
|
237
205
|
notUpdate: true
|
|
@@ -243,38 +211,31 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
243
211
|
Promise.all(promiseSet).then(() => {
|
|
244
212
|
// After the centralized verification is completed, trigger notify and forceUpdate once.
|
|
245
213
|
this._adapter.notifyChange(this.data);
|
|
246
|
-
|
|
247
214
|
this._adapter.forceUpdate();
|
|
248
|
-
|
|
249
215
|
const errors = this.getError();
|
|
250
|
-
|
|
251
216
|
if (this._isValid(targetFields)) {
|
|
252
|
-
|
|
217
|
+
const _values = this._adapter.cloneDeep(values);
|
|
218
|
+
resolve(_values);
|
|
253
219
|
} else {
|
|
254
220
|
this._autoScroll();
|
|
255
|
-
|
|
256
221
|
reject(errors);
|
|
257
222
|
}
|
|
258
223
|
});
|
|
259
224
|
});
|
|
260
225
|
}
|
|
261
|
-
|
|
262
|
-
submit() {
|
|
226
|
+
submit(e) {
|
|
263
227
|
const {
|
|
264
228
|
values
|
|
265
|
-
} = this.data;
|
|
266
|
-
|
|
229
|
+
} = this.data;
|
|
230
|
+
// validate form
|
|
267
231
|
this.validate().then(resolveValues => {
|
|
268
232
|
// if valid do submit
|
|
269
233
|
const _values = this._adapter.cloneDeep(resolveValues);
|
|
270
|
-
|
|
271
|
-
this._adapter.notifySubmit(_values);
|
|
234
|
+
this._adapter.notifySubmit(_values, e);
|
|
272
235
|
}).catch(errors => {
|
|
273
236
|
const _errors = this._adapter.cloneDeep(errors);
|
|
274
|
-
|
|
275
237
|
const _values = this._adapter.cloneDeep(values);
|
|
276
|
-
|
|
277
|
-
this._adapter.notifySubmitFail(_errors, _values);
|
|
238
|
+
this._adapter.notifySubmitFail(_errors, _values, e);
|
|
278
239
|
});
|
|
279
240
|
}
|
|
280
241
|
/**
|
|
@@ -290,37 +251,30 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
290
251
|
* activity.a => activity.a[0]、activity.a[1]
|
|
291
252
|
*
|
|
292
253
|
*/
|
|
293
|
-
|
|
294
|
-
|
|
295
254
|
_getNestedField(path) {
|
|
296
255
|
const allRegisterField = this.fields;
|
|
297
256
|
const allFieldPath = [...allRegisterField].map(item => item[0]);
|
|
298
257
|
let nestedFieldPath = new Map();
|
|
299
258
|
allFieldPath.forEach(item => {
|
|
300
259
|
let itemPath = _toPath(item);
|
|
301
|
-
|
|
302
260
|
let targetPath = _toPath(path);
|
|
303
|
-
|
|
304
261
|
if (targetPath.every((path, i) => targetPath[i] === itemPath[i])) {
|
|
305
262
|
const realField = allRegisterField.get(item);
|
|
306
263
|
nestedFieldPath.set(item, realField);
|
|
307
264
|
}
|
|
308
265
|
});
|
|
309
266
|
return nestedFieldPath;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
|
|
267
|
+
}
|
|
268
|
+
// get all operate fields, called by validate() / reset()
|
|
313
269
|
_getOperateFieldMap(fieldPaths) {
|
|
314
270
|
let targetFields = new Map();
|
|
315
|
-
|
|
316
271
|
if (!_isUndefined(fieldPaths)) {
|
|
317
272
|
// reset or validate specific fields
|
|
318
273
|
fieldPaths.forEach(path => {
|
|
319
|
-
const field = this.fields.get(path);
|
|
320
|
-
|
|
274
|
+
const field = this.fields.get(path);
|
|
275
|
+
// may be undefined, if exists two fields like 'a[0]'、'a[1]', but user directly call reset(['a']) / validate(['a'])
|
|
321
276
|
if (_isUndefined(field)) {
|
|
322
277
|
const nestedFields = this._getNestedField(path);
|
|
323
|
-
|
|
324
278
|
targetFields = new Map([...targetFields, ...nestedFields]);
|
|
325
279
|
} else {
|
|
326
280
|
targetFields.set(path, field);
|
|
@@ -330,29 +284,21 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
330
284
|
// reset or validate all fields
|
|
331
285
|
targetFields = this.fields;
|
|
332
286
|
}
|
|
333
|
-
|
|
334
287
|
return targetFields;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
|
|
288
|
+
}
|
|
289
|
+
// Reset the entire form, reset all fields and remove validation results
|
|
338
290
|
reset(fieldPaths) {
|
|
339
291
|
const targetFields = this._getOperateFieldMap(fieldPaths);
|
|
340
|
-
|
|
341
292
|
targetFields.forEach(field => {
|
|
342
293
|
field.fieldApi.reset();
|
|
343
294
|
});
|
|
344
|
-
|
|
345
295
|
if (this.registeredArrayField.size) {
|
|
346
296
|
this._resetArrayField();
|
|
347
297
|
}
|
|
348
|
-
|
|
349
298
|
this._adapter.notifyChange(this.data);
|
|
350
|
-
|
|
351
299
|
this._adapter.forceUpdate();
|
|
352
|
-
|
|
353
300
|
this._adapter.notifyReset();
|
|
354
301
|
}
|
|
355
|
-
|
|
356
302
|
_resetArrayField() {
|
|
357
303
|
/*
|
|
358
304
|
When Reset, arrayField needs to be processed separately. Restore the key/value of arrayField in formState according to the initial value
|
|
@@ -371,10 +317,9 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
371
317
|
updateKey: new Date().valueOf()
|
|
372
318
|
});
|
|
373
319
|
});
|
|
374
|
-
}
|
|
320
|
+
}
|
|
321
|
+
// After calling the form's custom validateFields function, reject the returned error to the corresponding field
|
|
375
322
|
// 调用了Form的自定义validateFields函数后,将返回的错误展示到对应的field中
|
|
376
|
-
|
|
377
|
-
|
|
378
323
|
injectErrorToField(errors) {
|
|
379
324
|
this.fields.forEach(field => {
|
|
380
325
|
const fieldError = ObjectUtil.get(errors, field.field);
|
|
@@ -385,55 +330,45 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
385
330
|
field.fieldApi.setError(fieldError, opts);
|
|
386
331
|
});
|
|
387
332
|
}
|
|
388
|
-
|
|
389
333
|
getValue(field, opts) {
|
|
390
334
|
const isAllField = typeof field === 'undefined';
|
|
391
335
|
const needClone = opts && opts.needClone;
|
|
392
336
|
let result, fieldValue;
|
|
393
|
-
|
|
394
337
|
switch (true) {
|
|
395
338
|
case !isAllField && !needClone:
|
|
396
339
|
result = ObjectUtil.get(this.data.values, field);
|
|
397
340
|
break;
|
|
398
|
-
|
|
399
341
|
case !isAllField && needClone:
|
|
400
342
|
fieldValue = ObjectUtil.get(this.data.values, field);
|
|
401
343
|
result = this._adapter.cloneDeep(fieldValue);
|
|
402
344
|
break;
|
|
403
|
-
|
|
404
345
|
case isAllField && !needClone:
|
|
405
346
|
result = Object.assign({}, this.data.values);
|
|
406
347
|
break;
|
|
407
|
-
|
|
408
348
|
case isAllField && needClone:
|
|
409
349
|
result = this._adapter.cloneDeep(this.data.values);
|
|
410
350
|
break;
|
|
411
|
-
|
|
412
351
|
default:
|
|
413
352
|
break;
|
|
414
353
|
}
|
|
415
|
-
|
|
416
354
|
return result;
|
|
417
355
|
}
|
|
418
|
-
|
|
419
356
|
setValues(values, _ref) {
|
|
420
357
|
let {
|
|
421
358
|
isOverride = false
|
|
422
359
|
} = _ref;
|
|
423
|
-
|
|
424
360
|
const _values = this._adapter.cloneDeep(values);
|
|
425
|
-
|
|
426
361
|
this.fields.forEach(field => {
|
|
427
|
-
const value = ObjectUtil.get(_values, field.field);
|
|
362
|
+
const value = ObjectUtil.get(_values, field.field);
|
|
363
|
+
// When calling setValues to override the values, only need to trigger onValueChange and onChange once, so setNotNotify of setValue to true
|
|
428
364
|
// 调用setValues进行值的覆盖时,只需要回调一次onValueChange、onChange即可,所以此处将setValue的notNotify置为true
|
|
429
|
-
|
|
430
365
|
const opts = {
|
|
431
366
|
notNotify: true,
|
|
432
367
|
notUpdate: true
|
|
433
368
|
};
|
|
434
369
|
field.fieldApi.setValue(value, opts);
|
|
435
|
-
});
|
|
436
|
-
|
|
370
|
+
});
|
|
371
|
+
// if there exists any arrayField component in this form
|
|
437
372
|
if (this.registeredArrayField.size) {
|
|
438
373
|
const arrayFieldPaths = [...this.registeredArrayField.keys()];
|
|
439
374
|
arrayFieldPaths.forEach(path => {
|
|
@@ -441,24 +376,19 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
441
376
|
updateKey: new Date().valueOf()
|
|
442
377
|
});
|
|
443
378
|
});
|
|
444
|
-
}
|
|
379
|
+
}
|
|
380
|
+
// When isOverride is true, there may be a non-existent field in the values passed in, directly synchronized to formState.values
|
|
445
381
|
// 当isOverride为true,传入的values中可能存在不存在的field时,直接将其同步到formState.values中
|
|
446
|
-
|
|
447
|
-
|
|
448
382
|
if (isOverride) {
|
|
449
383
|
this.data.values = _values;
|
|
450
|
-
}
|
|
384
|
+
}
|
|
385
|
+
// After completing the assignment, the unified callback can be done once.
|
|
451
386
|
// 在完成赋值后,统一回调一次即可
|
|
452
|
-
|
|
453
|
-
|
|
454
387
|
this._adapter.notifyChange(this.data);
|
|
455
|
-
|
|
456
388
|
this._adapter.notifyValueChange(this.data.values, Object.assign({}, values));
|
|
457
|
-
|
|
458
389
|
this._adapter.forceUpdate();
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
|
|
390
|
+
}
|
|
391
|
+
// update formState value
|
|
462
392
|
updateStateValue(field, value, opts, callback) {
|
|
463
393
|
const notNotify = opts && opts.notNotify;
|
|
464
394
|
const notUpdate = opts && opts.notUpdate;
|
|
@@ -469,9 +399,8 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
469
399
|
* When F orm.allow Empty is true, all fields and keys will appear in the formS tate.values. If the value is empty, it is undefined
|
|
470
400
|
* When F orm.allow Empty is false, only fields with values will key appear in the formS tate.values
|
|
471
401
|
*/
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
402
|
+
const formAllowEmpty = this.getProp('allowEmpty');
|
|
403
|
+
// priority at Field level
|
|
475
404
|
const allowEmpty = fieldAllowEmpty ? fieldAllowEmpty : formAllowEmpty;
|
|
476
405
|
ObjectUtil.set(this.data.values, field, value, allowEmpty);
|
|
477
406
|
/**
|
|
@@ -481,76 +410,62 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
481
410
|
* register时,Field中同步initValue到FormState时调用的setValue不应该触发notify
|
|
482
411
|
* 但需要触发forceUpdate,否则useFormState、useFieldState初始渲染会有问题
|
|
483
412
|
*/
|
|
484
|
-
|
|
485
413
|
if (!notNotify) {
|
|
486
414
|
this._adapter.notifyChange(this.data);
|
|
487
|
-
|
|
488
415
|
this._adapter.notifyValueChange(this.data.values, {
|
|
489
416
|
[field]: value
|
|
490
417
|
});
|
|
491
418
|
}
|
|
492
|
-
|
|
493
419
|
if (!notUpdate) {
|
|
494
420
|
this._adapter.forceUpdate(callback);
|
|
495
421
|
}
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
|
|
422
|
+
}
|
|
423
|
+
// get touched from formState
|
|
499
424
|
getTouched(field) {
|
|
500
425
|
if (typeof field === 'undefined') {
|
|
501
426
|
return this.data.touched;
|
|
502
427
|
}
|
|
503
|
-
|
|
504
428
|
return ObjectUtil.get(this.data.touched, field);
|
|
505
|
-
}
|
|
506
|
-
|
|
507
|
-
|
|
429
|
+
}
|
|
430
|
+
// update formState touched
|
|
508
431
|
updateStateTouched(field, isTouched, opts, callback) {
|
|
509
432
|
const notNotify = opts && opts.notNotify;
|
|
510
433
|
const notUpdate = opts && opts.notUpdate;
|
|
511
434
|
ObjectUtil.set(this.data.touched, field, isTouched);
|
|
512
|
-
|
|
513
435
|
if (!notNotify) {
|
|
514
436
|
this._adapter.notifyChange(this.data);
|
|
515
437
|
}
|
|
516
|
-
|
|
517
438
|
if (!notUpdate) {
|
|
518
439
|
this._adapter.forceUpdate(callback);
|
|
519
440
|
}
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
|
|
441
|
+
}
|
|
442
|
+
// get error from formState
|
|
523
443
|
getError(field) {
|
|
524
444
|
if (typeof field === 'undefined') {
|
|
525
445
|
return this.data.errors;
|
|
526
446
|
}
|
|
527
|
-
|
|
528
447
|
return ObjectUtil.get(this.data.errors, field);
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
|
|
448
|
+
}
|
|
449
|
+
// update formState error
|
|
532
450
|
updateStateError(field, error, opts, callback) {
|
|
533
451
|
const notNotify = opts && opts.notNotify;
|
|
534
452
|
const notUpdate = opts && opts.notUpdate;
|
|
535
|
-
ObjectUtil.set(this.data.errors, field, error);
|
|
453
|
+
ObjectUtil.set(this.data.errors, field, error);
|
|
454
|
+
// The setError caused by centralized validation does not need to trigger notify, otherwise it will be called too frequently, as many times as there are fields
|
|
536
455
|
// 集中validate时,引起的setError不需要触发notify,否则会过于频繁调用,有多少个field就调用了多少次
|
|
537
|
-
|
|
538
456
|
if (!notNotify) {
|
|
539
457
|
this._adapter.notifyChange(this.data);
|
|
540
458
|
}
|
|
541
|
-
|
|
542
459
|
if (!notUpdate) {
|
|
543
460
|
this._adapter.forceUpdate(callback);
|
|
544
461
|
}
|
|
545
|
-
}
|
|
546
|
-
|
|
547
|
-
|
|
462
|
+
}
|
|
463
|
+
// For internal use in the FormApi Operating Field
|
|
548
464
|
getFieldSetterApi() {
|
|
549
465
|
const setValue = (field, value, opts) => {
|
|
550
|
-
const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
|
|
551
|
-
|
|
466
|
+
const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
|
|
467
|
+
// DeepClone the value entered from the outside to avoid unexpected errors caused by not isolating the scope to the greatest extent. This setValue will be called in eg: ArrayField
|
|
552
468
|
const newValue = this._adapter.cloneDeep(value);
|
|
553
|
-
|
|
554
469
|
if (fieldApi) {
|
|
555
470
|
// If there is a corresponding Field entity, call FieldApi to update the value
|
|
556
471
|
fieldApi.setValue(newValue, opts);
|
|
@@ -561,7 +476,6 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
561
476
|
// When the user directly calls formA pi.set Value ('peoples', [2,3])
|
|
562
477
|
this.updateStateValue(field, newValue, opts, () => {
|
|
563
478
|
let nestedFields = this._getNestedField(field);
|
|
564
|
-
|
|
565
479
|
if (nestedFields.size) {
|
|
566
480
|
nestedFields.forEach(fieldStaff => {
|
|
567
481
|
let fieldPath = fieldStaff.field;
|
|
@@ -573,8 +487,8 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
573
487
|
fieldStaff.fieldApi.setValue(newFieldVal, nestedBatchUpdateOpts);
|
|
574
488
|
});
|
|
575
489
|
}
|
|
576
|
-
});
|
|
577
|
-
|
|
490
|
+
});
|
|
491
|
+
// If the reset happens to be, then update the updateKey corresponding to ArrayField to render it again
|
|
578
492
|
if (this.getArrayField(field)) {
|
|
579
493
|
this.updateArrayField(field, {
|
|
580
494
|
updateKey: new Date().valueOf()
|
|
@@ -582,18 +496,14 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
582
496
|
}
|
|
583
497
|
}
|
|
584
498
|
};
|
|
585
|
-
|
|
586
499
|
const setError = (field, error, opts) => {
|
|
587
500
|
const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
|
|
588
|
-
|
|
589
501
|
const newError = this._adapter.cloneDeep(error);
|
|
590
|
-
|
|
591
502
|
if (fieldApi) {
|
|
592
503
|
fieldApi.setError(newError, opts);
|
|
593
504
|
} else {
|
|
594
505
|
this.updateStateError(field, newError, opts, () => {
|
|
595
506
|
let nestedFields = this._getNestedField(field);
|
|
596
|
-
|
|
597
507
|
if (nestedFields.size) {
|
|
598
508
|
nestedFields.forEach(fieldStaff => {
|
|
599
509
|
let fieldPath = fieldStaff.field;
|
|
@@ -606,7 +516,6 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
606
516
|
});
|
|
607
517
|
}
|
|
608
518
|
});
|
|
609
|
-
|
|
610
519
|
if (this.getArrayField(field)) {
|
|
611
520
|
this.updateArrayField(field, {
|
|
612
521
|
updateKey: new Date().valueOf()
|
|
@@ -614,16 +523,14 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
614
523
|
}
|
|
615
524
|
}
|
|
616
525
|
};
|
|
617
|
-
|
|
618
526
|
const setTouched = (field, isTouched, opts) => {
|
|
619
|
-
const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
|
|
620
|
-
|
|
527
|
+
const fieldApi = this.fields.get(field) ? this.fields.get(field).fieldApi : undefined;
|
|
528
|
+
// touched is boolean variable, no need to exec deepClone like setValue
|
|
621
529
|
if (fieldApi) {
|
|
622
530
|
fieldApi.setTouched(isTouched, opts);
|
|
623
531
|
} else {
|
|
624
532
|
this.updateStateTouched(field, isTouched, opts, () => {
|
|
625
533
|
let nestedFields = this._getNestedField(field);
|
|
626
|
-
|
|
627
534
|
if (nestedFields.size) {
|
|
628
535
|
nestedFields.forEach(fieldStaff => {
|
|
629
536
|
let fieldPath = fieldStaff.field;
|
|
@@ -636,7 +543,6 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
636
543
|
});
|
|
637
544
|
}
|
|
638
545
|
});
|
|
639
|
-
|
|
640
546
|
if (this.getArrayField(field)) {
|
|
641
547
|
this.updateArrayField(field, {
|
|
642
548
|
updateKey: new Date().valueOf()
|
|
@@ -644,15 +550,13 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
644
550
|
}
|
|
645
551
|
}
|
|
646
552
|
};
|
|
647
|
-
|
|
648
553
|
return {
|
|
649
554
|
setValue,
|
|
650
555
|
setError,
|
|
651
556
|
setTouched
|
|
652
557
|
};
|
|
653
|
-
}
|
|
654
|
-
|
|
655
|
-
|
|
558
|
+
}
|
|
559
|
+
// For Field and ArrayField to read and modify FormState
|
|
656
560
|
getModifyFormStateApi() {
|
|
657
561
|
return {
|
|
658
562
|
register: this.register,
|
|
@@ -672,9 +576,8 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
672
576
|
getArrayField: this.getArrayField,
|
|
673
577
|
updateArrayField: this.updateArrayField
|
|
674
578
|
};
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
|
|
579
|
+
}
|
|
580
|
+
// Form APIs for external use, exposed to the user
|
|
678
581
|
getFormApi() {
|
|
679
582
|
const fieldSetterApi = this.getFieldSetterApi();
|
|
680
583
|
return Object.assign(Object.assign({}, fieldSetterApi), {
|
|
@@ -699,13 +602,10 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
699
602
|
scrollToField: (field, scrollOpts) => this.scrollToField(field, scrollOpts)
|
|
700
603
|
});
|
|
701
604
|
}
|
|
702
|
-
|
|
703
605
|
getFormState() {
|
|
704
606
|
let needClone = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
705
|
-
|
|
706
607
|
// NOTES:这里如果直接返回this.data,forceUpdate 触发 Form rerender 时,通过context传下去的formState会被认为是同一个对象【应该是浅对比的原因】
|
|
707
608
|
// 使用了useFormState相关的component都不会触发重新渲染。所以使用...复制一次
|
|
708
|
-
|
|
709
609
|
/*
|
|
710
610
|
The reason for distinguishing deepClone: When semi is calling getFormState for internal consumption,
|
|
711
611
|
the value of formState will not be modified, so deep cloning is not necessary, which can reduce performance loss
|
|
@@ -720,10 +620,8 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
720
620
|
return this._adapter.cloneDeep(this.data);
|
|
721
621
|
}
|
|
722
622
|
}
|
|
723
|
-
|
|
724
623
|
_isValid(targetFields) {
|
|
725
624
|
let valid = true;
|
|
726
|
-
|
|
727
625
|
if (!targetFields) {
|
|
728
626
|
valid = Boolean(ObjectUtil.empty(this.data.errors));
|
|
729
627
|
} else {
|
|
@@ -731,62 +629,49 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
731
629
|
const targetFieldStr = [...targetFields.keys()];
|
|
732
630
|
targetFieldStr.forEach(fieldStr => {
|
|
733
631
|
const fieldError = ObjectUtil.get(this.data.errors, fieldStr);
|
|
734
|
-
|
|
735
632
|
if (!isValid(fieldError)) {
|
|
736
633
|
valid = false;
|
|
737
634
|
}
|
|
738
635
|
});
|
|
739
636
|
}
|
|
740
|
-
|
|
741
637
|
return valid;
|
|
742
|
-
}
|
|
743
|
-
|
|
744
|
-
|
|
638
|
+
}
|
|
639
|
+
// get form.props.initValues
|
|
745
640
|
getInitValues() {
|
|
746
641
|
return this._adapter.getInitValues();
|
|
747
642
|
}
|
|
748
|
-
|
|
749
643
|
getInitValue(field) {
|
|
750
644
|
if (typeof field === 'undefined') {
|
|
751
645
|
return this._adapter.getInitValues();
|
|
752
646
|
}
|
|
753
|
-
|
|
754
647
|
return ObjectUtil.get(this._adapter.getInitValues(), field);
|
|
755
648
|
}
|
|
756
|
-
|
|
757
649
|
getFormProps(keys) {
|
|
758
650
|
return this._adapter.getFormProps(keys);
|
|
759
651
|
}
|
|
760
|
-
|
|
761
652
|
getFieldExist(field) {
|
|
762
653
|
return Boolean(this.fields.has(field));
|
|
763
654
|
}
|
|
764
|
-
|
|
765
655
|
_autoScroll(timeout) {
|
|
766
656
|
const {
|
|
767
657
|
autoScrollToError
|
|
768
658
|
} = this.getFormProps();
|
|
769
|
-
|
|
770
659
|
if (!autoScrollToError) {
|
|
771
660
|
return;
|
|
772
661
|
}
|
|
773
|
-
|
|
774
662
|
let scrollOpts = {
|
|
775
663
|
behavior: 'smooth',
|
|
776
664
|
block: 'start'
|
|
777
665
|
};
|
|
778
666
|
typeof autoScrollToError === 'object' ? scrollOpts = autoScrollToError : null;
|
|
779
|
-
|
|
780
667
|
if (timeout) {
|
|
781
668
|
setTimeout(() => this._getErrorFieldAndScroll(scrollOpts), 100);
|
|
782
669
|
} else {
|
|
783
670
|
this._getErrorFieldAndScroll(scrollOpts);
|
|
784
671
|
}
|
|
785
672
|
}
|
|
786
|
-
|
|
787
673
|
_getErrorFieldAndScroll(scrollOpts) {
|
|
788
674
|
const errorDOM = this._adapter.getAllErrorDOM();
|
|
789
|
-
|
|
790
675
|
if (errorDOM && errorDOM.length) {
|
|
791
676
|
try {
|
|
792
677
|
const fieldDom = errorDOM[0].parentNode.parentNode;
|
|
@@ -794,18 +679,14 @@ export default class FormFoundation extends BaseFoundation {
|
|
|
794
679
|
} catch (error) {}
|
|
795
680
|
}
|
|
796
681
|
}
|
|
797
|
-
|
|
798
682
|
scrollToField(field) {
|
|
799
683
|
let scrollOpts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
800
684
|
behavior: 'smooth',
|
|
801
685
|
block: 'start'
|
|
802
686
|
};
|
|
803
|
-
|
|
804
687
|
if (this.getFieldExist(field)) {
|
|
805
688
|
const fieldDOM = this._adapter.getFieldDOM(field);
|
|
806
|
-
|
|
807
689
|
scrollIntoView(fieldDOM, scrollOpts);
|
|
808
690
|
}
|
|
809
691
|
}
|
|
810
|
-
|
|
811
692
|
}
|