@douyinfe/semi-foundation 2.24.3 → 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 -433
- 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 -419
- 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 +68 -31
- 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,46 +1,64 @@
|
|
|
1
|
+
import _isObject from "lodash/isObject";
|
|
2
|
+
import _isFunction from "lodash/isFunction";
|
|
1
3
|
import _includes from "lodash/includes";
|
|
2
4
|
import _isNumber from "lodash/isNumber";
|
|
3
5
|
import _isEmpty from "lodash/isEmpty";
|
|
4
|
-
import _cloneDeep from "lodash/cloneDeep";
|
|
5
6
|
import _assign from "lodash/assign";
|
|
6
7
|
import _isUndefined from "lodash/isUndefined";
|
|
7
8
|
import _difference from "lodash/difference";
|
|
8
9
|
import _get from "lodash/get";
|
|
9
10
|
import _isEqual from "lodash/isEqual";
|
|
10
11
|
import BaseFoundation from '../base/foundation';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
12
|
+
import { findAncestorKeys, calcCheckedKeysForUnchecked, calcCheckedKeysForChecked, calcCheckedKeys, findDescendantKeys, normalizeKeyList } from '../tree/treeUtil';
|
|
13
|
+
import { filter, convertDataToEntities, normalizedArr, isValid, calcMergeType, getKeysByValuePath, getKeyByPos } from './util';
|
|
13
14
|
import { strings } from './constants';
|
|
14
|
-
import isEnterPress from '../utils/isEnterPress';
|
|
15
|
-
|
|
15
|
+
import isEnterPress from '../utils/isEnterPress';
|
|
16
16
|
export default class CascaderFoundation extends BaseFoundation {
|
|
17
17
|
constructor(adapter) {
|
|
18
18
|
super(Object.assign({}, adapter));
|
|
19
|
-
|
|
20
19
|
this.updateSearching = isSearching => {
|
|
21
20
|
this._adapter.updateStates({
|
|
22
21
|
isSearching: false
|
|
23
22
|
});
|
|
24
23
|
};
|
|
24
|
+
this.handleTagRemoveByKey = key => {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
const {
|
|
27
|
+
keyEntities
|
|
28
|
+
} = this.getStates();
|
|
29
|
+
const {
|
|
30
|
+
disabled
|
|
31
|
+
} = this.getProps();
|
|
32
|
+
if (disabled) {
|
|
33
|
+
/* istanbul ignore next */
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const removedItem = (_a = keyEntities[key]) !== null && _a !== void 0 ? _a : {};
|
|
37
|
+
!((_b = removedItem === null || removedItem === void 0 ? void 0 : removedItem.data) === null || _b === void 0 ? void 0 : _b.disable) && this._handleMultipleSelect(removedItem);
|
|
38
|
+
};
|
|
39
|
+
this.handleTagRemoveInTrigger = pos => {
|
|
40
|
+
const {
|
|
41
|
+
treeData
|
|
42
|
+
} = this.getStates();
|
|
43
|
+
const key = getKeyByPos(pos, treeData);
|
|
44
|
+
this.handleTagRemoveByKey(key);
|
|
45
|
+
};
|
|
25
46
|
}
|
|
26
|
-
|
|
27
47
|
init() {
|
|
28
48
|
const isOpen = this.getProp('open') || this.getProp('defaultOpen');
|
|
29
49
|
this.collectOptions(true);
|
|
30
|
-
|
|
50
|
+
this._adapter.updateLoadingKeyRefValue(new Set());
|
|
51
|
+
this._adapter.updateLoadedKeyRefValue(new Set());
|
|
31
52
|
if (isOpen && !this._isDisabled()) {
|
|
32
53
|
this.open();
|
|
33
54
|
}
|
|
34
55
|
}
|
|
35
|
-
|
|
36
56
|
destroy() {
|
|
37
57
|
this._adapter.unregisterClickOutsideHandler();
|
|
38
58
|
}
|
|
39
|
-
|
|
40
59
|
_isDisabled() {
|
|
41
60
|
return this.getProp('disabled');
|
|
42
61
|
}
|
|
43
|
-
|
|
44
62
|
_isFilterable() {
|
|
45
63
|
return Boolean(this.getProp('filterTreeNode')); // filter can be boolean or function
|
|
46
64
|
}
|
|
@@ -51,78 +69,57 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
51
69
|
multiple
|
|
52
70
|
} = this.getProps();
|
|
53
71
|
const valueProp = onChangeWithObject ? [] : 'value';
|
|
54
|
-
|
|
55
72
|
if (multiple) {
|
|
56
|
-
const valuePath = [];
|
|
57
|
-
// @ts-ignore
|
|
58
|
-
|
|
73
|
+
const valuePath = [];
|
|
74
|
+
// @ts-ignore
|
|
59
75
|
item.forEach(checkedKey => {
|
|
60
76
|
const valuePathItem = this.getItemPropPath(checkedKey, valueProp);
|
|
61
77
|
valuePath.push(valuePathItem);
|
|
62
78
|
});
|
|
63
|
-
|
|
64
79
|
this._adapter.notifyChange(valuePath);
|
|
65
80
|
} else {
|
|
66
81
|
const valuePath = _isUndefined(item) || !('key' in item) ? [] : this.getItemPropPath(item.key, valueProp);
|
|
67
|
-
|
|
68
82
|
this._adapter.notifyChange(valuePath);
|
|
69
83
|
}
|
|
70
84
|
}
|
|
71
|
-
|
|
72
85
|
_isLeaf(item) {
|
|
73
86
|
if (this.getProp('loadData')) {
|
|
74
87
|
return Boolean(item.isLeaf);
|
|
75
88
|
}
|
|
76
|
-
|
|
77
89
|
return !item.children || !item.children.length;
|
|
78
90
|
}
|
|
79
|
-
|
|
80
91
|
_clearInput() {
|
|
81
92
|
this._adapter.updateInputValue('');
|
|
82
|
-
}
|
|
93
|
+
}
|
|
94
|
+
// Scenes that may trigger blur:
|
|
83
95
|
// 1、clickOutSide
|
|
84
|
-
|
|
85
|
-
|
|
86
96
|
_notifyBlur(e) {
|
|
87
97
|
this._adapter.notifyBlur(e);
|
|
88
|
-
}
|
|
98
|
+
}
|
|
99
|
+
// Scenes that may trigger focus:
|
|
89
100
|
// 1、click selection
|
|
90
|
-
|
|
91
|
-
|
|
92
101
|
_notifyFocus(e) {
|
|
93
102
|
this._adapter.notifyFocus(e);
|
|
94
103
|
}
|
|
95
|
-
|
|
96
104
|
_isOptionDisabled(key, keyEntities) {
|
|
97
105
|
const isDisabled = findAncestorKeys([key], keyEntities, true).some(item => keyEntities[item].data.disabled);
|
|
98
106
|
return isDisabled;
|
|
99
107
|
}
|
|
100
|
-
|
|
101
|
-
getCopyFromState(items) {
|
|
102
|
-
const res = {};
|
|
103
|
-
normalizedArr(items).forEach(key => {
|
|
104
|
-
res[key] = _cloneDeep(this.getState(key));
|
|
105
|
-
});
|
|
106
|
-
return res;
|
|
107
|
-
} // prop: is array, return all data
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
// prop: is array, return all data
|
|
110
109
|
getItemPropPath(selectedKey, prop, keyEntities) {
|
|
111
110
|
const searchMap = keyEntities || this.getState('keyEntities');
|
|
112
111
|
const selectedItem = searchMap[selectedKey];
|
|
113
112
|
let path = [];
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
if (!selectedItem) {
|
|
114
|
+
// do nothing
|
|
116
115
|
} else if (selectedItem._notExist) {
|
|
117
116
|
path = selectedItem.path;
|
|
118
117
|
} else {
|
|
119
118
|
const keyPath = selectedItem.path;
|
|
120
119
|
path = Array.isArray(prop) ? keyPath.map(key => searchMap[key].data) : keyPath.map(key => searchMap[key].data[prop]);
|
|
121
120
|
}
|
|
122
|
-
|
|
123
121
|
return path;
|
|
124
122
|
}
|
|
125
|
-
|
|
126
123
|
_getCacheValue(keyEntities) {
|
|
127
124
|
const {
|
|
128
125
|
selectedKeys
|
|
@@ -130,13 +127,10 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
130
127
|
const selectedKey = Array.from(selectedKeys)[0];
|
|
131
128
|
let cacheValue;
|
|
132
129
|
/* selectedKeys does not match keyEntities */
|
|
133
|
-
|
|
134
130
|
if (_isEmpty(keyEntities[selectedKey])) {
|
|
135
131
|
if (_includes(selectedKey, 'not-exist-')) {
|
|
136
132
|
/* Get the value behind not-exist- */
|
|
137
|
-
|
|
138
|
-
const targetValue = selectedKey.match(/not-exist-(\S*)/)[1]; // eslint-disable-next-line max-depth
|
|
139
|
-
|
|
133
|
+
const targetValue = selectedKey.match(/not-exist-(\S*)/)[1];
|
|
140
134
|
if (_isEmpty(keyEntities[targetValue])) {
|
|
141
135
|
cacheValue = targetValue;
|
|
142
136
|
} else {
|
|
@@ -148,7 +142,6 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
148
142
|
* 中存在,则 selectedKeys=Set('0-0'),此时输入框显示 0-0 的 label。 这个地
|
|
149
143
|
* 方做的操作就是,为了例子中第二次更新后 0-0 label 能够正常显示。
|
|
150
144
|
*/
|
|
151
|
-
|
|
152
145
|
/**
|
|
153
146
|
* The typical scenario is: suppose we select the 0-0 node, at this time
|
|
154
147
|
* selectedKeys=Set('0-0'), the input box will display a 0-0 label. When
|
|
@@ -166,15 +159,12 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
166
159
|
cacheValue = selectedKey;
|
|
167
160
|
}
|
|
168
161
|
/* selectedKeys match keyEntities */
|
|
169
|
-
|
|
170
162
|
} else {
|
|
171
163
|
/* selectedKeys match keyEntities */
|
|
172
164
|
cacheValue = keyEntities[selectedKey].valuePath;
|
|
173
165
|
}
|
|
174
|
-
|
|
175
166
|
return cacheValue;
|
|
176
167
|
}
|
|
177
|
-
|
|
178
168
|
collectOptions() {
|
|
179
169
|
let init = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
180
170
|
const {
|
|
@@ -183,20 +173,15 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
183
173
|
defaultValue
|
|
184
174
|
} = this.getProps();
|
|
185
175
|
const keyEntities = convertDataToEntities(treeData);
|
|
186
|
-
|
|
187
176
|
this._adapter.rePositionDropdown();
|
|
188
|
-
|
|
189
177
|
let cacheValue;
|
|
190
178
|
/* when mount */
|
|
191
|
-
|
|
192
179
|
if (init) {
|
|
193
180
|
cacheValue = defaultValue;
|
|
194
181
|
} else if (!_isEmpty(keyEntities)) {
|
|
195
182
|
cacheValue = this._getCacheValue(keyEntities);
|
|
196
183
|
}
|
|
197
|
-
|
|
198
184
|
const selectedValue = !this._isControlledComponent() ? cacheValue : value;
|
|
199
|
-
|
|
200
185
|
if (isValid(selectedValue)) {
|
|
201
186
|
this.updateSelectedKey(selectedValue, keyEntities);
|
|
202
187
|
} else {
|
|
@@ -204,9 +189,8 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
204
189
|
keyEntities
|
|
205
190
|
});
|
|
206
191
|
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
|
|
192
|
+
}
|
|
193
|
+
// call when props.value change
|
|
210
194
|
handleValueChange(value) {
|
|
211
195
|
const {
|
|
212
196
|
keyEntities
|
|
@@ -220,8 +204,6 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
220
204
|
* When single selection, the clear objects of
|
|
221
205
|
* selectedKeys, activeKeys, filteredKeys, input, etc.
|
|
222
206
|
*/
|
|
223
|
-
|
|
224
|
-
|
|
225
207
|
_getClearSelectedKey(filterable) {
|
|
226
208
|
const updateStates = {};
|
|
227
209
|
const {
|
|
@@ -232,15 +214,12 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
232
214
|
updateStates.selectedKeys = new Set([]);
|
|
233
215
|
updateStates.activeKeys = new Set([]);
|
|
234
216
|
updateStates.filteredKeys = new Set([]);
|
|
235
|
-
|
|
236
217
|
if (filterable && !multiple) {
|
|
237
218
|
updateStates.inputPlaceHolder = searchPlaceholder || placeholder || '';
|
|
238
219
|
updateStates.inputValue = '';
|
|
239
220
|
}
|
|
240
|
-
|
|
241
221
|
return updateStates;
|
|
242
222
|
}
|
|
243
|
-
|
|
244
223
|
updateSelectedKey(value, keyEntities) {
|
|
245
224
|
const {
|
|
246
225
|
changeOnSelect,
|
|
@@ -249,38 +228,37 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
249
228
|
} = this.getProps();
|
|
250
229
|
const {
|
|
251
230
|
activeKeys,
|
|
252
|
-
loadingKeys,
|
|
253
231
|
loading,
|
|
254
232
|
keyEntities: keyEntityState,
|
|
255
233
|
selectedKeys: selectedKeysState
|
|
256
234
|
} = this.getStates();
|
|
257
|
-
|
|
235
|
+
const loadingKeys = this._adapter.getLoadingKeyRefValue();
|
|
258
236
|
const filterable = this._isFilterable();
|
|
259
|
-
|
|
260
237
|
const loadingActive = [...activeKeys].filter(i => loadingKeys.has(i));
|
|
261
|
-
const
|
|
262
|
-
const
|
|
238
|
+
const normalizedValue = normalizedArr(value);
|
|
239
|
+
const valuePath = onChangeWithObject && _isObject(normalizedValue[0]) ? normalizedValue.map(i => i.value) : normalizedValue;
|
|
240
|
+
const selectedKeys = getKeysByValuePath(valuePath);
|
|
263
241
|
let updateStates = {};
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const selectedItem = keyEntities[selectedKey];
|
|
242
|
+
const selectedKey = selectedKeys.length > 0 ? selectedKeys[0] : undefined;
|
|
243
|
+
const selectedItem = selectedKey ? keyEntities[selectedKey] : undefined;
|
|
244
|
+
if (selectedItem) {
|
|
268
245
|
/**
|
|
269
246
|
* When changeOnSelect is turned on, or the target option is a leaf option,
|
|
270
247
|
* the option is considered to be selected, even if the option is disabled
|
|
271
248
|
*/
|
|
272
|
-
|
|
273
249
|
if (changeOnSelect || this._isLeaf(selectedItem.data)) {
|
|
274
250
|
updateStates.selectedKeys = new Set([selectedKey]);
|
|
275
|
-
|
|
276
251
|
if (!loadingActive.length) {
|
|
277
252
|
updateStates.activeKeys = new Set(selectedItem.path);
|
|
278
253
|
}
|
|
279
|
-
|
|
280
254
|
if (filterable && !multiple) {
|
|
281
255
|
const displayText = this.renderDisplayText(selectedKey, keyEntities);
|
|
282
256
|
updateStates.inputPlaceHolder = displayText;
|
|
283
|
-
|
|
257
|
+
/*
|
|
258
|
+
* displayText should not be assign to inputValue,
|
|
259
|
+
* cause inputValue should only change by user enter
|
|
260
|
+
*/
|
|
261
|
+
// updateStates.inputValue = displayText;
|
|
284
262
|
}
|
|
285
263
|
/**
|
|
286
264
|
* If selectedKeys does not meet the update conditions,
|
|
@@ -292,13 +270,12 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
292
270
|
* is a non-leaf node. At this point, selectedKeys should
|
|
293
271
|
* be cleared.
|
|
294
272
|
*/
|
|
295
|
-
|
|
296
273
|
} else if (_isEqual(selectedKeys, Array.from(selectedKeysState))) {
|
|
297
274
|
updateStates = this._getClearSelectedKey(filterable);
|
|
298
275
|
}
|
|
299
276
|
} else if (value && value.length) {
|
|
300
277
|
const val = valuePath[valuePath.length - 1];
|
|
301
|
-
const key =
|
|
278
|
+
const key = `not-exist-${val}`;
|
|
302
279
|
const optionNotExist = {
|
|
303
280
|
data: {
|
|
304
281
|
label: val,
|
|
@@ -309,56 +286,46 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
309
286
|
_notExist: true
|
|
310
287
|
};
|
|
311
288
|
updateStates.selectedKeys = new Set([key]);
|
|
312
|
-
|
|
313
289
|
if (filterable && !multiple) {
|
|
314
290
|
const displayText = this._defaultRenderText(valuePath);
|
|
315
|
-
|
|
316
291
|
updateStates.inputPlaceHolder = displayText;
|
|
317
|
-
|
|
292
|
+
/*
|
|
293
|
+
* displayText should not be assign to inputValue,
|
|
294
|
+
* cause inputValue should only change by user enter
|
|
295
|
+
*/
|
|
296
|
+
// updateStates.inputValue = displayText;
|
|
318
297
|
}
|
|
319
298
|
|
|
320
|
-
keyEntities[key] = optionNotExist;
|
|
299
|
+
keyEntities[key] = optionNotExist;
|
|
300
|
+
// Fix: 1155, if the data is loaded asynchronously to update treeData, the emptying operation should not be done when entering the updateSelectedKey method
|
|
321
301
|
} else if (loading) {
|
|
322
302
|
// Use assign to avoid overwriting the'not-exist- * 'property of keyEntities after asynchronous loading
|
|
323
303
|
// Overwriting'not-exist- * 'will cause selectionContent to be emptied unexpectedly when clicking on a dropDown item
|
|
324
304
|
updateStates.keyEntities = _assign(keyEntityState, keyEntities);
|
|
325
|
-
|
|
326
305
|
this._adapter.updateStates(updateStates);
|
|
327
|
-
|
|
328
306
|
return;
|
|
329
307
|
} else {
|
|
330
308
|
updateStates = this._getClearSelectedKey(filterable);
|
|
331
309
|
}
|
|
332
|
-
|
|
333
310
|
updateStates.keyEntities = keyEntities;
|
|
334
|
-
|
|
335
311
|
this._adapter.updateStates(updateStates);
|
|
336
312
|
}
|
|
337
|
-
|
|
338
313
|
open() {
|
|
339
314
|
const filterable = this._isFilterable();
|
|
340
|
-
|
|
341
315
|
const {
|
|
342
316
|
multiple
|
|
343
317
|
} = this.getProps();
|
|
344
|
-
|
|
345
318
|
this._adapter.openMenu();
|
|
346
|
-
|
|
347
319
|
if (filterable) {
|
|
348
320
|
this._clearInput();
|
|
349
|
-
|
|
350
321
|
!multiple && this.toggle2SearchInput(true);
|
|
351
322
|
}
|
|
352
|
-
|
|
353
323
|
if (this._isControlledComponent()) {
|
|
354
324
|
this.reCalcActiveKeys();
|
|
355
325
|
}
|
|
356
|
-
|
|
357
326
|
this._adapter.notifyDropdownVisibleChange(true);
|
|
358
|
-
|
|
359
327
|
this._adapter.registerClickOutsideHandler(e => this.close(e));
|
|
360
328
|
}
|
|
361
|
-
|
|
362
329
|
reCalcActiveKeys() {
|
|
363
330
|
const {
|
|
364
331
|
selectedKeys,
|
|
@@ -367,91 +334,82 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
367
334
|
} = this.getStates();
|
|
368
335
|
const selectedKey = [...selectedKeys][0];
|
|
369
336
|
const selectedItem = keyEntities[selectedKey];
|
|
370
|
-
|
|
371
337
|
if (!selectedItem) {
|
|
372
338
|
return;
|
|
373
339
|
}
|
|
374
|
-
|
|
375
340
|
const newActiveKeys = new Set(selectedItem.path);
|
|
376
|
-
|
|
377
341
|
if (!_isEqual(newActiveKeys, activeKeys)) {
|
|
378
342
|
this._adapter.updateStates({
|
|
379
343
|
activeKeys: newActiveKeys
|
|
380
344
|
});
|
|
381
345
|
}
|
|
382
346
|
}
|
|
383
|
-
|
|
384
347
|
close(e, key) {
|
|
385
348
|
const {
|
|
386
349
|
multiple
|
|
387
350
|
} = this.getProps();
|
|
388
|
-
|
|
389
351
|
this._adapter.closeMenu();
|
|
390
|
-
|
|
391
352
|
this._adapter.notifyDropdownVisibleChange(false);
|
|
392
|
-
|
|
393
353
|
this._adapter.unregisterClickOutsideHandler();
|
|
394
|
-
|
|
395
354
|
if (this._isFilterable()) {
|
|
396
355
|
const {
|
|
397
356
|
selectedKeys,
|
|
398
357
|
isSearching
|
|
399
358
|
} = this.getStates();
|
|
400
359
|
let inputValue = '';
|
|
401
|
-
|
|
402
360
|
if (key && !multiple) {
|
|
403
361
|
inputValue = this.renderDisplayText(key);
|
|
404
362
|
} else if (selectedKeys.size && !multiple) {
|
|
405
363
|
inputValue = this.renderDisplayText([...selectedKeys][0]);
|
|
406
364
|
}
|
|
407
|
-
|
|
408
365
|
this._adapter.updateStates({
|
|
409
366
|
inputValue
|
|
410
367
|
});
|
|
411
|
-
|
|
412
368
|
!multiple && this.toggle2SearchInput(false);
|
|
413
369
|
!multiple && this._adapter.updateFocusState(false);
|
|
414
370
|
}
|
|
415
|
-
|
|
416
371
|
this._notifyBlur(e);
|
|
417
372
|
}
|
|
418
|
-
|
|
373
|
+
focus() {
|
|
374
|
+
const {
|
|
375
|
+
filterTreeNode
|
|
376
|
+
} = this.getProps();
|
|
377
|
+
if (filterTreeNode) {
|
|
378
|
+
this._adapter.focusInput();
|
|
379
|
+
}
|
|
380
|
+
this._adapter.updateFocusState(true);
|
|
381
|
+
}
|
|
382
|
+
blur() {
|
|
383
|
+
const {
|
|
384
|
+
filterTreeNode
|
|
385
|
+
} = this.getProps();
|
|
386
|
+
if (filterTreeNode) {
|
|
387
|
+
this._adapter.blurInput();
|
|
388
|
+
}
|
|
389
|
+
this._adapter.updateFocusState(false);
|
|
390
|
+
}
|
|
419
391
|
toggle2SearchInput(isShow) {
|
|
420
392
|
if (isShow) {
|
|
421
|
-
this._adapter.toggleInputShow(isShow, () => this.
|
|
393
|
+
this._adapter.toggleInputShow(isShow, () => this.focus());
|
|
422
394
|
} else {
|
|
423
395
|
this._adapter.toggleInputShow(isShow, () => undefined);
|
|
424
396
|
}
|
|
425
397
|
}
|
|
426
|
-
|
|
427
|
-
focusInput() {
|
|
428
|
-
this._adapter.focusInput();
|
|
429
|
-
|
|
430
|
-
this._adapter.updateFocusState(true);
|
|
431
|
-
}
|
|
432
|
-
|
|
433
398
|
handleItemClick(e, item) {
|
|
434
399
|
const isDisabled = this._isDisabled();
|
|
435
|
-
|
|
436
400
|
if (isDisabled) {
|
|
437
401
|
return;
|
|
438
402
|
}
|
|
439
|
-
|
|
440
403
|
this.handleSingleSelect(e, item);
|
|
441
|
-
|
|
442
404
|
this._adapter.rePositionDropdown();
|
|
443
405
|
}
|
|
444
|
-
|
|
445
406
|
handleItemHover(e, item) {
|
|
446
407
|
const isDisabled = this._isDisabled();
|
|
447
|
-
|
|
448
408
|
if (isDisabled) {
|
|
449
409
|
return;
|
|
450
410
|
}
|
|
451
|
-
|
|
452
411
|
this.handleShowNextByHover(item);
|
|
453
412
|
}
|
|
454
|
-
|
|
455
413
|
handleShowNextByHover(item) {
|
|
456
414
|
const {
|
|
457
415
|
keyEntities
|
|
@@ -460,46 +418,33 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
460
418
|
data,
|
|
461
419
|
key
|
|
462
420
|
} = item;
|
|
463
|
-
|
|
464
421
|
const isLeaf = this._isLeaf(data);
|
|
465
|
-
|
|
466
422
|
const activeKeys = keyEntities[key].path;
|
|
467
|
-
|
|
468
423
|
this._adapter.updateStates({
|
|
469
424
|
activeKeys: new Set(activeKeys)
|
|
470
425
|
});
|
|
471
|
-
|
|
472
426
|
if (!isLeaf) {
|
|
473
427
|
this.notifyIfLoadData(item);
|
|
474
428
|
}
|
|
475
429
|
}
|
|
476
|
-
|
|
477
430
|
onItemCheckboxClick(item) {
|
|
478
431
|
const isDisabled = this._isDisabled();
|
|
479
|
-
|
|
480
432
|
if (isDisabled) {
|
|
481
433
|
return;
|
|
482
434
|
}
|
|
483
|
-
|
|
484
435
|
this._handleMultipleSelect(item);
|
|
485
|
-
|
|
486
436
|
this._adapter.rePositionDropdown();
|
|
487
437
|
}
|
|
488
|
-
|
|
489
438
|
handleClick(e) {
|
|
490
439
|
const isDisabled = this._isDisabled();
|
|
491
|
-
|
|
492
440
|
const isFilterable = this._isFilterable();
|
|
493
|
-
|
|
494
441
|
const {
|
|
495
442
|
isOpen
|
|
496
443
|
} = this.getStates();
|
|
497
|
-
|
|
498
444
|
if (isDisabled) {
|
|
499
445
|
return;
|
|
500
446
|
} else if (!isOpen) {
|
|
501
447
|
this.open();
|
|
502
|
-
|
|
503
448
|
this._notifyFocus(e);
|
|
504
449
|
} else if (isOpen && !isFilterable) {
|
|
505
450
|
this.close(e);
|
|
@@ -508,94 +453,77 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
508
453
|
/**
|
|
509
454
|
* A11y: simulate selection click
|
|
510
455
|
*/
|
|
511
|
-
|
|
512
456
|
/* istanbul ignore next */
|
|
513
|
-
|
|
514
|
-
|
|
515
457
|
handleSelectionEnterPress(keyboardEvent) {
|
|
516
458
|
if (isEnterPress(keyboardEvent)) {
|
|
517
459
|
this.handleClick(keyboardEvent);
|
|
518
460
|
}
|
|
519
461
|
}
|
|
520
|
-
|
|
521
462
|
toggleHoverState(bool) {
|
|
522
463
|
this._adapter.toggleHovering(bool);
|
|
523
464
|
}
|
|
524
|
-
|
|
525
465
|
_defaultRenderText(path, displayRender) {
|
|
526
466
|
const separator = this.getProp('separator');
|
|
527
|
-
|
|
528
467
|
if (displayRender && typeof displayRender === 'function') {
|
|
529
468
|
return displayRender(path);
|
|
530
469
|
} else {
|
|
531
470
|
return path.join(separator);
|
|
532
471
|
}
|
|
533
472
|
}
|
|
534
|
-
|
|
535
473
|
renderDisplayText(targetKey, keyEntities) {
|
|
536
474
|
const renderFunc = this.getProp('displayRender');
|
|
537
475
|
const displayProp = this.getProp('displayProp');
|
|
538
476
|
const displayPath = this.getItemPropPath(targetKey, displayProp, keyEntities);
|
|
539
477
|
return this._defaultRenderText(displayPath, renderFunc);
|
|
540
478
|
}
|
|
541
|
-
|
|
542
479
|
handleNodeLoad(item) {
|
|
543
480
|
const {
|
|
544
481
|
data,
|
|
545
482
|
key
|
|
546
483
|
} = item;
|
|
547
|
-
const
|
|
548
|
-
|
|
549
|
-
loadingKeys: prevLoadingKeys
|
|
550
|
-
} = this.getCopyFromState(['loadedKeys', 'loadingKeys']);
|
|
484
|
+
const prevLoadingKeys = new Set(this._adapter.getLoadingKeyRefValue());
|
|
485
|
+
const prevLoadedKeys = new Set(this._adapter.getLoadedKeyRefValue());
|
|
551
486
|
const newLoadedKeys = prevLoadedKeys.add(key);
|
|
552
487
|
const newLoadingKeys = new Set([...prevLoadingKeys]);
|
|
553
|
-
newLoadingKeys.delete(key);
|
|
554
|
-
|
|
488
|
+
newLoadingKeys.delete(key);
|
|
489
|
+
// onLoad should trigger before internal setState to avoid `loadData` trigger twice.
|
|
555
490
|
this._adapter.notifyOnLoad(newLoadedKeys, data);
|
|
556
|
-
|
|
491
|
+
this._adapter.updateLoadingKeyRefValue(newLoadingKeys);
|
|
492
|
+
this._adapter.updateLoadedKeyRefValue(newLoadedKeys);
|
|
557
493
|
this._adapter.updateStates({
|
|
558
|
-
loadingKeys: newLoadingKeys
|
|
494
|
+
loadingKeys: newLoadingKeys,
|
|
495
|
+
loadedKeys: newLoadedKeys
|
|
559
496
|
});
|
|
560
497
|
}
|
|
561
|
-
|
|
562
498
|
notifyIfLoadData(item) {
|
|
563
499
|
const {
|
|
564
500
|
data,
|
|
565
501
|
key
|
|
566
502
|
} = item;
|
|
567
|
-
|
|
568
503
|
this._adapter.updateStates({
|
|
569
504
|
loading: false
|
|
570
505
|
});
|
|
571
|
-
|
|
572
506
|
if (!data.isLeaf && !data.children && this.getProp('loadData')) {
|
|
573
|
-
const
|
|
574
|
-
|
|
575
|
-
loadingKeys
|
|
576
|
-
} = this.getCopyFromState(['loadedKeys', 'loadingKeys']);
|
|
577
|
-
|
|
507
|
+
const loadedKeys = this._adapter.getLoadedKeyRefValue();
|
|
508
|
+
const loadingKeys = new Set(this._adapter.getLoadingKeyRefValue());
|
|
578
509
|
if (loadedKeys.has(key) || loadingKeys.has(key)) {
|
|
579
510
|
return;
|
|
580
511
|
}
|
|
581
|
-
|
|
582
512
|
this._adapter.updateStates({
|
|
583
513
|
loading: true
|
|
584
514
|
});
|
|
585
|
-
|
|
586
515
|
const {
|
|
587
516
|
keyEntities
|
|
588
517
|
} = this.getStates();
|
|
589
518
|
const optionPath = this.getItemPropPath(key, [], keyEntities);
|
|
590
|
-
|
|
519
|
+
const newLoadingKeys = loadingKeys.add(key);
|
|
520
|
+
this._adapter.updateLoadingKeyRefValue(newLoadingKeys);
|
|
591
521
|
this._adapter.updateStates({
|
|
592
|
-
loadingKeys:
|
|
522
|
+
loadingKeys: newLoadingKeys
|
|
593
523
|
});
|
|
594
|
-
|
|
595
524
|
this._adapter.notifyLoadData(optionPath, this.handleNodeLoad.bind(this, item));
|
|
596
525
|
}
|
|
597
526
|
}
|
|
598
|
-
|
|
599
527
|
handleSingleSelect(e, item) {
|
|
600
528
|
const {
|
|
601
529
|
changeOnSelect: allowChange,
|
|
@@ -608,68 +536,51 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
608
536
|
selectedKeys,
|
|
609
537
|
isSearching
|
|
610
538
|
} = this.getStates();
|
|
611
|
-
|
|
612
539
|
const filterable = this._isFilterable();
|
|
613
|
-
|
|
614
540
|
const {
|
|
615
541
|
data,
|
|
616
542
|
key
|
|
617
543
|
} = item;
|
|
618
|
-
|
|
619
544
|
const isLeaf = this._isLeaf(data);
|
|
620
|
-
|
|
621
545
|
const activeKeys = keyEntities[key].path;
|
|
622
546
|
const selectedKey = [key];
|
|
623
547
|
const hasChanged = key !== [...selectedKeys][0];
|
|
624
|
-
|
|
625
548
|
if (!isLeaf && !allowChange && !isSearching) {
|
|
626
549
|
this._adapter.updateStates({
|
|
627
550
|
activeKeys: new Set(activeKeys)
|
|
628
551
|
});
|
|
629
|
-
|
|
630
552
|
this.notifyIfLoadData(item);
|
|
631
553
|
return;
|
|
632
554
|
}
|
|
633
|
-
|
|
634
555
|
if (multiple) {
|
|
635
556
|
this._adapter.updateStates({
|
|
636
557
|
activeKeys: new Set(activeKeys)
|
|
637
558
|
});
|
|
638
|
-
|
|
639
559
|
if (isLeaf && enableLeafClick) {
|
|
640
560
|
this.onItemCheckboxClick(item);
|
|
641
561
|
}
|
|
642
562
|
} else {
|
|
643
563
|
this._adapter.notifySelect(data.value);
|
|
644
|
-
|
|
645
564
|
if (hasChanged) {
|
|
646
565
|
this._notifyChange(item);
|
|
647
|
-
|
|
648
566
|
this.notifyIfLoadData(item);
|
|
649
|
-
|
|
650
567
|
if (this._isControlledComponent()) {
|
|
651
568
|
this._adapter.updateStates({
|
|
652
569
|
activeKeys: new Set(activeKeys)
|
|
653
570
|
});
|
|
654
|
-
|
|
655
571
|
if (isLeaf) {
|
|
656
572
|
this.close(e);
|
|
657
573
|
}
|
|
658
|
-
|
|
659
574
|
return;
|
|
660
575
|
}
|
|
661
|
-
|
|
662
576
|
this._adapter.updateStates({
|
|
663
577
|
activeKeys: new Set(activeKeys),
|
|
664
578
|
selectedKeys: new Set(selectedKey)
|
|
665
579
|
});
|
|
666
|
-
|
|
667
580
|
const displayText = this.renderDisplayText(key);
|
|
668
|
-
|
|
669
581
|
if (filterable) {
|
|
670
582
|
this._adapter.updateInputPlaceHolder(displayText);
|
|
671
583
|
}
|
|
672
|
-
|
|
673
584
|
if (isLeaf) {
|
|
674
585
|
this.close(e, key);
|
|
675
586
|
} else if (!filterLeafOnly && isSearching) {
|
|
@@ -680,7 +591,6 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
680
591
|
}
|
|
681
592
|
}
|
|
682
593
|
}
|
|
683
|
-
|
|
684
594
|
_handleMultipleSelect(item) {
|
|
685
595
|
const {
|
|
686
596
|
key
|
|
@@ -695,12 +605,12 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
695
605
|
max,
|
|
696
606
|
disableStrictly,
|
|
697
607
|
leafOnly
|
|
698
|
-
} = this.getProps();
|
|
699
|
-
|
|
700
|
-
const prevCheckedStatus = checkedKeys.has(key);
|
|
701
|
-
|
|
702
|
-
const curCheckedStatus = disableStrictly ? this.calcCheckedStatus(!prevCheckedStatus, key) : !prevCheckedStatus;
|
|
703
|
-
|
|
608
|
+
} = this.getProps();
|
|
609
|
+
// prev checked status
|
|
610
|
+
const prevCheckedStatus = checkedKeys.has(key);
|
|
611
|
+
// next checked status
|
|
612
|
+
const curCheckedStatus = disableStrictly ? this.calcCheckedStatus(!prevCheckedStatus, key) : !prevCheckedStatus;
|
|
613
|
+
// calculate all key of nodes that are checked or half checked
|
|
704
614
|
const {
|
|
705
615
|
checkedKeys: curCheckedKeys,
|
|
706
616
|
halfCheckedKeys: curHalfCheckedKeys
|
|
@@ -710,7 +620,6 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
710
620
|
const isNoneMerge = mergeType === strings.NONE_MERGE_TYPE;
|
|
711
621
|
const curResolvedCheckedKeys = new Set(normalizeKeyList(curCheckedKeys, keyEntities, isLeafOnlyMerge));
|
|
712
622
|
const curRealCheckedKeys = isNoneMerge ? curCheckedKeys : curResolvedCheckedKeys;
|
|
713
|
-
|
|
714
623
|
if (_isNumber(max)) {
|
|
715
624
|
if (!isNoneMerge) {
|
|
716
625
|
// When it exceeds max, the quantity is allowed to be reduced, and no further increase is allowed
|
|
@@ -719,9 +628,7 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
719
628
|
curResolvedCheckedKeys.forEach(itemKey => {
|
|
720
629
|
checkedEntities.push(keyEntities[itemKey]);
|
|
721
630
|
});
|
|
722
|
-
|
|
723
631
|
this._adapter.notifyOnExceed(checkedEntities);
|
|
724
|
-
|
|
725
632
|
return;
|
|
726
633
|
}
|
|
727
634
|
} else {
|
|
@@ -731,60 +638,47 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
731
638
|
curCheckedKeys.forEach(itemKey => {
|
|
732
639
|
checkedEntities.push(keyEntities[itemKey]);
|
|
733
640
|
});
|
|
734
|
-
|
|
735
641
|
this._adapter.notifyOnExceed(checkedEntities);
|
|
736
|
-
|
|
737
642
|
return;
|
|
738
643
|
}
|
|
739
644
|
}
|
|
740
645
|
}
|
|
741
|
-
|
|
742
646
|
if (!this._isControlledComponent()) {
|
|
743
647
|
this._adapter.updateStates({
|
|
744
648
|
checkedKeys: curCheckedKeys,
|
|
745
649
|
halfCheckedKeys: curHalfCheckedKeys,
|
|
746
650
|
resolvedCheckedKeys: curResolvedCheckedKeys
|
|
747
651
|
});
|
|
748
|
-
}
|
|
652
|
+
}
|
|
653
|
+
// The click event during multiple selection will definitely cause the checked state of node to change,
|
|
749
654
|
// so there is no need to judge the value to change.
|
|
750
|
-
|
|
751
|
-
|
|
752
655
|
this._notifyChange(curRealCheckedKeys);
|
|
753
|
-
|
|
754
656
|
if (curCheckedStatus) {
|
|
755
657
|
this._notifySelect(curRealCheckedKeys);
|
|
756
658
|
}
|
|
757
|
-
|
|
758
659
|
this._adapter.updateStates({
|
|
759
660
|
inputValue: ''
|
|
760
661
|
});
|
|
761
662
|
}
|
|
762
|
-
|
|
763
663
|
calcNonDisabledCheckedKeys(eventKey, targetStatus) {
|
|
764
664
|
const {
|
|
765
665
|
keyEntities,
|
|
766
666
|
disabledKeys
|
|
767
667
|
} = this.getStates();
|
|
768
|
-
const
|
|
769
|
-
checkedKeys
|
|
770
|
-
} = this.getCopyFromState(['checkedKeys']);
|
|
668
|
+
const checkedKeys = new Set(this.getState('checkedKeys'));
|
|
771
669
|
const descendantKeys = normalizeKeyList(findDescendantKeys([eventKey], keyEntities, false), keyEntities, true);
|
|
772
670
|
const hasDisabled = descendantKeys.some(key => disabledKeys.has(key));
|
|
773
|
-
|
|
774
671
|
if (!hasDisabled) {
|
|
775
672
|
return this.calcCheckedKeys(eventKey, targetStatus);
|
|
776
673
|
}
|
|
777
|
-
|
|
778
674
|
const nonDisabled = descendantKeys.filter(key => !disabledKeys.has(key));
|
|
779
675
|
const newCheckedKeys = targetStatus ? [...nonDisabled, ...checkedKeys] : _difference(normalizeKeyList([...checkedKeys], keyEntities, true), nonDisabled);
|
|
780
676
|
return calcCheckedKeys(newCheckedKeys, keyEntities);
|
|
781
677
|
}
|
|
782
|
-
|
|
783
678
|
calcCheckedStatus(targetStatus, eventKey) {
|
|
784
679
|
if (!targetStatus) {
|
|
785
680
|
return targetStatus;
|
|
786
681
|
}
|
|
787
|
-
|
|
788
682
|
const {
|
|
789
683
|
checkedKeys,
|
|
790
684
|
keyEntities,
|
|
@@ -792,29 +686,24 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
792
686
|
} = this.getStates();
|
|
793
687
|
const descendantKeys = normalizeKeyList(findDescendantKeys([eventKey], keyEntities, false), keyEntities, true);
|
|
794
688
|
const hasDisabled = descendantKeys.some(key => disabledKeys.has(key));
|
|
795
|
-
|
|
796
689
|
if (!hasDisabled) {
|
|
797
690
|
return targetStatus;
|
|
798
691
|
}
|
|
799
|
-
|
|
800
692
|
const nonDisabledKeys = descendantKeys.filter(key => !disabledKeys.has(key));
|
|
801
693
|
const allChecked = nonDisabledKeys.every(key => checkedKeys.has(key));
|
|
802
694
|
return !allChecked;
|
|
803
695
|
}
|
|
804
|
-
|
|
805
696
|
_notifySelect(keys) {
|
|
806
697
|
const {
|
|
807
698
|
keyEntities
|
|
808
699
|
} = this.getStates();
|
|
809
700
|
const values = [];
|
|
810
701
|
keys.forEach(key => {
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
}
|
|
702
|
+
var _a, _b;
|
|
703
|
+
const valueItem = (_b = (_a = keyEntities[key]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.value;
|
|
704
|
+
valueItem !== undefined && values.push(valueItem);
|
|
815
705
|
});
|
|
816
706
|
const formatValue = values.length === 1 ? values[0] : values;
|
|
817
|
-
|
|
818
707
|
this._adapter.notifySelect(formatValue);
|
|
819
708
|
}
|
|
820
709
|
/**
|
|
@@ -822,22 +711,16 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
822
711
|
* @param {string} key key of node
|
|
823
712
|
* @param {boolean} curCheckedStatus checked status of node
|
|
824
713
|
*/
|
|
825
|
-
|
|
826
|
-
|
|
827
714
|
calcCheckedKeys(key, curCheckedStatus) {
|
|
828
715
|
const {
|
|
829
716
|
keyEntities
|
|
830
717
|
} = this.getStates();
|
|
831
|
-
const
|
|
832
|
-
|
|
833
|
-
halfCheckedKeys
|
|
834
|
-
} = this.getCopyFromState(['checkedKeys', 'halfCheckedKeys']);
|
|
718
|
+
const checkedKeys = new Set(this.getState('checkedKeys'));
|
|
719
|
+
const halfCheckedKeys = new Set(this.getState('halfCheckedKeys'));
|
|
835
720
|
return curCheckedStatus ? calcCheckedKeysForChecked(key, keyEntities, checkedKeys, halfCheckedKeys) : calcCheckedKeysForUnchecked(key, keyEntities, checkedKeys, halfCheckedKeys);
|
|
836
721
|
}
|
|
837
|
-
|
|
838
722
|
handleInputChange(sugInput) {
|
|
839
723
|
this._adapter.updateInputValue(sugInput);
|
|
840
|
-
|
|
841
724
|
const {
|
|
842
725
|
keyEntities
|
|
843
726
|
} = this.getStates();
|
|
@@ -847,31 +730,26 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
847
730
|
filterLeafOnly
|
|
848
731
|
} = this.getProps();
|
|
849
732
|
let filteredKeys = [];
|
|
850
|
-
|
|
851
733
|
if (sugInput) {
|
|
852
734
|
filteredKeys = Object.values(keyEntities).filter(item => {
|
|
853
735
|
const {
|
|
854
736
|
key,
|
|
855
|
-
_notExist
|
|
737
|
+
_notExist,
|
|
738
|
+
data
|
|
856
739
|
} = item;
|
|
857
|
-
|
|
858
740
|
if (_notExist) {
|
|
859
741
|
return false;
|
|
860
742
|
}
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
return filter(sugInput, filteredPath, filterTreeNode, false);
|
|
743
|
+
const filteredPath = this.getItemPropPath(key, treeNodeFilterProp);
|
|
744
|
+
return filter(sugInput, data, filterTreeNode, filteredPath);
|
|
864
745
|
}).filter(item => filterTreeNode && !filterLeafOnly || this._isLeaf(item)).map(item => item.key);
|
|
865
746
|
}
|
|
866
|
-
|
|
867
747
|
this._adapter.updateStates({
|
|
868
748
|
isSearching: Boolean(sugInput),
|
|
869
749
|
filteredKeys: new Set(filteredKeys)
|
|
870
750
|
});
|
|
871
|
-
|
|
872
751
|
this._adapter.notifyOnSearch(sugInput);
|
|
873
752
|
}
|
|
874
|
-
|
|
875
753
|
handleClear() {
|
|
876
754
|
const {
|
|
877
755
|
isSearching
|
|
@@ -881,121 +759,101 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
881
759
|
placeholder,
|
|
882
760
|
multiple
|
|
883
761
|
} = this.getProps();
|
|
884
|
-
|
|
885
762
|
const isFilterable = this._isFilterable();
|
|
886
|
-
|
|
887
763
|
const isControlled = this._isControlledComponent();
|
|
888
|
-
|
|
889
764
|
const newState = {};
|
|
890
|
-
|
|
891
765
|
if (multiple) {
|
|
766
|
+
newState.isSearching = false;
|
|
892
767
|
this._adapter.updateInputValue('');
|
|
893
|
-
|
|
894
768
|
this._adapter.notifyOnSearch('');
|
|
895
|
-
|
|
896
769
|
newState.checkedKeys = new Set([]);
|
|
897
770
|
newState.halfCheckedKeys = new Set([]);
|
|
898
771
|
newState.selectedKeys = new Set([]);
|
|
899
772
|
newState.activeKeys = new Set([]);
|
|
900
773
|
newState.resolvedCheckedKeys = new Set([]);
|
|
901
|
-
|
|
902
774
|
this._adapter.notifyChange([]);
|
|
903
775
|
} else {
|
|
904
776
|
// if click clearBtn when not searching, clear selected and active values as well
|
|
905
777
|
if (isFilterable && isSearching) {
|
|
906
778
|
newState.isSearching = false;
|
|
907
|
-
|
|
908
779
|
this._adapter.updateInputValue('');
|
|
909
|
-
|
|
910
780
|
this._adapter.notifyOnSearch('');
|
|
911
781
|
} else {
|
|
912
782
|
if (isFilterable) {
|
|
913
783
|
newState.inputValue = '';
|
|
914
784
|
newState.inputPlaceHolder = searchPlaceholder || placeholder || '';
|
|
915
|
-
|
|
916
785
|
this._adapter.updateInputValue('');
|
|
917
|
-
|
|
918
786
|
this._adapter.notifyOnSearch('');
|
|
919
787
|
}
|
|
920
|
-
|
|
921
788
|
if (!isControlled) {
|
|
922
789
|
newState.selectedKeys = new Set([]);
|
|
923
790
|
}
|
|
924
|
-
|
|
925
791
|
newState.activeKeys = new Set([]);
|
|
926
792
|
newState.filteredKeys = new Set([]);
|
|
927
|
-
|
|
928
793
|
this._adapter.notifyChange([]);
|
|
929
794
|
}
|
|
930
795
|
}
|
|
931
|
-
|
|
932
796
|
this._adapter.updateStates(newState);
|
|
933
|
-
|
|
934
797
|
this._adapter.notifyClear();
|
|
935
|
-
|
|
936
798
|
this._adapter.rePositionDropdown();
|
|
937
799
|
}
|
|
938
800
|
/**
|
|
939
801
|
* A11y: simulate clear button click
|
|
940
802
|
*/
|
|
941
|
-
|
|
942
803
|
/* istanbul ignore next */
|
|
943
|
-
|
|
944
|
-
|
|
945
804
|
handleClearEnterPress(keyboardEvent) {
|
|
946
805
|
if (isEnterPress(keyboardEvent)) {
|
|
947
806
|
this.handleClear();
|
|
948
807
|
}
|
|
949
808
|
}
|
|
950
|
-
|
|
951
809
|
getRenderData() {
|
|
952
810
|
const {
|
|
953
811
|
keyEntities,
|
|
954
812
|
isSearching
|
|
955
813
|
} = this.getStates();
|
|
956
|
-
|
|
957
814
|
const isFilterable = this._isFilterable();
|
|
958
|
-
|
|
959
815
|
if (isSearching && isFilterable) {
|
|
960
816
|
return this.getFilteredData();
|
|
961
817
|
}
|
|
962
|
-
|
|
963
|
-
return Object.values(keyEntities).filter(item => item.parentKey === null && !item._notExist) // eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
818
|
+
return Object.values(keyEntities).filter(item => item.parentKey === null && !item._notExist)
|
|
964
819
|
// @ts-ignore
|
|
965
820
|
.sort((a, b) => parseInt(a.ind, 10) - parseInt(b.ind, 10));
|
|
966
821
|
}
|
|
967
|
-
|
|
968
822
|
getFilteredData() {
|
|
969
823
|
const {
|
|
970
|
-
treeNodeFilterProp
|
|
824
|
+
treeNodeFilterProp,
|
|
825
|
+
filterSorter
|
|
971
826
|
} = this.getProps();
|
|
972
827
|
const {
|
|
973
828
|
filteredKeys,
|
|
974
|
-
keyEntities
|
|
829
|
+
keyEntities,
|
|
830
|
+
inputValue
|
|
975
831
|
} = this.getStates();
|
|
976
832
|
const filteredList = [];
|
|
977
833
|
const filteredKeyArr = [...filteredKeys];
|
|
978
834
|
filteredKeyArr.forEach(key => {
|
|
979
835
|
const item = keyEntities[key];
|
|
980
|
-
|
|
981
836
|
if (!item) {
|
|
982
837
|
return;
|
|
983
838
|
}
|
|
984
|
-
|
|
985
|
-
const itemSearchPath =
|
|
986
|
-
|
|
839
|
+
const pathData = this.getItemPropPath(key, []);
|
|
840
|
+
const itemSearchPath = pathData.map(item => item[treeNodeFilterProp]);
|
|
987
841
|
const isDisabled = this._isOptionDisabled(key, keyEntities);
|
|
988
|
-
|
|
989
842
|
filteredList.push({
|
|
990
843
|
data: item.data,
|
|
844
|
+
pathData,
|
|
991
845
|
key,
|
|
992
846
|
disabled: isDisabled,
|
|
993
847
|
searchText: itemSearchPath
|
|
994
848
|
});
|
|
995
849
|
});
|
|
850
|
+
if (_isFunction(filterSorter)) {
|
|
851
|
+
filteredList.sort((a, b) => {
|
|
852
|
+
return filterSorter(a.pathData, b.pathData, inputValue);
|
|
853
|
+
});
|
|
854
|
+
}
|
|
996
855
|
return filteredList;
|
|
997
856
|
}
|
|
998
|
-
|
|
999
857
|
handleListScroll(e, ind) {
|
|
1000
858
|
const {
|
|
1001
859
|
activeKeys,
|
|
@@ -1003,28 +861,9 @@ export default class CascaderFoundation extends BaseFoundation {
|
|
|
1003
861
|
} = this.getStates();
|
|
1004
862
|
const lastActiveKey = [...activeKeys][activeKeys.size - 1];
|
|
1005
863
|
const data = lastActiveKey ? _get(keyEntities, [lastActiveKey, 'data'], null) : null;
|
|
1006
|
-
|
|
1007
864
|
this._adapter.notifyListScroll(e, {
|
|
1008
865
|
panelIndex: ind,
|
|
1009
866
|
activeNode: data
|
|
1010
867
|
});
|
|
1011
868
|
}
|
|
1012
|
-
|
|
1013
|
-
handleTagRemove(e, tagValuePath) {
|
|
1014
|
-
const {
|
|
1015
|
-
keyEntities
|
|
1016
|
-
} = this.getStates();
|
|
1017
|
-
const {
|
|
1018
|
-
disabled
|
|
1019
|
-
} = this.getProps();
|
|
1020
|
-
|
|
1021
|
-
if (disabled) {
|
|
1022
|
-
/* istanbul ignore next */
|
|
1023
|
-
return;
|
|
1024
|
-
}
|
|
1025
|
-
|
|
1026
|
-
const removedItem = Object.values(keyEntities).filter(item => _isEqual(item.valuePath, tagValuePath))[0];
|
|
1027
|
-
!_isEmpty(removedItem) && !removedItem.data.disabled && this._handleMultipleSelect(removedItem);
|
|
1028
|
-
}
|
|
1029
|
-
|
|
1030
869
|
}
|